/* * 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(); } }