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

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;
}
}