// Token: 0x06001149 RID: 4425 // RVA: 0x0005E2D0 File Offset: 0x0005C4D0 internal int Initialize(GClass1 gclass1_1, int int_4) { this.gclass1_0 = gclass1_1; this.gclass1_0.string_0 = null; this.class139_0 = null; if (int_4 >= 8 && int_4 <= 15) { this.int_3 = int_4; this.class139_0 = new Class139(gclass1_1, this.method_2() ? this : null, 1 << int_4); this.Reset(); return 0; } this.method_0(); throw new GException0("Bad window size."); }
// Token: 0x0600114D RID: 4429 // RVA: 0x0005E7C0 File Offset: 0x0005C9C0 internal int method_1(int[] int_12, int[] int_13, int[] int_14, int[] int_15, GClass1 gclass1_0) { this.method_3(19); this.int_7[0] = 0; int num = this.method_0(int_12, 0, 19, 19, null, null, int_14, int_13, int_15, this.int_7, this.int_10); if (num == -3) { gclass1_0.string_0 = "oversubscribed dynamic bit lengths tree"; return num; } if (num == -5 || int_13[0] == 0) { gclass1_0.string_0 = "incomplete dynamic bit lengths tree"; num = -3; } return num; }
// Token: 0x0600114E RID: 4430 // RVA: 0x0005E82C File Offset: 0x0005CA2C internal int method_2(int int_12, int int_13, int[] int_14, int[] int_15, int[] int_16, int[] int_17, int[] int_18, int[] int_19, GClass1 gclass1_0) { this.method_3(288); this.int_7[0] = 0; int num = this.method_0(int_14, 0, int_12, 257, Class142.int_3, Class142.int_4, int_17, int_15, int_19, this.int_7, this.int_10); if (num == 0 && int_15[0] != 0) { this.method_3(288); num = this.method_0(int_14, int_12, int_13, 0, Class142.int_2, Class142.int_1, int_18, int_16, int_19, this.int_7, this.int_10); if (num == 0 && (int_16[0] != 0 || int_12 <= 257)) { return 0; } if (num == -3) { gclass1_0.string_0 = "oversubscribed distance tree"; return num; } if (num == -5) { gclass1_0.string_0 = "incomplete distance tree"; return -3; } if (num != -4) { gclass1_0.string_0 = "empty distance tree with lengths"; num = -3; } return num; } else { if (num == -3) { gclass1_0.string_0 = "oversubscribed literal/length tree"; return num; } if (num != -4) { gclass1_0.string_0 = "incomplete literal/length tree"; num = -3; } return num; } }
// Token: 0x0600114F RID: 4431 // RVA: 0x000108C8 File Offset: 0x0000EAC8 internal static int smethod_0(int[] int_12, int[] int_13, int[][] int_14, int[][] int_15, GClass1 gclass1_0) { int_12[0] = 9; int_13[0] = 5; int_14[0] = Class142.int_6; int_15[0] = Class142.int_5; return 0; }
// Token: 0x0600110D RID: 4365 // RVA: 0x0005A80C File Offset: 0x00058A0C internal int Initialize(GClass1 gclass1_1, Enum11 enum11_1, int int_35, int int_36, Enum13 enum13_1) { this.gclass1_0 = gclass1_1; this.gclass1_0.string_0 = null; if (int_35 < 9 || int_35 > 15) { throw new GException0("windowBits must be in the range 9..15."); } if (int_36 < 1 || int_36 > 9) { throw new GException0(string.Format("memLevel must be in the range 1.. {0}", 9)); } this.gclass1_0.class137_0 = this; this.int_31 = int_35; this.int_33 = 1 << this.int_31; this.int_32 = this.int_33 - 1; this.int_3 = int_36 + 7; this.int_6 = 1 << this.int_3; this.int_4 = this.int_6 - 1; this.int_5 = (this.int_3 + 3 - 1) / 3; this.byte_1 = new byte[this.int_33 * 2]; this.short_6 = new short[this.int_33]; this.short_5 = new short[this.int_6]; this.int_16 = 1 << int_36 + 6; this.byte_0 = new byte[this.int_16 * 4]; this.int_2 = this.int_16 / 2; this.int_12 = 3 * this.int_16; this.enum11_0 = enum11_1; this.enum13_0 = enum13_1; this.sbyte_2 = 8; this.Reset(); return 0; }
// Token: 0x0600110C RID: 4364 // RVA: 0x00010658 File Offset: 0x0000E858 internal int Initialize(GClass1 gclass1_1, Enum11 enum11_1, int int_35, Enum13 enum13_1) { return this.Initialize(gclass1_1, enum11_1, int_35, 8, enum13_1); }
// Token: 0x0600113A RID: 4410 // RVA: 0x0005B74C File Offset: 0x0005994C internal Class139(GClass1 gclass1_1, object object_1, int int_16) { this.gclass1_0 = gclass1_1; this.int_6 = new int[4320]; this.byte_0 = new byte[int_16]; this.int_5 = int_16; this.object_0 = object_1; this.int_11 = 0; this.Reset(null); }
// Token: 0x06001141 RID: 4417 // RVA: 0x0005CA40 File Offset: 0x0005AC40 internal int method_0(int int_13, int int_14, int[] int_15, int int_16, int[] int_17, int int_18, Class139 class139_0, GClass1 gclass1_0) { int num = gclass1_0.int_2; int num2 = gclass1_0.int_0; int num3 = class139_0.int_1; int i = class139_0.int_2; int num4 = class139_0.int_15; int num5 = (num4 < class139_0.int_12) ? (class139_0.int_12 - num4 - 1) : (class139_0.int_5 - num4); int num6 = Class140.int_4[int_13]; int num7 = Class140.int_4[int_14]; int num10; int num11; while (true) { if (i >= 20) { int num8 = num3 & num6; int num9 = (int_16 + num8) * 3; num10 = int_15[num9]; if (num10 == 0) { num3 >>= int_15[num9 + 1]; i -= int_15[num9 + 1]; class139_0.byte_0[num4++] = (byte)int_15[num9 + 2]; num5--; } else { while (true) { num3 >>= int_15[num9 + 1]; i -= int_15[num9 + 1]; if ((num10 & 16) != 0) { break; } if ((num10 & 64) != 0) { goto IL_538; } num8 += int_15[num9 + 2]; num8 += (num3 & Class140.int_4[num10]); num9 = (int_16 + num8) * 3; num10 = int_15[num9]; if (num10 == 0) { goto IL_3F9; } } num10 &= 15; num11 = int_15[num9 + 2] + (num3 & Class140.int_4[num10]); num3 >>= num10; for (i -= num10; i < 15; i += 8) { num2--; num3 |= (int)(gclass1_0.byte_0[num++] & 255) << i; } num8 = (num3 & num7); num9 = (int_18 + num8) * 3; num10 = int_17[num9]; while (true) { num3 >>= int_17[num9 + 1]; i -= int_17[num9 + 1]; if ((num10 & 16) != 0) { break; } if ((num10 & 64) != 0) { goto IL_451; } num8 += int_17[num9 + 2]; num8 += (num3 & Class140.int_4[num10]); num9 = (int_18 + num8) * 3; num10 = int_17[num9]; } num10 &= 15; while (i < num10) { num2--; num3 |= (int)(gclass1_0.byte_0[num++] & 255) << i; i += 8; } int num12 = int_17[num9 + 2] + (num3 & Class140.int_4[num10]); num3 >>= num10; i -= num10; num5 -= num11; int num13; if (num4 >= num12) { num13 = num4 - num12; if (num4 - num13 > 0 && 2 > num4 - num13) { class139_0.byte_0[num4++] = class139_0.byte_0[num13++]; class139_0.byte_0[num4++] = class139_0.byte_0[num13++]; num11 -= 2; } else { Array.Copy(class139_0.byte_0, num13, class139_0.byte_0, num4, 2); num4 += 2; num13 += 2; num11 -= 2; } } else { num13 = num4 - num12; do { num13 += class139_0.int_5; } while (num13 < 0); num10 = class139_0.int_5 - num13; if (num11 > num10) { num11 -= num10; if (num4 - num13 > 0 && num10 > num4 - num13) { do { class139_0.byte_0[num4++] = class139_0.byte_0[num13++]; } while (--num10 != 0); } else { Array.Copy(class139_0.byte_0, num13, class139_0.byte_0, num4, num10); num4 += num10; num13 += num10; } num13 = 0; } } if (num4 - num13 > 0 && num11 > num4 - num13) { do { class139_0.byte_0[num4++] = class139_0.byte_0[num13++]; } while (--num11 != 0); goto IL_42F; } Array.Copy(class139_0.byte_0, num13, class139_0.byte_0, num4, num11); num4 += num11; num13 += num11; goto IL_42F; IL_3F9: num3 >>= int_15[num9 + 1]; i -= int_15[num9 + 1]; class139_0.byte_0[num4++] = (byte)int_15[num9 + 2]; num5--; } IL_42F: if (num5 < 258 || num2 < 10) { goto IL_4CB; } } else { num2--; num3 |= (int)(gclass1_0.byte_0[num++] & 255) << i; i += 8; } } IL_451: gclass1_0.string_0 = "invalid distance code"; num11 = gclass1_0.int_0 - num2; num11 = ((i >> 3 < num11) ? (i >> 3) : num11); num2 += num11; num -= num11; i -= num11 << 3; class139_0.int_1 = num3; class139_0.int_2 = i; gclass1_0.int_0 = num2; gclass1_0.long_1 += (long)(num - gclass1_0.int_2); gclass1_0.int_2 = num; class139_0.int_15 = num4; return -3; IL_4CB: num11 = gclass1_0.int_0 - num2; num11 = ((i >> 3 < num11) ? (i >> 3) : num11); num2 += num11; num -= num11; i -= num11 << 3; class139_0.int_1 = num3; class139_0.int_2 = i; gclass1_0.int_0 = num2; gclass1_0.long_1 += (long)(num - gclass1_0.int_2); gclass1_0.int_2 = num; class139_0.int_15 = num4; return 0; IL_538: if ((num10 & 32) != 0) { num11 = gclass1_0.int_0 - num2; num11 = ((i >> 3 < num11) ? (i >> 3) : num11); num2 += num11; num -= num11; i -= num11 << 3; class139_0.int_1 = num3; class139_0.int_2 = i; gclass1_0.int_0 = num2; gclass1_0.long_1 += (long)(num - gclass1_0.int_2); gclass1_0.int_2 = num; class139_0.int_15 = num4; return 1; } gclass1_0.string_0 = "invalid literal/length code"; num11 = gclass1_0.int_0 - num2; num11 = ((i >> 3 < num11) ? (i >> 3) : num11); num2 += num11; num -= num11; i -= num11 << 3; class139_0.int_1 = num3; class139_0.int_2 = i; gclass1_0.int_0 = num2; gclass1_0.long_1 += (long)(num - gclass1_0.int_2); gclass1_0.int_2 = num; class139_0.int_15 = num4; return -3; }