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.
1054 lines
53 KiB
Java
1054 lines
53 KiB
Java
/*
|
|
* Decompiled with CFR 0.152.
|
|
*/
|
|
public class u {
|
|
private static String z;
|
|
|
|
public static int a(byte[] byArray, int n2, byte[] byArray2, int n3, int n4) {
|
|
e e2 = new e();
|
|
e2.j = byArray2;
|
|
e2.k = n4;
|
|
e2.o = byArray;
|
|
e2.p = 0;
|
|
e2.l = n3;
|
|
e2.q = n2;
|
|
e2.x = 0;
|
|
e2.w = 0;
|
|
e2.m = 0;
|
|
e2.n = 0;
|
|
e2.r = 0;
|
|
e2.s = 0;
|
|
e2.z = 0;
|
|
u.b(e2);
|
|
return n2 -= e2.q;
|
|
}
|
|
|
|
private static void a(e e2) {
|
|
int n2;
|
|
int n3;
|
|
boolean bl = q.d;
|
|
boolean bl2 = false;
|
|
byte by = e2.t;
|
|
int n4 = e2.u;
|
|
int n5 = e2.E;
|
|
int n6 = e2.C;
|
|
int[] nArray = e.H;
|
|
int n7 = e2.B;
|
|
byte[] byArray = e2.o;
|
|
int n8 = e2.p;
|
|
int n9 = n3 = e2.q;
|
|
int n10 = e2.V + 1;
|
|
block0: while (true) {
|
|
int n11;
|
|
int n12;
|
|
int n13;
|
|
int n14;
|
|
int n15;
|
|
block25: {
|
|
block26: {
|
|
block28: {
|
|
block27: {
|
|
if (n4 <= 0) break block26;
|
|
do {
|
|
if (n3 == 0) {
|
|
if (bl) continue;
|
|
if (!bl) break block0;
|
|
}
|
|
if (n4 == 1 && !bl) break;
|
|
byArray[n8] = by;
|
|
--n4;
|
|
++n8;
|
|
--n3;
|
|
} while (!bl);
|
|
int n16 = n3;
|
|
if (bl) break block27;
|
|
if (n16 != 0) break block28;
|
|
n16 = n4 = 1;
|
|
}
|
|
if (!bl) break;
|
|
}
|
|
byArray[n8] = by;
|
|
++n8;
|
|
--n3;
|
|
}
|
|
n2 = 1;
|
|
while (n2 != 0) {
|
|
int n17;
|
|
block30: {
|
|
int n18;
|
|
block29: {
|
|
int n19;
|
|
int n20;
|
|
n2 = 0;
|
|
n15 = n5;
|
|
n14 = n10;
|
|
if (bl) break block25;
|
|
if (!bl) {
|
|
if (n15 == n14) {
|
|
n4 = 0;
|
|
if (!bl) break block0;
|
|
}
|
|
by = (byte)n6;
|
|
n20 = n7 = nArray[n7];
|
|
n19 = 255;
|
|
}
|
|
n13 = (byte)(n20 & n19);
|
|
n7 >>= 8;
|
|
++n5;
|
|
n17 = n13;
|
|
n18 = n6;
|
|
if (bl) break block29;
|
|
if (n17 != n18) {
|
|
n6 = n13;
|
|
int n21 = n3;
|
|
if (!bl) {
|
|
if (n21 == 0) {
|
|
n4 = 1;
|
|
if (!bl) break block0;
|
|
}
|
|
byArray[n8] = by;
|
|
++n8;
|
|
--n3;
|
|
n21 = n2 = 1;
|
|
}
|
|
if (!bl) continue;
|
|
}
|
|
n17 = n5;
|
|
if (bl) break block30;
|
|
n18 = n10;
|
|
}
|
|
if (n17 != n18 && !bl) continue;
|
|
n17 = n3;
|
|
}
|
|
if (!bl) {
|
|
if (n17 == 0) {
|
|
n4 = 1;
|
|
if (!bl) break block0;
|
|
}
|
|
byArray[n8] = by;
|
|
++n8;
|
|
--n3;
|
|
n17 = n2 = 1;
|
|
}
|
|
if (!bl) continue;
|
|
}
|
|
n4 = 2;
|
|
n15 = n7 = nArray[n7];
|
|
n14 = 255;
|
|
}
|
|
n13 = n15 & n14;
|
|
n7 >>= 8;
|
|
int n22 = ++n5;
|
|
int n23 = n10;
|
|
do {
|
|
if (n22 == n23) continue block0;
|
|
n22 = n13;
|
|
n23 = n6;
|
|
} while (bl);
|
|
if (!bl) {
|
|
if (n22 != n23) {
|
|
n6 = n13;
|
|
if (!bl) continue;
|
|
}
|
|
n4 = 3;
|
|
n12 = n7 = nArray[n7];
|
|
n11 = 255;
|
|
}
|
|
byte by2 = (byte)(n12 & n11);
|
|
n7 >>= 8;
|
|
int n24 = ++n5;
|
|
int n25 = n10;
|
|
if (!bl) {
|
|
if (n24 == n25) continue;
|
|
n24 = by2;
|
|
n25 = n6;
|
|
}
|
|
if (!bl) {
|
|
if (n24 != n25) {
|
|
n6 = by2;
|
|
if (!bl) continue;
|
|
}
|
|
n24 = n7 = nArray[n7];
|
|
n25 = 255;
|
|
}
|
|
byte by3 = (byte)(n24 & n25);
|
|
n7 >>= 8;
|
|
++n5;
|
|
n4 = (by3 & 0xFF) + 4;
|
|
n7 = nArray[n7];
|
|
n6 = (byte)(n7 & 0xFF);
|
|
n7 >>= 8;
|
|
++n5;
|
|
if (bl) break;
|
|
}
|
|
n2 = e2.r;
|
|
e2.r += n9 - n3;
|
|
e e3 = e2;
|
|
if (!bl) {
|
|
if (e3.r < n2) {
|
|
++e2.s;
|
|
}
|
|
e2.t = by;
|
|
e2.u = n4;
|
|
e2.E = n5;
|
|
e2.C = n6;
|
|
e.H = nArray;
|
|
e2.B = n7;
|
|
e2.o = byArray;
|
|
e2.p = n8;
|
|
e3 = e2;
|
|
}
|
|
e3.q = n3;
|
|
}
|
|
|
|
/*
|
|
* Unable to fully structure code
|
|
*/
|
|
private static void b(e var0) {
|
|
block137: {
|
|
block136: {
|
|
var54_1 = q.d;
|
|
var1_2 = false;
|
|
var2_3 = false;
|
|
var3_4 = false;
|
|
var4_5 = false;
|
|
var5_6 = false;
|
|
var6_7 = false;
|
|
var7_8 = false;
|
|
var8_9 = false;
|
|
var9_10 = false;
|
|
var10_11 = false;
|
|
var11_12 = false;
|
|
var12_13 = false;
|
|
var13_14 = false;
|
|
var14_15 = false;
|
|
var15_16 = false;
|
|
var16_17 = false;
|
|
var17_18 = false;
|
|
var18_19 = false;
|
|
var19_20 = false;
|
|
var20_21 = false;
|
|
var21_22 = false;
|
|
var22_23 = null;
|
|
var23_24 = null;
|
|
var24_25 = null;
|
|
var0.y = 1;
|
|
v0 = e.H;
|
|
if (var54_1) break block136;
|
|
if (v0 != null) break block137;
|
|
v0 = new int[var0.y * 100000];
|
|
}
|
|
e.H = v0;
|
|
}
|
|
var25_26 = 1;
|
|
block0: while (var25_26 != 0) {
|
|
block135: {
|
|
block134: {
|
|
block133: {
|
|
block126: {
|
|
block122: {
|
|
block121: {
|
|
block120: {
|
|
block119: {
|
|
block117: {
|
|
block116: {
|
|
block115: {
|
|
block114: {
|
|
block113: {
|
|
block141: {
|
|
block139: {
|
|
block140: {
|
|
block138: {
|
|
v1 = var26_27 = u.c(var0);
|
|
if (var54_1) break block138;
|
|
if (v1 == 23) {
|
|
return;
|
|
}
|
|
var26_27 = u.c(var0);
|
|
var26_27 = u.c(var0);
|
|
var26_27 = u.c(var0);
|
|
var26_27 = u.c(var0);
|
|
var26_27 = u.c(var0);
|
|
++var0.z;
|
|
var26_27 = u.c(var0);
|
|
var26_27 = u.c(var0);
|
|
var26_27 = u.c(var0);
|
|
var26_27 = u.c(var0);
|
|
v2 = var0;
|
|
if (var54_1) break block139;
|
|
v1 = var26_27 = u.d(v2);
|
|
}
|
|
if (v1 == 0) break block140;
|
|
var0.v = true;
|
|
if (!var54_1) break block141;
|
|
}
|
|
v2 = var0;
|
|
}
|
|
v2.v = false;
|
|
}
|
|
v3 = var0.v;
|
|
if (!var54_1) {
|
|
if (v3 != 0) {
|
|
System.out.println(u.z);
|
|
}
|
|
var0.A = 0;
|
|
var26_27 = u.c(var0);
|
|
var0.A = var0.A << 8 | var26_27 & 255;
|
|
var26_27 = u.c(var0);
|
|
var0.A = var0.A << 8 | var26_27 & 255;
|
|
var26_27 = u.c(var0);
|
|
var0.A = var0.A << 8 | var26_27 & 255;
|
|
v3 = var27_28 = 0;
|
|
}
|
|
while (var27_28 < 16) {
|
|
block144: {
|
|
block143: {
|
|
block142: {
|
|
var28_29 = u.d(var0);
|
|
if (var54_1) break block142;
|
|
v4 = var28_29;
|
|
v5 = 1;
|
|
if (var54_1) ** GOTO lbl93
|
|
if (v4 != v5) break block143;
|
|
var0.K[var27_28] = true;
|
|
}
|
|
if (!var54_1) break block144;
|
|
}
|
|
var0.K[var27_28] = false;
|
|
}
|
|
++var27_28;
|
|
if (!var54_1) continue;
|
|
}
|
|
var27_28 = 0;
|
|
do {
|
|
v4 = var27_28;
|
|
v5 = 256;
|
|
lbl93:
|
|
// 2 sources
|
|
|
|
if (v4 >= v5) break;
|
|
var0.J[var27_28] = false;
|
|
++var27_28;
|
|
if (var54_1) break block113;
|
|
} while (!var54_1);
|
|
var27_28 = 0;
|
|
}
|
|
block3: while (true) {
|
|
v6 = var27_28;
|
|
v7 = 16;
|
|
block4: while (v6 < v7) {
|
|
block146: {
|
|
block145: {
|
|
v8 = var0.K[var27_28];
|
|
if (var54_1) break block114;
|
|
if (var54_1) break block145;
|
|
if (v8 == 0) break block146;
|
|
v9 = var28_29 = 0;
|
|
}
|
|
while (var28_29 < 16) {
|
|
var29_30 = u.d(var0);
|
|
if (!var54_1) {
|
|
v6 = var29_30;
|
|
v7 = 1;
|
|
if (var54_1) continue block4;
|
|
if (v6 == v7) {
|
|
var0.J[var27_28 * 16 + var28_29] = true;
|
|
}
|
|
++var28_29;
|
|
}
|
|
if (!var54_1) continue;
|
|
}
|
|
}
|
|
++var27_28;
|
|
if (!var54_1) continue block3;
|
|
}
|
|
break;
|
|
}
|
|
u.e(var0);
|
|
var27_28 = var0.I + 2;
|
|
v8 = u.a(3, var0);
|
|
}
|
|
var28_29 = v8;
|
|
var29_30 = u.a(15, var0);
|
|
for (var30_32 = 0; var30_32 < var29_30; ++var30_32) {
|
|
v10 = 0;
|
|
if (!var54_1) {
|
|
var31_33 = v10;
|
|
do {
|
|
if ((var32_34 = u.d(var0)) == 0) {
|
|
if (var54_1) continue;
|
|
if (!var54_1) break;
|
|
}
|
|
++var31_33;
|
|
} while (!var54_1);
|
|
var0.P[var30_32] = (byte)var31_33;
|
|
if (!var54_1) continue;
|
|
}
|
|
break block115;
|
|
}
|
|
v10 = 6;
|
|
}
|
|
var30_31 = new byte[v10];
|
|
for (var31_33 = 0; var31_33 < var28_29; var31_33 = (int)((byte)(var31_33 + 1))) {
|
|
var30_31[var31_33] = var31_33;
|
|
if (!var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block116;
|
|
}
|
|
var31_33 = 0;
|
|
}
|
|
while (var31_33 < var29_30) {
|
|
block118: {
|
|
v11 = var30_31[var32_34];
|
|
if (var54_1) break block117;
|
|
var33_35 = v11;
|
|
for (var32_34 = var0.P[var31_33]; var32_34 > 0; var32_34 = (int)((byte)(var32_34 - 1))) {
|
|
var30_31[var32_34] = var30_31[var32_34 - 1];
|
|
if (!var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block118;
|
|
}
|
|
var30_31[0] = var33_35;
|
|
var0.O[var31_33] = var33_35;
|
|
++var31_33;
|
|
}
|
|
if (!var54_1) continue;
|
|
}
|
|
v11 = 0;
|
|
}
|
|
var31_33 = v11;
|
|
block11: while (true) {
|
|
v12 = var31_33;
|
|
block12: while (v12 < var28_29) {
|
|
var32_34 = u.a(5, var0);
|
|
v13 = 0;
|
|
if (var54_1) break block119;
|
|
for (var33_35 = v288420; var33_35 < var27_28; ++var33_35) {
|
|
do lbl-1000:
|
|
// 3 sources
|
|
|
|
{
|
|
block147: {
|
|
var34_36 = u.d(var0);
|
|
v12 = var34_36;
|
|
if (var54_1) continue block12;
|
|
if (v12 == 0) {
|
|
if (!var54_1) {
|
|
if (!var54_1) break;
|
|
}
|
|
} else {
|
|
var34_36 = u.d(var0);
|
|
}
|
|
if (var54_1) continue;
|
|
if (var34_36 != 0) break block147;
|
|
++var32_34;
|
|
if (!var54_1) ** GOTO lbl-1000
|
|
}
|
|
--var32_34;
|
|
} while (!var54_1);
|
|
var0.Q[var31_33][var33_35] = (byte)var32_34;
|
|
if (!var54_1) continue;
|
|
}
|
|
++var31_33;
|
|
if (!var54_1) continue block11;
|
|
}
|
|
break;
|
|
}
|
|
v13 = 0;
|
|
}
|
|
var31_33 = v13;
|
|
block15: while (true) {
|
|
v14 = var31_33;
|
|
v15 = var28_29;
|
|
block16: while (v14 < v15) {
|
|
var32_34 = 32;
|
|
var33_35 = 0;
|
|
v16 = 0;
|
|
if (var54_1) break block120;
|
|
for (var34_36 = v288492; var34_36 < var27_28; ++var34_36) {
|
|
block149: {
|
|
block148: {
|
|
v14 = var0.Q[var31_33][var34_36];
|
|
v15 = var33_35;
|
|
if (var54_1) continue block16;
|
|
if (var54_1) break block148;
|
|
if (v14 > v15) {
|
|
var33_35 = var0.Q[var31_33][var34_36];
|
|
}
|
|
v17 = var0.Q[var31_33][var34_36];
|
|
if (var54_1) break block149;
|
|
v18 = var32_34;
|
|
}
|
|
if (v17 >= v18) continue;
|
|
v17 = var0.Q[var31_33][var34_36];
|
|
}
|
|
var32_34 = v17;
|
|
if (!var54_1) continue;
|
|
}
|
|
u.a(var0.R[var31_33], var0.S[var31_33], var0.T[var31_33], var0.Q[var31_33], var32_34, var33_35, var27_28);
|
|
var0.U[var31_33] = var32_34;
|
|
++var31_33;
|
|
if (!var54_1) continue block15;
|
|
}
|
|
break;
|
|
}
|
|
var31_33 = var0.I + 1;
|
|
var32_34 = 100000 * var0.y;
|
|
var33_35 = -1;
|
|
v16 = 0;
|
|
}
|
|
var34_36 = v16;
|
|
for (var35_37 = 0; var35_37 <= 255; ++var35_37) {
|
|
var0.D[var35_37] = 0;
|
|
if (!var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block121;
|
|
}
|
|
var35_37 = 4095;
|
|
}
|
|
var36_38 = 15;
|
|
while (var36_38 >= 0) {
|
|
block123: {
|
|
v19 = 15;
|
|
if (var54_1) break block122;
|
|
for (var37_39 = v288531; var37_39 >= 0; --var37_39) {
|
|
var0.M[var35_37] = (byte)(var36_38 * 16 + var37_39);
|
|
--var35_37;
|
|
if (!var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block123;
|
|
}
|
|
var0.N[var36_38] = var35_37 + 1;
|
|
--var36_38;
|
|
}
|
|
if (!var54_1) continue;
|
|
}
|
|
var36_38 = 0;
|
|
++var33_35;
|
|
var34_36 = 50;
|
|
v19 = var0.O[0];
|
|
}
|
|
var37_39 = v19;
|
|
var38_40 = var0.U[var37_39];
|
|
var39_41 = var0.R[var37_39];
|
|
var40_42 = var0.T[var37_39];
|
|
var41_43 = var0.S[var37_39];
|
|
--var34_36;
|
|
var42_44 = var38_40;
|
|
var43_45 = u.a(var42_44, var0);
|
|
while (var43_45 > var39_41[var42_44]) {
|
|
++var42_44;
|
|
var44_46 = u.d(var0);
|
|
var43_45 = var43_45 << 1 | var44_46;
|
|
if (var54_1) continue block0;
|
|
if (!var54_1) continue;
|
|
}
|
|
var45_47 = var40_42[var43_45 - var41_43[var42_44]];
|
|
block22: while (var45_47 != var31_33) {
|
|
block125: {
|
|
block150: {
|
|
block151: {
|
|
v20 = var45_47;
|
|
if (var54_1) break block150;
|
|
if (v20 == 0) break block151;
|
|
v21 = var45_47;
|
|
v22 = 1;
|
|
if (var54_1) ** GOTO lbl346
|
|
if (v21 != v22) ** GOTO lbl344
|
|
}
|
|
v20 = -1;
|
|
}
|
|
var46_48 = v20;
|
|
var47_49 = 1;
|
|
block23: while (true) {
|
|
block152: {
|
|
if (var45_47 != 0) break block152;
|
|
var46_48 += var47_49;
|
|
if (!var54_1) ** GOTO lbl298
|
|
}
|
|
v23 = var45_47;
|
|
v24 = 1;
|
|
do {
|
|
block124: {
|
|
block153: {
|
|
if (var54_1) break block153;
|
|
if (v23 == v24) {
|
|
var46_48 += 2 * var47_49;
|
|
}
|
|
lbl298:
|
|
// 4 sources
|
|
|
|
v23 = var47_49;
|
|
v24 = 2;
|
|
}
|
|
var47_49 = v23 * v24;
|
|
v25 = var34_36;
|
|
if (!var54_1) {
|
|
if (v25 == 0) {
|
|
var34_36 = 50;
|
|
var48_50 = var0.O[++var33_35];
|
|
var38_40 = var0.U[var48_50];
|
|
var39_41 = var0.R[var48_50];
|
|
var40_42 = var0.T[var48_50];
|
|
var41_43 = var0.S[var48_50];
|
|
}
|
|
--var34_36;
|
|
v25 = var38_40;
|
|
}
|
|
var48_50 = v25;
|
|
var49_51 = u.a(var48_50, var0);
|
|
while (var49_51 > var39_41[var48_50]) {
|
|
++var48_50;
|
|
var50_52 = u.d(var0);
|
|
var49_51 = var49_51 << 1 | var50_52;
|
|
if (!var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block124;
|
|
}
|
|
var45_47 = var40_42[var49_51 - var41_43[var48_50]];
|
|
}
|
|
if (var45_47 == 0) continue block23;
|
|
v26 = var45_47;
|
|
if (var54_1) break block125;
|
|
v27 = 1;
|
|
} while (var54_1);
|
|
if (v26 != v27) break;
|
|
}
|
|
++var46_48;
|
|
v26 = var0.L[var0.M[var0.N[0]] & 255];
|
|
}
|
|
var48_50 = v26;
|
|
v28 = var48_50 & 255;
|
|
var0.D[v28] = var0.D[v28] + var46_48;
|
|
while (var46_48 > 0) {
|
|
block132: {
|
|
block130: {
|
|
block127: {
|
|
e.H[var36_38] = var48_50 & 255;
|
|
++var36_38;
|
|
--var46_48;
|
|
if (!var54_1 && !var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block126;
|
|
lbl344:
|
|
// 2 sources
|
|
|
|
v21 = var45_47;
|
|
v22 = 1;
|
|
lbl346:
|
|
// 2 sources
|
|
|
|
v29 = var46_48 = v21 - v22;
|
|
v30 = 16;
|
|
if (var54_1) ** GOTO lbl373
|
|
if (v29 >= v30) ** GOTO lbl-1000
|
|
var48_50 = var0.N[0];
|
|
var47_49 = var0.M[var48_50 + var46_48];
|
|
while (var46_48 > 3) {
|
|
var49_51 = var48_50 + var46_48;
|
|
var0.M[var49_51] = var0.M[var49_51 - 1];
|
|
var0.M[var49_51 - 1] = var0.M[var49_51 - 2];
|
|
var0.M[var49_51 - 2] = var0.M[var49_51 - 3];
|
|
var0.M[var49_51 - 3] = var0.M[var49_51 - 4];
|
|
var46_48 -= 4;
|
|
if (!var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block127;
|
|
}
|
|
while (var46_48 > 0) {
|
|
var0.M[var48_50 + var46_48] = var0.M[var48_50 + var46_48 - 1];
|
|
--var46_48;
|
|
if (!var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block127;
|
|
}
|
|
var0.M[var48_50] = var47_49;
|
|
}
|
|
if (var54_1) lbl-1000:
|
|
// 2 sources
|
|
|
|
{
|
|
block129: {
|
|
block128: {
|
|
v29 = var46_48;
|
|
v30 = 16;
|
|
lbl373:
|
|
// 2 sources
|
|
|
|
var48_50 = v29 / v30;
|
|
var49_51 = var46_48 % 16;
|
|
var47_49 = var0.M[var50_52];
|
|
for (var50_52 = var0.N[var48_50] + var49_51; var50_52 > var0.N[var48_50]; --var50_52) {
|
|
var0.M[var50_52] = var0.M[var50_52 - 1];
|
|
if (!var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block128;
|
|
}
|
|
v31 = var48_50;
|
|
var0.N[v31] = var0.N[v31] + 1;
|
|
}
|
|
while (var48_50 > 0) {
|
|
v32 = var48_50;
|
|
var0.N[v32] = var0.N[v32] - 1;
|
|
var0.M[var0.N[var48_50]] = var0.M[var0.N[var48_50 - 1] + 16 - 1];
|
|
--var48_50;
|
|
if (!var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block129;
|
|
}
|
|
var0.N[0] = var0.N[0] - 1;
|
|
var0.M[var0.N[0]] = var47_49;
|
|
}
|
|
v33 = var0.N[0];
|
|
if (!var54_1) {
|
|
if (v33 == 0) {
|
|
var51_53 = 4095;
|
|
var52_54 = 15;
|
|
while (var52_54 >= 0) {
|
|
block131: {
|
|
v33 = 15;
|
|
if (var54_1) break block130;
|
|
for (var53_55 = v288944; var53_55 >= 0; --var53_55) {
|
|
var0.M[var51_53] = var0.M[var0.N[var52_54] + var53_55];
|
|
--var51_53;
|
|
if (!var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block131;
|
|
}
|
|
var0.N[var52_54] = var51_53 + 1;
|
|
--var52_54;
|
|
}
|
|
if (!var54_1) continue;
|
|
}
|
|
} else {
|
|
** GOTO lbl-1000
|
|
}
|
|
}
|
|
} else lbl-1000:
|
|
// 5 sources
|
|
|
|
{
|
|
v34 = var0.L[var47_49 & 255] & 255;
|
|
var0.D[v34] = var0.D[v34] + 1;
|
|
e.H[var36_38] = var0.L[var47_49 & 255] & 255;
|
|
++var36_38;
|
|
v33 = var34_36;
|
|
}
|
|
}
|
|
if (!var54_1) {
|
|
if (v33 == 0) {
|
|
var34_36 = 50;
|
|
var48_50 = var0.O[++var33_35];
|
|
var38_40 = var0.U[var48_50];
|
|
var39_41 = var0.R[var48_50];
|
|
var40_42 = var0.T[var48_50];
|
|
var41_43 = var0.S[var48_50];
|
|
}
|
|
--var34_36;
|
|
var48_50 = var38_40;
|
|
v33 = var49_51 = u.a(var48_50, var0);
|
|
}
|
|
while (var49_51 > var39_41[var48_50]) {
|
|
++var48_50;
|
|
var50_52 = u.d(var0);
|
|
var49_51 = var49_51 << 1 | var50_52;
|
|
if (!var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block132;
|
|
}
|
|
var45_47 = var40_42[var49_51 - var41_43[var48_50]];
|
|
}
|
|
if (!var54_1) continue block22;
|
|
}
|
|
}
|
|
var0.u = 0;
|
|
var0.t = 0;
|
|
var0.F[0] = 0;
|
|
}
|
|
for (var45_47 = 1; var45_47 <= 256; ++var45_47) {
|
|
var0.F[var45_47] = var0.D[var45_47 - 1];
|
|
if (!var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block133;
|
|
}
|
|
var45_47 = 1;
|
|
}
|
|
while (var45_47 <= 256) {
|
|
v35 = var45_47;
|
|
var0.F[v35] = var0.F[v35] + var0.F[var45_47 - 1];
|
|
++var45_47;
|
|
if (!var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block134;
|
|
}
|
|
var45_47 = 0;
|
|
}
|
|
while (var45_47 < var36_38) {
|
|
var46_48 = (byte)(e.H[var45_47] & 255);
|
|
v36 = var0.F[var46_48 & 255];
|
|
e.H[v36] = e.H[v36] | var45_47 << 8;
|
|
v37 = var46_48 & 255;
|
|
var0.F[v37] = var0.F[v37] + 1;
|
|
++var45_47;
|
|
if (!var54_1) {
|
|
if (!var54_1) continue;
|
|
}
|
|
break block135;
|
|
}
|
|
var0.B = e.H[var0.A] >> 8;
|
|
var0.E = 0;
|
|
var0.B = e.H[var0.B];
|
|
var0.C = (byte)(var0.B & 255);
|
|
var0.B >>= 8;
|
|
var0.V = var36_38;
|
|
u.a(var0);
|
|
}
|
|
v38 = ++var0.E;
|
|
if (!var54_1) {
|
|
if (v38 == var0.V + 1) {
|
|
v38 = var0.u;
|
|
if (!var54_1) {
|
|
if (v38 == 0) {
|
|
var25_26 = 1;
|
|
if (!var54_1) continue;
|
|
} else {
|
|
** GOTO lbl-1000
|
|
}
|
|
}
|
|
} else lbl-1000:
|
|
// 4 sources
|
|
|
|
{
|
|
v38 = var25_26 = 0;
|
|
}
|
|
}
|
|
if (!var54_1) continue;
|
|
}
|
|
}
|
|
|
|
private static byte c(e e2) {
|
|
return (byte)u.a(8, e2);
|
|
}
|
|
|
|
private static byte d(e e2) {
|
|
return (byte)u.a(1, e2);
|
|
}
|
|
|
|
private static int a(int n2, e e2) {
|
|
int n3;
|
|
boolean bl = q.d;
|
|
block0: while (true) {
|
|
if (e2.x >= n2) {
|
|
int n4 = e2.w >> e2.x - n2 & (1 << n2) - 1;
|
|
e2.x -= n2;
|
|
n3 = n4;
|
|
if (!bl) break;
|
|
}
|
|
e2.w = e2.w << 8 | e2.j[e2.k] & 0xFF;
|
|
e2.x += 8;
|
|
++e2.k;
|
|
--e2.l;
|
|
++e2.m;
|
|
do {
|
|
if (e2.m != 0) continue block0;
|
|
++e2.n;
|
|
} while (bl);
|
|
}
|
|
return n3;
|
|
}
|
|
|
|
private static void e(e e2) {
|
|
boolean bl = q.d;
|
|
e2.I = 0;
|
|
for (int i2 = 0; i2 < 256; ++i2) {
|
|
e e3 = e2;
|
|
if (!bl) {
|
|
if (!e3.J[i2]) continue;
|
|
e2.L[e2.I] = (byte)i2;
|
|
e3 = e2;
|
|
}
|
|
++e3.I;
|
|
if (!bl) continue;
|
|
}
|
|
}
|
|
|
|
private static void a(int[] nArray, int[] nArray2, int[] nArray3, byte[] byArray, int n2, int n3, int n4) {
|
|
int n5;
|
|
boolean bl;
|
|
block19: {
|
|
block18: {
|
|
int n6;
|
|
block17: {
|
|
block16: {
|
|
block15: {
|
|
block14: {
|
|
int n7;
|
|
bl = q.d;
|
|
boolean bl2 = false;
|
|
int n8 = 0;
|
|
n6 = n2;
|
|
block0: while (true) {
|
|
int n9 = n6;
|
|
int n10 = n3;
|
|
block1: while (n9 <= n10) {
|
|
n7 = 0;
|
|
if (bl) break block14;
|
|
for (n5 = v298935; n5 < n4; ++n5) {
|
|
n9 = byArray[n5];
|
|
n10 = n6;
|
|
if (bl) continue block1;
|
|
if (n9 != n10) continue;
|
|
nArray3[n8] = n5;
|
|
++n8;
|
|
if (!bl) continue;
|
|
}
|
|
++n6;
|
|
if (!bl) continue block0;
|
|
}
|
|
break;
|
|
}
|
|
n7 = n6 = 0;
|
|
}
|
|
while (n6 < 23) {
|
|
nArray2[n6] = 0;
|
|
++n6;
|
|
if (!bl) {
|
|
if (!bl) continue;
|
|
}
|
|
break block15;
|
|
}
|
|
n6 = 0;
|
|
}
|
|
while (n6 < n4) {
|
|
int n11 = byArray[n6] + 1;
|
|
nArray2[n11] = nArray2[n11] + 1;
|
|
++n6;
|
|
if (!bl) {
|
|
if (!bl) continue;
|
|
}
|
|
break block16;
|
|
}
|
|
n6 = 1;
|
|
}
|
|
while (n6 < 23) {
|
|
int n12 = n6;
|
|
nArray2[n12] = nArray2[n12] + nArray2[n6 - 1];
|
|
++n6;
|
|
if (!bl) {
|
|
if (!bl) continue;
|
|
}
|
|
break block17;
|
|
}
|
|
n6 = 0;
|
|
}
|
|
while (n6 < 23) {
|
|
nArray[n6] = 0;
|
|
++n6;
|
|
if (!bl) {
|
|
if (!bl) continue;
|
|
}
|
|
break block18;
|
|
}
|
|
n6 = 0;
|
|
}
|
|
for (n5 = n2; n5 <= n3; ++n5) {
|
|
nArray[n5] = (n6 += nArray2[n5 + 1] - nArray2[n5]) - 1;
|
|
n6 <<= 1;
|
|
if (!bl) {
|
|
if (!bl) continue;
|
|
}
|
|
break block19;
|
|
}
|
|
n5 = n2 + 1;
|
|
}
|
|
while (n5 <= n3) {
|
|
nArray2[n5] = (nArray[n5 - 1] + 1 << 1) - nArray2[n5];
|
|
++n5;
|
|
if (!bl) continue;
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Handled impossible loop by duplicating code
|
|
* Enabled aggressive block sorting
|
|
*/
|
|
static {
|
|
char[] cArray;
|
|
block10: {
|
|
int n2;
|
|
int n3;
|
|
char[] cArray2;
|
|
int n4;
|
|
block9: {
|
|
Object var0 = null;
|
|
char[] cArray3 = "/9\\q$^X@y);7_q4:<2z+0;Y\u0019".toCharArray();
|
|
n4 = 0;
|
|
int n5 = cArray3.length;
|
|
cArray2 = cArray3;
|
|
n3 = n5;
|
|
if (n5 <= 1) break block9;
|
|
cArray = cArray2;
|
|
n2 = n3;
|
|
if (n3 <= n4) break block10;
|
|
}
|
|
do {
|
|
char[] cArray4 = cArray2;
|
|
char[] cArray5 = cArray2;
|
|
int n6 = n4;
|
|
while (true) {
|
|
int n7;
|
|
char c2 = cArray4[n6];
|
|
switch (n4 % 5) {
|
|
case 0: {
|
|
n7 = 127;
|
|
break;
|
|
}
|
|
case 1: {
|
|
n7 = 120;
|
|
break;
|
|
}
|
|
case 2: {
|
|
n7 = 18;
|
|
break;
|
|
}
|
|
case 3: {
|
|
n7 = 56;
|
|
break;
|
|
}
|
|
default: {
|
|
n7 = 103;
|
|
}
|
|
}
|
|
cArray4[n6] = (char)(c2 ^ n7);
|
|
++n4;
|
|
cArray2 = cArray5;
|
|
n3 = n3;
|
|
if (n3 != 0) break;
|
|
cArray5 = cArray2;
|
|
n2 = n3;
|
|
n6 = n3;
|
|
cArray4 = cArray2;
|
|
}
|
|
cArray = cArray2;
|
|
n2 = n3;
|
|
} while (n3 > n4);
|
|
}
|
|
z = new String(cArray).intern();
|
|
}
|
|
}
|
|
|