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