Files
wes c30e839b64 SBoT 1.0 decompiled with CFR 0.152
Full source recovered from SBoT.jar (July 2004) plus the three bundled
example scripts (BoneBury, GuildFish, GuildFisher). Class names are the
original RSC-era single-letter obfuscation (a.java-z.java); mudclient.java
and Script.java kept their real names since those weren't obfuscated.
2026-08-25 13:11:31 -04:00

6360 lines
493 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.ColorModel;
import java.awt.image.DirectColorModel;
import java.awt.image.ImageConsumer;
import java.awt.image.ImageObserver;
import java.awt.image.ImageProducer;
import java.awt.image.PixelGrabber;
public class h
implements ImageProducer,
ImageObserver {
public int a;
public int b;
public int c;
public int d;
public int e;
ColorModel f;
public int[] g;
ImageConsumer h;
private Component i;
public Image j;
public int[][] k;
public byte[][] l;
public int[][] m;
public int[] n;
public int[] o;
public int[] p;
public int[] q;
public int[] r;
public int[] s;
public boolean[] t;
private int u;
private int v;
private int w;
private int x;
public boolean y;
static byte[][] z;
static int[] A;
public boolean B;
int[] C;
int[] D;
int[] E;
int[] F;
int[] G;
int[] H;
int[] I;
public static int J;
public static int K;
public static int L;
private static boolean[] M;
private static int N;
private static byte[] O;
public static int P;
private static String[] Q;
public h(int n2, int n3, int n4, Component component) {
block7: {
int n5;
int n6;
boolean bl;
block6: {
bl = q.d;
this.y = false;
this.B = false;
this.i = component;
this.v = n3;
this.x = n2;
this.d = this.a = n2;
this.e = this.b = n3;
this.c = n2 * n3;
this.g = new int[n2 * n3];
this.k = new int[n4][];
this.t = new boolean[n4];
this.l = new byte[n4][];
this.m = new int[n4][];
this.n = new int[n4];
this.o = new int[n4];
this.r = new int[n4];
this.s = new int[n4];
this.p = new int[n4];
this.q = new int[n4];
n6 = n2;
n5 = 1;
if (bl) break block6;
if (n6 <= n5) break block7;
n6 = n3;
n5 = 1;
}
if (n6 > n5 && component != null) {
block5: {
this.f = new DirectColorModel(32, 0xFF0000, 65280, 255);
int n7 = this.a * this.b;
for (int i2 = 0; i2 < n7; ++i2) {
this.g[i2] = 0;
if (!bl) {
if (!bl) continue;
}
break block5;
}
this.j = component.createImage(this);
this.a();
component.prepareImage(this.j, component);
this.a();
component.prepareImage(this.j, component);
this.a();
}
component.prepareImage(this.j, component);
}
}
}
public synchronized void addConsumer(ImageConsumer imageConsumer) {
this.h = imageConsumer;
imageConsumer.setDimensions(this.a, this.b);
imageConsumer.setProperties(null);
imageConsumer.setColorModel(this.f);
imageConsumer.setHints(14);
}
public synchronized boolean isConsumer(ImageConsumer imageConsumer) {
return this.h == imageConsumer;
}
public synchronized void removeConsumer(ImageConsumer imageConsumer) {
block3: {
block2: {
h h2 = this;
if (q.d) break block2;
if (h2.h != imageConsumer) break block3;
h2 = this;
}
h2.h = null;
}
}
public void startProduction(ImageConsumer imageConsumer) {
this.addConsumer(imageConsumer);
}
public void requestTopDownLeftRightResend(ImageConsumer imageConsumer) {
System.out.println(Q[2]);
}
public synchronized void a() {
ImageConsumer imageConsumer = this.h;
if (!q.d) {
if (imageConsumer == null) {
return;
}
this.h.setPixels(0, 0, this.a, this.b, this.f, this.g, 0, this.a);
imageConsumer = this.h;
}
imageConsumer.imageComplete(2);
}
public void a(int n2, int n3, int n4, int n5) {
block10: {
int n6;
block9: {
int n7;
block8: {
boolean bl = q.d;
n6 = n2;
if (!bl) {
if (n6 < 0) {
n2 = 0;
}
n6 = n3;
}
if (!bl) {
if (n6 < 0) {
n3 = 0;
}
n6 = n4;
}
n7 = this.a;
if (bl) break block8;
if (n6 > n7) {
n4 = this.a;
}
n6 = n5;
if (bl) break block9;
n7 = this.b;
}
if (n6 <= n7) break block10;
n6 = this.b;
}
n5 = n6;
}
this.w = n2;
this.u = n3;
this.x = n4;
this.v = n5;
}
public void b() {
this.w = 0;
this.u = 0;
this.x = this.a;
this.v = this.b;
}
public void a(Graphics graphics, int n2, int n3) {
this.a();
graphics.drawImage(this.j, n2, n3, this);
}
public void c() {
boolean bl = q.d;
boolean bl2 = false;
int n2 = this.a * this.b;
int n3 = this.y;
if (!bl) {
if (n3 == 0) {
for (int i2 = 0; i2 < n2; ++i2) {
this.g[i2] = 0;
if (!bl) continue;
}
return;
}
n3 = 0;
}
int n4 = n3;
int n5 = -this.b;
while (n5 < 0) {
block6: {
for (int i3 = -this.a; i3 < 0; ++i3) {
this.g[n4++] = 0;
if (!bl) {
if (!bl) continue;
}
break block6;
}
n4 += this.a;
n5 += 2;
}
if (!bl) continue;
}
}
public void a(int n2, int n3, int n4, int n5, int n6) {
int n7;
int n8;
int n9;
int n10;
int n11;
int n12;
int n13;
boolean bl;
block17: {
int n14;
int n15;
block18: {
bl = q.d;
boolean bl2 = false;
n13 = 256 - n6;
n12 = (n5 >> 16 & 0xFF) * n6;
n11 = (n5 >> 8 & 0xFF) * n6;
n10 = (n5 & 0xFF) * n6;
int n16 = n15 = n3 - n4;
if (!bl) {
if (n16 < 0) {
n15 = 0;
}
n16 = n3 + n4;
}
int n17 = n9 = n16;
if (!bl) {
if (n17 >= this.b) {
n9 = this.b - 1;
}
n17 = 1;
}
n8 = n17;
n14 = this.y;
if (bl) break block17;
if (n14 == 0) break block18;
n8 = 2;
n14 = n15 & 1;
if (bl) break block17;
if (n14 != 0) {
// empty if block
}
}
n14 = n7 = ++n15;
}
while (n7 <= n9) {
block16: {
int n18;
int n19;
int n20 = n7 - n3;
int n21 = (int)Math.sqrt(n4 * n4 - n20 * n20);
int n22 = n19 = n2 - n21;
if (!bl) {
if (n22 < 0) {
n19 = 0;
}
n22 = n2 + n21;
}
int n23 = n18 = n22;
int n24 = this.a;
if (!bl) {
if (n23 >= n24) {
n18 = this.a - 1;
}
n23 = n19;
n24 = n7 * this.a;
}
int n25 = n23 + n24;
for (int i2 = n19; i2 <= n18; ++i2) {
int n26 = (this.g[n25] >> 16 & 0xFF) * n13;
int n27 = (this.g[n25] >> 8 & 0xFF) * n13;
int n28 = (this.g[n25] & 0xFF) * n13;
int n29 = (n12 + n26 >> 8 << 16) + (n11 + n27 >> 8 << 8) + (n10 + n28 >> 8);
this.g[n25++] = n29;
if (!bl) {
if (!bl) continue;
}
break block16;
}
n7 += n8;
}
if (!bl) continue;
}
}
public void a(int n2, int n3, int n4, int n5, int n6, int n7) {
int n8;
int n9;
int n10;
int n11;
int n12;
int n13;
int n14;
boolean bl;
block17: {
block18: {
bl = q.d;
boolean bl2 = false;
int n15 = n2;
int n16 = this.w;
if (!bl) {
if (n15 < n16) {
n4 -= this.w - n2;
n2 = this.w;
}
n15 = n3;
n16 = this.u;
}
if (!bl) {
if (n15 < n16) {
n5 -= this.u - n3;
n3 = this.u;
}
n15 = n2 + n4;
n16 = this.x;
}
if (!bl) {
if (n15 > n16) {
n4 = this.x - n2;
}
n15 = n3 + n5;
n16 = this.v;
}
if (!bl) {
if (n15 > n16) {
n5 = this.v - n3;
}
n15 = 256;
n16 = n7;
}
n14 = n15 - n16;
n13 = (n6 >> 16 & 0xFF) * n7;
n12 = (n6 >> 8 & 0xFF) * n7;
n11 = (n6 & 0xFF) * n7;
n10 = this.a - n4;
n9 = 1;
n8 = this.y;
if (bl) break block17;
if (n8 == 0) break block18;
n9 = 2;
n10 += this.a;
n8 = n3 & 1;
if (bl) break block17;
if (n8 != 0) {
++n3;
--n5;
}
}
n8 = n2 + n3 * this.a;
}
int n17 = n8;
int n18 = 0;
while (n18 < n5) {
block16: {
for (int i2 = -n4; i2 < 0; ++i2) {
int n19 = (this.g[n17] >> 16 & 0xFF) * n14;
int n20 = (this.g[n17] >> 8 & 0xFF) * n14;
int n21 = (this.g[n17] & 0xFF) * n14;
int n22 = (n13 + n19 >> 8 << 16) + (n12 + n20 >> 8 << 8) + (n11 + n21 >> 8);
this.g[n17++] = n22;
if (!bl) {
if (!bl) continue;
}
break block16;
}
n17 += n10;
n18 += n9;
}
if (!bl) continue;
}
}
/*
* Enabled aggressive block sorting
* Lifted jumps to return sites
*/
public void b(int n2, int n3, int n4, int n5, int n6, int n7) {
int n8;
int n9;
int n10;
int n11;
int n12;
int n13;
int n14;
int n15;
int n16;
boolean bl;
block17: {
block18: {
bl = q.d;
boolean bl2 = false;
int n17 = n2;
int n18 = this.w;
if (!bl) {
if (n17 < n18) {
n4 -= this.w - n2;
n2 = this.w;
}
n17 = n2 + n4;
n18 = this.x;
}
if (!bl) {
if (n17 > n18) {
n4 = this.x - n2;
}
n17 = n7 >> 16;
n18 = 255;
}
n16 = n17 & n18;
n15 = n7 >> 8 & 0xFF;
n14 = n7 & 0xFF;
n13 = n6 >> 16 & 0xFF;
n12 = n6 >> 8 & 0xFF;
n11 = n6 & 0xFF;
n10 = this.a - n4;
n9 = 1;
n8 = this.y;
if (bl) break block17;
if (n8 == 0) break block18;
n9 = 2;
n10 += this.a;
n8 = n3 & 1;
if (bl) break block17;
if (n8 != 0) {
++n3;
--n5;
}
}
n8 = n2 + n3 * this.a;
}
int n19 = n8;
int n20 = 0;
do {
block21: {
int n21;
int n22;
block19: {
block20: {
block16: {
if (n20 >= n5) return;
n22 = n20 + n3;
n21 = this.u;
if (bl) break block19;
if (n22 < n21) break block20;
n22 = n20 + n3;
n21 = this.v;
if (bl) break block19;
if (n22 >= n21) break block20;
int n23 = ((n16 * n20 + n13 * (n5 - n20)) / n5 << 16) + ((n15 * n20 + n12 * (n5 - n20)) / n5 << 8) + (n14 * n20 + n11 * (n5 - n20)) / n5;
for (int i2 = -n4; i2 < 0; ++i2) {
this.g[n19++] = n23;
if (!bl) {
if (!bl) continue;
}
break block16;
}
n19 += n10;
}
if (!bl) break block21;
}
n22 = n19;
n21 = this.a;
}
n19 = n22 + n21;
}
n20 += n9;
} while (!bl);
}
public void b(int n2, int n3, int n4, int n5, int n6) {
int n7;
int n8;
int n9;
boolean bl;
block17: {
block18: {
bl = q.d;
boolean bl2 = false;
int n10 = n2;
int n11 = this.w;
if (!bl) {
if (n10 < n11) {
n4 -= this.w - n2;
n2 = this.w;
}
n10 = n3;
n11 = this.u;
}
if (!bl) {
if (n10 < n11) {
n5 -= this.u - n3;
n3 = this.u;
}
n10 = n2 + n4;
n11 = this.x;
}
if (!bl) {
if (n10 > n11) {
n4 = this.x - n2;
}
n10 = n3 + n5;
n11 = this.v;
}
if (!bl) {
if (n10 > n11) {
n5 = this.v - n3;
}
n10 = this.a;
n11 = n4;
}
n9 = n10 - n11;
n8 = 1;
n7 = this.y;
if (bl) break block17;
if (n7 == 0) break block18;
n8 = 2;
n9 += this.a;
n7 = n3 & 1;
if (bl) break block17;
if (n7 != 0) {
++n3;
--n5;
}
}
n7 = n2 + n3 * this.a;
}
int n12 = n7;
int n13 = -n5;
while (n13 < 0) {
block16: {
for (int i2 = -n4; i2 < 0; ++i2) {
this.g[n12++] = n6;
if (!bl) {
if (!bl) continue;
}
break block16;
}
n12 += n9;
n13 += n8;
}
if (!bl) continue;
}
}
public void c(int n2, int n3, int n4, int n5, int n6) {
this.b(n2, n3, n4, n6);
this.b(n2, n3 + n5 - 1, n4, n6);
this.c(n2, n3, n5, n6);
this.c(n2 + n4 - 1, n3, n5, n6);
}
public void b(int n2, int n3, int n4, int n5) {
int n6;
int n7;
boolean bl;
block10: {
block11: {
block9: {
block8: {
bl = q.d;
n7 = n3;
n6 = this.u;
if (bl) break block8;
if (n7 < n6) break block9;
n7 = n3;
n6 = this.v;
}
if (bl) break block10;
if (n7 < n6) break block11;
}
return;
}
n7 = n2;
n6 = this.w;
}
if (!bl) {
if (n7 < n6) {
n4 -= this.w - n2;
n2 = this.w;
}
n7 = n2 + n4;
n6 = this.x;
}
if (!bl) {
if (n7 > n6) {
n4 = this.x - n2;
}
n7 = n2;
n6 = n3 * this.a;
}
int n8 = n7 + n6;
for (int i2 = 0; i2 < n4; ++i2) {
this.g[n8 + i2] = n5;
if (!bl) continue;
}
}
public void c(int n2, int n3, int n4, int n5) {
int n6;
int n7;
boolean bl;
block10: {
block11: {
block9: {
block8: {
bl = q.d;
n7 = n2;
n6 = this.w;
if (bl) break block8;
if (n7 < n6) break block9;
n7 = n2;
n6 = this.x;
}
if (bl) break block10;
if (n7 < n6) break block11;
}
return;
}
n7 = n3;
n6 = this.u;
}
if (!bl) {
if (n7 < n6) {
n4 -= this.u - n3;
n3 = this.u;
}
n7 = n3 + n4;
n6 = this.x;
}
if (!bl) {
if (n7 > n6) {
n4 = this.v - n3;
}
n7 = n2;
n6 = n3 * this.a;
}
int n8 = n7 + n6;
for (int i2 = 0; i2 < n4; ++i2) {
this.g[n8 + i2 * this.a] = n5;
if (!bl) continue;
}
}
public void a(int n2, int n3, int n4) {
block6: {
block3: {
int n5;
int n6;
block5: {
boolean bl;
block4: {
block2: {
bl = q.d;
n6 = n2;
n5 = this.w;
if (bl) break block2;
if (n6 < n5) break block3;
n6 = n3;
n5 = this.u;
}
if (bl) break block4;
if (n6 < n5) break block3;
n6 = n2;
n5 = this.x;
}
if (bl) break block5;
if (n6 >= n5) break block3;
n6 = n3;
n5 = this.v;
}
if (n6 < n5) break block6;
}
return;
}
this.g[n2 + n3 * this.a] = n4;
}
public void d() {
int n2 = this.a * this.b;
for (int i2 = 0; i2 < n2; ++i2) {
int n3 = this.g[i2] & 0xFFFFFF;
this.g[i2] = (n3 >>> 1 & 0x7F7F7F) + (n3 >>> 2 & 0x3F3F3F) + (n3 >>> 3 & 0x1F1F1F) + (n3 >>> 4 & 0xF0F0F);
if (!q.d) continue;
}
}
public void c(int n2, int n3, int n4, int n5, int n6, int n7) {
boolean bl = q.d;
boolean bl2 = false;
int n8 = n4;
block0: while (true) {
int n9 = n8;
block1: while (n9 < n4 + n6) {
int n10 = n5;
block2: while (true) {
int n11 = n10;
block3: while (n11 < n5 + n7) {
int n12 = 0;
int n13 = 0;
int n14 = 0;
int n15 = 0;
n9 = n8 - n2;
if (bl) continue block1;
int n16 = n9;
block4: while (true) {
int n17 = n16;
block5: while (n17 <= n8 + n2) {
block13: {
block14: {
int n18;
block12: {
n11 = n16;
if (bl) continue block3;
if (bl) break block12;
if (n11 < 0) break block13;
n18 = n16;
}
int n19 = this.a;
if (bl) break block14;
if (n18 >= n19) break block13;
n18 = n10;
n19 = n3;
}
for (int i2 = (v132029) - (v132030); i2 <= n10 + n3; ++i2) {
int n20;
n17 = i2;
if (bl) continue block5;
if (!bl) {
if (n17 < 0) continue;
n20 = i2;
}
if (!bl) {
if (n20 >= this.b) continue;
n20 = this.g[n16 + this.a * i2];
}
int n21 = n20;
n12 += n21 >> 16 & 0xFF;
n13 += n21 >> 8 & 0xFF;
n14 += n21 & 0xFF;
++n15;
if (!bl) continue;
}
}
++n16;
if (!bl) continue block4;
}
break;
}
this.g[n8 + this.a * n10] = (n12 / n15 << 16) + (n13 / n15 << 8) + n14 / n15;
++n10;
if (!bl) continue block2;
}
break;
}
++n8;
if (!bl) continue block0;
}
break;
}
}
public static int b(int n2, int n3, int n4) {
return (n2 << 16) + (n3 << 8) + n4;
}
public void e() {
for (int i2 = 0; i2 < this.k.length; ++i2) {
this.k[i2] = null;
this.n[i2] = 0;
this.o[i2] = 0;
this.l[i2] = null;
this.m[i2] = null;
if (!q.d) continue;
}
}
/*
* Unable to fully structure code
*/
public void a(int var1_1, byte[] var2_2, byte[] var3_3, int var4_4) {
block17: {
var17_5 = q.d;
var5_6 = false;
var6_7 = q.a(var2_2, 0);
var7_8 = q.a(var3_3, var6_7);
var8_9 = q.a(var3_3, var6_7 += 2);
var6_7 += 2;
var9_10 = var3_3[var6_7++] & 255;
var10_11 = new int[var9_10];
var10_11[0] = 0xFF00FF;
for (var11_12 = 0; var11_12 < var9_10 - 1; ++var11_12) {
var10_11[var11_12 + 1] = ((var3_3[var6_7] & 255) << 16) + ((var3_3[var6_7 + 1] & 255) << 8) + (var3_3[var6_7 + 2] & 255);
var6_7 += 3;
if (!var17_5) {
if (!var17_5) continue;
}
break block17;
}
var11_12 = 2;
}
var12_13 = var1_1;
block1: while (true) {
v0 = var12_13;
block2: while (v0 < var1_1 + var4_4) {
block20: {
block21: {
block18: {
block19: {
this.p[var12_13] = var3_3[var6_7++] & 255;
this.q[var12_13] = var3_3[var6_7++] & 255;
this.n[var12_13] = q.a(var3_3, var6_7);
this.o[var12_13] = q.a(var3_3, var6_7 += 2);
var6_7 += 2;
var13_14 = var3_3[var6_7++] & 255;
var14_15 = this.n[var12_13] * this.o[var12_13];
this.l[var12_13] = new byte[var14_15];
this.m[var12_13] = var10_11;
this.r[var12_13] = var7_8;
this.s[var12_13] = var8_9;
this.k[var12_13] = null;
this.t[var12_13] = false;
v1 = this;
if (var17_5) break block18;
if (v1.p[var12_13] != 0) break block19;
v2 = this.q[var12_13];
if (var17_5) break block20;
if (v2 == 0) break block21;
}
v1 = this;
}
v1.t[var12_13] = true;
}
v2 = var13_14;
}
if (var17_5) ** GOTO lbl61
if (v2 != 0) ** GOTO lbl60
var15_16 = 0;
while (var15_16 < var14_15) {
this.l[var12_13][var15_16] = var2_2[var11_12++];
if (!var17_5) {
v0 = this.l[var12_13][var15_16];
if (var17_5) continue block2;
if (v0 == 0) {
this.t[var12_13] = true;
}
++var15_16;
}
if (!var17_5) continue;
lbl60:
// 2 sources
v2 = var13_14;
lbl61:
// 2 sources
if (!var17_5) {
if (v2 != 1) break;
v2 = 0;
}
var15_16 = v2;
block4: while (true) {
v3 = var15_16;
block5: while (v3 < this.n[var12_13]) {
v0 = 0;
if (var17_5) continue block2;
var16_17 = v0;
while (var16_17 < this.o[var12_13]) {
this.l[var12_13][var15_16 + var16_17 * this.n[var12_13]] = var2_2[var11_12++];
if (!var17_5) {
v3 = this.l[var12_13][var15_16 + var16_17 * this.n[var12_13]];
if (var17_5) continue block5;
if (v3 == 0) {
this.t[var12_13] = true;
}
++var16_17;
}
if (!var17_5) continue;
}
++var15_16;
if (!var17_5) continue block4;
}
break block3;
break;
}
}
++var12_13;
if (!var17_5) continue block1;
}
break;
}
}
public void a(int n2, byte[] byArray) {
int n3;
int n4;
int n5;
int n6;
int[] nArray;
boolean bl;
block7: {
int n7;
bl = q.d;
boolean bl2 = false;
this.k[n2] = new int[10200];
nArray = this.k[n2];
this.n[n2] = 255;
this.o[n2] = 40;
this.p[n2] = 0;
this.q[n2] = 0;
this.r[n2] = 255;
this.s[n2] = 40;
this.t[n2] = false;
int n8 = 0;
n6 = 1;
n5 = 0;
while (n5 < 255) {
block8: {
n4 = byArray[n6++] & 0xFF;
n7 = 0;
if (bl) break block7;
for (n3 = v134617; n3 < n4; ++n3) {
nArray[n5++] = n8;
if (!bl) {
if (!bl) continue;
}
break block8;
}
n8 = 0xFFFFFF - n8;
}
if (!bl) continue;
}
n7 = n4 = 1;
}
while (n4 < 40) {
block9: {
n3 = 0;
block3: while (n3 < 255) {
int n9 = byArray[n6++] & 0xFF;
for (int i2 = 0; i2 < n9; ++i2) {
nArray[n5] = nArray[n5 - 255];
++n5;
++n3;
if (bl) continue block3;
if (!bl) continue;
}
if (n3 >= 255) continue;
nArray[n5] = 0xFFFFFF - nArray[n5 - 255];
++n5;
++n3;
if (!bl) {
if (!bl) continue;
}
break block9;
}
++n4;
}
if (!bl) continue;
}
}
public void a(int n2) {
block18: {
int n3;
int n4;
int n5;
int n6;
int[] nArray;
int[] nArray2;
int[] nArray3;
int n7;
boolean bl;
block16: {
int[] nArray4;
block15: {
bl = q.d;
boolean bl2 = false;
n7 = this.n[n2] * this.o[n2];
nArray3 = this.k[n2];
nArray2 = new int[32768];
for (int i2 = 0; i2 < n7; ++i2) {
int n8 = nArray3[i2];
nArray4 = nArray2;
if (!bl) {
int n9 = ((n8 & 0xF80000) >> 9) + ((n8 & 0xF800) >> 6) + ((n8 & 0xF8) >> 3);
nArray4[n9] = nArray4[n9] + 1;
if (!bl) continue;
}
break block15;
}
nArray4 = new int[256];
}
nArray = nArray4;
nArray[0] = 0xFF00FF;
int[] nArray5 = new int[256];
int n10 = 0;
block1: while (true) {
int n11 = n10;
int n12 = 32768;
block2: while (n11 < n12) {
n6 = nArray2[n10];
if (bl) continue block1;
n5 = n6;
if (bl) break block16;
if (n5 > nArray5[255]) {
for (n4 = 1; n4 < 256; ++n4) {
block17: {
int n13 = n6;
if (!bl) {
n12 = nArray5[n4];
if (bl) continue block2;
if (n13 <= n12 && !bl) continue;
n13 = n3 = 255;
}
while (n3 > n4) {
nArray[n3] = nArray[n3 - 1];
nArray5[n3] = nArray5[n3 - 1];
--n3;
if (!bl) {
if (!bl) continue;
}
break block17;
}
nArray[n4] = ((n10 & 0x7C00) << 9) + ((n10 & 0x3E0) << 6) + ((n10 & 0x1F) << 3) + 263172;
nArray5[n4] = n6;
}
if (!bl) break;
if (!bl) continue;
}
}
nArray2[n10] = -1;
++n10;
if (!bl) continue block1;
}
break;
}
n5 = n7;
}
byte[] byArray = new byte[n5];
n6 = 0;
block5: while (true) {
int n14 = n6;
int n15 = n7;
block6: while (n14 < n15) {
n4 = nArray3[n6];
n3 = ((n4 & 0xF80000) >> 9) + ((n4 & 0xF800) >> 6) + ((n4 & 0xF8) >> 3);
int n16 = nArray2[n3];
if (bl) break block18;
if (bl) continue block5;
if (n16 == -1) {
int n17 = 999999999;
int n18 = n4 >> 16 & 0xFF;
int n19 = n4 >> 8 & 0xFF;
int n20 = n4 & 0xFF;
int n21 = 0;
while (n21 < 256) {
int n22 = nArray[n21];
int n23 = n22 >> 16 & 0xFF;
int n24 = n22 >> 8 & 0xFF;
int n25 = n22 & 0xFF;
int n26 = (n18 - n23) * (n18 - n23) + (n19 - n24) * (n19 - n24) + (n20 - n25) * (n20 - n25);
if (!bl) {
n14 = n26;
n15 = n17;
if (bl) continue block6;
if (n14 < n15) {
n17 = n26;
n16 = n21;
}
++n21;
}
if (!bl) continue;
}
nArray2[n3] = n16;
}
byArray[n6] = (byte)n16;
++n6;
if (!bl) continue block5;
}
break;
}
this.l[n2] = byArray;
this.m[n2] = nArray;
this.k[n2] = null;
}
}
public void b(int n2) {
block6: {
boolean bl = q.d;
boolean bl2 = false;
h h2 = this;
if (!bl) {
if (h2.l[n2] == null) {
return;
}
h2 = this;
}
int n3 = h2.n[n2] * this.o[n2];
byte[] byArray = this.l[n2];
int[] nArray = this.m[n2];
int[] nArray2 = new int[n3];
for (int i2 = 0; i2 < n3; ++i2) {
int n4;
block9: {
int n5;
block10: {
block7: {
block8: {
n4 = nArray[byArray[i2] & 0xFF];
if (bl) break block6;
n5 = n4;
if (bl) break block7;
if (n5 != 0) break block8;
n4 = 1;
if (!bl) break block9;
}
n5 = n4;
}
if (bl) break block10;
if (n5 != 0xFF00FF) break block9;
n5 = 0;
}
n4 = n5;
}
nArray2[i2] = n4;
if (!bl) continue;
}
this.k[n2] = nArray2;
this.l[n2] = null;
this.m[n2] = null;
}
}
public void d(int n2, int n3, int n4, int n5, int n6) {
boolean bl = q.d;
boolean bl2 = false;
this.n[n2] = n5;
this.o[n2] = n6;
this.t[n2] = false;
this.p[n2] = 0;
this.q[n2] = 0;
this.r[n2] = n5;
this.s[n2] = n6;
int n7 = n5 * n6;
int n8 = 0;
this.k[n2] = new int[n7];
int n9 = n3;
while (n9 < n3 + n5) {
block3: {
for (int i2 = n4; i2 < n4 + n6; ++i2) {
this.k[n2][n8++] = this.g[n9 + i2 * this.a];
if (!bl) {
if (!bl) continue;
}
break block3;
}
++n9;
}
if (!bl) continue;
}
}
public void e(int n2, int n3, int n4, int n5, int n6) {
boolean bl = q.d;
boolean bl2 = false;
this.n[n2] = n5;
this.o[n2] = n6;
this.t[n2] = false;
this.p[n2] = 0;
this.q[n2] = 0;
this.r[n2] = n5;
this.s[n2] = n6;
int n7 = n5 * n6;
int n8 = 0;
this.k[n2] = new int[n7];
int n9 = n4;
while (n9 < n4 + n6) {
block3: {
for (int i2 = n3; i2 < n3 + n5; ++i2) {
this.k[n2][n8++] = this.g[i2 + n9 * this.a];
if (!bl) {
if (!bl) continue;
}
break block3;
}
++n9;
}
if (!bl) continue;
}
}
public void c(int n2, int n3, int n4) {
h h2;
int n5;
int n6;
int n7;
int n8;
int n9;
int n10;
int n11;
boolean bl;
block25: {
block26: {
int n12;
block27: {
int n13;
block23: {
block24: {
block22: {
block21: {
block20: {
int n14;
block19: {
bl = q.d;
int n15 = this.t[n4];
if (!bl) {
if (n15 != 0) {
n2 += this.p[n4];
n3 += this.q[n4];
}
n15 = n2 + n3 * this.a;
}
n11 = n15;
n10 = 0;
n9 = this.o[n4];
n8 = this.n[n4];
n7 = this.a - n8;
n6 = 0;
n13 = n3;
n14 = this.u;
if (!bl) {
if (n13 < n14) {
n5 = this.u - n3;
n9 -= n5;
n3 = this.u;
n10 = 0 + n5 * n8;
n11 += n5 * this.a;
}
n13 = n3 + n9;
n14 = this.v;
}
if (!bl) {
if (n13 >= n14) {
n9 -= n3 + n9 - this.v + 1;
}
n13 = n2;
n14 = this.w;
}
if (bl) break block19;
if (n13 < n14) {
n5 = this.w - n2;
n8 -= n5;
n2 = this.w;
n10 += n5;
n11 += n5;
n6 = 0 + n5;
n7 += n5;
}
n13 = n2 + n8;
if (bl) break block20;
n14 = this.x;
}
if (n13 >= n14) {
n5 = n2 + n8 - this.x + 1;
n8 -= n5;
n6 += n5;
n7 += n5;
}
n13 = n8;
}
if (bl) break block21;
if (n13 <= 0) break block22;
n13 = n9;
}
if (bl) break block23;
if (n13 > 0) break block24;
}
return;
}
n13 = 1;
}
n5 = n13;
h2 = this;
if (bl) break block25;
if (!h2.y) break block26;
n5 = 2;
n7 += this.a;
n6 += this.n[n4];
n12 = n3 & 1;
if (bl) break block27;
if (n12 == 0) break block26;
n12 = n11 + this.a;
}
n11 = n12;
--n9;
}
h2 = this;
}
if (!bl) {
if (h2.k[n4] == null) {
this.a(this.g, this.l[n4], this.m[n4], n10, n11, n8, n9, n7, n6, n5);
return;
}
h2 = this;
}
h2.a(this.g, this.k[n4], 0, n10, n11, n8, n9, n7, n6, n5);
}
public void f(int n2, int n3, int n4, int n5, int n6) {
boolean bl = q.d;
try {
block25: {
h h2;
int n7;
int n8;
int n9;
int n10;
int n11;
int n12;
int n13;
int n14;
block23: {
block24: {
int n15;
block22: {
int n16;
block21: {
n14 = this.n[n6];
int n17 = this.o[n6];
n13 = 0;
n12 = 0;
n11 = (n14 << 16) / n4;
n10 = (n17 << 16) / n5;
int n18 = this.t[n6];
if (!bl) {
if (n18 != 0) {
n9 = this.r[n6];
n8 = this.s[n6];
n11 = (n9 << 16) / n4;
n10 = (n8 << 16) / n5;
n2 += (this.p[n6] * n4 + n9 - 1) / n9;
n3 += (this.q[n6] * n5 + n8 - 1) / n8;
int n19 = this.p[n6] * n4 % n9;
if (!bl) {
if (n19 != 0) {
n13 = (n9 - this.p[n6] * n4 % n9 << 16) / n4;
}
n19 = this.q[n6] * n5 % n8;
}
if (!bl) {
if (n19 != 0) {
n12 = (n8 - this.q[n6] * n5 % n8 << 16) / n5;
}
n4 = n4 * (this.n[n6] - (n13 >> 16)) / n9;
n19 = n5 * (this.o[n6] - (n12 >> 16)) / n8;
}
n5 = n19;
}
n18 = n2 + n3 * this.a;
}
n9 = n18;
n8 = this.a - n4;
n15 = n3;
n16 = this.u;
if (!bl) {
if (n15 < n16) {
n7 = this.u - n3;
n5 -= n7;
n3 = 0;
n9 += n7 * this.a;
n12 += n10 * n7;
}
n15 = n3 + n5;
n16 = this.v;
}
if (!bl) {
if (n15 >= n16) {
n5 -= n3 + n5 - this.v + 1;
}
n15 = n2;
n16 = this.w;
}
if (bl) break block21;
if (n15 < n16) {
n7 = this.w - n2;
n4 -= n7;
n2 = 0;
n9 += n7;
n13 += n11 * n7;
n8 += n7;
}
n15 = n2 + n4;
if (bl) break block22;
n16 = this.x;
}
if (n15 >= n16) {
n7 = n2 + n4 - this.x + 1;
n4 -= n7;
n8 += n7;
}
n15 = 1;
}
n7 = n15;
h2 = this;
if (bl) break block23;
if (!h2.y) break block24;
n7 = 2;
n8 += this.a;
n10 += n10;
if (bl) break block25;
if ((n3 & 1) != 0) {
n9 += this.a;
--n5;
}
}
h2 = this;
}
h2.a(this.g, this.k[n6], 0, n13, n12, n9, n8, n4, n5, n11, n10, n14, n7);
}
return;
}
catch (Exception exception) {
System.out.println(Q[0]);
return;
}
}
public void d(int n2, int n3, int n4, int n5) {
h h2;
int n6;
int n7;
int n8;
int n9;
int n10;
int n11;
int n12;
boolean bl;
block25: {
block26: {
int n13;
block27: {
int n14;
block23: {
block24: {
block22: {
block21: {
block20: {
int n15;
block19: {
bl = q.d;
int n16 = this.t[n4];
if (!bl) {
if (n16 != 0) {
n2 += this.p[n4];
n3 += this.q[n4];
}
n16 = n2 + n3 * this.a;
}
n12 = n16;
n11 = 0;
n10 = this.o[n4];
n9 = this.n[n4];
n8 = this.a - n9;
n7 = 0;
n14 = n3;
n15 = this.u;
if (!bl) {
if (n14 < n15) {
n6 = this.u - n3;
n10 -= n6;
n3 = this.u;
n11 = 0 + n6 * n9;
n12 += n6 * this.a;
}
n14 = n3 + n10;
n15 = this.v;
}
if (!bl) {
if (n14 >= n15) {
n10 -= n3 + n10 - this.v + 1;
}
n14 = n2;
n15 = this.w;
}
if (bl) break block19;
if (n14 < n15) {
n6 = this.w - n2;
n9 -= n6;
n2 = this.w;
n11 += n6;
n12 += n6;
n7 = 0 + n6;
n8 += n6;
}
n14 = n2 + n9;
if (bl) break block20;
n15 = this.x;
}
if (n14 >= n15) {
n6 = n2 + n9 - this.x + 1;
n9 -= n6;
n7 += n6;
n8 += n6;
}
n14 = n9;
}
if (bl) break block21;
if (n14 <= 0) break block22;
n14 = n10;
}
if (bl) break block23;
if (n14 > 0) break block24;
}
return;
}
n14 = 1;
}
n6 = n14;
h2 = this;
if (bl) break block25;
if (!h2.y) break block26;
n6 = 2;
n8 += this.a;
n7 += this.n[n4];
n13 = n3 & 1;
if (bl) break block27;
if (n13 == 0) break block26;
n13 = n12 + this.a;
}
n12 = n13;
--n10;
}
h2 = this;
}
if (!bl) {
if (h2.k[n4] == null) {
this.a(this.g, this.l[n4], this.m[n4], n11, n12, n9, n10, n8, n7, n6, n5);
return;
}
h2 = this;
}
h2.a(this.g, this.k[n4], 0, n11, n12, n9, n10, n8, n7, n6, n5);
}
public void d(int n2, int n3, int n4, int n5, int n6, int n7) {
boolean bl = q.d;
try {
block25: {
h h2;
int n8;
int n9;
int n10;
int n11;
int n12;
int n13;
int n14;
int n15;
block23: {
block24: {
int n16;
block22: {
int n17;
block21: {
n15 = this.n[n6];
int n18 = this.o[n6];
n14 = 0;
n13 = 0;
n12 = (n15 << 16) / n4;
n11 = (n18 << 16) / n5;
int n19 = this.t[n6];
if (!bl) {
if (n19 != 0) {
n10 = this.r[n6];
n9 = this.s[n6];
n12 = (n10 << 16) / n4;
n11 = (n9 << 16) / n5;
n2 += (this.p[n6] * n4 + n10 - 1) / n10;
n3 += (this.q[n6] * n5 + n9 - 1) / n9;
int n20 = this.p[n6] * n4 % n10;
if (!bl) {
if (n20 != 0) {
n14 = (n10 - this.p[n6] * n4 % n10 << 16) / n4;
}
n20 = this.q[n6] * n5 % n9;
}
if (!bl) {
if (n20 != 0) {
n13 = (n9 - this.q[n6] * n5 % n9 << 16) / n5;
}
n4 = n4 * (this.n[n6] - (n14 >> 16)) / n10;
n20 = n5 * (this.o[n6] - (n13 >> 16)) / n9;
}
n5 = n20;
}
n19 = n2 + n3 * this.a;
}
n10 = n19;
n9 = this.a - n4;
n16 = n3;
n17 = this.u;
if (!bl) {
if (n16 < n17) {
n8 = this.u - n3;
n5 -= n8;
n3 = 0;
n10 += n8 * this.a;
n13 += n11 * n8;
}
n16 = n3 + n5;
n17 = this.v;
}
if (!bl) {
if (n16 >= n17) {
n5 -= n3 + n5 - this.v + 1;
}
n16 = n2;
n17 = this.w;
}
if (bl) break block21;
if (n16 < n17) {
n8 = this.w - n2;
n4 -= n8;
n2 = 0;
n10 += n8;
n14 += n12 * n8;
n9 += n8;
}
n16 = n2 + n4;
if (bl) break block22;
n17 = this.x;
}
if (n16 >= n17) {
n8 = n2 + n4 - this.x + 1;
n4 -= n8;
n9 += n8;
}
n16 = 1;
}
n8 = n16;
h2 = this;
if (bl) break block23;
if (!h2.y) break block24;
n8 = 2;
n9 += this.a;
n11 += n11;
if (bl) break block25;
if ((n3 & 1) != 0) {
n10 += this.a;
--n5;
}
}
h2 = this;
}
h2.a(this.g, this.k[n6], 0, n14, n13, n10, n9, n4, n5, n12, n11, n15, n8, n7);
}
return;
}
catch (Exception exception) {
System.out.println(Q[0]);
return;
}
}
public void e(int n2, int n3, int n4, int n5, int n6, int n7) {
boolean bl = q.d;
try {
block25: {
h h2;
int n8;
int n9;
int n10;
int n11;
int n12;
int n13;
int n14;
int n15;
block23: {
block24: {
int n16;
block22: {
int n17;
block21: {
n15 = this.n[n6];
int n18 = this.o[n6];
n14 = 0;
n13 = 0;
n12 = (n15 << 16) / n4;
n11 = (n18 << 16) / n5;
int n19 = this.t[n6];
if (!bl) {
if (n19 != 0) {
n10 = this.r[n6];
n9 = this.s[n6];
n12 = (n10 << 16) / n4;
n11 = (n9 << 16) / n5;
n2 += (this.p[n6] * n4 + n10 - 1) / n10;
n3 += (this.q[n6] * n5 + n9 - 1) / n9;
int n20 = this.p[n6] * n4 % n10;
if (!bl) {
if (n20 != 0) {
n14 = (n10 - this.p[n6] * n4 % n10 << 16) / n4;
}
n20 = this.q[n6] * n5 % n9;
}
if (!bl) {
if (n20 != 0) {
n13 = (n9 - this.q[n6] * n5 % n9 << 16) / n5;
}
n4 = n4 * (this.n[n6] - (n14 >> 16)) / n10;
n20 = n5 * (this.o[n6] - (n13 >> 16)) / n9;
}
n5 = n20;
}
n19 = n2 + n3 * this.a;
}
n10 = n19;
n9 = this.a - n4;
n16 = n3;
n17 = this.u;
if (!bl) {
if (n16 < n17) {
n8 = this.u - n3;
n5 -= n8;
n3 = 0;
n10 += n8 * this.a;
n13 += n11 * n8;
}
n16 = n3 + n5;
n17 = this.v;
}
if (!bl) {
if (n16 >= n17) {
n5 -= n3 + n5 - this.v + 1;
}
n16 = n2;
n17 = this.w;
}
if (bl) break block21;
if (n16 < n17) {
n8 = this.w - n2;
n4 -= n8;
n2 = 0;
n10 += n8;
n14 += n12 * n8;
n9 += n8;
}
n16 = n2 + n4;
if (bl) break block22;
n17 = this.x;
}
if (n16 >= n17) {
n8 = n2 + n4 - this.x + 1;
n4 -= n8;
n9 += n8;
}
n16 = 1;
}
n8 = n16;
h2 = this;
if (bl) break block23;
if (!h2.y) break block24;
n8 = 2;
n9 += this.a;
n11 += n11;
if (bl) break block25;
if ((n3 & 1) != 0) {
n10 += this.a;
--n5;
}
}
h2 = this;
}
h2.b(this.g, this.k[n6], 0, n14, n13, n10, n9, n4, n5, n12, n11, n15, n8, n7);
}
return;
}
catch (Exception exception) {
System.out.println(Q[0]);
return;
}
}
private void a(int[] nArray, int[] nArray2, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9) {
boolean bl = q.d;
boolean bl2 = false;
int n10 = -(n5 >> 2);
n5 = -(n5 & 3);
int n11 = -n6;
while (n11 < 0) {
block14: {
int n12;
int n13;
block13: {
int n14;
for (n13 = n10; n13 < 0; ++n13) {
block25: {
block24: {
block23: {
block22: {
block21: {
block20: {
block19: {
block18: {
block17: {
block16: {
block15: {
n2 = nArray2[n3++];
if (bl) break block15;
n14 = n2;
if (bl) break block13;
if (n14 == 0) break block16;
nArray[n4++] = n2;
}
if (!bl) break block17;
}
++n4;
}
n2 = nArray2[n3++];
if (bl) break block18;
if (n2 == 0) break block19;
nArray[n4++] = n2;
}
if (!bl) break block20;
}
++n4;
}
n2 = nArray2[n3++];
if (bl) break block21;
if (n2 == 0) break block22;
nArray[n4++] = n2;
}
if (!bl) break block23;
}
++n4;
}
n2 = nArray2[n3++];
if (bl) break block24;
if (n2 == 0) break block25;
nArray[n4++] = n2;
}
if (!bl) continue;
}
++n4;
if (!bl) continue;
}
n14 = n13 = n5;
}
while (n13 < 0) {
block28: {
block27: {
block26: {
n2 = nArray2[n3++];
if (bl) break block26;
n12 = n2;
if (bl) break block14;
if (n12 == 0) break block27;
nArray[n4++] = n2;
}
if (!bl) break block28;
}
++n4;
}
++n13;
if (!bl) continue;
}
n4 += n7;
n3 += n8;
n12 = n11 = n11 + n9;
}
if (!bl) continue;
}
}
private void a(int[] nArray, byte[] byArray, int[] nArray2, int n2, int n3, int n4, int n5, int n6, int n7, int n8) {
boolean bl = q.d;
boolean bl2 = false;
int n9 = -(n4 >> 2);
n4 = -(n4 & 3);
int n10 = -n5;
while (n10 < 0) {
block14: {
int n11;
int n12;
int n13;
block13: {
int n14;
for (n13 = n9; n13 < 0; ++n13) {
block25: {
block24: {
block23: {
block22: {
block21: {
block20: {
block19: {
block18: {
block17: {
block16: {
block15: {
n12 = byArray[n2++];
if (bl) break block15;
n14 = n12;
if (bl) break block13;
if (n14 == 0) break block16;
nArray[n3++] = nArray2[n12 & 0xFF];
}
if (!bl) break block17;
}
++n3;
}
n12 = byArray[n2++];
if (bl) break block18;
if (n12 == 0) break block19;
nArray[n3++] = nArray2[n12 & 0xFF];
}
if (!bl) break block20;
}
++n3;
}
n12 = byArray[n2++];
if (bl) break block21;
if (n12 == 0) break block22;
nArray[n3++] = nArray2[n12 & 0xFF];
}
if (!bl) break block23;
}
++n3;
}
n12 = byArray[n2++];
if (bl) break block24;
if (n12 == 0) break block25;
nArray[n3++] = nArray2[n12 & 0xFF];
}
if (!bl) continue;
}
++n3;
if (!bl) continue;
}
n14 = n13 = n4;
}
while (n13 < 0) {
block28: {
block27: {
block26: {
n12 = byArray[n2++];
if (bl) break block26;
n11 = n12;
if (bl) break block14;
if (n11 == 0) break block27;
nArray[n3++] = nArray2[n12 & 0xFF];
}
if (!bl) break block28;
}
++n3;
}
++n13;
if (!bl) continue;
}
n3 += n6;
n2 += n7;
n11 = n10 = n10 + n8;
}
if (!bl) continue;
}
}
private void a(int[] nArray, int[] nArray2, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12) {
boolean bl = q.d;
boolean bl2 = false;
try {
int n13 = n3;
int n14 = -n8;
while (n14 < 0) {
block6: {
int n15;
int n16 = (n4 >> 16) * n11;
for (int i2 = -n7; i2 < 0; ++i2) {
block9: {
block8: {
block7: {
n2 = nArray2[(n3 >> 16) + n16];
if (bl) break block7;
n15 = n2;
if (bl) break block6;
if (n15 == 0) break block8;
nArray[n5++] = n2;
}
if (!bl) break block9;
}
++n5;
}
n3 += n9;
if (!bl) continue;
}
n4 += n10;
n3 = n13;
n5 += n6;
n15 = n14 = n14 + n12;
}
if (!bl) continue;
}
return;
}
catch (Exception exception) {
System.out.println(Q[1]);
return;
}
}
private void a(int[] nArray, int[] nArray2, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10) {
boolean bl = q.d;
boolean bl2 = false;
int n11 = 256 - n10;
int n12 = -n6;
while (n12 < 0) {
block4: {
int n13;
for (int i2 = -n5; i2 < 0; ++i2) {
block6: {
int n14;
block5: {
n13 = n2 = nArray2[n3++];
if (bl) break block4;
if (bl) break block5;
if (n13 == 0) break block6;
n14 = nArray[n4];
}
void var16_17 = n14;
nArray[n4++] = ((n2 & 0xFF00FF) * n10 + (var16_17 & 0xFF00FF) * n11 & 0xFF00FF00) + ((n2 & 0xFF00) * n10 + (var16_17 & 0xFF00) * n11 & 0xFF0000) >> 8;
if (!bl) continue;
}
++n4;
if (!bl) continue;
}
n4 += n7;
n3 += n8;
n13 = n12 = n12 + n9;
}
if (!bl) continue;
}
}
private void a(int[] nArray, byte[] byArray, int[] nArray2, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9) {
boolean bl = q.d;
boolean bl2 = false;
int n10 = 256 - n9;
int n11 = -n5;
while (n11 < 0) {
block4: {
int n12;
for (int i2 = -n4; i2 < 0; ++i2) {
block6: {
int n13;
int n14;
block5: {
n12 = n14 = byArray[n2++];
if (bl) break block4;
if (bl) break block5;
if (n12 == 0) break block6;
n14 = nArray2[n14 & 0xFF];
n13 = nArray[n3];
}
void var17_18 = n13;
nArray[n3++] = ((n14 & 0xFF00FF) * n9 + (var17_18 & 0xFF00FF) * n10 & 0xFF00FF00) + ((n14 & 0xFF00) * n9 + (var17_18 & 0xFF00) * n10 & 0xFF0000) >> 8;
if (!bl) continue;
}
++n3;
if (!bl) continue;
}
n3 += n6;
n2 += n7;
n12 = n11 = n11 + n8;
}
if (!bl) continue;
}
}
private void a(int[] nArray, int[] nArray2, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12, int n13) {
boolean bl = q.d;
boolean bl2 = false;
int n14 = 256 - n13;
try {
int n15 = n3;
int n16 = -n8;
while (n16 < 0) {
block6: {
int n17;
int n18 = (n4 >> 16) * n11;
for (int i2 = -n7; i2 < 0; ++i2) {
block9: {
block8: {
int n19;
block7: {
n17 = n2 = nArray2[(n3 >> 16) + n18];
if (bl) break block6;
if (bl) break block7;
if (n17 == 0) break block8;
n19 = nArray[n5];
}
void var21_23 = n19;
nArray[n5++] = ((n2 & 0xFF00FF) * n13 + (var21_23 & 0xFF00FF) * n14 & 0xFF00FF00) + ((n2 & 0xFF00) * n13 + (var21_23 & 0xFF00) * n14 & 0xFF0000) >> 8;
if (!bl) break block9;
}
++n5;
}
n3 += n9;
if (!bl) continue;
}
n4 += n10;
n3 = n15;
n5 += n6;
n17 = n16 = n16 + n12;
}
if (!bl) continue;
}
return;
}
catch (Exception exception) {
System.out.println(Q[8]);
return;
}
}
private void b(int[] nArray, int[] nArray2, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12, int n13) {
boolean bl = q.d;
boolean bl2 = false;
int n14 = n13 >> 16 & 0xFF;
int n15 = n13 >> 8 & 0xFF;
int n16 = n13 & 0xFF;
try {
int n17 = n3;
int n18 = -n8;
while (n18 < 0) {
block6: {
int n19;
int n20 = (n4 >> 16) * n11;
for (int i2 = -n7; i2 < 0; ++i2) {
block11: {
block8: {
block9: {
block10: {
int n21;
block7: {
n19 = n2 = nArray2[(n3 >> 16) + n20];
if (bl) break block6;
if (bl) break block7;
if (n19 == 0) break block8;
n21 = n2 >> 16 & 0xFF;
}
void var23_25 = n21;
int n22 = n2 >> 8 & 0xFF;
int n23 = n2 & 0xFF;
if (bl) break block9;
if (var23_25 != n22 || n22 != n23) break block10;
nArray[n5++] = (var23_25 * n14 >> 8 << 16) + (n22 * n15 >> 8 << 8) + (n23 * n16 >> 8);
if (!bl) break block11;
}
nArray[n5++] = n2;
}
if (!bl) break block11;
}
++n5;
}
n3 += n9;
if (!bl) continue;
}
n4 += n10;
n3 = n17;
n5 += n6;
n19 = n18 = n18 + n12;
}
if (!bl) continue;
}
return;
}
catch (Exception exception) {
System.out.println(Q[1]);
return;
}
}
/*
* Unable to fully structure code
*/
public void g(int var1_1, int var2_2, int var3_3, int var4_4, int var5_5) {
block116: {
block153: {
block151: {
block152: {
block115: {
block150: {
block148: {
block149: {
block114: {
block147: {
block145: {
block146: {
block144: {
block113: {
block143: {
block141: {
block142: {
block112: {
block139: {
block140: {
block137: {
block138: {
block136: {
block135: {
block134: {
block133: {
block132: {
block130: {
block131: {
block129: {
block128: {
block126: {
block127: {
block125: {
block124: {
block122: {
block123: {
block119: {
block120: {
block121: {
block117: {
block118: {
var48_6 = q.d;
var6_7 = false;
var7_8 = this.a;
var8_9 = this.b;
v0 = this.C;
if (var48_6) ** GOTO lbl16
if (v0 == null) {
this.C = new int[512];
for (var9_10 = 0; var9_10 < 256; ++var9_10) {
this.C[var9_10] = (int)(Math.sin((double)var9_10 * 0.02454369) * 32768.0);
this.C[var9_10 + 256] = (int)(Math.cos((double)var9_10 * 0.02454369) * 32768.0);
if (!var48_6) {
if (!var48_6) continue;
}
break;
}
} else {
v0 = this.r;
lbl16:
// 2 sources
var9_10 = -v0[var3_3] / 2;
}
var10_11 = -this.s[var3_3] / 2;
v1 = this.t[var3_3];
if (!var48_6) {
if (v1 != 0) {
var9_10 += this.p[var3_3];
var10_11 += this.q[var3_3];
}
v1 = var9_10 + this.n[var3_3];
}
var11_12 = v1;
var12_13 = var10_11 + this.o[var3_3];
var13_14 = var11_12;
var14_15 = var10_11;
var15_16 = var9_10;
var16_17 = var12_13;
var17_18 = this.C[var4_4 &= 255] * var5_5;
var18_19 = this.C[var4_4 + 256] * var5_5;
var19_20 = var1_1 + (var10_11 * var17_18 + var9_10 * var18_19 >> 22);
var20_21 = var2_2 + (var10_11 * var18_19 - var9_10 * var17_18 >> 22);
var21_22 = var1_1 + (var14_15 * var17_18 + var13_14 * var18_19 >> 22);
var22_23 = var2_2 + (var14_15 * var18_19 - var13_14 * var17_18 >> 22);
var23_24 = var1_1 + (var12_13 * var17_18 + var11_12 * var18_19 >> 22);
var24_25 = var2_2 + (var12_13 * var18_19 - var11_12 * var17_18 >> 22);
var25_26 = var1_1 + (var16_17 * var17_18 + var15_16 * var18_19 >> 22);
var26_27 = var2_2 + (var16_17 * var18_19 - var15_16 * var17_18 >> 22);
v2 = var5_5;
v3 = 192;
if (var48_6) break block117;
if (v2 != v3) break block118;
v2 = var4_4 & 63;
v3 = h.L & 63;
if (var48_6) break block117;
if (v2 != v3) break block118;
++h.J;
if (!var48_6) break block119;
}
v2 = var5_5;
v3 = 128;
}
if (var48_6) break block120;
if (v2 != v3) break block121;
h.L = var4_4;
if (!var48_6) break block119;
}
v2 = h.K;
v3 = 1;
}
h.K = v2 + v3;
}
var27_28 = var20_21;
var28_29 = var20_21;
v4 = var22_23;
v5 = var27_28;
if (var48_6) break block122;
if (v4 >= v5) break block123;
var27_28 = var22_23;
if (!var48_6) break block124;
}
v4 = var22_23;
v5 = var28_29;
}
if (var48_6) break block125;
if (v4 > v5) {
var28_29 = var22_23;
}
}
v4 = var24_25;
v5 = var27_28;
}
if (var48_6) break block126;
if (v4 >= v5) break block127;
var27_28 = var24_25;
if (!var48_6) break block128;
}
v4 = var24_25;
v5 = var28_29;
}
if (var48_6) break block129;
if (v4 > v5) {
var28_29 = var24_25;
}
}
v4 = var26_27;
v5 = var27_28;
}
if (var48_6) break block130;
if (v4 >= v5) break block131;
var27_28 = var26_27;
if (!var48_6) break block132;
}
v4 = var26_27;
v5 = var28_29;
}
if (var48_6) break block133;
if (v4 > v5) {
var28_29 = var26_27;
}
}
v4 = var27_28;
v5 = this.u;
}
if (var48_6) break block134;
if (v4 < v5) {
var27_28 = this.u;
}
v4 = var28_29;
if (var48_6) break block135;
v5 = this.v;
}
if (v4 <= v5) break block136;
v4 = this.v;
}
var28_29 = v4;
}
v6 = this;
if (var48_6) break block137;
if (v6.D == null) break block138;
v7 = this.D.length;
if (var48_6) break block139;
if (v7 == var8_9 + 1) break block140;
}
this.D = new int[var8_9 + 1];
this.E = new int[var8_9 + 1];
this.F = new int[var8_9 + 1];
this.G = new int[var8_9 + 1];
this.H = new int[var8_9 + 1];
v6 = this;
}
v6.I = new int[var8_9 + 1];
}
v7 = var29_30 = var27_28;
}
while (var29_30 <= var28_29) {
this.D[var29_30] = 99999999;
this.E[var29_30] = -99999999;
++var29_30;
if (!var48_6) {
if (!var48_6) continue;
}
break block112;
}
var29_30 = 0;
}
var30_31 = 0;
var31_32 = 0;
var32_33 = this.n[var3_3];
var33_34 = this.o[var3_3];
var9_10 = 0;
var10_11 = 0;
var13_14 = var32_33 - 1;
var14_15 = 0;
var11_12 = var32_33 - 1;
var12_13 = var33_34 - 1;
var15_16 = 0;
var16_17 = var33_34 - 1;
v8 = var26_27;
v9 = var20_21;
if (!var48_6) {
if (v8 != v9) {
var29_30 = (var25_26 - var19_20 << 8) / (var26_27 - var20_21);
var31_32 = (var16_17 - 0 << 8) / (var26_27 - var20_21);
}
v8 = var20_21;
v9 = var26_27;
}
if (var48_6) break block141;
if (v8 <= v9) break block142;
var36_35 = var25_26 << 8;
var37_36 = var16_17 << 8;
var34_37 = var26_27;
var35_38 = var20_21;
if (!var48_6) break block143;
}
v8 = var19_20;
v9 = 8;
}
var36_35 = v8 << v9;
var37_36 = 0;
var34_37 = var20_21;
var35_38 = var26_27;
}
v10 = var34_37;
if (!var48_6) {
if (v10 < 0) {
var36_35 -= var29_30 * var34_37;
var37_36 -= var31_32 * var34_37;
var34_37 = 0;
}
v10 = var35_38;
}
if (!var48_6) {
if (v10 > var8_9 - 1) {
var35_38 = var8_9 - 1;
}
v10 = var38_39 = var34_37;
}
while (var38_39 <= var35_38) {
this.D[var38_39] = this.E[var38_39] = var36_35;
var36_35 += var29_30;
this.G[var38_39] = 0;
this.F[var38_39] = 0;
this.H[var38_39] = this.I[var38_39] = var37_36;
var37_36 += var31_32;
++var38_39;
if (!var48_6) {
if (!var48_6) continue;
}
break block113;
}
v11 = var22_23;
v12 = var20_21;
if (var48_6) break block144;
if (v11 != v12) {
var29_30 = (var21_22 - var19_20 << 8) / (var22_23 - var20_21);
var30_31 = (var13_14 - 0 << 8) / (var22_23 - var20_21);
}
}
v11 = var20_21;
v12 = var22_23;
}
if (var48_6) break block145;
if (v11 <= v12) break block146;
var36_35 = var21_22 << 8;
var38_39 = var13_14 << 8;
var34_37 = var22_23;
var35_38 = var20_21;
if (!var48_6) break block147;
}
v11 = var19_20;
v12 = 8;
}
var36_35 = v11 << v12;
var38_39 = 0;
var34_37 = var20_21;
var35_38 = var22_23;
}
v13 = var34_37;
if (!var48_6) {
if (v13 < 0) {
var36_35 -= var29_30 * var34_37;
var38_39 -= var30_31 * var34_37;
var34_37 = 0;
}
v13 = var35_38;
}
if (!var48_6) {
if (v13 > var8_9 - 1) {
var35_38 = var8_9 - 1;
}
v13 = var39_40 = var34_37;
}
while (var39_40 <= var35_38) {
v14 = var36_35;
v15 = this.D[var39_40];
if (!var48_6) {
if (!var48_6) {
if (v14 < v15) {
this.D[var39_40] = var36_35;
this.F[var39_40] = var38_39;
this.H[var39_40] = 0;
}
v16 = var36_35;
v17 = this.E[var39_40];
}
if (!var48_6) {
if (v16 > v17) {
this.E[var39_40] = var36_35;
this.G[var39_40] = var38_39;
this.I[var39_40] = 0;
}
var36_35 += var29_30;
v16 = var38_39;
v17 = var30_31;
}
var38_39 = v16 + v17;
++var39_40;
if (!var48_6) continue;
}
break block114;
}
v14 = var24_25;
v15 = var22_23;
}
if (!var48_6) {
if (v14 != v15) {
var29_30 = (var23_24 - var21_22 << 8) / (var24_25 - var22_23);
var31_32 = (var12_13 - 0 << 8) / (var24_25 - var22_23);
}
v14 = var22_23;
v15 = var24_25;
}
if (var48_6) break block148;
if (v14 <= v15) break block149;
var36_35 = var23_24 << 8;
var38_39 = var11_12 << 8;
var37_36 = var12_13 << 8;
var34_37 = var24_25;
var35_38 = var22_23;
if (!var48_6) break block150;
}
var36_35 = var21_22 << 8;
v14 = var13_14;
v15 = 8;
}
var38_39 = v14 << v15;
var37_36 = 0;
var34_37 = var22_23;
var35_38 = var24_25;
}
v18 = var34_37;
if (!var48_6) {
if (v18 < 0) {
var36_35 -= var29_30 * var34_37;
var37_36 -= var31_32 * var34_37;
var34_37 = 0;
}
v18 = var35_38;
}
if (!var48_6) {
if (v18 > var8_9 - 1) {
var35_38 = var8_9 - 1;
}
v18 = var39_40 = var34_37;
}
while (var39_40 <= var35_38) {
v19 = var36_35;
v20 = this.D[var39_40];
if (!var48_6) {
if (!var48_6) {
if (v19 < v20) {
this.D[var39_40] = var36_35;
this.F[var39_40] = var38_39;
this.H[var39_40] = var37_36;
}
v21 = var36_35;
v22 = this.E[var39_40];
}
if (!var48_6) {
if (v21 > v22) {
this.E[var39_40] = var36_35;
this.G[var39_40] = var38_39;
this.I[var39_40] = var37_36;
}
var36_35 += var29_30;
v21 = var37_36;
v22 = var31_32;
}
var37_36 = v21 + v22;
++var39_40;
if (!var48_6) continue;
}
break block115;
}
v19 = var26_27;
v20 = var24_25;
}
if (!var48_6) {
if (v19 != v20) {
var29_30 = (var25_26 - var23_24 << 8) / (var26_27 - var24_25);
var30_31 = (0 - var11_12 << 8) / (var26_27 - var24_25);
}
v19 = var24_25;
v20 = var26_27;
}
if (var48_6) break block151;
if (v19 <= v20) break block152;
var36_35 = var25_26 << 8;
var38_39 = 0;
var37_36 = var16_17 << 8;
var34_37 = var26_27;
var35_38 = var24_25;
if (!var48_6) break block153;
}
var36_35 = var23_24 << 8;
var38_39 = var11_12 << 8;
v19 = var12_13;
v20 = 8;
}
var37_36 = v19 << v20;
var34_37 = var24_25;
var35_38 = var26_27;
}
v23 = var34_37;
if (!var48_6) {
if (v23 < 0) {
var36_35 -= var29_30 * var34_37;
var38_39 -= var30_31 * var34_37;
var34_37 = 0;
}
v23 = var35_38;
}
if (!var48_6) {
if (v23 > var8_9 - 1) {
var35_38 = var8_9 - 1;
}
v23 = var39_40 = var34_37;
}
while (var39_40 <= var35_38) {
v24 = var36_35;
v25 = this.D[var39_40];
if (!var48_6) {
if (!var48_6) {
if (v24 < v25) {
this.D[var39_40] = var36_35;
this.F[var39_40] = var38_39;
this.H[var39_40] = var37_36;
}
v26 = var36_35;
v27 = this.E[var39_40];
}
if (!var48_6) {
if (v26 > v27) {
this.E[var39_40] = var36_35;
this.G[var39_40] = var38_39;
this.I[var39_40] = var37_36;
}
var36_35 += var29_30;
v26 = var38_39;
v27 = var30_31;
}
var38_39 = v26 + v27;
++var39_40;
if (!var48_6) continue;
}
break block116;
}
v24 = var27_28;
v25 = var7_8;
}
var39_40 = v24 * v25;
var40_41 = this.k[var3_3];
for (var41_42 = var27_28; var41_42 < var28_29; ++var41_42) {
block158: {
block159: {
block160: {
block161: {
block156: {
block157: {
block155: {
block154: {
var42_43 = this.D[var41_42] >> 8;
var43_44 = this.E[var41_42] >> 8;
v28 = var43_44 - var42_43;
if (!var48_6) {
if (v28 <= 0) {
var39_40 += var7_8;
if (!var48_6) continue;
}
v28 = this.F[var41_42] << 9;
}
var44_45 = v28;
var45_46 = ((this.G[var41_42] << 9) - var44_45) / (var43_44 - var42_43);
var46_47 = this.H[var41_42] << 9;
var47_48 = ((this.I[var41_42] << 9) - var46_47) / (var43_44 - var42_43);
v29 = var42_43;
v30 = this.w;
if (var48_6) break block154;
if (v29 < v30) {
var44_45 += (this.w - var42_43) * var45_46;
var46_47 += (this.w - var42_43) * var47_48;
var42_43 = this.w;
}
v29 = var43_44;
if (var48_6) break block155;
v30 = this.x;
}
if (v29 > v30) {
var43_44 = this.x;
}
v29 = (int)this.y;
}
if (var48_6) break block156;
if (v29 == 0) break block157;
v31 = var41_42 & 1;
if (var48_6) break block158;
if (v31 != 0) break block159;
}
v32 = this;
if (var48_6) break block160;
v29 = v32.t[var3_3];
}
if (v29 != 0) break block161;
this.b(this.g, var40_41, 0, var39_40 + var42_43, var44_45, var46_47, var45_46, var47_48, var42_43 - var43_44, var32_33);
if (!var48_6) break block159;
}
v32 = this;
}
v32.c(this.g, var40_41, 0, var39_40 + var42_43, var44_45, var46_47, var45_46, var47_48, var42_43 - var43_44, var32_33);
}
v31 = var39_40 + var7_8;
}
var39_40 = v31;
if (!var48_6) continue;
}
}
private void b(int[] nArray, int[] nArray2, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9) {
for (n2 = n8; n2 < 0; ++n2) {
this.g[n3++] = nArray2[(n4 >> 17) + (n5 >> 17) * n9];
n4 += n6;
n5 += n7;
if (!q.d) continue;
}
}
private void c(int[] nArray, int[] nArray2, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9) {
boolean bl = q.d;
boolean bl2 = false;
for (int i2 = n8; i2 < 0; ++i2) {
block5: {
block4: {
block3: {
n2 = nArray2[(n4 >> 17) + (n5 >> 17) * n9];
if (bl) break block3;
if (n2 == 0) break block4;
this.g[n3++] = n2;
}
if (!bl) break block5;
}
++n3;
}
n4 += n6;
n5 += n7;
if (!bl) continue;
}
}
public void a(int n2, int n3, int n4, int n5, int n6, int n7, int n8) {
this.f(n2, n3, n4, n5, n6);
}
public void a(int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, boolean bl) {
boolean bl2 = q.d;
try {
int n10;
int n11;
int n12 = n7;
if (!bl2) {
if (n12 == 0) {
n7 = 0xFFFFFF;
}
n12 = n8;
}
if (!bl2) {
if (n12 == 0) {
n8 = 0xFFFFFF;
}
n12 = this.n[n6];
}
int n13 = n12;
int n14 = this.o[n6];
int n15 = 0;
int n16 = 0;
int n17 = n9 << 16;
int n18 = (n13 << 16) / n4;
int n19 = (n14 << 16) / n5;
int n20 = -(n9 << 16) / n5;
int n21 = this.t[n6];
if (!bl2) {
if (n21 != 0) {
n11 = this.r[n6];
n10 = this.s[n6];
n18 = (n11 << 16) / n4;
n19 = (n10 << 16) / n5;
int n22 = this.p[n6];
int n23 = this.q[n6];
int n24 = bl;
if (!bl2) {
if (n24 != 0) {
n22 = n11 - this.n[n6] - n22;
}
n2 += (n22 * n4 + n11 - 1) / n11;
n24 = (n23 * n5 + n10 - 1) / n10;
}
int n25 = n24;
n3 += n25;
n17 += n25 * n20;
int n26 = n22 * n4 % n11;
if (!bl2) {
if (n26 != 0) {
n15 = (n11 - n22 * n4 % n11 << 16) / n4;
}
n26 = n23 * n5 % n10;
}
if (!bl2) {
if (n26 != 0) {
n16 = (n10 - n23 * n5 % n10 << 16) / n5;
}
n4 = ((this.n[n6] << 16) - n15 + n18 - 1) / n18;
n26 = ((this.o[n6] << 16) - n16 + n19 - 1) / n19;
}
n5 = n26;
}
n21 = n3 * this.a;
}
n11 = n21;
n17 += n2 << 16;
int n28 = n3;
n28 = this.u;
if (!bl2) {
if (n27 < n28) {
n10 = this.u - n3;
n5 -= n10;
n3 = this.u;
n11 += n10 * this.a;
n16 += n19 * n10;
n17 += n20 * n10;
}
int n28 = n3 + n5;
n28 = this.v;
}
if (!bl2) {
if (n27 >= n28) {
n5 -= n3 + n5 - this.v + 1;
}
int n28 = n11 / this.a;
n28 = 1;
}
n10 = n27 & n28;
int n29 = this.y;
if (!bl2) {
if (n29 == 0) {
n10 = 2;
}
n29 = n8;
}
if (n29 == 0xFFFFFF) {
if (this.k[n6] != null) {
if (!bl) {
this.a(this.g, this.k[n6], 0, n15, n16, n11, n4, n5, n18, n19, n13, n7, n17, n20, n10);
return;
}
this.a(this.g, this.k[n6], 0, (this.n[n6] << 16) - n15 - 1, n16, n11, n4, n5, -n18, n19, n13, n7, n17, n20, n10);
return;
}
if (!bl) {
this.a(this.g, this.l[n6], this.m[n6], 0, n15, n16, n11, n4, n5, n18, n19, n13, n7, n17, n20, n10);
return;
}
this.a(this.g, this.l[n6], this.m[n6], 0, (this.n[n6] << 16) - n15 - 1, n16, n11, n4, n5, -n18, n19, n13, n7, n17, n20, n10);
return;
}
if (this.k[n6] != null) {
if (!bl) {
this.a(this.g, this.k[n6], 0, n15, n16, n11, n4, n5, n18, n19, n13, n7, n8, n17, n20, n10);
return;
}
this.a(this.g, this.k[n6], 0, (this.n[n6] << 16) - n15 - 1, n16, n11, n4, n5, -n18, n19, n13, n7, n8, n17, n20, n10);
return;
}
if (!bl) {
this.a(this.g, this.l[n6], this.m[n6], 0, n15, n16, n11, n4, n5, n18, n19, n13, n7, n8, n17, n20, n10);
return;
}
this.a(this.g, this.l[n6], this.m[n6], 0, (this.n[n6] << 16) - n15 - 1, n16, n11, n4, n5, -n18, n19, n13, n7, n8, n17, n20, n10);
return;
}
catch (Exception exception) {
System.out.println(Q[0]);
return;
}
}
private void a(int[] nArray, int[] nArray2, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12, int n13, int n14) {
boolean bl = q.d;
boolean bl2 = false;
int n15 = n11 >> 16 & 0xFF;
int n16 = n11 >> 8 & 0xFF;
int n17 = n11 & 0xFF;
try {
int n18 = n3;
for (int i2 = -n7; i2 < 0; ++i2) {
int n19;
block11: {
block12: {
int n20;
int n21 = (n4 >> 16) * n10;
int n22 = n12 >> 16;
int n23 = n6;
int n24 = n22;
int n25 = this.w;
if (!bl) {
if (n24 < n25) {
n20 = this.w - n22;
n23 -= n20;
n22 = this.w;
n3 += n8 * n20;
}
n24 = n22 + n23;
n25 = this.x;
}
if (!bl) {
if (n24 >= n25) {
n20 = n22 + n23 - this.x;
n23 -= n20;
}
n24 = 1;
n25 = n14;
}
n19 = n14 = n24 - n25;
if (bl) break block11;
if (n19 == 0) break block12;
for (n20 = n22; n20 < n22 + n23; ++n20) {
int n26;
block13: {
block14: {
block16: {
int n27;
int n28;
int n29;
int n30;
int n31;
block15: {
n19 = n2 = nArray2[(n3 >> 16) + n21];
if (bl) break block11;
if (bl) break block13;
if (n19 == 0) break block14;
n31 = n2 >> 16 & 0xFF;
n30 = n2 >> 8 & 0xFF;
n29 = n2 & 0xFF;
n28 = n31;
n27 = n30;
if (bl) break block15;
if (n28 != n27) break block16;
n28 = n30;
n27 = n29;
}
if (n28 != n27) break block16;
nArray[n20 + n5] = (n31 * n15 >> 8 << 16) + (n30 * n16 >> 8 << 8) + (n29 * n17 >> 8);
if (!bl) break block14;
}
nArray[n20 + n5] = n2;
}
n26 = n3 + n8;
}
n3 = n26;
if (!bl) continue;
}
}
n4 += n9;
n3 = n18;
n5 += this.a;
n19 = n12 + n13;
}
n12 = n19;
if (!bl) continue;
}
return;
}
catch (Exception exception) {
System.out.println(Q[3]);
return;
}
}
private void a(int[] nArray, int[] nArray2, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12, int n13, int n14, int n15) {
boolean bl = q.d;
boolean bl2 = false;
int n16 = n11 >> 16 & 0xFF;
int n17 = n11 >> 8 & 0xFF;
int n18 = n11 & 0xFF;
int n19 = n12 >> 16 & 0xFF;
int n20 = n12 >> 8 & 0xFF;
int n21 = n12 & 0xFF;
try {
int n22 = n3;
for (int i2 = -n7; i2 < 0; ++i2) {
int n23;
block11: {
block12: {
int n24;
int n25 = (n4 >> 16) * n10;
int n26 = n13 >> 16;
int n27 = n6;
int n28 = n26;
int n29 = this.w;
if (!bl) {
if (n28 < n29) {
n24 = this.w - n26;
n27 -= n24;
n26 = this.w;
n3 += n8 * n24;
}
n28 = n26 + n27;
n29 = this.x;
}
if (!bl) {
if (n28 >= n29) {
n24 = n26 + n27 - this.x;
n27 -= n24;
}
n28 = 1;
n29 = n15;
}
n23 = n15 = n28 - n29;
if (bl) break block11;
if (n23 == 0) break block12;
for (n24 = n26; n24 < n26 + n27; ++n24) {
int n30;
block13: {
block14: {
block18: {
int n31;
int n32;
int n33;
int n34;
int n35;
block17: {
block15: {
block16: {
n23 = n2 = nArray2[(n3 >> 16) + n25];
if (bl) break block11;
if (bl) break block13;
if (n23 == 0) break block14;
n35 = n2 >> 16 & 0xFF;
n34 = n2 >> 8 & 0xFF;
n33 = n2 & 0xFF;
n32 = n35;
n31 = n34;
if (bl) break block15;
if (n32 != n31) break block16;
n32 = n34;
n31 = n33;
if (bl) break block15;
if (n32 != n31) break block16;
nArray[n24 + n5] = (n35 * n16 >> 8 << 16) + (n34 * n17 >> 8 << 8) + (n33 * n18 >> 8);
if (!bl) break block14;
}
n32 = n35;
n31 = 255;
}
if (bl) break block17;
if (n32 != n31) break block18;
n32 = n34;
n31 = n33;
}
if (n32 != n31) break block18;
nArray[n24 + n5] = (n35 * n19 >> 8 << 16) + (n34 * n20 >> 8 << 8) + (n33 * n21 >> 8);
if (!bl) break block14;
}
nArray[n24 + n5] = n2;
}
n30 = n3 + n8;
}
n3 = n30;
if (!bl) continue;
}
}
n4 += n9;
n3 = n22;
n5 += this.a;
n23 = n13 + n14;
}
n13 = n23;
if (!bl) continue;
}
return;
}
catch (Exception exception) {
System.out.println(Q[3]);
return;
}
}
private void a(int[] nArray, byte[] byArray, int[] nArray2, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12, int n13, int n14) {
boolean bl = q.d;
boolean bl2 = false;
int n15 = n11 >> 16 & 0xFF;
int n16 = n11 >> 8 & 0xFF;
int n17 = n11 & 0xFF;
try {
int n18 = n3;
for (int i2 = -n7; i2 < 0; ++i2) {
int n19;
block11: {
block12: {
int n20;
int n21 = (n4 >> 16) * n10;
int n22 = n12 >> 16;
int n23 = n6;
int n24 = n22;
int n25 = this.w;
if (!bl) {
if (n24 < n25) {
n20 = this.w - n22;
n23 -= n20;
n22 = this.w;
n3 += n8 * n20;
}
n24 = n22 + n23;
n25 = this.x;
}
if (!bl) {
if (n24 >= n25) {
n20 = n22 + n23 - this.x;
n23 -= n20;
}
n24 = 1;
n25 = n14;
}
n19 = n14 = n24 - n25;
if (bl) break block11;
if (n19 == 0) break block12;
for (n20 = n22; n20 < n22 + n23; ++n20) {
int n26;
block13: {
block14: {
block16: {
int n27;
int n28;
int n29;
int n30;
int n31;
block15: {
n19 = n2 = byArray[(n3 >> 16) + n21] & 0xFF;
if (bl) break block11;
if (bl) break block13;
if (n19 == 0) break block14;
n2 = nArray2[n2];
n31 = n2 >> 16 & 0xFF;
n30 = n2 >> 8 & 0xFF;
n29 = n2 & 0xFF;
n28 = n31;
n27 = n30;
if (bl) break block15;
if (n28 != n27) break block16;
n28 = n30;
n27 = n29;
}
if (n28 != n27) break block16;
nArray[n20 + n5] = (n31 * n15 >> 8 << 16) + (n30 * n16 >> 8 << 8) + (n29 * n17 >> 8);
if (!bl) break block14;
}
nArray[n20 + n5] = n2;
}
n26 = n3 + n8;
}
n3 = n26;
if (!bl) continue;
}
}
n4 += n9;
n3 = n18;
n5 += this.a;
n19 = n12 + n13;
}
n12 = n19;
if (!bl) continue;
}
return;
}
catch (Exception exception) {
System.out.println(Q[3]);
return;
}
}
private void a(int[] nArray, byte[] byArray, int[] nArray2, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12, int n13, int n14, int n15) {
boolean bl = q.d;
boolean bl2 = false;
int n16 = n11 >> 16 & 0xFF;
int n17 = n11 >> 8 & 0xFF;
int n18 = n11 & 0xFF;
int n19 = n12 >> 16 & 0xFF;
int n20 = n12 >> 8 & 0xFF;
int n21 = n12 & 0xFF;
try {
int n22 = n3;
for (int i2 = -n7; i2 < 0; ++i2) {
int n23;
block11: {
block12: {
int n24;
int n25 = (n4 >> 16) * n10;
int n26 = n13 >> 16;
int n27 = n6;
int n28 = n26;
int n29 = this.w;
if (!bl) {
if (n28 < n29) {
n24 = this.w - n26;
n27 -= n24;
n26 = this.w;
n3 += n8 * n24;
}
n28 = n26 + n27;
n29 = this.x;
}
if (!bl) {
if (n28 >= n29) {
n24 = n26 + n27 - this.x;
n27 -= n24;
}
n28 = 1;
n29 = n15;
}
n23 = n15 = n28 - n29;
if (bl) break block11;
if (n23 == 0) break block12;
for (n24 = n26; n24 < n26 + n27; ++n24) {
int n30;
block13: {
block14: {
block18: {
int n31;
int n32;
int n33;
int n34;
int n35;
block17: {
block15: {
block16: {
n23 = n2 = byArray[(n3 >> 16) + n25] & 0xFF;
if (bl) break block11;
if (bl) break block13;
if (n23 == 0) break block14;
n2 = nArray2[n2];
n35 = n2 >> 16 & 0xFF;
n34 = n2 >> 8 & 0xFF;
n33 = n2 & 0xFF;
n32 = n35;
n31 = n34;
if (bl) break block15;
if (n32 != n31) break block16;
n32 = n34;
n31 = n33;
if (bl) break block15;
if (n32 != n31) break block16;
nArray[n24 + n5] = (n35 * n16 >> 8 << 16) + (n34 * n17 >> 8 << 8) + (n33 * n18 >> 8);
if (!bl) break block14;
}
n32 = n35;
n31 = 255;
}
if (bl) break block17;
if (n32 != n31) break block18;
n32 = n34;
n31 = n33;
}
if (n32 != n31) break block18;
nArray[n24 + n5] = (n35 * n19 >> 8 << 16) + (n34 * n20 >> 8 << 8) + (n33 * n21 >> 8);
if (!bl) break block14;
}
nArray[n24 + n5] = n2;
}
n30 = n3 + n8;
}
n3 = n30;
if (!bl) continue;
}
}
n4 += n9;
n3 = n22;
n5 += this.a;
n23 = n13 + n14;
}
n13 = n23;
if (!bl) continue;
}
return;
}
catch (Exception exception) {
System.out.println(Q[3]);
return;
}
}
public static void a(String string, int n2, a a2) {
block31: {
int n3;
block32: {
int n4;
boolean[] blArray;
int n5;
block30: {
boolean bl;
block29: {
int n6;
block28: {
int n7;
int n8;
block27: {
bl = q.d;
boolean bl2 = false;
n6 = 0;
boolean bl3 = false;
string = string.toLowerCase();
int n9 = string.startsWith(Q[5]);
if (!bl) {
if (n9 != 0) {
string = string.substring(9);
}
n9 = string.startsWith("h");
}
if (!bl) {
if (n9 != 0) {
string = string.substring(1);
}
n9 = string.startsWith("f");
}
if (!bl) {
if (n9 != 0) {
string = string.substring(1);
n6 = 1;
}
n9 = string.startsWith("d");
}
if (!bl) {
if (n9 != 0) {
string = string.substring(1);
bl3 = true;
}
n9 = string.endsWith(Q[6]);
}
if (!bl) {
if (n9 != 0) {
string = string.substring(0, string.length() - 3);
}
n9 = 0;
}
n8 = n9;
int n10 = string.endsWith("b");
if (!bl) {
if (n10 != 0) {
n8 = 1;
string = string.substring(0, string.length() - 1);
}
n10 = string.endsWith("p");
}
if (!bl) {
if (n10 != 0) {
string = string.substring(0, string.length() - 1);
}
n10 = Integer.parseInt(string);
}
n3 = n10;
Font font = new Font(Q[4], n8, n3);
FontMetrics fontMetrics = a2.getFontMetrics(font);
String string2 = Q[7];
N = 855;
for (n7 = 0; n7 < 95; ++n7) {
h.a(font, fontMetrics, Q[7].charAt(n7), n7, a2, n2, bl3);
if (!bl) {
if (!bl) continue;
}
break block27;
}
h.z[n2] = new byte[N];
}
for (n7 = 0; n7 < N; ++n7) {
h.z[n2][n7] = O[n7];
if (!bl) {
if (!bl) continue;
}
break block28;
}
n5 = n8;
if (bl) break block29;
if (n5 != 1) break block28;
n5 = M[n2];
if (bl) break block29;
if (n5 != 0) {
h.M[n2] = false;
h.a("f" + n3 + "p", n2, a2);
}
}
n5 = n6;
}
if (bl) break block30;
if (n5 == 0) break block31;
blArray = M;
n4 = n2;
if (bl) break block32;
n5 = blArray[n4];
}
if (n5 != 0) break block31;
blArray = M;
n4 = n2;
}
blArray[n4] = false;
h.a("d" + n3 + "p", n2, a2);
}
}
public static void a(Font font, FontMetrics fontMetrics, char n2, int n3, a a2, int n4, boolean n5) {
int n6;
int n7;
int n8;
int n9;
int n10;
int n11;
int n12;
int[] nArray;
int n13;
boolean bl;
block35: {
int n14;
int n15;
int n16;
int n17;
int n18;
int n19;
block34: {
int n20;
block33: {
int n21;
block32: {
int n22;
block36: {
block31: {
bl = q.d;
boolean bl2 = false;
n19 = n13 = fontMetrics.charWidth((char)n2);
n22 = n5;
if (bl) break block36;
if (n22 == 0) break block31;
try {
block38: {
int n23;
int n24;
block46: {
block45: {
block44: {
block43: {
block42: {
block41: {
block40: {
block39: {
block37: {
n24 = n2;
n23 = 47;
if (!bl) {
if (n24 == n23) {
n5 = 0;
}
n24 = n2;
n23 = 102;
}
if (bl) break block37;
if (n24 == n23) break block38;
n24 = n2;
n23 = 116;
}
if (bl) break block39;
if (n24 == n23) break block38;
n24 = n2;
n23 = 119;
}
if (bl) break block40;
if (n24 == n23) break block38;
n24 = n2;
n23 = 118;
}
if (bl) break block41;
if (n24 == n23) break block38;
n24 = n2;
n23 = 107;
}
if (bl) break block42;
if (n24 == n23) break block38;
n24 = n2;
n23 = 120;
}
if (bl) break block43;
if (n24 == n23) break block38;
n24 = n2;
n23 = 121;
}
if (bl) break block44;
if (n24 == n23) break block38;
n24 = n2;
n23 = 65;
}
if (bl) break block45;
if (n24 == n23) break block38;
n24 = n2;
n23 = 86;
}
if (bl) break block46;
if (n24 == n23) break block38;
n24 = n2;
n23 = 87;
}
if (n24 != n23) break block31;
}
++n13;
}
catch (Exception exception) {
// empty catch block
}
}
n22 = fontMetrics.getMaxAscent();
}
n18 = n22;
n17 = fontMetrics.getMaxAscent() + fontMetrics.getMaxDescent();
n16 = fontMetrics.getHeight();
Image image = a2.createImage(n13, n17);
Graphics graphics = image.getGraphics();
graphics.setColor(Color.black);
graphics.fillRect(0, 0, n13, n17);
graphics.setColor(Color.white);
graphics.setFont(font);
graphics.drawString(String.valueOf((char)n2), 0, n18);
int n25 = n5;
if (!bl) {
if (n25 != 0) {
graphics.drawString(String.valueOf((char)n2), 1, n18);
}
n25 = n13 * n17;
}
nArray = new int[n25];
PixelGrabber pixelGrabber = new PixelGrabber(image, 0, 0, n13, n17, nArray, 0, n13);
try {
pixelGrabber.grabPixels();
}
catch (InterruptedException interruptedException) {
return;
}
image.flush();
image = null;
n12 = 0;
n15 = 0;
n11 = n13;
n10 = n17;
n9 = 0;
block4: while (true) {
int n26 = n9;
block5: while (n26 < n17) {
n21 = 0;
if (bl) break block32;
for (n8 = v149491; n8 < n13; ++n8) {
n7 = nArray[n8 + n9 * n13];
n26 = n7 & 0xFFFFFF;
if (bl) continue block5;
if (!bl) {
if (n26 == 0 && !bl) continue;
int n27 = n15 = n9;
}
if (!bl) break block4;
if (!bl) continue;
}
++n9;
if (!bl) continue block4;
}
break;
}
n21 = 0;
}
n9 = n21;
block7: while (true) {
int n28 = n9;
block8: while (n28 < n13) {
n20 = 0;
if (bl) break block33;
for (n8 = v149517; n8 < n17; ++n8) {
n7 = nArray[n9 + n8 * n13];
n28 = n7 & 0xFFFFFF;
if (bl) continue block8;
if (!bl) {
if (n28 == 0 && !bl) continue;
int n29 = n12 = n9;
}
if (!bl) break block7;
if (!bl) continue;
}
++n9;
if (!bl) continue block7;
}
break;
}
n20 = n17 - 1;
}
n9 = n20;
block10: while (true) {
int n30 = n9;
block11: while (n30 >= 0) {
n14 = 0;
if (bl) break block34;
for (n8 = v149544; n8 < n13; ++n8) {
n7 = nArray[n8 + n9 * n13];
n30 = n7 & 0xFFFFFF;
if (bl) continue block11;
if (!bl) {
if (n30 == 0 && !bl) continue;
int n31 = n10 = n9 + 1;
}
if (!bl) break block10;
if (!bl) continue;
}
--n9;
if (!bl) continue block10;
}
break;
}
n14 = n13 - 1;
}
n9 = n14;
block13: while (true) {
int n32 = n9;
block14: while (n32 >= 0) {
n6 = 0;
if (bl) break block35;
for (n8 = v149653; n8 < n17; ++n8) {
n7 = nArray[n9 + n8 * n13];
n32 = n7 & 0xFFFFFF;
if (bl) continue block14;
if (!bl) {
if (n32 == 0 && !bl) continue;
int n33 = n11 = n9 + 1;
}
if (!bl) break block13;
if (!bl) continue;
}
--n9;
if (!bl) continue block13;
}
break;
}
h.O[n3 * 9] = (byte)(N / 16384);
h.O[n3 * 9 + 1] = (byte)(N / 128 & 0x7F);
h.O[n3 * 9 + 2] = (byte)(N & 0x7F);
h.O[n3 * 9 + 3] = (byte)(n11 - n12);
h.O[n3 * 9 + 4] = (byte)(n10 - n15);
h.O[n3 * 9 + 5] = (byte)n12;
h.O[n3 * 9 + 6] = (byte)(n18 - n15);
h.O[n3 * 9 + 7] = (byte)n19;
h.O[n3 * 9 + 8] = (byte)n16;
n6 = n15;
}
n9 = n6;
block16: while (true) {
int n34 = n9;
int n35 = n10;
block17: while (n34 < n35) {
n8 = n12;
while (n8 < n11) {
n7 = nArray[n8 + n9 * n13] & 0xFF;
if (!bl) {
n34 = n7;
n35 = 30;
if (bl) continue block17;
if (n34 > n35 && n7 < 230) {
h.M[n4] = true;
}
h.O[h.N++] = (byte)n7;
++n8;
}
if (!bl) continue;
}
++n9;
if (!bl) continue block16;
}
break;
}
}
public void a(String string, int n2, int n3, int n4, int n5) {
this.c(string, n2 - this.a(string, n4), n3, n4, n5);
}
public void b(String string, int n2, int n3, int n4, int n5) {
this.c(string, n2 - this.a(string, n4) / 2, n3, n4, n5);
}
public void a(String string, int n2, int n3, int n4, int n5, int n6) {
boolean bl = q.d;
boolean bl2 = false;
try {
int n7;
int n8;
block15: {
int n9 = 0;
byte[] byArray = z[n4];
n8 = 0;
int n10 = 0;
for (int i2 = 0; i2 < string.length(); ++i2) {
block18: {
int n11;
int n12;
block19: {
block20: {
block16: {
block17: {
n7 = string.charAt(i2);
if (bl) break block15;
n12 = 64;
if (bl) break block16;
if (n7 != n12) break block17;
n11 = i2 + 4;
n12 = string.length();
if (bl) break block16;
if (n11 >= n12) break block17;
n11 = string.charAt(i2 + 4);
n12 = 64;
if (bl) break block16;
if (n11 != n12) break block17;
i2 += 4;
if (!bl) break block18;
}
n11 = string.charAt(i2);
n12 = 126;
}
if (bl) break block19;
if (n11 != n12) break block20;
n11 = i2 + 4;
n12 = string.length();
if (bl) break block19;
if (n11 >= n12) break block20;
n11 = string.charAt(i2 + 4);
n12 = 126;
if (bl) break block19;
if (n11 != n12) break block20;
i2 += 4;
if (!bl) break block18;
}
n11 = n9;
n12 = byArray[A[string.charAt(i2)] + 7];
}
n9 = n11 + n12;
}
int n13 = string.charAt(i2);
int n14 = 32;
if (!bl) {
if (n13 == n14) {
n10 = i2;
}
n13 = string.charAt(i2);
n14 = 37;
}
if (!bl) {
if (n13 == n14) {
n10 = i2;
n9 = 1000;
}
n13 = n9;
n14 = n6;
}
if (!bl) {
if (n13 <= n14) continue;
n13 = n10;
n14 = n8;
}
if (!bl) {
if (n13 <= n14) {
n10 = i2;
}
this.b(string.substring(n8, n10), n2, n3, n4, n5);
n9 = 0;
n8 = i2 = n10 + 1;
n13 = n3;
n14 = this.c(n4);
}
n3 = n13 + n14;
if (!bl) continue;
}
n7 = n9;
}
if (n7 > 0) {
this.b(string.substring(n8), n2, n3, n4, n5);
return;
}
}
catch (Exception exception) {
System.out.println(Q[28] + exception);
exception.printStackTrace();
}
}
public void c(String string, int n2, int n3, int n4, int n5) {
boolean bl = q.d;
boolean bl2 = false;
try {
byte[] byArray = z[n4];
for (int i2 = 0; i2 < string.length(); ++i2) {
int n6;
block66: {
int n7;
block67: {
block64: {
block65: {
int n8;
block55: {
block56: {
block57: {
block58: {
int n9;
block63: {
int n10;
block62: {
char c2;
block61: {
block60: {
char c3;
block59: {
int n11;
block17: {
block18: {
block21: {
int n12;
block54: {
block52: {
block53: {
block50: {
block51: {
block48: {
block49: {
block46: {
block47: {
block44: {
block45: {
block42: {
block43: {
block40: {
block41: {
block38: {
block39: {
block36: {
block37: {
block34: {
block35: {
block32: {
block33: {
block30: {
block31: {
block28: {
block29: {
block26: {
block27: {
block24: {
block25: {
block22: {
block23: {
block19: {
block20: {
int n11 = string.charAt(i2);
n11 = 64;
if (bl) break block17;
if (n8 != n11) break block18;
int n11 = i2 + 4;
n11 = string.length();
if (bl) break block17;
if (n8 >= n11) break block18;
int n11 = string.charAt(i2 + 4);
n11 = 64;
if (bl) break block17;
if (n8 != n11) break block18;
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[23]);
if (bl) break block19;
if (n12 == 0) break block20;
n5 = 0xFF0000;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[10]);
}
if (bl) break block22;
if (n12 == 0) break block23;
n5 = 16748608;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[13]);
}
if (bl) break block24;
if (n12 == 0) break block25;
n5 = 0xFFFF00;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[25]);
}
if (bl) break block26;
if (n12 == 0) break block27;
n5 = 65280;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[26]);
}
if (bl) break block28;
if (n12 == 0) break block29;
n5 = 255;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[24]);
}
if (bl) break block30;
if (n12 == 0) break block31;
n5 = 65535;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[20]);
}
if (bl) break block32;
if (n12 == 0) break block33;
n5 = 0xFF00FF;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[21]);
}
if (bl) break block34;
if (n12 == 0) break block35;
n5 = 0xFFFFFF;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[9]);
}
if (bl) break block36;
if (n12 == 0) break block37;
n5 = 0;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[14]);
}
if (bl) break block38;
if (n12 == 0) break block39;
n5 = 0xC00000;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[17]);
}
if (bl) break block40;
if (n12 == 0) break block41;
n5 = 16748608;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[22]);
}
if (bl) break block42;
if (n12 == 0) break block43;
n5 = (int)(Math.random() * 1.6777215E7);
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[27]);
}
if (bl) break block44;
if (n12 == 0) break block45;
n5 = 0xFFB000;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[15]) ? 1 : 0;
}
if (bl) break block46;
if (n12 == 0) break block47;
n5 = 0xFF7000;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[12]) ? 1 : 0;
}
if (bl) break block48;
if (n12 == 0) break block49;
n5 = 0xFF3000;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[11]) ? 1 : 0;
}
if (bl) break block50;
if (n12 == 0) break block51;
n5 = 0xC0FF00;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[16]) ? 1 : 0;
}
if (bl) break block52;
if (n12 == 0) break block53;
n5 = 0x80FF00;
if (!bl) break block21;
}
n12 = string.substring(i2 + 1, i2 + 4).equalsIgnoreCase(Q[19]) ? 1 : 0;
}
if (bl) break block54;
if (n12 == 0) break block21;
n12 = 0x40FF00;
}
n5 = n12;
}
i2 += 4;
if (!bl) continue;
}
n8 = string.charAt(i2);
if (bl) break block55;
n11 = 126;
}
if (n8 != n11) break block56;
n8 = i2 + 4;
if (bl) break block55;
if (n8 >= string.length()) break block56;
n8 = string.charAt(i2 + 4);
if (bl) break block55;
if (n8 != 126) break block56;
n7 = string.charAt(i2 + 1);
c3 = string.charAt(i2 + 2);
c2 = string.charAt(i2 + 3);
if (bl) break block57;
if (n7 < 48) break block58;
int n10 = n7;
n10 = 57;
if (bl) break block59;
if (n9 > n10) break block58;
int n10 = c3;
n10 = 48;
}
if (bl) break block60;
if (n9 < n10) break block58;
int n10 = c3;
n10 = 57;
}
if (bl) break block61;
if (n9 > n10) break block58;
int n10 = c2;
n10 = 48;
}
if (bl) break block62;
if (n9 < n10) break block58;
n9 = c2;
if (bl) break block63;
n10 = 57;
}
if (n9 > n10) break block58;
n9 = Integer.parseInt(string.substring(i2 + 1, i2 + 4));
}
n2 = n9;
}
i2 += 4;
}
if (!bl) continue;
}
n8 = A[string.charAt(i2)];
}
n7 = n8;
n6 = this.B;
if (bl) break block64;
if (n6 == 0) break block65;
n6 = M[n4];
if (bl) break block64;
if (n6 != 0) break block65;
n6 = n5;
if (bl) break block64;
if (n6 != 0) {
this.a(n7, n2 + 1, n3, 0, byArray, M[n4]);
}
}
n6 = this.B;
}
if (bl) break block66;
if (n6 == 0) break block67;
n6 = M[n4];
if (bl) break block66;
if (n6 != 0) break block67;
n6 = n5;
if (bl) break block66;
if (n6 != 0) {
this.a(n7, n2, n3 + 1, 0, byArray, M[n4]);
}
}
this.a(n7, n2, n3, n5, byArray, M[n4]);
n6 = n2 + byArray[n7 + 7];
}
n2 = n6;
if (!bl) continue;
}
return;
}
catch (Exception exception) {
System.out.println(Q[18] + exception);
exception.printStackTrace();
return;
}
}
private void a(int n2, int n3, int n4, int n5, byte[] byArray, boolean bl) {
block16: {
int n6;
int n7;
int n8;
int n9;
int n10;
int n11;
int n12;
block17: {
boolean bl2;
block15: {
block14: {
int n13;
int n14;
int n15;
block13: {
bl2 = q.d;
n15 = n3 + byArray[n2 + 5];
int n16 = n4 - byArray[n2 + 6];
n12 = byArray[n2 + 3];
n11 = byArray[n2 + 4];
n10 = byArray[n2] * 16384 + byArray[n2 + 1] * 128 + byArray[n2 + 2];
n9 = n15 + n16 * this.a;
n8 = this.a - n12;
n7 = 0;
n6 = n16;
n14 = this.u;
if (!bl2) {
if (n6 < n14) {
n13 = this.u - n16;
n11 -= n13;
n16 = this.u;
n10 += n13 * n12;
n9 += n13 * this.a;
}
n6 = n16 + n11;
n14 = this.v;
}
if (!bl2) {
if (n6 >= n14) {
n11 -= n16 + n11 - this.v + 1;
}
n6 = n15;
n14 = this.w;
}
if (bl2) break block13;
if (n6 < n14) {
n13 = this.w - n15;
n12 -= n13;
n15 = this.w;
n10 += n13;
n9 += n13;
n7 = 0 + n13;
n8 += n13;
}
n6 = n15 + n12;
if (bl2) break block14;
n14 = this.x;
}
if (n6 >= n14) {
n13 = n15 + n12 - this.x + 1;
n12 -= n13;
n7 += n13;
n8 += n13;
}
n6 = n12;
}
if (bl2) break block15;
if (n6 <= 0) break block16;
n6 = n11;
}
if (bl2) break block17;
if (n6 <= 0) break block16;
n6 = bl ? 1 : 0;
}
if (n6 != 0) {
this.b(this.g, byArray, n5, n10, n9, n12, n11, n8, n7);
return;
}
this.a(this.g, byArray, n5, n10, n9, n12, n11, n8, n7);
}
}
private void a(int[] nArray, byte[] byArray, int n2, int n3, int n4, int n5, int n6, int n7, int n8) {
boolean bl = q.d;
boolean bl2 = false;
try {
int n9 = -(n5 >> 2);
n5 = -(n5 & 3);
for (int i2 = -n6; i2 < 0; ++i2) {
int n10;
block19: {
int n11;
block18: {
int n12;
for (n11 = n9; n11 < 0; ++n11) {
block25: {
block24: {
block23: {
block22: {
block21: {
block20: {
n12 = byArray[n3++];
if (bl) break block18;
if (n12 == 0) break block20;
nArray[n4++] = n2;
if (!bl) break block21;
}
++n4;
}
if (byArray[n3++] == 0) break block22;
nArray[n4++] = n2;
if (!bl) break block23;
}
++n4;
}
if (byArray[n3++] == 0) break block24;
nArray[n4++] = n2;
if (!bl) break block25;
}
++n4;
}
if (byArray[n3++] != 0) {
nArray[n4++] = n2;
if (!bl) continue;
}
++n4;
if (!bl) continue;
}
n12 = n11 = n5;
}
while (n11 < 0) {
block27: {
block26: {
n10 = byArray[n3++];
if (bl) break block19;
if (n10 == 0) break block26;
nArray[n4++] = n2;
if (!bl) break block27;
}
++n4;
}
++n11;
if (!bl) continue;
}
n4 += n7;
n10 = n3 + n8;
}
n3 = n10;
if (!bl) continue;
}
return;
}
catch (Exception exception) {
System.out.println(Q[29] + exception);
exception.printStackTrace();
return;
}
}
private void b(int[] nArray, byte[] byArray, int n2, int n3, int n4, int n5, int n6, int n7, int n8) {
boolean bl = q.d;
boolean bl2 = false;
for (int i2 = -n6; i2 < 0; ++i2) {
int n9;
int n10;
block6: {
for (int i3 = -n5; i3 < 0; ++i3) {
block8: {
int n11;
int n12;
block9: {
int n13;
block7: {
n10 = n12 = byArray[n3++] & 0xFF;
n9 = 30;
if (bl) break block6;
if (bl) break block7;
if (n10 <= n9) break block8;
n11 = n12;
if (bl) break block9;
n13 = 230;
}
if (n11 >= n13) {
nArray[n4++] = n2;
if (!bl) continue;
}
n11 = nArray[n4];
}
int n14 = n11;
nArray[n4++] = ((n2 & 0xFF00FF) * n12 + (n14 & 0xFF00FF) * (256 - n12) & 0xFF00FF00) + ((n2 & 0xFF00) * n12 + (n14 & 0xFF00) * (256 - n12) & 0xFF0000) >> 8;
if (!bl) continue;
}
++n4;
if (!bl) continue;
}
n4 += n7;
n10 = n3;
n9 = n8;
}
n3 = n10 + n9;
if (!bl) continue;
}
}
public int c(int n2) {
int n3;
block18: {
int n4;
block17: {
boolean bl = q.d;
n3 = n2;
if (!bl) {
if (n3 == 0) {
return 12;
}
n3 = n2;
}
n4 = 1;
if (!bl) {
if (n3 == n4) {
return 14;
}
n3 = n2;
n4 = 2;
}
if (!bl) {
if (n3 == n4) {
return 14;
}
n3 = n2;
n4 = 3;
}
if (!bl) {
if (n3 == n4) {
return 15;
}
n3 = n2;
n4 = 4;
}
if (!bl) {
if (n3 == n4) {
return 15;
}
n3 = n2;
n4 = 5;
}
if (!bl) {
if (n3 == n4) {
return 19;
}
n3 = n2;
n4 = 6;
}
if (bl) break block17;
if (n3 == n4) {
return 24;
}
n3 = n2;
if (bl) break block18;
n4 = 7;
}
if (n3 == n4) {
return 29;
}
n3 = this.d(n2);
}
return n3;
}
public int d(int n2) {
int n3 = n2;
if (!q.d) {
if (n3 == 0) {
return z[n2][8] - 2;
}
n3 = z[n2][8] - 1;
}
return n3;
}
/*
* Unable to fully structure code
*/
public int a(String var1_1, int var2_2) {
block7: {
var7_3 = q.d;
var3_4 = false;
var4_5 = 0;
var5_6 = h.z[var2_2];
for (var6_7 = 0; var6_7 < var1_1.length(); ++var6_7) {
block10: {
block11: {
block8: {
block9: {
v0 = var1_1.charAt(var6_7);
if (var7_3) break block7;
v1 = 64;
if (var7_3) break block8;
if (v0 != v1) break block9;
v2 = var6_7 + 4;
v1 = var1_1.length();
if (var7_3) break block8;
if (v2 < v1) {
v2 = var1_1.charAt(var6_7 + 4);
v1 = 64;
if (!var7_3) {
if (v2 == v1) {
var6_7 += 4;
if (!var7_3) continue;
} else {
** GOTO lbl23
}
} else {
** GOTO lbl22
}
}
break block9;
lbl22:
// 2 sources
break block8;
}
v2 = var1_1.charAt(var6_7);
v1 = 126;
}
if (var7_3) break block10;
if (v2 != v1) break block11;
v2 = var6_7 + 4;
v1 = var1_1.length();
if (var7_3) break block10;
if (v2 < v1) {
v2 = var1_1.charAt(var6_7 + 4);
v1 = 126;
if (!var7_3) {
if (v2 == v1) {
var6_7 += 4;
if (!var7_3) continue;
} else {
** GOTO lbl41
}
} else {
** GOTO lbl40
}
}
break block11;
lbl40:
// 2 sources
break block10;
}
v2 = var4_5;
v1 = var5_6[h.A[var1_1.charAt(var6_7)] + 7];
}
var4_5 = v2 + v1;
if (!var7_3) continue;
}
v0 = var4_5;
}
return v0;
}
public boolean imageUpdate(Image image, int n2, int n3, int n4, int n5, int n6) {
return true;
}
/*
* Handled impossible loop by duplicating code
* Enabled aggressive block sorting
*/
static {
char[] cArray;
String[] stringArray;
block332: {
int n2;
int n3;
char[] cArray2;
int n4;
block331: {
char[] cArray3;
Object var3;
block330: {
int n5;
int n6;
char[] cArray4;
block329: {
char[] cArray5;
block328: {
int n7;
int n8;
char[] cArray6;
block327: {
char[] cArray7;
block326: {
int n9;
int n10;
char[] cArray8;
block325: {
char[] cArray9;
block324: {
int n11;
int n12;
char[] cArray10;
block323: {
char[] cArray11;
block322: {
int n13;
int n14;
char[] cArray12;
block321: {
char[] cArray13;
block320: {
int n15;
int n16;
char[] cArray14;
block319: {
char[] cArray15;
block318: {
int n17;
int n18;
char[] cArray16;
block317: {
char[] cArray17;
block316: {
int n19;
int n20;
char[] cArray18;
block315: {
char[] cArray19;
block314: {
int n21;
int n22;
char[] cArray20;
block313: {
char[] cArray21;
block312: {
int n23;
int n24;
char[] cArray22;
block311: {
char[] cArray23;
block310: {
int n25;
int n26;
char[] cArray24;
block309: {
char[] cArray25;
block308: {
int n27;
int n28;
char[] cArray26;
block307: {
char[] cArray27;
block306: {
int n29;
int n30;
char[] cArray28;
block305: {
char[] cArray29;
block304: {
int n31;
int n32;
char[] cArray30;
block303: {
char[] cArray31;
block302: {
int n33;
int n34;
char[] cArray32;
block301: {
char[] cArray33;
block300: {
int n35;
int n36;
char[] cArray34;
block299: {
char[] cArray35;
block298: {
int n37;
int n38;
char[] cArray36;
block297: {
char[] cArray37;
block296: {
int n39;
int n40;
char[] cArray38;
block295: {
char[] cArray39;
block294: {
int n41;
int n42;
char[] cArray40;
block293: {
char[] cArray41;
block292: {
int n43;
int n44;
char[] cArray42;
block291: {
char[] cArray43;
block290: {
int n45;
int n46;
char[] cArray44;
block289: {
char[] cArray45;
block288: {
int n47;
int n48;
char[] cArray46;
block287: {
char[] cArray47;
block286: {
int n49;
int n50;
char[] cArray48;
block285: {
char[] cArray49;
block284: {
int n51;
int n52;
char[] cArray50;
block283: {
char[] cArray51;
block282: {
int n53;
int n54;
char[] cArray52;
block281: {
char[] cArray53;
block280: {
int n55;
int n56;
char[] cArray54;
block279: {
char[] cArray55;
block278: {
int n57;
int n58;
char[] cArray56;
block277: {
char[] cArray57;
block276: {
int n59;
int n60;
char[] cArray58;
block275: {
char[] cArray59;
block274: {
int n61;
int n62;
char[] cArray60;
block273: {
stringArray = new String[30];
var3 = null;
char[] cArray61 = "ik\u0000g2,p\u001c(3|k\u001b|%,z\u001ea0|p\u001co`~v\u0007|)b|".toCharArray();
n4 = 0;
int n63 = cArray61.length;
cArray60 = cArray61;
n62 = n63;
if (n63 <= 1) break block273;
cArray59 = cArray60;
n61 = n62;
if (n62 <= n4) break block274;
}
do {
char[] cArray62 = cArray60;
char[] cArray63 = cArray60;
int n64 = n4;
while (true) {
int n65;
char c2 = cArray62[n64];
switch (n4 % 5) {
case 0: {
n65 = 12;
break;
}
case 1: {
n65 = 25;
break;
}
case 2: {
n65 = 114;
break;
}
case 3: {
n65 = 8;
break;
}
default: {
n65 = 64;
}
}
cArray62[n64] = (char)(c2 ^ n65);
++n4;
cArray60 = cArray63;
n62 = n62;
if (n62 != 0) break;
cArray63 = cArray60;
n61 = n62;
n64 = n62;
cArray62 = cArray60;
}
cArray59 = cArray60;
n61 = n62;
} while (n62 > n4);
}
stringArray[0] = new String(cArray59).intern();
var3 = null;
char[] cArray64 = "ik\u0000g2,p\u001c(0`v\u0006W3ox\u001em".toCharArray();
n4 = 0;
int n66 = cArray64.length;
cArray58 = cArray64;
n60 = n66;
if (n66 <= 1) break block275;
cArray57 = cArray58;
n59 = n60;
if (n60 <= n4) break block276;
}
do {
char[] cArray65 = cArray58;
char[] cArray66 = cArray58;
int n67 = n4;
while (true) {
int n68;
char c3 = cArray65[n67];
switch (n4 % 5) {
case 0: {
n68 = 12;
break;
}
case 1: {
n68 = 25;
break;
}
case 2: {
n68 = 114;
break;
}
case 3: {
n68 = 8;
break;
}
default: {
n68 = 64;
}
}
cArray65[n67] = (char)(c3 ^ n68);
++n4;
cArray58 = cArray66;
n60 = n60;
if (n60 != 0) break;
cArray66 = cArray58;
n59 = n60;
n67 = n60;
cArray65 = cArray58;
}
cArray57 = cArray58;
n59 = n60;
} while (n60 > n4);
}
stringArray[1] = new String(cArray57).intern();
var3 = null;
char[] cArray67 = "X]>Z".toCharArray();
n4 = 0;
int n69 = cArray67.length;
cArray56 = cArray67;
n58 = n69;
if (n69 <= 1) break block277;
cArray55 = cArray56;
n57 = n58;
if (n58 <= n4) break block278;
}
do {
char[] cArray68 = cArray56;
char[] cArray69 = cArray56;
int n70 = n4;
while (true) {
int n71;
char c4 = cArray68[n70];
switch (n4 % 5) {
case 0: {
n71 = 12;
break;
}
case 1: {
n71 = 25;
break;
}
case 2: {
n71 = 114;
break;
}
case 3: {
n71 = 8;
break;
}
default: {
n71 = 64;
}
}
cArray68[n70] = (char)(c4 ^ n71);
++n4;
cArray56 = cArray69;
n58 = n58;
if (n58 != 0) break;
cArray69 = cArray56;
n57 = n58;
n70 = n58;
cArray68 = cArray56;
}
cArray55 = cArray56;
n57 = n58;
} while (n58 > n4);
}
stringArray[2] = new String(cArray55).intern();
var3 = null;
char[] cArray70 = "ik\u0000g2,p\u001c(4~x\u001c{0mk\u0017f4,j\u0002z)x|Rx,cmRz/ym\u001bf%".toCharArray();
n4 = 0;
int n72 = cArray70.length;
cArray54 = cArray70;
n56 = n72;
if (n72 <= 1) break block279;
cArray53 = cArray54;
n55 = n56;
if (n56 <= n4) break block280;
}
do {
char[] cArray71 = cArray54;
char[] cArray72 = cArray54;
int n73 = n4;
while (true) {
int n74;
char c5 = cArray71[n73];
switch (n4 % 5) {
case 0: {
n74 = 12;
break;
}
case 1: {
n74 = 25;
break;
}
case 2: {
n74 = 114;
break;
}
case 3: {
n74 = 8;
break;
}
default: {
n74 = 64;
}
}
cArray71[n73] = (char)(c5 ^ n74);
++n4;
cArray54 = cArray72;
n56 = n56;
if (n56 != 0) break;
cArray72 = cArray54;
n55 = n56;
n73 = n56;
cArray71 = cArray54;
}
cArray53 = cArray54;
n55 = n56;
} while (n56 > n4);
}
stringArray[3] = new String(cArray53).intern();
var3 = null;
char[] cArray73 = "D|\u001e~%xp\u0011i".toCharArray();
n4 = 0;
int n75 = cArray73.length;
cArray52 = cArray73;
n54 = n75;
if (n75 <= 1) break block281;
cArray51 = cArray52;
n53 = n54;
if (n54 <= n4) break block282;
}
do {
char[] cArray74 = cArray52;
char[] cArray75 = cArray52;
int n76 = n4;
while (true) {
int n77;
char c6 = cArray74[n76];
switch (n4 % 5) {
case 0: {
n77 = 12;
break;
}
case 1: {
n77 = 25;
break;
}
case 2: {
n77 = 114;
break;
}
case 3: {
n77 = 8;
break;
}
default: {
n77 = 64;
}
}
cArray74[n76] = (char)(c6 ^ n77);
++n4;
cArray52 = cArray75;
n54 = n54;
if (n54 != 0) break;
cArray75 = cArray52;
n53 = n54;
n76 = n54;
cArray74 = cArray52;
}
cArray51 = cArray52;
n53 = n54;
} while (n54 > n4);
}
stringArray[4] = new String(cArray51).intern();
var3 = null;
char[] cArray76 = "d|\u001e~%xp\u0011i".toCharArray();
n4 = 0;
int n78 = cArray76.length;
cArray50 = cArray76;
n52 = n78;
if (n78 <= 1) break block283;
cArray49 = cArray50;
n51 = n52;
if (n52 <= n4) break block284;
}
do {
char[] cArray77 = cArray50;
char[] cArray78 = cArray50;
int n79 = n4;
while (true) {
int n80;
char c7 = cArray77[n79];
switch (n4 % 5) {
case 0: {
n80 = 12;
break;
}
case 1: {
n80 = 25;
break;
}
case 2: {
n80 = 114;
break;
}
case 3: {
n80 = 8;
break;
}
default: {
n80 = 64;
}
}
cArray77[n79] = (char)(c7 ^ n80);
++n4;
cArray50 = cArray78;
n52 = n52;
if (n52 != 0) break;
cArray78 = cArray50;
n51 = n52;
n79 = n52;
cArray77 = cArray50;
}
cArray49 = cArray50;
n51 = n52;
} while (n52 > n4);
}
stringArray[5] = new String(cArray49).intern();
var3 = null;
char[] cArray79 = "\"s\u0014".toCharArray();
n4 = 0;
int n81 = cArray79.length;
cArray48 = cArray79;
n50 = n81;
if (n81 <= 1) break block285;
cArray47 = cArray48;
n49 = n50;
if (n50 <= n4) break block286;
}
do {
char[] cArray80 = cArray48;
char[] cArray81 = cArray48;
int n82 = n4;
while (true) {
int n83;
char c8 = cArray80[n82];
switch (n4 % 5) {
case 0: {
n83 = 12;
break;
}
case 1: {
n83 = 25;
break;
}
case 2: {
n83 = 114;
break;
}
case 3: {
n83 = 8;
break;
}
default: {
n83 = 64;
}
}
cArray80[n82] = (char)(c8 ^ n83);
++n4;
cArray48 = cArray81;
n50 = n50;
if (n50 != 0) break;
cArray81 = cArray48;
n49 = n50;
n82 = n50;
cArray80 = cArray48;
}
cArray47 = cArray48;
n49 = n50;
} while (n50 > n4);
}
stringArray[6] = new String(cArray47).intern();
var3 = null;
char[] cArray82 = "M[1L\u0005J^:A\nGU?F\u000f\\H [\u0014YO%P\u0019Vx\u0010k$i\u007f\u0015`)fr\u001ee.ci\u0003z3xl\u0004\u007f8ucB9r?-G>w4 S*\u00e3(<,.j$0_W}'B\tU=7#UHcr5N&~#&.t`".toCharArray();
n4 = 0;
int n84 = cArray82.length;
cArray46 = cArray82;
n48 = n84;
if (n84 <= 1) break block287;
cArray45 = cArray46;
n47 = n48;
if (n48 <= n4) break block288;
}
do {
char[] cArray83 = cArray46;
char[] cArray84 = cArray46;
int n85 = n4;
while (true) {
int n86;
char c9 = cArray83[n85];
switch (n4 % 5) {
case 0: {
n86 = 12;
break;
}
case 1: {
n86 = 25;
break;
}
case 2: {
n86 = 114;
break;
}
case 3: {
n86 = 8;
break;
}
default: {
n86 = 64;
}
}
cArray83[n85] = (char)(c9 ^ n86);
++n4;
cArray46 = cArray84;
n48 = n48;
if (n48 != 0) break;
cArray84 = cArray46;
n47 = n48;
n85 = n48;
cArray83 = cArray46;
}
cArray45 = cArray46;
n47 = n48;
} while (n48 > n4);
}
stringArray[7] = new String(cArray45).intern();
var3 = null;
char[] cArray85 = "ik\u0000g2,p\u001c(4~x\u001cW3ox\u001em".toCharArray();
n4 = 0;
int n87 = cArray85.length;
cArray44 = cArray85;
n46 = n87;
if (n87 <= 1) break block289;
cArray43 = cArray44;
n45 = n46;
if (n46 <= n4) break block290;
}
do {
char[] cArray86 = cArray44;
char[] cArray87 = cArray44;
int n88 = n4;
while (true) {
int n89;
char c10 = cArray86[n88];
switch (n4 % 5) {
case 0: {
n89 = 12;
break;
}
case 1: {
n89 = 25;
break;
}
case 2: {
n89 = 114;
break;
}
case 3: {
n89 = 8;
break;
}
default: {
n89 = 64;
}
}
cArray86[n88] = (char)(c10 ^ n89);
++n4;
cArray44 = cArray87;
n46 = n46;
if (n46 != 0) break;
cArray87 = cArray44;
n45 = n46;
n88 = n46;
cArray86 = cArray44;
}
cArray43 = cArray44;
n45 = n46;
} while (n46 > n4);
}
stringArray[8] = new String(cArray43).intern();
var3 = null;
char[] cArray88 = "nu\u0013".toCharArray();
n4 = 0;
int n90 = cArray88.length;
cArray42 = cArray88;
n44 = n90;
if (n90 <= 1) break block291;
cArray41 = cArray42;
n43 = n44;
if (n44 <= n4) break block292;
}
do {
char[] cArray89 = cArray42;
char[] cArray90 = cArray42;
int n91 = n4;
while (true) {
int n92;
char c11 = cArray89[n91];
switch (n4 % 5) {
case 0: {
n92 = 12;
break;
}
case 1: {
n92 = 25;
break;
}
case 2: {
n92 = 114;
break;
}
case 3: {
n92 = 8;
break;
}
default: {
n92 = 64;
}
}
cArray89[n91] = (char)(c11 ^ n92);
++n4;
cArray42 = cArray90;
n44 = n44;
if (n44 != 0) break;
cArray90 = cArray42;
n43 = n44;
n91 = n44;
cArray89 = cArray42;
}
cArray41 = cArray42;
n43 = n44;
} while (n44 > n4);
}
stringArray[9] = new String(cArray41).intern();
var3 = null;
char[] cArray91 = "`k\u0017".toCharArray();
n4 = 0;
int n93 = cArray91.length;
cArray40 = cArray91;
n42 = n93;
if (n93 <= 1) break block293;
cArray39 = cArray40;
n41 = n42;
if (n42 <= n4) break block294;
}
do {
char[] cArray92 = cArray40;
char[] cArray93 = cArray40;
int n94 = n4;
while (true) {
int n95;
char c12 = cArray92[n94];
switch (n4 % 5) {
case 0: {
n95 = 12;
break;
}
case 1: {
n95 = 25;
break;
}
case 2: {
n95 = 114;
break;
}
case 3: {
n95 = 8;
break;
}
default: {
n95 = 64;
}
}
cArray92[n94] = (char)(c12 ^ n95);
++n4;
cArray40 = cArray93;
n42 = n42;
if (n42 != 0) break;
cArray93 = cArray40;
n41 = n42;
n94 = n42;
cArray92 = cArray40;
}
cArray39 = cArray40;
n41 = n42;
} while (n42 > n4);
}
stringArray[10] = new String(cArray39).intern();
var3 = null;
char[] cArray94 = "kkC".toCharArray();
n4 = 0;
int n96 = cArray94.length;
cArray38 = cArray94;
n40 = n96;
if (n96 <= 1) break block295;
cArray37 = cArray38;
n39 = n40;
if (n40 <= n4) break block296;
}
do {
char[] cArray95 = cArray38;
char[] cArray96 = cArray38;
int n97 = n4;
while (true) {
int n98;
char c13 = cArray95[n97];
switch (n4 % 5) {
case 0: {
n98 = 12;
break;
}
case 1: {
n98 = 25;
break;
}
case 2: {
n98 = 114;
break;
}
case 3: {
n98 = 8;
break;
}
default: {
n98 = 64;
}
}
cArray95[n97] = (char)(c13 ^ n98);
++n4;
cArray38 = cArray96;
n40 = n40;
if (n40 != 0) break;
cArray96 = cArray38;
n39 = n40;
n97 = n40;
cArray95 = cArray38;
}
cArray37 = cArray38;
n39 = n40;
} while (n40 > n4);
}
stringArray[11] = new String(cArray37).intern();
var3 = null;
char[] cArray97 = "ckA".toCharArray();
n4 = 0;
int n99 = cArray97.length;
cArray36 = cArray97;
n38 = n99;
if (n99 <= 1) break block297;
cArray35 = cArray36;
n37 = n38;
if (n38 <= n4) break block298;
}
do {
char[] cArray98 = cArray36;
char[] cArray99 = cArray36;
int n100 = n4;
while (true) {
int n101;
char c14 = cArray98[n100];
switch (n4 % 5) {
case 0: {
n101 = 12;
break;
}
case 1: {
n101 = 25;
break;
}
case 2: {
n101 = 114;
break;
}
case 3: {
n101 = 8;
break;
}
default: {
n101 = 64;
}
}
cArray98[n100] = (char)(c14 ^ n101);
++n4;
cArray36 = cArray99;
n38 = n38;
if (n38 != 0) break;
cArray99 = cArray36;
n37 = n38;
n100 = n38;
cArray98 = cArray36;
}
cArray35 = cArray36;
n37 = n38;
} while (n38 > n4);
}
stringArray[12] = new String(cArray35).intern();
var3 = null;
char[] cArray100 = "u|\u001e".toCharArray();
n4 = 0;
int n102 = cArray100.length;
cArray34 = cArray100;
n36 = n102;
if (n102 <= 1) break block299;
cArray33 = cArray34;
n35 = n36;
if (n36 <= n4) break block300;
}
do {
char[] cArray101 = cArray34;
char[] cArray102 = cArray34;
int n103 = n4;
while (true) {
int n104;
char c15 = cArray101[n103];
switch (n4 % 5) {
case 0: {
n104 = 12;
break;
}
case 1: {
n104 = 25;
break;
}
case 2: {
n104 = 114;
break;
}
case 3: {
n104 = 8;
break;
}
default: {
n104 = 64;
}
}
cArray101[n103] = (char)(c15 ^ n104);
++n4;
cArray34 = cArray102;
n36 = n36;
if (n36 != 0) break;
cArray102 = cArray34;
n35 = n36;
n103 = n36;
cArray101 = cArray34;
}
cArray33 = cArray34;
n35 = n36;
} while (n36 > n4);
}
stringArray[13] = new String(cArray33).intern();
var3 = null;
char[] cArray103 = "hk\u0017".toCharArray();
n4 = 0;
int n105 = cArray103.length;
cArray32 = cArray103;
n34 = n105;
if (n105 <= 1) break block301;
cArray31 = cArray32;
n33 = n34;
if (n34 <= n4) break block302;
}
do {
char[] cArray104 = cArray32;
char[] cArray105 = cArray32;
int n106 = n4;
while (true) {
int n107;
char c16 = cArray104[n106];
switch (n4 % 5) {
case 0: {
n107 = 12;
break;
}
case 1: {
n107 = 25;
break;
}
case 2: {
n107 = 114;
break;
}
case 3: {
n107 = 8;
break;
}
default: {
n107 = 64;
}
}
cArray104[n106] = (char)(c16 ^ n107);
++n4;
cArray32 = cArray105;
n34 = n34;
if (n34 != 0) break;
cArray105 = cArray32;
n33 = n34;
n106 = n34;
cArray104 = cArray32;
}
cArray31 = cArray32;
n33 = n34;
} while (n34 > n4);
}
stringArray[14] = new String(cArray31).intern();
var3 = null;
char[] cArray106 = "ck@".toCharArray();
n4 = 0;
int n108 = cArray106.length;
cArray30 = cArray106;
n32 = n108;
if (n108 <= 1) break block303;
cArray29 = cArray30;
n31 = n32;
if (n32 <= n4) break block304;
}
do {
char[] cArray107 = cArray30;
char[] cArray108 = cArray30;
int n109 = n4;
while (true) {
int n110;
char c17 = cArray107[n109];
switch (n4 % 5) {
case 0: {
n110 = 12;
break;
}
case 1: {
n110 = 25;
break;
}
case 2: {
n110 = 114;
break;
}
case 3: {
n110 = 8;
break;
}
default: {
n110 = 64;
}
}
cArray107[n109] = (char)(c17 ^ n110);
++n4;
cArray30 = cArray108;
n32 = n32;
if (n32 != 0) break;
cArray108 = cArray30;
n31 = n32;
n109 = n32;
cArray107 = cArray30;
}
cArray29 = cArray30;
n31 = n32;
} while (n32 > n4);
}
stringArray[15] = new String(cArray29).intern();
var3 = null;
char[] cArray109 = "kk@".toCharArray();
n4 = 0;
int n111 = cArray109.length;
cArray28 = cArray109;
n30 = n111;
if (n111 <= 1) break block305;
cArray27 = cArray28;
n29 = n30;
if (n30 <= n4) break block306;
}
do {
char[] cArray110 = cArray28;
char[] cArray111 = cArray28;
int n112 = n4;
while (true) {
int n113;
char c18 = cArray110[n112];
switch (n4 % 5) {
case 0: {
n113 = 12;
break;
}
case 1: {
n113 = 25;
break;
}
case 2: {
n113 = 114;
break;
}
case 3: {
n113 = 8;
break;
}
default: {
n113 = 64;
}
}
cArray110[n112] = (char)(c18 ^ n113);
++n4;
cArray28 = cArray111;
n30 = n30;
if (n30 != 0) break;
cArray111 = cArray28;
n29 = n30;
n112 = n30;
cArray110 = cArray28;
}
cArray27 = cArray28;
n29 = n30;
} while (n30 > n4);
}
stringArray[16] = new String(cArray27).intern();
var3 = null;
char[] cArray112 = "ck\u0013".toCharArray();
n4 = 0;
int n114 = cArray112.length;
cArray26 = cArray112;
n28 = n114;
if (n114 <= 1) break block307;
cArray25 = cArray26;
n27 = n28;
if (n28 <= n4) break block308;
}
do {
char[] cArray113 = cArray26;
char[] cArray114 = cArray26;
int n115 = n4;
while (true) {
int n116;
char c19 = cArray113[n115];
switch (n4 % 5) {
case 0: {
n116 = 12;
break;
}
case 1: {
n116 = 25;
break;
}
case 2: {
n116 = 114;
break;
}
case 3: {
n116 = 8;
break;
}
default: {
n116 = 64;
}
}
cArray113[n115] = (char)(c19 ^ n116);
++n4;
cArray26 = cArray114;
n28 = n28;
if (n28 != 0) break;
cArray114 = cArray26;
n27 = n28;
n115 = n28;
cArray113 = cArray26;
}
cArray25 = cArray26;
n27 = n28;
} while (n28 > n4);
}
stringArray[17] = new String(cArray25).intern();
var3 = null;
char[] cArray115 = "hk\u0013\u007f3xk\u001bf'69".toCharArray();
n4 = 0;
int n117 = cArray115.length;
cArray24 = cArray115;
n26 = n117;
if (n117 <= 1) break block309;
cArray23 = cArray24;
n25 = n26;
if (n26 <= n4) break block310;
}
do {
char[] cArray116 = cArray24;
char[] cArray117 = cArray24;
int n118 = n4;
while (true) {
int n119;
char c20 = cArray116[n118];
switch (n4 % 5) {
case 0: {
n119 = 12;
break;
}
case 1: {
n119 = 25;
break;
}
case 2: {
n119 = 114;
break;
}
case 3: {
n119 = 8;
break;
}
default: {
n119 = 64;
}
}
cArray116[n118] = (char)(c20 ^ n119);
++n4;
cArray24 = cArray117;
n26 = n26;
if (n26 != 0) break;
cArray117 = cArray24;
n25 = n26;
n118 = n26;
cArray116 = cArray24;
}
cArray23 = cArray24;
n25 = n26;
} while (n26 > n4);
}
stringArray[18] = new String(cArray23).intern();
var3 = null;
char[] cArray118 = "kkA".toCharArray();
n4 = 0;
int n120 = cArray118.length;
cArray22 = cArray118;
n24 = n120;
if (n120 <= 1) break block311;
cArray21 = cArray22;
n23 = n24;
if (n24 <= n4) break block312;
}
do {
char[] cArray119 = cArray22;
char[] cArray120 = cArray22;
int n121 = n4;
while (true) {
int n122;
char c21 = cArray119[n121];
switch (n4 % 5) {
case 0: {
n122 = 12;
break;
}
case 1: {
n122 = 25;
break;
}
case 2: {
n122 = 114;
break;
}
case 3: {
n122 = 8;
break;
}
default: {
n122 = 64;
}
}
cArray119[n121] = (char)(c21 ^ n122);
++n4;
cArray22 = cArray120;
n24 = n24;
if (n24 != 0) break;
cArray120 = cArray22;
n23 = n24;
n121 = n24;
cArray119 = cArray22;
}
cArray21 = cArray22;
n23 = n24;
} while (n24 > n4);
}
stringArray[19] = new String(cArray21).intern();
var3 = null;
char[] cArray121 = "ax\u0015".toCharArray();
n4 = 0;
int n123 = cArray121.length;
cArray20 = cArray121;
n22 = n123;
if (n123 <= 1) break block313;
cArray19 = cArray20;
n21 = n22;
if (n22 <= n4) break block314;
}
do {
char[] cArray122 = cArray20;
char[] cArray123 = cArray20;
int n124 = n4;
while (true) {
int n125;
char c22 = cArray122[n124];
switch (n4 % 5) {
case 0: {
n125 = 12;
break;
}
case 1: {
n125 = 25;
break;
}
case 2: {
n125 = 114;
break;
}
case 3: {
n125 = 8;
break;
}
default: {
n125 = 64;
}
}
cArray122[n124] = (char)(c22 ^ n125);
++n4;
cArray20 = cArray123;
n22 = n22;
if (n22 != 0) break;
cArray123 = cArray20;
n21 = n22;
n124 = n22;
cArray122 = cArray20;
}
cArray19 = cArray20;
n21 = n22;
} while (n22 > n4);
}
stringArray[20] = new String(cArray19).intern();
var3 = null;
char[] cArray124 = "{q\u001b".toCharArray();
n4 = 0;
int n126 = cArray124.length;
cArray18 = cArray124;
n20 = n126;
if (n126 <= 1) break block315;
cArray17 = cArray18;
n19 = n20;
if (n20 <= n4) break block316;
}
do {
char[] cArray125 = cArray18;
char[] cArray126 = cArray18;
int n127 = n4;
while (true) {
int n128;
char c23 = cArray125[n127];
switch (n4 % 5) {
case 0: {
n128 = 12;
break;
}
case 1: {
n128 = 25;
break;
}
case 2: {
n128 = 114;
break;
}
case 3: {
n128 = 8;
break;
}
default: {
n128 = 64;
}
}
cArray125[n127] = (char)(c23 ^ n128);
++n4;
cArray18 = cArray126;
n20 = n20;
if (n20 != 0) break;
cArray126 = cArray18;
n19 = n20;
n127 = n20;
cArray125 = cArray18;
}
cArray17 = cArray18;
n19 = n20;
} while (n20 > n4);
}
stringArray[21] = new String(cArray17).intern();
var3 = null;
char[] cArray127 = "~x\u001c".toCharArray();
n4 = 0;
int n129 = cArray127.length;
cArray16 = cArray127;
n18 = n129;
if (n129 <= 1) break block317;
cArray15 = cArray16;
n17 = n18;
if (n18 <= n4) break block318;
}
do {
char[] cArray128 = cArray16;
char[] cArray129 = cArray16;
int n130 = n4;
while (true) {
int n131;
char c24 = cArray128[n130];
switch (n4 % 5) {
case 0: {
n131 = 12;
break;
}
case 1: {
n131 = 25;
break;
}
case 2: {
n131 = 114;
break;
}
case 3: {
n131 = 8;
break;
}
default: {
n131 = 64;
}
}
cArray128[n130] = (char)(c24 ^ n131);
++n4;
cArray16 = cArray129;
n18 = n18;
if (n18 != 0) break;
cArray129 = cArray16;
n17 = n18;
n130 = n18;
cArray128 = cArray16;
}
cArray15 = cArray16;
n17 = n18;
} while (n18 > n4);
}
stringArray[22] = new String(cArray15).intern();
var3 = null;
char[] cArray130 = "~|\u0016".toCharArray();
n4 = 0;
int n132 = cArray130.length;
cArray14 = cArray130;
n16 = n132;
if (n132 <= 1) break block319;
cArray13 = cArray14;
n15 = n16;
if (n16 <= n4) break block320;
}
do {
char[] cArray131 = cArray14;
char[] cArray132 = cArray14;
int n133 = n4;
while (true) {
int n134;
char c25 = cArray131[n133];
switch (n4 % 5) {
case 0: {
n134 = 12;
break;
}
case 1: {
n134 = 25;
break;
}
case 2: {
n134 = 114;
break;
}
case 3: {
n134 = 8;
break;
}
default: {
n134 = 64;
}
}
cArray131[n133] = (char)(c25 ^ n134);
++n4;
cArray14 = cArray132;
n16 = n16;
if (n16 != 0) break;
cArray132 = cArray14;
n15 = n16;
n133 = n16;
cArray131 = cArray14;
}
cArray13 = cArray14;
n15 = n16;
} while (n16 > n4);
}
stringArray[23] = new String(cArray13).intern();
var3 = null;
char[] cArray133 = "o`\u0013".toCharArray();
n4 = 0;
int n135 = cArray133.length;
cArray12 = cArray133;
n14 = n135;
if (n135 <= 1) break block321;
cArray11 = cArray12;
n13 = n14;
if (n14 <= n4) break block322;
}
do {
char[] cArray134 = cArray12;
char[] cArray135 = cArray12;
int n136 = n4;
while (true) {
int n137;
char c26 = cArray134[n136];
switch (n4 % 5) {
case 0: {
n137 = 12;
break;
}
case 1: {
n137 = 25;
break;
}
case 2: {
n137 = 114;
break;
}
case 3: {
n137 = 8;
break;
}
default: {
n137 = 64;
}
}
cArray134[n136] = (char)(c26 ^ n137);
++n4;
cArray12 = cArray135;
n14 = n14;
if (n14 != 0) break;
cArray135 = cArray12;
n13 = n14;
n136 = n14;
cArray134 = cArray12;
}
cArray11 = cArray12;
n13 = n14;
} while (n14 > n4);
}
stringArray[24] = new String(cArray11).intern();
var3 = null;
char[] cArray136 = "kk\u0017".toCharArray();
n4 = 0;
int n138 = cArray136.length;
cArray10 = cArray136;
n12 = n138;
if (n138 <= 1) break block323;
cArray9 = cArray10;
n11 = n12;
if (n12 <= n4) break block324;
}
do {
char[] cArray137 = cArray10;
char[] cArray138 = cArray10;
int n139 = n4;
while (true) {
int n140;
char c27 = cArray137[n139];
switch (n4 % 5) {
case 0: {
n140 = 12;
break;
}
case 1: {
n140 = 25;
break;
}
case 2: {
n140 = 114;
break;
}
case 3: {
n140 = 8;
break;
}
default: {
n140 = 64;
}
}
cArray137[n139] = (char)(c27 ^ n140);
++n4;
cArray10 = cArray138;
n12 = n12;
if (n12 != 0) break;
cArray138 = cArray10;
n11 = n12;
n139 = n12;
cArray137 = cArray10;
}
cArray9 = cArray10;
n11 = n12;
} while (n12 > n4);
}
stringArray[25] = new String(cArray9).intern();
var3 = null;
char[] cArray139 = "nu\u0007".toCharArray();
n4 = 0;
int n141 = cArray139.length;
cArray8 = cArray139;
n10 = n141;
if (n141 <= 1) break block325;
cArray7 = cArray8;
n9 = n10;
if (n10 <= n4) break block326;
}
do {
char[] cArray140 = cArray8;
char[] cArray141 = cArray8;
int n142 = n4;
while (true) {
int n143;
char c28 = cArray140[n142];
switch (n4 % 5) {
case 0: {
n143 = 12;
break;
}
case 1: {
n143 = 25;
break;
}
case 2: {
n143 = 114;
break;
}
case 3: {
n143 = 8;
break;
}
default: {
n143 = 64;
}
}
cArray140[n142] = (char)(c28 ^ n143);
++n4;
cArray8 = cArray141;
n10 = n10;
if (n10 != 0) break;
cArray141 = cArray8;
n9 = n10;
n142 = n10;
cArray140 = cArray8;
}
cArray7 = cArray8;
n9 = n10;
} while (n10 > n4);
}
stringArray[26] = new String(cArray7).intern();
var3 = null;
char[] cArray142 = "ckC".toCharArray();
n4 = 0;
int n144 = cArray142.length;
cArray6 = cArray142;
n8 = n144;
if (n144 <= 1) break block327;
cArray5 = cArray6;
n7 = n8;
if (n8 <= n4) break block328;
}
do {
char[] cArray143 = cArray6;
char[] cArray144 = cArray6;
int n145 = n4;
while (true) {
int n146;
char c29 = cArray143[n145];
switch (n4 % 5) {
case 0: {
n146 = 12;
break;
}
case 1: {
n146 = 25;
break;
}
case 2: {
n146 = 114;
break;
}
case 3: {
n146 = 8;
break;
}
default: {
n146 = 64;
}
}
cArray143[n145] = (char)(c29 ^ n146);
++n4;
cArray6 = cArray144;
n8 = n8;
if (n8 != 0) break;
cArray144 = cArray6;
n7 = n8;
n145 = n8;
cArray143 = cArray6;
}
cArray5 = cArray6;
n7 = n8;
} while (n8 > n4);
}
stringArray[27] = new String(cArray5).intern();
var3 = null;
char[] cArray145 = "o|\u001c|2ii\u0013z!69".toCharArray();
n4 = 0;
int n147 = cArray145.length;
cArray4 = cArray145;
n6 = n147;
if (n147 <= 1) break block329;
cArray3 = cArray4;
n5 = n6;
if (n6 <= n4) break block330;
}
do {
char[] cArray146 = cArray4;
char[] cArray147 = cArray4;
int n148 = n4;
while (true) {
int n149;
char c30 = cArray146[n148];
switch (n4 % 5) {
case 0: {
n149 = 12;
break;
}
case 1: {
n149 = 25;
break;
}
case 2: {
n149 = 114;
break;
}
case 3: {
n149 = 8;
break;
}
default: {
n149 = 64;
}
}
cArray146[n148] = (char)(c30 ^ n149);
++n4;
cArray4 = cArray147;
n6 = n6;
if (n6 != 0) break;
cArray147 = cArray4;
n5 = n6;
n148 = n6;
cArray146 = cArray4;
}
cArray3 = cArray4;
n5 = n6;
} while (n6 > n4);
}
stringArray[28] = new String(cArray3).intern();
var3 = null;
char[] cArray148 = "|u\u001d|,im\u0006m269".toCharArray();
n4 = 0;
int n150 = cArray148.length;
cArray2 = cArray148;
n3 = n150;
if (n150 <= 1) break block331;
cArray = cArray2;
n2 = n3;
if (n3 <= n4) break block332;
}
do {
char[] cArray149 = cArray2;
char[] cArray150 = cArray2;
int n151 = n4;
while (true) {
int n152;
char c31 = cArray149[n151];
switch (n4 % 5) {
case 0: {
n152 = 12;
break;
}
case 1: {
n152 = 25;
break;
}
case 2: {
n152 = 114;
break;
}
case 3: {
n152 = 8;
break;
}
default: {
n152 = 64;
}
}
cArray149[n151] = (char)(c31 ^ n152);
++n4;
cArray2 = cArray150;
n3 = n3;
if (n3 != 0) break;
cArray150 = cArray2;
n2 = n3;
n151 = n3;
cArray149 = cArray2;
}
cArray = cArray2;
n2 = n3;
} while (n3 > n4);
}
stringArray[29] = new String(cArray).intern();
Q = stringArray;
z = new byte[50][];
M = new boolean[12];
O = new byte[100000];
String string = Q[7];
A = new int[256];
int n153 = 0;
while (n153 < 256) {
int n154 = Q[7].indexOf(n153);
if (n154 == -1) {
n154 = 74;
}
h.A[n153] = n154 * 9;
++n153;
}
return;
}
}