public void method_0() { this.int_4 = (this.bool_1 ? 2 : 0); this.long_1 = 0L; this.long_0 = 0L; this.class187_0.method_7(); this.class203_0.method_7(); this.class198_0 = null; this.class197_0 = null; this.class197_1 = null; this.bool_0 = false; this.class200_0.vmethod_1(); }
static Class197() { try { byte[] array = new byte[288]; int i = 0; while (i < 144) { array[i++] = 8; } while (i < 256) { array[i++] = 9; } while (i < 280) { array[i++] = 7; } while (i < 288) { array[i++] = 8; } Class197.class197_0 = new Class197(array); array = new byte[32]; i = 0; while (i < 32) { array[i++] = 5; } Class197.class197_1 = new Class197(array); } catch (Exception) { throw new SharpZipBaseException("InflaterHuffmanTree: static tree length illegal"); } }
private bool method_5() { switch (this.int_4) { case 0: return(this.method_1()); case 1: return(this.method_2()); case 2: if (this.bool_0) { if (this.bool_1) { this.int_4 = 12; return(false); } this.class187_0.method_4(); this.int_6 = 32; this.int_4 = 11; return(true); } else { int num = this.class187_0.method_0(3); if (num < 0) { return(false); } this.class187_0.method_1(3); if ((num & 1) != 0) { this.bool_0 = true; } switch (num >> 1) { case 0: this.class187_0.method_4(); this.int_4 = 3; break; case 1: this.class197_0 = Class197.class197_0; this.class197_1 = Class197.class197_1; this.int_4 = 7; break; case 2: this.class198_0 = new Class198(); this.int_4 = 6; break; default: throw new SharpZipBaseException("Unknown block type " + num); } return(true); } break; case 3: if ((this.int_9 = this.class187_0.method_0(16)) < 0) { return(false); } this.class187_0.method_1(16); this.int_4 = 4; break; case 4: break; case 5: goto IL_1A4; case 6: if (!this.class198_0.method_0(this.class187_0)) { return(false); } this.class197_0 = this.class198_0.method_1(); this.class197_1 = this.class198_0.method_2(); this.int_4 = 7; goto IL_228; case 7: case 8: case 9: case 10: goto IL_228; case 11: return(this.method_4()); case 12: return(false); default: throw new SharpZipBaseException("Inflater.Decode unknown mode"); } int num2 = this.class187_0.method_0(16); if (num2 < 0) { return(false); } this.class187_0.method_1(16); if (num2 != (this.int_9 ^ 65535)) { throw new SharpZipBaseException("broken uncompressed block"); } this.int_4 = 5; IL_1A4: int num3 = this.class203_0.method_3(this.class187_0, this.int_9); this.int_9 -= num3; if (this.int_9 == 0) { this.int_4 = 2; return(true); } return(!this.class187_0.method_5()); IL_228: return(this.method_3()); }
private bool method_3() { int i = this.class203_0.method_4(); while (i >= 258) { int num; switch (this.int_4) { case 7: while (((num = this.class197_0.method_1(this.class187_0)) & -256) == 0) { this.class203_0.method_0(num); if (--i < 258) { return(true); } } if (num >= 257) { try { this.int_7 = Class196.int_0[num - 257]; this.int_6 = Class196.int_1[num - 257]; } catch (Exception) { throw new SharpZipBaseException("Illegal rep length code"); } goto IL_AC; } if (num < 0) { return(false); } this.class197_1 = null; this.class197_0 = null; this.int_4 = 2; return(true); case 8: goto IL_AC; case 9: goto IL_FC; case 10: break; default: throw new SharpZipBaseException("Inflater unknown mode"); } IL_13D: if (this.int_6 > 0) { this.int_4 = 10; int num2 = this.class187_0.method_0(this.int_6); if (num2 < 0) { return(false); } this.class187_0.method_1(this.int_6); this.int_8 += num2; } this.class203_0.method_2(this.int_7, this.int_8); i -= this.int_7; this.int_4 = 7; continue; IL_FC: num = this.class197_1.method_1(this.class187_0); if (num >= 0) { try { this.int_8 = Class196.int_2[num]; this.int_6 = Class196.int_3[num]; } catch (Exception) { throw new SharpZipBaseException("Illegal rep dist code"); } goto IL_13D; } return(false); IL_AC: if (this.int_6 > 0) { this.int_4 = 8; int num3 = this.class187_0.method_0(this.int_6); if (num3 < 0) { return(false); } this.class187_0.method_1(this.int_6); this.int_7 += num3; } this.int_4 = 9; goto IL_FC; } return(true); }
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(); }
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(); }
private bool method_5() { switch (this.int_4) { case 0: return this.method_1(); case 1: return this.method_2(); case 2: if (this.bool_0) { if (this.bool_1) { this.int_4 = 12; return false; } this.class187_0.method_4(); this.int_6 = 32; this.int_4 = 11; return true; } else { int num = this.class187_0.method_0(3); if (num < 0) { return false; } this.class187_0.method_1(3); if ((num & 1) != 0) { this.bool_0 = true; } switch (num >> 1) { case 0: this.class187_0.method_4(); this.int_4 = 3; break; case 1: this.class197_0 = Class197.class197_0; this.class197_1 = Class197.class197_1; this.int_4 = 7; break; case 2: this.class198_0 = new Class198(); this.int_4 = 6; break; default: throw new SharpZipBaseException("Unknown block type " + num); } return true; } break; case 3: if ((this.int_9 = this.class187_0.method_0(16)) < 0) { return false; } this.class187_0.method_1(16); this.int_4 = 4; break; case 4: break; case 5: goto IL_1A4; case 6: if (!this.class198_0.method_0(this.class187_0)) { return false; } this.class197_0 = this.class198_0.method_1(); this.class197_1 = this.class198_0.method_2(); this.int_4 = 7; goto IL_228; case 7: case 8: case 9: case 10: goto IL_228; case 11: return this.method_4(); case 12: return false; default: throw new SharpZipBaseException("Inflater.Decode unknown mode"); } int num2 = this.class187_0.method_0(16); if (num2 < 0) { return false; } this.class187_0.method_1(16); if (num2 != (this.int_9 ^ 65535)) { throw new SharpZipBaseException("broken uncompressed block"); } this.int_4 = 5; IL_1A4: int num3 = this.class203_0.method_3(this.class187_0, this.int_9); this.int_9 -= num3; if (this.int_9 == 0) { this.int_4 = 2; return true; } return !this.class187_0.method_5(); IL_228: return this.method_3(); }
private bool method_3() { int i = this.class203_0.method_4(); while (i >= 258) { int num; switch (this.int_4) { case 7: while (((num = this.class197_0.method_1(this.class187_0)) & -256) == 0) { this.class203_0.method_0(num); if (--i < 258) { return true; } } if (num >= 257) { try { this.int_7 = Class196.int_0[num - 257]; this.int_6 = Class196.int_1[num - 257]; } catch (Exception) { throw new SharpZipBaseException("Illegal rep length code"); } goto IL_AC; } if (num < 0) { return false; } this.class197_1 = null; this.class197_0 = null; this.int_4 = 2; return true; case 8: goto IL_AC; case 9: goto IL_FC; case 10: break; default: throw new SharpZipBaseException("Inflater unknown mode"); } IL_13D: if (this.int_6 > 0) { this.int_4 = 10; int num2 = this.class187_0.method_0(this.int_6); if (num2 < 0) { return false; } this.class187_0.method_1(this.int_6); this.int_8 += num2; } this.class203_0.method_2(this.int_7, this.int_8); i -= this.int_7; this.int_4 = 7; continue; IL_FC: num = this.class197_1.method_1(this.class187_0); if (num >= 0) { try { this.int_8 = Class196.int_2[num]; this.int_6 = Class196.int_3[num]; } catch (Exception) { throw new SharpZipBaseException("Illegal rep dist code"); } goto IL_13D; } return false; IL_AC: if (this.int_6 > 0) { this.int_4 = 8; int num3 = this.class187_0.method_0(this.int_6); if (num3 < 0) { return false; } this.class187_0.method_1(this.int_6); this.int_7 += num3; } this.int_4 = 9; goto IL_FC; } return true; }