scripts
This commit is contained in:
@@ -0,0 +1,2183 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using BestHTTP.Extensions;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.Decompression.Zlib
|
||||
{
|
||||
// Token: 0x020019C5 RID: 6597
|
||||
[Token(Token = "0x20019C5")]
|
||||
[StructLayout(3)]
|
||||
internal sealed class DeflateManager
|
||||
{
|
||||
// Token: 0x0600B14B RID: 45387 RVA: 0x00296954 File Offset: 0x00294B54
|
||||
[Token(Token = "0x600B14B")]
|
||||
[Address(RVA = "0x1F09170", Offset = "0x1F07B70", VA = "0x181F09170")]
|
||||
internal DeflateManager()
|
||||
{
|
||||
ZTree ztree = new ZTree();
|
||||
this.treeLiterals = ztree;
|
||||
ZTree ztree2 = new ZTree();
|
||||
this.treeDistances = ztree2;
|
||||
ZTree ztree3 = new ZTree();
|
||||
this.treeBitLengths = ztree3;
|
||||
int num = InternalConstants.MAX_BITS;
|
||||
num++;
|
||||
short[] array = new short[num];
|
||||
this.bl_count = array;
|
||||
int[] array2 = new int[InternalConstants.L_CODES];
|
||||
this.heap = array2;
|
||||
sbyte[] array3 = new sbyte[InternalConstants.L_CODES];
|
||||
this.depth = array3;
|
||||
this._WantRfc1950HeaderBytes = true;
|
||||
base..ctor();
|
||||
int num2 = DeflateManager.HEAP_SIZE;
|
||||
num2 += num2;
|
||||
short[] array4 = new short[num2];
|
||||
this.dyn_ltree = array4;
|
||||
short[] array5 = new short[InternalConstants.D_CODES];
|
||||
this.dyn_dtree = array5;
|
||||
short[] array6 = new short[InternalConstants.BL_CODES];
|
||||
this.bl_tree = array6;
|
||||
}
|
||||
|
||||
// Token: 0x0600B14C RID: 45388 RVA: 0x00296A20 File Offset: 0x00294C20
|
||||
[Token(Token = "0x600B14C")]
|
||||
[Address(RVA = "0x1F088E0", Offset = "0x1F072E0", VA = "0x181F088E0")]
|
||||
private void _InitializeLazyMatch()
|
||||
{
|
||||
int num = this.w_size;
|
||||
int num2 = this.hash_size;
|
||||
num += num;
|
||||
short[] array = this.head;
|
||||
int num3 = 0;
|
||||
this.window_size = num;
|
||||
Array.Clear(array, num3, num2);
|
||||
int num4 = (int)this.compressionLevel;
|
||||
DeflateManager.Config config;
|
||||
this.config = config;
|
||||
this.SetDeflater();
|
||||
int num5 = 0;
|
||||
this.strstart = num5;
|
||||
this.block_start = num5;
|
||||
this.lookahead = num5;
|
||||
int min_MATCH = DeflateManager.MIN_MATCH;
|
||||
this.match_available = num5;
|
||||
this.prev_length = min_MATCH;
|
||||
this.match_length = min_MATCH;
|
||||
this.ins_h = num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600B14D RID: 45389 RVA: 0x00296AB0 File Offset: 0x00294CB0
|
||||
[Token(Token = "0x600B14D")]
|
||||
[Address(RVA = "0x1F089D0", Offset = "0x1F073D0", VA = "0x181F089D0")]
|
||||
private void _InitializeTreeData()
|
||||
{
|
||||
ZTree ztree = this.treeLiterals;
|
||||
short[] array = this.dyn_ltree;
|
||||
ztree.dyn_tree = array;
|
||||
ZTree ztree2 = this.treeLiterals;
|
||||
StaticTree literals = StaticTree.Literals;
|
||||
ztree2.staticTree = literals;
|
||||
ZTree ztree3 = this.treeDistances;
|
||||
short[] array2 = this.dyn_dtree;
|
||||
ztree3.dyn_tree = array2;
|
||||
ZTree ztree4 = this.treeDistances;
|
||||
StaticTree distances = StaticTree.Distances;
|
||||
ztree4.staticTree = distances;
|
||||
ZTree ztree5 = this.treeBitLengths;
|
||||
short[] array3 = this.bl_tree;
|
||||
ztree5.dyn_tree = array3;
|
||||
ZTree ztree6 = this.treeBitLengths;
|
||||
StaticTree bitLengths = StaticTree.BitLengths;
|
||||
ztree6.staticTree = bitLengths;
|
||||
int num = 0;
|
||||
this.bi_buf = (short)num;
|
||||
this.bi_valid = num;
|
||||
this.last_eob_len = (int)((ulong)8L);
|
||||
this._InitializeBlocks();
|
||||
}
|
||||
|
||||
// Token: 0x0600B14E RID: 45390 RVA: 0x00296B70 File Offset: 0x00294D70
|
||||
[Token(Token = "0x600B14E")]
|
||||
[Address(RVA = "0x1F086C0", Offset = "0x1F070C0", VA = "0x181F086C0")]
|
||||
internal void _InitializeBlocks()
|
||||
{
|
||||
int num = 0;
|
||||
short[] array = this.dyn_ltree;
|
||||
num++;
|
||||
num += 2;
|
||||
array[0] = (short)num;
|
||||
if ("{il2cpp array field local2->}" == (ulong)2L || "{il2cpp array field local2->}" == num)
|
||||
{
|
||||
}
|
||||
short[] array2 = this.dyn_dtree;
|
||||
num++;
|
||||
num += 2;
|
||||
array2[0] = (short)num;
|
||||
short[] array3 = this.bl_tree;
|
||||
num++;
|
||||
num += 2;
|
||||
array3[0] = (short)num;
|
||||
short[] array4 = this.dyn_ltree;
|
||||
int num2 = DeflateManager.END_BLOCK;
|
||||
num2 += num2;
|
||||
uint num3;
|
||||
array4[0] = (short)num3;
|
||||
this.opt_len = num;
|
||||
this.matches = num;
|
||||
this.last_lit = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600B14F RID: 45391 RVA: 0x00296C14 File Offset: 0x00294E14
|
||||
[Token(Token = "0x600B14F")]
|
||||
[Address(RVA = "0x1F0AC90", Offset = "0x1F09690", VA = "0x181F0AC90")]
|
||||
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;
|
||||
sbyte[] array2 = this.depth;
|
||||
if (DeflateManager._IsSmaller(tree, num3, k, array2))
|
||||
{
|
||||
}
|
||||
int[] array3 = this.heap;
|
||||
sbyte[] array4 = this.depth;
|
||||
if (!DeflateManager._IsSmaller(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: 0x0600B150 RID: 45392 RVA: 0x00296CB8 File Offset: 0x00294EB8
|
||||
[Token(Token = "0x600B150")]
|
||||
[Address(RVA = "0x1F08B10", Offset = "0x1F07510", VA = "0x181F08B10")]
|
||||
internal static bool _IsSmaller(short[] tree, int n, int m, sbyte[] depth)
|
||||
{
|
||||
int length = tree.Length;
|
||||
short num;
|
||||
short num2;
|
||||
if (num < num2)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (num != num2)
|
||||
{
|
||||
}
|
||||
int length2 = depth.Length;
|
||||
bool flag;
|
||||
return flag;
|
||||
}
|
||||
|
||||
// Token: 0x0600B151 RID: 45393 RVA: 0x00296CE8 File Offset: 0x00294EE8
|
||||
[Token(Token = "0x600B151")]
|
||||
[Address(RVA = "0x1F0AEF0", Offset = "0x1F098F0", VA = "0x181F0AEF0")]
|
||||
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)
|
||||
{
|
||||
}
|
||||
short[] array = this.bl_tree;
|
||||
if (1UL > (ulong)10L)
|
||||
{
|
||||
int num4 = InternalConstants.REPZ_11_138;
|
||||
num4 += num4;
|
||||
}
|
||||
int num5 = InternalConstants.REPZ_3_10;
|
||||
num5 += num5;
|
||||
short[] array2 = this.bl_tree;
|
||||
short[] array3 = this.bl_tree;
|
||||
int num6 = InternalConstants.REP_3_6;
|
||||
num6 += num6;
|
||||
short[] array4 = this.bl_tree;
|
||||
i++;
|
||||
num2 += 2;
|
||||
while (i <= max_code)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B152 RID: 45394 RVA: 0x00296D7C File Offset: 0x00294F7C
|
||||
[Token(Token = "0x600B152")]
|
||||
[Address(RVA = "0x1F0A340", Offset = "0x1F08D40", VA = "0x181F0A340")]
|
||||
internal int build_bl_tree()
|
||||
{
|
||||
int max_code = this.treeLiterals.max_code;
|
||||
short[] array = this.dyn_ltree;
|
||||
this.scan_tree(array, max_code);
|
||||
int max_code2 = this.treeDistances.max_code;
|
||||
short[] array2 = this.dyn_dtree;
|
||||
this.scan_tree(array2, max_code2);
|
||||
this.treeBitLengths.build_tree(this);
|
||||
int i = InternalConstants.BL_CODES;
|
||||
short[] array3 = this.bl_tree;
|
||||
sbyte[] array4 = ZTree.bl_order;
|
||||
i++;
|
||||
if ("{il2cpp array field local12->}" == (ulong)0L)
|
||||
{
|
||||
while (i >= 3)
|
||||
{
|
||||
}
|
||||
}
|
||||
array4 += i;
|
||||
return i;
|
||||
}
|
||||
|
||||
// Token: 0x0600B153 RID: 45395 RVA: 0x00296E08 File Offset: 0x00295008
|
||||
[Token(Token = "0x600B153")]
|
||||
[Address(RVA = "0x1F0B230", Offset = "0x1F09C30", VA = "0x181F0B230")]
|
||||
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;
|
||||
sbyte[] bl_order = ZTree.bl_order;
|
||||
num++;
|
||||
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: 0x0600B154 RID: 45396 RVA: 0x00296E78 File Offset: 0x00295078
|
||||
[Token(Token = "0x600B154")]
|
||||
[Address(RVA = "0x1F0BAF0", Offset = "0x1F0A4F0", VA = "0x181F0BAF0")]
|
||||
internal void send_tree(short[] tree, int max_code)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
num2 += 3;
|
||||
uint num3;
|
||||
if (1U < num3)
|
||||
{
|
||||
}
|
||||
if (1UL > (ulong)10L)
|
||||
{
|
||||
short[] array = this.bl_tree;
|
||||
int repz_11_ = InternalConstants.REPZ_11_138;
|
||||
this.send_code(repz_11_, array);
|
||||
uint num4;
|
||||
this.send_bits(repz_11_, (int)num4);
|
||||
}
|
||||
short[] array2 = this.bl_tree;
|
||||
int repz_3_ = InternalConstants.REPZ_3_10;
|
||||
this.send_code(repz_3_, array2);
|
||||
this.send_bits(repz_3_, 3);
|
||||
short[] array3 = this.bl_tree;
|
||||
this.send_code((int)num3, array3);
|
||||
short[] array4 = this.bl_tree;
|
||||
int rep_3_ = InternalConstants.REP_3_6;
|
||||
this.send_code(rep_3_, array4);
|
||||
this.send_bits(rep_3_, 2);
|
||||
short[] array5 = this.bl_tree;
|
||||
this.send_code(rep_3_, array5);
|
||||
num++;
|
||||
num2 += 2;
|
||||
}
|
||||
|
||||
// Token: 0x0600B155 RID: 45397 RVA: 0x00296F38 File Offset: 0x00295138
|
||||
[Token(Token = "0x600B155")]
|
||||
[Address(RVA = "0xE29F30", Offset = "0xE28930", VA = "0x180E29F30")]
|
||||
private void put_bytes(byte[] p, int start, int len)
|
||||
{
|
||||
byte[] array = this.pending;
|
||||
int num = this.pendingCount;
|
||||
Array.Copy(p, start, array, num, len);
|
||||
}
|
||||
|
||||
// Token: 0x0600B156 RID: 45398 RVA: 0x00296F60 File Offset: 0x00295160
|
||||
[Token(Token = "0x600B156")]
|
||||
[Address(RVA = "0x1F0B550", Offset = "0x1F09F50", VA = "0x181F0B550")]
|
||||
internal void send_code(int c, short[] tree)
|
||||
{
|
||||
int length = tree.Length;
|
||||
short num;
|
||||
short num2;
|
||||
this.send_bits((int)num, (int)num2);
|
||||
}
|
||||
|
||||
// Token: 0x0600B157 RID: 45399 RVA: 0x00296F84 File Offset: 0x00295184
|
||||
[Token(Token = "0x600B157")]
|
||||
[Address(RVA = "0x1F0B3B0", Offset = "0x1F09DB0", VA = "0x181F0B3B0")]
|
||||
internal void send_bits(int value, int length)
|
||||
{
|
||||
int num = this.bi_valid;
|
||||
int num2 = this.bi_valid;
|
||||
int num3 = DeflateManager.Buf_size;
|
||||
num3 -= length;
|
||||
this.bi_buf = (short)value;
|
||||
this.bi_valid = value;
|
||||
}
|
||||
|
||||
// Token: 0x0600B158 RID: 45400 RVA: 0x00296FCC File Offset: 0x002951CC
|
||||
[Token(Token = "0x600B158")]
|
||||
[Address(RVA = "0x1F09670", Offset = "0x1F08070", VA = "0x181F09670")]
|
||||
internal void _tr_align()
|
||||
{
|
||||
int num = DeflateManager.STATIC_TREES;
|
||||
num += num;
|
||||
this.send_bits(num, 3);
|
||||
int length = StaticTree.lengthAndLiteralsTreeCodes.Length;
|
||||
short num2;
|
||||
short num3;
|
||||
this.send_bits((int)num2, (int)num3);
|
||||
this.bi_flush();
|
||||
int num4 = this.last_eob_len;
|
||||
num4 += 11;
|
||||
if (num4 < 9)
|
||||
{
|
||||
int num5 = DeflateManager.STATIC_TREES;
|
||||
num5 += num5;
|
||||
this.send_bits(num5, 3);
|
||||
int length2 = StaticTree.lengthAndLiteralsTreeCodes.Length;
|
||||
short num6;
|
||||
short num7;
|
||||
this.send_bits((int)num6, (int)num7);
|
||||
this.bi_flush();
|
||||
}
|
||||
this.last_eob_len = (int)((ulong)7L);
|
||||
}
|
||||
|
||||
// Token: 0x0600B159 RID: 45401 RVA: 0x0029705C File Offset: 0x0029525C
|
||||
[Token(Token = "0x600B159")]
|
||||
[Address(RVA = "0x1F09F70", Offset = "0x1F08970", VA = "0x181F09F70")]
|
||||
internal bool _tr_tally(int dist, int lc)
|
||||
{
|
||||
byte[] array = this.pending;
|
||||
int num = this.last_lit;
|
||||
int distanceOffset = this._distanceOffset;
|
||||
byte[] array2 = this.pending;
|
||||
int num2 = this._distanceOffset;
|
||||
num2++;
|
||||
byte[] array3 = this.pending;
|
||||
num2 = this._lengthOffset;
|
||||
short[] array4 = this.dyn_ltree;
|
||||
if (dist != 0)
|
||||
{
|
||||
sbyte[] lengthCode = ZTree.LengthCode;
|
||||
int num3 = InternalConstants.LITERALS;
|
||||
num3 += typeof(InternalConstants).TypeHandle;
|
||||
int num4 = dist - 1;
|
||||
short[] array5 = this.dyn_dtree;
|
||||
int num5 = ZTree.DistanceCode(num4);
|
||||
num5 += num5;
|
||||
}
|
||||
int num9;
|
||||
if (this.last_lit == 8191 && this.compressionLevel > CompressionLevel.Level2)
|
||||
{
|
||||
int num6 = 0;
|
||||
short[] array6 = this.dyn_dtree;
|
||||
int[] extraDistanceBits = ZTree.ExtraDistanceBits;
|
||||
num6++;
|
||||
int num7 = extraDistanceBits[num6];
|
||||
num7 += 5;
|
||||
int num8 = num7 * num6;
|
||||
num6 += 2;
|
||||
num9 = this.last_lit;
|
||||
num9 -= typeof(InternalConstants).TypeHandle;
|
||||
if (this.matches < num9)
|
||||
{
|
||||
num9 -= typeof(InternalConstants).TypeHandle;
|
||||
if (lc < num9)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
int num10 = this.lit_bufsize - 1;
|
||||
while (num9 == num10)
|
||||
{
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B15A RID: 45402 RVA: 0x00297178 File Offset: 0x00295378
|
||||
[Token(Token = "0x600B15A")]
|
||||
[Address(RVA = "0x1F0B5C0", Offset = "0x1F09FC0", VA = "0x181F0B5C0")]
|
||||
internal void send_compressed_block(short[] ltree, short[] dtree)
|
||||
{
|
||||
int num = 0;
|
||||
if (this.last_lit != num)
|
||||
{
|
||||
int num2 = this._distanceOffset;
|
||||
byte[] array = this.pending;
|
||||
num2 += num;
|
||||
int length = array.Length;
|
||||
int num3 = num2 + 1;
|
||||
int num4 = this._lengthOffset;
|
||||
num4 += num;
|
||||
num += 2;
|
||||
num++;
|
||||
sbyte[] lengthCode = ZTree.LengthCode;
|
||||
int num5 = InternalConstants.LITERALS;
|
||||
num5 += num5;
|
||||
int length2 = ltree.Length;
|
||||
num5 += 3;
|
||||
short num6 = ltree[num5];
|
||||
short num7 = ltree[array];
|
||||
this.send_bits((int)num7, (int)num6);
|
||||
int[] extraLengthBits = ZTree.ExtraLengthBits;
|
||||
int num8;
|
||||
if (num8 != 0)
|
||||
{
|
||||
int[] lengthBase = ZTree.LengthBase;
|
||||
byte b;
|
||||
this.send_bits((int)b, num8);
|
||||
}
|
||||
byte b2;
|
||||
int num9 = ZTree.DistanceCode((int)b2);
|
||||
this.send_bits(1, (int)num6);
|
||||
if (ZTree.ExtraDistanceBits[num9] != 0)
|
||||
{
|
||||
int[] distanceBase = ZTree.DistanceBase;
|
||||
int length3 = ltree.Length;
|
||||
num4++;
|
||||
short num10 = ltree[num4];
|
||||
short num11 = ltree[num4];
|
||||
this.send_bits((int)num11, (int)num10);
|
||||
}
|
||||
if (num < this.last_lit)
|
||||
{
|
||||
}
|
||||
}
|
||||
int num12 = DeflateManager.END_BLOCK;
|
||||
num12 += num12;
|
||||
int length4 = ltree.Length;
|
||||
short num13 = ltree[num12];
|
||||
num12++;
|
||||
short num14 = ltree[num12];
|
||||
this.send_bits((int)num13, (int)num14);
|
||||
int num15 = DeflateManager.END_BLOCK;
|
||||
num15 += num15;
|
||||
num15++;
|
||||
this.last_eob_len = num15;
|
||||
}
|
||||
|
||||
// Token: 0x0600B15B RID: 45403 RVA: 0x002972E0 File Offset: 0x002954E0
|
||||
[Token(Token = "0x600B15B")]
|
||||
[Address(RVA = "0x1F0BDB0", Offset = "0x1F0A7B0", VA = "0x181F0BDB0")]
|
||||
internal void set_data_type()
|
||||
{
|
||||
short[] array = this.dyn_ltree;
|
||||
int num = 0;
|
||||
int length = array.Length;
|
||||
num++;
|
||||
num += 2;
|
||||
if (num < 128)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
short[] array2 = this.dyn_ltree;
|
||||
num++;
|
||||
num += array2;
|
||||
if (num > num)
|
||||
{
|
||||
}
|
||||
int z_ASCII = DeflateManager.Z_ASCII;
|
||||
this.data_type = (sbyte)z_ASCII;
|
||||
}
|
||||
|
||||
// Token: 0x0600B15C RID: 45404 RVA: 0x0029733C File Offset: 0x0029553C
|
||||
[Token(Token = "0x600B15C")]
|
||||
[Address(RVA = "0xE29000", Offset = "0xE27A00", VA = "0x180E29000")]
|
||||
internal void bi_flush()
|
||||
{
|
||||
if (this.bi_valid != 16)
|
||||
{
|
||||
int num = this.pendingCount;
|
||||
byte[] array = this.pending;
|
||||
short num2 = this.bi_buf;
|
||||
int num3 = num + 1;
|
||||
this.pendingCount = num3;
|
||||
this.bi_buf = (short)num3;
|
||||
return;
|
||||
}
|
||||
int num4 = this.pendingCount;
|
||||
byte[] array2 = this.pending;
|
||||
short num5 = this.bi_buf;
|
||||
int num6 = num4 + 1;
|
||||
this.pendingCount = num6;
|
||||
int num7 = this.pendingCount;
|
||||
byte[] array3 = this.pending;
|
||||
short num8 = this.bi_buf;
|
||||
int num9 = num7 + 1;
|
||||
this.pendingCount = num9;
|
||||
int num10 = 0;
|
||||
this.bi_buf = (short)num10;
|
||||
this.bi_valid = num10;
|
||||
}
|
||||
|
||||
// Token: 0x0600B15D RID: 45405 RVA: 0x002973E0 File Offset: 0x002955E0
|
||||
[Token(Token = "0x600B15D")]
|
||||
[Address(RVA = "0xE29100", Offset = "0xE27B00", VA = "0x180E29100")]
|
||||
internal void bi_windup()
|
||||
{
|
||||
if (this.bi_valid > 0)
|
||||
{
|
||||
int num = this.pendingCount;
|
||||
byte[] array = this.pending;
|
||||
short num2 = this.bi_buf;
|
||||
int num3 = num + 1;
|
||||
this.pendingCount = num3;
|
||||
int num4 = 0;
|
||||
this.bi_buf = (short)num4;
|
||||
this.bi_valid = num4;
|
||||
return;
|
||||
}
|
||||
int num5 = 0;
|
||||
this.bi_buf = (short)num5;
|
||||
this.bi_valid = num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600B15E RID: 45406 RVA: 0x00297494 File Offset: 0x00295694
|
||||
[Token(Token = "0x600B15E")]
|
||||
[Address(RVA = "0xE29390", Offset = "0xE27D90", VA = "0x180E29390")]
|
||||
internal void copy_block(int buf, int len, bool header)
|
||||
{
|
||||
this.bi_windup();
|
||||
this.last_eob_len = (int)((ulong)8L);
|
||||
if (header)
|
||||
{
|
||||
int num = this.pendingCount;
|
||||
byte[] array = this.pending;
|
||||
int num2 = num + 1;
|
||||
this.pendingCount = num2;
|
||||
int num3 = this.pendingCount;
|
||||
byte[] array2 = this.pending;
|
||||
int num4 = num3 + 1;
|
||||
this.pendingCount = num4;
|
||||
int num5 = this.pendingCount;
|
||||
byte[] array3 = this.pending;
|
||||
int num6 = num5 + 1;
|
||||
this.pendingCount = num6;
|
||||
int num7 = this.pendingCount;
|
||||
byte[] array4 = this.pending;
|
||||
int num8 = num7 + 1;
|
||||
this.pendingCount = num8;
|
||||
}
|
||||
int num9 = this.pendingCount;
|
||||
byte[] array5 = this.pending;
|
||||
Array.Copy(this.window, buf, array5, num9, len);
|
||||
}
|
||||
|
||||
// Token: 0x0600B15F RID: 45407 RVA: 0x0029754C File Offset: 0x0029574C
|
||||
[Token(Token = "0x600B15F")]
|
||||
[Address(RVA = "0x1F0A4D0", Offset = "0x1F08ED0", VA = "0x181F0A4D0")]
|
||||
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);
|
||||
ZlibCodec codec = this._codec;
|
||||
int num3 = this.strstart;
|
||||
this.block_start = num3;
|
||||
codec.flush_pending();
|
||||
}
|
||||
|
||||
// Token: 0x0600B160 RID: 45408 RVA: 0x00297598 File Offset: 0x00295798
|
||||
[Token(Token = "0x600B160")]
|
||||
[Address(RVA = "0x1F064A0", Offset = "0x1F04EA0", VA = "0x181F064A0")]
|
||||
internal BlockState DeflateNone(FlushType flush)
|
||||
{
|
||||
int num3;
|
||||
do
|
||||
{
|
||||
int num = this.pending.Length;
|
||||
num += -5;
|
||||
uint num2;
|
||||
if (num < (int)num2)
|
||||
{
|
||||
}
|
||||
num3 = 0;
|
||||
int num4 = this.lookahead;
|
||||
this._fillWindow();
|
||||
int num5 = this.lookahead;
|
||||
if (num5 == 0)
|
||||
{
|
||||
if (flush == FlushType.None)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (num5 == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
int num6 = this.block_start;
|
||||
int num7 = this.strstart;
|
||||
this.lookahead = num3;
|
||||
if (num5 != 0)
|
||||
{
|
||||
}
|
||||
num7 -= this;
|
||||
this.strstart = this;
|
||||
this.lookahead = num7;
|
||||
int num8 = 0;
|
||||
this._tr_flush_block(num6, (int)num2, num8 != 0);
|
||||
ZlibCodec codec = this._codec;
|
||||
int num9 = this.strstart;
|
||||
this.block_start = num9;
|
||||
codec.flush_pending();
|
||||
if (this._codec.AvailableBytesOut == num3)
|
||||
{
|
||||
break;
|
||||
}
|
||||
int num10 = this.strstart;
|
||||
int num11 = this.block_start;
|
||||
int num12 = this.w_size;
|
||||
num10 -= num11;
|
||||
int num13 = this.block_start;
|
||||
int num14 = this.strstart;
|
||||
int num15 = 0;
|
||||
num14 -= num13;
|
||||
this._tr_flush_block(num13, num14, num15 != 0);
|
||||
ZlibCodec codec2 = this._codec;
|
||||
int num16 = this.strstart;
|
||||
this.block_start = num16;
|
||||
codec2.flush_pending();
|
||||
}
|
||||
while (this._codec.AvailableBytesOut != num3);
|
||||
bool flag = flush == FlushType.Finish;
|
||||
this.flush_block_only(flag);
|
||||
ZlibCodec codec3 = this._codec;
|
||||
while (flush != FlushType.Finish)
|
||||
{
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B161 RID: 45409 RVA: 0x002976EC File Offset: 0x002958EC
|
||||
[Token(Token = "0x600B161")]
|
||||
[Address(RVA = "0x1F09DB0", Offset = "0x1F087B0", VA = "0x181F09DB0")]
|
||||
internal void _tr_stored_block(int buf, int stored_len, bool eof)
|
||||
{
|
||||
this.send_bits(buf, 3);
|
||||
this.bi_windup();
|
||||
int num = this.pendingCount;
|
||||
byte[] array = this.pending;
|
||||
this.last_eob_len = (int)((ulong)8L);
|
||||
int num2 = num + 1;
|
||||
this.pendingCount = num2;
|
||||
int num3 = this.pendingCount;
|
||||
byte[] array2 = this.pending;
|
||||
int num4 = num3 + 1;
|
||||
this.pendingCount = num4;
|
||||
int num5 = this.pendingCount;
|
||||
byte[] array3 = this.pending;
|
||||
int num6 = num5 + 1;
|
||||
this.pendingCount = num6;
|
||||
int num7 = this.pendingCount;
|
||||
byte[] array4 = this.pending;
|
||||
int num8 = num7 + 1;
|
||||
this.pendingCount = num8;
|
||||
int num9 = this.pendingCount;
|
||||
byte[] array5 = this.pending;
|
||||
Array.Copy(this.window, buf, array5, num9, stored_len);
|
||||
}
|
||||
|
||||
// Token: 0x0600B162 RID: 45410 RVA: 0x002977A8 File Offset: 0x002959A8
|
||||
[Token(Token = "0x600B162")]
|
||||
[Address(RVA = "0x1F098A0", Offset = "0x1F082A0", VA = "0x181F098A0")]
|
||||
internal void _tr_flush_block(int buf, int stored_len, bool eof)
|
||||
{
|
||||
int num = 0;
|
||||
this.set_data_type();
|
||||
this.treeLiterals.build_tree(this);
|
||||
this.treeDistances.build_tree(this);
|
||||
int max_code = this.treeLiterals.max_code;
|
||||
short[] array = this.dyn_ltree;
|
||||
this.scan_tree(array, max_code);
|
||||
int max_code2 = this.treeDistances.max_code;
|
||||
short[] array2 = this.dyn_dtree;
|
||||
this.scan_tree(array2, max_code2);
|
||||
this.treeBitLengths.build_tree(this);
|
||||
int i = InternalConstants.BL_CODES;
|
||||
short[] array3 = this.bl_tree;
|
||||
sbyte[] bl_order = ZTree.bl_order;
|
||||
i++;
|
||||
if ("{il2cpp array field local22->}" == num)
|
||||
{
|
||||
while (i >= 3)
|
||||
{
|
||||
}
|
||||
}
|
||||
int num2 = this.static_len;
|
||||
i += i;
|
||||
num2 += 10;
|
||||
int num3 = this.opt_len;
|
||||
num3 += 10;
|
||||
if (num2 <= num3)
|
||||
{
|
||||
num3 = num2;
|
||||
}
|
||||
if (buf != -1)
|
||||
{
|
||||
num3 = buf;
|
||||
this._tr_stored_block(num3, stored_len, eof);
|
||||
}
|
||||
if (this != num3)
|
||||
{
|
||||
this.send_bits(num3, 3);
|
||||
ZTree ztree = this.treeLiterals;
|
||||
ZTree ztree2 = this.treeDistances;
|
||||
int num4 = i + 1;
|
||||
int max_code3 = ztree.max_code;
|
||||
this.send_bits(num3, 5);
|
||||
this.send_bits(num3, 5);
|
||||
this.send_bits(num3, 4);
|
||||
if (num4 > 0)
|
||||
{
|
||||
short[] array4 = this.bl_tree;
|
||||
sbyte[] bl_order2 = ZTree.bl_order;
|
||||
num++;
|
||||
this.send_bits(num3, 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[] distTreeCodes = StaticTree.distTreeCodes;
|
||||
short[] lengthAndLiteralsTreeCodes = StaticTree.lengthAndLiteralsTreeCodes;
|
||||
this.send_compressed_block(lengthAndLiteralsTreeCodes, distTreeCodes);
|
||||
this._InitializeBlocks();
|
||||
if (eof)
|
||||
{
|
||||
this.bi_windup();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B163 RID: 45411 RVA: 0x00297948 File Offset: 0x00295B48
|
||||
[Token(Token = "0x600B163")]
|
||||
[Address(RVA = "0x1F09350", Offset = "0x1F07D50", VA = "0x181F09350")]
|
||||
private void _fillWindow()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
int num2 = this.window_size;
|
||||
int num3 = this.strstart;
|
||||
num2 -= num3;
|
||||
int num4 = this.lookahead;
|
||||
num2 -= num4;
|
||||
if (num3 != 0 || num4 != 0 || this.w_size != -1)
|
||||
{
|
||||
int num5 = this.w_size;
|
||||
num5 += num5;
|
||||
byte[] array = this.window;
|
||||
int num6 = 0;
|
||||
int num7 = this.w_size;
|
||||
Array.Copy(array, num7, array, num6, num7);
|
||||
int num8 = this.hash_size;
|
||||
num7 = num8;
|
||||
short[] array2 = this.head;
|
||||
short num9 = array2[num7];
|
||||
int num10 = this.w_size;
|
||||
num9 = (short)((int)num9 - num10);
|
||||
array2[0] = (short)num;
|
||||
int num11 = num8 - 1;
|
||||
while (num11 != 0)
|
||||
{
|
||||
}
|
||||
int num12 = this.w_size;
|
||||
num7 = num12;
|
||||
short[] array3 = this.prev;
|
||||
short num13 = array3[num7];
|
||||
int num14 = this.w_size;
|
||||
num13 = (short)((int)num13 - num14);
|
||||
array3[0] = (short)num;
|
||||
int num15 = num12 - 1;
|
||||
while (num15 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
ZlibCodec codec = this._codec;
|
||||
if (codec.AvailableBytesIn == num)
|
||||
{
|
||||
break;
|
||||
}
|
||||
int num16 = this.lookahead;
|
||||
byte[] array4 = this.window;
|
||||
uint num18;
|
||||
int num17 = codec.read_buf(array4, num16, (int)num18);
|
||||
int num19 = this.lookahead;
|
||||
byte[] array5 = this.window;
|
||||
int num20 = this.strstart;
|
||||
byte b;
|
||||
this.ins_h = (int)b;
|
||||
int num21 = num20 + 1;
|
||||
this.ins_h = (int)b;
|
||||
int num22 = this.lookahead;
|
||||
}
|
||||
while (this._codec.AvailableBytesIn != num);
|
||||
}
|
||||
|
||||
// Token: 0x0600B164 RID: 45412 RVA: 0x00297AC4 File Offset: 0x00295CC4
|
||||
[Token(Token = "0x600B164")]
|
||||
[Address(RVA = "0x1F05DD0", Offset = "0x1F047D0", VA = "0x181F05DD0")]
|
||||
internal BlockState DeflateFast(FlushType flush)
|
||||
{
|
||||
do
|
||||
{
|
||||
int num = this.lookahead;
|
||||
this._fillWindow();
|
||||
int num2 = this.lookahead;
|
||||
if (flush == FlushType.None)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (this.lookahead == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
int num3 = this.lookahead;
|
||||
int num4 = this.ins_h;
|
||||
byte[] array = this.window;
|
||||
int num5 = this.strstart;
|
||||
int num6 = DeflateManager.MIN_MATCH;
|
||||
num6 += num5;
|
||||
short[] array2 = this.head;
|
||||
this.ins_h = num4;
|
||||
short num7 = array2[num4];
|
||||
short[] array3 = this.prev;
|
||||
int num8 = this.w_mask;
|
||||
array3[0] = num7;
|
||||
short[] array4 = this.head;
|
||||
num8 = this.ins_h;
|
||||
int num9 = this.strstart;
|
||||
array4[0] = (short)num9;
|
||||
int num10 = this.strstart;
|
||||
int num11 = this.w_size;
|
||||
num10 -= (int)num7;
|
||||
if (this.compressionStrategy != CompressionStrategy.HuffmanOnly)
|
||||
{
|
||||
int num12 = this.longest_match((int)num7);
|
||||
this.match_length = num12;
|
||||
}
|
||||
int num13 = this.match_length;
|
||||
byte[] array5 = this.window;
|
||||
int num14 = this.strstart;
|
||||
int num15 = 0;
|
||||
byte b;
|
||||
bool flag = this._tr_tally(num15, (int)b);
|
||||
int num16 = this.strstart;
|
||||
int num17 = this.strstart;
|
||||
int num18 = this.match_start;
|
||||
if (this.treeBitLengths == (ulong)0L)
|
||||
{
|
||||
}
|
||||
num17 -= num18;
|
||||
bool flag2 = this._tr_tally(num17, num16);
|
||||
int num19 = this.lookahead;
|
||||
flag = flag2;
|
||||
int num20 = this.match_length;
|
||||
num19 -= num20;
|
||||
DeflateManager.Config config = this.config;
|
||||
this.lookahead = num19;
|
||||
int num21 = this.strstart;
|
||||
int num22 = this.ins_h;
|
||||
byte[] array6 = this.window;
|
||||
int num23 = DeflateManager.MIN_MATCH;
|
||||
num23 += num21;
|
||||
short[] array7 = this.head;
|
||||
this.ins_h = num22;
|
||||
short num24 = array7[num22];
|
||||
short[] array8 = this.prev;
|
||||
int num25 = this.w_mask;
|
||||
array8[0] = num24;
|
||||
short[] array9 = this.head;
|
||||
int num26 = this.ins_h;
|
||||
int num27 = this.strstart;
|
||||
array9[0] = (short)num27;
|
||||
while (num26 != array9.Length)
|
||||
{
|
||||
}
|
||||
int num28 = this.strstart;
|
||||
int num29 = 0;
|
||||
byte[] array10 = this.window;
|
||||
this.strstart = num28;
|
||||
this.match_length = num29;
|
||||
byte b2;
|
||||
this.ins_h = (int)b2;
|
||||
num28++;
|
||||
this.ins_h = (int)b2;
|
||||
while (!flag)
|
||||
{
|
||||
}
|
||||
int num30 = this.block_start;
|
||||
num28 -= num30;
|
||||
int num31 = 0;
|
||||
this._tr_flush_block(num30, num28, num31 != 0);
|
||||
ZlibCodec codec = this._codec;
|
||||
int num32 = this.strstart;
|
||||
this.block_start = num32;
|
||||
codec.flush_pending();
|
||||
}
|
||||
while (this._codec.AvailableBytesOut != 0);
|
||||
int num33 = this.block_start;
|
||||
int num34 = this.strstart;
|
||||
bool flag3 = flush == FlushType.Finish;
|
||||
num34 -= num33;
|
||||
this._tr_flush_block(num33, num34, flag3);
|
||||
ZlibCodec codec2 = this._codec;
|
||||
int num35 = this.strstart;
|
||||
this.block_start = num35;
|
||||
codec2.flush_pending();
|
||||
if (this._codec.AvailableBytesOut != 0)
|
||||
{
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B165 RID: 45413 RVA: 0x00297DB4 File Offset: 0x00295FB4
|
||||
[Token(Token = "0x600B165")]
|
||||
[Address(RVA = "0x1F066E0", Offset = "0x1F050E0", VA = "0x181F066E0")]
|
||||
internal BlockState DeflateSlow(FlushType flush)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = this.lookahead;
|
||||
this._fillWindow();
|
||||
int num3 = this.lookahead;
|
||||
if (flush != FlushType.None)
|
||||
{
|
||||
if (this.lookahead != 0)
|
||||
{
|
||||
int num4 = this.lookahead;
|
||||
int num5 = this.ins_h;
|
||||
byte[] array = this.window;
|
||||
int num6 = this.strstart;
|
||||
int num7 = DeflateManager.MIN_MATCH;
|
||||
num7 += num6;
|
||||
short[] array2 = this.head;
|
||||
this.ins_h = num5;
|
||||
short num8 = array2[num5];
|
||||
short[] array3 = this.prev;
|
||||
int num9 = this.w_mask;
|
||||
array3[0] = num8;
|
||||
short[] array4 = this.head;
|
||||
num9 = this.ins_h;
|
||||
int num10 = this.strstart;
|
||||
array4[0] = (short)num10;
|
||||
int num11 = this.match_length;
|
||||
this.prev_length = num11;
|
||||
int num12 = this.match_start;
|
||||
this.prev_match = num12;
|
||||
int min_MATCH = DeflateManager.MIN_MATCH;
|
||||
this.match_length = min_MATCH;
|
||||
int maxLazy = this.config.MaxLazy;
|
||||
if (this.prev_length < maxLazy)
|
||||
{
|
||||
int num13 = this.strstart;
|
||||
int num14 = this.w_size;
|
||||
num13 -= (int)num8;
|
||||
if (this.compressionStrategy != CompressionStrategy.HuffmanOnly)
|
||||
{
|
||||
int num15 = this.longest_match((int)num8);
|
||||
this.match_length = num15;
|
||||
}
|
||||
int num16 = this.match_length;
|
||||
if (this.compressionStrategy == CompressionStrategy.Filtered || this.strstart > 4096)
|
||||
{
|
||||
int min_MATCH2 = DeflateManager.MIN_MATCH;
|
||||
this.match_length = min_MATCH2;
|
||||
}
|
||||
}
|
||||
int num17 = this.prev_length;
|
||||
int num18 = this.prev_length;
|
||||
int num19 = this.strstart;
|
||||
int num20 = this.lookahead;
|
||||
int num21 = this.strstart;
|
||||
int num22 = this.prev_length;
|
||||
num20 += num19;
|
||||
bool flag = this._tr_tally(num21, num22);
|
||||
int num23 = this.prev_length;
|
||||
this.prev_length = 1;
|
||||
int num24 = this.strstart;
|
||||
num24++;
|
||||
this.strstart = num24;
|
||||
int num25 = this.ins_h;
|
||||
byte[] array5 = this.window;
|
||||
int num26 = DeflateManager.MIN_MATCH;
|
||||
num26 += num24;
|
||||
short[] array6 = this.head;
|
||||
this.ins_h = num25;
|
||||
short num27 = array6[num25];
|
||||
short[] array7 = this.prev;
|
||||
int num28 = this.w_mask;
|
||||
array7[0] = num27;
|
||||
short[] array8 = this.head;
|
||||
int num29 = this.ins_h;
|
||||
int num30 = this.strstart;
|
||||
array8[0] = (short)num30;
|
||||
while (num29 != array8.Length)
|
||||
{
|
||||
}
|
||||
int num31 = 0;
|
||||
this.match_available = num31;
|
||||
int num32 = this.strstart;
|
||||
num32++;
|
||||
int min_MATCH3 = DeflateManager.MIN_MATCH;
|
||||
this.strstart = num32;
|
||||
this.match_length = min_MATCH3;
|
||||
while (!flag)
|
||||
{
|
||||
}
|
||||
int num33 = this.block_start;
|
||||
num32 -= num33;
|
||||
int num34 = 0;
|
||||
this._tr_flush_block(num33, num32, num34 != 0);
|
||||
ZlibCodec codec = this._codec;
|
||||
int num35 = this.strstart;
|
||||
this.block_start = num35;
|
||||
codec.flush_pending();
|
||||
if (this._codec.AvailableBytesOut == num31)
|
||||
{
|
||||
goto IL_393;
|
||||
}
|
||||
if (this.match_available == 0)
|
||||
{
|
||||
this.match_available = 1;
|
||||
}
|
||||
byte[] array9 = this.window;
|
||||
int num36 = this.strstart;
|
||||
int num37 = 0;
|
||||
byte b;
|
||||
if (this._tr_tally(num37, (int)b))
|
||||
{
|
||||
int num38 = this.block_start;
|
||||
int num39 = this.strstart;
|
||||
int num40 = 0;
|
||||
num39 -= num38;
|
||||
this._tr_flush_block(num38, num39, num40 != 0);
|
||||
ZlibCodec codec2 = this._codec;
|
||||
int num41 = this.strstart;
|
||||
this.block_start = num41;
|
||||
codec2.flush_pending();
|
||||
}
|
||||
if (this._codec.AvailableBytesOut == 0)
|
||||
{
|
||||
goto IL_393;
|
||||
}
|
||||
}
|
||||
if (this.match_available != 0)
|
||||
{
|
||||
byte[] array10 = this.window;
|
||||
int num42 = this.strstart;
|
||||
int num43 = 0;
|
||||
byte b2;
|
||||
bool flag2 = this._tr_tally(num43, (int)b2);
|
||||
this.match_available = num;
|
||||
}
|
||||
bool flag3 = flush == FlushType.Finish;
|
||||
this.flush_block_only(flag3);
|
||||
if (this._codec.AvailableBytesOut != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
IL_393:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B166 RID: 45414 RVA: 0x0029815C File Offset: 0x0029635C
|
||||
[Token(Token = "0x600B166")]
|
||||
[Address(RVA = "0x1F0A530", Offset = "0x1F08F30", VA = "0x181F0A530")]
|
||||
internal int longest_match(int cur_match)
|
||||
{
|
||||
DeflateManager.Config config = this.config;
|
||||
int num = this.strstart;
|
||||
int num2 = this.prev_length;
|
||||
int num3 = this.w_size;
|
||||
if (num > num3)
|
||||
{
|
||||
int num4 = this.strstart;
|
||||
int num5 = this.w_size;
|
||||
int num6 = DeflateManager.MIN_LOOKAHEAD;
|
||||
num6 -= num5;
|
||||
num6 += num4;
|
||||
}
|
||||
int niceLength = this.config.NiceLength;
|
||||
int num7 = this.w_mask;
|
||||
int num8 = this.strstart;
|
||||
int num9 = this.window.Length;
|
||||
DeflateManager.Config config2 = this.config;
|
||||
int num10 = this.lookahead;
|
||||
if (niceLength <= num10)
|
||||
{
|
||||
}
|
||||
int num11 = this.prev_length;
|
||||
byte[] array = this.window;
|
||||
int num12 = array.Length;
|
||||
byte b;
|
||||
if ("{il2cpp array field local22->}" == b)
|
||||
{
|
||||
num9 = num;
|
||||
int num13 = num9 + 1;
|
||||
num += 2;
|
||||
num++;
|
||||
num9 = num12;
|
||||
int num14 = num9 + 1;
|
||||
byte b2 = array[num14];
|
||||
num++;
|
||||
int num15 = num + 1;
|
||||
num = num15;
|
||||
num15 = num12;
|
||||
num15 += 3;
|
||||
num++;
|
||||
int num16 = num + 1;
|
||||
num = num16;
|
||||
num16 = num12;
|
||||
num16 += 5;
|
||||
num++;
|
||||
int num17 = num + 1;
|
||||
num = num17;
|
||||
num17 = num12;
|
||||
num17 += 7;
|
||||
byte b3 = array[num17];
|
||||
int num18 = num + 1;
|
||||
num = num18;
|
||||
num12 += 8;
|
||||
int num19 = DeflateManager.MAX_MATCH;
|
||||
num19 -= num8;
|
||||
num19 += num;
|
||||
num = num8;
|
||||
num -= num19;
|
||||
if (num19 > num2)
|
||||
{
|
||||
num2 = num19;
|
||||
this.match_start = cur_match;
|
||||
int length = this.window.Length;
|
||||
int num20 = cur_match - 1;
|
||||
}
|
||||
}
|
||||
short[] array2 = this.prev;
|
||||
ulong num21;
|
||||
if ((ulong)array2[num7] > num21)
|
||||
{
|
||||
int num22 = niceLength - 1;
|
||||
while (num22 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
int num23 = this.lookahead;
|
||||
if (num2 > num23)
|
||||
{
|
||||
num2 = num23;
|
||||
}
|
||||
return num2;
|
||||
}
|
||||
|
||||
// Token: 0x17001C9F RID: 7327
|
||||
// (get) Token: 0x0600B167 RID: 45415 RVA: 0x00298324 File Offset: 0x00296524
|
||||
// (set) Token: 0x0600B168 RID: 45416 RVA: 0x00298338 File Offset: 0x00296538
|
||||
[Token(Token = "0x17001C9F")]
|
||||
internal bool WantRfc1950HeaderBytes
|
||||
{
|
||||
[Token(Token = "0x600B167")]
|
||||
[Address(RVA = "0xE29560", Offset = "0xE27F60", VA = "0x180E29560")]
|
||||
get
|
||||
{
|
||||
return this._WantRfc1950HeaderBytes;
|
||||
}
|
||||
[Token(Token = "0x600B168")]
|
||||
[Address(RVA = "0xE2AE40", Offset = "0xE29840", VA = "0x180E2AE40")]
|
||||
set
|
||||
{
|
||||
this._WantRfc1950HeaderBytes = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B169 RID: 45417 RVA: 0x0029834C File Offset: 0x0029654C
|
||||
[Token(Token = "0x600B169")]
|
||||
[Address(RVA = "0x1F07A60", Offset = "0x1F06460", VA = "0x181F07A60")]
|
||||
internal int Initialize(ZlibCodec codec, CompressionLevel level)
|
||||
{
|
||||
int mem_LEVEL_DEFAULT = DeflateManager.MEM_LEVEL_DEFAULT;
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600B16A RID: 45418 RVA: 0x00298364 File Offset: 0x00296564
|
||||
[Token(Token = "0x600B16A")]
|
||||
[Address(RVA = "0x1F079B0", Offset = "0x1F063B0", VA = "0x181F079B0")]
|
||||
internal int Initialize(ZlibCodec codec, CompressionLevel level, int bits)
|
||||
{
|
||||
int mem_LEVEL_DEFAULT = DeflateManager.MEM_LEVEL_DEFAULT;
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600B16B RID: 45419 RVA: 0x0029837C File Offset: 0x0029657C
|
||||
[Token(Token = "0x600B16B")]
|
||||
[Address(RVA = "0x1F07DB0", Offset = "0x1F067B0", VA = "0x181F07DB0")]
|
||||
internal int Initialize(ZlibCodec codec, CompressionLevel level, int bits, CompressionStrategy compressionStrategy)
|
||||
{
|
||||
int mem_LEVEL_DEFAULT = DeflateManager.MEM_LEVEL_DEFAULT;
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600B16C RID: 45420 RVA: 0x00298390 File Offset: 0x00296590
|
||||
[Token(Token = "0x600B16C")]
|
||||
[Address(RVA = "0x1F07B00", Offset = "0x1F06500", VA = "0x181F07B00")]
|
||||
internal int Initialize(ZlibCodec codec, CompressionLevel level, int windowBits, int memLevel, CompressionStrategy strategy)
|
||||
{
|
||||
this._codec = codec;
|
||||
codec.Message = (ulong)0L;
|
||||
this._codec.dstate = this;
|
||||
this.w_bits = windowBits;
|
||||
this.hash_bits = windowBits;
|
||||
uint num;
|
||||
this.w_size = (int)num;
|
||||
uint num2 = num - 1U;
|
||||
this.hash_size = (int)num;
|
||||
this.w_mask = (int)num2;
|
||||
uint num3 = num - 1U;
|
||||
this.hash_mask = (int)num3;
|
||||
int min_MATCH = DeflateManager.MIN_MATCH;
|
||||
int num4 = windowBits - 1;
|
||||
num4 += min_MATCH;
|
||||
this.hash_shift = num4;
|
||||
int num5 = 0;
|
||||
byte[] array = VariableSizedBufferPool.Get((long)num4, num5 != 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;
|
||||
this.lit_bufsize = (int)num;
|
||||
byte[] array4;
|
||||
this.pending = array4;
|
||||
int num8 = this.lit_bufsize;
|
||||
this._distanceOffset = num8;
|
||||
this.compressionLevel = level;
|
||||
this._lengthOffset = num8;
|
||||
this.compressionStrategy = CompressionStrategy.Default;
|
||||
this.Reset();
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Token: 0x0600B16D RID: 45421 RVA: 0x00298494 File Offset: 0x00296694
|
||||
[Token(Token = "0x600B16D")]
|
||||
[Address(RVA = "0x1F07E60", Offset = "0x1F06860", VA = "0x181F07E60")]
|
||||
internal void Reset()
|
||||
{
|
||||
ZlibCodec codec = this._codec;
|
||||
int num = 0;
|
||||
codec.TotalBytesOut = (long)num;
|
||||
codec.TotalBytesIn = (long)num;
|
||||
this._codec.Message = num;
|
||||
this.nextPending = num;
|
||||
this.Rfc1950BytesEmitted = num != 0;
|
||||
if ((this._WantRfc1950HeaderBytes ? 1 : 0) != num)
|
||||
{
|
||||
}
|
||||
int busy_STATE = DeflateManager.BUSY_STATE;
|
||||
this.status = busy_STATE;
|
||||
this._codec._Adler32 = (uint)((ulong)1L);
|
||||
this.last_flush = num;
|
||||
ZTree ztree = this.treeLiterals;
|
||||
short[] array = this.dyn_ltree;
|
||||
ztree.dyn_tree = array;
|
||||
ZTree ztree2 = this.treeLiterals;
|
||||
StaticTree literals = StaticTree.Literals;
|
||||
ztree2.staticTree = literals;
|
||||
ZTree ztree3 = this.treeDistances;
|
||||
short[] array2 = this.dyn_dtree;
|
||||
ztree3.dyn_tree = array2;
|
||||
ZTree ztree4 = this.treeDistances;
|
||||
StaticTree distances = StaticTree.Distances;
|
||||
ztree4.staticTree = distances;
|
||||
ZTree ztree5 = this.treeBitLengths;
|
||||
short[] array3 = this.bl_tree;
|
||||
ztree5.dyn_tree = array3;
|
||||
ZTree ztree6 = this.treeBitLengths;
|
||||
StaticTree bitLengths = StaticTree.BitLengths;
|
||||
ztree6.staticTree = bitLengths;
|
||||
this.bi_buf = (short)num;
|
||||
this.bi_valid = num;
|
||||
this.last_eob_len = (int)((ulong)8L);
|
||||
this._InitializeBlocks();
|
||||
int num2 = this.w_size;
|
||||
int num3 = this.hash_size;
|
||||
num2 += num2;
|
||||
short[] array4 = this.head;
|
||||
int num4 = 0;
|
||||
this.window_size = num2;
|
||||
Array.Clear(array4, num4, num3);
|
||||
int num5 = (int)this.compressionLevel;
|
||||
DeflateManager.Config config;
|
||||
this.config = config;
|
||||
this.SetDeflater();
|
||||
this.strstart = num;
|
||||
this.block_start = num;
|
||||
this.lookahead = num;
|
||||
int min_MATCH = DeflateManager.MIN_MATCH;
|
||||
this.match_available = num;
|
||||
this.ins_h = num;
|
||||
this.prev_length = min_MATCH;
|
||||
this.match_length = min_MATCH;
|
||||
}
|
||||
|
||||
// Token: 0x0600B16E RID: 45422 RVA: 0x00298638 File Offset: 0x00296838
|
||||
[Token(Token = "0x600B16E")]
|
||||
[Address(RVA = "0x1F07850", Offset = "0x1F06250", VA = "0x181F07850")]
|
||||
internal int End()
|
||||
{
|
||||
int num = this.status;
|
||||
int num2 = this.status;
|
||||
int num3 = this.status;
|
||||
return -2;
|
||||
}
|
||||
|
||||
// Token: 0x0600B16F RID: 45423 RVA: 0x00298664 File Offset: 0x00296864
|
||||
[Token(Token = "0x600B16F")]
|
||||
[Address(RVA = "0x1F08180", Offset = "0x1F06B80", VA = "0x181F08180")]
|
||||
private void SetDeflater()
|
||||
{
|
||||
DeflateFlavor flavor = this.config.Flavor;
|
||||
if (flavor == DeflateFlavor.Store || flavor == DeflateFlavor.Store || flavor == DeflateFlavor.Fast)
|
||||
{
|
||||
DeflateManager.CompressFunc compressFunc;
|
||||
compressFunc.method_ptr = ldftn(DeflateNone);
|
||||
compressFunc.method = ldftn(DeflateNone);
|
||||
compressFunc.m_target = this;
|
||||
this.DeflateFunction = compressFunc;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B170 RID: 45424 RVA: 0x002986B8 File Offset: 0x002968B8
|
||||
[Token(Token = "0x600B170")]
|
||||
[Address(RVA = "0x1F085D0", Offset = "0x1F06FD0", VA = "0x181F085D0")]
|
||||
internal int SetParams(CompressionLevel level, CompressionStrategy strategy)
|
||||
{
|
||||
int num = 0;
|
||||
if (this.compressionLevel != level)
|
||||
{
|
||||
DeflateFlavor flavor = this.config.Flavor;
|
||||
DeflateManager.Config config;
|
||||
if (config.Flavor != flavor)
|
||||
{
|
||||
ZlibCodec codec = this._codec;
|
||||
if (codec.TotalBytesIn != (long)num)
|
||||
{
|
||||
int num2 = codec.Deflate(FlushType.Partial);
|
||||
}
|
||||
}
|
||||
this.compressionLevel = level;
|
||||
this.config = config;
|
||||
this.SetDeflater();
|
||||
}
|
||||
this.compressionStrategy = strategy;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600B171 RID: 45425 RVA: 0x0029872C File Offset: 0x0029692C
|
||||
[Token(Token = "0x600B171")]
|
||||
[Address(RVA = "0x1F08220", Offset = "0x1F06C20", VA = "0x181F08220")]
|
||||
internal int SetDictionary(byte[] dictionary)
|
||||
{
|
||||
int num = 0;
|
||||
int length = dictionary.Length;
|
||||
int num2 = this.status;
|
||||
ZlibCodec codec = this._codec;
|
||||
uint adler = codec._Adler32;
|
||||
int length2 = dictionary.Length;
|
||||
int num3 = 0;
|
||||
uint num4 = Adler.Adler32(adler, dictionary, num3, length2);
|
||||
codec._Adler32 = num4;
|
||||
int num5 = this.w_size;
|
||||
if (length > num5)
|
||||
{
|
||||
int num6 = this.w_size;
|
||||
int num7 = dictionary.Length;
|
||||
num7 -= num6;
|
||||
}
|
||||
byte[] array = this.window;
|
||||
int num8 = 0;
|
||||
Array.Copy(dictionary, num, array, num8, length);
|
||||
byte[] array2 = this.window;
|
||||
this.strstart = length;
|
||||
this.block_start = length;
|
||||
byte b = array2[0];
|
||||
this.ins_h = (int)b;
|
||||
this.ins_h = (int)b;
|
||||
int num9 = this.ins_h;
|
||||
byte[] array3 = this.window;
|
||||
int num10 = DeflateManager.MIN_MATCH;
|
||||
num10 += num;
|
||||
short[] array4 = this.head;
|
||||
this.ins_h = num9;
|
||||
short[] array5 = this.prev;
|
||||
int num11 = this.w_mask;
|
||||
short num12 = array4[num9];
|
||||
array5[0] = num12;
|
||||
short[] array6 = this.head;
|
||||
int num13 = this.ins_h;
|
||||
array6[0] = (short)num;
|
||||
num++;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Token: 0x0600B172 RID: 45426 RVA: 0x0029885C File Offset: 0x00296A5C
|
||||
[Token(Token = "0x600B172")]
|
||||
[Address(RVA = "0x1F06F00", Offset = "0x1F05900", VA = "0x181F06F00")]
|
||||
internal int Deflate(FlushType flush)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
ZlibCodec codec = this._codec;
|
||||
if (codec.OutputBuffer != (ulong)0L && (codec.InputBuffer != (ulong)0L || codec.AvailableBytesIn == 0))
|
||||
{
|
||||
int num = this.status;
|
||||
if (flush == FlushType.Finish && this._codec.AvailableBytesOut != 0)
|
||||
{
|
||||
int num2 = this.last_flush;
|
||||
int num3 = this.status;
|
||||
this.last_flush = (int)flush;
|
||||
CompressionLevel compressionLevel = this.compressionLevel;
|
||||
if (this.strstart != 0)
|
||||
{
|
||||
int preset_DICT = DeflateManager.PRESET_DICT;
|
||||
}
|
||||
ulong num4;
|
||||
num4 += (ulong)1L;
|
||||
num4 += num4;
|
||||
long num5 = (long)(num4 * (ulong)((uint)31));
|
||||
int num6 = this.pendingCount;
|
||||
byte[] array = this.pending;
|
||||
int busy_STATE = DeflateManager.BUSY_STATE;
|
||||
this.status = busy_STATE;
|
||||
int num7 = num6 + 1;
|
||||
this.pendingCount = num7;
|
||||
int num8 = this.pendingCount;
|
||||
byte[] array2 = this.pending;
|
||||
int num9 = num8 + 1;
|
||||
this.pendingCount = num9;
|
||||
if (this.strstart != 0)
|
||||
{
|
||||
int num10 = this.pendingCount;
|
||||
byte[] array3 = this.pending;
|
||||
int num11 = num10 + 1;
|
||||
this.pendingCount = num11;
|
||||
uint adler = this._codec._Adler32;
|
||||
int num12 = this.pendingCount;
|
||||
byte[] array4 = this.pending;
|
||||
int num13 = num12 + 1;
|
||||
this.pendingCount = num13;
|
||||
uint adler2 = this._codec._Adler32;
|
||||
int num14 = this.pendingCount;
|
||||
byte[] array5 = this.pending;
|
||||
int num15 = num14 + 1;
|
||||
this.pendingCount = num15;
|
||||
uint adler3 = this._codec._Adler32;
|
||||
int num16 = this.pendingCount;
|
||||
byte[] array6 = this.pending;
|
||||
int num17 = num16 + 1;
|
||||
this.pendingCount = num17;
|
||||
uint adler4 = this._codec._Adler32;
|
||||
}
|
||||
this._codec._Adler32 = (uint)((ulong)1L);
|
||||
ZlibCodec codec2 = this._codec;
|
||||
if (this.Z_ASCII != 0 || (codec2.AvailableBytesIn == 0 && flush != FlushType.Finish))
|
||||
{
|
||||
codec2.flush_pending();
|
||||
if (this._codec.AvailableBytesOut == 0)
|
||||
{
|
||||
goto IL_38C;
|
||||
}
|
||||
}
|
||||
int num18 = this.status;
|
||||
if (this._codec.AvailableBytesIn == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this._codec.AvailableBytesIn == 0 && this.lookahead == 0)
|
||||
{
|
||||
if (flush == FlushType.None)
|
||||
{
|
||||
goto IL_2A6;
|
||||
}
|
||||
int num19 = this.status;
|
||||
}
|
||||
DeflateManager.CompressFunc deflateFunction = this.DeflateFunction;
|
||||
BlockState blockState;
|
||||
int num20 = (int)blockState;
|
||||
if (blockState == BlockState.FinishStarted || blockState == BlockState.FinishDone)
|
||||
{
|
||||
int finish_STATE = DeflateManager.FINISH_STATE;
|
||||
this.status = finish_STATE;
|
||||
}
|
||||
if (num20 == 0 || num20 == 2)
|
||||
{
|
||||
goto IL_38C;
|
||||
}
|
||||
if (num20 == 1)
|
||||
{
|
||||
if (flush != (FlushType)num20)
|
||||
{
|
||||
int num21 = 0;
|
||||
int num22 = 0;
|
||||
int num23 = 0;
|
||||
int num24 = 0;
|
||||
this._tr_stored_block(num24, num23, num22 != 0);
|
||||
if (flush == FlushType.Full && this.hash_size > num21)
|
||||
{
|
||||
short[] array7 = this.head;
|
||||
num21++;
|
||||
array7[0] = (short)num21;
|
||||
}
|
||||
}
|
||||
this._codec.flush_pending();
|
||||
if (this._codec.AvailableBytesOut == 0)
|
||||
{
|
||||
goto IL_38C;
|
||||
}
|
||||
}
|
||||
IL_2A6:
|
||||
if (flush == FlushType.Finish && this._WantRfc1950HeaderBytes && !this.Rfc1950BytesEmitted)
|
||||
{
|
||||
int num25 = this.pendingCount;
|
||||
byte[] array8 = this.pending;
|
||||
int num26 = num25 + 1;
|
||||
this.pendingCount = num26;
|
||||
uint adler5 = this._codec._Adler32;
|
||||
int num27 = this.pendingCount;
|
||||
byte[] array9 = this.pending;
|
||||
int num28 = num27 + 1;
|
||||
this.pendingCount = num28;
|
||||
uint adler6 = this._codec._Adler32;
|
||||
int num29 = this.pendingCount;
|
||||
byte[] array10 = this.pending;
|
||||
int num30 = num29 + 1;
|
||||
this.pendingCount = num30;
|
||||
uint adler7 = this._codec._Adler32;
|
||||
int num31 = this.pendingCount;
|
||||
byte[] array11 = this.pending;
|
||||
int num32 = num31 + 1;
|
||||
this.pendingCount = num32;
|
||||
uint adler8 = this._codec._Adler32;
|
||||
this._codec.flush_pending();
|
||||
this.Rfc1950BytesEmitted = true;
|
||||
if (this.Z_ASCII == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
IL_38C:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B173 RID: 45427 RVA: 0x00298BFC File Offset: 0x00296DFC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600B173")]
|
||||
[Address(RVA = "0x1F08BD0", Offset = "0x1F075D0", VA = "0x181F08BD0")]
|
||||
static DeflateManager()
|
||||
{
|
||||
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] = "";
|
||||
int num = 0;
|
||||
DeflateManager._ErrorMessage = array;
|
||||
DeflateManager.STORED_BLOCK = num;
|
||||
DeflateManager.Z_BINARY = num;
|
||||
int num2 = DeflateManager.MIN_MATCH;
|
||||
int num3 = DeflateManager.MAX_MATCH;
|
||||
num2++;
|
||||
num3 += num2;
|
||||
DeflateManager.MIN_LOOKAHEAD = num3;
|
||||
}
|
||||
|
||||
// Token: 0x04007453 RID: 29779
|
||||
[Token(Token = "0x4007453")]
|
||||
private static readonly int MEM_LEVEL_MAX;
|
||||
|
||||
// Token: 0x04007454 RID: 29780
|
||||
[Token(Token = "0x4007454")]
|
||||
private static readonly int MEM_LEVEL_DEFAULT;
|
||||
|
||||
// Token: 0x04007455 RID: 29781
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007455")]
|
||||
private DeflateManager.CompressFunc DeflateFunction;
|
||||
|
||||
// Token: 0x04007456 RID: 29782
|
||||
[Token(Token = "0x4007456")]
|
||||
private static readonly string[] _ErrorMessage;
|
||||
|
||||
// Token: 0x04007457 RID: 29783
|
||||
[Token(Token = "0x4007457")]
|
||||
private static readonly int PRESET_DICT;
|
||||
|
||||
// Token: 0x04007458 RID: 29784
|
||||
[Token(Token = "0x4007458")]
|
||||
private static readonly int INIT_STATE;
|
||||
|
||||
// Token: 0x04007459 RID: 29785
|
||||
[Token(Token = "0x4007459")]
|
||||
private static readonly int BUSY_STATE;
|
||||
|
||||
// Token: 0x0400745A RID: 29786
|
||||
[Token(Token = "0x400745A")]
|
||||
private static readonly int FINISH_STATE;
|
||||
|
||||
// Token: 0x0400745B RID: 29787
|
||||
[Token(Token = "0x400745B")]
|
||||
private static readonly int Z_DEFLATED;
|
||||
|
||||
// Token: 0x0400745C RID: 29788
|
||||
[Token(Token = "0x400745C")]
|
||||
private static readonly int STORED_BLOCK;
|
||||
|
||||
// Token: 0x0400745D RID: 29789
|
||||
[Token(Token = "0x400745D")]
|
||||
private static readonly int STATIC_TREES;
|
||||
|
||||
// Token: 0x0400745E RID: 29790
|
||||
[Token(Token = "0x400745E")]
|
||||
private static readonly int DYN_TREES;
|
||||
|
||||
// Token: 0x0400745F RID: 29791
|
||||
[Token(Token = "0x400745F")]
|
||||
private static readonly int Z_BINARY;
|
||||
|
||||
// Token: 0x04007460 RID: 29792
|
||||
[Token(Token = "0x4007460")]
|
||||
private static readonly int Z_ASCII;
|
||||
|
||||
// Token: 0x04007461 RID: 29793
|
||||
[Token(Token = "0x4007461")]
|
||||
private static readonly int Z_UNKNOWN;
|
||||
|
||||
// Token: 0x04007462 RID: 29794
|
||||
[Token(Token = "0x4007462")]
|
||||
private static readonly int Buf_size;
|
||||
|
||||
// Token: 0x04007463 RID: 29795
|
||||
[Token(Token = "0x4007463")]
|
||||
private static readonly int MIN_MATCH;
|
||||
|
||||
// Token: 0x04007464 RID: 29796
|
||||
[Token(Token = "0x4007464")]
|
||||
private static readonly int MAX_MATCH;
|
||||
|
||||
// Token: 0x04007465 RID: 29797
|
||||
[Token(Token = "0x4007465")]
|
||||
private static readonly int MIN_LOOKAHEAD;
|
||||
|
||||
// Token: 0x04007466 RID: 29798
|
||||
[Token(Token = "0x4007466")]
|
||||
private static readonly int HEAP_SIZE;
|
||||
|
||||
// Token: 0x04007467 RID: 29799
|
||||
[Token(Token = "0x4007467")]
|
||||
private static readonly int END_BLOCK;
|
||||
|
||||
// Token: 0x04007468 RID: 29800
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007468")]
|
||||
internal ZlibCodec _codec;
|
||||
|
||||
// Token: 0x04007469 RID: 29801
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007469")]
|
||||
internal int status;
|
||||
|
||||
// Token: 0x0400746A RID: 29802
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400746A")]
|
||||
internal byte[] pending;
|
||||
|
||||
// Token: 0x0400746B RID: 29803
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400746B")]
|
||||
internal int nextPending;
|
||||
|
||||
// Token: 0x0400746C RID: 29804
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
|
||||
[Token(Token = "0x400746C")]
|
||||
internal int pendingCount;
|
||||
|
||||
// Token: 0x0400746D RID: 29805
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400746D")]
|
||||
internal sbyte data_type;
|
||||
|
||||
// Token: 0x0400746E RID: 29806
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")]
|
||||
[Token(Token = "0x400746E")]
|
||||
internal int last_flush;
|
||||
|
||||
// Token: 0x0400746F RID: 29807
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400746F")]
|
||||
internal int w_size;
|
||||
|
||||
// Token: 0x04007470 RID: 29808
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x4007470")]
|
||||
internal int w_bits;
|
||||
|
||||
// Token: 0x04007471 RID: 29809
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007471")]
|
||||
internal int w_mask;
|
||||
|
||||
// Token: 0x04007472 RID: 29810
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007472")]
|
||||
internal byte[] window;
|
||||
|
||||
// Token: 0x04007473 RID: 29811
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4007473")]
|
||||
internal int window_size;
|
||||
|
||||
// Token: 0x04007474 RID: 29812
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4007474")]
|
||||
internal short[] prev;
|
||||
|
||||
// Token: 0x04007475 RID: 29813
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4007475")]
|
||||
internal short[] head;
|
||||
|
||||
// Token: 0x04007476 RID: 29814
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x4007476")]
|
||||
internal int ins_h;
|
||||
|
||||
// Token: 0x04007477 RID: 29815
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x74")]
|
||||
[Token(Token = "0x4007477")]
|
||||
internal int hash_size;
|
||||
|
||||
// Token: 0x04007478 RID: 29816
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4007478")]
|
||||
internal int hash_bits;
|
||||
|
||||
// Token: 0x04007479 RID: 29817
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x7C")]
|
||||
[Token(Token = "0x4007479")]
|
||||
internal int hash_mask;
|
||||
|
||||
// Token: 0x0400747A RID: 29818
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x400747A")]
|
||||
internal int hash_shift;
|
||||
|
||||
// Token: 0x0400747B RID: 29819
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x84")]
|
||||
[Token(Token = "0x400747B")]
|
||||
internal int block_start;
|
||||
|
||||
// Token: 0x0400747C RID: 29820
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x400747C")]
|
||||
private DeflateManager.Config config;
|
||||
|
||||
// Token: 0x0400747D RID: 29821
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
|
||||
[Token(Token = "0x400747D")]
|
||||
internal int match_length;
|
||||
|
||||
// Token: 0x0400747E RID: 29822
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x94")]
|
||||
[Token(Token = "0x400747E")]
|
||||
internal int prev_match;
|
||||
|
||||
// Token: 0x0400747F RID: 29823
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x98")]
|
||||
[Token(Token = "0x400747F")]
|
||||
internal int match_available;
|
||||
|
||||
// Token: 0x04007480 RID: 29824
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x9C")]
|
||||
[Token(Token = "0x4007480")]
|
||||
internal int strstart;
|
||||
|
||||
// Token: 0x04007481 RID: 29825
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")]
|
||||
[Token(Token = "0x4007481")]
|
||||
internal int match_start;
|
||||
|
||||
// Token: 0x04007482 RID: 29826
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA4")]
|
||||
[Token(Token = "0x4007482")]
|
||||
internal int lookahead;
|
||||
|
||||
// Token: 0x04007483 RID: 29827
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")]
|
||||
[Token(Token = "0x4007483")]
|
||||
internal int prev_length;
|
||||
|
||||
// Token: 0x04007484 RID: 29828
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xAC")]
|
||||
[Token(Token = "0x4007484")]
|
||||
internal CompressionLevel compressionLevel;
|
||||
|
||||
// Token: 0x04007485 RID: 29829
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")]
|
||||
[Token(Token = "0x4007485")]
|
||||
internal CompressionStrategy compressionStrategy;
|
||||
|
||||
// Token: 0x04007486 RID: 29830
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB8")]
|
||||
[Token(Token = "0x4007486")]
|
||||
internal short[] dyn_ltree;
|
||||
|
||||
// Token: 0x04007487 RID: 29831
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC0")]
|
||||
[Token(Token = "0x4007487")]
|
||||
internal short[] dyn_dtree;
|
||||
|
||||
// Token: 0x04007488 RID: 29832
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC8")]
|
||||
[Token(Token = "0x4007488")]
|
||||
internal short[] bl_tree;
|
||||
|
||||
// Token: 0x04007489 RID: 29833
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xD0")]
|
||||
[Token(Token = "0x4007489")]
|
||||
internal ZTree treeLiterals;
|
||||
|
||||
// Token: 0x0400748A RID: 29834
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xD8")]
|
||||
[Token(Token = "0x400748A")]
|
||||
internal ZTree treeDistances;
|
||||
|
||||
// Token: 0x0400748B RID: 29835
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xE0")]
|
||||
[Token(Token = "0x400748B")]
|
||||
internal ZTree treeBitLengths;
|
||||
|
||||
// Token: 0x0400748C RID: 29836
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xE8")]
|
||||
[Token(Token = "0x400748C")]
|
||||
internal short[] bl_count;
|
||||
|
||||
// Token: 0x0400748D RID: 29837
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xF0")]
|
||||
[Token(Token = "0x400748D")]
|
||||
internal int[] heap;
|
||||
|
||||
// Token: 0x0400748E RID: 29838
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xF8")]
|
||||
[Token(Token = "0x400748E")]
|
||||
internal int heap_len;
|
||||
|
||||
// Token: 0x0400748F RID: 29839
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0xFC")]
|
||||
[Token(Token = "0x400748F")]
|
||||
internal int heap_max;
|
||||
|
||||
// Token: 0x04007490 RID: 29840
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x100")]
|
||||
[Token(Token = "0x4007490")]
|
||||
internal sbyte[] depth;
|
||||
|
||||
// Token: 0x04007491 RID: 29841
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x108")]
|
||||
[Token(Token = "0x4007491")]
|
||||
internal int _lengthOffset;
|
||||
|
||||
// Token: 0x04007492 RID: 29842
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10C")]
|
||||
[Token(Token = "0x4007492")]
|
||||
internal int lit_bufsize;
|
||||
|
||||
// Token: 0x04007493 RID: 29843
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x110")]
|
||||
[Token(Token = "0x4007493")]
|
||||
internal int last_lit;
|
||||
|
||||
// Token: 0x04007494 RID: 29844
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x114")]
|
||||
[Token(Token = "0x4007494")]
|
||||
internal int _distanceOffset;
|
||||
|
||||
// Token: 0x04007495 RID: 29845
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x118")]
|
||||
[Token(Token = "0x4007495")]
|
||||
internal int opt_len;
|
||||
|
||||
// Token: 0x04007496 RID: 29846
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x11C")]
|
||||
[Token(Token = "0x4007496")]
|
||||
internal int static_len;
|
||||
|
||||
// Token: 0x04007497 RID: 29847
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x120")]
|
||||
[Token(Token = "0x4007497")]
|
||||
internal int matches;
|
||||
|
||||
// Token: 0x04007498 RID: 29848
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x124")]
|
||||
[Token(Token = "0x4007498")]
|
||||
internal int last_eob_len;
|
||||
|
||||
// Token: 0x04007499 RID: 29849
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x128")]
|
||||
[Token(Token = "0x4007499")]
|
||||
internal short bi_buf;
|
||||
|
||||
// Token: 0x0400749A RID: 29850
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x12C")]
|
||||
[Token(Token = "0x400749A")]
|
||||
internal int bi_valid;
|
||||
|
||||
// Token: 0x0400749B RID: 29851
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x130")]
|
||||
[Token(Token = "0x400749B")]
|
||||
private bool Rfc1950BytesEmitted;
|
||||
|
||||
// Token: 0x0400749C RID: 29852
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x131")]
|
||||
[Token(Token = "0x400749C")]
|
||||
private bool _WantRfc1950HeaderBytes;
|
||||
|
||||
// Token: 0x020019C6 RID: 6598
|
||||
[Token(Token = "0x20019C6")]
|
||||
internal sealed class CompressFunc : MulticastDelegate
|
||||
{
|
||||
// Token: 0x0600B174 RID: 45428 RVA: 0x00298D14 File Offset: 0x00296F14
|
||||
[Token(Token = "0x600B174")]
|
||||
[Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")]
|
||||
public CompressFunc(object @object, IntPtr method)
|
||||
{
|
||||
this.method = method;
|
||||
this.m_target = @object;
|
||||
}
|
||||
|
||||
// Token: 0x0600B175 RID: 45429 RVA: 0x00298D30 File Offset: 0x00296F30
|
||||
[Token(Token = "0x600B175")]
|
||||
[Address(RVA = "0x46F230", Offset = "0x46DC30", VA = "0x18046F230", Slot = "13")]
|
||||
public BlockState Invoke(FlushType flush)
|
||||
{
|
||||
uint num;
|
||||
do
|
||||
{
|
||||
if (this.delegates != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num == (uint)0);
|
||||
throw new ExecutionEngineException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B176 RID: 45430 RVA: 0x00298DA4 File Offset: 0x00296FA4
|
||||
[Token(Token = "0x600B176")]
|
||||
[Address(RVA = "0x1F00970", Offset = "0x1EFF370", VA = "0x181F00970", Slot = "14")]
|
||||
public IAsyncResult BeginInvoke(FlushType flush, AsyncCallback callback, object @object)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600B177 RID: 45431 RVA: 0x00298DB4 File Offset: 0x00296FB4
|
||||
[Token(Token = "0x600B177")]
|
||||
[Address(RVA = "0x4338C0", Offset = "0x4322C0", VA = "0x1804338C0", Slot = "15")]
|
||||
public BlockState EndInvoke(IAsyncResult result)
|
||||
{
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x020019C7 RID: 6599
|
||||
[Token(Token = "0x20019C7")]
|
||||
internal class Config
|
||||
{
|
||||
// Token: 0x0600B178 RID: 45432 RVA: 0x00298DC8 File Offset: 0x00296FC8
|
||||
[Token(Token = "0x600B178")]
|
||||
[Address(RVA = "0xE250B0", Offset = "0xE23AB0", VA = "0x180E250B0")]
|
||||
private Config(int goodLength, int maxLazy, int niceLength, int maxChainLength, DeflateFlavor flavor)
|
||||
{
|
||||
this.MaxChainLength = 0;
|
||||
this.GoodLength = goodLength;
|
||||
this.NiceLength = niceLength;
|
||||
this.Flavor = DeflateFlavor.Store;
|
||||
this.MaxLazy = maxLazy;
|
||||
}
|
||||
|
||||
// Token: 0x0600B179 RID: 45433 RVA: 0x00298E00 File Offset: 0x00297000
|
||||
[Token(Token = "0x600B179")]
|
||||
[Address(RVA = "0x1F009F0", Offset = "0x1EFF3F0", VA = "0x181F009F0")]
|
||||
public static DeflateManager.Config Lookup(CompressionLevel level)
|
||||
{
|
||||
return DeflateManager.Config.Table[(int)level];
|
||||
}
|
||||
|
||||
// Token: 0x0600B17A RID: 45434 RVA: 0x00298E20 File Offset: 0x00297020
|
||||
[Token(Token = "0x600B17A")]
|
||||
[Address(RVA = "0x1F00A80", Offset = "0x1EFF480", VA = "0x181F00A80")]
|
||||
static Config()
|
||||
{
|
||||
DeflateManager.Config[] array = new DeflateManager.Config[10];
|
||||
int num = 0;
|
||||
DeflateManager.Config config;
|
||||
config.GoodLength = num;
|
||||
config.NiceLength = num;
|
||||
config.Flavor = (DeflateFlavor)num;
|
||||
array[0] = config;
|
||||
DeflateManager.Config config2;
|
||||
config2.GoodLength = (int)((ulong)4L);
|
||||
config2.MaxLazy = (int)((ulong)4L);
|
||||
config2.NiceLength = (int)((ulong)8L);
|
||||
config2.MaxChainLength = (int)((ulong)4L);
|
||||
config2.Flavor = (DeflateFlavor)((ulong)1L);
|
||||
array[1] = config2;
|
||||
DeflateManager.Config config3;
|
||||
config3.GoodLength = (int)((ulong)4L);
|
||||
config3.MaxLazy = (int)((ulong)5L);
|
||||
config3.NiceLength = (int)((ulong)16L);
|
||||
config3.MaxChainLength = (int)((ulong)8L);
|
||||
config3.Flavor = (DeflateFlavor)((ulong)1L);
|
||||
array[2] = config3;
|
||||
DeflateManager.Config config4;
|
||||
config4.GoodLength = (int)((ulong)4L);
|
||||
config4.MaxLazy = (int)((ulong)6L);
|
||||
config4.NiceLength = (int)((ulong)32L);
|
||||
config4.MaxChainLength = (int)((ulong)32L);
|
||||
config4.Flavor = (DeflateFlavor)((ulong)1L);
|
||||
array[3] = config4;
|
||||
DeflateManager.Config config5;
|
||||
config5.GoodLength = (int)((ulong)4L);
|
||||
config5.MaxLazy = (int)((ulong)4L);
|
||||
config5.NiceLength = (int)((ulong)16L);
|
||||
config5.MaxChainLength = (int)((ulong)16L);
|
||||
config5.Flavor = (DeflateFlavor)((ulong)2L);
|
||||
array[4] = config5;
|
||||
DeflateManager.Config config6;
|
||||
config6.GoodLength = (int)((ulong)8L);
|
||||
config6.MaxLazy = (int)((ulong)16L);
|
||||
config6.NiceLength = (int)((ulong)32L);
|
||||
config6.MaxChainLength = (int)((ulong)32L);
|
||||
config6.Flavor = (DeflateFlavor)((ulong)2L);
|
||||
array[5] = config6;
|
||||
DeflateManager.Config config7;
|
||||
config7.GoodLength = (int)((ulong)8L);
|
||||
config7.MaxLazy = (int)((ulong)16L);
|
||||
config7.NiceLength = (int)((ulong)128L);
|
||||
config7.MaxChainLength = (int)((ulong)128L);
|
||||
config7.Flavor = (DeflateFlavor)((ulong)2L);
|
||||
array[6] = config7;
|
||||
DeflateManager.Config config8;
|
||||
config8.GoodLength = (int)((ulong)8L);
|
||||
config8.MaxLazy = (int)((ulong)32L);
|
||||
config8.NiceLength = (int)((ulong)128L);
|
||||
config8.MaxChainLength = (int)((ulong)256L);
|
||||
config8.Flavor = (DeflateFlavor)((ulong)2L);
|
||||
array[7] = config8;
|
||||
DeflateManager.Config config9;
|
||||
config9.GoodLength = (int)((ulong)32L);
|
||||
config9.MaxLazy = (int)((ulong)128L);
|
||||
config9.NiceLength = (int)((ulong)258L);
|
||||
config9.MaxChainLength = (int)((ulong)1024L);
|
||||
config9.Flavor = (DeflateFlavor)((ulong)2L);
|
||||
array[8] = config9;
|
||||
DeflateManager.Config config10;
|
||||
config10.GoodLength = (int)((ulong)32L);
|
||||
config10.MaxLazy = (int)((ulong)258L);
|
||||
config10.NiceLength = (int)((ulong)258L);
|
||||
config10.MaxChainLength = (int)((ulong)4096L);
|
||||
config10.Flavor = (DeflateFlavor)((ulong)2L);
|
||||
array[9] = config10;
|
||||
DeflateManager.Config.Table = array;
|
||||
}
|
||||
|
||||
// Token: 0x0400749D RID: 29853
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400749D")]
|
||||
internal int GoodLength;
|
||||
|
||||
// Token: 0x0400749E RID: 29854
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x400749E")]
|
||||
internal int MaxLazy;
|
||||
|
||||
// Token: 0x0400749F RID: 29855
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400749F")]
|
||||
internal int NiceLength;
|
||||
|
||||
// Token: 0x040074A0 RID: 29856
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x40074A0")]
|
||||
internal int MaxChainLength;
|
||||
|
||||
// Token: 0x040074A1 RID: 29857
|
||||
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40074A1")]
|
||||
internal DeflateFlavor Flavor;
|
||||
|
||||
// Token: 0x040074A2 RID: 29858
|
||||
[Token(Token = "0x40074A2")]
|
||||
private static readonly DeflateManager.Config[] Table;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user