public int method_1(Class187 class187_0) { int num; if ((num = class187_0.method_0(9)) >= 0) { int num2; if ((num2 = (int)this.short_0[num]) >= 0) { class187_0.method_1(num2 & 15); return num2 >> 4; } int num3 = -(num2 >> 4); int int_ = num2 & 15; if ((num = class187_0.method_0(int_)) >= 0) { num2 = (int)this.short_0[num3 | num >> 9]; class187_0.method_1(num2 & 15); return num2 >> 4; } int num4 = class187_0.method_2(); num = class187_0.method_0(num4); num2 = (int)this.short_0[num3 | num >> 9]; if ((num2 & 15) <= num4) { class187_0.method_1(num2 & 15); return num2 >> 4; } return -1; } else { int num5 = class187_0.method_2(); num = class187_0.method_0(num5); int num2 = (int)this.short_0[num]; if (num2 >= 0 && (num2 & 15) <= num5) { class187_0.method_1(num2 & 15); return num2 >> 4; } return -1; } }
public bool method_0(Class187 class187_0) { while (true) { switch (this.int_3) { case 0: this.int_4 = class187_0.method_0(5); if (this.int_4 >= 0) { this.int_4 += 257; class187_0.method_1(5); this.int_3 = 1; goto IL_1FD; } return false; case 1: goto IL_1FD; case 2: goto IL_1AF; case 3: goto IL_176; case 4: break; case 5: goto IL_2C; default: continue; } IL_F4: int num; while (((num = this.class197_0.method_1(class187_0)) & -16) == 0) { this.byte_1[this.int_9++] = (this.byte_2 = (byte)num); if (this.int_9 == this.int_7) { return true; } } if (num >= 0) { if (num >= 17) { this.byte_2 = 0; } else if (this.int_9 == 0) { goto IL_2A6; } this.int_8 = num - 16; this.int_3 = 5; goto IL_2C; } return false; IL_176: while (this.int_9 < this.int_6) { int num2 = class187_0.method_0(3); if (num2 < 0) { return false; } class187_0.method_1(3); this.byte_0[Class198.int_2[this.int_9]] = (byte)num2; this.int_9++; } this.class197_0 = new Class197(this.byte_0); this.byte_0 = null; this.int_9 = 0; this.int_3 = 4; goto IL_F4; IL_2C: int num3 = Class198.int_1[this.int_8]; int num4 = class187_0.method_0(num3); if (num4 < 0) { return false; } class187_0.method_1(num3); num4 += Class198.int_0[this.int_8]; if (this.int_9 + num4 > this.int_7) { break; } while (num4-- > 0) { this.byte_1[this.int_9++] = this.byte_2; } if (this.int_9 == this.int_7) { return true; } this.int_3 = 4; continue; IL_1AF: this.int_6 = class187_0.method_0(4); if (this.int_6 >= 0) { this.int_6 += 4; class187_0.method_1(4); this.byte_0 = new byte[19]; this.int_9 = 0; this.int_3 = 3; goto IL_176; } return false; IL_1FD: this.int_5 = class187_0.method_0(5); if (this.int_5 >= 0) { this.int_5++; class187_0.method_1(5); this.int_7 = this.int_4 + this.int_5; this.byte_1 = new byte[this.int_7]; this.int_3 = 2; goto IL_1AF; } return false; } throw new SharpZipBaseException(); IL_2A6: throw new SharpZipBaseException(); }