internal void method_18(short[] A_0, short[] A_1) { int num = 0; if (this.int_42 != 0) { do { int index = this.int_28 + (num * 2); int num2 = ((this.byte_0[index] << 8) & 0xff00) | (this.byte_0[index + 1] & 0xff); int num6 = this.byte_0[this.int_29 + num] & 0xff; num++; if (num2 != 0) { int num3 = Class606.sbyte_2[num6]; this.method_14((num3 + 0x100) + 1, A_0); int num4 = Class606.int_13[num3]; if (num4 != 0) { num6 -= Class606.int_16[num3]; this.method_15(num6, num4); } num2--; num3 = Class606.smethod_0(num2); this.method_14(num3, A_1); num4 = Class606.int_14[num3]; if (num4 != 0) { num2 -= Class606.int_17[num3]; this.method_15(num2, num4); } } else { this.method_14(num6, A_0); } }while (num < this.int_42); } this.method_14(0x100, A_0); this.int_40 = A_0[0x201]; }
internal bool method_17(int A_0, int A_1) { this.byte_0[this.int_28 + (this.int_42 * 2)] = (byte)Class604.smethod_0(A_0, 8); this.byte_0[(this.int_28 + (this.int_42 * 2)) + 1] = (byte)A_0; this.byte_0[this.int_29 + this.int_42] = (byte)A_1; this.int_42++; if (A_0 == 0) { this.short_4[A_1 * 2] = (short)(this.short_4[A_1 * 2] + 1); } else { this.int_48++; A_0--; this.short_4[((Class606.sbyte_2[A_1] + 0x100) + 1) * 2] = (short)(this.short_4[((Class606.sbyte_2[A_1] + 0x100) + 1) * 2] + 1); this.short_3[Class606.smethod_0(A_0) * 2] = (short)(this.short_3[Class606.smethod_0(A_0) * 2] + 1); } if (((this.int_42 & 0x1fff) == 0) && (this.compressionLevel_0 > ((CompressionLevel)2))) { int num2 = this.int_42 * 8; int num3 = this.int_56 - this.int_31; for (int i = 0; i < 30; i++) { num2 += (int)(this.short_3[i * 2] * (5L + Class606.int_14[i])); } num2 = Class604.smethod_0(num2, 3); if ((this.int_48 < (this.int_42 / 2)) && (num2 < (num3 / 2))) { return(true); } } if (this.int_42 != (this.int_43 - 1)) { return(this.int_42 == this.int_43); } return(true); }