using System; using System.Runtime.InteropServices; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Zlib { // Token: 0x0200134D RID: 4941 [Token(Token = "0x200134D")] [StructLayout(3)] public sealed class Deflate { // Token: 0x06007CA0 RID: 31904 RVA: 0x0019EC5C File Offset: 0x0019CE5C [Token(Token = "0x6007CA0")] [Address(RVA = "0x20254C0", Offset = "0x2023EC0", VA = "0x1820254C0")] static Deflate() { string[] array = new string[10]; if ("need dictionary" != 0) { } array[0] = "need dictionary"; if ("stream end" != 0) { } array[1] = "stream end"; if ("" != 0) { } array[2] = ""; if ("file error" != 0) { } array[3] = "file error"; if ("stream error" != 0) { } array[4] = "stream error"; if ("data error" != 0) { } array[5] = "data error"; if ("insufficient memory" != 0) { } array[6] = "insufficient memory"; if ("buffer error" != 0) { } array[7] = "buffer error"; if ("incompatible version" != 0) { } array[8] = "incompatible version"; if ("" != 0) { } array[9] = ""; Deflate.z_errmsg = array; Deflate.config_table = new Deflate.Config[10]; Deflate.Config[] array2 = Deflate.config_table; int num = 0; Deflate.Config config; config.good_length = num; config.nice_length = num; config.func = num; array2[0] = config; Deflate.Config[] array3 = Deflate.config_table; Deflate.Config config2; config2.good_length = (int)((ulong)4L); config2.max_lazy = (int)((ulong)4L); config2.nice_length = (int)((ulong)8L); config2.max_chain = (int)((ulong)4L); config2.func = (int)((ulong)1L); array3[1] = config2; Deflate.Config[] array4 = Deflate.config_table; Deflate.Config config3; config3.good_length = (int)((ulong)4L); config3.max_lazy = (int)((ulong)5L); config3.nice_length = (int)((ulong)16L); config3.max_chain = (int)((ulong)8L); config3.func = (int)((ulong)1L); array4[2] = config3; Deflate.Config[] array5 = Deflate.config_table; Deflate.Config config4; config4.good_length = (int)((ulong)4L); config4.max_lazy = (int)((ulong)6L); config4.nice_length = (int)((ulong)32L); config4.max_chain = (int)((ulong)32L); config4.func = (int)((ulong)1L); array5[3] = config4; Deflate.Config[] array6 = Deflate.config_table; Deflate.Config config5; config5.good_length = (int)((ulong)4L); config5.max_lazy = (int)((ulong)4L); config5.nice_length = (int)((ulong)16L); config5.max_chain = (int)((ulong)16L); config5.func = (int)((ulong)2L); array6[4] = config5; Deflate.Config[] array7 = Deflate.config_table; Deflate.Config config6; config6.good_length = (int)((ulong)8L); config6.max_lazy = (int)((ulong)16L); config6.nice_length = (int)((ulong)32L); config6.max_chain = (int)((ulong)32L); config6.func = (int)((ulong)2L); array7[5] = config6; Deflate.Config[] array8 = Deflate.config_table; Deflate.Config config7; config7.good_length = (int)((ulong)8L); config7.max_lazy = (int)((ulong)16L); config7.nice_length = (int)((ulong)128L); config7.max_chain = (int)((ulong)128L); config7.func = (int)((ulong)2L); array8[6] = config7; Deflate.Config[] array9 = Deflate.config_table; Deflate.Config config8; config8.good_length = (int)((ulong)8L); config8.max_lazy = (int)((ulong)32L); config8.nice_length = (int)((ulong)128L); config8.max_chain = (int)((ulong)256L); config8.func = (int)((ulong)2L); array9[7] = config8; Deflate.Config[] array10 = Deflate.config_table; Deflate.Config config9; config9.good_length = (int)((ulong)32L); config9.max_lazy = (int)((ulong)128L); config9.nice_length = (int)((ulong)258L); config9.max_chain = (int)((ulong)1024L); config9.func = (int)((ulong)2L); array10[8] = config9; Deflate.Config[] array11 = Deflate.config_table; Deflate.Config config10; config10.good_length = (int)((ulong)32L); config10.max_lazy = (int)((ulong)258L); config10.nice_length = (int)((ulong)258L); config10.max_chain = (int)((ulong)4096L); config10.func = (int)((ulong)2L); array11[9] = config10; } // Token: 0x06007CA1 RID: 31905 RVA: 0x0019F008 File Offset: 0x0019D208 [Token(Token = "0x6007CA1")] [Address(RVA = "0x2025EC0", Offset = "0x20248C0", VA = "0x182025EC0")] internal Deflate() { ZTree ztree = new ZTree(); this.l_desc = ztree; ZTree ztree2 = new ZTree(); this.d_desc = ztree2; ZTree ztree3 = new ZTree(); this.bl_desc = ztree3; short[] array = new short[16]; this.bl_count = array; int[] array2 = new int[573]; this.heap = array2; byte[] array3 = new byte[573]; this.depth = array3; base..ctor(); short[] array4 = new short[1146]; this.dyn_ltree = array4; short[] array5 = new short[122]; this.dyn_dtree = array5; short[] array6 = new short[78]; this.bl_tree = array6; } // Token: 0x06007CA2 RID: 31906 RVA: 0x0019F0B0 File Offset: 0x0019D2B0 [Token(Token = "0x6007CA2")] [Address(RVA = "0x2029350", Offset = "0x2027D50", VA = "0x182029350")] internal void lm_init() { int num = this.w_size; short[] array = this.head; num += num; this.window_size = num; int num2 = this.hash_size; int num3 = 0; array[0] = (short)num3; if (this.hash_size > 0) { short[] array2 = this.head; num3++; array2[0] = (short)num3; int num4 = this.hash_size; } Deflate.Config[] array3 = Deflate.config_table; int num5 = this.level; int max_lazy = array3[num5].max_lazy; this.max_lazy_match = max_lazy; int good_length = Deflate.config_table[num5].good_length; this.good_match = good_length; int nice_length = Deflate.config_table[num5].nice_length; this.nice_match = nice_length; int max_chain = Deflate.config_table[num5].max_chain; this.match_available = num3; this.block_start = num3; this.lookahead = num3; this.ins_h = num3; this.max_chain_length = max_chain; this.prev_length = (int)((ulong)2L); this.match_length = (int)((ulong)2L); } // Token: 0x06007CA3 RID: 31907 RVA: 0x0019F1BC File Offset: 0x0019D3BC [Token(Token = "0x6007CA3")] [Address(RVA = "0x202A890", Offset = "0x2029290", VA = "0x18202A890")] internal void tr_init() { ZTree ztree = this.l_desc; short[] array = this.dyn_ltree; ztree.dyn_tree = array; ZTree ztree2 = this.l_desc; StaticTree static_l_desc = StaticTree.static_l_desc; ztree2.stat_desc = static_l_desc; ZTree ztree3 = this.d_desc; short[] array2 = this.dyn_dtree; ztree3.dyn_tree = array2; ZTree ztree4 = this.d_desc; StaticTree static_d_desc = StaticTree.static_d_desc; ztree4.stat_desc = static_d_desc; ZTree ztree5 = this.bl_desc; short[] array3 = this.bl_tree; ztree5.dyn_tree = array3; ZTree ztree6 = this.bl_desc; StaticTree static_bl_desc = StaticTree.static_bl_desc; ztree6.stat_desc = static_bl_desc; int num = 0; this.bi_buf = (uint)num; this.last_eob_len = (int)((ulong)8L); this.init_block(); } // Token: 0x06007CA4 RID: 31908 RVA: 0x0019F274 File Offset: 0x0019D474 [Token(Token = "0x6007CA4")] [Address(RVA = "0x2029220", Offset = "0x2027C20", VA = "0x182029220")] internal void init_block() { int num = 0; short[] array = this.dyn_ltree; num += 2; array[0] = (short)num; short[] array2 = this.dyn_dtree; num += 2; array2[0] = (short)num; short[] array3 = this.bl_tree; num += 2; array3[0] = (short)num; uint num2; this.dyn_ltree[128] = (short)num2; this.opt_len = num; this.matches = num; this.last_lit = num; } // Token: 0x06007CA5 RID: 31909 RVA: 0x0019F2EC File Offset: 0x0019D4EC [Token(Token = "0x6007CA5")] [Address(RVA = "0x2029BA0", Offset = "0x20285A0", VA = "0x182029BA0")] internal void pqdownheap(short[] tree, int k) { int[] array = this.heap; int num = this.heap_len; int num2 = array[k]; int length = this.heap.Length; int num3 = k + 1; byte[] array2 = this.depth; if (Deflate.smaller(tree, num3, k, array2)) { } int[] array3 = this.heap; byte[] array4 = this.depth; if (!Deflate.smaller(tree, num2, k, array4)) { int[] array5 = this.heap; int length2 = array5.Length; int num4; array5[0] = num4; int num5 = this.heap_len; } int[] array6 = this.heap; array6[0] = num2; } // Token: 0x06007CA6 RID: 31910 RVA: 0x0019F390 File Offset: 0x0019D590 [Token(Token = "0x6007CA6")] [Address(RVA = "0x202A7D0", Offset = "0x20291D0", VA = "0x18202A7D0")] internal static bool smaller(short[] tree, int n, int m, byte[] depth) { int length = tree.Length; short num; short num2; if (num < num2) { return true; } if (num != num2) { } int length2 = depth.Length; throw new NullReferenceException(); } // Token: 0x06007CA7 RID: 31911 RVA: 0x0019F3C0 File Offset: 0x0019D5C0 [Token(Token = "0x6007CA7")] [Address(RVA = "0x2029F90", Offset = "0x2028990", VA = "0x182029F90")] internal void scan_tree(short[] tree, int max_code) { int length = tree.Length; int i = 0; uint num; tree[0] = (short)num; int num2 = 0; num2 += 3; uint num3; if (1U < num3) { } if (tree == 0) { short[] array = this.bl_tree; if (1UL > (ulong)10L) { } } if (tree != num) { short[] array2 = this.bl_tree; } short[] array3 = this.bl_tree; short[] array4 = this.bl_tree; i++; num2 += 2; while (i <= max_code) { } } // Token: 0x06007CA8 RID: 31912 RVA: 0x0019F430 File Offset: 0x0019D630 [Token(Token = "0x6007CA8")] [Address(RVA = "0x2026C60", Offset = "0x2025660", VA = "0x182026C60")] internal int build_bl_tree() { int max_code = this.l_desc.max_code; short[] array = this.dyn_ltree; this.scan_tree(array, max_code); int max_code2 = this.d_desc.max_code; short[] array2 = this.dyn_dtree; this.scan_tree(array2, max_code2); this.bl_desc.build_tree(this); short[] array3 = this.bl_tree; byte[] bl_order = ZTree.bl_order; uint num; if ("{il2cpp array field local12->}" == (ulong)0L) { while (num >= (uint)3) { } } byte b = (byte)((uint)b + num); throw new NullReferenceException(); } // Token: 0x06007CA9 RID: 31913 RVA: 0x0019F4AC File Offset: 0x0019D6AC [Token(Token = "0x6007CA9")] [Address(RVA = "0x202A1F0", Offset = "0x2028BF0", VA = "0x18202A1F0")] internal void send_all_trees(int lcodes, int dcodes, int blcodes) { this.send_bits(lcodes, 5); this.send_bits(lcodes, 5); this.send_bits(lcodes, 4); int num = 0; if (blcodes > 0) { short[] array = this.bl_tree; byte[] bl_order = ZTree.bl_order; num++; } short[] array2 = this.dyn_ltree; int num2 = lcodes - 1; this.send_tree(array2, num2); short[] array3 = this.dyn_dtree; this.send_tree(array3, num2); } // Token: 0x06007CAA RID: 31914 RVA: 0x0019F518 File Offset: 0x0019D718 [Token(Token = "0x6007CAA")] [Address(RVA = "0x202A4D0", Offset = "0x2028ED0", VA = "0x18202A4D0")] internal void send_tree(short[] tree, int max_code) { int num = 0; int num2 = 0; num2 += 3; uint num3; if (1U < num3) { } short[] array = this.bl_tree; if (1UL > (ulong)10L) { this.send_code((int)num3, array); uint num4; this.send_bits((int)num3, (int)num4); } uint num5; this.send_code((int)num5, array); this.send_bits((int)num5, 3); short[] array2 = this.bl_tree; this.send_code((int)num3, array2); short[] array3 = this.bl_tree; this.send_code(16, array3); this.send_bits(16, 2); short[] array4 = this.bl_tree; this.send_code(16, array4); while (num2 != 0) { } num++; num2 += 2; } // Token: 0x06007CAB RID: 31915 RVA: 0x0019F5BC File Offset: 0x0019D7BC [Token(Token = "0x6007CAB")] [Address(RVA = "0x2029E80", Offset = "0x2028880", VA = "0x182029E80")] internal void put_byte(byte[] p, int start, int len) { byte[] array = this.pending_buf; int num = this.pending; Array.Copy(p, start, array, num, len); } // Token: 0x06007CAC RID: 31916 RVA: 0x0019F5E4 File Offset: 0x0019D7E4 [Token(Token = "0x6007CAC")] [Address(RVA = "0x2029ED0", Offset = "0x20288D0", VA = "0x182029ED0")] internal void put_byte(byte c) { int num = this.pending; byte[] array = this.pending_buf; int num2 = num + 1; this.pending = num2; } // Token: 0x06007CAD RID: 31917 RVA: 0x0019F610 File Offset: 0x0019D810 [Token(Token = "0x6007CAD")] [Address(RVA = "0x2029F10", Offset = "0x2028910", VA = "0x182029F10")] internal void put_short(int w) { byte[] array = this.pending_buf; int num = this.pending + 1; this.pending = num; int num2 = this.pending; byte[] array2 = this.pending_buf; int num3 = num2 + 1; this.pending = num3; } // Token: 0x06007CAE RID: 31918 RVA: 0x0019F658 File Offset: 0x0019D858 [Token(Token = "0x6007CAE")] [Address(RVA = "0x2029E00", Offset = "0x2028800", VA = "0x182029E00")] internal void putShortMSB(int b) { int num = this.pending; byte[] array = this.pending_buf; int num2 = num + 1; this.pending = num2; int num3 = this.pending; byte[] array2 = this.pending_buf; int num4 = num3 + 1; this.pending = num4; } // Token: 0x06007CAF RID: 31919 RVA: 0x0019F6A0 File Offset: 0x0019D8A0 [Token(Token = "0x6007CAF")] [Address(RVA = "0x202A460", Offset = "0x2028E60", VA = "0x18202A460")] internal void send_code(int c, short[] tree) { int length = tree.Length; short num; short num2; this.send_bits((int)num, (int)num2); } // Token: 0x06007CB0 RID: 31920 RVA: 0x0019F6C4 File Offset: 0x0019D8C4 [Token(Token = "0x6007CB0")] [Address(RVA = "0x202A370", Offset = "0x2028D70", VA = "0x18202A370")] internal void send_bits(int val, int length) { int num = this.bi_valid; uint num2; num2 -= (uint)length; this.bi_buf = (uint)val; } // Token: 0x06007CB1 RID: 31921 RVA: 0x0019F750 File Offset: 0x0019D950 [Token(Token = "0x6007CB1")] [Address(RVA = "0x2025FF0", Offset = "0x20249F0", VA = "0x182025FF0")] internal void _tr_align() { this.send_bits(2, 3); short[] static_ltree = StaticTree.static_ltree; int length = static_ltree.Length; short num = static_ltree[128]; short num2 = static_ltree[128]; this.send_bits((int)num2, (int)num); this.bi_flush(); int num3 = this.last_eob_len; num3 += 11; if (num3 < 9) { this.send_bits(2, 3); short[] static_ltree2 = StaticTree.static_ltree; int length2 = static_ltree2.Length; short num4 = static_ltree2[128]; short num5 = static_ltree2[128]; this.send_bits((int)num5, (int)num4); this.bi_flush(); } this.last_eob_len = (int)((ulong)7L); } // Token: 0x06007CB2 RID: 31922 RVA: 0x0019F800 File Offset: 0x0019DA00 [Token(Token = "0x6007CB2")] [Address(RVA = "0x2026750", Offset = "0x2025150", VA = "0x182026750")] internal bool _tr_tally(int dist, int lc) { byte[] array = this.pending_buf; int num = this.last_lit; int num2 = this.d_buf; byte[] array2 = this.pending_buf; int num3 = this.d_buf; num3++; byte[] array3 = this.pending_buf; num3 = this.l_buf; short[] array4 = this.dyn_ltree; if (dist != 0) { byte[] length_code = ZTree._length_code; short[] array5 = this.dyn_dtree; int num4 = ZTree.d_code(dist - 1); num4 += num4; } if (this.last_lit == 8191 && this.level > 2) { int num5 = 0; short[] array6 = this.dyn_dtree; int[] extra_dbits = ZTree.extra_dbits; num5 += 2; num5++; int num6 = extra_dbits[num5]; num6 += 5; int num7 = num6 * num5; int num8 = this.last_lit; num8 -= array6; if (this.matches < num8) { num8 -= array6; } } int num9 = this.lit_bufsize; throw new NullReferenceException(); } // Token: 0x06007CB3 RID: 31923 RVA: 0x0019F8F4 File Offset: 0x0019DAF4 [Token(Token = "0x6007CB3")] [Address(RVA = "0x2026DC0", Offset = "0x20257C0", VA = "0x182026DC0")] internal void compress_block(short[] ltree, short[] dtree) { int num = 0; if (this.last_lit != num) { byte[] array = this.pending_buf; int num2 = this.d_buf; int length = array.Length; num2 += num; int num3 = num2 + 1; int num4 = this.l_buf; num4 += num; num += 2; num++; byte[] length_code = ZTree._length_code; int length2 = ltree.Length; short num5 = ltree[length_code]; short num6 = ltree[length_code]; this.send_bits((int)num6, (int)num5); int[] extra_lbits = ZTree.extra_lbits; int num7; if (num7 != 0) { int[] base_length = ZTree.base_length; byte b; this.send_bits((int)b, num7); } byte b2; int num8 = ZTree.d_code((int)b2); this.send_bits(1, (int)num5); if (ZTree.extra_dbits[num8] != 0) { int[] base_dist = ZTree.base_dist; int length3 = ltree.Length; num4++; short num9 = ltree[num4]; short num10 = ltree[num4]; this.send_bits((int)num10, (int)num9); } if (num < this.last_lit) { } } int length4 = ltree.Length; short num11 = ltree[128]; short num12 = ltree[128]; this.send_bits((int)num12, (int)num11); this.last_eob_len = length4; } // Token: 0x06007CB4 RID: 31924 RVA: 0x0019FA28 File Offset: 0x0019DC28 [Token(Token = "0x6007CB4")] [Address(RVA = "0x202A6D0", Offset = "0x20290D0", VA = "0x18202A6D0")] internal void set_data_type() { short[] array = this.dyn_ltree; int num = 0; int length = array.Length; num++; num += 2; num += this; if (num < 128) { num++; num += this; } if (num < 256) { num += this; } bool flag = num <= num; this.data_type = (flag ? 1 : 0); } // Token: 0x06007CB5 RID: 31925 RVA: 0x0019FA84 File Offset: 0x0019DC84 [Token(Token = "0x6007CB5")] [Address(RVA = "0x2026A90", Offset = "0x2025490", VA = "0x182026A90")] internal void bi_flush() { if (this.bi_valid != 16) { int num = this.pending; byte[] array = this.pending_buf; uint num2 = this.bi_buf; int num3 = num + 1; this.pending = num3; this.bi_buf = (uint)num3; return; } int num4 = this.pending; byte[] array2 = this.pending_buf; uint num5 = this.bi_buf; int num6 = num4 + 1; this.pending = num6; int num7 = this.pending; byte[] array3 = this.pending_buf; uint num8 = this.bi_buf; int num9 = num7 + 1; this.pending = num9; int num10 = 0; this.bi_buf = (uint)num10; } // Token: 0x06007CB6 RID: 31926 RVA: 0x0019FB20 File Offset: 0x0019DD20 [Token(Token = "0x6007CB6")] [Address(RVA = "0x2026B80", Offset = "0x2025580", VA = "0x182026B80")] internal void bi_windup() { if (this.bi_valid > 0) { int num = this.pending; byte[] array = this.pending_buf; uint num2 = this.bi_buf; int num3 = num + 1; this.pending = num3; int num4 = 0; this.bi_buf = (uint)num4; return; } int num5 = 0; this.bi_buf = (uint)num5; } // Token: 0x06007CB7 RID: 31927 RVA: 0x0019FBC0 File Offset: 0x0019DDC0 [Token(Token = "0x6007CB7")] [Address(RVA = "0x2027270", Offset = "0x2025C70", VA = "0x182027270")] internal void copy_block(int buf, int len, bool header) { int num = 0; this.bi_windup(); this.last_eob_len = (int)((ulong)8L); if (header) { this.put_short(num); this.put_short(num); } int num2 = this.pending; byte[] array = this.pending_buf; Array.Copy(this.window, buf, array, num2, len); } // Token: 0x06007CB8 RID: 31928 RVA: 0x0019FC10 File Offset: 0x0019DE10 [Token(Token = "0x6007CB8")] [Address(RVA = "0x20291C0", Offset = "0x2027BC0", VA = "0x1820291C0")] internal void flush_block_only(bool eof) { int num = this.block_start; int num2 = this.strstart; num2 -= num; this._tr_flush_block(num, num2, eof); ZStream zstream = this.strm; int num3 = this.strstart; this.block_start = num3; zstream.flush_pending(); } // Token: 0x06007CB9 RID: 31929 RVA: 0x0019FC5C File Offset: 0x0019DE5C [Token(Token = "0x6007CB9")] [Address(RVA = "0x2028D20", Offset = "0x2027720", VA = "0x182028D20")] internal int deflate_stored(int flush) { int num2; do { int num = this.pending_buf_size; num += -5; num2 = 0; int num3 = this.lookahead; this.fill_window(); int num4 = this.lookahead; if (num4 == 0) { if (flush == 0) { break; } if (num4 == 0) { goto IL_107; } } int num5 = this.block_start; int num6 = this.strstart; this.lookahead = num2; if (num4 != 0) { } num6 -= this; this.strstart = this; this.lookahead = num6; int num7 = 0; num5 = num; this._tr_flush_block(num5, num5, num7 != 0); ZStream zstream = this.strm; int num8 = this.strstart; this.block_start = num8; zstream.flush_pending(); if (this.strm.avail_out == num2) { break; } int num9 = this.strstart; int num10 = this.w_size; int num11 = this.block_start; num9 -= num11; int num12 = 0; this._tr_flush_block(num11, num9, num12 != 0); ZStream zstream2 = this.strm; int num13 = this.strstart; this.block_start = num13; zstream2.flush_pending(); } while (this.strm.avail_out != num2); return 0; IL_107: bool flag = flush == 4; this.flush_block_only(flag); if (this.strm.avail_out != num2) { } while (flush != 4) { } throw new NullReferenceException(); } // Token: 0x06007CBA RID: 31930 RVA: 0x0019FD98 File Offset: 0x0019DF98 [Token(Token = "0x6007CBA")] [Address(RVA = "0x20266B0", Offset = "0x20250B0", VA = "0x1820266B0")] internal void _tr_stored_block(int buf, int stored_len, bool eof) { this.send_bits(eof ? 1 : 0, 3); int num = 0; this.bi_windup(); this.last_eob_len = (int)((ulong)8L); this.put_short(num); this.put_short(num); int num2 = this.pending; byte[] array = this.pending_buf; Array.Copy(this.window, buf, array, num2, stored_len); } // Token: 0x06007CBB RID: 31931 RVA: 0x0019FDF0 File Offset: 0x0019DFF0 [Token(Token = "0x6007CBB")] [Address(RVA = "0x2026190", Offset = "0x2024B90", VA = "0x182026190")] internal void _tr_flush_block(int buf, int stored_len, bool eof) { int num = 0; int length = this.dyn_ltree.Length; num++; num += 2; if (num < 128) { num++; } if (num < 256) { } bool flag = num <= num; this.data_type = (flag ? 1 : 0); this.l_desc.build_tree(this); this.d_desc.build_tree(this); int max_code = this.l_desc.max_code; short[] array = this.dyn_ltree; this.scan_tree(array, max_code); int max_code2 = this.d_desc.max_code; short[] array2 = this.dyn_dtree; this.scan_tree(array2, max_code2); this.bl_desc.build_tree(this); short[] array3 = this.bl_tree; byte[] bl_order = ZTree.bl_order; uint num2; if ("{il2cpp array field local23->}" == num) { while (num2 >= (uint)3) { } } int num3 = this.static_len; num2 += num2; num3 += 10; int num4 = this.opt_len; num4 += 10; if (num3 <= num4) { num4 = num3; } if (buf != -1) { num4 = buf; this._tr_stored_block(num4, stored_len, eof); } if (this != num4) { this.send_bits(num4, 3); ZTree ztree = this.l_desc; ZTree ztree2 = this.d_desc; uint num5 = num2 + 1U; int max_code3 = ztree.max_code; this.send_bits(num4, 5); this.send_bits(num4, 5); this.send_bits(num4, 4); if (num5 > (uint)0) { short[] array4 = this.bl_tree; byte[] bl_order2 = ZTree.bl_order; this.send_bits(num4, 3); num++; } short[] array5 = this.dyn_ltree; this.send_tree(array5, max_code3); short[] array6 = this.dyn_dtree; this.send_tree(array6, max_code3); } short[] static_dtree = StaticTree.static_dtree; short[] static_ltree = StaticTree.static_ltree; this.compress_block(static_ltree, static_dtree); this.init_block(); if (eof) { this.bi_windup(); } } // Token: 0x06007CBC RID: 31932 RVA: 0x0019FFB4 File Offset: 0x0019E1B4 [Token(Token = "0x6007CBC")] [Address(RVA = "0x2028ED0", Offset = "0x20278D0", VA = "0x182028ED0")] internal void fill_window() { int num2; byte[] array4; do { int num = this.lookahead; num2 = 0; int num3 = this.window_size; int num4 = this.strstart; num3 -= num4; num3 -= num; int num13; if (num4 != 0 || num != 0 || this.w_size != -1) { int num5 = this.w_size; byte[] array = this.window; int num6 = 0; Array.Copy(array, num5, array, num6, num5); int num7 = this.hash_size; num5 = num7; short[] array2 = this.head; short num8 = array2[num5]; int num9 = this.w_size; num8 = (short)((int)num8 - num9); array2[0] = (short)num2; int num10 = num7 - 1; while (num10 != 0) { } int num11 = this.w_size; num5 = num11; short[] array3 = this.prev; short num12 = array3[num5]; num13 = this.w_size; num12 = (short)((int)num12 - num13); array3[0] = (short)num2; int num14 = num11 - 1; while (num14 != 0) { } } ZStream zstream = this.strm; int num15 = zstream.avail_in; if (num15 == 0) { break; } array4 = this.window; if (num15 != 0) { num15 -= num15; zstream.avail_in = num15; int next_in_index; if (zstream.dstate.noheader == num2) { Adler32 adler = zstream._adler; next_in_index = zstream.next_in_index; byte[] next_in = zstream.next_in; long adler2 = zstream.adler; long num16 = adler.adler32(adler2, next_in, next_in_index, num15); zstream.adler = num16; } int next_in_index2 = zstream.next_in_index; Array.Copy(zstream.next_in, next_in_index2, array4, next_in_index, num15); } this.lookahead = array4; byte[] array5 = this.window; num13 = this.strstart; byte b; this.ins_h = (int)b; num13++; this.ins_h = (int)b; } while (array4 < (ulong)262L && this.strm.avail_in != num2); } // Token: 0x06007CBD RID: 31933 RVA: 0x001A0194 File Offset: 0x0019E394 [Token(Token = "0x6007CBD")] [Address(RVA = "0x2027DB0", Offset = "0x20267B0", VA = "0x182027DB0")] internal int deflate_fast(int flush) { int num; do { num = 0; if (this.lookahead < 262) { this.fill_window(); int num2 = this.lookahead; if (num2 < 262 && flush == 0) { break; } if (num2 == 0) { goto IL_27F; } } byte[] array = this.window; int num3 = this.strstart; int num4 = this.ins_h; short[] array2 = this.head; this.ins_h = num4; short num5 = array2[num4]; short[] array3 = this.prev; int num6 = this.w_mask; array3[0] = num5; short[] array4 = this.head; int num7 = this.ins_h; int num8 = this.strstart; array4[0] = (short)num8; int num9 = this.strstart; num9 -= (int)num5; int num10 = this.w_size; if (this.strategy != 2) { int num11 = this.longest_match((int)num5); this.match_length = num11; } bool flag; int num14; if (this.match_length < 3) { byte[] array5 = this.window; int num12 = this.strstart; int num13 = 0; byte b; flag = this._tr_tally(num13, (int)b); num14 = this.strstart; } int num15 = this.strstart; num14 += -3; bool flag2 = this._tr_tally(num15, num14); int num16 = this.match_length; flag = flag2; int num17 = this.lookahead; num17 -= num16; this.lookahead = num17; int num18 = num16 - 1; this.match_length = num18; int num19 = this.strstart; byte[] array6 = this.window; int num20 = num19 + 1; this.strstart = num20; int num21 = this.ins_h; short[] array7 = this.head; this.ins_h = num21; short num22 = array7[num21]; short[] array8 = this.prev; int num23 = this.w_mask; array8[0] = num22; short[] array9 = this.head; int num24 = this.ins_h; num23 = num24; int num25 = this.strstart; array9[0] = (short)num25; while (num24 != array9.Length) { } int num26 = this.strstart; byte[] array10 = this.window; num26 += num23; this.strstart = num26; this.match_length = num; num3 = num26; byte b2 = array10[num3]; this.ins_h = (int)b2; num3++; this.ins_h = (int)b2; while (!flag) { } int num27 = this.block_start; num26 -= num27; int num28 = 0; this._tr_flush_block(num27, num26, num28 != 0); ZStream zstream = this.strm; int num29 = this.strstart; this.block_start = num29; zstream.flush_pending(); } while (this.strm.avail_out != num); return 0; IL_27F: int num30 = this.block_start; int num31 = this.strstart; bool flag3 = flush == 4; num31 -= num30; this._tr_flush_block(num30, num31, flag3); ZStream zstream2 = this.strm; int num32 = this.strstart; this.block_start = num32; zstream2.flush_pending(); if (this.strm.avail_out != num) { } throw new NullReferenceException(); } // Token: 0x06007CBE RID: 31934 RVA: 0x001A047C File Offset: 0x0019E67C [Token(Token = "0x6007CBE")] [Address(RVA = "0x20287A0", Offset = "0x20271A0", VA = "0x1820287A0")] internal int deflate_slow(int flush) { int num; do { num = 0; if (this.lookahead < 262) { this.fill_window(); int num2 = this.lookahead; if (num2 < 262 && flush == 0) { break; } if (num2 == 0) { goto IL_277; } } byte[] array = this.window; int num3 = this.strstart; int num4 = this.ins_h; short[] array2 = this.head; this.ins_h = num4; short num5 = array2[num4]; short[] array3 = this.prev; int num6 = this.w_mask; array3[0] = num5; short[] array4 = this.head; int num7 = this.ins_h; int num8 = this.strstart; array4[0] = (short)num8; int num9 = this.match_length; int num10 = this.match_start; this.prev_length = num9; this.prev_match = num10; this.match_length = 2; if (num9 < this.max_lazy_match) { int num11 = this.strstart; num11 -= (int)num5; int num12 = this.w_size; if (this.strategy != 2) { int num13 = this.longest_match((int)num5); this.match_length = num13; } if (this.strategy == 1 || (2 == 3 && this.strstart > 4096)) { this.match_length = 2; } } int num14 = this.strstart; num9 += -3; int num15 = this.lookahead; num15 += -3; num15 += num14; bool flag = this._tr_tally(num14, num9); int num16 = this.prev_length; this.prev_length = 1; int num17 = this.strstart; int num18 = num17 + 1; this.strstart = num18; byte[] array5 = this.window; int num19 = this.ins_h; short[] array6 = this.head; this.ins_h = num19; short num20 = array6[num19]; short[] array7 = this.prev; int num21 = this.w_mask; array7[0] = num20; short[] array8 = this.head; int num22 = this.ins_h; int num23 = this.strstart; array8[0] = (short)num23; while (num22 != array8.Length) { } int num24 = this.strstart; num24++; this.match_available = num; this.match_length = 2; this.strstart = num24; while (!flag) { } int num25 = this.block_start; num24 -= num25; int num26 = 0; this._tr_flush_block(num25, num24, num26 != 0); ZStream zstream = this.strm; int num27 = this.strstart; this.block_start = num27; zstream.flush_pending(); } while (this.strm.avail_out != num); return 0; IL_277: if (this.match_available != num) { byte[] array9 = this.window; int num28 = this.strstart; int num29 = 0; byte b; bool flag2 = this._tr_tally(num29, (int)b); this.match_available = num; } bool flag3 = flush == 4; this.flush_block_only(flag3); if (this.strm.avail_out != num) { } throw new NullReferenceException(); } // Token: 0x06007CBF RID: 31935 RVA: 0x001A0750 File Offset: 0x0019E950 [Token(Token = "0x6007CBF")] [Address(RVA = "0x2029580", Offset = "0x2027F80", VA = "0x182029580")] internal int longest_match(int cur_match) { int num = this.w_size; int num2 = this.strstart; int num3 = this.max_chain_length; int num4 = this.prev_length; num2 -= num; num2 += 262; int num5 = 0; byte[] array = this.window; int num6 = this.nice_match; int length = array.Length; int num7 = cur_match - 1; int num8 = this.lookahead; if (num6 <= num8) { } int length2 = array.Length; num8 = cur_match + 1; int num9 = num2 + 1; int length3 = array.Length; num6 = num3; int num10 = num6 + 1; int num11 = cur_match + 1; int num12 = cur_match + 1; num12 = num3; num12 += 3; int num13 = cur_match + 1; int num14 = cur_match + 1; num14 = num3; num14 += 5; int num15 = cur_match + 1; int num16 = cur_match + 1; num16 = num3; num16 += 7; int num17 = cur_match + 1; num3 += 8; if (cur_match > num4) { this.match_start = cur_match; int length4 = array.Length; byte b2; byte b = b2 - 1; } short[] array2 = this.prev; int num18 = this.w_mask; if ((int)array2[num18] > num5) { int num19 = num3 - 1; if (num19 != 0) { } } return cur_match; } // Token: 0x06007CC0 RID: 31936 RVA: 0x001A087C File Offset: 0x0019EA7C [Token(Token = "0x6007CC0")] [Address(RVA = "0x20276C0", Offset = "0x20260C0", VA = "0x1820276C0")] internal int deflateInit(ZStream strm, int level, int bits) { int num = 0; ulong num2; return this.deflateInit2(strm, level, 8, bits, (int)num2, num); } // Token: 0x06007CC1 RID: 31937 RVA: 0x001A0898 File Offset: 0x0019EA98 [Token(Token = "0x6007CC1")] [Address(RVA = "0x2027690", Offset = "0x2026090", VA = "0x182027690")] internal int deflateInit(ZStream strm, int level) { int num = 0; ulong num2; ulong num3; return this.deflateInit2(strm, level, 8, (int)num2, (int)num3, num); } // Token: 0x06007CC2 RID: 31938 RVA: 0x001A08B4 File Offset: 0x0019EAB4 [Token(Token = "0x6007CC2")] [Address(RVA = "0x2027340", Offset = "0x2025D40", VA = "0x182027340")] internal int deflateInit2(ZStream strm, int level, int method, int windowBits, int memLevel, int strategy) { int num = 0; strm.msg = num; if (method == 8 && level <= 9) { strm.dstate = this; this.w_bits = 0; this.noheader = 0; uint num2; this.w_size = (int)num2; this.hash_bits = 0; uint num3 = num2 - 1U; this.w_mask = (int)num3; uint num4; this.hash_size = (int)num4; uint num5 = num4 - 1U; this.hash_mask = (int)num5; byte[] array = new byte[0]; int num6 = this.w_size; this.window = array; short[] array2 = new short[num6]; int num7 = this.hash_size; this.prev = array2; short[] array3 = new short[num7]; this.head = array3; uint num8; this.lit_bufsize = (int)num8; byte[] array4 = new byte[1]; int num9 = this.lit_bufsize; this.pending_buf = array4; this.level = level; this.strategy = 0; this.method = (byte)method; this.pending_buf_size = array4; num9 -= (int)num8; this.d_buf = num9; this.l_buf = num9; strm.total_out = (long)num; strm.total_in = (long)num; strm.msg = num; strm.data_type = (int)((ulong)2L); int num10 = this.noheader; this.pending_out = num; this.noheader = num; uint num11; this.status = (int)num11; strm.adler = (long)((ulong)1L); this.last_flush = num; ZTree ztree = this.l_desc; short[] array5 = this.dyn_ltree; ztree.dyn_tree = array5; ZTree ztree2 = this.l_desc; StaticTree static_l_desc = StaticTree.static_l_desc; ztree2.stat_desc = static_l_desc; ZTree ztree3 = this.d_desc; short[] array6 = this.dyn_dtree; ztree3.dyn_tree = array6; ZTree ztree4 = this.d_desc; StaticTree static_d_desc = StaticTree.static_d_desc; ztree4.stat_desc = static_d_desc; ZTree ztree5 = this.bl_desc; short[] array7 = this.bl_tree; ztree5.dyn_tree = array7; ZTree ztree6 = this.bl_desc; StaticTree static_bl_desc = StaticTree.static_bl_desc; ztree6.stat_desc = static_bl_desc; this.bi_buf = (uint)num; this.last_eob_len = (int)((ulong)8L); this.init_block(); this.lm_init(); return 0; } throw new NullReferenceException(); } // Token: 0x06007CC3 RID: 31939 RVA: 0x001A0AB4 File Offset: 0x0019ECB4 [Token(Token = "0x6007CC3")] [Address(RVA = "0x20279D0", Offset = "0x20263D0", VA = "0x1820279D0")] internal int deflateReset(ZStream strm) { int num = 0; strm.data_type = (int)((ulong)2L); strm.total_out = (long)num; strm.total_in = (long)num; strm.msg = num; this.pending_out = num; int num2 = this.noheader; this.noheader = num; this.status = (int)((uint)42); strm.adler = (long)((ulong)1L); this.last_flush = num; ZTree ztree = this.l_desc; short[] array = this.dyn_ltree; ztree.dyn_tree = array; ZTree ztree2 = this.l_desc; StaticTree static_l_desc = StaticTree.static_l_desc; ztree2.stat_desc = static_l_desc; ZTree ztree3 = this.d_desc; short[] array2 = this.dyn_dtree; ztree3.dyn_tree = array2; ZTree ztree4 = this.d_desc; StaticTree static_d_desc = StaticTree.static_d_desc; ztree4.stat_desc = static_d_desc; ZTree ztree5 = this.bl_desc; short[] array3 = this.bl_tree; ztree5.dyn_tree = array3; ZTree ztree6 = this.bl_desc; StaticTree static_bl_desc = StaticTree.static_bl_desc; ztree6.stat_desc = static_bl_desc; this.bi_buf = (uint)num; this.last_eob_len = (int)((ulong)8L); this.init_block(); this.lm_init(); return 0; } // Token: 0x06007CC4 RID: 31940 RVA: 0x001A0BC4 File Offset: 0x0019EDC4 [Token(Token = "0x6007CC4")] [Address(RVA = "0x2027300", Offset = "0x2025D00", VA = "0x182027300")] internal int deflateEnd() { int num = this.status; if (num != 42 && num != 113 && num != 666) { return -2; } int num2 = 0; this.pending_buf = num2; this.head = num2; this.prev = num2; this.window = num2; return -3; } // Token: 0x06007CC5 RID: 31941 RVA: 0x001A0C10 File Offset: 0x0019EE10 [Token(Token = "0x6007CC5")] [Address(RVA = "0x20276F0", Offset = "0x20260F0", VA = "0x1820276F0")] internal int deflateParams(ZStream strm, int _level, int _strategy) { int num = 0; if (_level <= 9 && _strategy <= 2) { Deflate.Config[] array = Deflate.config_table; int num2 = this.level; int length = array.Length; int func = array[num2].func; Deflate.Config config = array[_level]; if (func != config.func && strm.total_in != (long)num) { Deflate dstate = strm.dstate; if (dstate != 0) { int num3 = dstate.deflate(strm, 1); } } if (num2 != _level) { this.level = _level; Deflate.Config[] array2 = Deflate.config_table; int num4 = this.level; int max_lazy = array2[num4].max_lazy; this.max_lazy_match = max_lazy; int good_length = Deflate.config_table[num4].good_length; this.good_match = good_length; int nice_length = Deflate.config_table[num4].nice_length; this.nice_match = nice_length; int max_chain = Deflate.config_table[num4].max_chain; this.max_chain_length = max_chain; } this.strategy = _strategy; } return -2; } // Token: 0x06007CC6 RID: 31942 RVA: 0x001A0D18 File Offset: 0x0019EF18 [Token(Token = "0x6007CC6")] [Address(RVA = "0x2027B70", Offset = "0x2026570", VA = "0x182027B70")] internal int deflateSetDictionary(ZStream strm, byte[] dictionary, int dictLength) { int i = 0; if (dictionary != 0 && this.status == 42) { Adler32 adler = strm._adler; long adler2 = strm.adler; int num = 0; long num2 = adler.adler32(adler2, dictionary, num, dictLength); strm.adler = num2; int num3 = this.w_size; num3 += -262; if (dictLength > num3) { } byte[] array = this.window; int num4 = 0; Array.Copy(dictionary, i, array, num4, dictLength); byte[] array2 = this.window; this.strstart = dictLength; this.block_start = dictLength; byte b = array2[0]; this.ins_h = (int)b; this.ins_h = (int)b; byte[] array3 = this.window; int num5 = this.ins_h; short[] array4 = this.head; this.ins_h = num5; short[] array5 = this.prev; int num6 = this.w_mask; short num7 = array4[num5]; array5[0] = num7; short[] array6 = this.head; int num8 = this.ins_h; array6[0] = (short)i; i++; while (i <= dictLength) { } } throw new IndexOutOfRangeException(); } // Token: 0x06007CC7 RID: 31943 RVA: 0x001A0E28 File Offset: 0x0019F028 [Token(Token = "0x6007CC7")] [Address(RVA = "0x20282B0", Offset = "0x2026CB0", VA = "0x1820282B0")] internal int deflate(ZStream strm, int flush) { if (flush <= 4) { if (strm.next_out != (ulong)0L && (strm.next_in != (ulong)0L || strm.avail_in == 0)) { int num = this.status; if (num != 666 || flush == 4) { if (strm.avail_out != 0) { int num2 = this.last_flush; this.last_flush = flush; this.strm = strm; if (num == 42) { int num3 = this.level; this.status = (int)((ulong)113L); ulong num4; num4 += (ulong)1L; num4 += num4; long num5 = (long)(num4 * (ulong)((uint)31)); this.putShortMSB((int)num5); if (this.strstart != 0) { long adler = strm.adler; this.putShortMSB((int)adler); long adler2 = strm.adler; this.putShortMSB((int)adler2); } strm.adler = (long)((ulong)1L); } if (this.pending == 0) { if (strm.avail_in != 0 || flush == 4) { goto IL_F9; } string[] array = Deflate.z_errmsg; } strm.flush_pending(); if (strm.avail_out == 0) { goto IL_259; } IL_F9: string[] array2; if (this.status == 666) { if (strm.avail_in == 0) { goto IL_11F; } array2 = Deflate.z_errmsg; } if (strm.avail_in != 0) { goto IL_13D; } IL_11F: if (this.lookahead == 0 && (flush == 0 || array2 == (ulong)666L)) { goto IL_204; } IL_13D: Deflate.Config[] array3 = Deflate.config_table; int num6 = this.level; int func = array3[num6].func; if (func != 0) { if (func != 0) { if (func != 1) { goto IL_19D; } int num7 = this.deflate_slow(flush); } int num8 = this.deflate_fast(flush); } int num9 = this.deflate_stored(flush); if (num9 == 2 || num9 == 3) { this.status = (int)((ulong)666L); } IL_19D: if (num9 == 0 || num9 == 2) { goto IL_250; } if (num9 == 1) { if (flush != num9) { int num10 = 0; int num11 = 0; int num12 = 0; int num13 = 0; this._tr_stored_block(num13, num12, num11 != 0); if (flush == 3 && this.hash_size > num10) { short[] array4 = this.head; num10++; array4[0] = (short)num10; } } strm.flush_pending(); if (strm.avail_out == 0) { goto IL_259; } } IL_204: if (flush != 4) { goto IL_259; } if (this.noheader == 0) { long adler3 = strm.adler; this.putShortMSB((int)adler3); long adler4 = strm.adler; this.putShortMSB((int)adler4); strm.flush_pending(); this.noheader = (int)((ulong)4294967295L); if (this.pending != 0) { goto IL_259; } } IL_250: if (strm.avail_out == 0) { } } IL_259: string text = Deflate.z_errmsg[7]; strm.msg = text; } } string text2 = Deflate.z_errmsg[4]; strm.msg = text2; } throw new IndexOutOfRangeException(); } // Token: 0x040058A9 RID: 22697 [Token(Token = "0x40058A9")] private const int MAX_MEM_LEVEL = 9; // Token: 0x040058AA RID: 22698 [Token(Token = "0x40058AA")] private const int Z_DEFAULT_COMPRESSION = -1; // Token: 0x040058AB RID: 22699 [Token(Token = "0x40058AB")] private const int MAX_WBITS = 15; // Token: 0x040058AC RID: 22700 [Token(Token = "0x40058AC")] private const int DEF_MEM_LEVEL = 8; // Token: 0x040058AD RID: 22701 [Token(Token = "0x40058AD")] private const int STORED = 0; // Token: 0x040058AE RID: 22702 [Token(Token = "0x40058AE")] private const int FAST = 1; // Token: 0x040058AF RID: 22703 [Token(Token = "0x40058AF")] private const int SLOW = 2; // Token: 0x040058B0 RID: 22704 [Token(Token = "0x40058B0")] private static readonly Deflate.Config[] config_table; // Token: 0x040058B1 RID: 22705 [Token(Token = "0x40058B1")] private static readonly string[] z_errmsg; // Token: 0x040058B2 RID: 22706 [Token(Token = "0x40058B2")] private const int NeedMore = 0; // Token: 0x040058B3 RID: 22707 [Token(Token = "0x40058B3")] private const int BlockDone = 1; // Token: 0x040058B4 RID: 22708 [Token(Token = "0x40058B4")] private const int FinishStarted = 2; // Token: 0x040058B5 RID: 22709 [Token(Token = "0x40058B5")] private const int FinishDone = 3; // Token: 0x040058B6 RID: 22710 [Token(Token = "0x40058B6")] private const int PRESET_DICT = 32; // Token: 0x040058B7 RID: 22711 [Token(Token = "0x40058B7")] private const int Z_FILTERED = 1; // Token: 0x040058B8 RID: 22712 [Token(Token = "0x40058B8")] private const int Z_HUFFMAN_ONLY = 2; // Token: 0x040058B9 RID: 22713 [Token(Token = "0x40058B9")] private const int Z_DEFAULT_STRATEGY = 0; // Token: 0x040058BA RID: 22714 [Token(Token = "0x40058BA")] private const int Z_NO_FLUSH = 0; // Token: 0x040058BB RID: 22715 [Token(Token = "0x40058BB")] private const int Z_PARTIAL_FLUSH = 1; // Token: 0x040058BC RID: 22716 [Token(Token = "0x40058BC")] private const int Z_SYNC_FLUSH = 2; // Token: 0x040058BD RID: 22717 [Token(Token = "0x40058BD")] private const int Z_FULL_FLUSH = 3; // Token: 0x040058BE RID: 22718 [Token(Token = "0x40058BE")] private const int Z_FINISH = 4; // Token: 0x040058BF RID: 22719 [Token(Token = "0x40058BF")] private const int Z_OK = 0; // Token: 0x040058C0 RID: 22720 [Token(Token = "0x40058C0")] private const int Z_STREAM_END = 1; // Token: 0x040058C1 RID: 22721 [Token(Token = "0x40058C1")] private const int Z_NEED_DICT = 2; // Token: 0x040058C2 RID: 22722 [Token(Token = "0x40058C2")] private const int Z_ERRNO = -1; // Token: 0x040058C3 RID: 22723 [Token(Token = "0x40058C3")] private const int Z_STREAM_ERROR = -2; // Token: 0x040058C4 RID: 22724 [Token(Token = "0x40058C4")] private const int Z_DATA_ERROR = -3; // Token: 0x040058C5 RID: 22725 [Token(Token = "0x40058C5")] private const int Z_MEM_ERROR = -4; // Token: 0x040058C6 RID: 22726 [Token(Token = "0x40058C6")] private const int Z_BUF_ERROR = -5; // Token: 0x040058C7 RID: 22727 [Token(Token = "0x40058C7")] private const int Z_VERSION_ERROR = -6; // Token: 0x040058C8 RID: 22728 [Token(Token = "0x40058C8")] private const int INIT_STATE = 42; // Token: 0x040058C9 RID: 22729 [Token(Token = "0x40058C9")] private const int BUSY_STATE = 113; // Token: 0x040058CA RID: 22730 [Token(Token = "0x40058CA")] private const int FINISH_STATE = 666; // Token: 0x040058CB RID: 22731 [Token(Token = "0x40058CB")] private const int Z_DEFLATED = 8; // Token: 0x040058CC RID: 22732 [Token(Token = "0x40058CC")] private const int STORED_BLOCK = 0; // Token: 0x040058CD RID: 22733 [Token(Token = "0x40058CD")] private const int STATIC_TREES = 1; // Token: 0x040058CE RID: 22734 [Token(Token = "0x40058CE")] private const int DYN_TREES = 2; // Token: 0x040058CF RID: 22735 [Token(Token = "0x40058CF")] private const int Z_BINARY = 0; // Token: 0x040058D0 RID: 22736 [Token(Token = "0x40058D0")] private const int Z_ASCII = 1; // Token: 0x040058D1 RID: 22737 [Token(Token = "0x40058D1")] private const int Z_UNKNOWN = 2; // Token: 0x040058D2 RID: 22738 [Token(Token = "0x40058D2")] private const int Buf_size = 16; // Token: 0x040058D3 RID: 22739 [Token(Token = "0x40058D3")] private const int REP_3_6 = 16; // Token: 0x040058D4 RID: 22740 [Token(Token = "0x40058D4")] private const int REPZ_3_10 = 17; // Token: 0x040058D5 RID: 22741 [Token(Token = "0x40058D5")] private const int REPZ_11_138 = 18; // Token: 0x040058D6 RID: 22742 [Token(Token = "0x40058D6")] private const int MIN_MATCH = 3; // Token: 0x040058D7 RID: 22743 [Token(Token = "0x40058D7")] private const int MAX_MATCH = 258; // Token: 0x040058D8 RID: 22744 [Token(Token = "0x40058D8")] private const int MIN_LOOKAHEAD = 262; // Token: 0x040058D9 RID: 22745 [Token(Token = "0x40058D9")] private const int MAX_BITS = 15; // Token: 0x040058DA RID: 22746 [Token(Token = "0x40058DA")] private const int D_CODES = 30; // Token: 0x040058DB RID: 22747 [Token(Token = "0x40058DB")] private const int BL_CODES = 19; // Token: 0x040058DC RID: 22748 [Token(Token = "0x40058DC")] private const int LENGTH_CODES = 29; // Token: 0x040058DD RID: 22749 [Token(Token = "0x40058DD")] private const int LITERALS = 256; // Token: 0x040058DE RID: 22750 [Token(Token = "0x40058DE")] private const int L_CODES = 286; // Token: 0x040058DF RID: 22751 [Token(Token = "0x40058DF")] private const int HEAP_SIZE = 573; // Token: 0x040058E0 RID: 22752 [Token(Token = "0x40058E0")] private const int END_BLOCK = 256; // Token: 0x040058E1 RID: 22753 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x40058E1")] internal ZStream strm; // Token: 0x040058E2 RID: 22754 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x40058E2")] internal int status; // Token: 0x040058E3 RID: 22755 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x40058E3")] internal byte[] pending_buf; // Token: 0x040058E4 RID: 22756 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x40058E4")] internal int pending_buf_size; // Token: 0x040058E5 RID: 22757 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")] [Token(Token = "0x40058E5")] internal int pending_out; // Token: 0x040058E6 RID: 22758 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x40058E6")] internal int pending; // Token: 0x040058E7 RID: 22759 [global::Cpp2IlInjected.FieldOffset(Offset = "0x34")] [Token(Token = "0x40058E7")] internal int noheader; // Token: 0x040058E8 RID: 22760 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x40058E8")] internal byte data_type; // Token: 0x040058E9 RID: 22761 [global::Cpp2IlInjected.FieldOffset(Offset = "0x39")] [Token(Token = "0x40058E9")] internal byte method; // Token: 0x040058EA RID: 22762 [global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")] [Token(Token = "0x40058EA")] internal int last_flush; // Token: 0x040058EB RID: 22763 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x40058EB")] internal int w_size; // Token: 0x040058EC RID: 22764 [global::Cpp2IlInjected.FieldOffset(Offset = "0x44")] [Token(Token = "0x40058EC")] internal int w_bits; // Token: 0x040058ED RID: 22765 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x40058ED")] internal int w_mask; // Token: 0x040058EE RID: 22766 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x40058EE")] internal byte[] window; // Token: 0x040058EF RID: 22767 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x40058EF")] internal int window_size; // Token: 0x040058F0 RID: 22768 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x40058F0")] internal short[] prev; // Token: 0x040058F1 RID: 22769 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x40058F1")] internal short[] head; // Token: 0x040058F2 RID: 22770 [global::Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x40058F2")] internal int ins_h; // Token: 0x040058F3 RID: 22771 [global::Cpp2IlInjected.FieldOffset(Offset = "0x74")] [Token(Token = "0x40058F3")] internal int hash_size; // Token: 0x040058F4 RID: 22772 [global::Cpp2IlInjected.FieldOffset(Offset = "0x78")] [Token(Token = "0x40058F4")] internal int hash_bits; // Token: 0x040058F5 RID: 22773 [global::Cpp2IlInjected.FieldOffset(Offset = "0x7C")] [Token(Token = "0x40058F5")] internal int hash_mask; // Token: 0x040058F6 RID: 22774 [global::Cpp2IlInjected.FieldOffset(Offset = "0x80")] [Token(Token = "0x40058F6")] internal int hash_shift; // Token: 0x040058F7 RID: 22775 [global::Cpp2IlInjected.FieldOffset(Offset = "0x84")] [Token(Token = "0x40058F7")] internal int block_start; // Token: 0x040058F8 RID: 22776 [global::Cpp2IlInjected.FieldOffset(Offset = "0x88")] [Token(Token = "0x40058F8")] internal int match_length; // Token: 0x040058F9 RID: 22777 [global::Cpp2IlInjected.FieldOffset(Offset = "0x8C")] [Token(Token = "0x40058F9")] internal int prev_match; // Token: 0x040058FA RID: 22778 [global::Cpp2IlInjected.FieldOffset(Offset = "0x90")] [Token(Token = "0x40058FA")] internal int match_available; // Token: 0x040058FB RID: 22779 [global::Cpp2IlInjected.FieldOffset(Offset = "0x94")] [Token(Token = "0x40058FB")] internal int strstart; // Token: 0x040058FC RID: 22780 [global::Cpp2IlInjected.FieldOffset(Offset = "0x98")] [Token(Token = "0x40058FC")] internal int match_start; // Token: 0x040058FD RID: 22781 [global::Cpp2IlInjected.FieldOffset(Offset = "0x9C")] [Token(Token = "0x40058FD")] internal int lookahead; // Token: 0x040058FE RID: 22782 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")] [Token(Token = "0x40058FE")] internal int prev_length; // Token: 0x040058FF RID: 22783 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA4")] [Token(Token = "0x40058FF")] internal int max_chain_length; // Token: 0x04005900 RID: 22784 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")] [Token(Token = "0x4005900")] internal int max_lazy_match; // Token: 0x04005901 RID: 22785 [global::Cpp2IlInjected.FieldOffset(Offset = "0xAC")] [Token(Token = "0x4005901")] internal int level; // Token: 0x04005902 RID: 22786 [global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")] [Token(Token = "0x4005902")] internal int strategy; // Token: 0x04005903 RID: 22787 [global::Cpp2IlInjected.FieldOffset(Offset = "0xB4")] [Token(Token = "0x4005903")] internal int good_match; // Token: 0x04005904 RID: 22788 [global::Cpp2IlInjected.FieldOffset(Offset = "0xB8")] [Token(Token = "0x4005904")] internal int nice_match; // Token: 0x04005905 RID: 22789 [global::Cpp2IlInjected.FieldOffset(Offset = "0xC0")] [Token(Token = "0x4005905")] internal short[] dyn_ltree; // Token: 0x04005906 RID: 22790 [global::Cpp2IlInjected.FieldOffset(Offset = "0xC8")] [Token(Token = "0x4005906")] internal short[] dyn_dtree; // Token: 0x04005907 RID: 22791 [global::Cpp2IlInjected.FieldOffset(Offset = "0xD0")] [Token(Token = "0x4005907")] internal short[] bl_tree; // Token: 0x04005908 RID: 22792 [global::Cpp2IlInjected.FieldOffset(Offset = "0xD8")] [Token(Token = "0x4005908")] internal ZTree l_desc; // Token: 0x04005909 RID: 22793 [global::Cpp2IlInjected.FieldOffset(Offset = "0xE0")] [Token(Token = "0x4005909")] internal ZTree d_desc; // Token: 0x0400590A RID: 22794 [global::Cpp2IlInjected.FieldOffset(Offset = "0xE8")] [Token(Token = "0x400590A")] internal ZTree bl_desc; // Token: 0x0400590B RID: 22795 [global::Cpp2IlInjected.FieldOffset(Offset = "0xF0")] [Token(Token = "0x400590B")] internal short[] bl_count; // Token: 0x0400590C RID: 22796 [global::Cpp2IlInjected.FieldOffset(Offset = "0xF8")] [Token(Token = "0x400590C")] internal int[] heap; // Token: 0x0400590D RID: 22797 [global::Cpp2IlInjected.FieldOffset(Offset = "0x100")] [Token(Token = "0x400590D")] internal int heap_len; // Token: 0x0400590E RID: 22798 [global::Cpp2IlInjected.FieldOffset(Offset = "0x104")] [Token(Token = "0x400590E")] internal int heap_max; // Token: 0x0400590F RID: 22799 [global::Cpp2IlInjected.FieldOffset(Offset = "0x108")] [Token(Token = "0x400590F")] internal byte[] depth; // Token: 0x04005910 RID: 22800 [global::Cpp2IlInjected.FieldOffset(Offset = "0x110")] [Token(Token = "0x4005910")] internal int l_buf; // Token: 0x04005911 RID: 22801 [global::Cpp2IlInjected.FieldOffset(Offset = "0x114")] [Token(Token = "0x4005911")] internal int lit_bufsize; // Token: 0x04005912 RID: 22802 [global::Cpp2IlInjected.FieldOffset(Offset = "0x118")] [Token(Token = "0x4005912")] internal int last_lit; // Token: 0x04005913 RID: 22803 [global::Cpp2IlInjected.FieldOffset(Offset = "0x11C")] [Token(Token = "0x4005913")] internal int d_buf; // Token: 0x04005914 RID: 22804 [global::Cpp2IlInjected.FieldOffset(Offset = "0x120")] [Token(Token = "0x4005914")] internal int opt_len; // Token: 0x04005915 RID: 22805 [global::Cpp2IlInjected.FieldOffset(Offset = "0x124")] [Token(Token = "0x4005915")] internal int static_len; // Token: 0x04005916 RID: 22806 [global::Cpp2IlInjected.FieldOffset(Offset = "0x128")] [Token(Token = "0x4005916")] internal int matches; // Token: 0x04005917 RID: 22807 [global::Cpp2IlInjected.FieldOffset(Offset = "0x12C")] [Token(Token = "0x4005917")] internal int last_eob_len; // Token: 0x04005918 RID: 22808 [global::Cpp2IlInjected.FieldOffset(Offset = "0x130")] [Token(Token = "0x4005918")] internal uint bi_buf; // Token: 0x04005919 RID: 22809 [global::Cpp2IlInjected.FieldOffset(Offset = "0x134")] [Token(Token = "0x4005919")] internal int bi_valid; // Token: 0x0200134E RID: 4942 [Token(Token = "0x200134E")] internal class Config { // Token: 0x06007CC8 RID: 31944 RVA: 0x001A10C0 File Offset: 0x0019F2C0 [Token(Token = "0x6007CC8")] [Address(RVA = "0xE250B0", Offset = "0xE23AB0", VA = "0x180E250B0")] internal Config(int good_length, int max_lazy, int nice_length, int max_chain, int func) { this.max_chain = 0; this.good_length = good_length; this.nice_length = nice_length; this.func = 0; this.max_lazy = max_lazy; } // Token: 0x0400591A RID: 22810 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x400591A")] internal int good_length; // Token: 0x0400591B RID: 22811 [global::Cpp2IlInjected.FieldOffset(Offset = "0x14")] [Token(Token = "0x400591B")] internal int max_lazy; // Token: 0x0400591C RID: 22812 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400591C")] internal int nice_length; // Token: 0x0400591D RID: 22813 [global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")] [Token(Token = "0x400591D")] internal int max_chain; // Token: 0x0400591E RID: 22814 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x400591E")] internal int func; } } }