Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/Decompression/Zlib/InfTree.cs
T
2026-04-08 23:40:05 +02:00

443 lines
11 KiB
C#

using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Decompression.Zlib
{
// Token: 0x020019CA RID: 6602
[Token(Token = "0x20019CA")]
[StructLayout(3)]
internal sealed class InfTree
{
// Token: 0x0600B1B1 RID: 45489 RVA: 0x00299AA0 File Offset: 0x00297CA0
[Token(Token = "0x600B1B1")]
[Address(RVA = "0x1F12820", Offset = "0x1F11220", VA = "0x181F12820")]
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)
{
num13 = num9;
uint num16;
num16 -= (uint)num14;
if (num9 < num15)
{
int num17 = num9 + 1;
num9 = num17;
if (num17 < num15)
{
int[] array9 = this.c;
num16 += num16;
num += (uint)1;
int num18 = array9[(int)num];
if (num16 > (uint)num18)
{
num17++;
num16 -= (uint)num18;
num9 = num17;
}
}
}
this.u[0] = num12;
if (-1 == 0)
{
}
int[] array10 = this.x;
array10[0] = num10;
this.r[0] = array10;
this.r[0] = array10;
num13 -= (int)num;
int[] array11 = this.u;
int[] array12 = this.r;
num12 -= array10;
array12[1] = num12;
int[] array13 = this.u;
int num19;
num19 += array10;
int[] array14 = this.r;
}
int[] array15 = this.r;
num -= (uint)num13;
array15[0] = (int)num;
if (num11 < num9)
{
int[] array16 = this.r;
num11++;
int num20;
num20 += 80;
array16[0] = array15;
int num21;
this.r[1] = num21;
int[] array17 = this.r;
num11++;
uint num22;
array17[0] = (int)num22;
this.r[1] = (int)num22;
}
int[] array18 = this.r;
num -= (uint)num13;
uint num23;
if (array18 < num23)
{
int[] array19 = this.r;
uint num24;
array18 += num24;
}
uint num25;
if (num10 != (int)num25)
{
while (num10 != array18)
{
}
}
int[] array20 = this.x;
uint num26;
if (num26 != "{il2cpp array field local81->}")
{
num13 -= (int)num;
}
while (num14 != 0)
{
}
}
num += (uint)1;
while (num <= num2)
{
}
if (num2 != (uint)1)
{
}
}
throw new NullReferenceException();
}
// Token: 0x0600B1B2 RID: 45490 RVA: 0x00299DAC File Offset: 0x00297FAC
[Token(Token = "0x600B1B2")]
[Address(RVA = "0x1F13400", Offset = "0x1F11E00", VA = "0x181F13400")]
internal int inflate_trees_bits(int[] c, int[] bb, int[] tb, int[] hp, ZlibCodec 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: 0x0600B1B3 RID: 45491 RVA: 0x00299E00 File Offset: 0x00298000
[Token(Token = "0x600B1B3")]
[Address(RVA = "0x1F13550", Offset = "0x1F11F50", VA = "0x181F13550")]
internal int inflate_trees_dynamic(int nl, int nd, int[] c, int[] bl, int[] bd, int[] tl, int[] td, int[] hp, ZlibCodec 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: 0x0600B1B4 RID: 45492 RVA: 0x00299EA0 File Offset: 0x002980A0
[Token(Token = "0x600B1B4")]
[Address(RVA = "0x1F13860", Offset = "0x1F12260", VA = "0x181F13860")]
internal static int inflate_trees_fixed(int[] bl, int[] bd, int[][] tl, int[][] td, ZlibCodec 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: 0x0600B1B5 RID: 45493 RVA: 0x00299EDC File Offset: 0x002980DC
[Token(Token = "0x600B1B5")]
[Address(RVA = "0x1F139F0", Offset = "0x1F123F0", VA = "0x181F139F0")]
private void initWorkArea(int vsize)
{
if (this.cplens != (ulong)0L)
{
int[] array = this.v;
if (array.Length < vsize)
{
int[] array2 = new int[vsize];
this.v = array2;
}
int num = 0;
Array.Clear(array, num, vsize);
int[] array3 = this.c;
int num2 = 0;
Array.Clear(array3, num2, 16);
int[] array4 = this.r;
int num3 = 0;
array4[0] = num3;
this.r[0] = num3;
this.r[1] = num3;
int[] array5 = this.u;
int num4 = 0;
Array.Clear(array5, num4, 15);
int[] array6 = this.x;
int num5 = 0;
Array.Clear(array6, num5, 16);
return;
}
int[] array7 = new int[1];
this.hn = array7;
int[] array8 = new int[vsize];
this.v = array8;
int[] array9 = new int[16];
this.c = array9;
int[] array10 = new int[3];
this.r = array10;
int[] array11 = new int[15];
this.u = array11;
int[] array12 = new int[16];
this.x = array12;
}
// Token: 0x0600B1B6 RID: 45494 RVA: 0x00299FFC File Offset: 0x002981FC
[Token(Token = "0x600B1B6")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public InfTree()
{
}
// Token: 0x0600B1B7 RID: 45495 RVA: 0x0029A010 File Offset: 0x00298210
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600B1B7")]
[Address(RVA = "0x1F126A0", Offset = "0x1F110A0", VA = "0x181F126A0")]
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: 0x040074B0 RID: 29872
[Token(Token = "0x40074B0")]
private const int MANY = 1440;
// Token: 0x040074B1 RID: 29873
[Token(Token = "0x40074B1")]
private const int Z_OK = 0;
// Token: 0x040074B2 RID: 29874
[Token(Token = "0x40074B2")]
private const int Z_STREAM_END = 1;
// Token: 0x040074B3 RID: 29875
[Token(Token = "0x40074B3")]
private const int Z_NEED_DICT = 2;
// Token: 0x040074B4 RID: 29876
[Token(Token = "0x40074B4")]
private const int Z_ERRNO = -1;
// Token: 0x040074B5 RID: 29877
[Token(Token = "0x40074B5")]
private const int Z_STREAM_ERROR = -2;
// Token: 0x040074B6 RID: 29878
[Token(Token = "0x40074B6")]
private const int Z_DATA_ERROR = -3;
// Token: 0x040074B7 RID: 29879
[Token(Token = "0x40074B7")]
private const int Z_MEM_ERROR = -4;
// Token: 0x040074B8 RID: 29880
[Token(Token = "0x40074B8")]
private const int Z_BUF_ERROR = -5;
// Token: 0x040074B9 RID: 29881
[Token(Token = "0x40074B9")]
private const int Z_VERSION_ERROR = -6;
// Token: 0x040074BA RID: 29882
[Token(Token = "0x40074BA")]
internal const int fixed_bl = 9;
// Token: 0x040074BB RID: 29883
[Token(Token = "0x40074BB")]
internal const int fixed_bd = 5;
// Token: 0x040074BC RID: 29884
[Token(Token = "0x40074BC")]
internal static readonly int[] fixed_tl;
// Token: 0x040074BD RID: 29885
[Token(Token = "0x40074BD")]
internal static readonly int[] fixed_td;
// Token: 0x040074BE RID: 29886
[Token(Token = "0x40074BE")]
internal static readonly int[] cplens;
// Token: 0x040074BF RID: 29887
[Token(Token = "0x40074BF")]
internal static readonly int[] cplext;
// Token: 0x040074C0 RID: 29888
[Token(Token = "0x40074C0")]
internal static readonly int[] cpdist;
// Token: 0x040074C1 RID: 29889
[Token(Token = "0x40074C1")]
internal static readonly int[] cpdext;
// Token: 0x040074C2 RID: 29890
[Token(Token = "0x40074C2")]
internal const int BMAX = 15;
// Token: 0x040074C3 RID: 29891
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x40074C3")]
internal int[] hn;
// Token: 0x040074C4 RID: 29892
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x40074C4")]
internal int[] v;
// Token: 0x040074C5 RID: 29893
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40074C5")]
internal int[] c;
// Token: 0x040074C6 RID: 29894
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40074C6")]
internal int[] r;
// Token: 0x040074C7 RID: 29895
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x40074C7")]
internal int[] u;
// Token: 0x040074C8 RID: 29896
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x40074C8")]
internal int[] x;
}
}