/* * Decompiled with CFR 0.152. */ import java.io.IOException; public class w { protected int a; public int b; public int c; public int d; private int e; private int f; public byte[] g; private static int[] h; final int i = 61; final int j = 59; final int k = 42; final int l = 43; final int m = 44; final int n = 45; final int o = 46; final int p = 47; final int q = 92; final int r = 32; final int s = 124; final int t = 34; public m u; public m v; static char[] w; public static int[] x; protected boolean y; public static int[] z; protected int A; protected int B; protected String C; public static int D; private static String E; public void a(int[] nArray) { this.u = new m(nArray); this.v = new m(nArray); } public void a() { } public int b() throws IOException { return this.h(); } public long c() throws IOException { long l2 = this.g(); long l3 = this.g(); long l4 = this.g(); long l5 = this.g(); return (l2 << 48) + (l3 << 32) + (l4 << 16) + l5; } public void a(int n2, int n3, byte[] byArray) throws IOException { } public int d() throws IOException { return 0; } /* * Unable to fully structure code */ public int a(byte[] var1_1) { block21: { var3_2 = q.d; try { block27: { block26: { block24: { block25: { block22: { block23: { ++this.b; v0 = this.c; if (!var3_2) { if (v0 > 0) { v0 = this.b; if (!var3_2) { if (v0 > this.c) { this.y = true; this.C = w.E; this.c += this.c; return 0; } else { ** GOTO lbl-1000 } } } else lbl-1000: // 3 sources { v0 = this.a; } } if (var3_2) break block22; if (v0 != 0) break block23; v0 = this.d(); if (var3_2) break block22; if (v0 < 2) break block23; v0 = this.a = this.h(); if (var3_2) break block22; if (v0 >= 160) { this.a = (this.a - 160) * 256 + this.h(); } } v0 = this.a; } if (!var3_2) { if (v0 <= 0) break block21; v0 = this.d(); } v1 = this.a; if (!var3_2) { if (v0 < v1) break block21; v0 = this.a; v1 = 160; } if (var3_2) break block24; if (v0 < v1) break block25; this.a(this.a, var1_1); if (!var3_2) break block26; } var1_1[this.a - 1] = (byte)this.h(); v0 = this.a; if (var3_2) break block27; v1 = 1; } if (v0 > v1) { this.a(this.a - 1, var1_1); } } v0 = this.a; } var2_3 = v0; this.a = 0; this.b = 0; return var2_3; } catch (IOException var2_4) { this.y = true; this.C = var2_4.getMessage(); } } return 0; } public void a(int n2) { this.g[this.e++] = (byte)(n2 >> 8); this.g[this.e++] = (byte)n2; } public void b(int n2) { this.g[this.e++] = (byte)n2; } public void c(int n2) { this.g[this.e++] = (byte)(n2 >> 24); this.g[this.e++] = (byte)(n2 >> 16); this.g[this.e++] = (byte)(n2 >> 8); this.g[this.e++] = (byte)n2; } public void a(byte[] byArray, int n2, int n3) { for (int i2 = 0; i2 < n3; ++i2) { this.g[this.e++] = byArray[n2 + i2]; if (!q.d) continue; } } public int d(int n2) { return n2 - this.u.a() & 0xFF; } public boolean e() { boolean bl = this.d; if (!q.d) { bl = bl > false; } return bl; } public void f() { boolean bl; block11: { block9: { int n2; block10: { bl = q.d; w w2 = this; if (!bl) { if (w2.v != null) { n2 = this.g[this.d + 2] & 0xFF; this.g[this.d + 2] = (byte)(n2 + this.v.a()); } w2 = this; } int n3 = w2.f; int n4 = 8; if (!bl) { if (n3 != n4) { ++this.e; } n3 = this.e - this.d; n4 = 2; } n2 = n3 - n4; if (bl) break block9; if (n2 < 160) break block10; this.g[this.d] = (byte)(160 + n2 / 256); this.g[this.d + 1] = (byte)(n2 & 0xFF); if (!bl) break block11; } this.g[this.d] = (byte)n2; --this.e; } this.g[this.d + 1] = this.g[this.e]; } w w3 = this; if (!bl) { if (w3.A <= 10000) { int n5; int n6 = n5 = this.g[this.d + 2] & 0xFF; x[n6] = x[n6] + 1; int n7 = n5; z[n7] = z[n7] + (this.e - this.d); } w3 = this; } w3.d = this.e; } public void a(long l2) { this.c((int)(l2 >> 32)); this.c((int)(l2 & 0xFFFFFFFFFFFFFFFFL)); } public int g() throws IOException { int n2 = this.b(); int n3 = this.b(); return n2 * 256 + n3; } public void a(int n2, byte[] byArray) throws IOException { this.a(n2, 0, byArray); } public void e(int n2) { boolean bl = q.d; w w2 = this; if (!bl) { if (w2.d > this.A * 4 / 5) { try { this.f(0); } catch (IOException iOException) { this.y = true; this.C = iOException.getMessage(); } } w2 = this; } byte[] byArray = w2.g; if (!bl) { if (byArray == null) { this.g = new byte[this.A]; } this.g[this.d + 2] = (byte)n2; byArray = this.g; } byArray[this.d + 3] = 0; this.e = this.d + 3; this.f = 8; } public void a(String string) { string.getBytes(0, string.length(), this.g, this.e); this.e += string.length(); } public void f(int n2) throws IOException { block8: { w w2; int n3; block7: { boolean bl = q.d; n3 = this.y; if (!bl) { if (n3 != 0) { this.d = 0; this.e = 3; this.y = false; throw new IOException(this.C); } n3 = ++this.B; } if (bl) break block7; if (n3 < n2) { return; } w2 = this; if (bl) break block8; n3 = w2.d; } if (n3 > 0) { this.B = 0; this.b(this.g, 0, this.d); } this.d = 0; w2 = this; } w2.e = 3; } public void b(byte[] byArray, int n2, int n3) throws IOException { } public int h() throws IOException { return 0; } public void i() throws IOException { this.f(); this.f(0); } public w() { boolean bl = false; this.e = 3; this.f = 8; this.y = false; this.A = 5000; this.C = ""; } /* * Handled impossible loop by duplicating code * Enabled aggressive block sorting */ static { char[] cArray; block12: { int n2; int n3; char[] cArray2; int n4; block11: { Object var1 = null; char[] cArray3 = "!uwy\u0010:in".toCharArray(); n4 = 0; int n5 = cArray3.length; cArray2 = cArray3; n3 = n5; if (n5 <= 1) break block11; cArray = cArray2; n2 = n3; if (n3 <= n4) break block12; } do { char[] cArray4 = cArray2; char[] cArray5 = cArray2; int n6 = n4; while (true) { int n7; char c2 = cArray4[n6]; switch (n4 % 5) { case 0: { n7 = 85; break; } case 1: { n7 = 28; break; } case 2: { n7 = 26; break; } case 3: { n7 = 28; break; } default: { n7 = 61; } } 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); } E = new String(cArray).intern(); h = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, Short.MAX_VALUE, 65535, 131071, 262143, 524287, 1048575, 0x1FFFFF, 0x3FFFFF, 0x7FFFFF, 0xFFFFFF, 0x1FFFFFF, 0x3FFFFFF, 0x7FFFFFF, 0xFFFFFFF, 0x1FFFFFFF, 0x3FFFFFFF, Integer.MAX_VALUE, -1}; x = new int[256]; z = new int[256]; w = new char[256]; int n8 = 0; while (true) { if (n8 >= 256) { w.w[61] = 61; w.w[59] = 59; w.w[42] = 42; w.w[43] = 43; w.w[44] = 44; w.w[45] = 45; w.w[46] = 46; w.w[47] = 47; w.w[92] = 92; w.w[124] = 124; w.w[33] = 33; w.w[34] = 34; return; } w.w[n8] = (char)n8; ++n8; } } }