public bool method_7(int int_3, int int_4) { this.short_2[this.int_1] = (short)int_3; this.byte_3[this.int_1++] = (byte)(int_4 - 3); int num = Class190.smethod_1(int_4 - 3); short[] expr_45_cp_0 = this.class191_0.short_0; int expr_45_cp_1 = num; expr_45_cp_0[expr_45_cp_1] += 1; if (num >= 265 && num < 285) { this.int_2 += (num - 261) / 4; } int num2 = Class190.smethod_2(int_3 - 1); short[] expr_93_cp_0 = this.class191_1.short_0; int expr_93_cp_1 = num2; expr_93_cp_0[expr_93_cp_1] += 1; if (num2 >= 4) { this.int_2 += num2 / 2 - 1; } return(this.method_5()); }
public void method_2() { for (int i = 0; i < this.int_1; i++) { int num = (int)(this.byte_3[i] & 255); int num2 = (int)this.short_2[i]; if (num2-- != 0) { int num3 = Class190.smethod_1(num); this.class191_0.method_1(num3); int num4 = (num3 - 261) / 4; if (num4 > 0 && num4 <= 5) { this.class189_0.method_5(num & (1 << num4) - 1, num4); } int num5 = Class190.smethod_2(num2); this.class191_1.method_1(num5); num4 = num5 / 2 - 1; if (num4 > 0) { this.class189_0.method_5(num2 & (1 << num4) - 1, num4); } } else { this.class191_0.method_1(num); } } this.class191_0.method_1(256); }
public Class191(Class190 class190_1, int int_4, int int_5, int int_6) { this.class190_0 = class190_1; this.int_0 = int_5; this.int_3 = int_6; this.short_0 = new short[int_4]; this.int_2 = new int[int_6]; }
public Class184(Class189 class189_1) { this.class189_0 = class189_1; this.class190_0 = new Class190(class189_1); this.class200_0 = new Class200(); this.byte_0 = new byte[65536]; this.short_0 = new short[32768]; this.short_1 = new short[32768]; this.int_10 = 1; this.int_9 = 1; }
public void method_3() { int[] array = new int[this.int_3]; int num = 0; this.short_1 = new short[this.short_0.Length]; for (int i = 0; i < this.int_3; i++) { array[i] = num; num += this.int_2[i] << 15 - i; } for (int j = 0; j < this.int_1; j++) { int num2 = (int)this.byte_0[j]; if (num2 > 0) { this.short_1[j] = Class190.smethod_0(array[num2 - 1]); array[num2 - 1] += 1 << 16 - num2; } } }
static Class190() { Class190.int_0 = new int[] { 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 }; Class190.byte_0 = new byte[] { 0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15 }; Class190.short_0 = new short[286]; Class190.byte_1 = new byte[286]; int i = 0; while (i < 144) { Class190.short_0[i] = Class190.smethod_0(48 + i << 8); Class190.byte_1[i++] = 8; } while (i < 256) { Class190.short_0[i] = Class190.smethod_0(256 + i << 7); Class190.byte_1[i++] = 9; } while (i < 280) { Class190.short_0[i] = Class190.smethod_0(-256 + i << 9); Class190.byte_1[i++] = 7; } while (i < 286) { Class190.short_0[i] = Class190.smethod_0(-88 + i << 8); Class190.byte_1[i++] = 8; } Class190.short_1 = new short[30]; Class190.byte_2 = new byte[30]; for (i = 0; i < 30; i++) { Class190.short_1[i] = Class190.smethod_0(i << 11); Class190.byte_2[i] = 5; } }
private void method_0(byte[] byte_0) { int[] array = new int[16]; int[] array2 = new int[16]; for (int i = 0; i < byte_0.Length; i++) { int num = (int)byte_0[i]; if (num > 0) { array[num]++; } } int num2 = 0; int num3 = 512; for (int j = 1; j <= 15; j++) { array2[j] = num2; num2 += array[j] << 16 - j; if (j >= 10) { int num4 = array2[j] & 130944; int num5 = num2 & 130944; num3 += num5 - num4 >> 16 - j; } } this.short_0 = new short[num3]; int num6 = 512; for (int k = 15; k >= 10; k--) { int num7 = num2 & 130944; num2 -= array[k] << 16 - k; int num8 = num2 & 130944; for (int l = num8; l < num7; l += 128) { this.short_0[(int)Class190.smethod_0(l)] = (short)(-num6 << 4 | k); num6 += 1 << k - 9; } } for (int m = 0; m < byte_0.Length; m++) { int num9 = (int)byte_0[m]; if (num9 != 0) { num2 = array2[num9]; int num10 = (int)Class190.smethod_0(num2); if (num9 <= 9) { do { this.short_0[num10] = (short)(m << 4 | num9); num10 += 1 << num9; }while (num10 < 512); } else { int num11 = (int)this.short_0[num10 & 511]; int num12 = 1 << (num11 & 15); num11 = -(num11 >> 4); do { this.short_0[num11 | num10 >> 9] = (short)(m << 4 | num9); num10 += 1 << num9; }while (num10 < num12); } array2[num9] = num2 + (1 << 16 - num9); } } }
public void method_7(Class190.Class191 class191_0) { int num = -1; int i = 0; while (i < this.int_1) { int num2 = 1; int num3 = (int)this.byte_0[i]; int num4; int num5; if (num3 == 0) { num4 = 138; num5 = 3; } else { num4 = 6; num5 = 3; if (num != num3) { class191_0.method_1(num3); num2 = 0; } } num = num3; i++; while (i < this.int_1) { if (num != (int)this.byte_0[i]) { break; } i++; if (++num2 >= num4) { break; } } if (num2 < num5) { while (num2-- > 0) { class191_0.method_1(num); } } else if (num != 0) { class191_0.method_1(16); this.class190_0.class189_0.method_5(num2 - 3, 2); } else if (num2 <= 10) { class191_0.method_1(17); this.class190_0.class189_0.method_5(num2 - 3, 3); } else { class191_0.method_1(18); this.class190_0.class189_0.method_5(num2 - 11, 7); } } }
public void method_6(Class190.Class191 class191_0) { int num = -1; int i = 0; while (i < this.int_1) { int num2 = 1; int num3 = (int)this.byte_0[i]; int num4; int num5; if (num3 == 0) { num4 = 138; num5 = 3; } else { num4 = 6; num5 = 3; if (num != num3) { short[] expr_3B_cp_0 = class191_0.short_0; int expr_3B_cp_1 = num3; expr_3B_cp_0[expr_3B_cp_1] += 1; num2 = 0; } } num = num3; i++; while (i < this.int_1) { if (num != (int)this.byte_0[i]) { break; } i++; if (++num2 >= num4) { break; } } if (num2 < num5) { short[] expr_8C_cp_0 = class191_0.short_0; int expr_8C_cp_1 = num; expr_8C_cp_0[expr_8C_cp_1] += (short)num2; } else if (num != 0) { short[] expr_AD_cp_0 = class191_0.short_0; int expr_AD_cp_1 = 16; expr_AD_cp_0[expr_AD_cp_1] += 1; } else if (num2 <= 10) { short[] expr_CF_cp_0 = class191_0.short_0; int expr_CF_cp_1 = 17; expr_CF_cp_0[expr_CF_cp_1] += 1; } else { short[] expr_EC_cp_0 = class191_0.short_0; int expr_EC_cp_1 = 18; expr_EC_cp_0[expr_EC_cp_1] += 1; } } }