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

5870 lines
387 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
public class f {
int a;
int[] b;
int[][] c;
int[] d;
public int e;
public int f;
public int g;
public int h;
public int i;
public int j;
public static int[] k;
private static int[] l;
public boolean m;
public double n;
public int o;
private boolean p;
private int q;
private int r;
private int s;
private int t;
private l[] u;
private int[] v;
private int w;
private int x;
private int y;
private int z;
private int A;
private int B;
private int C;
private int D;
private int E;
private int F;
private int G;
private int H;
private int I;
public int J;
public int K;
public l[] L;
private int[] M;
private int N;
private g[] O;
private int P;
private int[] Q;
private int[] R;
private int[] S;
private int[] T;
private int[] U;
private int[] V;
private int[] W;
public l X;
int Y;
byte[][] Z;
int[][] ab;
int[] bb;
long[] cb;
int[][] db;
boolean[] eb;
private static long fb;
int[][] gb;
int[][] hb;
private static byte[] ib;
private static int[] jb;
h kb;
public int[] lb;
p[] mb;
int nb;
int ob;
int[] pb;
int[] qb;
int[] rb;
int[] sb;
int[] tb;
int[] ub;
boolean vb;
static int wb;
static int xb;
static int yb;
static int zb;
static int Ab;
static int Bb;
int Cb;
int Db;
private static String Eb;
public f(h h2, int n2, int n3, int n4) {
int n5;
boolean bl;
block8: {
block7: {
bl = q.d;
boolean bl2 = false;
this.a = 50;
this.b = new int[this.a];
this.c = new int[this.a][256];
this.f = 5;
this.g = 1000;
this.h = 1000;
this.i = 20;
this.j = 10;
this.m = false;
this.n = 1.1;
this.o = 1;
this.p = false;
this.t = 100;
this.u = new l[this.t];
this.v = new int[this.t];
this.w = 512;
this.x = 256;
this.y = 192;
this.z = 256;
this.A = 256;
this.B = 8;
this.C = 4;
this.pb = new int[40];
this.qb = new int[40];
this.rb = new int[40];
this.sb = new int[40];
this.tb = new int[40];
this.ub = new int[40];
this.vb = false;
this.kb = h2;
this.x = h2.a / 2;
this.y = h2.b / 2;
this.lb = h2.g;
this.J = 0;
this.K = n2;
this.L = new l[this.K];
this.M = new int[this.K];
this.N = 0;
this.O = new g[n3];
for (n5 = 0; n5 < n3; ++n5) {
this.O[n5] = new g();
if (!bl) {
if (!bl) continue;
}
break block7;
}
this.P = 0;
this.X = new l(n4 * 2, n4);
this.Q = new int[n4];
this.U = new int[n4];
this.V = new int[n4];
this.R = new int[n4];
this.S = new int[n4];
this.T = new int[n4];
this.W = new int[n4];
}
if (!bl) {
if (ib == null) {
ib = new byte[17691];
}
this.D = 0;
this.E = 0;
this.F = 0;
this.G = 0;
this.H = 0;
this.I = 0;
}
for (n5 = 0; n5 < 256; ++n5) {
f.l[n5] = (int)(Math.sin((double)n5 * 0.02454369) * 32768.0);
f.l[n5 + 256] = (int)(Math.cos((double)n5 * 0.02454369) * 32768.0);
if (!bl) {
if (!bl) continue;
}
break block8;
}
n5 = 0;
}
while (n5 < 1024) {
f.k[n5] = (int)(Math.sin((double)n5 * 0.00613592315) * 32768.0);
f.k[n5 + 1024] = (int)(Math.cos((double)n5 * 0.00613592315) * 32768.0);
++n5;
if (!bl) continue;
}
}
public void a(l l2) {
block5: {
block4: {
if (l2 == null) {
System.out.println(Eb);
}
f f2 = this;
if (q.d) break block4;
if (f2.J >= this.K) break block5;
this.M[this.J] = 0;
f2 = this;
}
f2.L[this.J++] = l2;
}
}
/*
* Enabled aggressive block sorting
* Lifted jumps to return sites
*/
public void b(l l2) {
boolean bl = q.d;
boolean bl2 = false;
int n2 = 0;
block0: do {
block5: {
f f2;
block4: {
if (n2 >= this.J) return;
f2 = this;
if (bl) break block4;
if (f2.L[n2] != l2) break block5;
f2 = this;
}
--f2.J;
for (int i2 = n2; i2 < this.J; ++i2) {
this.L[i2] = this.L[i2 + 1];
this.M[i2] = this.M[i2 + 1];
if (bl) continue block0;
if (!bl) continue;
}
}
++n2;
} while (!bl);
}
public void a() {
block2: {
boolean bl = q.d;
this.b();
for (int i2 = 0; i2 < this.J; ++i2) {
this.L[i2] = null;
if (!bl) {
if (!bl) continue;
}
break block2;
}
this.J = 0;
}
}
public void b() {
this.P = 0;
this.X.b();
}
public void a(int n2) {
block3: {
block2: {
this.P -= n2;
this.X.b(n2, n2 * 2);
f f2 = this;
if (q.d) break block2;
if (f2.P >= 0) break block3;
f2 = this;
}
f2.P = 0;
}
}
public int a(int n2, int n3, int n4, int n5, int n6, int n7, int n8) {
this.Q[this.P] = n2;
this.R[this.P] = n3;
this.S[this.P] = n4;
this.T[this.P] = n5;
this.U[this.P] = n6;
this.V[this.P] = n7;
this.W[this.P] = 0;
int n9 = this.X.b(n3, n4, n5);
int n10 = this.X.b(n3, n4 - n7, n5);
int[] nArray = new int[]{n9, n10};
this.X.a(2, nArray, 0, 0);
this.X.G[this.P] = n8;
this.X.H[this.P++] = 0;
return this.P - 1;
}
public void b(int n2) {
this.X.H[n2] = 1;
}
public void a(int n2, int n3) {
this.W[n2] = n3;
}
public void b(int n2, int n3) {
this.q = n2 - this.z;
this.r = n3;
this.s = 0;
this.p = true;
}
public int c() {
return this.s;
}
public int[] d() {
return this.v;
}
public l[] e() {
return this.u;
}
public void a(int n2, int n3, int n4, int n5, int n6, int n7) {
this.x = n4;
this.y = n5;
this.z = n2;
this.A = n3;
this.w = n6;
this.B = n7;
this.mb = new p[n5 + n3];
for (int i2 = 0; i2 < n5 + n3; ++i2) {
this.mb[i2] = new p();
if (!q.d) continue;
}
}
/*
* Exception decompiling
*/
private void a(g[] var1_1, int var2_2, int var3_3) {
/*
* This method has failed to decompile. When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
*
* org.benf.cfr.reader.util.ConfusedCFRException: Tried to end blocks [1[DOLOOP]], but top level block is 3[DOLOOP]
* at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.processEndingBlocks(Op04StructuredStatement.java:435)
* at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:484)
* at org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:736)
* at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:850)
* at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:278)
* at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:201)
* at org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:94)
* at org.benf.cfr.reader.entities.Method.analyse(Method.java:531)
* at org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:1055)
* at org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:942)
* at org.benf.cfr.reader.Driver.doJarVersionTypes(Driver.java:257)
* at org.benf.cfr.reader.Driver.doJar(Driver.java:139)
* at org.benf.cfr.reader.CfrDriverImpl.analyse(CfrDriverImpl.java:76)
* at org.benf.cfr.reader.Main.main(Main.java:54)
*/
throw new IllegalStateException("Decompilation failed");
}
/*
* Unable to fully structure code
*/
public void a(int var1_1, g[] var2_2, int var3_3) {
block15: {
var11_4 = q.d;
var4_5 = false;
for (var5_6 = 0; var5_6 <= var3_3; ++var5_6) {
var2_2[var5_6].o = false;
var2_2[var5_6].p = var5_6;
var2_2[var5_6].q = -1;
if (!var11_4) {
if (!var11_4) continue;
}
break block15;
}
var5_6 = 0;
}
block1: while (true) {
if (var2_2[var5_6].o) {
++var5_6;
if (!var11_4) continue;
}
v0 = var5_6;
v1 = var3_3;
block2: while (true) {
if (v0 == v1) {
return;
}
var6_7 = var2_2[var5_6];
var6_7.o = true;
var7_8 = var5_6;
v2 = var8_9 = var5_6 + var1_1;
if (!var11_4) {
if (v2 >= var3_3) {
var8_9 = var3_3 - 1;
}
v2 = var9_10 = var8_9;
}
while (true) {
block16: {
block22: {
block21: {
block20: {
block19: {
block18: {
block17: {
if (var9_10 >= var7_8 + 1) ** break;
continue block1;
var10_11 = var2_2[var9_10];
if (var11_4) continue;
v0 = var6_7.a;
v1 = var10_11.c;
if (var11_4 || var11_4) continue block2;
if (v0 >= v1) break block16;
v3 = var10_11.a;
v4 = var6_7.c;
if (var11_4) break block17;
if (v3 >= v4) break block16;
v3 = var6_7.b;
v4 = var10_11.d;
}
if (var11_4) break block18;
if (v3 >= v4) break block16;
v3 = var10_11.b;
v4 = var6_7.d;
}
if (var11_4) break block19;
if (v3 >= v4) break block16;
v3 = var6_7.p;
if (var11_4) break block20;
v4 = var10_11.q;
}
if (v3 == v4) break block16;
v3 = (int)this.a(var6_7, var10_11);
}
if (var11_4) break block21;
if (v3 != 0) break block16;
v3 = (int)this.b(var10_11, var6_7);
}
if (var11_4) break block22;
if (v3 == 0) break block16;
v3 = (int)this.b(var2_2, var7_8, var9_10);
}
v5 = var2_2[var9_10];
v6 = var10_11;
if (!var11_4) {
if (v5 != v6) {
++var9_10;
}
var7_8 = this.Cb;
v5 = var10_11;
v6 = var6_7;
}
v5.q = v6.p;
}
--var9_10;
}
break;
}
break;
}
}
public boolean b(g[] gArray, int n2, int n3) {
boolean bl = q.d;
boolean bl2 = false;
while (true) {
int n4;
block15: {
int n5;
g g2 = gArray[n2];
int n6 = n5 = n2 + 1;
while (n5 <= n3) {
block17: {
int n7;
block16: {
g g3 = gArray[n5];
n6 = this.a(g3, g2) ? 1 : 0;
if (bl) continue;
if (bl) break block16;
if (n6 == 0 && !bl) break;
gArray[n2] = g3;
gArray[n5] = g2;
n2 = n5;
if (bl) break block17;
n7 = n2;
}
if (n7 == n3) {
this.Cb = n2;
this.Db = n2 - 1;
return true;
}
++n5;
}
if (!bl) continue;
}
g g4 = gArray[n3];
int n8 = n3 - 1;
while (n8 >= n2) {
block19: {
int n9;
block18: {
g g5 = gArray[n8];
n4 = this.a(g4, g5) ? 1 : 0;
if (bl) break block15;
if (bl) break block18;
if (n4 == 0 && !bl) break;
gArray[n3] = g5;
gArray[n8] = g4;
n3 = n8;
if (bl) break block19;
n9 = n2;
}
if (n9 == n3) {
this.Cb = n3 + 1;
this.Db = n3;
return true;
}
--n8;
}
if (!bl) continue;
}
n4 = n2 + 1;
}
if (!bl) {
if (n4 >= n3) {
this.Cb = n2;
this.Db = n3;
return false;
}
n4 = this.b(gArray, n2 + 1, n3) ? 1 : 0;
}
if (!bl) {
if (n4 == 0) {
this.Cb = n2;
return false;
}
n4 = this.Db;
}
n3 = n4;
}
}
public void a(int n2, int n3, int n4) {
block20: {
int n5;
block19: {
int n6;
block18: {
int n7;
int n8;
int n9;
int n10;
boolean bl = q.d;
int n11 = -this.G + 1024 & 0x3FF;
int n12 = -this.H + 1024 & 0x3FF;
n5 = n10 = -this.I + 1024 & 0x3FF;
if (!bl) {
if (n5 != 0) {
n9 = k[n10];
n8 = k[n10 + 1024];
n7 = n3 * n9 + n2 * n8 >> 15;
n3 = n3 * n8 - n2 * n9 >> 15;
n2 = n7;
}
n5 = n11;
}
if (!bl) {
if (n5 != 0) {
n9 = k[n11];
n8 = k[n11 + 1024];
n7 = n3 * n8 - n4 * n9 >> 15;
n4 = n3 * n9 + n4 * n8 >> 15;
n3 = n7;
}
n5 = n12;
}
if (!bl) {
if (n5 != 0) {
n9 = k[n12];
n8 = k[n12 + 1024];
n7 = n4 * n9 + n2 * n8 >> 15;
n4 = n4 * n8 - n2 * n9 >> 15;
n2 = n7;
}
n5 = n2;
}
n6 = wb;
if (!bl) {
if (n5 < n6) {
wb = n2;
}
n5 = n2;
n6 = xb;
}
if (!bl) {
if (n5 > n6) {
xb = n2;
}
n5 = n3;
n6 = yb;
}
if (!bl) {
if (n5 < n6) {
yb = n3;
}
n5 = n3;
n6 = zb;
}
if (!bl) {
if (n5 > n6) {
zb = n3;
}
n5 = n4;
n6 = Ab;
}
if (bl) break block18;
if (n5 < n6) {
Ab = n4;
}
n5 = n4;
if (bl) break block19;
n6 = Bb;
}
if (n5 <= n6) break block20;
n5 = n4;
}
Bb = n5;
}
}
/*
* Unable to fully structure code
*/
public void f() {
block79: {
block92: {
block93: {
block75: {
block74: {
var20_1 = q.d;
var1_2 = false;
this.vb = this.kb.y;
var2_3 = this.x * this.g >> this.B;
var3_4 = this.y * this.g >> this.B;
f.wb = 0;
f.xb = 0;
f.yb = 0;
f.zb = 0;
f.Ab = 0;
f.Bb = 0;
this.a(-var2_3, -var3_4, this.g);
this.a(-var2_3, var3_4, this.g);
this.a(var2_3, -var3_4, this.g);
this.a(var2_3, var3_4, this.g);
this.a(-this.x, -this.y, 0);
this.a(-this.x, this.y, 0);
this.a(this.x, -this.y, 0);
this.a(this.x, this.y, 0);
f.wb += this.D;
f.xb += this.D;
f.yb += this.E;
f.zb += this.E;
f.Ab += this.F;
f.Bb += this.F;
this.L[this.J] = this.X;
this.X.u = 2;
for (var4_5 = 0; var4_5 < this.J; ++var4_5) {
this.L[var4_5].a(this.D, this.E, this.F, this.G, this.H, this.I, this.B, this.f);
if (!var20_1) {
if (!var20_1) continue;
}
break block74;
}
this.L[this.J].a(this.D, this.E, this.F, this.G, this.H, this.I, this.B, this.f);
this.N = 0;
}
var4_5 = 0;
block1: while (true) {
v0 = var4_5;
block2: while (v0 < this.J) {
block81: {
var5_7 = this.L[var4_5];
if (var20_1) continue block1;
v1 = var5_7;
if (var20_1) break block75;
if (!v1.v) break block81;
var6_9 = 0;
block3: while (true) {
v2 = var6_9;
v3 = var5_7.i;
block4: while (v2 < v3) {
block86: {
block78: {
block91: {
block90: {
block88: {
block89: {
block77: {
block87: {
block76: {
block85: {
var7_13 = var5_7.j[var6_9];
var8_15 = var5_7.k[var6_9];
var9_18 = 0;
v0 = 0;
if (var20_1) continue block2;
var10_22 = v0;
while (var10_22 < var7_13) {
block82: {
block83: {
block84: {
var11_23 = var5_7.d[var8_15[var10_22]];
if (var20_1) break block82;
v2 = var11_23;
v3 = this.f;
if (var20_1) continue block4;
if (v2 <= v3) break block83;
v4 = var11_23;
if (var20_1) break block84;
if (v4 >= this.g && !var20_1) break block83;
v4 = var9_18 = 1;
}
if (!var20_1) break;
}
++var10_22;
}
if (!var20_1) continue;
}
v5 = var9_18;
if (var20_1) break block85;
if (v5 == 0) break block86;
var10_22 = 0;
v5 = var11_23 = 0;
}
while (var11_23 < var7_13) {
v6 = var12_24 = var5_7.e[var8_15[var11_23]];
v7 = -this.x;
if (!var20_1) {
if (!var20_1) {
if (v6 > v7) {
var10_22 |= 1;
}
v8 = var12_24;
v9 = this.x;
}
if (!var20_1) {
if (v8 < v9) {
var10_22 |= 2;
}
v8 = var10_22;
v9 = 3;
}
if (v8 == v9 && !var20_1) break;
++var11_23;
if (!var20_1) continue;
}
break block76;
}
v6 = var10_22;
if (var20_1) break block87;
v7 = 3;
}
if (v6 != v7) break block86;
var11_23 = 0;
v6 = var12_24 = 0;
}
while (var12_24 < var7_13) {
v10 = var13_29 = var5_7.f[var8_15[var12_24]];
v11 = -this.y;
if (!var20_1) {
if (!var20_1) {
if (v10 > v11) {
var11_23 |= 1;
}
v12 = var13_29;
v13 = this.y;
}
if (!var20_1) {
if (v12 < v13) {
var11_23 |= 2;
}
v12 = var11_23;
v13 = 3;
}
if (v12 == v13 && !var20_1) break;
++var12_24;
if (!var20_1) continue;
}
break block77;
}
v10 = var11_23;
v11 = 3;
}
if (v10 != v11) break block86;
var12_25 = this.O[this.N];
var12_25.g = var5_7;
var12_25.h = var6_9;
this.c(this.N);
v14 = var12_25.m;
if (var20_1) break block88;
if (v14 >= 0) break block89;
var13_29 = var5_7.l[var6_9];
if (!var20_1) break block90;
}
v14 = var5_7.m[var6_9];
}
var13_29 = v14;
}
v15 = var13_29;
if (var20_1) break block91;
if (v15 == 12345678) break block86;
v15 = 0;
}
var14_33 = v15;
for (var15_34 = 0; var15_34 < var7_13; ++var15_34) {
var14_33 += var5_7.d[var8_15[var15_34]];
if (!var20_1) {
if (!var20_1) continue;
}
break block78;
}
var12_25.i = var15_34 = var14_33 / var7_13 + 0;
var12_25.n = var13_29;
}
++this.N;
}
++var6_9;
if (!var20_1) continue block3;
}
break;
}
}
++var4_5;
if (!var20_1) continue block1;
}
break;
}
v1 = this.X;
}
var4_6 = v1;
v16 = var4_6.v;
if (var20_1) break block92;
if (v16 == 0) break block93;
var5_8 = 0;
while (var5_8 < var4_6.i) {
block94: {
block95: {
block98: {
block97: {
block96: {
var6_11 = var4_6.k[var5_8];
var7_13 = var6_11[0];
var8_16 = var4_6.e[var7_13];
var9_18 = var4_6.f[var7_13];
var10_22 = var4_6.d[var7_13];
if (var20_1) break block94;
v17 = var10_22;
v18 = this.f;
if (var20_1) ** GOTO lbl228
if (v17 <= v18) break block95;
v19 = var10_22;
v20 = this.h;
if (var20_1) break block96;
if (v19 >= v20) break block95;
v19 = this.U[var5_8] << this.B;
v20 = var10_22;
}
var11_23 = v19 / v20;
var12_26 = (this.V[var5_8] << this.B) / var10_22;
if (var20_1) break block94;
if (var8_16 - var11_23 / 2 > this.x) break block95;
v21 = var8_16 + var11_23 / 2;
v22 = -this.x;
if (var20_1) break block97;
if (v21 < v22) break block95;
v21 = var9_18 - var12_26;
v22 = this.y;
}
if (var20_1) break block98;
if (v21 > v22) break block95;
v21 = var9_18;
v22 = -this.y;
}
if (v21 >= v22) {
var13_31 = this.O[this.N];
var13_31.g = var4_6;
var13_31.h = var5_8;
this.d(this.N);
var13_31.i = (var10_22 + var4_6.d[var6_11[1]]) / 2;
++this.N;
}
}
++var5_8;
}
if (!var20_1) continue;
}
}
v16 = this.N;
}
if (!var20_1) {
if (v16 == 0) {
return;
}
this.e = this.N;
this.a(this.O, 0, this.N - 1);
this.a(100, this.O, this.N);
v16 = 0;
}
var5_8 = v16;
do {
block101: {
block80: {
block107: {
block108: {
block109: {
block110: {
block100: {
block106: {
block105: {
block104: {
block103: {
block102: {
block99: {
v17 = var5_8;
v18 = this.N;
lbl228:
// 2 sources
if (v17 >= v18) break;
var6_12 = this.O[var5_8];
var7_14 = var6_12.g;
var8_17 = var6_12.h;
if (var20_1) break block79;
v23 = var7_14;
if (var20_1) break block99;
if (v23 != this.X) break block100;
v23 = var7_14;
}
var9_20 = v23.k[var8_17];
var10_22 = var9_20[0];
var11_23 = var7_14.e[var10_22];
var12_27 = var7_14.f[var10_22];
var13_32 = var7_14.d[var10_22];
var14_33 = (this.U[var8_17] << this.B) / var13_32;
var15_34 = (this.V[var8_17] << this.B) / var13_32;
var16_35 = var12_27 - var7_14.f[var9_20[1]];
var17_36 = (var7_14.e[var9_20[1]] - var11_23) * var16_35 / var15_34;
var17_36 = var7_14.e[var9_20[1]] - var11_23;
var18_37 = var11_23 - var14_33 / 2;
var19_38 = this.A + var12_27 - var15_34;
this.kb.a(var18_37 + this.z, var19_38, var14_33, var15_34, this.Q[var8_17], var17_36, (256 << this.B) / var13_32);
if (var20_1) continue;
if (!this.p) break block101;
v24 = this.s;
v25 = this.t;
if (var20_1) break block102;
if (v24 >= v25) break block101;
var18_37 += (this.W[var8_17] << this.B) / var13_32;
if (var20_1) continue;
v24 = this.r;
v25 = var19_38;
}
if (v24 < v25) break block101;
v26 = this.r;
v27 = var19_38 + var15_34;
if (var20_1) break block103;
if (v26 > v27) break block101;
v26 = this.q;
v27 = var18_37;
}
if (var20_1) break block104;
if (v26 < v27) break block101;
v26 = this.q;
if (var20_1) break block105;
v27 = var18_37 + var14_33;
}
if (v26 > v27) break block101;
v26 = (int)var7_14.L;
}
if (var20_1) break block106;
if (v26 != 0) break block101;
v26 = var7_14.H[var8_17];
}
if (v26 != 0) break block101;
this.u[this.s] = var7_14;
this.v[this.s] = var8_17;
++this.s;
if (!var20_1) break block101;
}
var9_21 = 0;
var10_22 = 0;
var11_23 = var7_14.j[var8_17];
var12_28 = var7_14.k[var8_17];
v28 = var7_14.p[var8_17];
if (var20_1) break block107;
if (v28 == 12345678) break block108;
v29 = var6_12.m;
if (var20_1) break block109;
if (v29 >= 0) break block110;
var10_22 = var7_14.Eb - var7_14.p[var8_17];
if (!var20_1) break block108;
}
v29 = var7_14.Eb + var7_14.p[var8_17];
}
var10_22 = v29;
}
v28 = var13_32 = 0;
}
while (var13_32 < var11_23) {
block117: {
block125: {
block124: {
block122: {
block123: {
block121: {
block120: {
block118: {
block119: {
block115: {
block116: {
block111: {
block112: {
block113: {
block114: {
var14_33 = var12_28[var13_32];
this.sb[var13_32] = var7_14.b[var14_33];
this.tb[var13_32] = var7_14.c[var14_33];
this.ub[var13_32] = var7_14.d[var14_33];
v30 = var7_14.p[var8_17];
v31 = 12345678;
if (var20_1) ** GOTO lbl398
if (var20_1) break block111;
if (v30 != v31) break block112;
v32 = var6_12.m;
if (var20_1) break block113;
if (v32 >= 0) break block114;
var10_22 = var7_14.Eb - var7_14.g[var14_33] + var7_14.h[var14_33];
if (!var20_1) break block112;
}
v32 = var7_14.Eb + var7_14.g[var14_33] + var7_14.h[var14_33];
}
var10_22 = v32;
}
v33 = var7_14.d[var14_33];
if (var20_1) break block115;
v34 = this.f;
}
if (v33 < v34) break block116;
this.pb[var9_21] = var7_14.e[var14_33];
this.qb[var9_21] = var7_14.f[var14_33];
this.rb[var9_21] = var10_22;
if (!var20_1) {
if (var7_14.d[var14_33] > this.j) {
v35 = var9_21;
this.rb[v35] = this.rb[v35] + (var7_14.d[var14_33] - this.j) / this.i;
}
++var9_21;
}
if (!var20_1) break block117;
}
v33 = var13_32;
}
if (var20_1) break block118;
if (v33 != 0) break block119;
var15_34 = var12_28[var11_23 - 1];
if (!var20_1) break block120;
}
v33 = var12_28[var13_32 - 1];
}
var15_34 = v33;
}
v36 = var7_14.d[var15_34];
v37 = this.f;
if (var20_1) break block121;
if (v36 >= v37) {
var16_35 = var7_14.d[var14_33] - var7_14.d[var15_34];
var17_36 = var7_14.b[var14_33] - (var7_14.b[var14_33] - var7_14.b[var15_34]) * (var7_14.d[var14_33] - this.f) / var16_35;
var18_37 = var7_14.c[var14_33] - (var7_14.c[var14_33] - var7_14.c[var15_34]) * (var7_14.d[var14_33] - this.f) / var16_35;
this.pb[var9_21] = (var17_36 << this.B) / this.f;
this.qb[var9_21] = (var18_37 << this.B) / this.f;
this.rb[var9_21] = var10_22;
++var9_21;
}
v36 = var13_32;
if (var20_1) break block122;
v37 = var11_23 - 1;
}
if (v36 != v37) break block123;
var15_34 = var12_28[0];
if (!var20_1) break block124;
}
v36 = var12_28[var13_32 + 1];
}
var15_34 = v36;
}
v38 = var7_14.d[var15_34];
v39 = this.f;
if (var20_1) break block125;
if (v38 < v39) break block117;
v38 = var7_14.d[var14_33];
v39 = var7_14.d[var15_34];
}
var16_35 = v38 - v39;
var17_36 = var7_14.b[var14_33] - (var7_14.b[var14_33] - var7_14.b[var15_34]) * (var7_14.d[var14_33] - this.f) / var16_35;
var18_37 = var7_14.c[var14_33] - (var7_14.c[var14_33] - var7_14.c[var15_34]) * (var7_14.d[var14_33] - this.f) / var16_35;
this.pb[var9_21] = (var17_36 << this.B) / this.f;
this.qb[var9_21] = (var18_37 << this.B) / this.f;
this.rb[var9_21] = var10_22;
++var9_21;
}
++var13_32;
if (!var20_1) continue;
}
var13_32 = 0;
do {
block131: {
block132: {
block133: {
block130: {
block129: {
block128: {
block126: {
block127: {
v30 = var13_32;
v31 = var11_23;
lbl398:
// 2 sources
if (v30 >= v31) break;
v40 = this.rb[var13_32];
if (var20_1) break block80;
if (var20_1) break block126;
if (v40 >= 0) break block127;
this.rb[var13_32] = 0;
if (!var20_1) break block128;
}
v41 = this.rb[var13_32];
}
if (var20_1) break block129;
if (v41 > 255) {
this.rb[var13_32] = 255;
}
}
v41 = var6_12.n;
}
if (var20_1) break block130;
if (v41 < 0) break block131;
v42 = this.bb;
v43 = var6_12.n;
if (var20_1) break block132;
v41 = v42[v43];
}
if (v41 != 1) break block133;
v44 = var13_32;
this.rb[v44] = this.rb[v44] << 9;
if (!var20_1) break block131;
}
v42 = this.rb;
v43 = var13_32;
}
v42[v43] = v42[v43] << 6;
}
++var13_32;
} while (!var20_1);
this.a(0, 0, 0, 0, var9_21, this.pb, this.qb, this.rb, var7_14, var8_17);
if (var20_1) continue;
v40 = this.ob;
}
if (v40 > this.nb) {
this.a(0, 0, var11_23, this.sb, this.tb, this.ub, var6_12.n, var7_14);
}
}
++var5_8;
} while (!var20_1);
this.p = false;
}
}
/*
* Unable to fully structure code
*/
private void a(int var1_1, int var2_2, int var3_3, int var4_4, int var5_5, int[] var6_6, int[] var7_7, int[] var8_8, l var9_9, int var10_10) {
block287: {
block294: {
block293: {
block292: {
block291: {
block290: {
block289: {
block288: {
block286: {
block245: {
block246: {
block217: {
block215: {
block216: {
block285: {
block284: {
block214: {
block247: {
block248: {
block213: {
block270: {
block269: {
block264: {
block265: {
block268: {
block266: {
block267: {
block259: {
block260: {
block263: {
block261: {
block262: {
block254: {
block255: {
block258: {
block256: {
block257: {
block249: {
block250: {
block253: {
block251: {
block252: {
block218: {
block219: {
block212: {
block236: {
block235: {
block230: {
block231: {
block234: {
block232: {
block233: {
block225: {
block226: {
block229: {
block227: {
block228: {
block220: {
block221: {
block224: {
block222: {
block223: {
var51_11 = q.d;
var11_12 = false;
v0 = var5_5;
v1 = 3;
if (var51_11) break block218;
if (v0 != v1) break block219;
var12_13 = var7_7[0] + this.A;
var13_16 = var7_7[1] + this.A;
var14_17 = var7_7[2] + this.A;
var15_18 = var6_6[0];
var16_19 = var6_6[1];
var17_20 = var6_6[2];
var18_21 = var8_8[0];
var19_22 = var8_8[1];
var20_27 = var8_8[2];
var21_28 = this.A + this.y - 1;
var22_29 = 0;
var23_30 = 0;
var24_33 = 0;
var25_34 = 0;
var26_35 = 12345678;
var27_36 = -12345678;
v2 = var14_17;
if (var51_11) break block220;
if (v2 == var12_13) break block221;
var23_30 = (var17_20 - var15_18 << 8) / (var14_17 - var12_13);
var25_34 = (var20_27 - var18_21 << 8) / (var14_17 - var12_13);
v3 = var12_13;
v4 = var14_17;
if (var51_11) break block222;
if (v3 >= v4) break block223;
var22_29 = var15_18 << 8;
var24_33 = var18_21 << 8;
var26_35 = var12_13;
var27_36 = var14_17;
if (!var51_11) break block224;
}
var22_29 = var17_20 << 8;
v3 = var20_27;
v4 = 8;
}
var24_33 = v3 << v4;
var26_35 = var14_17;
var27_36 = var12_13;
}
v2 = var26_35;
if (!var51_11) {
if (v2 < 0) {
var22_29 -= var23_30 * var26_35;
var24_33 -= var25_34 * var26_35;
var26_35 = 0;
}
v2 = var27_36;
}
if (var51_11) break block220;
if (v2 > var21_28) {
var27_36 = var21_28;
}
}
v2 = 0;
}
var28_37 = v2;
var29_38 = 0;
var30_39 = 0;
var31_40 = 0;
var32_41 = 12345678;
var33_42 = -12345678;
v5 = var13_16;
if (var51_11) break block225;
if (v5 == var12_13) break block226;
var29_38 = (var16_19 - var15_18 << 8) / (var13_16 - var12_13);
var31_40 = (var19_22 - var18_21 << 8) / (var13_16 - var12_13);
v6 = var12_13;
v7 = var13_16;
if (var51_11) break block227;
if (v6 >= v7) break block228;
var28_37 = var15_18 << 8;
var30_39 = var18_21 << 8;
var32_41 = var12_13;
var33_42 = var13_16;
if (!var51_11) break block229;
}
var28_37 = var16_19 << 8;
v6 = var19_22;
v7 = 8;
}
var30_39 = v6 << v7;
var32_41 = var13_16;
var33_42 = var12_13;
}
v5 = var32_41;
if (!var51_11) {
if (v5 < 0) {
var28_37 -= var29_38 * var32_41;
var30_39 -= var31_40 * var32_41;
var32_41 = 0;
}
v5 = var33_42;
}
if (var51_11) break block225;
if (v5 > var21_28) {
var33_42 = var21_28;
}
}
v5 = 0;
}
var34_43 = v5;
var35_44 = 0;
var36_45 = 0;
var37_46 = 0;
var38_47 = 12345678;
var39_48 = -12345678;
v8 = var14_17;
v9 = var13_16;
if (var51_11) break block230;
if (v8 == v9) break block231;
var35_44 = (var17_20 - var16_19 << 8) / (var14_17 - var13_16);
var37_46 = (var20_27 - var19_22 << 8) / (var14_17 - var13_16);
v10 = var13_16;
v11 = var14_17;
if (var51_11) break block232;
if (v10 >= v11) break block233;
var34_43 = var16_19 << 8;
var36_45 = var19_22 << 8;
var38_47 = var13_16;
var39_48 = var14_17;
if (!var51_11) break block234;
}
var34_43 = var17_20 << 8;
v10 = var20_27;
v11 = 8;
}
var36_45 = v10 << v11;
var38_47 = var14_17;
var39_48 = var13_16;
}
v8 = var38_47;
if (!var51_11) {
if (v8 < 0) {
var34_43 -= var35_44 * var38_47;
var36_45 -= var37_46 * var38_47;
var38_47 = 0;
}
v8 = var39_48;
}
v9 = var21_28;
if (var51_11) break block230;
if (v8 > v9) {
var39_48 = var21_28;
}
}
this.nb = var26_35;
v8 = var32_41;
v9 = this.nb;
}
if (!var51_11) {
if (v8 < v9) {
this.nb = var32_41;
}
v8 = var38_47;
v9 = this.nb;
}
if (!var51_11) {
if (v8 < v9) {
this.nb = var38_47;
}
this.ob = var27_36;
v8 = var33_42;
v9 = this.ob;
}
if (var51_11) break block235;
if (v8 > v9) {
this.ob = var33_42;
}
v8 = var39_48;
if (var51_11) break block236;
v9 = this.ob;
}
if (v8 > v9) {
this.ob = var39_48;
}
v8 = 0;
}
var40_49 = v8;
for (var3_3 = this.nb; var3_3 < this.ob; ++var3_3) {
block243: {
block244: {
block242: {
block240: {
block241: {
block239: {
block237: {
block238: {
v12 = var3_3;
if (var51_11) break block237;
v13 = var26_35;
if (var51_11) break block212;
if (v12 < v13) break block238;
v12 = var3_3;
if (var51_11) break block237;
if (v12 >= var27_36) break block238;
var1_1 = var2_2 = var22_29;
var4_4 = var40_49 = var24_33;
var22_29 += var23_30;
var24_33 += var25_34;
if (!var51_11) break block239;
}
var1_1 = 655360;
v12 = -655360;
}
var2_2 = v12;
}
v14 = var3_3;
v15 = var32_41;
if (var51_11) break block240;
if (v14 < v15) break block241;
v14 = var3_3;
v15 = var33_42;
if (var51_11) break block240;
if (v14 < v15) {
v16 = var28_37;
v17 = var1_1;
if (!var51_11) {
if (v16 < v17) {
var1_1 = var28_37;
var4_4 = var30_39;
}
v16 = var28_37;
v17 = var2_2;
}
if (!var51_11) {
if (v16 > v17) {
var2_2 = var28_37;
var40_49 = var30_39;
}
var28_37 += var29_38;
v16 = var30_39;
v17 = var31_40;
}
var30_39 = v16 + v17;
}
}
v14 = var3_3;
v15 = var38_47;
}
if (var51_11) break block242;
if (v14 < v15) break block243;
v14 = var3_3;
v15 = var39_48;
}
if (var51_11) break block244;
if (v14 >= v15) break block243;
v14 = var34_43;
v15 = var1_1;
}
if (!var51_11) {
if (v14 < v15) {
var1_1 = var34_43;
var4_4 = var36_45;
}
v14 = var34_43;
v15 = var2_2;
}
if (!var51_11) {
if (v14 > v15) {
var2_2 = var34_43;
var40_49 = var36_45;
}
var34_43 += var35_44;
v14 = var36_45;
v15 = var37_46;
}
var36_45 = v14 + v15;
}
var41_50 = this.mb[var3_3];
var41_50.a = var1_1;
var41_50.b = var2_2;
var41_50.c = var4_4;
var41_50.d = var40_49;
if (!var51_11) continue;
}
v18 = this.nb;
if (var51_11) break block245;
v13 = this.A - this.y;
}
if (v18 >= v13) break block246;
this.nb = this.A - this.y;
if (!var51_11) break block246;
}
v0 = var5_5;
if (var51_11) break block247;
v1 = 4;
}
if (v0 != v1) break block248;
var12_13 = var7_7[0] + this.A;
var13_16 = var7_7[1] + this.A;
var14_17 = var7_7[2] + this.A;
var15_18 = var7_7[3] + this.A;
var16_19 = var6_6[0];
var17_20 = var6_6[1];
var18_21 = var6_6[2];
var19_22 = var6_6[3];
var20_27 = var8_8[0];
var21_28 = var8_8[1];
var22_29 = var8_8[2];
var23_30 = var8_8[3];
var24_33 = this.A + this.y - 1;
var25_34 = 0;
var26_35 = 0;
var27_36 = 0;
var28_37 = 0;
var29_38 = 12345678;
var30_39 = -12345678;
v19 = var15_18;
if (var51_11) break block249;
if (v19 == var12_13) break block250;
var26_35 = (var19_22 - var16_19 << 8) / (var15_18 - var12_13);
var28_37 = (var23_30 - var20_27 << 8) / (var15_18 - var12_13);
v20 = var12_13;
v21 = var15_18;
if (var51_11) break block251;
if (v20 >= v21) break block252;
var25_34 = var16_19 << 8;
var27_36 = var20_27 << 8;
var29_38 = var12_13;
var30_39 = var15_18;
if (!var51_11) break block253;
}
var25_34 = var19_22 << 8;
v20 = var23_30;
v21 = 8;
}
var27_36 = v20 << v21;
var29_38 = var15_18;
var30_39 = var12_13;
}
v19 = var29_38;
if (!var51_11) {
if (v19 < 0) {
var25_34 -= var26_35 * var29_38;
var27_36 -= var28_37 * var29_38;
var29_38 = 0;
}
v19 = var30_39;
}
if (var51_11) break block249;
if (v19 > var24_33) {
var30_39 = var24_33;
}
}
v19 = 0;
}
var31_40 = v19;
var32_41 = 0;
var33_42 = 0;
var34_43 = 0;
var35_44 = 12345678;
var36_45 = -12345678;
v22 = var13_16;
if (var51_11) break block254;
if (v22 == var12_13) break block255;
var32_41 = (var17_20 - var16_19 << 8) / (var13_16 - var12_13);
var34_43 = (var21_28 - var20_27 << 8) / (var13_16 - var12_13);
v23 = var12_13;
v24 = var13_16;
if (var51_11) break block256;
if (v23 >= v24) break block257;
var31_40 = var16_19 << 8;
var33_42 = var20_27 << 8;
var35_44 = var12_13;
var36_45 = var13_16;
if (!var51_11) break block258;
}
var31_40 = var17_20 << 8;
v23 = var21_28;
v24 = 8;
}
var33_42 = v23 << v24;
var35_44 = var13_16;
var36_45 = var12_13;
}
v22 = var35_44;
if (!var51_11) {
if (v22 < 0) {
var31_40 -= var32_41 * var35_44;
var33_42 -= var34_43 * var35_44;
var35_44 = 0;
}
v22 = var36_45;
}
if (var51_11) break block254;
if (v22 > var24_33) {
var36_45 = var24_33;
}
}
v22 = 0;
}
var37_46 = v22;
var38_47 = 0;
var39_48 = 0;
var40_49 = 0;
var41_51 = 12345678;
var42_52 = -12345678;
v25 = var14_17;
if (var51_11) break block259;
if (v25 == var13_16) break block260;
var38_47 = (var18_21 - var17_20 << 8) / (var14_17 - var13_16);
var40_49 = (var22_29 - var21_28 << 8) / (var14_17 - var13_16);
v26 = var13_16;
v27 = var14_17;
if (var51_11) break block261;
if (v26 >= v27) break block262;
var37_46 = var17_20 << 8;
var39_48 = var21_28 << 8;
var41_51 = var13_16;
var42_52 = var14_17;
if (!var51_11) break block263;
}
var37_46 = var18_21 << 8;
v26 = var22_29;
v27 = 8;
}
var39_48 = v26 << v27;
var41_51 = var14_17;
var42_52 = var13_16;
}
v25 = var41_51;
if (!var51_11) {
if (v25 < 0) {
var37_46 -= var38_47 * var41_51;
var39_48 -= var40_49 * var41_51;
var41_51 = 0;
}
v25 = var42_52;
}
if (var51_11) break block259;
if (v25 > var24_33) {
var42_52 = var24_33;
}
}
v25 = 0;
}
var43_53 = v25;
var44_54 = 0;
var45_55 = 0;
var46_56 = 0;
var47_57 = 12345678;
var48_58 = -12345678;
v28 = var15_18;
v29 = var14_17;
if (var51_11) break block264;
if (v28 == v29) break block265;
var44_54 = (var19_22 - var18_21 << 8) / (var15_18 - var14_17);
var46_56 = (var23_30 - var22_29 << 8) / (var15_18 - var14_17);
v30 = var14_17;
v31 = var15_18;
if (var51_11) break block266;
if (v30 >= v31) break block267;
var43_53 = var18_21 << 8;
var45_55 = var22_29 << 8;
var47_57 = var14_17;
var48_58 = var15_18;
if (!var51_11) break block268;
}
var43_53 = var19_22 << 8;
v30 = var23_30;
v31 = 8;
}
var45_55 = v30 << v31;
var47_57 = var15_18;
var48_58 = var14_17;
}
v28 = var47_57;
if (!var51_11) {
if (v28 < 0) {
var43_53 -= var44_54 * var47_57;
var45_55 -= var46_56 * var47_57;
var47_57 = 0;
}
v28 = var48_58;
}
v29 = var24_33;
if (var51_11) break block264;
if (v28 > v29) {
var48_58 = var24_33;
}
}
this.nb = var29_38;
v28 = var35_44;
v29 = this.nb;
}
if (!var51_11) {
if (v28 < v29) {
this.nb = var35_44;
}
v28 = var41_51;
v29 = this.nb;
}
if (!var51_11) {
if (v28 < v29) {
this.nb = var41_51;
}
v28 = var47_57;
v29 = this.nb;
}
if (!var51_11) {
if (v28 < v29) {
this.nb = var47_57;
}
this.ob = var30_39;
v28 = var36_45;
v29 = this.ob;
}
if (!var51_11) {
if (v28 > v29) {
this.ob = var36_45;
}
v28 = var42_52;
v29 = this.ob;
}
if (var51_11) break block269;
if (v28 > v29) {
this.ob = var42_52;
}
v28 = var48_58;
if (var51_11) break block270;
v29 = this.ob;
}
if (v28 > v29) {
this.ob = var48_58;
}
v28 = 0;
}
var49_59 = v28;
for (var3_3 = this.nb; var3_3 < this.ob; ++var3_3) {
block279: {
block280: {
block278: {
block276: {
block277: {
block274: {
block275: {
block273: {
block271: {
block272: {
v32 = var3_3;
if (var51_11) break block271;
v33 = var29_38;
if (var51_11) break block213;
if (v32 < v33) break block272;
v32 = var3_3;
if (var51_11) break block271;
if (v32 >= var30_39) break block272;
var1_1 = var2_2 = var25_34;
var4_4 = var49_59 = var27_36;
var25_34 += var26_35;
var27_36 += var28_37;
if (!var51_11) break block273;
}
var1_1 = 655360;
v32 = -655360;
}
var2_2 = v32;
}
v34 = var3_3;
v35 = var35_44;
if (var51_11) break block274;
if (v34 < v35) break block275;
v34 = var3_3;
v35 = var36_45;
if (var51_11) break block274;
if (v34 < v35) {
v36 = var31_40;
v37 = var1_1;
if (!var51_11) {
if (v36 < v37) {
var1_1 = var31_40;
var4_4 = var33_42;
}
v36 = var31_40;
v37 = var2_2;
}
if (!var51_11) {
if (v36 > v37) {
var2_2 = var31_40;
var49_59 = var33_42;
}
var31_40 += var32_41;
v36 = var33_42;
v37 = var34_43;
}
var33_42 = v36 + v37;
}
}
v34 = var3_3;
v35 = var41_51;
}
if (var51_11) break block276;
if (v34 < v35) break block277;
v34 = var3_3;
v35 = var42_52;
if (var51_11) break block276;
if (v34 < v35) {
v38 = var37_46;
v39 = var1_1;
if (!var51_11) {
if (v38 < v39) {
var1_1 = var37_46;
var4_4 = var39_48;
}
v38 = var37_46;
v39 = var2_2;
}
if (!var51_11) {
if (v38 > v39) {
var2_2 = var37_46;
var49_59 = var39_48;
}
var37_46 += var38_47;
v38 = var39_48;
v39 = var40_49;
}
var39_48 = v38 + v39;
}
}
v34 = var3_3;
v35 = var47_57;
}
if (var51_11) break block278;
if (v34 < v35) break block279;
v34 = var3_3;
v35 = var48_58;
}
if (var51_11) break block280;
if (v34 >= v35) break block279;
v34 = var43_53;
v35 = var1_1;
}
if (!var51_11) {
if (v34 < v35) {
var1_1 = var43_53;
var4_4 = var45_55;
}
v34 = var43_53;
v35 = var2_2;
}
if (!var51_11) {
if (v34 > v35) {
var2_2 = var43_53;
var49_59 = var45_55;
}
var43_53 += var44_54;
v34 = var45_55;
v35 = var46_56;
}
var45_55 = v34 + v35;
}
var50_60 = this.mb[var3_3];
var50_60.a = var1_1;
var50_60.b = var2_2;
var50_60.c = var4_4;
var50_60.d = var49_59;
if (!var51_11) continue;
}
v18 = this.nb;
if (var51_11) break block245;
v33 = this.A - this.y;
}
if (v18 >= v33) break block246;
this.nb = this.A - this.y;
if (!var51_11) break block246;
}
this.nb = var7_7[0] = var7_7[0] + this.A;
this.ob = var7_7[0];
v0 = var3_3 = 1;
}
while (var3_3 < var5_5) {
block283: {
block281: {
block282: {
v40 = var3_3;
v41 = var7_7[v40] + this.A;
var7_7[v40] = v41;
v42 = var12_13 = v41;
v43 = this.nb;
if (var51_11) break block214;
if (var51_11) break block281;
if (v42 >= v43) break block282;
this.nb = var12_13;
if (!var51_11) break block283;
}
v44 = var12_13;
v45 = this.ob;
}
if (v44 > v45) {
this.ob = var12_13;
}
}
++var3_3;
if (!var51_11) continue;
}
v42 = this.nb;
v43 = this.A - this.y;
}
if (!var51_11) {
if (v42 < v43) {
this.nb = this.A - this.y;
}
v42 = this.ob;
v43 = this.A + this.y;
}
if (var51_11) break block284;
if (v42 >= v43) {
this.ob = this.A + this.y - 1;
}
v42 = this.nb;
if (var51_11) break block285;
v43 = this.ob;
}
if (v42 >= v43) {
return;
}
v42 = var3_3 = this.nb;
}
while (var3_3 < this.ob) {
var12_14 = this.mb[var3_3];
var12_14.a = 655360;
var12_14.b = -655360;
++var3_3;
if (!var51_11) continue;
}
var12_13 = var5_5 - 1;
var13_16 = var7_7[0];
var14_17 = var7_7[var12_13];
v46 = var13_16;
v47 = var14_17;
if (var51_11) ** GOTO lbl677
if (v46 >= v47) ** GOTO lbl674
var15_18 = var6_6[0] << 8;
var16_19 = (var6_6[var12_13] - var6_6[0] << 8) / (var14_17 - var13_16);
var17_20 = var8_8[0] << 8;
var18_21 = (var8_8[var12_13] - var8_8[0] << 8) / (var14_17 - var13_16);
v48 = var13_16;
if (!var51_11) {
if (v48 < 0) {
var15_18 -= var16_19 * var13_16;
var17_20 -= var18_21 * var13_16;
var13_16 = 0;
}
v48 = var14_17;
}
if (!var51_11) {
if (v48 > this.ob) {
var14_17 = this.ob;
}
v48 = var3_3 = var13_16;
}
while (var3_3 <= var14_17) {
var19_23 = this.mb[var3_3];
var19_23.a = var19_23.b = var15_18;
var19_23.c = var19_23.d = var17_20;
var15_18 += var16_19;
var17_20 += var18_21;
++var3_3;
if (!var51_11) {
if (!var51_11) continue;
}
break block215;
lbl674:
// 2 sources
v46 = var13_16;
if (var51_11) break block216;
v47 = var14_17;
lbl677:
// 2 sources
if (v46 <= v47) break;
var15_18 = var6_6[var12_13] << 8;
var16_19 = (var6_6[0] - var6_6[var12_13] << 8) / (var13_16 - var14_17);
var17_20 = var8_8[var12_13] << 8;
var18_21 = (var8_8[0] - var8_8[var12_13] << 8) / (var13_16 - var14_17);
v49 = var14_17;
if (!var51_11) {
if (v49 < 0) {
var15_18 -= var16_19 * var14_17;
var17_20 -= var18_21 * var14_17;
var14_17 = 0;
}
v49 = var13_16;
}
if (!var51_11) {
if (v49 > this.ob) {
var13_16 = this.ob;
}
v49 = var3_3 = var14_17;
}
while (var3_3 <= var13_16) {
var19_24 = this.mb[var3_3];
var19_24.a = var19_24.b = var15_18;
var19_24.c = var19_24.d = var17_20;
var15_18 += var16_19;
var17_20 += var18_21;
++var3_3;
if (!var51_11) {
if (!var51_11) continue;
}
break block215;
}
break block4;
}
v46 = 0;
}
var3_3 = v46;
}
block6: while (true) {
v50 = var3_3;
v51 = var12_13;
block7: while (v50 < v51) {
var15_18 = var3_3 + 1;
var16_19 = var7_7[var3_3];
var17_20 = var7_7[var15_18];
v18 = var16_19;
v52 = var17_20;
if (var51_11) break block217;
if (var51_11) ** GOTO lbl757
if (v18 >= v52) ** GOTO lbl755
var18_21 = var6_6[var3_3] << 8;
var19_25 = (var6_6[var15_18] - var6_6[var3_3] << 8) / (var17_20 - var16_19);
var20_27 = var8_8[var3_3] << 8;
var21_28 = (var8_8[var15_18] - var8_8[var3_3] << 8) / (var17_20 - var16_19);
v53 = var16_19;
if (!var51_11) {
if (v53 < 0) {
var18_21 -= var19_25 * var16_19;
var20_27 -= var21_28 * var16_19;
var16_19 = 0;
}
v53 = var17_20;
}
if (!var51_11) {
if (v53 > this.ob) {
var17_20 = this.ob;
}
v53 = var22_29 = var16_19;
}
while (var22_29 <= var17_20) {
var23_31 = this.mb[var22_29];
v50 = var18_21;
v51 = var23_31.a;
if (var51_11) continue block7;
if (!var51_11) {
if (v50 < v51) {
var23_31.a = var18_21;
var23_31.c = var20_27;
}
v54 = var18_21;
v55 = var23_31.b;
}
if (!var51_11) {
if (v54 > v55) {
var23_31.b = var18_21;
var23_31.d = var20_27;
}
var18_21 += var19_25;
v54 = var20_27;
v55 = var21_28;
}
var20_27 = v54 + v55;
++var22_29;
if (!var51_11) continue;
lbl755:
// 2 sources
v56 = var16_19;
v57 = var17_20;
lbl757:
// 2 sources
if (!var51_11) {
if (v56 <= v57) break;
v56 = var6_6[var15_18];
v57 = 8;
}
var18_21 = v56 << v57;
var19_26 = (var6_6[var3_3] - var6_6[var15_18] << 8) / (var16_19 - var17_20);
var20_27 = var8_8[var15_18] << 8;
var21_28 = (var8_8[var3_3] - var8_8[var15_18] << 8) / (var16_19 - var17_20);
v58 = var17_20;
if (!var51_11) {
if (v58 < 0) {
var18_21 -= var19_26 * var17_20;
var20_27 -= var21_28 * var17_20;
var17_20 = 0;
}
v58 = var16_19;
}
if (!var51_11) {
if (v58 > this.ob) {
var16_19 = this.ob;
}
v58 = var22_29 = var17_20;
}
while (var22_29 <= var16_19) {
var23_32 = this.mb[var22_29];
v50 = var18_21;
v51 = var23_32.a;
if (var51_11) continue block7;
if (!var51_11) {
if (v50 < v51) {
var23_32.a = var18_21;
var23_32.c = var20_27;
}
v59 = var18_21;
v60 = var23_32.b;
}
if (!var51_11) {
if (v59 > v60) {
var23_32.b = var18_21;
var23_32.d = var20_27;
}
var18_21 += var19_26;
v59 = var20_27;
v60 = var21_28;
}
var20_27 = v59 + v60;
++var22_29;
if (!var51_11) continue;
}
break block8;
}
++var3_3;
if (!var51_11) continue block6;
}
break;
}
v18 = this.nb;
if (var51_11) break block245;
v52 = this.A - this.y;
}
if (v18 < v52) {
this.nb = this.A - this.y;
}
}
v18 = (int)this.p;
}
if (var51_11) break block286;
if (v18 == 0) break block287;
v18 = this.s;
}
v61 = this.t;
if (var51_11) break block288;
if (v18 >= v61) break block287;
v18 = this.r;
v61 = this.nb;
}
if (var51_11) break block289;
if (v18 < v61) break block287;
v62 = this;
if (var51_11) break block290;
v18 = v62.r;
v61 = this.ob;
}
if (v18 >= v61) break block287;
v62 = this;
}
var12_15 = v62.mb[this.r];
v63 = this.q;
v64 = var12_15.a >> 8;
if (var51_11) break block291;
if (v63 < v64) break block287;
v63 = this.q;
v64 = var12_15.b >> 8;
}
if (var51_11) break block292;
if (v63 > v64) break block287;
v63 = var12_15.a;
if (var51_11) break block293;
v64 = var12_15.b;
}
if (v63 > v64) break block287;
v63 = (int)var9_9.L;
}
if (var51_11) break block294;
if (v63 != 0) break block287;
v63 = var9_9.H[var10_10];
}
if (v63 == 0) {
this.u[this.s] = var9_9;
this.v[this.s] = var10_10;
++this.s;
}
}
}
private void a(int n2, int n3, int n4, int[] nArray, int[] nArray2, int[] nArray3, int n5, l l2) {
int n6;
int n7;
int n8;
int n9;
int n10;
int n11;
int n12;
int n13;
int n14;
int n15;
boolean bl;
block73: {
bl = q.d;
boolean bl2 = false;
int n16 = n5;
if (!bl) {
if (n16 == -2) {
return;
}
n16 = n5;
}
if (!bl) {
if (n16 >= 0) {
int n17 = n5;
if (!bl) {
if (n17 >= this.Y) {
n5 = 0;
}
this.e(n5);
n17 = nArray[0];
}
int n18 = n17;
int n19 = nArray2[0];
int n20 = nArray3[0];
int n21 = n18 - nArray[1];
int n22 = n19 - nArray2[1];
int n23 = n20 - nArray3[1];
int n24 = nArray[--n4] - n18;
int n25 = nArray2[n4] - n19;
int n26 = nArray3[n4] - n20;
int n28 = this.bb[n5];
n28 = 1;
if (!bl) {
if (n27 == n28) {
int n29 = n24 * n19 - n25 * n18 << 12;
int n30 = n25 * n20 - n26 * n19 << 5 - this.B + 7 + 4;
int n31 = n26 * n18 - n24 * n20 << 5 - this.B + 7;
int n32 = n21 * n19 - n22 * n18 << 12;
int n33 = n22 * n20 - n23 * n19 << 5 - this.B + 7 + 4;
int n34 = n23 * n18 - n21 * n20 << 5 - this.B + 7;
int n35 = n22 * n24 - n21 * n25 << 5;
int n36 = n23 * n25 - n22 * n26 << 5 - this.B + 4;
int n37 = n21 * n26 - n23 * n24 >> this.B - 5;
int n38 = n30 >> 4;
int n39 = n33 >> 4;
int n40 = n36 >> 4;
int n41 = this.nb - this.A;
int n42 = this.w;
int n43 = this.z + this.nb * n42;
int n44 = 1;
n29 += n31 * n41;
n32 += n34 * n41;
n35 += n37 * n41;
int n45 = this.vb;
if (!bl) {
if (n45 != 0) {
int n47 = this.nb & 1;
n47 = 1;
if (!bl) {
if (n46 == n47) {
++this.nb;
n29 += n31;
n32 += n34;
n35 += n37;
n43 += n42;
}
n31 <<= 1;
n34 <<= 1;
n37 <<= 1;
int n47 = n42;
n47 = 1;
}
n42 = n46 << n47;
n44 = 2;
}
n45 = this.eb[n5];
}
if (!bl) {
if (n45 == 0) {
for (n2 = this.nb; n2 < this.ob; n2 += n44) {
int n48;
p p2 = this.mb[n2];
n3 = p2.a >> 8;
int n49 = p2.b >> 8;
int n50 = n48 = n49 - n3;
if (!bl) {
if (n50 <= 0) {
n29 += n31;
n32 += n34;
n35 += n37;
n43 += n42;
if (!bl) continue;
}
n50 = p2.c;
}
int n51 = n50;
int n52 = (p2.d - n51) / n48;
int n54 = n3;
n54 = -this.x;
if (!bl) {
if (n53 < n54) {
n51 += (-this.x - n3) * n52;
n3 = -this.x;
n48 = n49 - n3;
}
int n54 = n49;
n54 = this.x;
}
if (!bl) {
if (n53 > n54) {
int n55 = this.x;
n48 = n55 - n3;
}
f.a(this.lb, this.db[n5], 0, 0, n29 + n38 * n3, n32 + n39 * n3, n35 + n40 * n3, n30, n33, n36, n48, n43 + n3, n51, n52 << 2);
n29 += n31;
n32 += n34;
n35 += n37;
int n54 = n43;
n54 = n42;
}
n43 = n53 + n54;
if (!bl) continue;
}
return;
}
n45 = this.nb;
}
for (n2 = (int)(v74180); n2 < this.ob; n2 += n44) {
int n56;
p p3 = this.mb[n2];
n3 = p3.a >> 8;
int n57 = p3.b >> 8;
int n55 = n56 = n57 - n3;
if (!bl) {
if (n55 <= 0) {
n29 += n31;
n32 += n34;
n35 += n37;
n43 += n42;
if (!bl) continue;
}
n55 = p3.c;
}
int n59 = n55;
int n60 = (p3.d - n59) / n56;
int n61 = n3;
n61 = -this.x;
if (!bl) {
if (n58 < n61) {
n59 += (-this.x - n3) * n60;
n3 = -this.x;
n56 = n57 - n3;
}
int n61 = n57;
n61 = this.x;
}
if (!bl) {
if (n58 > n61) {
int n63 = this.x;
n56 = n63 - n3;
}
f.a(this.lb, 0, 0, 0, this.db[n5], n29 + n38 * n3, n32 + n39 * n3, n35 + n40 * n3, n30, n33, n36, n56, n43 + n3, n59, n60);
n29 += n31;
n32 += n34;
n35 += n37;
int n61 = n43;
n61 = n42;
}
n43 = n58 + n61;
if (!bl) continue;
}
return;
}
int n28 = n24 * n19 - n25 * n18;
n28 = 11;
}
int n64 = n27 << n28;
int n65 = n25 * n20 - n26 * n19 << 5 - this.B + 6 + 4;
int n66 = n26 * n18 - n24 * n20 << 5 - this.B + 6;
int n67 = n21 * n19 - n22 * n18 << 11;
int n68 = n22 * n20 - n23 * n19 << 5 - this.B + 6 + 4;
int n69 = n23 * n18 - n21 * n20 << 5 - this.B + 6;
int n70 = n22 * n24 - n21 * n25 << 5;
int n71 = n23 * n25 - n22 * n26 << 5 - this.B + 4;
int n72 = n21 * n26 - n23 * n24 >> this.B - 5;
int n73 = n65 >> 4;
int n74 = n68 >> 4;
int n75 = n71 >> 4;
int n76 = this.nb - this.A;
int n77 = this.w;
int n78 = this.z + this.nb * n77;
int n79 = 1;
n64 += n66 * n76;
n67 += n69 * n76;
n70 += n72 * n76;
int n62 = this.vb;
if (!bl) {
if (n62 != 0) {
int n80 = this.nb & 1;
n80 = 1;
if (!bl) {
if (n63 == n80) {
++this.nb;
n64 += n66;
n67 += n69;
n70 += n72;
n78 += n77;
}
n66 <<= 1;
n69 <<= 1;
n72 <<= 1;
int n80 = n77;
n80 = 1;
}
n77 = n63 << n80;
n79 = 2;
}
n62 = this.eb[n5];
}
if (!bl) {
if (n62 == 0) {
for (n2 = this.nb; n2 < this.ob; n2 += n79) {
int n83;
p p4 = this.mb[n2];
n3 = p4.a >> 8;
int n84 = p4.b >> 8;
int n81 = n83 = n84 - n3;
if (!bl) {
if (n81 <= 0) {
n64 += n66;
n67 += n69;
n70 += n72;
n78 += n77;
if (!bl) continue;
}
n81 = p4.c;
}
int n86 = n81;
int n87 = (p4.d - n86) / n83;
int n85 = n3;
n85 = -this.x;
if (!bl) {
if (n82 < n85) {
n86 += (-this.x - n3) * n87;
n3 = -this.x;
n83 = n84 - n3;
}
int n85 = n84;
n85 = this.x;
}
if (!bl) {
if (n82 > n85) {
int n90 = this.x;
n83 = n90 - n3;
}
f.c(this.lb, this.db[n5], 0, 0, n64 + n73 * n3, n67 + n74 * n3, n70 + n75 * n3, n65, n68, n71, n83, n78 + n3, n86, n87);
n64 += n66;
n67 += n69;
n70 += n72;
int n85 = n78;
n85 = n77;
}
n78 = n82 + n85;
if (!bl) continue;
}
return;
}
n62 = this.nb;
}
for (n2 = (int)(v74636); n2 < this.ob; n2 += n79) {
int n91;
p p5 = this.mb[n2];
n3 = p5.a >> 8;
int n92 = p5.b >> 8;
int n86 = n91 = n92 - n3;
if (!bl) {
if (n86 <= 0) {
n64 += n66;
n67 += n69;
n70 += n72;
n78 += n77;
if (!bl) continue;
}
n86 = p5.c;
}
int n94 = n86;
int n95 = (p5.d - n94) / n91;
int n88 = n3;
n88 = -this.x;
if (!bl) {
if (n87 < n88) {
n94 += (-this.x - n3) * n95;
n3 = -this.x;
n91 = n92 - n3;
}
int n88 = n92;
n88 = this.x;
}
if (!bl) {
if (n87 > n88) {
int n98 = this.x;
n91 = n98 - n3;
}
f.b(this.lb, 0, 0, 0, this.db[n5], n64 + n73 * n3, n67 + n74 * n3, n70 + n75 * n3, n65, n68, n71, n91, n78 + n3, n94, n95);
n64 += n66;
n67 += n69;
n70 += n72;
int n88 = n78;
n88 = n77;
}
n78 = n87 + n88;
if (!bl) continue;
}
return;
}
n16 = n15 = 0;
}
while (n15 < this.a) {
block74: {
block77: {
int n89;
block76: {
int n90;
block75: {
int n13 = this.b[n15];
n13 = n5;
if (bl) break block73;
if (bl) break block75;
if (n14 == n13) {
this.d = this.c[n15];
if (!bl) break;
}
n89 = n15;
if (bl) break block76;
n90 = this.a - 1;
}
if (n89 != n90) break block77;
n89 = (int)(Math.random() * (double)this.a);
}
n12 = n89;
this.b[n12] = n5;
n5 = -1 - n5;
n11 = (n5 >> 10 & 0x1F) * 8;
int n101 = (n5 >> 5 & 0x1F) * 8;
n10 = (n5 & 0x1F) * 8;
for (n9 = 0; n9 < 256; ++n9) {
n8 = n9 * n9;
n7 = n11 * n8 / 65536;
n6 = n101 * n8 / 65536;
int n102 = n10 * n8 / 65536;
this.c[n12][255 - n9] = (n7 << 16) + (n6 << 8) + n102;
if (!bl) {
if (!bl) continue;
}
break block74;
}
this.d = this.c[n12];
}
++n15;
}
if (!bl) continue;
}
n15 = this.w;
int n13 = this.z;
n13 = this.nb * n15;
}
n12 = n14 + n13;
n11 = 1;
int n91 = this.vb;
if (!bl) {
if (n91 != 0) {
int n93 = this.nb & 1;
n93 = 1;
if (!bl) {
if (n92 == n93) {
++this.nb;
n12 += n15;
}
int n93 = n15;
n93 = 1;
}
n15 = n92 << n93;
n11 = 2;
}
n91 = l2.E;
}
if (!bl) {
if (n91 != 0) {
for (n2 = this.nb; n2 < this.ob; n2 += n11) {
p p6 = this.mb[n2];
n3 = p6.a >> 8;
n10 = p6.b >> 8;
int n94 = n9 = n10 - n3;
if (!bl) {
if (n94 <= 0) {
n12 += n15;
if (!bl) continue;
}
n94 = p6.c;
}
n8 = n94;
n7 = (p6.d - n8) / n9;
int n96 = n3;
n96 = -this.x;
if (!bl) {
if (n95 < n96) {
n8 += (-this.x - n3) * n7;
n3 = -this.x;
n9 = n10 - n3;
}
int n96 = n10;
n96 = this.x;
}
if (!bl) {
if (n95 > n96) {
n6 = this.x;
n9 = n6 - n3;
}
f.b(this.lb, -n9, n12 + n3, 0, this.d, n8, n7);
int n96 = n12;
n96 = n15;
}
n12 = n95 + n96;
if (!bl) continue;
}
return;
}
n91 = this.nb;
}
for (n2 = (int)(v74994); n2 < this.ob; n2 += n11) {
p p7 = this.mb[n2];
n3 = p7.a >> 8;
n10 = p7.b >> 8;
int n97 = n9 = n10 - n3;
if (!bl) {
if (n97 <= 0) {
n12 += n15;
if (!bl) continue;
}
n97 = p7.c;
}
n8 = n97;
n7 = (p7.d - n8) / n9;
int n99 = n3;
n99 = -this.x;
if (!bl) {
if (n98 < n99) {
n8 += (-this.x - n3) * n7;
n3 = -this.x;
n9 = n10 - n3;
}
int n99 = n10;
n99 = this.x;
}
if (!bl) {
if (n98 > n99) {
n6 = this.x;
n9 = n6 - n3;
}
f.c(this.lb, -n9, n12 + n3, 0, this.d, n8, n7);
int n99 = n12;
n99 = n15;
}
n12 = n98 + n99;
if (!bl) continue;
}
}
private static 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;
int n16;
int n17;
boolean bl;
block24: {
int n18;
int n19;
int n20;
int n21;
int n22;
block32: {
block31: {
block29: {
block30: {
int n23;
int n24;
block28: {
block27: {
block25: {
block26: {
bl = q.d;
boolean bl2 = false;
int n25 = n10;
if (!bl) {
if (n25 <= 0) {
return;
}
n25 = 0;
}
n22 = n25;
n21 = 0;
n17 = 0;
n24 = n6;
if (!bl) {
if (n24 != 0) {
n2 = n4 / n6 << 7;
n3 = n5 / n6 << 7;
}
n24 = n2;
}
if (bl) break block25;
if (n24 >= 0) break block26;
n2 = 0;
if (!bl) break block27;
}
n24 = n2;
}
n23 = 16256;
if (bl) break block28;
if (n24 > n23) {
n2 = 16256;
}
}
n4 += n7;
n5 += n8;
n24 = n6;
n23 = n9;
}
n20 = n6 = n24 + n23;
if (!bl) {
if (n20 != 0) {
n22 = n4 / n6 << 7;
n21 = n5 / n6 << 7;
}
n20 = n22;
}
if (bl) break block29;
if (n20 >= 0) break block30;
n22 = 0;
if (!bl) break block31;
}
n20 = n22;
}
n19 = 16256;
if (bl) break block32;
if (n20 > n19) {
n22 = 16256;
}
}
n20 = n22 - n2;
n19 = 4;
}
n16 = n20 >> n19;
n15 = n21 - n3 >> 4;
for (n14 = n10 >> 4; n14 > 0; --n14) {
int n26;
int n27;
block36: {
block35: {
block33: {
block34: {
n2 += n12 & 0x600000;
n17 = n12 >> 23;
n12 += n13;
nArray[n11++] = nArray2[(n3 & 0x3F80) + (n2 >> 7)] >>> n17;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17;
n2 += n16;
n2 = (n2 & 0x3FFF) + (n12 & 0x600000);
n17 = n12 >> 23;
n12 += n13;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + (n2 >> 7)] >>> n17;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17;
n2 += n16;
n2 = (n2 & 0x3FFF) + (n12 & 0x600000);
n17 = n12 >> 23;
n12 += n13;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + (n2 >> 7)] >>> n17;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17;
n2 += n16;
n2 = (n2 & 0x3FFF) + (n12 & 0x600000);
n17 = n12 >> 23;
n12 += n13;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + (n2 >> 7)] >>> n17;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17;
nArray[n11++] = nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17;
n2 = n22;
n3 = n21;
n4 += n7;
n5 += n8;
n18 = n6 += n9;
if (bl) break block24;
if (!bl) {
if (n18 != 0) {
n22 = n4 / n6 << 7;
n21 = n5 / n6 << 7;
}
n27 = n22;
}
if (bl) break block33;
if (n27 >= 0) break block34;
n22 = 0;
if (!bl) break block35;
}
n27 = n22;
}
n26 = 16256;
if (bl) break block36;
if (n27 > n26) {
n22 = 16256;
}
}
n16 = n22 - n2 >> 4;
n27 = n21 - n3;
n26 = 4;
}
n15 = n27 >> n26;
if (!bl) continue;
}
n18 = n14 = 0;
}
while (n14 < (n10 & 0xF)) {
int n28 = n14 & 3;
if (!bl) {
if (n28 == 0) {
n2 = (n2 & 0x3FFF) + (n12 & 0x600000);
n17 = n12 >> 23;
n12 += n13;
}
nArray[n11++] = nArray2[(n3 & 0x3F80) + (n2 >> 7)] >>> n17;
n2 += n16;
n28 = n3 + n15;
}
n3 = n28;
++n14;
if (!bl) continue;
}
}
private static 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) {
int n14;
int n15;
int n16;
int n17;
boolean bl;
block24: {
int n18;
int n19;
int n20;
int n21;
int n22;
int n23;
block32: {
block31: {
block29: {
block30: {
int n24;
int n25;
block28: {
block27: {
block25: {
block26: {
bl = q.d;
n23 = h.P;
int n26 = n10;
if (!bl) {
if (n26 <= 0) {
return;
}
n26 = 0;
}
n22 = n26;
n21 = 0;
n17 = 0;
n25 = n6;
if (!bl) {
if (n25 != 0) {
n2 = n4 / n6 << 7;
n3 = n5 / n6 << 7;
}
n25 = n2;
}
if (bl) break block25;
if (n25 >= 0) break block26;
n2 = 0;
n25 = n23;
if (bl) break block25;
if (n25 == 0 && !bl) break block27;
}
n25 = n2;
}
n24 = 16256;
if (bl) break block28;
if (n25 > n24) {
n2 = 16256;
}
}
n4 += n7;
n5 += n8;
n25 = n6;
n24 = n9;
}
n20 = n6 = n25 + n24;
if (!bl) {
if (n20 != 0) {
n22 = n4 / n6 << 7;
n21 = n5 / n6 << 7;
}
n20 = n22;
}
if (bl) break block29;
if (n20 >= 0) break block30;
n22 = 0;
n20 = n23;
if (bl) break block29;
if (n20 == 0 && !bl) break block31;
}
n20 = n22;
}
n19 = 16256;
if (bl) break block32;
if (n20 > n19) {
n22 = 16256;
}
}
n20 = n22 - n2;
n19 = 4;
}
n16 = n20 >> n19;
n15 = n21 - n3 >> 4;
for (n14 = n10 >> 4; n14 > 0; --n14) {
int n27;
int n28;
block36: {
block35: {
block33: {
block34: {
n2 += n12 & 0x600000;
n17 = n12 >> 23;
n12 += n13;
nArray[n11++] = (nArray2[(n3 & 0x3F80) + (n2 >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
n2 += n16;
n2 = (n2 & 0x3FFF) + (n12 & 0x600000);
n17 = n12 >> 23;
n12 += n13;
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + (n2 >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
n2 += n16;
n2 = (n2 & 0x3FFF) + (n12 & 0x600000);
n17 = n12 >> 23;
n12 += n13;
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + (n2 >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
n2 += n16;
n2 = (n2 & 0x3FFF) + (n12 & 0x600000);
n17 = n12 >> 23;
n12 += n13;
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + (n2 >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n15) & 0x3F80) + ((n2 += n16) >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
n2 = n22;
n3 = n21;
n4 += n7;
n5 += n8;
n18 = n6 += n9;
if (bl) break block24;
if (!bl) {
if (n18 != 0) {
n22 = n4 / n6 << 7;
n21 = n5 / n6 << 7;
}
n28 = n22;
}
if (bl) break block33;
if (n28 >= 0) break block34;
n22 = 0;
n28 = n23;
if (bl) break block33;
if (n28 == 0 && !bl) break block35;
}
n28 = n22;
}
n27 = 16256;
if (bl) break block36;
if (n28 > n27) {
n22 = 16256;
}
}
n16 = n22 - n2 >> 4;
n28 = n21 - n3;
n27 = 4;
}
n15 = n28 >> n27;
if (!bl) continue;
}
n18 = n14 = 0;
}
while (n14 < (n10 & 0xF)) {
int n29 = n14 & 3;
if (!bl) {
if (n29 == 0) {
n2 = (n2 & 0x3FFF) + (n12 & 0x600000);
n17 = n12 >> 23;
n12 += n13;
}
nArray[n11++] = (nArray2[(n3 & 0x3F80) + (n2 >> 7)] >>> n17) + (nArray[n11] >> 1 & 0x7F7F7F);
n2 += n16;
n29 = n3 + n15;
}
n3 = n29;
++n14;
if (!bl) continue;
}
}
/*
* Unable to fully structure code
*/
private static void a(int[] var0, int var1_1, int var2_2, int var3_3, int[] var4_4, int var5_5, int var6_6, int var7_7, int var8_8, int var9_9, int var10_10, int var11_11, int var12_12, int var13_13, int var14_14) {
block57: {
block56: {
block54: {
block55: {
var23_15 = q.d;
var15_16 = false;
v0 = var11_11;
if (!var23_15) {
if (v0 <= 0) {
return;
}
v0 = 0;
}
var16_17 = v0;
var17_18 = 0;
var14_14 <<= 2;
v1 = var7_7;
if (!var23_15) {
if (v1 != 0) {
var16_17 = var5_5 / var7_7 << 7;
var17_18 = var6_6 / var7_7 << 7;
}
v1 = var16_17;
}
if (var23_15) break block54;
if (v1 >= 0) break block55;
var16_17 = 0;
if (!var23_15) break block56;
}
v1 = var16_17;
}
if (var23_15) break block57;
if (v1 > 16256) {
var16_17 = 16256;
}
}
v1 = var11_11;
}
var18_19 = v1;
block0: while (true) {
v2 = var18_19;
block1: while (v2 > 0) {
block61: {
block60: {
block58: {
block59: {
var5_5 += var8_8;
var6_6 += var9_9;
var2_2 = var16_17;
var3_3 = var17_18;
v3 = var7_7 += var10_10;
if (!var23_15) {
if (v3 != 0) {
var16_17 = var5_5 / var7_7 << 7;
var17_18 = var6_6 / var7_7 << 7;
}
v3 = var16_17;
}
if (var23_15) break block58;
if (v3 >= 0) break block59;
var16_17 = 0;
if (!var23_15) break block60;
}
v3 = var16_17;
}
v4 = 16256;
if (var23_15) break block61;
if (v3 > v4) {
var16_17 = 16256;
}
}
v3 = var16_17 - var2_2;
v4 = 4;
}
var19_20 = v3 >> v4;
var20_21 = var17_18 - var3_3 >> 4;
var21_22 = var13_13 >> 23;
var2_2 += var13_13 & 0x600000;
var13_13 += var14_14;
v5 = var18_19;
v6 = 16;
if (var23_15) ** GOTO lbl91
if (v5 >= v6) ** GOTO lbl88
var22_23 = 0;
while (var22_23 < var18_19) {
block66: {
block65: {
block64: {
block63: {
block62: {
v2 = var4_4[(var3_3 & 16256) + (var2_2 >> 7)] >>> var21_22;
if (var23_15) continue block1;
if (var23_15) break block62;
if (v2 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
var2_2 += var19_20;
var3_3 += var20_21;
if (var23_15) break block63;
v7 = var22_23 & 3;
}
if (v7 == 3) {
var2_2 = (var2_2 & 16383) + (var13_13 & 0x600000);
var21_22 = var13_13 >> 23;
var13_13 += var14_14;
}
++var22_23;
}
if (!var23_15) continue;
lbl88:
// 2 sources
v8 = var4_4[(var3_3 & 16256) + (var2_2 >> 7)] >>> var21_22;
v6 = v8;
v5 = v8;
lbl91:
// 2 sources
var1_1 = v6;
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 16256) + ((var2_2 += var19_20) >> 7)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 16256) + ((var2_2 += var19_20) >> 7)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 16256) + ((var2_2 += var19_20) >> 7)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
var2_2 += var19_20;
var2_2 = (var2_2 & 16383) + (var13_13 & 0x600000);
var21_22 = var13_13 >> 23;
var13_13 += var14_14;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 16256) + (var2_2 >> 7)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 16256) + ((var2_2 += var19_20) >> 7)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 16256) + ((var2_2 += var19_20) >> 7)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 16256) + ((var2_2 += var19_20) >> 7)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
var2_2 += var19_20;
var2_2 = (var2_2 & 16383) + (var13_13 & 0x600000);
var21_22 = var13_13 >> 23;
var13_13 += var14_14;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 16256) + (var2_2 >> 7)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 16256) + ((var2_2 += var19_20) >> 7)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 16256) + ((var2_2 += var19_20) >> 7)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 16256) + ((var2_2 += var19_20) >> 7)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
var2_2 += var19_20;
var2_2 = (var2_2 & 16383) + (var13_13 & 0x600000);
var21_22 = var13_13 >> 23;
var13_13 += var14_14;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 16256) + (var2_2 >> 7)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 16256) + ((var2_2 += var19_20) >> 7)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 16256) + ((var2_2 += var19_20) >> 7)] >>> var21_22;
}
if (var23_15) break block64;
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v9 = var4_4;
v10 = ((var3_3 += var20_21) & 16256) + ((var2_2 += var19_20) >> 7);
if (var23_15) break block65;
v5 = var1_1 = v9[v10] >>> var21_22;
}
if (v5 == 0) break block66;
v9 = var0;
v10 = var12_12;
}
v9[v10] = var1_1;
}
++var12_12;
break;
}
var18_19 -= 16;
if (!var23_15) continue block0;
}
break;
}
}
/*
* Exception decompiling
*/
private static void c(int[] var0, int[] var1_1, int var2_2, int var3_3, int var4_4, int var5_5, int var6_6, int var7_7, int var8_8, int var9_9, int var10_10, int var11_11, int var12_12, int var13_13) {
/*
* This method has failed to decompile. When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
*
* org.benf.cfr.reader.util.ConfusedCFRException: Tried to end blocks [1[DOLOOP]], but top level block is 2[WHILELOOP]
* at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.processEndingBlocks(Op04StructuredStatement.java:435)
* at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:484)
* at org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:736)
* at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:850)
* at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:278)
* at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:201)
* at org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:94)
* at org.benf.cfr.reader.entities.Method.analyse(Method.java:531)
* at org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:1055)
* at org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:942)
* at org.benf.cfr.reader.Driver.doJarVersionTypes(Driver.java:257)
* at org.benf.cfr.reader.Driver.doJar(Driver.java:139)
* at org.benf.cfr.reader.CfrDriverImpl.analyse(CfrDriverImpl.java:76)
* at org.benf.cfr.reader.Main.main(Main.java:54)
*/
throw new IllegalStateException("Decompilation failed");
}
private static void d(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;
int n16;
int n17;
boolean bl;
block29: {
int n18;
block28: {
block26: {
block27: {
bl = q.d;
n17 = h.P;
int n19 = n10;
if (!bl) {
if (n19 <= 0) {
return;
}
n19 = 0;
}
n16 = n19;
n15 = 0;
n13 <<= 2;
n18 = n6;
if (!bl) {
if (n18 != 0) {
n16 = n4 / n6 << 6;
n15 = n5 / n6 << 6;
}
n18 = n16;
}
if (bl) break block26;
if (n18 >= 0) break block27;
n16 = 0;
n18 = n17;
if (bl) break block26;
if (n18 == 0 && !bl) break block28;
}
n18 = n16;
}
if (bl) break block29;
if (n18 > 4032) {
n16 = 4032;
}
}
n18 = n14 = n10;
}
while (n14 > 0) {
block36: {
int n20;
int n21;
block35: {
int n22;
int n23;
block25: {
int n24;
int n25;
block34: {
int n26;
int n27;
block33: {
block32: {
block30: {
block31: {
n4 += n7;
n5 += n8;
n2 = n16;
n3 = n15;
n27 = n6 += n9;
if (!bl) {
if (n27 != 0) {
n16 = n4 / n6 << 6;
n15 = n5 / n6 << 6;
}
n27 = n16;
}
if (bl) break block30;
if (n27 >= 0) break block31;
n16 = 0;
n27 = n17;
if (bl) break block30;
if (n27 == 0 && !bl) break block32;
}
n27 = n16;
}
n26 = 4032;
if (bl) break block33;
if (n27 > n26) {
n16 = 4032;
}
}
n27 = n16 - n2;
n26 = 4;
}
n25 = n27 >> n26;
n24 = n15 - n3 >> 4;
n21 = n12 >> 20;
n2 += n12 & 0xC0000;
n12 += n13;
n23 = n14;
n22 = 16;
if (bl) break block25;
if (n23 >= n22) break block34;
int n28 = 0;
while (n28 < n14) {
nArray[n11++] = (nArray2[(n3 & 0xFC0) + (n2 >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
n2 += n25;
n3 += n24;
if (!bl) {
n23 = n28 & 3;
n22 = 3;
if (bl) break block25;
if (n23 == n22) {
n2 = (n2 & 0xFFF) + (n12 & 0xC0000);
n21 = n12 >> 20;
n12 += n13;
}
++n28;
}
if (!bl) continue;
}
n20 = n17;
if (bl) break block35;
if (n20 == 0 && !bl) break block36;
}
nArray[n11++] = (nArray2[(n3 & 0xFC0) + (n2 >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n24) & 0xFC0) + ((n2 += n25) >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n24) & 0xFC0) + ((n2 += n25) >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n24) & 0xFC0) + ((n2 += n25) >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
n2 += n25;
n2 = (n2 & 0xFFF) + (n12 & 0xC0000);
n21 = n12 >> 20;
n12 += n13;
nArray[n11++] = (nArray2[((n3 += n24) & 0xFC0) + (n2 >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n24) & 0xFC0) + ((n2 += n25) >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n24) & 0xFC0) + ((n2 += n25) >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n24) & 0xFC0) + ((n2 += n25) >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
n2 += n25;
n2 = (n2 & 0xFFF) + (n12 & 0xC0000);
n21 = n12 >> 20;
n12 += n13;
nArray[n11++] = (nArray2[((n3 += n24) & 0xFC0) + (n2 >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n24) & 0xFC0) + ((n2 += n25) >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n24) & 0xFC0) + ((n2 += n25) >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n24) & 0xFC0) + ((n2 += n25) >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
n2 += n25;
n2 = (n2 & 0xFFF) + (n12 & 0xC0000);
n21 = n12 >> 20;
n12 += n13;
nArray[n11++] = (nArray2[((n3 += n24) & 0xFC0) + (n2 >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n24) & 0xFC0) + ((n2 += n25) >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
nArray[n11++] = (nArray2[((n3 += n24) & 0xFC0) + ((n2 += n25) >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
n2 += n25;
n23 = n3;
n22 = n24;
}
n20 = n23 + n22;
}
n3 = n20;
nArray[n11++] = (nArray2[(n3 & 0xFC0) + (n2 >> 6)] >>> n21) + (nArray[n11] >> 1 & 0x7F7F7F);
}
n14 -= 16;
if (!bl) continue;
}
}
/*
* Unable to fully structure code
*/
private static void b(int[] var0, int var1_1, int var2_2, int var3_3, int[] var4_4, int var5_5, int var6_6, int var7_7, int var8_8, int var9_9, int var10_10, int var11_11, int var12_12, int var13_13, int var14_14) {
block57: {
block56: {
block54: {
block55: {
var23_15 = q.d;
var15_16 = false;
v0 = var11_11;
if (!var23_15) {
if (v0 <= 0) {
return;
}
v0 = 0;
}
var16_17 = v0;
var17_18 = 0;
var14_14 <<= 2;
v1 = var7_7;
if (!var23_15) {
if (v1 != 0) {
var16_17 = var5_5 / var7_7 << 6;
var17_18 = var6_6 / var7_7 << 6;
}
v1 = var16_17;
}
if (var23_15) break block54;
if (v1 >= 0) break block55;
var16_17 = 0;
if (!var23_15) break block56;
}
v1 = var16_17;
}
if (var23_15) break block57;
if (v1 > 4032) {
var16_17 = 4032;
}
}
v1 = var11_11;
}
var18_19 = v1;
block0: while (true) {
v2 = var18_19;
block1: while (v2 > 0) {
block61: {
block60: {
block58: {
block59: {
var5_5 += var8_8;
var6_6 += var9_9;
var2_2 = var16_17;
var3_3 = var17_18;
v3 = var7_7 += var10_10;
if (!var23_15) {
if (v3 != 0) {
var16_17 = var5_5 / var7_7 << 6;
var17_18 = var6_6 / var7_7 << 6;
}
v3 = var16_17;
}
if (var23_15) break block58;
if (v3 >= 0) break block59;
var16_17 = 0;
if (!var23_15) break block60;
}
v3 = var16_17;
}
v4 = 4032;
if (var23_15) break block61;
if (v3 > v4) {
var16_17 = 4032;
}
}
v3 = var16_17 - var2_2;
v4 = 4;
}
var19_20 = v3 >> v4;
var20_21 = var17_18 - var3_3 >> 4;
var21_22 = var13_13 >> 20;
var2_2 += var13_13 & 786432;
var13_13 += var14_14;
v5 = var18_19;
v6 = 16;
if (var23_15) ** GOTO lbl91
if (v5 >= v6) ** GOTO lbl88
var22_23 = 0;
while (var22_23 < var18_19) {
block66: {
block65: {
block64: {
block63: {
block62: {
v2 = var4_4[(var3_3 & 4032) + (var2_2 >> 6)] >>> var21_22;
if (var23_15) continue block1;
if (var23_15) break block62;
if (v2 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
var2_2 += var19_20;
var3_3 += var20_21;
if (var23_15) break block63;
v7 = var22_23 & 3;
}
if (v7 == 3) {
var2_2 = (var2_2 & 4095) + (var13_13 & 786432);
var21_22 = var13_13 >> 20;
var13_13 += var14_14;
}
++var22_23;
}
if (!var23_15) continue;
lbl88:
// 2 sources
v8 = var4_4[(var3_3 & 4032) + (var2_2 >> 6)] >>> var21_22;
v6 = v8;
v5 = v8;
lbl91:
// 2 sources
var1_1 = v6;
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 4032) + ((var2_2 += var19_20) >> 6)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 4032) + ((var2_2 += var19_20) >> 6)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 4032) + ((var2_2 += var19_20) >> 6)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
var2_2 += var19_20;
var2_2 = (var2_2 & 4095) + (var13_13 & 786432);
var21_22 = var13_13 >> 20;
var13_13 += var14_14;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 4032) + (var2_2 >> 6)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 4032) + ((var2_2 += var19_20) >> 6)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 4032) + ((var2_2 += var19_20) >> 6)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 4032) + ((var2_2 += var19_20) >> 6)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
var2_2 += var19_20;
var2_2 = (var2_2 & 4095) + (var13_13 & 786432);
var21_22 = var13_13 >> 20;
var13_13 += var14_14;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 4032) + (var2_2 >> 6)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 4032) + ((var2_2 += var19_20) >> 6)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 4032) + ((var2_2 += var19_20) >> 6)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 4032) + ((var2_2 += var19_20) >> 6)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
var2_2 += var19_20;
var2_2 = (var2_2 & 4095) + (var13_13 & 786432);
var21_22 = var13_13 >> 20;
var13_13 += var14_14;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 4032) + (var2_2 >> 6)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 4032) + ((var2_2 += var19_20) >> 6)] >>> var21_22;
}
if (!var23_15) {
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v5 = var1_1 = var4_4[((var3_3 += var20_21) & 4032) + ((var2_2 += var19_20) >> 6)] >>> var21_22;
}
if (var23_15) break block64;
if (v5 != 0) {
var0[var12_12] = var1_1;
}
++var12_12;
v9 = var4_4;
v10 = ((var3_3 += var20_21) & 4032) + ((var2_2 += var19_20) >> 6);
if (var23_15) break block65;
v5 = var1_1 = v9[v10] >>> var21_22;
}
if (v5 == 0) break block66;
v9 = var0;
v10 = var12_12;
}
v9[v10] = var1_1;
}
++var12_12;
break;
}
var18_19 -= 16;
if (!var23_15) continue block0;
}
break;
}
}
private static void a(int[] nArray, int n2, int n3, int n4, int[] nArray2, int n5, int n6) {
int n7;
int n8;
boolean bl;
block7: {
bl = q.d;
int n9 = h.P;
int n10 = n2;
if (!bl) {
if (n10 >= 0) {
return;
}
n4 = nArray2[n5 >> 8 & 0xFF];
n5 += (n6 <<= 1);
n10 = n2 / 8;
}
for (n8 = n7 = (v93142); n8 < 0; ++n8) {
nArray[n3++] = n4;
nArray[n3++] = n4;
n4 = nArray2[n5 >> 8 & 0xFF];
nArray[n3++] = n4;
nArray[n3++] = n4;
n4 = nArray2[(n5 += n6) >> 8 & 0xFF];
nArray[n3++] = n4;
nArray[n3++] = n4;
n4 = nArray2[(n5 += n6) >> 8 & 0xFF];
nArray[n3++] = n4;
nArray[n3++] = n4;
n4 = nArray2[(n5 += n6) >> 8 & 0xFF];
n5 += n6;
if (!bl) {
if (!bl) continue;
}
break block7;
}
n7 = -(n2 % 8);
}
n8 = 0;
while (n8 < n7) {
nArray[n3++] = n4;
if (!bl) {
if ((n8 & 1) == 1) {
n4 = nArray2[n5 >> 8 & 0xFF];
n5 += n6;
}
++n8;
}
if (!bl) continue;
}
}
private static void b(int[] nArray, int n2, int n3, int n4, int[] nArray2, int n5, int n6) {
int n7;
int n8;
boolean bl;
block7: {
bl = q.d;
boolean bl2 = false;
int n9 = n2;
if (!bl) {
if (n9 >= 0) {
return;
}
n4 = nArray2[n5 >> 8 & 0xFF];
n5 += (n6 <<= 2);
n9 = n2 / 16;
}
for (n8 = n7 = (v93261); n8 < 0; ++n8) {
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
n4 = nArray2[n5 >> 8 & 0xFF];
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
n4 = nArray2[(n5 += n6) >> 8 & 0xFF];
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
n4 = nArray2[(n5 += n6) >> 8 & 0xFF];
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
n4 = nArray2[(n5 += n6) >> 8 & 0xFF];
n5 += n6;
if (!bl) {
if (!bl) continue;
}
break block7;
}
n7 = -(n2 % 16);
}
n8 = 0;
while (n8 < n7) {
nArray[n3++] = n4 + (nArray[n3] >> 1 & 0x7F7F7F);
if (!bl) {
if ((n8 & 3) == 3) {
n4 = nArray2[n5 >> 8 & 0xFF];
n5 += n6;
n5 += n6;
}
++n8;
}
if (!bl) continue;
}
}
private static void c(int[] nArray, int n2, int n3, int n4, int[] nArray2, int n5, int n6) {
int n7;
int n8;
boolean bl;
block7: {
bl = q.d;
boolean bl2 = false;
int n9 = n2;
if (!bl) {
if (n9 >= 0) {
return;
}
n4 = nArray2[n5 >> 8 & 0xFF];
n5 += (n6 <<= 2);
n9 = n2 / 16;
}
for (n8 = n7 = (v93543); n8 < 0; ++n8) {
nArray[n3++] = n4;
nArray[n3++] = n4;
nArray[n3++] = n4;
nArray[n3++] = n4;
n4 = nArray2[n5 >> 8 & 0xFF];
nArray[n3++] = n4;
nArray[n3++] = n4;
nArray[n3++] = n4;
nArray[n3++] = n4;
n4 = nArray2[(n5 += n6) >> 8 & 0xFF];
nArray[n3++] = n4;
nArray[n3++] = n4;
nArray[n3++] = n4;
nArray[n3++] = n4;
n4 = nArray2[(n5 += n6) >> 8 & 0xFF];
nArray[n3++] = n4;
nArray[n3++] = n4;
nArray[n3++] = n4;
nArray[n3++] = n4;
n4 = nArray2[(n5 += n6) >> 8 & 0xFF];
n5 += n6;
if (!bl) {
if (!bl) continue;
}
break block7;
}
n7 = -(n2 % 16);
}
n8 = 0;
while (n8 < n7) {
nArray[n3++] = n4;
if (!bl) {
if ((n8 & 3) == 3) {
n4 = nArray2[n5 >> 8 & 0xFF];
n5 += n6;
}
++n8;
}
if (!bl) continue;
}
}
public void b(int n2, int n3, int n4, int n5, int n6, int n7, int n8) {
int n9;
int n10;
int n11;
block8: {
int n12;
int n13;
int n14;
int n15;
block7: {
boolean bl = q.d;
this.G = 1024 - (n5 &= 0x3FF) & 0x3FF;
this.H = 1024 - (n6 &= 0x3FF) & 0x3FF;
this.I = 1024 - (n7 &= 0x3FF) & 0x3FF;
n11 = 0;
n10 = 0;
n9 = n8;
n15 = n5;
if (!bl) {
if (n15 != 0) {
n14 = k[n5];
n13 = k[n5 + 1024];
n12 = 0 * n13 - n9 * n14 >> 15;
n9 = 0 * n14 + n9 * n13 >> 15;
n10 = n12;
}
n15 = n6;
}
if (!bl) {
if (n15 != 0) {
n14 = k[n6];
n13 = k[n6 + 1024];
n12 = n9 * n14 + 0 * n13 >> 15;
n9 = n9 * n13 - 0 * n14 >> 15;
n11 = n12;
}
n15 = n7;
}
if (bl) break block7;
if (n15 == 0) break block8;
n15 = k[n7];
}
n14 = n15;
n13 = k[n7 + 1024];
n12 = n10 * n14 + n11 * n13 >> 15;
n10 = n10 * n13 - n11 * n14 >> 15;
n11 = n12;
}
this.D = n2 - n11;
this.E = n3 - n10;
this.F = n4 - n9;
}
/*
* Unable to fully structure code
*/
private void c(int var1_1) {
block50: {
block55: {
block51: {
block52: {
var29_2 = q.d;
var2_3 = false;
var3_4 = this.O[var1_1];
var4_5 = var3_4.g;
var5_6 = var3_4.h;
var6_7 = var4_5.k[var5_6];
var7_8 = var4_5.j[var5_6];
var8_9 = var4_5.o[var5_6];
var9_10 = var4_5.b[var6_7[0]];
var10_11 = var4_5.c[var6_7[0]];
var11_12 = var4_5.d[var6_7[0]];
var12_13 = var4_5.b[var6_7[1]] - var9_10;
var13_14 = var4_5.c[var6_7[1]] - var10_11;
var14_15 = var4_5.d[var6_7[1]] - var11_12;
var15_16 = var4_5.b[var6_7[2]] - var9_10;
var16_17 = var4_5.c[var6_7[2]] - var10_11;
var17_18 = var4_5.d[var6_7[2]] - var11_12;
var18_19 = var13_14 * var17_18 - var16_17 * var14_15;
var19_20 = var14_15 * var15_16 - var17_18 * var12_13;
var20_21 = var12_13 * var16_17 - var15_16 * var13_14;
v0 = var8_9;
v1 = -1;
if (var29_2) break block51;
if (v0 != v1) break block52;
var8_9 = 0;
do {
block54: {
block53: {
if (var18_19 > 25000) break block53;
v2 = var19_20;
v3 = 25000;
if (var29_2 || var29_2) break block54;
if (v2 > v3) break block53;
v2 = var20_21;
v3 = 25000;
if (var29_2) break block54;
if (v2 > v3) break block53;
v2 = var18_19;
v3 = -25000;
if (!var29_2) {
if (v2 >= v3) {
v2 = var19_20;
v3 = -25000;
if (!var29_2) {
if (v2 >= v3) {
v2 = var20_21;
v3 = -25000;
if (!var29_2) {
if (v2 >= v3) break;
} else {
** GOTO lbl52
}
} else {
** GOTO lbl51
}
} else {
** GOTO lbl50
}
} else {
** GOTO lbl49
}
}
break block54;
lbl49:
// 2 sources
break block53;
lbl50:
// 2 sources
break block54;
lbl51:
// 2 sources
break block53;
lbl52:
// 2 sources
break block54;
}
++var8_9;
var18_19 >>= 1;
var19_20 >>= 1;
v2 = var20_21;
v3 = 1;
}
var20_21 = v2 >> v3;
} while (!var29_2);
var4_5.o[var5_6] = var8_9;
var4_5.n[var5_6] = (int)((double)this.C * Math.sqrt(var18_19 * var18_19 + var19_20 * var19_20 + var20_21 * var20_21));
if (!var29_2) break block55;
}
var18_19 >>= var8_9;
var19_20 >>= var8_9;
v0 = var20_21;
v1 = var8_9;
}
var20_21 = v0 >> v1;
}
var3_4.m = var9_10 * var18_19 + var10_11 * var19_20 + var11_12 * var20_21;
var3_4.j = var18_19;
var3_4.k = var19_20;
var3_4.l = var20_21;
var22_23 = var21_22 = var4_5.d[var6_7[0]];
var24_25 = var23_24 = var4_5.e[var6_7[0]];
var26_27 = var25_26 = var4_5.f[var6_7[0]];
for (var27_28 = 1; var27_28 < var7_8; ++var27_28) {
block65: {
block64: {
block63: {
block62: {
block60: {
block61: {
block59: {
block58: {
block56: {
block57: {
var28_29 = var4_5.d[var6_7[var27_28]];
if (var29_2) break block50;
v4 = var28_29;
v5 = var22_23;
if (var29_2) break block56;
if (v4 <= v5) break block57;
var22_23 = var28_29;
if (!var29_2) break block58;
}
v4 = var28_29;
v5 = var21_22;
}
if (var29_2) break block59;
if (v4 < v5) {
var21_22 = var28_29;
}
}
v4 = var28_29 = var4_5.e[var6_7[var27_28]];
v5 = var24_25;
}
if (var29_2) break block60;
if (v4 <= v5) break block61;
var24_25 = var28_29;
if (!var29_2) break block62;
}
v4 = var28_29;
v5 = var23_24;
}
if (var29_2) break block63;
if (v4 < v5) {
var23_24 = var28_29;
}
}
v4 = var28_29 = var4_5.f[var6_7[var27_28]];
v5 = var26_27;
}
if (var29_2) break block64;
if (v4 > v5) {
var26_27 = var28_29;
if (!var29_2) continue;
}
v4 = var28_29;
if (var29_2) break block65;
v5 = var25_26;
}
if (v4 >= v5) continue;
v4 = var28_29;
}
var25_26 = v4;
if (!var29_2) continue;
}
var3_4.e = var21_22;
var3_4.f = var22_23;
var3_4.a = var23_24;
var3_4.c = var24_25;
var3_4.b = var25_26;
var3_4.d = var26_27;
}
}
private void d(int n2) {
int n3;
int n4;
int n5;
int n6;
int n7;
int n8;
block27: {
int n9;
block28: {
int n10;
int n11;
block25: {
boolean bl;
block26: {
block24: {
int[] nArray;
l l2;
block23: {
block21: {
block22: {
block20: {
block19: {
block17: {
block18: {
block16: {
int n12;
block14: {
block15: {
bl = q.d;
boolean bl2 = false;
g g2 = this.O[n2];
l2 = g2.g;
int n13 = g2.h;
nArray = l2.k[n13];
boolean bl3 = false;
boolean bl4 = false;
boolean bl5 = true;
int n14 = l2.b[nArray[0]];
int n15 = l2.c[nArray[0]];
int n16 = l2.d[nArray[0]];
l2.n[n13] = 1;
l2.o[n13] = 0;
g2.m = n14 * 0 + n15 * 0 + n16 * 1;
g2.j = 0;
g2.k = 0;
g2.l = 1;
n7 = n8 = l2.d[nArray[0]];
n5 = n6 = l2.e[nArray[0]];
n12 = l2.e[nArray[1]];
if (bl) break block14;
if (n12 >= n6) break block15;
n6 = l2.e[nArray[1]];
if (!bl) break block16;
}
n12 = l2.e[nArray[1]];
}
n5 = n12;
}
n4 = l2.f[nArray[1]];
n3 = l2.f[nArray[0]];
n9 = n11 = l2.d[nArray[1]];
n10 = n7;
if (bl) break block17;
if (n9 <= n10) break block18;
n7 = n11;
if (!bl) break block19;
}
n9 = n11;
n10 = n8;
}
if (bl) break block20;
if (n9 < n10) {
n8 = n11;
}
}
n9 = n11 = l2.e[nArray[1]];
n10 = n5;
}
if (bl) break block21;
if (n9 <= n10) break block22;
n5 = n11;
if (!bl) break block23;
}
n9 = n11;
n10 = n6;
}
if (bl) break block24;
if (n9 < n10) {
n6 = n11;
}
}
n9 = n11 = l2.f[nArray[1]];
n10 = n3;
}
if (bl) break block25;
if (n9 <= n10) break block26;
n3 = n11;
if (!bl) break block27;
}
n9 = n11;
if (bl) break block28;
n10 = n4;
}
if (n9 >= n10) break block27;
n9 = n11;
}
n4 = n9;
}
g2.e = n8;
g2.f = n7;
g2.a = n6 - 20;
g2.c = n5 + 20;
g2.b = n4;
g2.d = n3;
}
/*
* Unable to fully structure code
*/
private boolean a(g var1_1, g var2_2) {
block58: {
block57: {
block56: {
block42: {
block41: {
block44: {
block43: {
var27_3 = q.d;
var3_4 = false;
v0 = var1_1.a;
v1 = var2_2.c;
if (!var27_3) {
if (v0 >= v1) {
return true;
}
v0 = var2_2.a;
v1 = var1_1.c;
}
if (!var27_3) {
if (v0 >= v1) {
return true;
}
v0 = var1_1.b;
v1 = var2_2.d;
}
if (!var27_3) {
if (v0 >= v1) {
return true;
}
v0 = var2_2.b;
v1 = var1_1.d;
}
if (!var27_3) {
if (v0 >= v1) {
return true;
}
v0 = var1_1.e;
v1 = var2_2.f;
}
if (var27_3) break block43;
if (v0 >= v1) {
return true;
}
v2 = var2_2;
if (var27_3) break block44;
v0 = v2.e;
v1 = var1_1.f;
}
if (v0 > v1) {
return false;
}
v2 = var1_1;
}
var4_5 = v2.g;
var5_6 = var2_2.g;
var6_7 = var1_1.h;
var7_8 = var2_2.h;
var8_9 = var4_5.k[var6_7];
var9_10 = var5_6.k[var7_8];
var10_11 = var4_5.j[var6_7];
var11_12 = var5_6.j[var7_8];
var12_13 = var5_6.b[var9_10[0]];
var13_14 = var5_6.c[var9_10[0]];
var14_15 = var5_6.d[var9_10[0]];
var15_16 = var2_2.j;
var16_17 = var2_2.k;
var17_18 = var2_2.l;
var18_19 = var5_6.n[var7_8];
var19_20 = var2_2.m;
var20_21 = 0;
for (var21_22 = 0; var21_22 < var10_11; ++var21_22) {
block47: {
block48: {
block49: {
block45: {
block46: {
var22_24 = var8_9[var21_22];
v3 = var23_26 = (var12_13 - var4_5.b[var22_24]) * var15_16 + (var13_14 - var4_5.c[var22_24]) * var16_17 + (var14_15 - var4_5.d[var22_24]) * var17_18;
v4 = -var18_19;
if (var27_3) ** GOTO lbl98
if (var27_3) break block45;
if (v3 >= v4) break block46;
v5 = var19_20;
if (var27_3) break block47;
if (v5 < 0) break block48;
}
v5 = var23_26;
if (var27_3) break block49;
v6 = var18_19;
}
if (v5 <= v6) continue;
v5 = var19_20;
}
if (!var27_3) {
if (v5 <= 0 && !var27_3) continue;
}
break block47;
}
v5 = var20_21 = 1;
}
if (!var27_3) break;
if (!var27_3) continue;
}
v7 = var20_21;
if (!var27_3) {
if (v7 == 0) {
return true;
}
var12_13 = var4_5.b[var8_9[0]];
var13_14 = var4_5.c[var8_9[0]];
var14_15 = var4_5.d[var8_9[0]];
var15_16 = var1_1.j;
var16_17 = var1_1.k;
var17_18 = var1_1.l;
var18_19 = var4_5.n[var6_7];
var19_20 = var1_1.m;
var20_21 = 0;
v7 = 0;
}
var21_22 = v7;
do {
block55: {
block52: {
block53: {
block54: {
block50: {
block51: {
v3 = var21_22;
v4 = var11_12;
lbl98:
// 2 sources
if (v3 >= v4) break;
var22_24 = var9_10[var21_22];
v8 = var23_26 = (var12_13 - var5_6.b[var22_24]) * var15_16 + (var13_14 - var5_6.c[var22_24]) * var16_17 + (var14_15 - var5_6.d[var22_24]) * var17_18;
v9 = -var18_19;
if (var27_3) break block41;
if (var27_3) break block50;
if (v8 >= v9) break block51;
v10 = var19_20;
if (var27_3) break block52;
if (v10 > 0) break block53;
}
v10 = var23_26;
if (var27_3) break block54;
v11 = var18_19;
}
if (v10 <= v11) break block55;
v10 = var19_20;
}
if (var27_3) break block52;
if (v10 >= 0 && !var27_3) break block55;
}
v10 = var20_21 = 1;
}
if (!var27_3) break;
}
++var21_22;
} while (!var27_3);
v8 = var20_21;
if (!var27_3) {
if (v8 == 0) {
return true;
}
v8 = var10_11;
}
if (var27_3) ** GOTO lbl146
v9 = 2;
}
if (v8 == v9) {
var21_23 = new int[4];
var22_25 = new int[4];
var23_26 = var8_9[0];
var24_28 = var8_9[1];
var21_23[0] = var4_5.e[var23_26] - 20;
var21_23[1] = var4_5.e[var24_28] - 20;
var21_23[2] = var4_5.e[var24_28] + 20;
var21_23[3] = var4_5.e[var23_26] + 20;
var22_25[0] = var22_25[3] = var4_5.f[var23_26];
var22_25[1] = var22_25[2] = var4_5.f[var24_28];
} else {
v8 = var10_11;
lbl146:
// 2 sources
var21_23 = new int[v8];
var22_25 = new int[var10_11];
for (var23_26 = 0; var23_26 < var10_11; ++var23_26) {
var24_28 = var8_9[var23_26];
var21_23[var23_26] = var4_5.e[var24_28];
var22_25[var23_26] = var4_5.f[var24_28];
if (!var27_3) {
if (!var27_3) continue;
}
break block42;
}
}
v12 = var11_12;
if (var27_3) break block56;
if (v12 != 2) break block42;
var23_27 = new int[4];
var24_29 = new int[4];
var25_30 = var9_10[0];
var26_32 = var9_10[1];
var23_27[0] = var5_6.e[var25_30] - 20;
var23_27[1] = var5_6.e[var26_32] - 20;
var23_27[2] = var5_6.e[var26_32] + 20;
var23_27[3] = var5_6.e[var25_30] + 20;
var24_29[0] = var24_29[3] = var5_6.f[var25_30];
var24_29[1] = var24_29[2] = var5_6.f[var26_32];
break block57;
}
v12 = var11_12;
}
var23_27 = new int[v12];
var24_29 = new int[var11_12];
for (var25_31 = 0; var25_31 < var11_12; ++var25_31) {
var26_33 = var9_10[var25_31];
var23_27[var25_31] = var5_6.e[var26_33];
var24_29[var25_31] = var5_6.f[var26_33];
if (!var27_3) {
if (!var27_3) continue;
}
** GOTO lbl-1000
}
}
v13 = this.a(var21_23, var22_25, var23_27, var24_29);
if (!var27_3) {
** if (v13) goto lbl-1000
lbl-1000:
// 1 sources
{
v13 = true;
** GOTO lbl189
}
}
break block58;
lbl-1000:
// 2 sources
{
v13 = false;
}
}
return v13;
}
/*
* Unable to fully structure code
*/
private boolean b(g var1_1, g var2_2) {
block14: {
var24_3 = q.d;
var3_4 = false;
var4_5 = var1_1.g;
var5_6 = var2_2.g;
var6_7 = var1_1.h;
var7_8 = var2_2.h;
var8_9 = var4_5.k[var6_7];
var9_10 = var5_6.k[var7_8];
var10_11 = var4_5.j[var6_7];
var11_12 = var5_6.j[var7_8];
var12_13 = var5_6.b[var9_10[0]];
var13_14 = var5_6.c[var9_10[0]];
var14_15 = var5_6.d[var9_10[0]];
var15_16 = var2_2.j;
var16_17 = var2_2.k;
var17_18 = var2_2.l;
var18_19 = var5_6.n[var7_8];
var19_20 = var2_2.m;
var20_21 = 0;
for (var21_22 = 0; var21_22 < var10_11; ++var21_22) {
block17: {
block18: {
block19: {
block15: {
block16: {
var22_23 = var8_9[var21_22];
v0 = var23_24 = (var12_13 - var4_5.b[var22_23]) * var15_16 + (var13_14 - var4_5.c[var22_23]) * var16_17 + (var14_15 - var4_5.d[var22_23]) * var17_18;
v1 = -var18_19;
if (var24_3) ** GOTO lbl64
if (var24_3) break block15;
if (v0 >= v1) break block16;
v2 = var19_20;
if (var24_3) break block17;
if (v2 < 0) break block18;
}
v2 = var23_24;
if (var24_3) break block19;
v3 = var18_19;
}
if (v2 <= v3) continue;
v2 = var19_20;
}
if (!var24_3) {
if (v2 <= 0 && !var24_3) continue;
}
break block17;
}
v2 = var20_21 = 1;
}
if (!var24_3) break;
if (!var24_3) continue;
}
v4 = var20_21;
if (!var24_3) {
if (v4 == 0) {
return true;
}
var12_13 = var4_5.b[var8_9[0]];
var13_14 = var4_5.c[var8_9[0]];
var14_15 = var4_5.d[var8_9[0]];
var15_16 = var1_1.j;
var16_17 = var1_1.k;
var17_18 = var1_1.l;
var18_19 = var4_5.n[var6_7];
var19_20 = var1_1.m;
var20_21 = 0;
v4 = 0;
}
var21_22 = v4;
do {
block25: {
block22: {
block23: {
block24: {
block20: {
block21: {
v0 = var21_22;
v1 = var11_12;
lbl64:
// 2 sources
if (v0 >= v1) break;
var22_23 = var9_10[var21_22];
v5 = var23_24 = (var12_13 - var5_6.b[var22_23]) * var15_16 + (var13_14 - var5_6.c[var22_23]) * var16_17 + (var14_15 - var5_6.d[var22_23]) * var17_18;
if (var24_3) break block14;
v6 = -var18_19;
if (var24_3) break block20;
if (v5 >= v6) break block21;
v7 = var19_20;
if (var24_3) break block22;
if (v7 > 0) break block23;
}
v7 = var23_24;
if (var24_3) break block24;
v6 = var18_19;
}
if (v7 <= v6) break block25;
v7 = var19_20;
}
if (var24_3) break block22;
if (v7 >= 0 && !var24_3) break block25;
}
v7 = var20_21 = 1;
}
if (!var24_3) break;
}
++var21_22;
} while (!var24_3);
v5 = var20_21;
}
if (!var24_3) {
v5 = v5 == 0 ? 1 : 0;
}
return (boolean)v5;
}
public void b(int n2, int n3, int n4) {
this.Y = n2;
this.Z = new byte[n2][];
this.ab = new int[n2][];
this.bb = new int[n2];
this.cb = new long[n2];
this.eb = new boolean[n2];
this.db = new int[n2][];
fb = 0L;
this.gb = new int[n3][];
this.hb = new int[n4][];
}
public void a(int n2, byte[] byArray, int[] nArray, int n3) {
this.Z[n2] = byArray;
this.ab[n2] = nArray;
this.bb[n2] = n3;
this.cb[n2] = 0L;
this.eb[n2] = false;
this.db[n2] = null;
this.e(n2);
}
public void e(int n2) {
block23: {
int n3;
boolean bl;
block24: {
int n4;
block25: {
block22: {
bl = q.d;
boolean bl2 = false;
if (!bl) {
if (n2 < 0) {
return;
}
++fb;
}
int[] nArray = this.db[n2];
if (!bl) {
if (nArray != null) {
return;
}
nArray = this.bb;
}
n4 = nArray[n2];
if (bl) break block24;
if (n4 != 0) break block25;
int n5 = 0;
while (n5 < this.gb.length) {
block27: {
block26: {
int[][] nArray2 = this.gb;
int n6 = n5++;
if (bl) break block26;
if (nArray2[n6] != null) break block27;
this.gb[n5] = new int[16384];
nArray2 = this.db;
n6 = n2;
}
nArray2[n6] = this.gb[n5];
this.f(n2);
return;
}
if (!bl) continue;
}
long l2 = 0x40000000L;
int n7 = 0;
for (int i2 = 0; i2 < this.Y; ++i2) {
long l3;
f f2;
block30: {
int[] nArray3;
block29: {
int n8;
block28: {
if (bl) break block22;
n8 = i2;
if (bl) break block28;
if (n8 == n2) continue;
nArray3 = this.bb;
if (bl) break block29;
n8 = nArray3[i2];
}
if (n8 != 0) continue;
f2 = this;
if (bl) break block30;
nArray3 = f2.db[i2];
}
if (nArray3 == null) continue;
f2 = this;
}
long l4 = (l3 = f2.cb[i2] - l2) == 0L ? 0 : (l3 < 0L ? -1 : 1);
if (!bl) {
if (l4 >= 0) continue;
l2 = this.cb[i2];
l4 = i2;
}
n7 = (int)l4;
if (!bl) continue;
}
this.db[n2] = this.db[n7];
this.db[n7] = null;
this.f(n2);
}
return;
}
n4 = n3 = 0;
}
while (n3 < this.hb.length) {
block32: {
block31: {
int[][] nArray = this.hb;
int n9 = n3++;
if (bl) break block31;
if (nArray[n9] != null) break block32;
this.hb[n3] = new int[65536];
nArray = this.db;
n9 = n2;
}
nArray[n9] = this.hb[n3];
this.f(n2);
return;
}
if (!bl) continue;
}
long l5 = 0x40000000L;
int n10 = 0;
for (int i3 = 0; i3 < this.Y; ++i3) {
long l6;
f f3;
block35: {
int[] nArray;
block34: {
int n11;
int n12;
block33: {
if (bl) break block23;
n12 = i3;
n11 = n2;
if (bl) break block33;
if (n12 == n11) continue;
nArray = this.bb;
if (bl) break block34;
n12 = nArray[i3];
n11 = 1;
}
if (n12 != n11) continue;
f3 = this;
if (bl) break block35;
nArray = f3.db[i3];
}
if (nArray == null) continue;
f3 = this;
}
long l7 = (l6 = f3.cb[i3] - l5) == 0L ? 0 : (l6 < 0L ? -1 : 1);
if (!bl) {
if (l7 >= 0) continue;
l5 = this.cb[i3];
l7 = i3;
}
n10 = (int)l7;
if (!bl) continue;
}
this.db[n2] = this.db[n10];
this.db[n10] = null;
this.f(n2);
}
}
private void f(int n2) {
int n3;
int n4;
int n5;
int[] nArray;
boolean bl;
block8: {
int n6;
int n7;
block11: {
int n8;
block9: {
block10: {
bl = q.d;
boolean bl2 = false;
n8 = this.bb[n2];
if (bl) break block9;
if (n8 != 0) break block10;
n7 = 64;
if (!bl) break block11;
}
n8 = 128;
}
n7 = n8;
}
nArray = this.db[n2];
n5 = 0;
n4 = 0;
block0: while (true) {
int n9 = n4;
block1: while (n9 < n7) {
n6 = 0;
if (bl) break block8;
for (n3 = v103858; n3 < n7; ++n3) {
int n10;
block14: {
int n11;
block15: {
block12: {
block13: {
n10 = this.ab[n2][this.Z[n2][n3 + n4 * n7] & 0xFF];
n9 = n10 &= 0xF8F8FF;
if (bl) continue block1;
if (bl) break block12;
if (n9 != 0) break block13;
n10 = 1;
if (!bl) break block14;
}
n11 = n10;
}
if (bl) break block15;
if (n11 != 0xF800FF) break block14;
n11 = 0;
}
n10 = n11;
this.eb[n2] = true;
}
nArray[n5++] = n10;
if (!bl) continue;
}
++n4;
if (!bl) continue block0;
}
break;
}
n6 = n4 = 0;
}
while (n4 < n5) {
n3 = nArray[n4];
nArray[n5 + n4] = n3 - (n3 >>> 3) & 0xF8F8FF;
nArray[n5 * 2 + n4] = n3 - (n3 >>> 2) & 0xF8F8FF;
nArray[n5 * 3 + n4] = n3 - (n3 >>> 2) - (n3 >>> 3) & 0xF8F8FF;
++n4;
if (!bl) continue;
}
}
public void g(int n2) {
int n3;
int n4;
int[] nArray;
boolean bl;
block6: {
int n5;
bl = q.d;
boolean bl2 = false;
int[] nArray2 = this.db[n2];
if (!bl) {
if (nArray2 == null) {
return;
}
nArray2 = this.db[n2];
}
nArray = nArray2;
int n6 = 0;
while (n6 < 64) {
block7: {
n4 = n6 + 4032;
n3 = nArray[n4];
n5 = 0;
if (bl) break block6;
for (int i2 = v103958; i2 < 63; ++i2) {
nArray[n4] = nArray[n4 - 64];
n4 -= 64;
if (!bl) {
if (!bl) continue;
}
break block7;
}
this.db[n2][n4] = n3;
++n6;
}
if (!bl) continue;
}
n6 = 4096;
n5 = n4 = 0;
}
while (n4 < 4096) {
n3 = nArray[n4];
nArray[4096 + n4] = n3 - (n3 >>> 3) & 0xF8F8FF;
nArray[8192 + n4] = n3 - (n3 >>> 2) & 0xF8F8FF;
nArray[12288 + n4] = n3 - (n3 >>> 2) - (n3 >>> 3) & 0xF8F8FF;
++n4;
if (!bl) continue;
}
}
public int h(int n2) {
boolean bl = q.d;
int n3 = n2;
if (!bl) {
if (n3 == 12345678) {
return 0;
}
this.e(n2);
n3 = n2;
}
if (!bl) {
if (n3 >= 0) {
return this.db[n2][0];
}
n3 = n2;
}
if (!bl) {
if (n3 < 0) {
n2 = -(n2 + 1);
int n4 = n2 >> 10 & 0x1F;
int n5 = n2 >> 5 & 0x1F;
int n6 = n2 & 0x1F;
return (n4 << 19) + (n5 << 11) + (n6 << 3);
}
n3 = 0;
}
return n3;
}
public void c(int n2, int n3, int n4) {
int n5;
boolean bl;
block5: {
int n6;
block6: {
bl = q.d;
n6 = n2;
if (bl) break block5;
if (n6 != 0) break block6;
n6 = n3;
if (bl) break block5;
if (n6 != 0) break block6;
n6 = n4;
if (bl) break block5;
if (n6 == 0) {
n2 = 32;
}
}
n6 = n5 = 0;
}
while (n5 < this.J) {
this.L[n5].c(n2, n3, n4);
++n5;
if (!bl) continue;
}
}
public void a(int n2, int n3, int n4, int n5, int n6) {
int n7;
boolean bl;
block5: {
int n8;
block6: {
bl = q.d;
n8 = n4;
if (bl) break block5;
if (n8 != 0) break block6;
n8 = n5;
if (bl) break block5;
if (n8 != 0) break block6;
n8 = n6;
if (bl) break block5;
if (n8 == 0) {
n4 = 32;
}
}
n8 = n7 = 0;
}
while (n7 < this.J) {
this.L[n7].a(n2, n3, n4, n5, n6);
++n7;
if (!bl) continue;
}
}
public static int d(int n2, int n3, int n4) {
return -1 - n2 / 8 * 1024 - n3 / 8 * 32 - n4 / 8;
}
public int b(int n2, int n3, int n4, int n5, int n6) {
int n7 = n5;
int n8 = n3;
if (!q.d) {
if (n7 == n8) {
return n2;
}
n7 = n2;
n8 = (n4 - n2) * (n6 - n3) / (n5 - n3);
}
return n7 + n8;
}
public boolean a(int n2, int n3, int n4, int n5, boolean n6) {
int n7;
block24: {
int n8;
block23: {
boolean bl;
block19: {
block20: {
int n9;
block22: {
int n10;
block21: {
block17: {
block18: {
block15: {
block16: {
bl = q.d;
n7 = n6;
if (bl) break block15;
if (!n7) break block16;
int n10 = n2;
n10 = n4;
if (bl) break block17;
if (n9 <= n10) break block18;
}
n7 = n2;
}
n8 = n4;
if (bl) break block19;
if (n7 >= n8) break block20;
}
int n10 = n2;
n10 = n5;
}
if (!bl) {
if (n9 > n10) {
return true;
}
int n10 = n3;
n10 = n4;
}
if (bl) break block21;
if (n9 > n10) {
return true;
}
n9 = n3;
if (bl) break block22;
n10 = n5;
}
if (n9 > n10) {
return true;
}
n9 = n6;
}
if (!bl) {
n9 = n9 == 0;
}
return n9;
}
int n8 = n2;
n8 = n5;
}
if (!bl) {
if (n7 < n8) {
return true;
}
int n8 = n3;
n8 = n4;
}
if (bl) break block23;
if (n7 < n8) {
return true;
}
n7 = n3;
if (bl) break block24;
n8 = n5;
}
if (n7 < n8) {
return true;
}
n7 = n6;
}
return n7;
}
public boolean a(int n2, int n3, int n4, boolean n5) {
int n6;
block16: {
int n7;
block13: {
boolean bl;
block14: {
int n8;
block15: {
int n9;
block11: {
block12: {
block9: {
block10: {
bl = q.d;
n6 = n5;
if (bl) break block9;
if (!n6) break block10;
int n9 = n2;
n9 = n4;
if (bl) break block11;
if (n8 <= n9) break block12;
}
n6 = n2;
}
n7 = n4;
if (bl) break block13;
if (n6 >= n7) break block14;
}
n8 = n3;
if (bl) break block15;
n9 = n4;
}
if (n8 > n9) {
return true;
}
n8 = n5;
}
if (!bl) {
n8 = n8 == 0;
}
return n8;
}
n6 = n3;
if (bl) break block16;
n7 = n4;
}
if (n6 < n7) {
return true;
}
n6 = n5;
}
return n6;
}
/*
* Unable to fully structure code
* Could not resolve type clashes
*/
public boolean a(int[] var1_1, int[] var2_2, int[] var3_3, int[] var4_4) {
block144: {
block123: {
block122: {
block121: {
block133: {
block120: {
block119: {
block131: {
block132: {
block118: {
block117: {
block130: {
block116: {
var22_5 = q.d;
var5_6 = false;
var6_7 = var1_1.length;
var7_8 = var3_3.length;
var8_9 = 0;
var10_11 = var9_10 = var2_2[0];
var11_12 = 0;
var13_14 = var12_13 = var4_4[0];
var14_15 = 0;
for (var15_16 = 1; var15_16 < var6_7; ++var15_16) {
block125: {
block124: {
v0 = var2_2[var15_16];
v1 = var9_10;
if (var22_5) ** GOTO lbl32
if (var22_5) break block124;
if (v0 < v1) {
var9_10 = var2_2[var15_16];
var11_12 = var15_16;
if (!var22_5) continue;
}
v2 = var2_2[var15_16];
if (var22_5) break block125;
v3 = var10_11;
}
if (v2 <= v3) continue;
v2 = var2_2[var15_16];
}
var10_11 = v2;
if (!var22_5) continue;
}
var15_16 = 1;
do {
block128: {
block129: {
block126: {
block127: {
v0 = var15_16;
v1 = var7_8;
lbl32:
// 2 sources
if (v0 >= v1) break;
v4 = var4_4[var15_16];
v5 = var12_13;
if (var22_5) break block116;
if (var22_5) break block126;
if (v4 >= v5) break block127;
var12_13 = var4_4[var15_16];
var14_15 = var15_16;
if (!var22_5) break block128;
}
v6 = var4_4[var15_16];
if (var22_5) break block129;
v7 = var13_14;
}
if (v6 <= v7) break block128;
v6 = var4_4[var15_16];
}
var13_14 = v6;
}
++var15_16;
} while (!var22_5);
v4 = var12_13;
v5 = var10_11;
}
if (!var22_5) {
if (v4 >= v5) {
return false;
}
v4 = var9_10;
v5 = var13_14;
}
if (var22_5) break block130;
if (v4 >= v5) {
return false;
}
v4 = var2_2[var11_12];
if (var22_5) break block131;
v5 = var4_4[var14_15];
}
if (v4 >= v5) break block132;
var15_16 = var11_12;
while (var2_2[var15_16] < var4_4[var14_15]) {
var15_16 = (var15_16 + 1) % var6_7;
if (!var22_5) {
if (!var22_5) continue;
}
break block117;
}
while (var2_2[var11_12] < var4_4[var14_15]) {
v8 = (var11_12 - 1 + var6_7) % var6_7;
if (!var22_5) {
var11_12 = v8;
if (!var22_5) continue;
}
break block118;
}
}
v8 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var4_4[var14_15]);
}
var18_17 = v8;
var19_18 = this.b(var1_1[(var15_16 - 1 + var6_7) % var6_7], var2_2[(var15_16 - 1 + var6_7) % var6_7], var1_1[var15_16], var2_2[var15_16], var4_4[var14_15]);
var20_19 = var3_3[var14_15];
v9 = var18_17;
if (!var22_5) {
v9 = v9 < var20_19 ? 1 : 0;
}
v10 = var19_18;
if (!var22_5) {
v10 = v10 < var20_19 ? 1 : 0;
}
var17_20 = v9 | v10;
v11 = this.a(var18_17, var19_18, var20_19, var17_20);
if (!var22_5) {
if (v11 != 0) {
return true;
}
v11 = (var14_15 + 1) % var7_8;
}
var16_21 = v11;
var14_15 = (var14_15 - 1 + var7_8) % var7_8;
v12 = var11_12;
if (var22_5) ** GOTO lbl148
if (v12 != var15_16) break block133;
var8_9 = 1;
if (!var22_5) break block133;
}
v4 = var16_21 = var14_15;
}
while (var4_4[var16_21] < var2_2[var11_12]) {
var16_21 = (var16_21 + 1) % var7_8;
if (!var22_5) {
if (!var22_5) continue;
}
break block119;
}
while (var4_4[var14_15] < var2_2[var11_12]) {
v13 = (var14_15 - 1 + var7_8) % var7_8;
if (!var22_5) {
var14_15 = v13;
if (!var22_5) continue;
}
break block120;
}
}
v13 = var1_1[var11_12];
}
var18_17 = v13;
var19_18 = this.b(var3_3[(var14_15 + 1) % var7_8], var4_4[(var14_15 + 1) % var7_8], var3_3[var14_15], var4_4[var14_15], var2_2[var11_12]);
var20_19 = this.b(var3_3[(var16_21 - 1 + var7_8) % var7_8], var4_4[(var16_21 - 1 + var7_8) % var7_8], var3_3[var16_21], var4_4[var16_21], var2_2[var11_12]);
v14 = var18_17;
if (!var22_5) {
v14 = v14 < var19_18 ? 1 : 0;
}
v15 = var18_17;
if (!var22_5) {
v15 = v15 < var20_19 ? 1 : 0;
}
v16 = var17_20 = v14 | v15;
if (!var22_5) {
v16 = v16 == false;
}
v12 = (int)this.a(var19_18, var20_19, var18_17, v16);
if (!var22_5) {
if (v12 != 0) {
return true;
}
var15_16 = (var11_12 + 1) % var6_7;
var11_12 = (var11_12 - 1 + var6_7) % var6_7;
v12 = var14_15;
}
if (var22_5) ** GOTO lbl148
if (v12 == var16_21) {
var8_9 = 2;
}
}
while (true) {
block139: {
block138: {
block134: {
block135: {
block137: {
block136: {
v12 = var8_9;
lbl148:
// 3 sources
if (v12 != 0) break;
v17 = var2_2[var11_12];
v18 = var2_2[var15_16];
if (var22_5) break block134;
if (v17 >= v18) break block135;
v19 = var2_2[var11_12];
v20 = var4_4[var14_15];
if (var22_5) break block136;
if (v19 < v20) {
v21 = var2_2[var11_12];
if (!var22_5) {
if (v21 < var4_4[var16_21]) {
var18_17 = var1_1[var11_12];
var19_18 = this.b(var1_1[(var15_16 - 1 + var6_7) % var6_7], var2_2[(var15_16 - 1 + var6_7) % var6_7], var1_1[var15_16], var2_2[var15_16], var2_2[var11_12]);
var20_19 = this.b(var3_3[(var14_15 + 1) % var7_8], var4_4[(var14_15 + 1) % var7_8], var3_3[var14_15], var4_4[var14_15], var2_2[var11_12]);
var21_22 = this.b(var3_3[(var16_21 - 1 + var7_8) % var7_8], var4_4[(var16_21 - 1 + var7_8) % var7_8], var3_3[var16_21], var4_4[var16_21], var2_2[var11_12]);
v22 = this.a(var18_17, var19_18, var20_19, var21_22, var17_20);
if (!var22_5) {
if (v22 != 0) {
return true;
}
v22 = var11_12 = (var11_12 - 1 + var6_7) % var6_7;
}
if (!var22_5) {
if (v22 != var15_16) continue;
v22 = 1;
}
var8_9 = v22;
if (!var22_5) continue;
}
var18_17 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var4_4[var16_21]);
var19_18 = this.b(var1_1[(var15_16 - 1 + var6_7) % var6_7], var2_2[(var15_16 - 1 + var6_7) % var6_7], var1_1[var15_16], var2_2[var15_16], var4_4[var16_21]);
var20_19 = this.b(var3_3[(var14_15 + 1) % var7_8], var4_4[(var14_15 + 1) % var7_8], var3_3[var14_15], var4_4[var14_15], var4_4[var16_21]);
v21 = var3_3[var16_21];
}
var21_22 = v21;
v23 = this.a(var18_17, var19_18, var20_19, var21_22, var17_20);
if (!var22_5) {
if (v23 != 0) {
return true;
}
var16_21 = (var16_21 + 1) % var7_8;
v23 = var14_15;
}
if (!var22_5) {
if (v23 != var16_21) continue;
v23 = 2;
}
var8_9 = v23;
if (!var22_5) continue;
}
v19 = var4_4[var14_15];
if (var22_5) break block137;
v20 = var4_4[var16_21];
}
if (v19 < v20) {
var18_17 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var4_4[var14_15]);
var19_18 = this.b(var1_1[(var15_16 - 1 + var6_7) % var6_7], var2_2[(var15_16 - 1 + var6_7) % var6_7], var1_1[var15_16], var2_2[var15_16], var4_4[var14_15]);
var20_19 = var3_3[var14_15];
var21_22 = this.b(var3_3[(var16_21 - 1 + var7_8) % var7_8], var4_4[(var16_21 - 1 + var7_8) % var7_8], var3_3[var16_21], var4_4[var16_21], var4_4[var14_15]);
v24 = this.a(var18_17, var19_18, var20_19, var21_22, var17_20);
if (!var22_5) {
if (v24 != 0) {
return true;
}
v24 = var14_15 = (var14_15 - 1 + var7_8) % var7_8;
}
if (!var22_5) {
if (v24 != var16_21) continue;
v24 = 2;
}
var8_9 = v24;
if (!var22_5) continue;
}
var18_17 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var4_4[var16_21]);
var19_18 = this.b(var1_1[(var15_16 - 1 + var6_7) % var6_7], var2_2[(var15_16 - 1 + var6_7) % var6_7], var1_1[var15_16], var2_2[var15_16], var4_4[var16_21]);
var20_19 = this.b(var3_3[(var14_15 + 1) % var7_8], var4_4[(var14_15 + 1) % var7_8], var3_3[var14_15], var4_4[var14_15], var4_4[var16_21]);
v19 = var3_3[var16_21];
}
var21_22 = v19;
v25 = this.a(var18_17, var19_18, var20_19, var21_22, var17_20);
if (!var22_5) {
if (v25 != 0) {
return true;
}
var16_21 = (var16_21 + 1) % var7_8;
v25 = var14_15;
}
if (!var22_5) {
if (v25 != var16_21) continue;
v25 = 2;
}
var8_9 = v25;
if (!var22_5) continue;
}
v17 = var2_2[var15_16];
v18 = var4_4[var14_15];
}
if (var22_5) break block138;
if (v17 < v18) {
v26 = var2_2[var15_16];
if (!var22_5) {
if (v26 < var4_4[var16_21]) {
var18_17 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var2_2[var15_16]);
var19_18 = var1_1[var15_16];
var20_19 = this.b(var3_3[(var14_15 + 1) % var7_8], var4_4[(var14_15 + 1) % var7_8], var3_3[var14_15], var4_4[var14_15], var2_2[var15_16]);
var21_22 = this.b(var3_3[(var16_21 - 1 + var7_8) % var7_8], var4_4[(var16_21 - 1 + var7_8) % var7_8], var3_3[var16_21], var4_4[var16_21], var2_2[var15_16]);
v27 = this.a(var18_17, var19_18, var20_19, var21_22, var17_20);
if (!var22_5) {
if (v27 != 0) {
return true;
}
var15_16 = (var15_16 + 1) % var6_7;
v27 = var11_12;
}
if (!var22_5) {
if (v27 != var15_16) continue;
v27 = 1;
}
var8_9 = v27;
if (!var22_5) continue;
}
var18_17 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var4_4[var16_21]);
var19_18 = this.b(var1_1[(var15_16 - 1 + var6_7) % var6_7], var2_2[(var15_16 - 1 + var6_7) % var6_7], var1_1[var15_16], var2_2[var15_16], var4_4[var16_21]);
var20_19 = this.b(var3_3[(var14_15 + 1) % var7_8], var4_4[(var14_15 + 1) % var7_8], var3_3[var14_15], var4_4[var14_15], var4_4[var16_21]);
v26 = var3_3[var16_21];
}
var21_22 = v26;
v28 = this.a(var18_17, var19_18, var20_19, var21_22, var17_20);
if (!var22_5) {
if (v28 != 0) {
return true;
}
var16_21 = (var16_21 + 1) % var7_8;
v28 = var14_15;
}
if (!var22_5) {
if (v28 != var16_21) continue;
v28 = 2;
}
var8_9 = v28;
if (!var22_5) continue;
}
v17 = var4_4[var14_15];
if (var22_5) break block139;
v18 = var4_4[var16_21];
}
if (v17 < v18) {
var18_17 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var4_4[var14_15]);
var19_18 = this.b(var1_1[(var15_16 - 1 + var6_7) % var6_7], var2_2[(var15_16 - 1 + var6_7) % var6_7], var1_1[var15_16], var2_2[var15_16], var4_4[var14_15]);
var20_19 = var3_3[var14_15];
var21_22 = this.b(var3_3[(var16_21 - 1 + var7_8) % var7_8], var4_4[(var16_21 - 1 + var7_8) % var7_8], var3_3[var16_21], var4_4[var16_21], var4_4[var14_15]);
v29 = this.a(var18_17, var19_18, var20_19, var21_22, var17_20);
if (!var22_5) {
if (v29 != 0) {
return true;
}
v29 = var14_15 = (var14_15 - 1 + var7_8) % var7_8;
}
if (!var22_5) {
if (v29 != var16_21) continue;
v29 = 2;
}
var8_9 = v29;
if (!var22_5) continue;
}
var18_17 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var4_4[var16_21]);
var19_18 = this.b(var1_1[(var15_16 - 1 + var6_7) % var6_7], var2_2[(var15_16 - 1 + var6_7) % var6_7], var1_1[var15_16], var2_2[var15_16], var4_4[var16_21]);
var20_19 = this.b(var3_3[(var14_15 + 1) % var7_8], var4_4[(var14_15 + 1) % var7_8], var3_3[var14_15], var4_4[var14_15], var4_4[var16_21]);
v17 = var3_3[var16_21];
}
var21_22 = v17;
v30 = this.a(var18_17, var19_18, var20_19, var21_22, var17_20);
if (!var22_5) {
if (v30 != 0) {
return true;
}
var16_21 = (var16_21 + 1) % var7_8;
v30 = var14_15;
}
if (v30 != var16_21) continue;
var8_9 = 2;
if (!var22_5) {
if (var22_5) break;
continue;
}
break block121;
break;
}
while (var8_9 == 1) {
block141: {
block140: {
v31 = var2_2[var11_12];
v32 = var4_4[var14_15];
if (var22_5) break block140;
if (v31 < v32) {
v33 = var2_2[var11_12];
if (!var22_5) {
if (v33 < var4_4[var16_21]) {
var18_17 = var1_1[var11_12];
var19_18 = this.b(var3_3[(var14_15 + 1) % var7_8], var4_4[(var14_15 + 1) % var7_8], var3_3[var14_15], var4_4[var14_15], var2_2[var11_12]);
var20_19 = this.b(var3_3[(var16_21 - 1 + var7_8) % var7_8], var4_4[(var16_21 - 1 + var7_8) % var7_8], var3_3[var16_21], var4_4[var16_21], var2_2[var11_12]);
v34 = var17_20;
if (!var22_5) {
v34 = v34 == false;
}
return this.a(var19_18, var20_19, var18_17, v34);
}
var18_17 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var4_4[var16_21]);
var19_18 = this.b(var1_1[(var15_16 - 1 + var6_7) % var6_7], var2_2[(var15_16 - 1 + var6_7) % var6_7], var1_1[var15_16], var2_2[var15_16], var4_4[var16_21]);
var20_19 = this.b(var3_3[(var14_15 + 1) % var7_8], var4_4[(var14_15 + 1) % var7_8], var3_3[var14_15], var4_4[var14_15], var4_4[var16_21]);
v33 = var3_3[var16_21];
}
var21_22 = v33;
v35 = this.a(var18_17, var19_18, var20_19, var21_22, var17_20);
if (!var22_5) {
if (v35 != 0) {
return true;
}
var16_21 = (var16_21 + 1) % var7_8;
v35 = var14_15;
}
if (!var22_5) {
if (v35 != var16_21) continue;
v35 = 0;
}
var8_9 = v35;
if (!var22_5) continue;
}
v31 = var4_4[var14_15];
if (var22_5) break block141;
v32 = var4_4[var16_21];
}
if (v31 < v32) {
var18_17 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var4_4[var14_15]);
var19_18 = this.b(var1_1[(var15_16 - 1 + var6_7) % var6_7], var2_2[(var15_16 - 1 + var6_7) % var6_7], var1_1[var15_16], var2_2[var15_16], var4_4[var14_15]);
var20_19 = var3_3[var14_15];
var21_22 = this.b(var3_3[(var16_21 - 1 + var7_8) % var7_8], var4_4[(var16_21 - 1 + var7_8) % var7_8], var3_3[var16_21], var4_4[var16_21], var4_4[var14_15]);
v36 = this.a(var18_17, var19_18, var20_19, var21_22, var17_20);
if (!var22_5) {
if (v36 != 0) {
return true;
}
v36 = var14_15 = (var14_15 - 1 + var7_8) % var7_8;
}
if (!var22_5) {
if (v36 != var16_21) continue;
v36 = 0;
}
var8_9 = v36;
if (!var22_5) continue;
}
var18_17 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var4_4[var16_21]);
var19_18 = this.b(var1_1[(var15_16 - 1 + var6_7) % var6_7], var2_2[(var15_16 - 1 + var6_7) % var6_7], var1_1[var15_16], var2_2[var15_16], var4_4[var16_21]);
var20_19 = this.b(var3_3[(var14_15 + 1) % var7_8], var4_4[(var14_15 + 1) % var7_8], var3_3[var14_15], var4_4[var14_15], var4_4[var16_21]);
v31 = var3_3[var16_21];
}
var21_22 = v31;
v37 = this.a(var18_17, var19_18, var20_19, var21_22, var17_20);
if (!var22_5) {
if (v37 != 0) {
return true;
}
var16_21 = (var16_21 + 1) % var7_8;
v37 = var14_15;
}
if (v37 != var16_21) continue;
var8_9 = 0;
if (!var22_5) {
if (!var22_5) continue;
}
break block122;
}
}
while (var8_9 == 2) {
block143: {
block142: {
v38 = var4_4[var14_15];
v39 = var2_2[var11_12];
if (var22_5) break block142;
if (v38 < v39) {
v40 = var4_4[var14_15];
if (!var22_5) {
if (v40 < var2_2[var15_16]) {
var18_17 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var4_4[var14_15]);
var19_18 = this.b(var1_1[(var15_16 - 1 + var6_7) % var6_7], var2_2[(var15_16 - 1 + var6_7) % var6_7], var1_1[var15_16], var2_2[var15_16], var4_4[var14_15]);
var20_19 = var3_3[var14_15];
return this.a(var18_17, var19_18, var20_19, var17_20);
}
var18_17 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var2_2[var15_16]);
var19_18 = var1_1[var15_16];
var20_19 = this.b(var3_3[(var14_15 + 1) % var7_8], var4_4[(var14_15 + 1) % var7_8], var3_3[var14_15], var4_4[var14_15], var2_2[var15_16]);
v40 = this.b(var3_3[(var16_21 - 1 + var7_8) % var7_8], var4_4[(var16_21 - 1 + var7_8) % var7_8], var3_3[var16_21], var4_4[var16_21], var2_2[var15_16]);
}
var21_22 = v40;
v41 = this.a(var18_17, var19_18, var20_19, var21_22, var17_20);
if (!var22_5) {
if (v41 != 0) {
return true;
}
var15_16 = (var15_16 + 1) % var6_7;
v41 = var11_12;
}
if (!var22_5) {
if (v41 != var15_16) continue;
v41 = 0;
}
var8_9 = v41;
if (!var22_5) continue;
}
v38 = var2_2[var11_12];
if (var22_5) break block143;
v39 = var2_2[var15_16];
}
if (v38 < v39) {
var18_17 = var1_1[var11_12];
var19_18 = this.b(var1_1[(var15_16 - 1 + var6_7) % var6_7], var2_2[(var15_16 - 1 + var6_7) % var6_7], var1_1[var15_16], var2_2[var15_16], var2_2[var11_12]);
var20_19 = this.b(var3_3[(var14_15 + 1) % var7_8], var4_4[(var14_15 + 1) % var7_8], var3_3[var14_15], var4_4[var14_15], var2_2[var11_12]);
var21_22 = this.b(var3_3[(var16_21 - 1 + var7_8) % var7_8], var4_4[(var16_21 - 1 + var7_8) % var7_8], var3_3[var16_21], var4_4[var16_21], var2_2[var11_12]);
v42 = this.a(var18_17, var19_18, var20_19, var21_22, var17_20);
if (!var22_5) {
if (v42 != 0) {
return true;
}
v42 = var11_12 = (var11_12 - 1 + var6_7) % var6_7;
}
if (!var22_5) {
if (v42 != var15_16) continue;
v42 = 0;
}
var8_9 = v42;
if (!var22_5) continue;
}
var18_17 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var2_2[var15_16]);
var19_18 = var1_1[var15_16];
var20_19 = this.b(var3_3[(var14_15 + 1) % var7_8], var4_4[(var14_15 + 1) % var7_8], var3_3[var14_15], var4_4[var14_15], var2_2[var15_16]);
v38 = this.b(var3_3[(var16_21 - 1 + var7_8) % var7_8], var4_4[(var16_21 - 1 + var7_8) % var7_8], var3_3[var16_21], var4_4[var16_21], var2_2[var15_16]);
}
var21_22 = v38;
v43 = this.a(var18_17, var19_18, var20_19, var21_22, var17_20);
if (!var22_5) {
if (v43 != 0) {
return true;
}
var15_16 = (var15_16 + 1) % var6_7;
v43 = var11_12;
}
if (v43 != var15_16) continue;
var8_9 = 0;
if (!var22_5) {
if (!var22_5) continue;
}
break block123;
}
}
v44 = var2_2[var11_12];
if (var22_5) break block144;
if (v44 < var4_4[var14_15]) {
var18_17 = var1_1[var11_12];
var19_18 = this.b(var3_3[(var14_15 + 1) % var7_8], var4_4[(var14_15 + 1) % var7_8], var3_3[var14_15], var4_4[var14_15], var2_2[var11_12]);
var20_19 = this.b(var3_3[(var16_21 - 1 + var7_8) % var7_8], var4_4[(var16_21 - 1 + var7_8) % var7_8], var3_3[var16_21], var4_4[var16_21], var2_2[var11_12]);
v45 = var17_20;
if (!var22_5) {
v45 = v45 == false;
}
return this.a(var19_18, var20_19, var18_17, v45);
}
var18_17 = this.b(var1_1[(var11_12 + 1) % var6_7], var2_2[(var11_12 + 1) % var6_7], var1_1[var11_12], var2_2[var11_12], var4_4[var14_15]);
var19_18 = this.b(var1_1[(var15_16 - 1 + var6_7) % var6_7], var2_2[(var15_16 - 1 + var6_7) % var6_7], var1_1[var15_16], var2_2[var15_16], var4_4[var14_15]);
var20_19 = var3_3[var14_15];
}
v44 = (int)this.a(var18_17, var19_18, var20_19, var17_20);
}
return (boolean)v44;
}
/*
* Handled impossible loop by duplicating code
* Enabled aggressive block sorting
*/
static {
char[] cArray;
block10: {
int n2;
int n3;
char[] cArray2;
int n4;
block9: {
Object var0 = null;
char[] cArray3 = "-\u0002\u0002*M\u0014\u0004P0V\u0013\u0006\u0014dP\u0015C\u0011 @Z\r\u0005(HZ\f\u0012.A\u0019\u0017Q".toCharArray();
n4 = 0;
int n5 = cArray3.length;
cArray2 = cArray3;
n3 = n5;
if (n5 <= 1) break block9;
cArray = cArray2;
n2 = n3;
if (n3 <= n4) break block10;
}
do {
char[] cArray4 = cArray2;
char[] cArray5 = cArray2;
int n6 = n4;
while (true) {
int n7;
char c2 = cArray4[n6];
switch (n4 % 5) {
case 0: {
n7 = 122;
break;
}
case 1: {
n7 = 99;
break;
}
case 2: {
n7 = 112;
break;
}
case 3: {
n7 = 68;
break;
}
default: {
n7 = 36;
}
}
cArray4[n6] = (char)(c2 ^ n7);
++n4;
cArray2 = cArray5;
n3 = n3;
if (n3 != 0) break;
cArray5 = cArray2;
n2 = n3;
n6 = n3;
cArray4 = cArray2;
}
cArray = cArray2;
n2 = n3;
} while (n3 > n4);
}
Eb = new String(cArray).intern();
k = new int[2048];
l = new int[512];
jb = new int[256];
}
}