Files
sbot_archive/t.java
T
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

5029 lines
359 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
import java.io.IOException;
public class t {
final int a = 96;
final int b = 96;
int[][] c;
final int d = 12345678;
final int e = 128;
l f;
l[][] g;
l[] h;
boolean i;
byte[][] j;
byte[] k;
byte[] l;
int m;
boolean n;
byte[][] o;
int[] p;
boolean q;
int[] r;
byte[][] s;
byte[] t;
byte[] u;
byte[][] v;
int[][] w;
byte[][] x;
int[][] y;
byte[][] z;
int[][] A;
l[][] B;
byte[][] C;
int[] D;
h E;
f F;
private static String[] G;
public void a(int n2, int n3, int n4, int n5) {
block14: {
t t2;
block17: {
block18: {
int n6;
int n7;
block21: {
block22: {
boolean bl;
block19: {
block20: {
block15: {
block16: {
block13: {
int n8;
block11: {
block12: {
block8: {
block10: {
block9: {
block7: {
bl = q.d;
boolean bl2 = false;
n7 = n2;
if (bl) break block7;
if (n7 < 0) break block8;
n7 = n3;
}
if (bl) break block9;
if (n7 < 0) break block8;
n7 = n2;
}
n8 = 95;
if (bl) break block10;
if (n7 >= n8) break block8;
n7 = n3;
n8 = 95;
}
if (bl) break block11;
if (n7 < n8) break block12;
}
return;
}
n7 = y.Hb[n5];
if (bl) break block13;
n8 = 1;
}
if (n7 != n8) break block14;
n7 = n4;
}
if (bl) break block15;
if (n7 != 0) break block16;
t2 = this;
if (bl) break block17;
int[] nArray = t2.w[n2];
int n9 = n3;
nArray[n9] = nArray[n9] | 1;
if (n3 <= 0) break block18;
this.e(n2, n3 - 1, 4);
if (!bl) break block18;
}
n7 = n4;
}
n6 = 1;
if (bl) break block19;
if (n7 != n6) break block20;
t2 = this;
if (bl) break block17;
int[] nArray = t2.w[n2];
int n10 = n3;
nArray[n10] = nArray[n10] | 2;
if (n2 <= 0) break block18;
this.e(n2 - 1, n3, 8);
if (!bl) break block18;
}
n7 = n4;
n6 = 2;
}
if (bl) break block21;
if (n7 != n6) break block22;
int[] nArray = this.w[n2];
int n11 = n3;
nArray[n11] = nArray[n11] | 0x10;
if (!bl) break block18;
}
n7 = n4;
n6 = 3;
}
if (n7 == n6) {
int[] nArray = this.w[n2];
int n12 = n3;
nArray[n12] = nArray[n12] | 0x20;
}
}
t2 = this;
}
t2.e(n2, n3, 1, 1);
}
}
/*
* Enabled force condition propagation
* Lifted jumps to return sites
*/
public boolean a(int n2, int n3) {
boolean bl = q.d;
int n4 = this.f(n2, n3);
if (!bl) {
if (n4 <= 0) return 0 != 0;
n4 = this.f(n2 - 1, n3);
}
if (!bl) {
if (n4 <= 0) return 0 != 0;
n4 = this.f(n2 - 1, n3 - 1);
}
if (!bl) {
if (n4 <= 0) return 0 != 0;
n4 = this.f(n2, n3 - 1);
}
if (bl) return n4 != 0;
if (n4 <= 0) return 0 != 0;
return 1 != 0;
}
public int b(int n2, int n3) {
int n4;
int n5;
block16: {
int n6;
block13: {
boolean bl;
block14: {
block15: {
block11: {
block12: {
int n7;
block9: {
block10: {
int n8;
block7: {
block8: {
bl = q.d;
boolean bl2 = false;
n8 = n2;
if (bl) break block7;
if (n8 < 0) break block8;
n8 = n2;
if (bl) break block7;
if (n8 >= 96) break block8;
n8 = n3;
if (bl) break block7;
if (n8 < 0) break block8;
n7 = n3;
if (bl) break block9;
if (n7 < 96) break block10;
}
n8 = 0;
}
return n8;
}
n7 = 0;
}
n6 = n7;
n5 = n2;
n4 = 48;
if (bl) break block11;
if (n5 < n4) break block12;
n5 = n3;
n4 = 48;
if (bl) break block11;
if (n5 >= n4) break block12;
n6 = 1;
n2 -= 48;
if (!bl) break block13;
}
n5 = n2;
n4 = 48;
}
if (bl) break block14;
if (n5 >= n4) break block15;
n5 = n3;
n4 = 48;
if (bl) break block14;
if (n5 < n4) break block15;
n6 = 2;
n3 -= 48;
if (!bl) break block13;
}
n5 = n2;
n4 = 48;
}
if (bl) break block16;
if (n5 < n4) break block13;
n5 = n3;
n4 = 48;
if (bl) break block16;
if (n5 >= n4) {
n6 = 3;
n2 -= 48;
n3 -= 48;
}
}
n5 = this.z[n6][n2 * 48 + n3];
n4 = 255;
}
return n5 & n4;
}
/*
* Unable to fully structure code
*/
public int 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, boolean var9_9) {
block152: {
block151: {
block149: {
var19_10 = q.d;
var10_11 = false;
var11_12 = 0;
while (var11_12 < 96) {
block150: {
v0 = 0;
if (var19_10) break block149;
for (var12_13 = v225329; var12_13 < 96; ++var12_13) {
this.A[var11_12][var12_13] = 0;
if (!var19_10) {
if (!var19_10) continue;
}
break block150;
}
++var11_12;
}
if (!var19_10) continue;
}
var11_12 = 0;
v0 = 0;
}
var12_13 = v0;
var13_14 = var1_1;
var14_15 = var2_2;
this.A[var1_1][var2_2] = 99;
var7_7[0] = var1_1;
++var11_12;
var8_8[0] = var2_2;
var15_16 = var7_7.length;
var16_17 = 0;
while (var12_13 != var11_12) {
block177: {
block175: {
block176: {
block173: {
block174: {
block171: {
block172: {
block169: {
block170: {
block167: {
block168: {
block165: {
block166: {
block163: {
block164: {
block155: {
block156: {
block162: {
block161: {
block159: {
block160: {
block158: {
block157: {
block153: {
block154: {
var13_14 = var7_7[var12_13];
var14_15 = var8_8[var12_13];
var12_13 = (var12_13 + 1) % var15_16;
v1 = var13_14;
if (var19_10) break block153;
if (v1 < var3_3) break block154;
v1 = var13_14;
if (var19_10) break block153;
if (v1 > var5_5) break block154;
v1 = var14_15;
if (!var19_10) {
if (v1 >= var4_4) {
v1 = var14_15;
if (!var19_10) {
if (v1 <= var6_6) {
var16_17 = 1;
if (!var19_10) break;
} else {
** GOTO lbl48
}
} else {
** GOTO lbl47
}
} else {
** GOTO lbl46
}
}
break block153;
lbl46:
// 2 sources
break block154;
lbl47:
// 2 sources
break block153;
}
v1 = (int)var9_9;
}
if (var19_10) break block155;
if (v1 == 0) break block156;
v1 = var13_14;
if (var19_10) break block157;
if (v1 <= 0) ** GOTO lbl-1000
v1 = var13_14 - 1;
v2 = var3_3;
if (var19_10) break block158;
if (v1 < v2) ** GOTO lbl-1000
v1 = var13_14 - 1;
v2 = var5_5;
if (var19_10) break block158;
if (v1 <= v2) {
v1 = var14_15;
v2 = var4_4;
if (!var19_10) {
if (v1 >= v2) {
v1 = var14_15;
v2 = var6_6;
if (!var19_10) {
** if (v1 > v2) goto lbl-1000
lbl-1000:
// 1 sources
{
v1 = this.w[var13_14 - 1][var14_15] & 8;
if (!var19_10) {
if (v1 == 0) {
var16_17 = 1;
if (!var19_10) break;
} else {
** GOTO lbl-1000
}
} else {
** GOTO lbl77
}
lbl77:
// 2 sources
** GOTO lbl83
}
} else {
** GOTO lbl81
}
} else {
** GOTO lbl80
}
} else {
** GOTO lbl79
}
}
** GOTO lbl-1000
lbl79:
// 2 sources
break block158;
lbl80:
// 2 sources
** GOTO lbl-1000
lbl81:
// 2 sources
break block158;
lbl-1000:
// 8 sources
{
v1 = var13_14;
}
}
if (var19_10) break block159;
v2 = 95;
}
if (v1 >= v2) break block160;
v1 = var13_14 + 1;
if (var19_10) break block159;
if (v1 < var3_3) break block160;
v1 = var13_14 + 1;
if (var19_10) break block159;
if (v1 > var5_5) break block160;
v1 = var14_15;
if (!var19_10) {
if (v1 >= var4_4) {
v1 = var14_15;
if (!var19_10) {
if (v1 <= var6_6) {
v1 = this.w[var13_14 + 1][var14_15] & 2;
if (!var19_10) {
if (v1 == 0) {
var16_17 = 1;
if (!var19_10) break;
} else {
** GOTO lbl110
}
} else {
** GOTO lbl109
}
} else {
** GOTO lbl108
}
} else {
** GOTO lbl107
}
} else {
** GOTO lbl106
}
}
break block159;
lbl106:
// 2 sources
break block160;
lbl107:
// 2 sources
break block159;
lbl108:
// 2 sources
break block160;
lbl109:
// 2 sources
break block159;
}
v1 = var14_15;
}
if (var19_10) break block161;
if (v1 <= 0) ** GOTO lbl-1000
v1 = var13_14;
v3 = var3_3;
if (var19_10) break block162;
if (v1 < v3) ** GOTO lbl-1000
v1 = var13_14;
v3 = var5_5;
if (var19_10) break block162;
if (v1 <= v3) {
v1 = var14_15 - 1;
v3 = var4_4;
if (!var19_10) {
if (v1 >= v3) {
v1 = var14_15 - 1;
v3 = var6_6;
if (!var19_10) {
** if (v1 > v3) goto lbl-1000
lbl-1000:
// 1 sources
{
v1 = this.w[var13_14][var14_15 - 1] & 4;
if (!var19_10) {
if (v1 == 0) {
var16_17 = 1;
if (!var19_10) break;
} else {
** GOTO lbl-1000
}
} else {
** GOTO lbl136
}
lbl136:
// 2 sources
** GOTO lbl142
}
} else {
** GOTO lbl140
}
} else {
** GOTO lbl139
}
} else {
** GOTO lbl138
}
}
** GOTO lbl-1000
lbl138:
// 2 sources
break block162;
lbl139:
// 2 sources
** GOTO lbl-1000
lbl140:
// 2 sources
break block162;
lbl-1000:
// 8 sources
{
v1 = var14_15;
}
}
if (var19_10) break block155;
v3 = 95;
}
if (v1 >= v3) break block156;
v1 = var13_14;
if (var19_10) break block155;
if (v1 < var3_3) break block156;
v1 = var13_14;
if (var19_10) break block155;
if (v1 > var5_5) break block156;
v1 = var14_15 + 1;
if (!var19_10) {
if (v1 >= var4_4) {
v1 = var14_15 + 1;
if (!var19_10) {
if (v1 <= var6_6) {
v1 = this.w[var13_14][var14_15 + 1] & 1;
if (!var19_10) {
if (v1 == 0) {
var16_17 = 1;
if (!var19_10) break;
} else {
** GOTO lbl169
}
} else {
** GOTO lbl168
}
} else {
** GOTO lbl167
}
} else {
** GOTO lbl166
}
} else {
** GOTO lbl165
}
}
break block155;
lbl165:
// 2 sources
break block156;
lbl166:
// 2 sources
break block155;
lbl167:
// 2 sources
break block156;
lbl168:
// 2 sources
break block155;
}
v1 = var13_14;
}
if (var19_10) break block163;
if (v1 <= 0) break block164;
v1 = this.A[var13_14 - 1][var14_15];
if (var19_10) break block163;
if (v1 != 0) break block164;
v1 = this.w[var13_14 - 1][var14_15] & 120;
if (var19_10) break block163;
if (v1 == 0) {
var7_7[var11_12] = var13_14 - 1;
var8_8[var11_12] = var14_15;
var11_12 = (var11_12 + 1) % var15_16;
this.A[var13_14 - 1][var14_15] = 2;
}
}
v1 = var13_14;
}
if (var19_10) break block165;
if (v1 >= 95) break block166;
v1 = this.A[var13_14 + 1][var14_15];
if (var19_10) break block165;
if (v1 != 0) break block166;
v1 = this.w[var13_14 + 1][var14_15] & 114;
if (var19_10) break block165;
if (v1 == 0) {
var7_7[var11_12] = var13_14 + 1;
var8_8[var11_12] = var14_15;
var11_12 = (var11_12 + 1) % var15_16;
this.A[var13_14 + 1][var14_15] = 8;
}
}
v1 = var14_15;
}
if (var19_10) break block167;
if (v1 <= 0) break block168;
v1 = this.A[var13_14][var14_15 - 1];
if (var19_10) break block167;
if (v1 != 0) break block168;
v1 = this.w[var13_14][var14_15 - 1] & 116;
if (var19_10) break block167;
if (v1 == 0) {
var7_7[var11_12] = var13_14;
var8_8[var11_12] = var14_15 - 1;
var11_12 = (var11_12 + 1) % var15_16;
this.A[var13_14][var14_15 - 1] = 1;
}
}
v1 = var14_15;
}
if (var19_10) break block169;
if (v1 >= 95) break block170;
v1 = this.A[var13_14][var14_15 + 1];
if (var19_10) break block169;
if (v1 != 0) break block170;
v1 = this.w[var13_14][var14_15 + 1] & 113;
if (var19_10) break block169;
if (v1 == 0) {
var7_7[var11_12] = var13_14;
var8_8[var11_12] = var14_15 + 1;
var11_12 = (var11_12 + 1) % var15_16;
this.A[var13_14][var14_15 + 1] = 4;
}
}
v1 = var13_14;
}
if (var19_10) break block171;
if (v1 <= 0) break block172;
v1 = var14_15;
if (var19_10) break block171;
if (v1 <= 0) break block172;
v1 = this.w[var13_14][var14_15 - 1] & 116;
if (var19_10) break block171;
if (v1 != 0) break block172;
v1 = this.w[var13_14 - 1][var14_15] & 120;
if (var19_10) break block171;
if (v1 != 0) break block172;
v1 = this.w[var13_14 - 1][var14_15 - 1] & 124;
if (var19_10) break block171;
if (v1 != 0) break block172;
v1 = this.A[var13_14 - 1][var14_15 - 1];
if (var19_10) break block171;
if (v1 == 0) {
var7_7[var11_12] = var13_14 - 1;
var8_8[var11_12] = var14_15 - 1;
var11_12 = (var11_12 + 1) % var15_16;
this.A[var13_14 - 1][var14_15 - 1] = 3;
}
}
v1 = var13_14;
}
if (var19_10) break block173;
if (v1 >= 95) break block174;
v1 = var14_15;
if (var19_10) break block173;
if (v1 <= 0) break block174;
v1 = this.w[var13_14][var14_15 - 1] & 116;
if (var19_10) break block173;
if (v1 != 0) break block174;
v1 = this.w[var13_14 + 1][var14_15] & 114;
if (var19_10) break block173;
if (v1 != 0) break block174;
v1 = this.w[var13_14 + 1][var14_15 - 1] & 118;
if (var19_10) break block173;
if (v1 != 0) break block174;
v1 = this.A[var13_14 + 1][var14_15 - 1];
if (var19_10) break block173;
if (v1 == 0) {
var7_7[var11_12] = var13_14 + 1;
var8_8[var11_12] = var14_15 - 1;
var11_12 = (var11_12 + 1) % var15_16;
this.A[var13_14 + 1][var14_15 - 1] = 9;
}
}
v1 = var13_14;
}
if (var19_10) break block175;
if (v1 <= 0) break block176;
v1 = var14_15;
v4 = 95;
if (var19_10) break block177;
if (v1 >= v4) break block176;
v1 = this.w[var13_14][var14_15 + 1] & 113;
if (var19_10) break block175;
if (v1 != 0) break block176;
v1 = this.w[var13_14 - 1][var14_15] & 120;
if (var19_10) break block175;
if (v1 != 0) break block176;
v1 = this.w[var13_14 - 1][var14_15 + 1] & 121;
if (var19_10) break block175;
if (v1 != 0) break block176;
v1 = this.A[var13_14 - 1][var14_15 + 1];
if (var19_10) break block175;
if (v1 == 0) {
var7_7[var11_12] = var13_14 - 1;
var8_8[var11_12] = var14_15 + 1;
var11_12 = (var11_12 + 1) % var15_16;
this.A[var13_14 - 1][var14_15 + 1] = 6;
}
}
v1 = var13_14;
}
v4 = 95;
}
if (v1 >= v4) continue;
v5 = var14_15;
v6 = 95;
if (!var19_10) {
if (!var19_10) {
if (v5 >= v6) continue;
v7 = this.w[var13_14][var14_15 + 1];
v8 = 113;
}
v9 = v7 & v8;
if (!var19_10) {
if (v9 != 0) continue;
v9 = this.w[var13_14 + 1][var14_15] & 114;
}
if (!var19_10) {
if (v9 != 0) continue;
v9 = this.w[var13_14 + 1][var14_15 + 1] & 115;
}
if (!var19_10) {
if (v9 != 0) continue;
v9 = this.A[var13_14 + 1][var14_15 + 1];
}
if (!var19_10) {
if (v9 != 0) continue;
var7_7[var11_12] = var13_14 + 1;
var8_8[var11_12] = var14_15 + 1;
v9 = (var11_12 + 1) % var15_16;
}
var11_12 = v9;
this.A[var13_14 + 1][var14_15 + 1] = 12;
if (!var19_10) continue;
}
break block151;
}
v10 = var16_17;
if (!var19_10) {
if (v10 == 0) {
return -1;
}
var12_13 = 0;
var7_7[0] = var13_14;
++var12_13;
var8_8[0] = var14_15;
v10 = this.A[var13_14][var14_15];
}
v6 = v10;
v5 = v10;
}
var17_18 = v6;
var18_19 = v5;
do {
block184: {
block182: {
block183: {
block181: {
block180: {
block178: {
block179: {
if (var13_14 == var1_1) {
v11 = var14_15;
if (var19_10) break block152;
v12 = var2_2;
if (!var19_10) {
if (v11 == v12) break;
}
} else {
v13 = var18_19;
v12 = var17_18;
}
if (!var19_10) {
if (v13 != v12) {
var17_18 = var18_19;
var7_7[var12_13] = var13_14;
var8_8[var12_13++] = var14_15;
}
v13 = var18_19;
v12 = 2;
}
v14 = v13 & v12;
if (var19_10) break block178;
if (v14 == 0) break block179;
++var13_14;
if (!var19_10) break block180;
}
v14 = var18_19 & 8;
}
if (var19_10) break block181;
if (v14 != 0) {
--var13_14;
}
}
v14 = var18_19 & 1;
}
if (var19_10) break block182;
if (v14 == 0) break block183;
++var14_15;
if (!var19_10) break block184;
}
v14 = var18_19 & 4;
}
if (var19_10) continue;
if (v14 != 0) {
--var14_15;
}
}
v14 = var18_19 = this.A[var13_14][var14_15];
} while (!var19_10);
v11 = var12_13;
}
return v11;
}
public int c(int n2, int n3) {
int n4;
block16: {
int n5;
block13: {
int n6;
boolean bl;
block14: {
block15: {
block11: {
block12: {
int n7;
block9: {
block10: {
int n8;
block7: {
block8: {
bl = q.d;
boolean bl2 = false;
n8 = n2;
if (bl) break block7;
if (n8 < 0) break block8;
n8 = n2;
if (bl) break block7;
if (n8 >= 96) break block8;
n8 = n3;
if (bl) break block7;
if (n8 < 0) break block8;
n7 = n3;
if (bl) break block9;
if (n7 < 96) break block10;
}
n8 = 0;
}
return n8;
}
n7 = 0;
}
n5 = n7;
n4 = n2;
n6 = 48;
if (bl) break block11;
if (n4 < n6) break block12;
n4 = n3;
n6 = 48;
if (bl) break block11;
if (n4 >= n6) break block12;
n5 = 1;
n2 -= 48;
if (!bl) break block13;
}
n4 = n2;
n6 = 48;
}
if (bl) break block14;
if (n4 >= n6) break block15;
n4 = n3;
n6 = 48;
if (bl) break block14;
if (n4 < n6) break block15;
n5 = 2;
n3 -= 48;
if (!bl) break block13;
}
n4 = n2;
if (bl) break block16;
n6 = 48;
}
if (n4 < n6) break block13;
n4 = n3;
if (bl) break block16;
if (n4 >= 48) {
n5 = 3;
n2 -= 48;
n3 -= 48;
}
}
n4 = this.C[n5][n2 * 48 + n3];
}
return n4;
}
public void a(int n2, int n3, int n4) {
block13: {
int n5;
int n6;
int n7;
boolean bl;
block26: {
int n8;
block24: {
block25: {
int n9;
block22: {
block23: {
int n10;
block20: {
block21: {
int n11;
block18: {
block19: {
block15: {
block17: {
block16: {
block14: {
bl = q.d;
boolean bl2 = false;
n10 = n2;
if (bl) break block14;
if (n10 < 0) break block15;
n10 = n3;
}
if (bl) break block16;
if (n10 < 0) break block15;
n10 = n2;
}
n11 = 95;
if (bl) break block17;
if (n10 >= n11) break block15;
n10 = n3;
n11 = 95;
}
if (bl) break block18;
if (n10 < n11) break block19;
}
return;
}
n10 = y.Y[n4];
if (bl) break block20;
n11 = 1;
}
if (n10 == n11) break block21;
n10 = y.Y[n4];
if (bl) break block20;
if (n10 != 2) break block13;
}
n10 = this.c(n2, n3);
}
n9 = n7 = n10;
if (bl) break block22;
if (n9 == 0) break block23;
n8 = n7;
if (bl) break block24;
if (n8 != 4) break block25;
}
n9 = y.W[n4];
}
n6 = n9;
n5 = y.X[n4];
if (!bl) break block26;
}
n8 = y.W[n4];
}
n5 = n8;
n6 = y.X[n4];
}
int n12 = n2;
block0: while (true) {
int n13 = n12;
int n14 = n2 + n6;
block1: while (n13 < n14) {
if (bl) break block13;
int n15 = n3;
while (n15 < n3 + n5) {
block32: {
block29: {
int n16;
block37: {
int n17;
block35: {
block36: {
block33: {
block34: {
block30: {
block31: {
block27: {
block28: {
n16 = y.Y[n4];
if (bl) break block27;
n14 = 1;
if (bl) continue block1;
if (n16 != n14) break block28;
int[] nArray = this.w[n12];
int n18 = n15;
nArray[n18] = nArray[n18] & 0xFFBF;
if (!bl) break block29;
}
n16 = n7;
}
if (bl) break block30;
if (n16 != 0) break block31;
int[] nArray = this.w[n12];
int n19 = n15;
nArray[n19] = nArray[n19] & 0xFFFD;
if (bl) break block32;
if (n12 <= 0) break block29;
this.g(n12 - 1, n15, 8);
if (!bl) break block29;
}
n16 = n7;
}
n17 = 2;
if (bl) break block33;
if (n16 != n17) break block34;
int[] nArray = this.w[n12];
int n20 = n15;
nArray[n20] = nArray[n20] & 0xFFFB;
if (bl) break block32;
if (n15 >= 95) break block29;
this.g(n12, n15 + 1, 1);
if (!bl) break block29;
}
n16 = n7;
n17 = 4;
}
if (bl) break block35;
if (n16 != n17) break block36;
int[] nArray = this.w[n12];
int n21 = n15;
nArray[n21] = nArray[n21] & 0xFFF7;
if (bl) break block32;
if (n12 >= 95) break block29;
this.g(n12 + 1, n15, 2);
if (!bl) break block29;
}
n16 = n7;
if (bl) break block37;
n17 = 6;
}
if (n16 != n17) break block29;
int[] nArray = this.w[n12];
int n22 = n15;
nArray[n22] = nArray[n22] & 0xFFFE;
if (bl) break block32;
n16 = n15;
}
if (n16 > 0) {
this.g(n12, n15 - 1, 4);
}
}
++n15;
}
if (!bl) continue;
}
++n12;
if (!bl) continue block0;
}
break;
}
this.e(n2, n3, n6, n5);
}
}
public int b(int n2, int n3, int n4) {
int n5;
int n6;
boolean bl = q.d;
int n7 = n6 = this.d(n2, n3, n4);
if (!bl) {
if (n7 == 0) {
return -1;
}
n7 = y.A[n6 - 1];
}
int n8 = n5 = n7;
if (!bl) {
n8 = n8 != 2 ? 0 : 1;
}
return n8;
}
public t(f f2, h h2) {
int n2;
boolean bl;
block9: {
block8: {
block7: {
bl = q.d;
this.a = 96;
this.b = 96;
this.d = 12345678;
this.e = 128;
boolean bl2 = false;
this.c = new int[4][2304];
this.g = new l[4][64];
this.h = new l[64];
this.i = false;
this.j = new byte[4][2304];
this.m = 750;
this.n = true;
this.o = new byte[4][2304];
this.p = new int[256];
this.q = false;
this.r = new int[18432];
this.s = new byte[4][2304];
this.v = new byte[4][2304];
this.w = new int[96][96];
this.x = new byte[4][2304];
this.y = new int[96][96];
this.z = new byte[4][2304];
this.A = new int[96][96];
this.B = new l[4][64];
this.C = new byte[4][2304];
this.D = new int[18432];
this.F = f2;
this.E = h2;
for (n2 = 0; n2 < 64; ++n2) {
this.p[n2] = f.d(255 - n2 * 4, 255 - (int)((double)n2 * 1.75), 255 - n2 * 4);
if (!bl) {
if (!bl) continue;
}
break block7;
}
n2 = 0;
}
while (n2 < 64) {
this.p[n2 + 64] = f.d(n2 * 3, 144, 0);
++n2;
if (!bl) {
if (!bl) continue;
}
break block8;
}
n2 = 0;
}
while (n2 < 64) {
this.p[n2 + 128] = f.d(192 - (int)((double)n2 * 1.5), 144 - (int)((double)n2 * 1.5), 0);
++n2;
if (!bl) {
if (!bl) continue;
}
break block9;
}
n2 = 0;
}
while (n2 < 64) {
this.p[n2 + 192] = f.d(96 - (int)((double)n2 * 1.5), 48 + (int)((double)n2 * 1.5), 0);
++n2;
if (!bl) continue;
}
}
public void a(int n2, int n3, int n4, int n5, int n6) {
int n7 = n2 * 3;
int n8 = n3 * 3;
int n9 = this.F.h(n5);
int n10 = this.F.h(n6);
n9 = n9 >> 1 & 0x7F7F7F;
n10 = n10 >> 1 & 0x7F7F7F;
int n11 = n4;
if (!q.d) {
if (n11 == 0) {
this.E.b(n7, n8, 3, n9);
this.E.b(n7, n8 + 1, 2, n9);
this.E.b(n7, n8 + 2, 1, n9);
this.E.b(n7 + 2, n8 + 1, 1, n10);
this.E.b(n7 + 1, n8 + 2, 2, n10);
return;
}
n11 = n4;
}
if (n11 == 1) {
this.E.b(n7, n8, 3, n10);
this.E.b(n7 + 1, n8 + 1, 2, n10);
this.E.b(n7 + 2, n8 + 2, 1, n10);
this.E.b(n7, n8 + 1, 1, n9);
this.E.b(n7, n8 + 2, 2, n9);
}
}
public int d(int n2, int n3) {
int n4;
int n5;
block16: {
int n6;
block13: {
boolean bl;
block14: {
block15: {
block11: {
block12: {
int n7;
block9: {
block10: {
int n8;
block7: {
block8: {
bl = q.d;
boolean bl2 = false;
n8 = n2;
if (bl) break block7;
if (n8 < 0) break block8;
n8 = n2;
if (bl) break block7;
if (n8 >= 96) break block8;
n8 = n3;
if (bl) break block7;
if (n8 < 0) break block8;
n7 = n3;
if (bl) break block9;
if (n7 < 96) break block10;
}
n8 = 0;
}
return n8;
}
n7 = 0;
}
n6 = n7;
n5 = n2;
n4 = 48;
if (bl) break block11;
if (n5 < n4) break block12;
n5 = n3;
n4 = 48;
if (bl) break block11;
if (n5 >= n4) break block12;
n6 = 1;
n2 -= 48;
if (!bl) break block13;
}
n5 = n2;
n4 = 48;
}
if (bl) break block14;
if (n5 >= n4) break block15;
n5 = n3;
n4 = 48;
if (bl) break block14;
if (n5 < n4) break block15;
n6 = 2;
n3 -= 48;
if (!bl) break block13;
}
n5 = n2;
n4 = 48;
}
if (bl) break block16;
if (n5 < n4) break block13;
n5 = n3;
n4 = 48;
if (bl) break block16;
if (n5 >= n4) {
n6 = 3;
n2 -= 48;
n3 -= 48;
}
}
n5 = this.v[n6][n2 * 48 + n3];
n4 = 255;
}
return n5 & n4;
}
public void a(l l2, int n2, int n3, int n4, int n5, int n6) {
this.f(n3, n4, 40);
this.f(n5, n6, 40);
int n7 = y.Eb[n2];
int n8 = y.Fb[n2];
int n9 = y.Gb[n2];
int n10 = n3 * 128;
int n11 = n4 * 128;
int n12 = n5 * 128;
int n13 = n6 * 128;
int n14 = l2.a(n10, -this.y[n3][n4], n11);
int n15 = l2.a(n10, -this.y[n3][n4] - n7, n11);
int n16 = l2.a(n12, -this.y[n5][n6] - n7, n13);
int n17 = l2.a(n12, -this.y[n5][n6], n13);
int[] nArray = new int[]{n14, n15, n16, n17};
int n18 = l2.a(4, nArray, n8, n9);
int[] nArray2 = y.Ib;
int n19 = n2;
if (!q.d) {
if (nArray2[n19] == 5) {
l2.G[n18] = 30000 + n2;
return;
}
nArray2 = l2.G;
n19 = n18;
}
nArray2[n19] = 0;
}
public int b(int n2, int n3, int n4, int n5) {
int n6;
int n7 = n6 = this.d(n2, n3, n4);
if (!q.d) {
if (n7 == 0) {
return n5;
}
n7 = y.z[n6 - 1];
}
return n7;
}
public void b(int n2, int n3, int n4, int n5, int n6) {
boolean bl = q.d;
l l2 = this.h[n2 + n3 * 8];
for (int i2 = 0; i2 < l2.a; ++i2) {
l l3;
block4: {
int n7;
int n8;
block3: {
n8 = l2.U[i2];
n7 = n4 * 128;
if (bl) break block3;
if (n8 != n7) continue;
l3 = l2;
if (bl) break block4;
n8 = l3.W[i2];
n7 = n5 * 128;
}
if (n8 != n7) continue;
l3 = l2;
}
l3.c(i2, n6);
return;
}
}
public int e(int n2, int n3) {
int n4;
int n5;
block16: {
int n6;
block13: {
boolean bl;
block14: {
block15: {
block11: {
block12: {
int n7;
block9: {
block10: {
int n8;
block7: {
block8: {
bl = q.d;
boolean bl2 = false;
n8 = n2;
if (bl) break block7;
if (n8 < 0) break block8;
n8 = n2;
if (bl) break block7;
if (n8 >= 96) break block8;
n8 = n3;
if (bl) break block7;
if (n8 < 0) break block8;
n7 = n3;
if (bl) break block9;
if (n7 < 96) break block10;
}
n8 = 0;
}
return n8;
}
n7 = 0;
}
n6 = n7;
n5 = n2;
n4 = 48;
if (bl) break block11;
if (n5 < n4) break block12;
n5 = n3;
n4 = 48;
if (bl) break block11;
if (n5 >= n4) break block12;
n6 = 1;
n2 -= 48;
if (!bl) break block13;
}
n5 = n2;
n4 = 48;
}
if (bl) break block14;
if (n5 >= n4) break block15;
n5 = n3;
n4 = 48;
if (bl) break block14;
if (n5 < n4) break block15;
n6 = 2;
n3 -= 48;
if (!bl) break block13;
}
n5 = n2;
n4 = 48;
}
if (bl) break block16;
if (n5 < n4) break block13;
n5 = n3;
n4 = 48;
if (bl) break block16;
if (n5 >= n4) {
n6 = 3;
n2 -= 48;
n3 -= 48;
}
}
n5 = this.o[n6][n2 * 48 + n3] & 0xFF;
n4 = 3;
}
return n5 * n4;
}
public void c(int n2, int n3, int n4, int n5) {
block14: {
t t2;
block17: {
block18: {
int n6;
int n7;
block21: {
block22: {
boolean bl;
block19: {
block20: {
block15: {
block16: {
block13: {
int n8;
block11: {
block12: {
block8: {
block10: {
block9: {
block7: {
bl = q.d;
boolean bl2 = false;
n7 = n2;
if (bl) break block7;
if (n7 < 0) break block8;
n7 = n3;
}
if (bl) break block9;
if (n7 < 0) break block8;
n7 = n2;
}
n8 = 95;
if (bl) break block10;
if (n7 >= n8) break block8;
n7 = n3;
n8 = 95;
}
if (bl) break block11;
if (n7 < n8) break block12;
}
return;
}
n7 = y.Hb[n5];
if (bl) break block13;
n8 = 1;
}
if (n7 != n8) break block14;
n7 = n4;
}
if (bl) break block15;
if (n7 != 0) break block16;
t2 = this;
if (bl) break block17;
int[] nArray = t2.w[n2];
int n9 = n3;
nArray[n9] = nArray[n9] & 0xFFFE;
if (n3 <= 0) break block18;
this.g(n2, n3 - 1, 4);
if (!bl) break block18;
}
n7 = n4;
}
n6 = 1;
if (bl) break block19;
if (n7 != n6) break block20;
t2 = this;
if (bl) break block17;
int[] nArray = t2.w[n2];
int n10 = n3;
nArray[n10] = nArray[n10] & 0xFFFD;
if (n2 <= 0) break block18;
this.g(n2 - 1, n3, 8);
if (!bl) break block18;
}
n7 = n4;
n6 = 2;
}
if (bl) break block21;
if (n7 != n6) break block22;
int[] nArray = this.w[n2];
int n11 = n3;
nArray[n11] = nArray[n11] & 0xFFEF;
if (!bl) break block18;
}
n7 = n4;
n6 = 3;
}
if (n7 == n6) {
int[] nArray = this.w[n2];
int n12 = n3;
nArray[n12] = nArray[n12] & 0xFFDF;
}
}
t2 = this;
}
t2.e(n2, n3, 1, 1);
}
}
public int f(int n2, int n3) {
int n4;
block16: {
int n5;
block13: {
int n6;
boolean bl;
block14: {
block15: {
block11: {
block12: {
int n7;
block9: {
block10: {
int n8;
block7: {
block8: {
bl = q.d;
boolean bl2 = false;
n8 = n2;
if (bl) break block7;
if (n8 < 0) break block8;
n8 = n2;
if (bl) break block7;
if (n8 >= 96) break block8;
n8 = n3;
if (bl) break block7;
if (n8 < 0) break block8;
n7 = n3;
if (bl) break block9;
if (n7 < 96) break block10;
}
n8 = 0;
}
return n8;
}
n7 = 0;
}
n5 = n7;
n4 = n2;
n6 = 48;
if (bl) break block11;
if (n4 < n6) break block12;
n4 = n3;
n6 = 48;
if (bl) break block11;
if (n4 >= n6) break block12;
n5 = 1;
n2 -= 48;
if (!bl) break block13;
}
n4 = n2;
n6 = 48;
}
if (bl) break block14;
if (n4 >= n6) break block15;
n4 = n3;
n6 = 48;
if (bl) break block14;
if (n4 < n6) break block15;
n5 = 2;
n3 -= 48;
if (!bl) break block13;
}
n4 = n2;
if (bl) break block16;
n6 = 48;
}
if (n4 < n6) break block13;
n4 = n3;
if (bl) break block16;
if (n4 >= 48) {
n5 = 3;
n2 -= 48;
n3 -= 48;
}
}
n4 = this.j[n5][n2 * 48 + n3];
}
return n4;
}
public int g(int n2, int n3) {
int n4;
int n5;
block16: {
int n6;
block13: {
boolean bl;
block14: {
block15: {
block11: {
block12: {
int n7;
block9: {
block10: {
int n8;
block7: {
block8: {
bl = q.d;
boolean bl2 = false;
n8 = n2;
if (bl) break block7;
if (n8 < 0) break block8;
n8 = n2;
if (bl) break block7;
if (n8 >= 96) break block8;
n8 = n3;
if (bl) break block7;
if (n8 < 0) break block8;
n7 = n3;
if (bl) break block9;
if (n7 < 96) break block10;
}
n8 = 0;
}
return n8;
}
n7 = 0;
}
n6 = n7;
n5 = n2;
n4 = 48;
if (bl) break block11;
if (n5 < n4) break block12;
n5 = n3;
n4 = 48;
if (bl) break block11;
if (n5 >= n4) break block12;
n6 = 1;
n2 -= 48;
if (!bl) break block13;
}
n5 = n2;
n4 = 48;
}
if (bl) break block14;
if (n5 >= n4) break block15;
n5 = n3;
n4 = 48;
if (bl) break block14;
if (n5 < n4) break block15;
n6 = 2;
n3 -= 48;
if (!bl) break block13;
}
n5 = n2;
n4 = 48;
}
if (bl) break block16;
if (n5 < n4) break block13;
n5 = n3;
n4 = 48;
if (bl) break block16;
if (n5 >= n4) {
n6 = 3;
n2 -= 48;
n3 -= 48;
}
}
n5 = this.x[n6][n2 * 48 + n3];
n4 = 255;
}
return n5 & n4;
}
public void c(int n2, int n3, int n4) {
block12: {
int n5;
int n6;
block16: {
int n7;
block15: {
boolean bl;
block13: {
block14: {
block10: {
block11: {
int n8;
block8: {
block9: {
block5: {
block7: {
block6: {
block4: {
bl = q.d;
boolean bl2 = false;
n8 = n2;
if (bl) break block4;
if (n8 < 0) break block5;
n8 = n2;
}
if (bl) break block6;
if (n8 >= 96) break block5;
n8 = n3;
}
if (bl) break block7;
if (n8 < 0) break block5;
n8 = n3;
}
if (bl) break block8;
if (n8 < 96) break block9;
}
return;
}
n8 = 0;
}
n6 = n8;
n5 = n2;
n7 = 48;
if (bl) break block10;
if (n5 < n7) break block11;
n5 = n3;
n7 = 48;
if (bl) break block10;
if (n5 >= n7) break block11;
n6 = 1;
n2 -= 48;
if (!bl) break block12;
}
n5 = n2;
n7 = 48;
}
if (bl) break block13;
if (n5 >= n7) break block14;
n5 = n3;
n7 = 48;
if (bl) break block13;
if (n5 < n7) break block14;
n6 = 2;
n3 -= 48;
if (!bl) break block12;
}
n5 = n2;
n7 = 48;
}
if (bl) break block15;
if (n5 < n7) break block12;
n5 = n3;
if (bl) break block16;
n7 = 48;
}
if (n5 < n7) break block12;
n5 = 3;
}
n6 = n5;
n2 -= 48;
n3 -= 48;
}
this.s[n6][n2 * 48 + n3] = (byte)n4;
}
/*
* Unable to fully structure code
*/
public void a() {
var4_1 = q.d;
var1_2 = false;
var2_3 = 0;
block0: while (true) {
v0 = var2_3;
v1 = 96;
block1: while (v0 < v1) {
for (var3_4 = 0; var3_4 < 96; ++var3_4) {
block14: {
block13: {
block12: {
block10: {
block11: {
v0 = this.d(var2_3, var3_4, 0);
v1 = 250;
if (var4_1) continue block1;
if (!var4_1) {
if (v0 != v1) continue;
v2 = var2_3;
v3 = 47;
}
if (var4_1) break block10;
if (v2 != v3) break block11;
v2 = this.d(var2_3 + 1, var3_4, 0);
v3 = 250;
if (var4_1) break block10;
if (v2 != v3) {
v2 = this.d(var2_3 + 1, var3_4, 0);
v3 = 2;
if (!var4_1) {
if (v2 != v3) {
this.c(var2_3, var3_4, 9);
if (!var4_1) continue;
} else {
** GOTO lbl30
}
} else {
** GOTO lbl29
}
}
break block11;
lbl29:
// 2 sources
break block10;
}
v2 = var3_4;
v3 = 47;
}
if (var4_1) break block12;
if (v2 != v3) break block13;
v4 = this;
v5 = var2_3;
v6 = var3_4 + 1;
v7 = 0;
if (var4_1) break block14;
v2 = v4.d(v5, v6, v7);
v3 = 250;
}
if (v2 != v3) {
v4 = this;
v5 = var2_3;
v6 = var3_4 + 1;
v7 = 0;
if (!var4_1) {
if (v4.d(v5, v6, v7) != 2) {
this.c(var2_3, var3_4, 9);
if (!var4_1) continue;
} else {
** GOTO lbl55
}
} else {
** GOTO lbl54
}
}
break block13;
lbl54:
// 2 sources
break block14;
}
v4 = this;
v5 = var2_3;
v6 = var3_4;
v7 = 2;
}
v4.c(v5, v6, v7);
if (!var4_1) continue;
}
++var2_3;
if (!var4_1) continue block0;
}
break;
}
}
public void c(int n2, int n3, int n4, int n5, int n6) {
block6: {
int n7;
int[] nArray;
int n8;
block5: {
int n9;
int n10;
block4: {
boolean bl = q.d;
n8 = y.Eb[n2];
n10 = this.y[n3][n4];
n9 = 80000;
if (bl) break block4;
if (n10 < n9) {
int[] nArray2 = this.y[n3];
int n11 = n4;
nArray2[n11] = nArray2[n11] + (80000 + n8);
}
nArray = this.y[n5];
n7 = n6;
if (bl) break block5;
n10 = nArray[n7];
n9 = 80000;
}
if (n10 >= n9) break block6;
nArray = this.y[n5];
n7 = n6;
}
nArray[n7] = nArray[n7] + (80000 + n8);
}
}
/*
* Enabled force condition propagation
* Lifted jumps to return sites
*/
public boolean h(int n2, int n3) {
boolean bl = q.d;
int n4 = this.f(n2, n3);
if (bl) return n4 != 0;
if (n4 > 0) return 1 != 0;
n4 = this.f(n2 - 1, n3);
if (bl) return n4 != 0;
if (n4 > 0) return 1 != 0;
n4 = this.f(n2 - 1, n3 - 1);
if (bl) return n4 != 0;
if (n4 > 0) return 1 != 0;
n4 = this.f(n2, n3 - 1);
if (bl) return n4 != 0;
if (n4 <= 0) return 0 != 0;
return 1 != 0;
}
public int i(int n2, int n3) {
int n4;
block16: {
int n5;
block13: {
int n6;
boolean bl;
block14: {
block15: {
block11: {
block12: {
int n7;
block9: {
block10: {
int n8;
block7: {
block8: {
bl = q.d;
boolean bl2 = false;
n8 = n2;
if (bl) break block7;
if (n8 < 0) break block8;
n8 = n2;
if (bl) break block7;
if (n8 >= 96) break block8;
n8 = n3;
if (bl) break block7;
if (n8 < 0) break block8;
n7 = n3;
if (bl) break block9;
if (n7 < 96) break block10;
}
n8 = 0;
}
return n8;
}
n7 = 0;
}
n5 = n7;
n4 = n2;
n6 = 48;
if (bl) break block11;
if (n4 < n6) break block12;
n4 = n3;
n6 = 48;
if (bl) break block11;
if (n4 >= n6) break block12;
n5 = 1;
n2 -= 48;
if (!bl) break block13;
}
n4 = n2;
n6 = 48;
}
if (bl) break block14;
if (n4 >= n6) break block15;
n4 = n3;
n6 = 48;
if (bl) break block14;
if (n4 < n6) break block15;
n5 = 2;
n3 -= 48;
if (!bl) break block13;
}
n4 = n2;
if (bl) break block16;
n6 = 48;
}
if (n4 < n6) break block13;
n4 = n3;
if (bl) break block16;
if (n4 >= 48) {
n5 = 3;
n2 -= 48;
n3 -= 48;
}
}
n4 = this.c[n5][n2 * 48 + n3];
}
return n4;
}
public int j(int n2, int n3) {
int n4;
int n5;
int n6;
int n7;
int n8;
block10: {
int n9;
int n10;
int n11;
block8: {
block9: {
int n12;
boolean bl;
block6: {
block7: {
int n13;
block4: {
block5: {
bl = q.d;
n11 = n2 >> 7;
n10 = n3 >> 7;
n8 = n2 & 0x7F;
n7 = n3 & 0x7F;
n13 = n11;
if (bl) break block4;
if (n13 < 0) break block5;
n13 = n10;
if (bl) break block4;
if (n13 < 0) break block5;
n13 = n11;
if (bl) break block4;
if (n13 >= 95) break block5;
n9 = n10;
n12 = 95;
if (bl) break block6;
if (n9 < n12) break block7;
}
n13 = 0;
}
return n13;
}
n9 = n8;
if (bl) break block8;
n12 = 128 - n7;
}
if (n9 > n12) break block9;
n6 = this.e(n11, n10);
n5 = this.e(n11 + 1, n10) - n6;
n4 = this.e(n11, n10 + 1) - n6;
if (!bl) break block10;
}
n9 = this.e(n11 + 1, n10 + 1);
}
n6 = n9;
n5 = this.e(n11, n10 + 1) - n6;
n4 = this.e(n11 + 1, n10) - n6;
n8 = 128 - n8;
n7 = 128 - n7;
}
int n14 = n6 + n5 * n8 / 128 + n4 * n7 / 128;
return n14;
}
public void b() {
block7: {
int n2;
boolean bl = q.d;
boolean bl2 = false;
int n3 = this.n;
if (!bl) {
if (n3 != 0) {
this.F.a();
}
n3 = n2 = 0;
}
while (n2 < 64) {
block9: {
int n4;
block8: {
this.h[n2] = null;
if (bl) break block7;
for (n4 = 0; n4 < 4; ++n4) {
this.g[n4][n2] = null;
if (!bl) {
if (!bl) continue;
}
break block8;
}
n4 = 0;
}
while (n4 < 4) {
this.B[n4][n2] = null;
++n4;
if (!bl) {
if (!bl) continue;
}
break block9;
}
++n2;
}
if (!bl) continue;
}
System.gc();
}
}
/*
* Unable to fully structure code
*/
public void d(int var1_1, int var2_2, int var3_3, int var4_4) {
var14_5 = q.d;
var5_6 = false;
var6_7 = "m" + var3_3 + var1_1 / 10 + var1_1 % 10 + var2_2 / 10 + var2_2 % 10;
try {
block123: {
block110: {
block109: {
block108: {
block107: {
block106: {
block105: {
block104: {
block111: {
block112: {
block124: {
block122: {
block103: {
block102: {
block101: {
block100: {
block99: {
block98: {
block97: {
block120: {
block121: {
block119: {
block94: {
block118: {
block116: {
block117: {
block96: {
block92: {
block93: {
block90: {
block88: {
block89: {
block115: {
block113: {
block114: {
v0 = this.k;
if (var14_5) break block111;
if (v0 == null) break block112;
v1 = var8_8 = q.a(var6_7 + t.G[3], 0, this.k);
if (var14_5) break block113;
if (v1 != null) break block114;
v1 = this.t;
if (var14_5) break block113;
if (v1 != null) {
var8_8 = q.a(var6_7 + t.G[3], 0, this.t);
}
}
v1 = var8_8;
}
if (var14_5) break block115;
if (v1 == null) ** GOTO lbl99
v1 = var8_8;
}
v2 = v1.length;
if (var14_5) ** GOTO lbl100
if (v2 <= 0) ** GOTO lbl99
var9_11 = 0;
var10_13 = 0;
var11_15 = 0;
while (var11_15 < 2304) {
v3 = var12_17 = var8_8[var9_11++] & 255;
v4 = 128;
if (!var14_5) {
if (v3 < v4) {
this.o[var4_4][var11_15++] = (byte)var12_17;
var10_13 = var12_17;
}
v3 = var12_17;
v4 = 128;
}
if (v3 < v4) continue;
v5 = 0;
if (var14_5) break block88;
for (var13_18 = v236598; var13_18 < var12_17 - 128; ++var13_18) {
this.o[var4_4][var11_15++] = (byte)var10_13;
if (!var14_5) {
if (!var14_5) continue;
}
break block89;
}
}
var10_13 = 64;
}
v5 = var11_15 = 0;
}
while (var11_15 < 48) {
block91: {
v6 = 0;
if (var14_5) break block90;
for (var12_17 = v236636; var12_17 < 48; ++var12_17) {
var10_13 = this.o[var4_4][var12_17 * 48 + var11_15] + var10_13 & 127;
this.o[var4_4][var12_17 * 48 + var11_15] = (byte)(var10_13 * 2);
if (!var14_5) {
if (!var14_5) continue;
}
break block91;
}
++var11_15;
}
if (!var14_5) continue;
}
var10_13 = 0;
v6 = var11_15 = 0;
}
while (var11_15 < 2304) {
v7 = var12_17 = var8_8[var9_11++] & 255;
v8 = 128;
if (!var14_5) {
if (v7 < v8) {
this.x[var4_4][var11_15++] = (byte)var12_17;
var10_13 = var12_17;
}
v7 = var12_17;
v8 = 128;
}
if (v7 < v8) continue;
v9 = 0;
if (var14_5) break block92;
for (var13_18 = v236673; var13_18 < var12_17 - 128; ++var13_18) {
this.x[var4_4][var11_15++] = (byte)var10_13;
if (!var14_5) {
if (!var14_5) continue;
}
break block93;
}
}
var10_13 = 35;
}
v9 = var11_15 = 0;
}
while (var11_15 < 48) {
block95: {
v10 = 0;
if (var14_5) break block94;
for (var12_17 = v236770; var12_17 < 48; ++var12_17) {
var10_13 = this.x[var4_4][var12_17 * 48 + var11_15] + var10_13 & 127;
this.x[var4_4][var12_17 * 48 + var11_15] = (byte)(var10_13 * 2);
if (!var14_5) {
if (!var14_5) continue;
}
break block95;
}
++var11_15;
}
if (!var14_5) continue;
lbl99:
// 3 sources
v2 = var9_11 = 0;
while (var9_11 < 2304) {
this.o[var4_4][var9_11] = 0;
this.x[var4_4][var9_11] = 0;
++var9_11;
if (!var14_5) {
if (!var14_5) continue;
}
break block96;
}
break block8;
}
var8_8 = q.a(var6_7 + t.G[1], 0, this.l);
}
v11 = var8_8;
if (var14_5) break block116;
if (v11 != null) break block117;
v11 = this.u;
if (var14_5) break block116;
if (v11 != null) {
var8_8 = q.a(var6_7 + t.G[1], 0, this.u);
}
}
v11 = var8_8;
}
if (var14_5) break block118;
if (v11 == null) break block119;
v11 = var8_8;
}
v10 = v11.length;
}
if (var14_5) break block120;
if (v10 != 0) break block121;
}
throw new IOException();
}
var9_11 = 0;
v10 = var10_13 = 0;
}
while (var10_13 < 2304) {
this.v[var4_4][var10_13] = var8_8[var9_11++];
++var10_13;
if (!var14_5) {
if (!var14_5) continue;
}
break block97;
}
var10_13 = 0;
}
while (var10_13 < 2304) {
this.z[var4_4][var10_13] = var8_8[var9_11++];
++var10_13;
if (!var14_5) {
if (!var14_5) continue;
}
break block98;
}
var10_13 = 0;
}
while (var10_13 < 2304) {
this.c[var4_4][var10_13] = var8_8[var9_11++] & 255;
++var10_13;
if (!var14_5) {
if (!var14_5) continue;
}
break block99;
}
var10_13 = 0;
}
while (var10_13 < 2304) {
var11_15 = var8_8[var9_11++] & 255;
if (!var14_5) {
v12 = var11_15;
if (var14_5) break block100;
if (v12 > 0) {
this.c[var4_4][var10_13] = var11_15 + 12000;
}
++var10_13;
}
if (!var14_5) continue;
}
v12 = var10_13 = 0;
}
while (var10_13 < 2304) {
v13 = var11_15 = var8_8[var9_11++] & 255;
if (!var14_5) {
if (v13 < 128) {
this.j[var4_4][var10_13++] = (byte)var11_15;
if (!var14_5) continue;
}
v13 = var12_17 = 0;
}
while (var12_17 < var11_15 - 128) {
this.j[var4_4][var10_13++] = 0;
++var12_17;
if (!var14_5 && !var14_5) {
if (!var14_5) continue;
}
break block101;
}
}
var10_13 = 0;
}
var11_15 = 0;
while (var11_15 < 2304) {
v14 = var12_17 = var8_8[var9_11++] & 255;
if (!var14_5) {
if (v14 < 128) {
this.s[var4_4][var11_15++] = (byte)var12_17;
var10_13 = var12_17;
if (!var14_5) continue;
}
v14 = var13_18 = 0;
}
while (var13_18 < var12_17 - 128) {
this.s[var4_4][var11_15++] = (byte)var10_13;
++var13_18;
if (!var14_5) {
if (!var14_5 && !var14_5) continue;
}
break block102;
}
}
var11_15 = 0;
}
while (var11_15 < 2304) {
v15 = var12_17 = var8_8[var9_11++] & 255;
if (!var14_5) {
if (v15 < 128) {
this.C[var4_4][var11_15++] = (byte)var12_17;
if (!var14_5) continue;
}
v15 = var13_18 = 0;
}
while (var13_18 < var12_17 - 128) {
this.C[var4_4][var11_15++] = 0;
++var13_18;
if (!var14_5 && !var14_5) {
if (!var14_5) continue;
}
break block103;
}
}
var8_8 = q.a(var6_7 + t.G[0], 0, this.l);
}
v16 = var8_8;
if (var14_5) break block122;
if (v16 == null) break block123;
v16 = var8_8;
}
v17 = v16.length;
if (var14_5) break block124;
if (v17 <= 0) break block123;
var11_15 = 0;
v17 = var12_17 = 0;
}
while (var12_17 < 2304) {
v18 = var13_18 = var8_8[var11_15++] & 255;
v19 = 128;
if (!var14_5) {
if (v18 < v19) {
this.c[var4_4][var12_17++] = var13_18 + 48000;
if (!var14_5) continue;
}
v18 = var12_17;
v19 = var13_18 - 128;
}
var12_17 = v18 + v19;
if (!var14_5) continue;
}
return;
}
v0 = new byte[20736];
}
var8_9 = v0;
q.a(t.G[2] + var6_7 + t.G[4], var8_9, 20736);
var9_12 = 0;
var10_14 = 0;
for (var11_16 = 0; var11_16 < 2304; ++var11_16) {
var9_12 = var9_12 + var8_9[var10_14++] & 255;
this.o[var4_4][var11_16] = (byte)var9_12;
if (!var14_5) {
if (!var14_5) continue;
}
break block104;
}
var9_12 = 0;
}
for (var11_16 = 0; var11_16 < 2304; ++var11_16) {
var9_12 = var9_12 + var8_9[var10_14++] & 255;
this.x[var4_4][var11_16] = (byte)var9_12;
if (!var14_5) {
if (!var14_5) continue;
}
break block105;
}
var11_16 = 0;
}
while (var11_16 < 2304) {
this.v[var4_4][var11_16] = var8_9[var10_14++];
++var11_16;
if (!var14_5) {
if (!var14_5) continue;
}
break block106;
}
var11_16 = 0;
}
while (var11_16 < 2304) {
this.z[var4_4][var11_16] = var8_9[var10_14++];
++var11_16;
if (!var14_5) {
if (!var14_5) continue;
}
break block107;
}
var11_16 = 0;
}
while (var11_16 < 2304) {
this.c[var4_4][var11_16] = (var8_9[var10_14] & 255) * 256 + (var8_9[var10_14 + 1] & 255);
var10_14 += 2;
++var11_16;
if (!var14_5) {
if (!var14_5) continue;
}
break block108;
}
var11_16 = 0;
}
while (var11_16 < 2304) {
this.j[var4_4][var11_16] = var8_9[var10_14++];
++var11_16;
if (!var14_5) {
if (!var14_5) continue;
}
break block109;
}
var11_16 = 0;
}
while (var11_16 < 2304) {
this.s[var4_4][var11_16] = var8_9[var10_14++];
++var11_16;
if (!var14_5) {
if (!var14_5) continue;
}
break block110;
}
var11_16 = 0;
}
while (var11_16 < 2304) {
this.C[var4_4][var11_16] = var8_9[var10_14++];
++var11_16;
if (!var14_5) continue;
}
}
return;
}
catch (IOException var8_10) {
for (var7_19 = 0; var7_19 < 2304; ++var7_19) {
this.o[var4_4][var7_19] = 0;
this.x[var4_4][var7_19] = 0;
this.v[var4_4][var7_19] = 0;
this.z[var4_4][var7_19] = 0;
this.c[var4_4][var7_19] = 0;
this.j[var4_4][var7_19] = 0;
this.s[var4_4][var7_19] = 0;
v20 = var3_3;
if (!var14_5) {
if (v20 == 0) {
this.s[var4_4][var7_19] = -6;
}
v20 = var3_3;
}
if (v20 == 3) {
this.s[var4_4][var7_19] = 8;
}
this.C[var4_4][var7_19] = 0;
if (!var14_5) continue;
}
return;
}
}
/*
* WARNING - void declaration
*/
public void a(l[] lArray) {
boolean bl = q.d;
boolean bl2 = false;
int n2 = 0;
block0: while (true) {
int n3 = n2;
int n4 = 94;
block1: while (n3 < n4) {
int n5 = 0;
block2: while (true) {
int n6 = n5;
block3: while (n6 < 94) {
block21: {
int n7;
int n8;
int n9;
void var5_6;
block28: {
block29: {
block27: {
int n10;
block25: {
block26: {
int n11;
block23: {
block24: {
int n12;
int n13;
int n14;
block22: {
block20: {
n3 = this.i(n2, n5);
n4 = 48000;
if (bl) continue block1;
if (bl) break block20;
if (n3 <= n4) break block21;
n14 = this.i(n2, n5);
n13 = 60000;
}
if (bl) break block22;
if (n14 >= n13) break block21;
n14 = this.i(n2, n5);
n13 = 48001;
}
var5_6 = n14 - n13;
n11 = n12 = this.c(n2, n5);
if (bl) break block23;
if (n11 == 0) break block24;
n10 = n12;
if (bl) break block25;
if (n10 != 4) break block26;
}
n11 = y.W[var5_6];
}
n9 = n11;
n8 = y.X[var5_6];
if (!bl) break block27;
}
n10 = y.W[var5_6];
}
n8 = n10;
n9 = y.X[var5_6];
}
this.h(n2, n5, (int)var5_6);
l l2 = lArray[y.V[var5_6]].a(false, true, false, false);
int n15 = (n2 + n2 + n9) * 128 / 2;
int n16 = (n5 + n5 + n8) * 128 / 2;
l2.f(n15, -this.j(n15, n16), n16);
l2.e(0, this.c(n2, n5) * 32, 0);
this.F.a(l2);
l2.a(48, 48, -50, -10, -50);
n7 = n9;
if (bl) break block28;
if (n7 > 1) break block29;
n7 = n8;
if (bl) break block28;
if (n7 <= 1) break block21;
}
n7 = n2;
}
int n17 = n7;
block4: while (true) {
int n18 = n17;
int n19 = n2 + n9;
block5: while (n18 < n19) {
n6 = n5;
if (bl) continue block3;
for (int i2 = v245353; i2 < n5 + n8; ++i2) {
block35: {
int n20;
int n21;
block39: {
int n22;
block38: {
int n23;
block36: {
int n24;
block37: {
block33: {
block34: {
int n25;
block32: {
int n26;
block30: {
block31: {
n18 = n17;
n19 = n2;
if (bl) continue block5;
if (bl) break block30;
if (n18 > n19) break block31;
n25 = i2;
n26 = n5;
if (!bl) {
if (n25 <= n26) continue;
}
break block30;
}
n25 = this.i(n17, i2) - 48001;
if (bl) break block32;
n26 = var5_6;
}
if (n25 != n26) continue;
n25 = n17;
}
n24 = n25;
n23 = i2;
n21 = 0;
n20 = n24;
n22 = 48;
if (bl) break block33;
if (n20 < n22) break block34;
n20 = n23;
n22 = 48;
if (bl) break block33;
if (n20 >= n22) break block34;
n21 = 1;
n24 -= 48;
if (!bl) break block35;
}
n20 = n24;
n22 = 48;
}
if (bl) break block36;
if (n20 >= n22) break block37;
n20 = n23;
n22 = 48;
if (bl) break block36;
if (n20 < n22) break block37;
n21 = 2;
n23 -= 48;
if (!bl) break block35;
}
n20 = n24;
n22 = 48;
}
if (bl) break block38;
if (n20 < n22) break block35;
n20 = n23;
if (bl) break block39;
n22 = 48;
}
if (n20 < n22) break block35;
n20 = 3;
}
n21 = n20;
n24 -= 48;
n23 -= 48;
}
this.c[n21][n24 * 48 + n23] = 0;
if (!bl) continue;
}
++n17;
if (!bl) continue block4;
}
break;
}
}
++n5;
if (!bl) continue block2;
}
break;
}
++n2;
if (!bl) continue block0;
}
break;
}
}
/*
* Unable to fully structure code
* Could not resolve type clashes
*/
public void a(int var1_1, int var2_2, int var3_3, boolean var4_4) {
block287: {
block286: {
block285: {
block284: {
block283: {
block282: {
block274: {
block280: {
block290: {
block279: {
block278: {
block277: {
block276: {
block289: {
block288: {
var37_5 = q.d;
var5_6 = false;
var6_7 = (var1_1 + 24) / 48;
var7_8 = (var2_2 + 24) / 48;
this.d(var6_7 - 1, var7_8 - 1, var3_3, 0);
this.d(var6_7, var7_8 - 1, var3_3, 1);
this.d(var6_7 - 1, var7_8, var3_3, 2);
this.d(var6_7, var7_8, var3_3, 3);
this.a();
v0 = this;
if (var37_5) break block288;
if (v0.f != null) break block289;
v0 = this;
}
v0.f = new l(18688, 18688, true, true, false, false, true);
}
v1 = var4_4;
if (var37_5) break block280;
if (v1 == 0) break block290;
this.E.c();
var8_9 = 0;
while (var8_9 < 96) {
block275: {
v2 = 0;
if (var37_5) break block274;
for (var9_11 = v247186; var9_11 < 96; ++var9_11) {
this.w[var8_9][var9_11] = 0;
if (!var37_5) {
if (!var37_5) continue;
}
break block275;
}
++var8_9;
}
if (!var37_5) continue;
}
var8_10 = this.f;
var8_10.b();
var9_11 = 0;
block2: while (true) {
v3 = var9_11;
block3: while (v3 < 96) {
v4 = 0;
if (var37_5) break block276;
for (var10_12 = v245749; var10_12 < 96; ++var10_12) {
block297: {
block298: {
block295: {
block296: {
block293: {
block294: {
block291: {
block292: {
var11_13 = -this.e(var9_11, var10_12);
v3 = this.d(var9_11, var10_12, var3_3);
if (var37_5) continue block3;
if (var37_5) break block291;
if (v3 <= 0) break block292;
v5 = y.A[this.d(var9_11, var10_12, var3_3) - 1];
if (var37_5) break block291;
if (v5 == 4) {
var11_13 = 0;
}
}
v5 = this.d(var9_11 - 1, var10_12, var3_3);
}
if (var37_5) break block293;
if (v5 <= 0) break block294;
v5 = y.A[this.d(var9_11 - 1, var10_12, var3_3) - 1];
if (var37_5) break block293;
if (v5 == 4) {
var11_13 = 0;
}
}
v5 = this.d(var9_11, var10_12 - 1, var3_3);
}
if (var37_5) break block295;
if (v5 <= 0) break block296;
v5 = y.A[this.d(var9_11, var10_12 - 1, var3_3) - 1];
if (var37_5) break block295;
if (v5 == 4) {
var11_13 = 0;
}
}
v5 = this.d(var9_11 - 1, var10_12 - 1, var3_3);
}
if (var37_5) break block297;
if (v5 <= 0) break block298;
v5 = y.A[this.d(var9_11 - 1, var10_12 - 1, var3_3) - 1];
if (var37_5) break block297;
if (v5 == 4) {
var11_13 = 0;
}
}
v5 = var8_10.a(var9_11 * 128, var11_13, var10_12 * 128);
}
var12_14 = v5;
var13_15 = (int)(Math.random() * 10.0) - 5;
var8_10.c(var12_14, var13_15);
if (!var37_5) continue;
}
++var9_11;
if (!var37_5) continue block2;
}
break;
}
v4 = 0;
}
var9_11 = v4;
block5: while (true) {
v6 = var9_11;
v7 = 95;
block6: while (v6 < v7) {
v8 = 0;
if (var37_5) break block277;
for (var10_12 = v246392; var10_12 < 95; ++var10_12) {
block328: {
block329: {
block335: {
block334: {
block330: {
block331: {
block333: {
block332: {
block326: {
block327: {
block325: {
block303: {
block304: {
block309: {
block310: {
block323: {
block324: {
block321: {
block322: {
block319: {
block320: {
block317: {
block318: {
block307: {
block308: {
block315: {
block316: {
block313: {
block314: {
block311: {
block312: {
block305: {
block306: {
block301: {
block302: {
block299: {
block300: {
var11_13 = this.g(var9_11, var10_12);
var13_15 = var12_14 = this.p[var11_13];
var14_16 = var12_14;
var15_17 = 0;
v9 = var3_3;
if (var37_5) break block299;
v7 = 1;
if (var37_5) continue block6;
if (v9 == v7) break block300;
v10 = var3_3;
if (var37_5) break block301;
if (v10 != 2) break block302;
}
var12_14 = 12345678;
var13_15 = 12345678;
v9 = 12345678;
}
var14_16 = v9;
}
v10 = this.d(var9_11, var10_12, var3_3);
}
if (var37_5) break block303;
if (v10 <= 0) break block304;
var16_18 = this.d(var9_11, var10_12, var3_3);
var17_27 = y.A[var16_18 - 1];
var18_37 = this.b(var9_11, var10_12, var3_3);
var12_14 = var13_15 = y.z[var16_18 - 1];
v11 = var17_27;
v12 = 4;
if (var37_5) break block305;
if (v11 != v12) break block306;
var12_14 = 1;
var13_15 = 1;
v11 = var16_18;
v12 = 12;
if (var37_5) break block305;
if (v11 == v12) {
var12_14 = 31;
var13_15 = 31;
}
}
v11 = var17_27;
v12 = 5;
}
if (var37_5) break block307;
if (v11 != v12) break block308;
v11 = this.i(var9_11, var10_12);
if (var37_5) break block309;
if (v11 <= 0) break block310;
v11 = this.i(var9_11, var10_12);
if (var37_5) break block309;
if (v11 >= 24000) break block310;
v11 = this.b(var9_11 - 1, var10_12, var3_3, var14_16);
v13 = 12345678;
if (var37_5) break block311;
if (v11 == v13) break block312;
v11 = this.b(var9_11, var10_12 - 1, var3_3, var14_16);
v13 = 12345678;
if (var37_5) break block311;
if (v11 == v13) break block312;
var12_14 = this.b(var9_11 - 1, var10_12, var3_3, var14_16);
var15_17 = 0;
if (!var37_5) break block310;
}
v11 = this.b(var9_11 + 1, var10_12, var3_3, var14_16);
v13 = 12345678;
}
if (var37_5) break block313;
if (v11 == v13) break block314;
v11 = this.b(var9_11, var10_12 + 1, var3_3, var14_16);
v13 = 12345678;
if (var37_5) break block313;
if (v11 == v13) break block314;
var13_15 = this.b(var9_11 + 1, var10_12, var3_3, var14_16);
var15_17 = 0;
if (!var37_5) break block310;
}
v11 = this.b(var9_11 + 1, var10_12, var3_3, var14_16);
v13 = 12345678;
}
if (var37_5) break block315;
if (v11 == v13) break block316;
v11 = this.b(var9_11, var10_12 - 1, var3_3, var14_16);
v13 = 12345678;
if (var37_5) break block315;
if (v11 == v13) break block316;
var13_15 = this.b(var9_11 + 1, var10_12, var3_3, var14_16);
var15_17 = 1;
if (!var37_5) break block310;
}
v11 = this.b(var9_11 - 1, var10_12, var3_3, var14_16);
if (var37_5) break block309;
v13 = 12345678;
}
if (v11 == v13) break block310;
v11 = this.b(var9_11, var10_12 + 1, var3_3, var14_16);
if (var37_5) break block309;
if (v11 == 12345678) break block310;
var12_14 = this.b(var9_11 - 1, var10_12, var3_3, var14_16);
var15_17 = 1;
if (!var37_5) break block310;
}
v11 = var17_27;
v12 = 2;
}
if (var37_5) break block317;
if (v11 != v12) break block318;
v11 = this.i(var9_11, var10_12);
if (var37_5) break block309;
if (v11 <= 0) break block310;
v11 = this.i(var9_11, var10_12);
if (var37_5) break block309;
if (v11 >= 24000) break block310;
}
v11 = this.b(var9_11 - 1, var10_12, var3_3);
v12 = var18_37;
}
if (var37_5) break block319;
if (v11 == v12) break block320;
v11 = this.b(var9_11, var10_12 - 1, var3_3);
v12 = var18_37;
if (var37_5) break block319;
if (v11 == v12) break block320;
var12_14 = var14_16;
var15_17 = 0;
if (!var37_5) break block310;
}
v11 = this.b(var9_11 + 1, var10_12, var3_3);
v12 = var18_37;
}
if (var37_5) break block321;
if (v11 == v12) break block322;
v11 = this.b(var9_11, var10_12 + 1, var3_3);
v12 = var18_37;
if (var37_5) break block321;
if (v11 == v12) break block322;
var13_15 = var14_16;
var15_17 = 0;
if (!var37_5) break block310;
}
v11 = this.b(var9_11 + 1, var10_12, var3_3);
v12 = var18_37;
}
if (var37_5) break block323;
if (v11 == v12) break block324;
v11 = this.b(var9_11, var10_12 - 1, var3_3);
v12 = var18_37;
if (var37_5) break block323;
if (v11 == v12) break block324;
var13_15 = var14_16;
var15_17 = 1;
if (!var37_5) break block310;
}
v11 = this.b(var9_11 - 1, var10_12, var3_3);
if (var37_5) break block309;
v12 = var18_37;
}
if (v11 == v12) break block310;
v11 = this.b(var9_11, var10_12 + 1, var3_3);
if (var37_5) break block309;
if (v11 != var18_37) {
var12_14 = var14_16;
var15_17 = 1;
}
}
v11 = y.B[var16_18 - 1];
}
if (!var37_5) {
if (v11 != 0) {
v14 = this.w[var9_11];
v15 = var10_12;
v14[v15] = v14[v15] | 64;
}
v11 = y.A[var16_18 - 1];
}
v16 = 2;
if (var37_5) break block325;
if (v11 == v16) {
v17 = this.w[var9_11];
v18 = var10_12;
v17[v18] = v17[v18] | 128;
}
}
this.a(var9_11, var10_12, var15_17, var12_14, var13_15);
v10 = this.e(var9_11 + 1, var10_12 + 1) - this.e(var9_11 + 1, var10_12) + this.e(var9_11, var10_12 + 1) - this.e(var9_11, var10_12);
}
var16_18 = v10;
v11 = var12_14;
if (var37_5) break block326;
v16 = var13_15;
}
if (v11 != v16) break block327;
v19 = var16_18;
if (var37_5) break block328;
if (v19 == 0) break block329;
}
v11 = 3;
}
var17_28 = new int[v11];
var18_38 = new int[3];
v20 = var15_17;
if (var37_5) break block330;
if (v20 != 0) break block331;
v21 = var12_14;
v22 = 12345678;
if (var37_5) break block332;
if (v21 != v22) {
var17_28[0] = var10_12 + var9_11 * 96 + 96;
var17_28[1] = var10_12 + var9_11 * 96;
var17_28[2] = var10_12 + var9_11 * 96 + 1;
var19_41 = var8_10.a(3, var17_28, 12345678, var12_14);
this.r[var19_41] = var9_11;
this.D[var19_41] = var10_12;
var8_10.G[var19_41] = 200000 + var19_41;
}
v21 = var13_15;
if (var37_5) break block333;
v22 = 12345678;
}
if (v21 == v22) continue;
var18_38[0] = var10_12 + var9_11 * 96 + 1;
var18_38[1] = var10_12 + var9_11 * 96 + 96 + 1;
var18_38[2] = var10_12 + var9_11 * 96 + 96;
v21 = var8_10.a(3, var18_38, 12345678, var13_15);
}
var19_41 = v21;
this.r[var19_41] = var9_11;
this.D[var19_41] = var10_12;
var8_10.G[var19_41] = 200000 + var19_41;
if (!var37_5) continue;
}
v20 = var12_14;
}
v23 = 12345678;
if (var37_5) break block334;
if (v20 != v23) {
var17_28[0] = var10_12 + var9_11 * 96 + 1;
var17_28[1] = var10_12 + var9_11 * 96 + 96 + 1;
var17_28[2] = var10_12 + var9_11 * 96;
var19_41 = var8_10.a(3, var17_28, 12345678, var12_14);
this.r[var19_41] = var9_11;
this.D[var19_41] = var10_12;
var8_10.G[var19_41] = 200000 + var19_41;
}
v20 = var13_15;
if (var37_5) break block335;
v23 = 12345678;
}
if (v20 == v23) continue;
var18_38[0] = var10_12 + var9_11 * 96 + 96;
var18_38[1] = var10_12 + var9_11 * 96;
var18_38[2] = var10_12 + var9_11 * 96 + 96 + 1;
v20 = var8_10.a(3, var18_38, 12345678, var13_15);
}
var19_41 = v20;
this.r[var19_41] = var9_11;
this.D[var19_41] = var10_12;
var8_10.G[var19_41] = 200000 + var19_41;
if (!var37_5) continue;
}
v19 = var12_14;
}
if (!var37_5) {
if (v19 == 12345678) continue;
v19 = 4;
}
var17_29 = new int[v19];
var17_29[0] = var10_12 + var9_11 * 96 + 96;
var17_29[1] = var10_12 + var9_11 * 96;
var17_29[2] = var10_12 + var9_11 * 96 + 1;
var17_29[3] = var10_12 + var9_11 * 96 + 96 + 1;
var18_37 = var8_10.a(4, var17_29, 12345678, var12_14);
this.r[var18_37] = var9_11;
this.D[var18_37] = var10_12;
var8_10.G[var18_37] = 200000 + var18_37;
if (!var37_5) continue;
}
++var9_11;
if (!var37_5) continue block5;
}
break;
}
v8 = 1;
}
var9_11 = v8;
block8: while (true) {
v24 = var9_11;
block9: while (v24 < 95) {
v25 = 1;
if (var37_5) break block278;
for (var10_12 = v247153; var10_12 < 95; ++var10_12) {
block340: {
block341: {
block338: {
block339: {
block336: {
block337: {
v24 = this.d(var9_11, var10_12, var3_3);
if (var37_5) continue block9;
if (!var37_5) {
if (v24 > 0) {
v26 = y.A[this.d(var9_11, var10_12, var3_3) - 1];
if (!var37_5) {
if (v26 == 4) {
var11_13 = y.z[this.d(var9_11, var10_12, var3_3) - 1];
var12_14 = var8_10.a(var9_11 * 128, -this.e(var9_11, var10_12), var10_12 * 128);
var13_15 = var8_10.a((var9_11 + 1) * 128, -this.e(var9_11 + 1, var10_12), var10_12 * 128);
var14_16 = var8_10.a((var9_11 + 1) * 128, -this.e(var9_11 + 1, var10_12 + 1), (var10_12 + 1) * 128);
var15_17 = var8_10.a(var9_11 * 128, -this.e(var9_11, var10_12 + 1), (var10_12 + 1) * 128);
var16_20 = new int[]{var12_14, var13_15, var14_16, var15_17};
var17_30 = var8_10.a(4, var16_20, var11_13, 12345678);
this.r[var17_30] = var9_11;
this.D[var17_30] = var10_12;
var8_10.G[var17_30] = 200000 + var17_30;
this.a(var9_11, var10_12, 0, var11_13, var11_13);
if (!var37_5) continue;
} else {
** GOTO lbl-1000
}
}
} else lbl-1000:
// 4 sources
{
v26 = this.d(var9_11, var10_12, var3_3);
}
}
if (!var37_5) {
if (v26 != 0) {
v26 = y.A[this.d(var9_11, var10_12, var3_3) - 1];
if (!var37_5) {
if (v26 == 3) continue;
}
} else {
v26 = this.d(var9_11, var10_12 + 1, var3_3);
}
}
if (var37_5) break block336;
if (v26 <= 0) break block337;
v26 = y.A[this.d(var9_11, var10_12 + 1, var3_3) - 1];
if (var37_5) break block336;
if (v26 == 4) {
var11_13 = y.z[this.d(var9_11, var10_12 + 1, var3_3) - 1];
var12_14 = var8_10.a(var9_11 * 128, -this.e(var9_11, var10_12), var10_12 * 128);
var13_15 = var8_10.a((var9_11 + 1) * 128, -this.e(var9_11 + 1, var10_12), var10_12 * 128);
var14_16 = var8_10.a((var9_11 + 1) * 128, -this.e(var9_11 + 1, var10_12 + 1), (var10_12 + 1) * 128);
var15_17 = var8_10.a(var9_11 * 128, -this.e(var9_11, var10_12 + 1), (var10_12 + 1) * 128);
var16_21 = new int[]{var12_14, var13_15, var14_16, var15_17};
var17_31 = var8_10.a(4, var16_21, var11_13, 12345678);
this.r[var17_31] = var9_11;
this.D[var17_31] = var10_12;
var8_10.G[var17_31] = 200000 + var17_31;
this.a(var9_11, var10_12, 0, var11_13, var11_13);
}
}
v26 = this.d(var9_11, var10_12 - 1, var3_3);
}
if (var37_5) break block338;
if (v26 <= 0) break block339;
v26 = y.A[this.d(var9_11, var10_12 - 1, var3_3) - 1];
if (var37_5) break block338;
if (v26 == 4) {
var11_13 = y.z[this.d(var9_11, var10_12 - 1, var3_3) - 1];
var12_14 = var8_10.a(var9_11 * 128, -this.e(var9_11, var10_12), var10_12 * 128);
var13_15 = var8_10.a((var9_11 + 1) * 128, -this.e(var9_11 + 1, var10_12), var10_12 * 128);
var14_16 = var8_10.a((var9_11 + 1) * 128, -this.e(var9_11 + 1, var10_12 + 1), (var10_12 + 1) * 128);
var15_17 = var8_10.a(var9_11 * 128, -this.e(var9_11, var10_12 + 1), (var10_12 + 1) * 128);
var16_22 = new int[]{var12_14, var13_15, var14_16, var15_17};
var17_32 = var8_10.a(4, var16_22, var11_13, 12345678);
this.r[var17_32] = var9_11;
this.D[var17_32] = var10_12;
var8_10.G[var17_32] = 200000 + var17_32;
this.a(var9_11, var10_12, 0, var11_13, var11_13);
}
}
v26 = this.d(var9_11 + 1, var10_12, var3_3);
}
if (var37_5) break block340;
if (v26 <= 0) break block341;
v26 = y.A[this.d(var9_11 + 1, var10_12, var3_3) - 1];
if (var37_5) break block340;
if (v26 == 4) {
var11_13 = y.z[this.d(var9_11 + 1, var10_12, var3_3) - 1];
var12_14 = var8_10.a(var9_11 * 128, -this.e(var9_11, var10_12), var10_12 * 128);
var13_15 = var8_10.a((var9_11 + 1) * 128, -this.e(var9_11 + 1, var10_12), var10_12 * 128);
var14_16 = var8_10.a((var9_11 + 1) * 128, -this.e(var9_11 + 1, var10_12 + 1), (var10_12 + 1) * 128);
var15_17 = var8_10.a(var9_11 * 128, -this.e(var9_11, var10_12 + 1), (var10_12 + 1) * 128);
var16_23 = new int[]{var12_14, var13_15, var14_16, var15_17};
var17_33 = var8_10.a(4, var16_23, var11_13, 12345678);
this.r[var17_33] = var9_11;
this.D[var17_33] = var10_12;
var8_10.G[var17_33] = 200000 + var17_33;
this.a(var9_11, var10_12, 0, var11_13, var11_13);
}
}
v26 = this.d(var9_11 - 1, var10_12, var3_3);
}
if (!var37_5) {
if (v26 <= 0) continue;
v26 = y.A[this.d(var9_11 - 1, var10_12, var3_3) - 1];
}
if (!var37_5) {
if (v26 != 4) continue;
v26 = y.z[this.d(var9_11 - 1, var10_12, var3_3) - 1];
}
var11_13 = v26;
var12_14 = var8_10.a(var9_11 * 128, -this.e(var9_11, var10_12), var10_12 * 128);
var13_15 = var8_10.a((var9_11 + 1) * 128, -this.e(var9_11 + 1, var10_12), var10_12 * 128);
var14_16 = var8_10.a((var9_11 + 1) * 128, -this.e(var9_11 + 1, var10_12 + 1), (var10_12 + 1) * 128);
var15_17 = var8_10.a(var9_11 * 128, -this.e(var9_11, var10_12 + 1), (var10_12 + 1) * 128);
var16_24 = new int[]{var12_14, var13_15, var14_16, var15_17};
var17_34 = var8_10.a(4, var16_24, var11_13, 12345678);
this.r[var17_34] = var9_11;
this.D[var17_34] = var10_12;
var8_10.G[var17_34] = 200000 + var17_34;
this.a(var9_11, var10_12, 0, var11_13, var11_13);
if (!var37_5) continue;
}
++var9_11;
if (!var37_5) continue block8;
}
break;
}
var8_10.a(true, 40, 48, -50, -10, -50);
this.h = this.f.a(0, 0, 1536, 1536, 8, 64, 233, false);
v25 = var9_11 = 0;
}
while (var9_11 < 64) {
this.F.a(this.h[var9_11]);
++var9_11;
if (!var37_5) {
if (!var37_5) continue;
}
break block279;
}
var9_11 = 0;
}
while (var9_11 < 96) {
block281: {
v1 = 0;
if (var37_5) break block280;
for (var10_12 = v247185; var10_12 < 96; ++var10_12) {
this.y[var9_11][var10_12] = this.e(var9_11, var10_12);
if (!var37_5) {
if (!var37_5) continue;
}
break block281;
}
++var9_11;
}
if (!var37_5) continue;
}
}
this.f.b();
v1 = 0x606060;
}
var8_9 = v1;
v2 = 0;
}
var9_11 = v2;
block14: while (true) {
v27 = var9_11;
block15: while (v27 < 95) {
v28 = 0;
if (var37_5) break block282;
for (var10_12 = v247526; var10_12 < 95; ++var10_12) {
block357: {
block358: {
block356: {
block355: {
block352: {
block350: {
block351: {
block353: {
block354: {
block346: {
block347: {
block348: {
block349: {
block342: {
block343: {
block344: {
block345: {
v27 = var11_13 = this.b(var9_11, var10_12);
if (var37_5) continue block15;
if (var37_5) break block342;
if (v27 <= 0) break block343;
v29 = y.Ib[var11_13 - 1];
if (var37_5) break block342;
if (v29 != 0) break block343;
this.a(this.f, var11_13 - 1, var9_11, var10_12, var9_11 + 1, var10_12);
v29 = var4_4;
if (var37_5) break block344;
if (v29 == 0) break block345;
v29 = y.Hb[var11_13 - 1];
if (var37_5) break block344;
if (v29 == 0) break block345;
v30 = this.w[var9_11];
v31 = var10_12;
v30[v31] = v30[v31] | 1;
v29 = var10_12;
if (var37_5) break block344;
if (v29 > 0) {
this.e(var9_11, var10_12 - 1, 4);
}
}
v29 = var4_4;
}
if (var37_5) break block342;
if (v29 != 0) {
this.E.b(var9_11 * 3, var10_12 * 3, 3, 0x606060);
}
}
v29 = var11_13 = this.d(var9_11, var10_12);
}
if (var37_5) break block346;
if (v29 <= 0) break block347;
v29 = y.Ib[var11_13 - 1];
if (var37_5) break block346;
if (v29 != 0) break block347;
this.a(this.f, var11_13 - 1, var9_11, var10_12, var9_11, var10_12 + 1);
v29 = var4_4;
if (var37_5) break block348;
if (v29 == 0) break block349;
v29 = y.Hb[var11_13 - 1];
if (var37_5) break block348;
if (v29 == 0) break block349;
v32 = this.w[var9_11];
v33 = var10_12;
v32[v33] = v32[v33] | 2;
v29 = var9_11;
if (var37_5) break block348;
if (v29 > 0) {
this.e(var9_11 - 1, var10_12, 8);
}
}
v29 = var4_4;
}
if (var37_5) break block346;
if (v29 != 0) {
this.E.c(var9_11 * 3, var10_12 * 3, 3, 0x606060);
}
}
v29 = var11_13 = this.i(var9_11, var10_12);
}
if (var37_5) break block350;
if (v29 <= 0) break block351;
v29 = var11_13;
v34 = 12000;
if (var37_5) break block352;
if (v29 >= v34) break block351;
v29 = y.Ib[var11_13 - 1];
if (var37_5) break block350;
if (v29 != 0) break block351;
this.a(this.f, var11_13 - 1, var9_11, var10_12, var9_11 + 1, var10_12 + 1);
v29 = var4_4;
if (var37_5) break block353;
if (v29 == 0) break block354;
v29 = y.Hb[var11_13 - 1];
if (var37_5) break block353;
if (v29 != 0) {
v35 = this.w[var9_11];
v36 = var10_12;
v35[v36] = v35[v36] | 32;
}
}
v29 = var4_4;
}
if (var37_5) break block350;
if (v29 != 0) {
this.E.a(var9_11 * 3, var10_12 * 3, 0x606060);
this.E.a(var9_11 * 3 + 1, var10_12 * 3 + 1, 0x606060);
this.E.a(var9_11 * 3 + 2, var10_12 * 3 + 2, 0x606060);
}
}
v29 = var11_13;
}
v34 = 12000;
}
if (var37_5) break block355;
if (v29 <= v34) continue;
v29 = var11_13;
if (var37_5) break block356;
v34 = 24000;
}
if (v29 >= v34) continue;
v29 = y.Ib[var11_13 - 12001];
}
if (!var37_5) {
if (v29 != 0) continue;
this.a(this.f, var11_13 - 12001, var9_11 + 1, var10_12, var9_11, var10_12 + 1);
v29 = var4_4;
}
if (var37_5) break block357;
if (v29 == 0) break block358;
v29 = y.Hb[var11_13 - 12001];
if (var37_5) break block357;
if (v29 != 0) {
v37 = this.w[var9_11];
v38 = var10_12;
v37[v38] = v37[v38] | 16;
}
}
v29 = var4_4;
}
if (v29 == 0) continue;
this.E.a(var9_11 * 3 + 2, var10_12 * 3, 0x606060);
this.E.a(var9_11 * 3 + 1, var10_12 * 3 + 1, 0x606060);
this.E.a(var9_11 * 3, var10_12 * 3 + 2, 0x606060);
if (!var37_5) continue;
}
++var9_11;
if (!var37_5) continue block14;
}
break;
}
v28 = var4_4;
}
if (!var37_5) {
if (v28 != 0) {
this.E.d(this.m - 1, 0, 0, 285, 285);
}
this.f.a(false, 60, 24, -50, -10, -50);
this.g[var3_3] = this.f.a(0, 0, 1536, 1536, 8, 64, 338, true);
v28 = var9_11 = 0;
}
while (var9_11 < 64) {
this.F.a(this.g[var3_3][var9_11]);
++var9_11;
if (!var37_5) {
if (!var37_5) continue;
}
break block283;
}
var9_11 = 0;
}
block18: while (true) {
v39 = var9_11;
block19: while (v39 < 95) {
v40 = 0;
if (var37_5) break block284;
for (var10_12 = v247619; var10_12 < 95; ++var10_12) {
block361: {
block359: {
block360: {
v39 = var11_13 = this.b(var9_11, var10_12);
if (var37_5) continue block19;
if (!var37_5) {
if (v39 > 0) {
this.c(var11_13 - 1, var9_11, var10_12, var9_11 + 1, var10_12);
}
v41 = var11_13 = this.d(var9_11, var10_12);
}
if (!var37_5) {
if (v41 > 0) {
this.c(var11_13 - 1, var9_11, var10_12, var9_11, var10_12 + 1);
}
v41 = var11_13 = this.i(var9_11, var10_12);
}
if (var37_5) break block359;
if (v41 <= 0) break block360;
v41 = var11_13;
v42 = 12000;
if (var37_5) break block361;
if (v41 < v42) {
this.c(var11_13 - 1, var9_11, var10_12, var9_11 + 1, var10_12 + 1);
}
}
v41 = var11_13;
}
v42 = 12000;
}
if (!var37_5) {
if (v41 <= v42) continue;
v41 = var11_13;
v42 = 24000;
}
if (v41 >= v42) continue;
this.c(var11_13 - 12001, var9_11 + 1, var10_12, var9_11, var10_12 + 1);
if (!var37_5) continue;
}
++var9_11;
if (!var37_5) continue block18;
}
break;
}
v40 = 1;
}
var9_11 = v40;
block21: while (true) {
v43 = var9_11;
block22: while (v43 < 95) {
v44 = 1;
if (var37_5) break block285;
var10_12 = v44;
while (var10_12 < 95) {
block362: {
block363: {
block372: {
block371: {
block370: {
block369: {
block368: {
block367: {
block366: {
block365: {
block364: {
var11_13 = this.f(var9_11, var10_12);
if (var37_5) break block362;
v43 = var11_13;
if (var37_5) continue block22;
if (v43 <= 0) break block363;
var12_14 = var9_11;
var13_15 = var10_12;
var14_16 = var9_11 + 1;
var15_17 = var10_12;
var16_25 = var9_11 + 1;
var17_35 = var10_12 + 1;
var18_39 = var9_11;
var19_41 = var10_12 + 1;
var20_42 = 0;
var21_43 = this.y[var12_14][var13_15];
var22_44 = this.y[var14_16][var15_17];
var23_45 = this.y[var16_25][var17_35];
var24_46 = this.y[var18_39][var19_41];
v45 = var21_43;
v46 = 80000;
if (!var37_5) {
if (v45 > v46) {
var21_43 -= 80000;
}
v45 = var22_44;
v46 = 80000;
}
if (!var37_5) {
if (v45 > v46) {
var22_44 -= 80000;
}
v45 = var23_45;
v46 = 80000;
}
if (var37_5) break block364;
if (v45 > v46) {
var23_45 -= 80000;
}
v45 = var24_46;
if (var37_5) break block365;
v46 = 80000;
}
if (v45 > v46) {
var24_46 -= 80000;
}
v45 = var21_43;
}
if (!var37_5) {
if (v45 > 0) {
var20_42 = var21_43;
}
v45 = var22_44;
}
v47 = var20_42;
if (!var37_5) {
if (v45 > v47) {
var20_42 = var22_44;
}
v45 = var23_45;
v47 = var20_42;
}
if (!var37_5) {
if (v45 > v47) {
var20_42 = var23_45;
}
v45 = var24_46;
v47 = var20_42;
}
if (!var37_5) {
if (v45 > v47) {
var20_42 = var24_46;
}
v45 = var20_42;
v47 = 80000;
}
if (!var37_5) {
if (v45 >= v47) {
var20_42 -= 80000;
}
v45 = var21_43;
v47 = 80000;
}
if (v45 >= v47) break block366;
this.y[var12_14][var13_15] = var20_42;
if (!var37_5) break block367;
}
v48 = this.y[var12_14];
v49 = var13_15;
v48[v49] = v48[v49] - 80000;
}
if (var22_44 >= 80000) break block368;
this.y[var14_16][var15_17] = var20_42;
if (!var37_5) break block369;
}
v50 = this.y[var14_16];
v51 = var15_17;
v50[v51] = v50[v51] - 80000;
}
if (var23_45 >= 80000) break block370;
this.y[var16_25][var17_35] = var20_42;
if (!var37_5) break block371;
}
v52 = this.y[var16_25];
v53 = var17_35;
v52[v53] = v52[v53] - 80000;
}
if (var24_46 >= 80000) break block372;
this.y[var18_39][var19_41] = var20_42;
if (!var37_5) break block363;
}
v54 = this.y[var18_39];
v55 = var19_41;
v54[v55] = v54[v55] - 80000;
}
++var10_12;
}
if (!var37_5) continue;
}
++var9_11;
if (!var37_5) continue block21;
}
break;
}
this.f.b();
v44 = 1;
}
var9_11 = v44;
block24: while (true) {
v56 = var9_11;
block25: while (v56 < 95) {
v57 = 1;
if (var37_5) break block286;
var10_12 = v57;
while (var10_12 < 95) {
block373: {
block374: {
block400: {
block401: {
block398: {
block399: {
block396: {
block397: {
block395: {
block393: {
block394: {
block391: {
block392: {
block389: {
block390: {
block386: {
block388: {
block387: {
block385: {
block384: {
block383: {
block381: {
block382: {
block379: {
block380: {
block377: {
block378: {
block375: {
block376: {
var11_13 = this.f(var9_11, var10_12);
if (var37_5) break block373;
v56 = var11_13;
if (var37_5) continue block25;
if (v56 <= 0) break block374;
var12_14 = var9_11;
var13_15 = var10_12;
var14_16 = var9_11 + 1;
var15_17 = var10_12;
var16_26 = var9_11 + 1;
var17_36 = var10_12 + 1;
var18_40 = var9_11;
var19_41 = var10_12 + 1;
var20_42 = var9_11 * 128;
var21_43 = var10_12 * 128;
var22_44 = var20_42 + 128;
var23_45 = var21_43 + 128;
var24_46 = var20_42;
var25_47 = var21_43;
var26_48 = var22_44;
var27_49 = var23_45;
var28_50 = this.y[var12_14][var13_15];
var29_51 = this.y[var14_16][var15_17];
var30_52 = this.y[var16_26][var17_36];
var31_53 = this.y[var18_40][var19_41];
var32_54 = y.pb[var11_13 - 1];
v58 = this.a(var12_14, var13_15);
if (var37_5) break block375;
if (v58 == 0) break block376;
v58 = var28_50;
if (var37_5) break block375;
if (v58 < 80000) {
this.y[var12_14][var13_15] = var28_50 += var32_54 + 80000;
}
}
v58 = (int)this.a(var14_16, var15_17);
}
if (var37_5) break block377;
if (v58 == 0) break block378;
v58 = var29_51;
if (var37_5) break block377;
if (v58 < 80000) {
this.y[var14_16][var15_17] = var29_51 += var32_54 + 80000;
}
}
v58 = (int)this.a(var16_26, var17_36);
}
if (var37_5) break block379;
if (v58 == 0) break block380;
v58 = var30_52;
if (var37_5) break block379;
if (v58 < 80000) {
this.y[var16_26][var17_36] = var30_52 += var32_54 + 80000;
}
}
v58 = (int)this.a(var18_40, var19_41);
}
if (var37_5) break block381;
if (v58 == 0) break block382;
v58 = var31_53;
v59 = 80000;
if (var37_5) break block383;
if (v58 < v59) {
this.y[var18_40][var19_41] = var31_53 += var32_54 + 80000;
}
}
v58 = var28_50;
}
v59 = 80000;
}
if (!var37_5) {
if (v58 >= v59) {
var28_50 -= 80000;
}
v58 = var29_51;
v59 = 80000;
}
if (!var37_5) {
if (v58 >= v59) {
var29_51 -= 80000;
}
v58 = var30_52;
v59 = 80000;
}
if (var37_5) break block384;
if (v58 >= v59) {
var30_52 -= 80000;
}
v58 = var31_53;
if (var37_5) break block385;
v59 = 80000;
}
if (v58 >= v59) {
var31_53 -= 80000;
}
v58 = 16;
}
var33_55 = v58;
v60 = this.h(var12_14 - 1, var13_15);
if (!var37_5) {
if (v60 == 0) {
var20_42 -= 16;
}
v60 = this.h(var12_14 + 1, var13_15);
}
if (!var37_5) {
if (v60 == 0) {
var20_42 += 16;
}
v60 = this.h(var12_14, var13_15 - 1);
}
if (!var37_5) {
if (v60 == 0) {
var21_43 -= 16;
}
v60 = this.h(var12_14, var13_15 + 1);
}
if (!var37_5) {
if (v60 == 0) {
var21_43 += 16;
}
v60 = this.h(var14_16 - 1, var15_17);
}
if (!var37_5) {
if (v60 == 0) {
var22_44 -= 16;
}
v60 = this.h(var14_16 + 1, var15_17);
}
if (!var37_5) {
if (v60 == 0) {
var22_44 += 16;
}
v60 = this.h(var14_16, var15_17 - 1);
}
if (!var37_5) {
if (v60 == 0) {
var25_47 -= 16;
}
v60 = this.h(var14_16, var15_17 + 1);
}
if (!var37_5) {
if (v60 == 0) {
var25_47 += 16;
}
v60 = this.h(var16_26 - 1, var17_36);
}
if (!var37_5) {
if (v60 == 0) {
var26_48 -= 16;
}
v60 = this.h(var16_26 + 1, var17_36);
}
if (!var37_5) {
if (v60 == 0) {
var26_48 += 16;
}
v60 = this.h(var16_26, var17_36 - 1);
}
if (!var37_5) {
if (v60 == 0) {
var23_45 -= 16;
}
v60 = this.h(var16_26, var17_36 + 1);
}
if (!var37_5) {
if (v60 == 0) {
var23_45 += 16;
}
v60 = this.h(var18_40 - 1, var19_41);
}
if (!var37_5) {
if (v60 == 0) {
var24_46 -= 16;
}
v60 = this.h(var18_40 + 1, var19_41);
}
if (!var37_5) {
if (v60 == 0) {
var24_46 += 16;
}
v60 = this.h(var18_40, var19_41 - 1);
}
if (!var37_5) {
if (v60 == 0) {
var27_49 -= 16;
}
v60 = (int)this.h(var18_40, var19_41 + 1);
}
if (!var37_5) {
if (v60 == 0) {
var27_49 += 16;
}
var11_13 = y.qb[var11_13 - 1];
var28_50 = -var28_50;
var29_51 = -var29_51;
var30_52 = -var30_52;
var31_53 = -var31_53;
v60 = this.i(var9_11, var10_12);
}
v61 = 12000;
if (var37_5) break block386;
if (v60 <= v61) break block387;
v60 = this.i(var9_11, var10_12);
v61 = 24000;
if (var37_5) break block386;
if (v60 >= v61) break block387;
v60 = this.f(var9_11 - 1, var10_12 - 1);
if (var37_5) break block388;
if (v60 != 0) break block387;
var34_56 = new int[]{this.f.a(var26_48, var30_52, var23_45), this.f.a(var24_46, var31_53, var27_49), this.f.a(var22_44, var29_51, var25_47)};
this.f.a(3, var34_56, var11_13, 12345678);
if (!var37_5) break block374;
}
v60 = this.i(var9_11, var10_12);
}
if (var37_5) break block389;
v61 = 12000;
}
if (v60 <= v61) break block390;
v60 = this.i(var9_11, var10_12);
if (var37_5) break block389;
if (v60 >= 24000) break block390;
v60 = this.f(var9_11 + 1, var10_12 + 1);
if (var37_5) break block389;
if (v60 != 0) break block390;
var34_56 = new int[]{this.f.a(var20_42, var28_50, var21_43), this.f.a(var22_44, var29_51, var25_47), this.f.a(var24_46, var31_53, var27_49)};
this.f.a(3, var34_56, var11_13, 12345678);
if (!var37_5) break block374;
}
v60 = this.i(var9_11, var10_12);
}
if (var37_5) break block391;
if (v60 <= 0) break block392;
v60 = this.i(var9_11, var10_12);
if (var37_5) break block391;
if (v60 >= 12000) break block392;
v60 = this.f(var9_11 + 1, var10_12 - 1);
if (var37_5) break block391;
if (v60 != 0) break block392;
var34_56 = new int[]{this.f.a(var24_46, var31_53, var27_49), this.f.a(var20_42, var28_50, var21_43), this.f.a(var26_48, var30_52, var23_45)};
this.f.a(3, var34_56, var11_13, 12345678);
if (!var37_5) break block374;
}
v60 = this.i(var9_11, var10_12);
}
if (var37_5) break block393;
if (v60 <= 0) break block394;
v60 = this.i(var9_11, var10_12);
v62 = 12000;
if (var37_5) break block395;
if (v60 >= v62) break block394;
v60 = this.f(var9_11 - 1, var10_12 + 1);
if (var37_5) break block393;
if (v60 != 0) break block394;
var34_56 = new int[]{this.f.a(var22_44, var29_51, var25_47), this.f.a(var26_48, var30_52, var23_45), this.f.a(var20_42, var28_50, var21_43)};
this.f.a(3, var34_56, var11_13, 12345678);
if (!var37_5) break block374;
}
v60 = var28_50;
}
v62 = var29_51;
}
if (var37_5) break block396;
if (v60 != v62) break block397;
v60 = var30_52;
v62 = var31_53;
if (var37_5) break block396;
if (v60 != v62) break block397;
var34_56 = new int[]{this.f.a(var20_42, var28_50, var21_43), this.f.a(var22_44, var29_51, var25_47), this.f.a(var26_48, var30_52, var23_45), this.f.a(var24_46, var31_53, var27_49)};
this.f.a(4, var34_56, var11_13, 12345678);
if (!var37_5) break block374;
}
v60 = var28_50;
if (var37_5) break block398;
v62 = var31_53;
}
if (v60 != v62) break block399;
v60 = var29_51;
if (var37_5) break block398;
if (v60 != var30_52) break block399;
var34_56 = new int[]{this.f.a(var24_46, var31_53, var27_49), this.f.a(var20_42, var28_50, var21_43), this.f.a(var22_44, var29_51, var25_47), this.f.a(var26_48, var30_52, var23_45)};
this.f.a(4, var34_56, var11_13, 12345678);
if (!var37_5) break block374;
}
v60 = 1;
}
var34_57 = v60;
v63 = this.f(var9_11 - 1, var10_12 - 1);
if (!var37_5) {
if (v63 > 0) {
var34_57 = 0;
}
v63 = this.f(var9_11 + 1, var10_12 + 1);
}
if (!var37_5) {
if (v63 > 0) {
var34_57 = 0;
}
v63 = var34_57;
}
if (var37_5) break block400;
if (v63 != 0) break block401;
var35_58 = new int[]{this.f.a(var22_44, var29_51, var25_47), this.f.a(var26_48, var30_52, var23_45), this.f.a(var20_42, var28_50, var21_43)};
this.f.a(3, var35_58, var11_13, 12345678);
var36_59 = new int[]{this.f.a(var24_46, var31_53, var27_49), this.f.a(var20_42, var28_50, var21_43), this.f.a(var26_48, var30_52, var23_45)};
this.f.a(3, var36_59, var11_13, 12345678);
if (!var37_5) break block374;
}
v63 = 3;
}
var35_58 = new int[v63];
var35_58[0] = this.f.a(var20_42, var28_50, var21_43);
var35_58[1] = this.f.a(var22_44, var29_51, var25_47);
var35_58[2] = this.f.a(var24_46, var31_53, var27_49);
this.f.a(3, var35_58, var11_13, 12345678);
var36_59 = new int[]{this.f.a(var26_48, var30_52, var23_45), this.f.a(var24_46, var31_53, var27_49), this.f.a(var22_44, var29_51, var25_47)};
this.f.a(3, var36_59, var11_13, 12345678);
}
++var10_12;
}
if (!var37_5) continue;
}
++var9_11;
if (!var37_5) continue block24;
}
break;
}
this.f.a(true, 50, 50, -50, -10, -50);
this.B[var3_3] = this.f.a(0, 0, 1536, 1536, 8, 64, 169, true);
v57 = var9_11 = 0;
}
while (var9_11 < 64) {
this.F.a(this.B[var3_3][var9_11]);
++var9_11;
if (!var37_5) {
if (!var37_5) continue;
}
break block287;
}
if (this.B[var3_3][0] == null) {
throw new RuntimeException(t.G[5]);
}
}
var9_11 = 0;
block28: while (true) {
v64 = var9_11;
v65 = 96;
block29: while (v64 < v65) {
for (var10_12 = 0; var10_12 < 96; ++var10_12) {
v66 = this.y[var9_11];
v67 = var10_12;
if (!var37_5) {
v64 = v66[v67];
v65 = 80000;
if (var37_5) continue block29;
if (v64 < v65) continue;
v66 = this.y[var9_11];
v67 = var10_12;
}
v66[v67] = v66[v67] - 80000;
if (!var37_5) continue;
}
++var9_11;
if (!var37_5) continue block28;
}
break;
}
}
public int d(int n2, int n3, int n4) {
int n5;
int n6;
block16: {
int n7;
block13: {
boolean bl;
block14: {
block15: {
block11: {
block12: {
int n8;
block9: {
block10: {
int n9;
block7: {
block8: {
bl = q.d;
boolean bl2 = false;
n9 = n2;
if (bl) break block7;
if (n9 < 0) break block8;
n9 = n2;
if (bl) break block7;
if (n9 >= 96) break block8;
n9 = n3;
if (bl) break block7;
if (n9 < 0) break block8;
n8 = n3;
if (bl) break block9;
if (n8 < 96) break block10;
}
n9 = 0;
}
return n9;
}
n8 = 0;
}
n7 = n8;
n6 = n2;
n5 = 48;
if (bl) break block11;
if (n6 < n5) break block12;
n6 = n3;
n5 = 48;
if (bl) break block11;
if (n6 >= n5) break block12;
n7 = 1;
n2 -= 48;
if (!bl) break block13;
}
n6 = n2;
n5 = 48;
}
if (bl) break block14;
if (n6 >= n5) break block15;
n6 = n3;
n5 = 48;
if (bl) break block14;
if (n6 < n5) break block15;
n7 = 2;
n3 -= 48;
if (!bl) break block13;
}
n6 = n2;
n5 = 48;
}
if (bl) break block16;
if (n6 < n5) break block13;
n6 = n3;
n5 = 48;
if (bl) break block16;
if (n6 >= n5) {
n7 = 3;
n2 -= 48;
n3 -= 48;
}
}
n6 = this.s[n7][n2 * 48 + n3];
n5 = 255;
}
return n6 & n5;
}
public void e(int n2, int n3, int n4) {
int[] nArray = this.w[n2];
int n5 = n3;
nArray[n5] = nArray[n5] | n4;
}
public void f(int n2, int n3, int n4) {
block9: {
int n5;
int n6;
int n7;
int n8;
block8: {
boolean bl = q.d;
int n9 = n2 / 12;
int n10 = n3 / 12;
n8 = (n2 - 1) / 12;
n7 = (n3 - 1) / 12;
this.b(n9, n10, n2, n3, n4);
n6 = n9;
n5 = n8;
if (!bl) {
if (n6 != n5) {
this.b(n8, n10, n2, n3, n4);
}
n6 = n10;
n5 = n7;
}
if (!bl) {
if (n6 != n5) {
this.b(n9, n7, n2, n3, n4);
}
n6 = n9;
n5 = n8;
}
if (bl) break block8;
if (n6 == n5) break block9;
n6 = n10;
n5 = n7;
}
if (n6 != n5) {
this.b(n8, n7, n2, n3, n4);
}
}
}
public void g(int n2, int n3, int n4) {
int[] nArray = this.w[n2];
int n5 = n3;
nArray[n5] = nArray[n5] & 65535 - n4;
}
public void e(int n2, int n3, int n4, int n5) {
int n6;
boolean bl;
block11: {
block12: {
block8: {
int n7;
block10: {
block9: {
block7: {
bl = q.d;
boolean bl2 = false;
n6 = n2;
n7 = 1;
if (bl) break block7;
if (n6 < n7) break block8;
n6 = n3;
n7 = 1;
}
if (bl) break block9;
if (n6 < n7) break block8;
n6 = n2 + n4;
n7 = 96;
}
if (bl) break block10;
if (n6 >= n7) break block8;
n6 = n3 + n5;
if (bl) break block11;
n7 = 96;
}
if (n6 < n7) break block12;
}
return;
}
n6 = n2;
}
int n8 = n6;
block0: while (true) {
int n9 = n8;
block1: while (n9 <= n2 + n4) {
for (int i2 = n3; i2 <= n3 + n5; ++i2) {
int n10;
int n11;
t t2;
block15: {
block16: {
int n12;
int n13;
t t3;
block13: {
block14: {
t3 = this;
n13 = n8;
n12 = i2;
if (bl) break block13;
n9 = t3.k(n13, n12) & 0x63;
if (bl) continue block1;
if (n9 != 0) break block14;
t3 = this;
n13 = n8 - 1;
n12 = i2;
if (bl) break block13;
if ((t3.k(n13, n12) & 0x59) != 0) break block14;
t3 = this;
n13 = n8;
n12 = i2 - 1;
if (bl) break block13;
if ((t3.k(n13, n12) & 0x56) != 0) break block14;
t2 = this;
n11 = n8 - 1;
n10 = i2 - 1;
if (bl) break block15;
if ((t2.k(n11, n10) & 0x6C) == 0) break block16;
}
t3 = this;
n13 = n8;
n12 = i2;
}
t3.f(n13, n12, 35);
if (!bl) continue;
}
t2 = this;
n11 = n8;
n10 = i2;
}
t2.f(n11, n10, 0);
if (!bl) continue;
}
++n8;
if (!bl) continue block0;
}
break;
}
}
public void h(int n2, int n3, int n4) {
block13: {
int n5;
int n6;
int n7;
boolean bl;
block26: {
int n8;
block24: {
block25: {
int n9;
block22: {
block23: {
int n10;
block20: {
block21: {
int n11;
block18: {
block19: {
block15: {
block17: {
block16: {
block14: {
bl = q.d;
boolean bl2 = false;
n10 = n2;
if (bl) break block14;
if (n10 < 0) break block15;
n10 = n3;
}
if (bl) break block16;
if (n10 < 0) break block15;
n10 = n2;
}
n11 = 95;
if (bl) break block17;
if (n10 >= n11) break block15;
n10 = n3;
n11 = 95;
}
if (bl) break block18;
if (n10 < n11) break block19;
}
return;
}
n10 = y.Y[n4];
if (bl) break block20;
n11 = 1;
}
if (n10 == n11) break block21;
n10 = y.Y[n4];
if (bl) break block20;
if (n10 != 2) break block13;
}
n10 = this.c(n2, n3);
}
n9 = n7 = n10;
if (bl) break block22;
if (n9 == 0) break block23;
n8 = n7;
if (bl) break block24;
if (n8 != 4) break block25;
}
n9 = y.W[n4];
}
n6 = n9;
n5 = y.X[n4];
if (!bl) break block26;
}
n8 = y.W[n4];
}
n5 = n8;
n6 = y.X[n4];
}
int n12 = n2;
block0: while (true) {
int n13 = n12;
int n14 = n2 + n6;
block1: while (n13 < n14) {
if (bl) break block13;
int n15 = n3;
while (n15 < n3 + n5) {
block32: {
block29: {
int n16;
block37: {
int n17;
block35: {
block36: {
block33: {
block34: {
block30: {
block31: {
block27: {
block28: {
n16 = y.Y[n4];
if (bl) break block27;
n14 = 1;
if (bl) continue block1;
if (n16 != n14) break block28;
int[] nArray = this.w[n12];
int n18 = n15;
nArray[n18] = nArray[n18] | 0x40;
if (!bl) break block29;
}
n16 = n7;
}
if (bl) break block30;
if (n16 != 0) break block31;
int[] nArray = this.w[n12];
int n19 = n15;
nArray[n19] = nArray[n19] | 2;
if (bl) break block32;
if (n12 <= 0) break block29;
this.e(n12 - 1, n15, 8);
if (!bl) break block29;
}
n16 = n7;
}
n17 = 2;
if (bl) break block33;
if (n16 != n17) break block34;
int[] nArray = this.w[n12];
int n20 = n15;
nArray[n20] = nArray[n20] | 4;
if (bl) break block32;
if (n15 >= 95) break block29;
this.e(n12, n15 + 1, 1);
if (!bl) break block29;
}
n16 = n7;
n17 = 4;
}
if (bl) break block35;
if (n16 != n17) break block36;
int[] nArray = this.w[n12];
int n21 = n15;
nArray[n21] = nArray[n21] | 8;
if (bl) break block32;
if (n12 >= 95) break block29;
this.e(n12 + 1, n15, 2);
if (!bl) break block29;
}
n16 = n7;
if (bl) break block37;
n17 = 6;
}
if (n16 != n17) break block29;
int[] nArray = this.w[n12];
int n22 = n15;
nArray[n22] = nArray[n22] | 1;
if (bl) break block32;
n16 = n15;
}
if (n16 > 0) {
this.e(n12, n15 - 1, 4);
}
}
++n15;
}
if (!bl) continue;
}
++n12;
if (!bl) continue block0;
}
break;
}
this.e(n2, n3, n6, n5);
}
}
public void i(int n2, int n3, int n4) {
block3: {
block2: {
this.b();
int n5 = (n2 + 24) / 48;
int n6 = (n3 + 24) / 48;
this.a(n2, n3, n4, true);
if (q.d) break block2;
if (n4 != 0) break block3;
this.a(n2, n3, 1, false);
this.a(n2, n3, 2, false);
this.d(n5 - 1, n6 - 1, n4, 0);
this.d(n5, n6 - 1, n4, 1);
this.d(n5 - 1, n6, n4, 2);
this.d(n5, n6, n4, 3);
}
this.a();
}
}
public int k(int n2, int n3) {
int n4;
block4: {
block5: {
int n5;
block2: {
block3: {
boolean bl = q.d;
n5 = n2;
if (bl) break block2;
if (n5 < 0) break block3;
n5 = n3;
if (bl) break block2;
if (n5 < 0) break block3;
n5 = n2;
if (bl) break block2;
if (n5 >= 96) break block3;
n4 = n3;
if (bl) break block4;
if (n4 < 96) break block5;
}
n5 = 0;
}
return n5;
}
n4 = this.w[n2][n3];
}
return n4;
}
/*
* Handled impossible loop by duplicating code
* Enabled aggressive block sorting
*/
static {
char[] cArray;
String[] stringArray;
block65: {
int n2;
int n3;
char[] cArray2;
int n4;
block64: {
char[] cArray3;
Object var0;
block63: {
int n5;
int n6;
char[] cArray4;
block62: {
char[] cArray5;
block61: {
int n7;
int n8;
char[] cArray6;
block60: {
char[] cArray7;
block59: {
int n9;
int n10;
char[] cArray8;
block58: {
char[] cArray9;
block57: {
int n11;
int n12;
char[] cArray10;
block56: {
char[] cArray11;
block55: {
int n13;
int n14;
char[] cArray12;
block54: {
stringArray = new String[6];
var0 = null;
char[] cArray13 = "\u0019p\u0019#".toCharArray();
n4 = 0;
int n15 = cArray13.length;
cArray12 = cArray13;
n14 = n15;
if (n15 <= 1) break block54;
cArray11 = cArray12;
n13 = n14;
if (n14 <= n4) break block55;
}
do {
char[] cArray14 = cArray12;
char[] cArray15 = cArray12;
int n16 = n4;
while (true) {
int n17;
char c2 = cArray14[n16];
switch (n4 % 5) {
case 0: {
n17 = 55;
break;
}
case 1: {
n17 = 28;
break;
}
case 2: {
n17 = 118;
break;
}
case 3: {
n17 = 64;
break;
}
default: {
n17 = 31;
}
}
cArray14[n16] = (char)(c2 ^ n17);
++n4;
cArray12 = cArray15;
n14 = n14;
if (n14 != 0) break;
cArray15 = cArray12;
n13 = n14;
n16 = n14;
cArray14 = cArray12;
}
cArray11 = cArray12;
n13 = n14;
} while (n14 > n4);
}
stringArray[0] = new String(cArray11).intern();
var0 = null;
char[] cArray16 = "\u0019x\u00174".toCharArray();
n4 = 0;
int n18 = cArray16.length;
cArray10 = cArray16;
n12 = n18;
if (n18 <= 1) break block56;
cArray9 = cArray10;
n11 = n12;
if (n12 <= n4) break block57;
}
do {
char[] cArray17 = cArray10;
char[] cArray18 = cArray10;
int n19 = n4;
while (true) {
int n20;
char c3 = cArray17[n19];
switch (n4 % 5) {
case 0: {
n20 = 55;
break;
}
case 1: {
n20 = 28;
break;
}
case 2: {
n20 = 118;
break;
}
case 3: {
n20 = 64;
break;
}
default: {
n20 = 31;
}
}
cArray17[n19] = (char)(c3 ^ n20);
++n4;
cArray10 = cArray18;
n12 = n12;
if (n12 != 0) break;
cArray18 = cArray10;
n11 = n12;
n19 = n12;
cArray17 = cArray10;
}
cArray9 = cArray10;
n11 = n12;
} while (n12 > n4);
}
stringArray[1] = new String(cArray9).intern();
var0 = null;
char[] cArray19 = "\u00192Y'~Zy\u0012!kV3\u001b!oD3".toCharArray();
n4 = 0;
int n21 = cArray19.length;
cArray8 = cArray19;
n10 = n21;
if (n21 <= 1) break block58;
cArray7 = cArray8;
n9 = n10;
if (n10 <= n4) break block59;
}
do {
char[] cArray20 = cArray8;
char[] cArray21 = cArray8;
int n22 = n4;
while (true) {
int n23;
char c4 = cArray20[n22];
switch (n4 % 5) {
case 0: {
n23 = 55;
break;
}
case 1: {
n23 = 28;
break;
}
case 2: {
n23 = 118;
break;
}
case 3: {
n23 = 64;
break;
}
default: {
n23 = 31;
}
}
cArray20[n22] = (char)(c4 ^ n23);
++n4;
cArray8 = cArray21;
n10 = n10;
if (n10 != 0) break;
cArray21 = cArray8;
n9 = n10;
n22 = n10;
cArray20 = cArray8;
}
cArray7 = cArray8;
n9 = n10;
} while (n10 > n4);
}
stringArray[2] = new String(cArray7).intern();
var0 = null;
char[] cArray22 = "\u0019t\u0013)".toCharArray();
n4 = 0;
int n24 = cArray22.length;
cArray6 = cArray22;
n8 = n24;
if (n24 <= 1) break block60;
cArray5 = cArray6;
n7 = n8;
if (n8 <= n4) break block61;
}
do {
char[] cArray23 = cArray6;
char[] cArray24 = cArray6;
int n25 = n4;
while (true) {
int n26;
char c5 = cArray23[n25];
switch (n4 % 5) {
case 0: {
n26 = 55;
break;
}
case 1: {
n26 = 28;
break;
}
case 2: {
n26 = 118;
break;
}
case 3: {
n26 = 64;
break;
}
default: {
n26 = 31;
}
}
cArray23[n25] = (char)(c5 ^ n26);
++n4;
cArray6 = cArray24;
n8 = n8;
if (n8 != 0) break;
cArray24 = cArray6;
n7 = n8;
n25 = n8;
cArray23 = cArray6;
}
cArray5 = cArray6;
n7 = n8;
} while (n8 > n4);
}
stringArray[3] = new String(cArray5).intern();
var0 = null;
char[] cArray25 = "\u0019v\u001b".toCharArray();
n4 = 0;
int n27 = cArray25.length;
cArray4 = cArray25;
n6 = n27;
if (n27 <= 1) break block62;
cArray3 = cArray4;
n5 = n6;
if (n6 <= n4) break block63;
}
do {
char[] cArray26 = cArray4;
char[] cArray27 = cArray4;
int n28 = n4;
while (true) {
int n29;
char c6 = cArray26[n28];
switch (n4 % 5) {
case 0: {
n29 = 55;
break;
}
case 1: {
n29 = 28;
break;
}
case 2: {
n29 = 118;
break;
}
case 3: {
n29 = 64;
break;
}
default: {
n29 = 31;
}
}
cArray26[n28] = (char)(c6 ^ n29);
++n4;
cArray4 = cArray27;
n6 = n6;
if (n6 != 0) break;
cArray27 = cArray4;
n5 = n6;
n28 = n6;
cArray26 = cArray4;
}
cArray3 = cArray4;
n5 = n6;
} while (n6 > n4);
}
stringArray[4] = new String(cArray3).intern();
var0 = null;
char[] cArray28 = "Yi\u001a,?Es\u0019&>".toCharArray();
n4 = 0;
int n30 = cArray28.length;
cArray2 = cArray28;
n3 = n30;
if (n30 <= 1) break block64;
cArray = cArray2;
n2 = n3;
if (n3 <= n4) break block65;
}
do {
char[] cArray29 = cArray2;
char[] cArray30 = cArray2;
int n31 = n4;
while (true) {
int n32;
char c7 = cArray29[n31];
switch (n4 % 5) {
case 0: {
n32 = 55;
break;
}
case 1: {
n32 = 28;
break;
}
case 2: {
n32 = 118;
break;
}
case 3: {
n32 = 64;
break;
}
default: {
n32 = 31;
}
}
cArray29[n31] = (char)(c7 ^ n32);
++n4;
cArray2 = cArray30;
n3 = n3;
if (n3 != 0) break;
cArray30 = cArray2;
n2 = n3;
n31 = n3;
cArray29 = cArray2;
}
cArray = cArray2;
n2 = n3;
} while (n3 > n4);
}
stringArray[5] = new String(cArray).intern();
G = stringArray;
}
}