Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Utilities/Zlib/Deflate.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

2193 lines
57 KiB
C#

using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Zlib
{
// Token: 0x02001A0A RID: 6666
[Token(Token = "0x2001A0A")]
public sealed class Deflate
{
// Token: 0x06009C48 RID: 40008 RVA: 0x001FF6B4 File Offset: 0x001FD8B4
[Token(Token = "0x6009C48")]
[Address(RVA = "0x4E13F0", Offset = "0x4E03F0", VA = "0x1804E13F0")]
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: 0x06009C49 RID: 40009 RVA: 0x001FFA60 File Offset: 0x001FDC60
[Token(Token = "0x6009C49")]
[Address(RVA = "0x4E1DF0", Offset = "0x4E0DF0", VA = "0x1804E1DF0")]
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: 0x06009C4A RID: 40010 RVA: 0x001FFB08 File Offset: 0x001FDD08
[Token(Token = "0x6009C4A")]
[Address(RVA = "0x4E51D0", Offset = "0x4E41D0", VA = "0x1804E51D0")]
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: 0x06009C4B RID: 40011 RVA: 0x001FFC14 File Offset: 0x001FDE14
[Token(Token = "0x6009C4B")]
[Address(RVA = "0x4E6710", Offset = "0x4E5710", VA = "0x1804E6710")]
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: 0x06009C4C RID: 40012 RVA: 0x001FFCCC File Offset: 0x001FDECC
[Token(Token = "0x6009C4C")]
[Address(RVA = "0x4E50A0", Offset = "0x4E40A0", VA = "0x1804E50A0")]
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: 0x06009C4D RID: 40013 RVA: 0x001FFD44 File Offset: 0x001FDF44
[Token(Token = "0x6009C4D")]
[Address(RVA = "0x4E5A20", Offset = "0x4E4A20", VA = "0x1804E5A20")]
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: 0x06009C4E RID: 40014 RVA: 0x001FFDE8 File Offset: 0x001FDFE8
[Token(Token = "0x6009C4E")]
[Address(RVA = "0x4E6650", Offset = "0x4E5650", VA = "0x1804E6650")]
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: 0x06009C4F RID: 40015 RVA: 0x001FFE18 File Offset: 0x001FE018
[Token(Token = "0x6009C4F")]
[Address(RVA = "0x4E5E10", Offset = "0x4E4E10", VA = "0x1804E5E10")]
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: 0x06009C50 RID: 40016 RVA: 0x001FFE88 File Offset: 0x001FE088
[Token(Token = "0x6009C50")]
[Address(RVA = "0x4E2B90", Offset = "0x4E1B90", VA = "0x1804E2B90")]
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: 0x06009C51 RID: 40017 RVA: 0x001FFF04 File Offset: 0x001FE104
[Token(Token = "0x6009C51")]
[Address(RVA = "0x4E6070", Offset = "0x4E5070", VA = "0x1804E6070")]
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: 0x06009C52 RID: 40018 RVA: 0x001FFF70 File Offset: 0x001FE170
[Token(Token = "0x6009C52")]
[Address(RVA = "0x4E6350", Offset = "0x4E5350", VA = "0x1804E6350")]
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: 0x06009C53 RID: 40019 RVA: 0x00200014 File Offset: 0x001FE214
[Token(Token = "0x6009C53")]
[Address(RVA = "0x4E5D00", Offset = "0x4E4D00", VA = "0x1804E5D00")]
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: 0x06009C54 RID: 40020 RVA: 0x0020003C File Offset: 0x001FE23C
[Token(Token = "0x6009C54")]
[Address(RVA = "0x4E5D50", Offset = "0x4E4D50", VA = "0x1804E5D50")]
internal void put_byte(byte c)
{
int num = this.pending;
byte[] array = this.pending_buf;
int num2 = num + 1;
this.pending = num2;
}
// Token: 0x06009C55 RID: 40021 RVA: 0x00200068 File Offset: 0x001FE268
[Token(Token = "0x6009C55")]
[Address(RVA = "0x4E5D90", Offset = "0x4E4D90", VA = "0x1804E5D90")]
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: 0x06009C56 RID: 40022 RVA: 0x002000B0 File Offset: 0x001FE2B0
[Token(Token = "0x6009C56")]
[Address(RVA = "0x4E5C80", Offset = "0x4E4C80", VA = "0x1804E5C80")]
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: 0x06009C57 RID: 40023 RVA: 0x002000F8 File Offset: 0x001FE2F8
[Token(Token = "0x6009C57")]
[Address(RVA = "0x4E62E0", Offset = "0x4E52E0", VA = "0x1804E62E0")]
internal void send_code(int c, short[] tree)
{
int length = tree.Length;
short num;
short num2;
this.send_bits((int)num, (int)num2);
}
// Token: 0x06009C58 RID: 40024 RVA: 0x0020011C File Offset: 0x001FE31C
[Token(Token = "0x6009C58")]
[Address(RVA = "0x4E61F0", Offset = "0x4E51F0", VA = "0x1804E61F0")]
internal void send_bits(int val, int length)
{
int num = this.bi_valid;
uint num2;
num2 -= (uint)length;
this.bi_buf = (uint)val;
}
// Token: 0x06009C59 RID: 40025 RVA: 0x002001A8 File Offset: 0x001FE3A8
[Token(Token = "0x6009C59")]
[Address(RVA = "0x4E1F20", Offset = "0x4E0F20", VA = "0x1804E1F20")]
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: 0x06009C5A RID: 40026 RVA: 0x00200258 File Offset: 0x001FE458
[Token(Token = "0x6009C5A")]
[Address(RVA = "0x4E2680", Offset = "0x4E1680", VA = "0x1804E2680")]
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: 0x06009C5B RID: 40027 RVA: 0x0020034C File Offset: 0x001FE54C
[Token(Token = "0x6009C5B")]
[Address(RVA = "0x4E2CF0", Offset = "0x4E1CF0", VA = "0x1804E2CF0")]
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: 0x06009C5C RID: 40028 RVA: 0x00200480 File Offset: 0x001FE680
[Token(Token = "0x6009C5C")]
[Address(RVA = "0x4E6550", Offset = "0x4E5550", VA = "0x1804E6550")]
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: 0x06009C5D RID: 40029 RVA: 0x002004DC File Offset: 0x001FE6DC
[Token(Token = "0x6009C5D")]
[Address(RVA = "0x4E29C0", Offset = "0x4E19C0", VA = "0x1804E29C0")]
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: 0x06009C5E RID: 40030 RVA: 0x00200578 File Offset: 0x001FE778
[Token(Token = "0x6009C5E")]
[Address(RVA = "0x4E2AB0", Offset = "0x4E1AB0", VA = "0x1804E2AB0")]
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: 0x06009C5F RID: 40031 RVA: 0x00200618 File Offset: 0x001FE818
[Token(Token = "0x6009C5F")]
[Address(RVA = "0x4E31A0", Offset = "0x4E21A0", VA = "0x1804E31A0")]
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: 0x06009C60 RID: 40032 RVA: 0x00200668 File Offset: 0x001FE868
[Token(Token = "0x6009C60")]
[Address(RVA = "0x4E5040", Offset = "0x4E4040", VA = "0x1804E5040")]
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: 0x06009C61 RID: 40033 RVA: 0x002006B4 File Offset: 0x001FE8B4
[Token(Token = "0x6009C61")]
[Address(RVA = "0x4E4C30", Offset = "0x4E3C30", VA = "0x1804E4C30")]
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: 0x06009C62 RID: 40034 RVA: 0x002007F0 File Offset: 0x001FE9F0
[Token(Token = "0x6009C62")]
[Address(RVA = "0x4E25E0", Offset = "0x4E15E0", VA = "0x1804E25E0")]
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: 0x06009C63 RID: 40035 RVA: 0x00200848 File Offset: 0x001FEA48
[Token(Token = "0x6009C63")]
[Address(RVA = "0x4E20C0", Offset = "0x4E10C0", VA = "0x1804E20C0")]
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: 0x06009C64 RID: 40036 RVA: 0x00200A0C File Offset: 0x001FEC0C
[Token(Token = "0x6009C64")]
[Address(RVA = "0x4E4DE0", Offset = "0x4E3DE0", VA = "0x1804E4DE0")]
internal void fill_window()
{
int num2;
int num18;
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;
if (zstream.avail_in == num2)
{
break;
}
int num15 = this.lookahead;
byte[] array4 = this.window;
uint num17;
int num16 = zstream.read_buf(array4, num15, (int)num17);
num18 = this.lookahead;
byte[] array5 = this.window;
num13 = this.strstart;
byte b;
this.ins_h = (int)b;
num13++;
this.ins_h = (int)b;
}
while (num18 < 262 && this.strm.avail_in != num2);
}
// Token: 0x06009C65 RID: 40037 RVA: 0x00200B7C File Offset: 0x001FED7C
[Token(Token = "0x6009C65")]
[Address(RVA = "0x4E3CC0", Offset = "0x4E2CC0", VA = "0x1804E3CC0")]
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: 0x06009C66 RID: 40038 RVA: 0x00200E64 File Offset: 0x001FF064
[Token(Token = "0x6009C66")]
[Address(RVA = "0x4E46B0", Offset = "0x4E36B0", VA = "0x1804E46B0")]
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: 0x06009C67 RID: 40039 RVA: 0x00201138 File Offset: 0x001FF338
[Token(Token = "0x6009C67")]
[Address(RVA = "0x4E5400", Offset = "0x4E4400", VA = "0x1804E5400")]
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: 0x06009C68 RID: 40040 RVA: 0x00201264 File Offset: 0x001FF464
[Token(Token = "0x6009C68")]
[Address(RVA = "0x4E35F0", Offset = "0x4E25F0", VA = "0x1804E35F0")]
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: 0x06009C69 RID: 40041 RVA: 0x00201280 File Offset: 0x001FF480
[Token(Token = "0x6009C69")]
[Address(RVA = "0x4E35C0", Offset = "0x4E25C0", VA = "0x1804E35C0")]
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: 0x06009C6A RID: 40042 RVA: 0x0020129C File Offset: 0x001FF49C
[Token(Token = "0x6009C6A")]
[Address(RVA = "0x4E3270", Offset = "0x4E2270", VA = "0x1804E3270")]
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: 0x06009C6B RID: 40043 RVA: 0x0020149C File Offset: 0x001FF69C
[Token(Token = "0x6009C6B")]
[Address(RVA = "0x4E38E0", Offset = "0x4E28E0", VA = "0x1804E38E0")]
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: 0x06009C6C RID: 40044 RVA: 0x002015AC File Offset: 0x001FF7AC
[Token(Token = "0x6009C6C")]
[Address(RVA = "0x4E3230", Offset = "0x4E2230", VA = "0x1804E3230")]
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: 0x06009C6D RID: 40045 RVA: 0x002015F8 File Offset: 0x001FF7F8
[Token(Token = "0x6009C6D")]
[Address(RVA = "0x4E3620", Offset = "0x4E2620", VA = "0x1804E3620")]
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)
{
int num3 = strm.deflate(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: 0x06009C6E RID: 40046 RVA: 0x002016F0 File Offset: 0x001FF8F0
[Token(Token = "0x6009C6E")]
[Address(RVA = "0x4E3A80", Offset = "0x4E2A80", VA = "0x1804E3A80")]
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: 0x06009C6F RID: 40047 RVA: 0x00201800 File Offset: 0x001FFA00
[Token(Token = "0x6009C6F")]
[Address(RVA = "0x4E41C0", Offset = "0x4E31C0", VA = "0x1804E41C0")]
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: 0x040068A5 RID: 26789
[Token(Token = "0x40068A5")]
private const int MAX_MEM_LEVEL = 9;
// Token: 0x040068A6 RID: 26790
[Token(Token = "0x40068A6")]
private const int Z_DEFAULT_COMPRESSION = -1;
// Token: 0x040068A7 RID: 26791
[Token(Token = "0x40068A7")]
private const int MAX_WBITS = 15;
// Token: 0x040068A8 RID: 26792
[Token(Token = "0x40068A8")]
private const int DEF_MEM_LEVEL = 8;
// Token: 0x040068A9 RID: 26793
[Token(Token = "0x40068A9")]
private const int STORED = 0;
// Token: 0x040068AA RID: 26794
[Token(Token = "0x40068AA")]
private const int FAST = 1;
// Token: 0x040068AB RID: 26795
[Token(Token = "0x40068AB")]
private const int SLOW = 2;
// Token: 0x040068AC RID: 26796
[Token(Token = "0x40068AC")]
private static readonly Deflate.Config[] config_table;
// Token: 0x040068AD RID: 26797
[Token(Token = "0x40068AD")]
private static readonly string[] z_errmsg;
// Token: 0x040068AE RID: 26798
[Token(Token = "0x40068AE")]
private const int NeedMore = 0;
// Token: 0x040068AF RID: 26799
[Token(Token = "0x40068AF")]
private const int BlockDone = 1;
// Token: 0x040068B0 RID: 26800
[Token(Token = "0x40068B0")]
private const int FinishStarted = 2;
// Token: 0x040068B1 RID: 26801
[Token(Token = "0x40068B1")]
private const int FinishDone = 3;
// Token: 0x040068B2 RID: 26802
[Token(Token = "0x40068B2")]
private const int PRESET_DICT = 32;
// Token: 0x040068B3 RID: 26803
[Token(Token = "0x40068B3")]
private const int Z_FILTERED = 1;
// Token: 0x040068B4 RID: 26804
[Token(Token = "0x40068B4")]
private const int Z_HUFFMAN_ONLY = 2;
// Token: 0x040068B5 RID: 26805
[Token(Token = "0x40068B5")]
private const int Z_DEFAULT_STRATEGY = 0;
// Token: 0x040068B6 RID: 26806
[Token(Token = "0x40068B6")]
private const int Z_NO_FLUSH = 0;
// Token: 0x040068B7 RID: 26807
[Token(Token = "0x40068B7")]
private const int Z_PARTIAL_FLUSH = 1;
// Token: 0x040068B8 RID: 26808
[Token(Token = "0x40068B8")]
private const int Z_SYNC_FLUSH = 2;
// Token: 0x040068B9 RID: 26809
[Token(Token = "0x40068B9")]
private const int Z_FULL_FLUSH = 3;
// Token: 0x040068BA RID: 26810
[Token(Token = "0x40068BA")]
private const int Z_FINISH = 4;
// Token: 0x040068BB RID: 26811
[Token(Token = "0x40068BB")]
private const int Z_OK = 0;
// Token: 0x040068BC RID: 26812
[Token(Token = "0x40068BC")]
private const int Z_STREAM_END = 1;
// Token: 0x040068BD RID: 26813
[Token(Token = "0x40068BD")]
private const int Z_NEED_DICT = 2;
// Token: 0x040068BE RID: 26814
[Token(Token = "0x40068BE")]
private const int Z_ERRNO = -1;
// Token: 0x040068BF RID: 26815
[Token(Token = "0x40068BF")]
private const int Z_STREAM_ERROR = -2;
// Token: 0x040068C0 RID: 26816
[Token(Token = "0x40068C0")]
private const int Z_DATA_ERROR = -3;
// Token: 0x040068C1 RID: 26817
[Token(Token = "0x40068C1")]
private const int Z_MEM_ERROR = -4;
// Token: 0x040068C2 RID: 26818
[Token(Token = "0x40068C2")]
private const int Z_BUF_ERROR = -5;
// Token: 0x040068C3 RID: 26819
[Token(Token = "0x40068C3")]
private const int Z_VERSION_ERROR = -6;
// Token: 0x040068C4 RID: 26820
[Token(Token = "0x40068C4")]
private const int INIT_STATE = 42;
// Token: 0x040068C5 RID: 26821
[Token(Token = "0x40068C5")]
private const int BUSY_STATE = 113;
// Token: 0x040068C6 RID: 26822
[Token(Token = "0x40068C6")]
private const int FINISH_STATE = 666;
// Token: 0x040068C7 RID: 26823
[Token(Token = "0x40068C7")]
private const int Z_DEFLATED = 8;
// Token: 0x040068C8 RID: 26824
[Token(Token = "0x40068C8")]
private const int STORED_BLOCK = 0;
// Token: 0x040068C9 RID: 26825
[Token(Token = "0x40068C9")]
private const int STATIC_TREES = 1;
// Token: 0x040068CA RID: 26826
[Token(Token = "0x40068CA")]
private const int DYN_TREES = 2;
// Token: 0x040068CB RID: 26827
[Token(Token = "0x40068CB")]
private const int Z_BINARY = 0;
// Token: 0x040068CC RID: 26828
[Token(Token = "0x40068CC")]
private const int Z_ASCII = 1;
// Token: 0x040068CD RID: 26829
[Token(Token = "0x40068CD")]
private const int Z_UNKNOWN = 2;
// Token: 0x040068CE RID: 26830
[Token(Token = "0x40068CE")]
private const int Buf_size = 16;
// Token: 0x040068CF RID: 26831
[Token(Token = "0x40068CF")]
private const int REP_3_6 = 16;
// Token: 0x040068D0 RID: 26832
[Token(Token = "0x40068D0")]
private const int REPZ_3_10 = 17;
// Token: 0x040068D1 RID: 26833
[Token(Token = "0x40068D1")]
private const int REPZ_11_138 = 18;
// Token: 0x040068D2 RID: 26834
[Token(Token = "0x40068D2")]
private const int MIN_MATCH = 3;
// Token: 0x040068D3 RID: 26835
[Token(Token = "0x40068D3")]
private const int MAX_MATCH = 258;
// Token: 0x040068D4 RID: 26836
[Token(Token = "0x40068D4")]
private const int MIN_LOOKAHEAD = 262;
// Token: 0x040068D5 RID: 26837
[Token(Token = "0x40068D5")]
private const int MAX_BITS = 15;
// Token: 0x040068D6 RID: 26838
[Token(Token = "0x40068D6")]
private const int D_CODES = 30;
// Token: 0x040068D7 RID: 26839
[Token(Token = "0x40068D7")]
private const int BL_CODES = 19;
// Token: 0x040068D8 RID: 26840
[Token(Token = "0x40068D8")]
private const int LENGTH_CODES = 29;
// Token: 0x040068D9 RID: 26841
[Token(Token = "0x40068D9")]
private const int LITERALS = 256;
// Token: 0x040068DA RID: 26842
[Token(Token = "0x40068DA")]
private const int L_CODES = 286;
// Token: 0x040068DB RID: 26843
[Token(Token = "0x40068DB")]
private const int HEAP_SIZE = 573;
// Token: 0x040068DC RID: 26844
[Token(Token = "0x40068DC")]
private const int END_BLOCK = 256;
// Token: 0x040068DD RID: 26845
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40068DD")]
internal ZStream strm;
// Token: 0x040068DE RID: 26846
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40068DE")]
internal int status;
// Token: 0x040068DF RID: 26847
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40068DF")]
internal byte[] pending_buf;
// Token: 0x040068E0 RID: 26848
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40068E0")]
internal int pending_buf_size;
// Token: 0x040068E1 RID: 26849
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x40068E1")]
internal int pending_out;
// Token: 0x040068E2 RID: 26850
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40068E2")]
internal int pending;
// Token: 0x040068E3 RID: 26851
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x40068E3")]
internal int noheader;
// Token: 0x040068E4 RID: 26852
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40068E4")]
internal byte data_type;
// Token: 0x040068E5 RID: 26853
[FieldOffset(Offset = "0x39")]
[Token(Token = "0x40068E5")]
internal byte method;
// Token: 0x040068E6 RID: 26854
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x40068E6")]
internal int last_flush;
// Token: 0x040068E7 RID: 26855
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40068E7")]
internal int w_size;
// Token: 0x040068E8 RID: 26856
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x40068E8")]
internal int w_bits;
// Token: 0x040068E9 RID: 26857
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40068E9")]
internal int w_mask;
// Token: 0x040068EA RID: 26858
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40068EA")]
internal byte[] window;
// Token: 0x040068EB RID: 26859
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40068EB")]
internal int window_size;
// Token: 0x040068EC RID: 26860
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40068EC")]
internal short[] prev;
// Token: 0x040068ED RID: 26861
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x40068ED")]
internal short[] head;
// Token: 0x040068EE RID: 26862
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x40068EE")]
internal int ins_h;
// Token: 0x040068EF RID: 26863
[FieldOffset(Offset = "0x74")]
[Token(Token = "0x40068EF")]
internal int hash_size;
// Token: 0x040068F0 RID: 26864
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x40068F0")]
internal int hash_bits;
// Token: 0x040068F1 RID: 26865
[FieldOffset(Offset = "0x7C")]
[Token(Token = "0x40068F1")]
internal int hash_mask;
// Token: 0x040068F2 RID: 26866
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x40068F2")]
internal int hash_shift;
// Token: 0x040068F3 RID: 26867
[FieldOffset(Offset = "0x84")]
[Token(Token = "0x40068F3")]
internal int block_start;
// Token: 0x040068F4 RID: 26868
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x40068F4")]
internal int match_length;
// Token: 0x040068F5 RID: 26869
[FieldOffset(Offset = "0x8C")]
[Token(Token = "0x40068F5")]
internal int prev_match;
// Token: 0x040068F6 RID: 26870
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x40068F6")]
internal int match_available;
// Token: 0x040068F7 RID: 26871
[FieldOffset(Offset = "0x94")]
[Token(Token = "0x40068F7")]
internal int strstart;
// Token: 0x040068F8 RID: 26872
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x40068F8")]
internal int match_start;
// Token: 0x040068F9 RID: 26873
[FieldOffset(Offset = "0x9C")]
[Token(Token = "0x40068F9")]
internal int lookahead;
// Token: 0x040068FA RID: 26874
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x40068FA")]
internal int prev_length;
// Token: 0x040068FB RID: 26875
[FieldOffset(Offset = "0xA4")]
[Token(Token = "0x40068FB")]
internal int max_chain_length;
// Token: 0x040068FC RID: 26876
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x40068FC")]
internal int max_lazy_match;
// Token: 0x040068FD RID: 26877
[FieldOffset(Offset = "0xAC")]
[Token(Token = "0x40068FD")]
internal int level;
// Token: 0x040068FE RID: 26878
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x40068FE")]
internal int strategy;
// Token: 0x040068FF RID: 26879
[FieldOffset(Offset = "0xB4")]
[Token(Token = "0x40068FF")]
internal int good_match;
// Token: 0x04006900 RID: 26880
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x4006900")]
internal int nice_match;
// Token: 0x04006901 RID: 26881
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x4006901")]
internal short[] dyn_ltree;
// Token: 0x04006902 RID: 26882
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x4006902")]
internal short[] dyn_dtree;
// Token: 0x04006903 RID: 26883
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x4006903")]
internal short[] bl_tree;
// Token: 0x04006904 RID: 26884
[FieldOffset(Offset = "0xD8")]
[Token(Token = "0x4006904")]
internal ZTree l_desc;
// Token: 0x04006905 RID: 26885
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x4006905")]
internal ZTree d_desc;
// Token: 0x04006906 RID: 26886
[FieldOffset(Offset = "0xE8")]
[Token(Token = "0x4006906")]
internal ZTree bl_desc;
// Token: 0x04006907 RID: 26887
[FieldOffset(Offset = "0xF0")]
[Token(Token = "0x4006907")]
internal short[] bl_count;
// Token: 0x04006908 RID: 26888
[FieldOffset(Offset = "0xF8")]
[Token(Token = "0x4006908")]
internal int[] heap;
// Token: 0x04006909 RID: 26889
[FieldOffset(Offset = "0x100")]
[Token(Token = "0x4006909")]
internal int heap_len;
// Token: 0x0400690A RID: 26890
[FieldOffset(Offset = "0x104")]
[Token(Token = "0x400690A")]
internal int heap_max;
// Token: 0x0400690B RID: 26891
[FieldOffset(Offset = "0x108")]
[Token(Token = "0x400690B")]
internal byte[] depth;
// Token: 0x0400690C RID: 26892
[FieldOffset(Offset = "0x110")]
[Token(Token = "0x400690C")]
internal int l_buf;
// Token: 0x0400690D RID: 26893
[FieldOffset(Offset = "0x114")]
[Token(Token = "0x400690D")]
internal int lit_bufsize;
// Token: 0x0400690E RID: 26894
[FieldOffset(Offset = "0x118")]
[Token(Token = "0x400690E")]
internal int last_lit;
// Token: 0x0400690F RID: 26895
[FieldOffset(Offset = "0x11C")]
[Token(Token = "0x400690F")]
internal int d_buf;
// Token: 0x04006910 RID: 26896
[FieldOffset(Offset = "0x120")]
[Token(Token = "0x4006910")]
internal int opt_len;
// Token: 0x04006911 RID: 26897
[FieldOffset(Offset = "0x124")]
[Token(Token = "0x4006911")]
internal int static_len;
// Token: 0x04006912 RID: 26898
[FieldOffset(Offset = "0x128")]
[Token(Token = "0x4006912")]
internal int matches;
// Token: 0x04006913 RID: 26899
[FieldOffset(Offset = "0x12C")]
[Token(Token = "0x4006913")]
internal int last_eob_len;
// Token: 0x04006914 RID: 26900
[FieldOffset(Offset = "0x130")]
[Token(Token = "0x4006914")]
internal uint bi_buf;
// Token: 0x04006915 RID: 26901
[FieldOffset(Offset = "0x134")]
[Token(Token = "0x4006915")]
internal int bi_valid;
// Token: 0x02001A0B RID: 6667
[Token(Token = "0x2001A0B")]
internal class Config
{
// Token: 0x06009C70 RID: 40048 RVA: 0x00201A98 File Offset: 0x001FFC98
[Token(Token = "0x6009C70")]
[Address(RVA = "0x4E0F80", Offset = "0x4DFF80", VA = "0x1804E0F80")]
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: 0x04006916 RID: 26902
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006916")]
internal int good_length;
// Token: 0x04006917 RID: 26903
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x4006917")]
internal int max_lazy;
// Token: 0x04006918 RID: 26904
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006918")]
internal int nice_length;
// Token: 0x04006919 RID: 26905
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x4006919")]
internal int max_chain;
// Token: 0x0400691A RID: 26906
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400691A")]
internal int func;
}
}
}