448 lines
11 KiB
C#
448 lines
11 KiB
C#
using System;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Zlib
|
|
{
|
|
// Token: 0x02001351 RID: 4945
|
|
[Token(Token = "0x2001351")]
|
|
[StructLayout(3)]
|
|
internal sealed class InfTree
|
|
{
|
|
// Token: 0x06007CD7 RID: 31959 RVA: 0x001A238C File Offset: 0x001A058C
|
|
[Token(Token = "0x6007CD7")]
|
|
[Address(RVA = "0x202F620", Offset = "0x202E020", VA = "0x18202F620")]
|
|
private int huft_build(int[] b, int bindex, int n, int s, int[] d, int[] e, int[] t, int[] m, int[] hp, int[] hn, int[] v)
|
|
{
|
|
int[] array;
|
|
do
|
|
{
|
|
array = this.c;
|
|
}
|
|
while (b[bindex] != array.Length);
|
|
int length = this.c.Length;
|
|
if ("{il2cpp array field local14->}" != n)
|
|
{
|
|
uint num;
|
|
if ("{il2cpp array field local14->}" == (ulong)0L)
|
|
{
|
|
num += (uint)1;
|
|
while (num <= (uint)15)
|
|
{
|
|
}
|
|
}
|
|
if ("{il2cpp array field local14->}" == (ulong)0L)
|
|
{
|
|
while ("{il2cpp array field local14->}" != (ulong)0L)
|
|
{
|
|
}
|
|
}
|
|
uint num2;
|
|
uint num3;
|
|
if (num < num2)
|
|
{
|
|
int[] array2 = this.c;
|
|
num += (uint)1;
|
|
num3 += num3;
|
|
}
|
|
this.c[0] = (int)num3;
|
|
int num4 = 0;
|
|
int[] array3 = this.x;
|
|
uint num5 = num2 - 1U;
|
|
array3[0] = num4;
|
|
if (num5 != (uint)0)
|
|
{
|
|
int[] array4 = this.c;
|
|
int[] array5 = this.x;
|
|
int num6;
|
|
num6 += num4;
|
|
array5[0] = num6;
|
|
while (1 != array5.Length)
|
|
{
|
|
}
|
|
}
|
|
int num7 = b[bindex];
|
|
if (num7 != 0)
|
|
{
|
|
int[] array6 = this.x;
|
|
int num8 = array6[num7] + 1;
|
|
array6[0] = num8;
|
|
}
|
|
int[] array7 = this.x;
|
|
int length2 = array7.Length;
|
|
int num9 = array7[(int)num2];
|
|
int num10 = 0;
|
|
int num11 = 0;
|
|
array7[0] = num10;
|
|
int[] array8 = this.u;
|
|
int num12 = 0;
|
|
array8[0] = num11;
|
|
int num13 = this.c[(int)num];
|
|
int num14 = num13 - 1;
|
|
if (num13 != 0)
|
|
{
|
|
int num15 = num14 + 1;
|
|
if (num > (uint)num13)
|
|
{
|
|
uint num16;
|
|
num16 += (uint)1;
|
|
num13 = num9;
|
|
uint num17;
|
|
num17 -= (uint)num14;
|
|
if (num9 < num15)
|
|
{
|
|
int num18 = num9 + 1;
|
|
num9 = num18;
|
|
if (num18 < num15)
|
|
{
|
|
int[] array9 = this.c;
|
|
num17 += num17;
|
|
num += (uint)1;
|
|
int num19 = array9[(int)num];
|
|
if (num17 > (uint)num19)
|
|
{
|
|
num18++;
|
|
num17 -= (uint)num19;
|
|
num9 = num18;
|
|
}
|
|
}
|
|
}
|
|
this.u[0] = num12;
|
|
if (num16 == (uint)0)
|
|
{
|
|
}
|
|
this.x[0] = num10;
|
|
this.r[0] = num9;
|
|
this.r[0] = (int)num;
|
|
int[] array10 = this.u;
|
|
num13 -= (int)num;
|
|
int[] array11 = this.r;
|
|
num12 -= num10;
|
|
array11[1] = num12;
|
|
int num20 = this.u[(int)num16];
|
|
num20 += num10;
|
|
int[] array12 = this.r;
|
|
}
|
|
int[] array13 = this.r;
|
|
num -= (uint)num13;
|
|
array13[0] = (int)num;
|
|
if (num11 < num9)
|
|
{
|
|
int[] array14 = this.r;
|
|
num11++;
|
|
int num21;
|
|
num21 += 80;
|
|
array14[0] = num21;
|
|
int[] array15 = this.r;
|
|
int[] array16 = this.r;
|
|
num11++;
|
|
uint num22;
|
|
array16[0] = (int)num22;
|
|
this.r[1] = (int)num22;
|
|
}
|
|
int[] array17 = this.r;
|
|
uint num23;
|
|
if (num10 < (int)num23)
|
|
{
|
|
int[] array18 = this.r;
|
|
uint num24;
|
|
num10 += (int)num24;
|
|
}
|
|
uint num25;
|
|
if (num10 != (int)num25)
|
|
{
|
|
while (num10 != (int)num25)
|
|
{
|
|
}
|
|
}
|
|
int[] array19 = this.x;
|
|
uint num26;
|
|
if (num26 != "{il2cpp array field local78->}")
|
|
{
|
|
num13 -= (int)num;
|
|
}
|
|
while (num14 != 0)
|
|
{
|
|
}
|
|
}
|
|
num += (uint)1;
|
|
while (num <= num2)
|
|
{
|
|
}
|
|
if (num2 != (uint)1)
|
|
{
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06007CD8 RID: 31960 RVA: 0x001A2698 File Offset: 0x001A0898
|
|
[Token(Token = "0x6007CD8")]
|
|
[Address(RVA = "0x2030200", Offset = "0x202EC00", VA = "0x182030200")]
|
|
internal int inflate_trees_bits(int[] c, int[] bb, int[] tb, int[] hp, ZStream z)
|
|
{
|
|
this.initWorkArea(19);
|
|
int[] array = this.hn;
|
|
int num = 0;
|
|
array[0] = num;
|
|
int[] array2 = this.v;
|
|
int[] array3 = this.hn;
|
|
int num2;
|
|
if (num2 == -3 || num2 == -5 || "{il2cpp array field bb->}" == (ulong)0L)
|
|
{
|
|
}
|
|
return num2;
|
|
}
|
|
|
|
// Token: 0x06007CD9 RID: 31961 RVA: 0x001A26EC File Offset: 0x001A08EC
|
|
[Token(Token = "0x6007CD9")]
|
|
[Address(RVA = "0x2030350", Offset = "0x202ED50", VA = "0x182030350")]
|
|
internal int inflate_trees_dynamic(int nl, int nd, int[] c, int[] bl, int[] bd, int[] tl, int[] td, int[] hp, ZStream z)
|
|
{
|
|
this.initWorkArea(288);
|
|
int[] array = this.hn;
|
|
int num = 0;
|
|
array[0] = num;
|
|
int[] array2 = this.hn;
|
|
int[] array3 = InfTree.cplens;
|
|
int[] array4 = InfTree.cplext;
|
|
int[] array5 = this.v;
|
|
int num2;
|
|
if (num2 == 0)
|
|
{
|
|
this.initWorkArea(288);
|
|
int[] array6 = this.hn;
|
|
int[] array7 = InfTree.cpdist;
|
|
int[] array8 = InfTree.cpdext;
|
|
int[] array9 = this.v;
|
|
int num3;
|
|
if (num3 == 0)
|
|
{
|
|
}
|
|
if (num3 == -3 || num3 == -5 || num3 != -4)
|
|
{
|
|
}
|
|
return num3;
|
|
}
|
|
if (num2 != -3)
|
|
{
|
|
while (num2 == -4)
|
|
{
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06007CDA RID: 31962 RVA: 0x001A278C File Offset: 0x001A098C
|
|
[Token(Token = "0x6007CDA")]
|
|
[Address(RVA = "0x2030660", Offset = "0x202F060", VA = "0x182030660")]
|
|
internal static int inflate_trees_fixed(int[] bl, int[] bd, int[][] tl, int[][] td, ZStream z)
|
|
{
|
|
int[] array = InfTree.fixed_tl;
|
|
if (array != 0)
|
|
{
|
|
}
|
|
tl[0] = array;
|
|
int[] array2 = InfTree.fixed_td;
|
|
if (array2 != 0)
|
|
{
|
|
}
|
|
int num = 0;
|
|
td[0] = array2;
|
|
return num;
|
|
}
|
|
|
|
// Token: 0x06007CDB RID: 31963 RVA: 0x001A27C8 File Offset: 0x001A09C8
|
|
[Token(Token = "0x6007CDB")]
|
|
[Address(RVA = "0x20307F0", Offset = "0x202F1F0", VA = "0x1820307F0")]
|
|
private void initWorkArea(int vsize)
|
|
{
|
|
if (this.cplens == (ulong)0L)
|
|
{
|
|
int[] array = new int[1];
|
|
this.hn = array;
|
|
int[] array2 = new int[vsize];
|
|
this.v = array2;
|
|
int[] array3 = new int[16];
|
|
this.c = array3;
|
|
int[] array4 = new int[3];
|
|
this.r = array4;
|
|
int[] array5 = new int[15];
|
|
this.u = array5;
|
|
int[] array6 = new int[16];
|
|
this.x = array6;
|
|
}
|
|
if (this.v.Length < vsize)
|
|
{
|
|
int[] array7 = new int[vsize];
|
|
this.v = array7;
|
|
}
|
|
int num = 0;
|
|
if (vsize > 0)
|
|
{
|
|
int[] array8 = this.v;
|
|
num++;
|
|
array8[0] = num;
|
|
}
|
|
int[] array9 = this.c;
|
|
num++;
|
|
array9[0] = num;
|
|
int[] array10 = this.r;
|
|
num++;
|
|
array10[0] = num;
|
|
int[] array11 = this.u;
|
|
int num2 = 0;
|
|
int[] array12 = this.c;
|
|
int num3 = 0;
|
|
ulong num4;
|
|
Array.Copy(array12, num3, array11, num2, (int)num4);
|
|
int[] array13 = this.x;
|
|
int num5 = 0;
|
|
int[] array14 = this.c;
|
|
int num6 = 0;
|
|
ulong num7;
|
|
Array.Copy(array14, num6, array13, num5, (int)num7);
|
|
}
|
|
|
|
// Token: 0x06007CDC RID: 31964 RVA: 0x001A28F8 File Offset: 0x001A0AF8
|
|
[Token(Token = "0x6007CDC")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
public InfTree()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06007CDD RID: 31965 RVA: 0x001A290C File Offset: 0x001A0B0C
|
|
// Note: this type is marked as 'beforefieldinit'.
|
|
[Token(Token = "0x6007CDD")]
|
|
[Address(RVA = "0x202F4A0", Offset = "0x202DEA0", VA = "0x18202F4A0")]
|
|
static InfTree()
|
|
{
|
|
int[] array = new int[1536];
|
|
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.A474A0BEC4E2CE8491839502AE85F6EA8504C6BD).FieldHandle);
|
|
InfTree.fixed_tl = array;
|
|
int[] array2 = new int[96];
|
|
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.1B180C6E41F096D53222F5E8EF558B78182CA401).FieldHandle);
|
|
InfTree.fixed_td = array2;
|
|
int[] array3 = new int[31];
|
|
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.8ED8F61DAA454B49CD5059AE4486C59174324E9E).FieldHandle);
|
|
InfTree.cplens = array3;
|
|
int[] array4 = new int[31];
|
|
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.DACFCC5E985D9E113ABB74724C5D3CC4FDC4FB8A).FieldHandle);
|
|
InfTree.cplext = array4;
|
|
int[] array5 = new int[30];
|
|
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.D068832E6B13A623916709C1E0E25ADCBE7B455F).FieldHandle);
|
|
InfTree.cpdist = array5;
|
|
int[] array6 = new int[30];
|
|
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.79D521E6E3E55103005E9CC3FA43B3174FAF090F).FieldHandle);
|
|
InfTree.cpdext = array6;
|
|
}
|
|
|
|
// Token: 0x0400596A RID: 22890
|
|
[Token(Token = "0x400596A")]
|
|
private const int MANY = 1440;
|
|
|
|
// Token: 0x0400596B RID: 22891
|
|
[Token(Token = "0x400596B")]
|
|
private const int Z_OK = 0;
|
|
|
|
// Token: 0x0400596C RID: 22892
|
|
[Token(Token = "0x400596C")]
|
|
private const int Z_STREAM_END = 1;
|
|
|
|
// Token: 0x0400596D RID: 22893
|
|
[Token(Token = "0x400596D")]
|
|
private const int Z_NEED_DICT = 2;
|
|
|
|
// Token: 0x0400596E RID: 22894
|
|
[Token(Token = "0x400596E")]
|
|
private const int Z_ERRNO = -1;
|
|
|
|
// Token: 0x0400596F RID: 22895
|
|
[Token(Token = "0x400596F")]
|
|
private const int Z_STREAM_ERROR = -2;
|
|
|
|
// Token: 0x04005970 RID: 22896
|
|
[Token(Token = "0x4005970")]
|
|
private const int Z_DATA_ERROR = -3;
|
|
|
|
// Token: 0x04005971 RID: 22897
|
|
[Token(Token = "0x4005971")]
|
|
private const int Z_MEM_ERROR = -4;
|
|
|
|
// Token: 0x04005972 RID: 22898
|
|
[Token(Token = "0x4005972")]
|
|
private const int Z_BUF_ERROR = -5;
|
|
|
|
// Token: 0x04005973 RID: 22899
|
|
[Token(Token = "0x4005973")]
|
|
private const int Z_VERSION_ERROR = -6;
|
|
|
|
// Token: 0x04005974 RID: 22900
|
|
[Token(Token = "0x4005974")]
|
|
private const int fixed_bl = 9;
|
|
|
|
// Token: 0x04005975 RID: 22901
|
|
[Token(Token = "0x4005975")]
|
|
private const int fixed_bd = 5;
|
|
|
|
// Token: 0x04005976 RID: 22902
|
|
[Token(Token = "0x4005976")]
|
|
private static readonly int[] fixed_tl;
|
|
|
|
// Token: 0x04005977 RID: 22903
|
|
[Token(Token = "0x4005977")]
|
|
private static readonly int[] fixed_td;
|
|
|
|
// Token: 0x04005978 RID: 22904
|
|
[Token(Token = "0x4005978")]
|
|
private static readonly int[] cplens;
|
|
|
|
// Token: 0x04005979 RID: 22905
|
|
[Token(Token = "0x4005979")]
|
|
private static readonly int[] cplext;
|
|
|
|
// Token: 0x0400597A RID: 22906
|
|
[Token(Token = "0x400597A")]
|
|
private static readonly int[] cpdist;
|
|
|
|
// Token: 0x0400597B RID: 22907
|
|
[Token(Token = "0x400597B")]
|
|
private static readonly int[] cpdext;
|
|
|
|
// Token: 0x0400597C RID: 22908
|
|
[Token(Token = "0x400597C")]
|
|
private const int BMAX = 15;
|
|
|
|
// Token: 0x0400597D RID: 22909
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400597D")]
|
|
private int[] hn;
|
|
|
|
// Token: 0x0400597E RID: 22910
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400597E")]
|
|
private int[] v;
|
|
|
|
// Token: 0x0400597F RID: 22911
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400597F")]
|
|
private int[] c;
|
|
|
|
// Token: 0x04005980 RID: 22912
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4005980")]
|
|
private int[] r;
|
|
|
|
// Token: 0x04005981 RID: 22913
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4005981")]
|
|
private int[] u;
|
|
|
|
// Token: 0x04005982 RID: 22914
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4005982")]
|
|
private int[] x;
|
|
}
|
|
}
|