Files
Apr2020-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Utilities/Zlib/Inflate.cs
T
niko 8fc35183db a
2026-04-11 22:19:20 +02:00

572 lines
15 KiB
C#

using System;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Zlib
{
// Token: 0x0200192F RID: 6447
[Token(Token = "0x200192F")]
internal sealed class Inflate
{
// Token: 0x060098B8 RID: 39096 RVA: 0x001FA2F8 File Offset: 0x001F84F8
[Token(Token = "0x60098B8")]
[Address(RVA = "0x1624640", Offset = "0x1623440", VA = "0x181624640")]
internal int inflateReset(ZStream z)
{
if (z != 0)
{
Inflate istate = z.istate;
if (istate != 0)
{
int num = 0;
z.total_out = (long)num;
z.total_in = (long)num;
z.msg = num;
istate.mode = this;
InfBlocks infBlocks = z.istate.blocks;
return 0;
}
}
return -2;
}
// Token: 0x060098B9 RID: 39097 RVA: 0x001FA348 File Offset: 0x001F8548
[Token(Token = "0x60098B9")]
[Address(RVA = "0x1624500", Offset = "0x1623300", VA = "0x181624500")]
internal int inflateEnd(ZStream z)
{
InfBlocks infBlocks = this.blocks;
if (infBlocks != 0)
{
infBlocks.free(z);
}
int num = 0;
this.blocks = num;
return num;
}
// Token: 0x060098BA RID: 39098 RVA: 0x001FA374 File Offset: 0x001F8574
[Token(Token = "0x60098BA")]
[Address(RVA = "0x1624530", Offset = "0x1623330", VA = "0x181624530")]
internal int inflateInit(ZStream z, int w)
{
int num = 0;
z.msg = num;
this.blocks = num;
this.nowrap = num;
this.nowrap = 1;
this.wbits = w;
Inflate istate = z.istate;
int num2 = istate.nowrap;
InfBlocks infBlocks = new InfBlocks(z, this, 1);
istate.blocks = infBlocks;
int num3 = this.inflateReset(z);
return 0;
}
// Token: 0x060098BB RID: 39099 RVA: 0x001FA3D4 File Offset: 0x001F85D4
[Token(Token = "0x60098BB")]
[Address(RVA = "0x1624A50", Offset = "0x1623850", VA = "0x181624A50")]
internal int inflate(ZStream z, int f)
{
if (z != 0 && z.istate != (ulong)0L && z.next_in != (ulong)0L)
{
int num = 0;
if (z.istate.mode <= 13)
{
int avail_in = z.avail_in;
if (avail_in != 0)
{
z.avail_in = avail_in;
int next_in_index = z.next_in_index;
byte[] next_in = z.next_in;
Inflate istate = z.istate;
int num2 = next_in_index + 1;
z.next_in_index = num2;
byte b;
istate.method = (int)b;
Inflate istate2 = z.istate;
int num3 = istate2.method;
num3 += 8;
istate2.mode = (int)((ulong)1L);
int avail_in2 = z.avail_in;
if (avail_in2 != 0)
{
z.avail_in = avail_in2;
int next_in_index2 = z.next_in_index;
byte[] next_in2 = z.next_in;
int num4 = next_in_index2 + 1;
z.next_in_index = num4;
Inflate istate3 = z.istate;
int num5 = istate3.method;
byte b2;
num5 += (int)b2;
ulong num6;
num6 += num6;
long num7 = (long)(num6 * (ulong)((uint)31));
if ((long)num5 == num7)
{
istate3.mode = (int)((ulong)7L);
z.istate.mode = (int)((ulong)13L);
}
istate.mode = (int)((ulong)13L);
int num8;
if (num8 != -3)
{
if (num != 1)
{
goto IL_360;
}
Inflate istate4 = z.istate;
InfBlocks infBlocks = istate4.blocks;
long[] array = istate4.was;
infBlocks.reset(z, array);
Inflate istate5 = z.istate;
Inflate istate11;
if (istate5.nowrap == num)
{
istate5.mode = (int)((ulong)8L);
int avail_in3 = z.avail_in;
if (avail_in3 == 0)
{
goto IL_360;
}
z.avail_in = avail_in3;
int next_in_index3 = z.next_in_index;
byte[] next_in3 = z.next_in;
Inflate istate6 = z.istate;
int num9 = next_in_index3 + 1;
z.next_in_index = num9;
byte b3;
istate6.need = (long)b3;
z.istate.mode = (int)((ulong)9L);
int avail_in4 = z.avail_in;
if (avail_in4 == 0)
{
goto IL_360;
}
z.avail_in = avail_in4;
Inflate istate7 = z.istate;
int next_in_index4 = z.next_in_index;
byte[] next_in4 = z.next_in;
long num10 = istate7.need;
int num11 = next_in_index4 + 1;
z.next_in_index = num11;
byte b4 = (byte)((long)b4 + num10);
istate7.need = (long)b4;
z.istate.mode = (int)((ulong)10L);
int avail_in5 = z.avail_in;
if (avail_in5 == 0)
{
goto IL_360;
}
z.avail_in = avail_in5;
Inflate istate8 = z.istate;
int next_in_index5 = z.next_in_index;
byte[] next_in5 = z.next_in;
long num12 = istate8.need;
int num13 = next_in_index5 + 1;
z.next_in_index = num13;
byte b5 = (byte)((long)b5 + num12);
istate8.need = (long)b5;
z.istate.mode = (int)((ulong)11L);
int avail_in6 = z.avail_in;
if (avail_in6 == 0)
{
goto IL_360;
}
z.avail_in = avail_in6;
Inflate istate9 = z.istate;
int next_in_index6 = z.next_in_index;
byte[] next_in6 = z.next_in;
long num14 = istate9.need;
int num15 = next_in_index6 + 1;
z.next_in_index = num15;
byte b6 = (byte)((long)b6 + num14);
istate9.need = (long)b6;
Inflate istate10 = z.istate;
long[] array2 = istate10.was;
long num16 = istate10.need;
if ("{il2cpp array field local64->}" == num16)
{
goto IL_39B;
}
istate10.mode = (int)((ulong)13L);
z.msg = "incorrect data check";
istate11 = z.istate;
istate11.marker = (int)((ulong)5L);
}
istate11.mode = (int)((ulong)12L);
}
z.istate.mode = (int)((ulong)13L);
z.istate.marker = num;
}
}
IL_360:
int avail_in7 = z.avail_in;
while (avail_in7 == 0)
{
}
z.avail_in = avail_in7;
int next_in_index7 = z.next_in_index;
byte[] next_in7 = z.next_in;
Inflate istate12 = z.istate;
int num17 = next_in_index7 + 1;
z.next_in_index = num17;
IL_39B:
byte b7;
istate12.need = (long)b7;
z.istate.mode = (int)((ulong)3L);
int avail_in8 = z.avail_in;
while (avail_in8 == 0)
{
}
z.avail_in = avail_in8;
Inflate istate13 = z.istate;
int next_in_index8 = z.next_in_index;
byte[] next_in8 = z.next_in;
long num18 = istate13.need;
int num19 = next_in_index8 + 1;
z.next_in_index = num19;
byte b8 = (byte)((long)b8 + num18);
istate13.need = (long)b8;
z.istate.mode = (int)((ulong)4L);
int avail_in9 = z.avail_in;
while (avail_in9 == 0)
{
}
z.avail_in = avail_in9;
Inflate istate14 = z.istate;
int next_in_index9 = z.next_in_index;
byte[] next_in9 = z.next_in;
long num20 = istate14.need;
int num21 = next_in_index9 + 1;
z.next_in_index = num21;
byte b9 = (byte)((long)b9 + num20);
istate14.need = (long)b9;
z.istate.mode = (int)((ulong)5L);
int avail_in10 = z.avail_in;
while (avail_in10 == 0)
{
}
z.avail_in = avail_in10;
Inflate istate15 = z.istate;
int next_in_index10 = z.next_in_index;
byte[] next_in10 = z.next_in;
long num22 = istate15.need;
int num23 = next_in_index10 + 1;
z.next_in_index = num23;
byte b10 = (byte)((long)b10 + num22);
istate15.need = (long)b10;
Inflate istate16 = z.istate;
long num24 = istate16.need;
z.adler = num24;
istate16.mode = (int)((ulong)6L);
istate15.mode = (int)((ulong)13L);
z.msg = "need dictionary";
z.istate.marker = num;
}
}
throw new NullReferenceException();
}
// Token: 0x060098BC RID: 39100 RVA: 0x001FA8F8 File Offset: 0x001F8AF8
[Token(Token = "0x60098BC")]
[Address(RVA = "0x16246B0", Offset = "0x16234B0", VA = "0x1816246B0")]
internal int inflateSetDictionary(ZStream z, byte[] dictionary, int dictLength)
{
if (z != 0)
{
Inflate istate = z.istate;
if (istate != 0 && istate.mode == 6)
{
Adler32 adler = z._adler;
int num = 0;
uint num2;
if (adler.adler32((long)num2, dictionary, num, dictLength) == z.adler)
{
Adler32 adler2 = z._adler;
Inflate istate2 = z.istate;
long num3;
z.adler = num3;
uint num4 = num2 - 1U;
istate2.blocks.set_dictionary(dictionary, dictLength, (int)num4);
z.istate.mode = (int)((ulong)7L);
return 0;
}
}
}
throw new NullReferenceException();
}
// Token: 0x060098BD RID: 39101 RVA: 0x001FA980 File Offset: 0x001F8B80
[Token(Token = "0x60098BD")]
[Address(RVA = "0x1624820", Offset = "0x1623620", VA = "0x181624820")]
internal int inflateSync(ZStream z)
{
if (z != 0)
{
Inflate istate = z.istate;
if (istate != 0)
{
if (istate.mode != 13)
{
istate.mode = (int)((ulong)13L);
z.istate.marker = (int)((ulong)0L);
}
int avail_in = z.avail_in;
if (avail_in != 0)
{
Inflate istate2 = z.istate;
int num = z.next_in_index;
int num2 = istate2.marker;
int num4;
if (num2 < 4)
{
byte b = z.next_in[num];
byte[] array = Inflate.mark;
byte[] next_in = z.next_in;
if ("{il2cpp array field local11->}" == (ulong)0L)
{
uint num3;
num3 -= (uint)num2;
}
num4 = 0;
num4++;
num++;
while ("{il2cpp array field local11->}" != (ulong)0L)
{
}
}
Inflate istate3 = z.istate;
z.next_in_index = num;
z.avail_in = avail_in;
istate3.marker = num4;
if (num4 == 4)
{
long total_in = z.total_in;
long total_out = z.total_out;
int num5 = this.inflateReset(z);
Inflate istate4 = z.istate;
z.total_in = total_in;
z.total_out = total_out;
istate4.mode = (int)((ulong)7L);
return 0;
}
}
}
}
throw new IndexOutOfRangeException();
}
// Token: 0x060098BE RID: 39102 RVA: 0x001FAA98 File Offset: 0x001F8C98
[Token(Token = "0x60098BE")]
[Address(RVA = "0x16247F0", Offset = "0x16235F0", VA = "0x1816247F0")]
internal int inflateSyncPoint(ZStream z)
{
if (z != 0)
{
Inflate istate = z.istate;
if (istate != 0)
{
InfBlocks infBlocks = istate.blocks;
if (infBlocks != 0)
{
return infBlocks.sync_point();
}
}
}
return -2;
}
// Token: 0x060098BF RID: 39103 RVA: 0x001FAAC8 File Offset: 0x001F8CC8
[Token(Token = "0x60098BF")]
[Address(RVA = "0x16244B0", Offset = "0x16232B0", VA = "0x1816244B0")]
public Inflate()
{
long[] array = new long[1];
this.was = array;
base..ctor();
}
// Token: 0x060098C0 RID: 39104 RVA: 0x001FAAEC File Offset: 0x001F8CEC
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x60098C0")]
[Address(RVA = "0x1624420", Offset = "0x1623220", VA = "0x181624420")]
static Inflate()
{
byte[] array = new byte[4];
array[0] = (byte)((ulong)255L);
array[0] = (byte)((ulong)255L);
Inflate.mark = array;
}
// Token: 0x040067C6 RID: 26566
[Token(Token = "0x40067C6")]
private const int MAX_WBITS = 15;
// Token: 0x040067C7 RID: 26567
[Token(Token = "0x40067C7")]
private const int PRESET_DICT = 32;
// Token: 0x040067C8 RID: 26568
[Token(Token = "0x40067C8")]
internal const int Z_NO_FLUSH = 0;
// Token: 0x040067C9 RID: 26569
[Token(Token = "0x40067C9")]
internal const int Z_PARTIAL_FLUSH = 1;
// Token: 0x040067CA RID: 26570
[Token(Token = "0x40067CA")]
internal const int Z_SYNC_FLUSH = 2;
// Token: 0x040067CB RID: 26571
[Token(Token = "0x40067CB")]
internal const int Z_FULL_FLUSH = 3;
// Token: 0x040067CC RID: 26572
[Token(Token = "0x40067CC")]
internal const int Z_FINISH = 4;
// Token: 0x040067CD RID: 26573
[Token(Token = "0x40067CD")]
private const int Z_DEFLATED = 8;
// Token: 0x040067CE RID: 26574
[Token(Token = "0x40067CE")]
private const int Z_OK = 0;
// Token: 0x040067CF RID: 26575
[Token(Token = "0x40067CF")]
private const int Z_STREAM_END = 1;
// Token: 0x040067D0 RID: 26576
[Token(Token = "0x40067D0")]
private const int Z_NEED_DICT = 2;
// Token: 0x040067D1 RID: 26577
[Token(Token = "0x40067D1")]
private const int Z_ERRNO = -1;
// Token: 0x040067D2 RID: 26578
[Token(Token = "0x40067D2")]
private const int Z_STREAM_ERROR = -2;
// Token: 0x040067D3 RID: 26579
[Token(Token = "0x40067D3")]
private const int Z_DATA_ERROR = -3;
// Token: 0x040067D4 RID: 26580
[Token(Token = "0x40067D4")]
private const int Z_MEM_ERROR = -4;
// Token: 0x040067D5 RID: 26581
[Token(Token = "0x40067D5")]
private const int Z_BUF_ERROR = -5;
// Token: 0x040067D6 RID: 26582
[Token(Token = "0x40067D6")]
private const int Z_VERSION_ERROR = -6;
// Token: 0x040067D7 RID: 26583
[Token(Token = "0x40067D7")]
private const int METHOD = 0;
// Token: 0x040067D8 RID: 26584
[Token(Token = "0x40067D8")]
private const int FLAG = 1;
// Token: 0x040067D9 RID: 26585
[Token(Token = "0x40067D9")]
private const int DICT4 = 2;
// Token: 0x040067DA RID: 26586
[Token(Token = "0x40067DA")]
private const int DICT3 = 3;
// Token: 0x040067DB RID: 26587
[Token(Token = "0x40067DB")]
private const int DICT2 = 4;
// Token: 0x040067DC RID: 26588
[Token(Token = "0x40067DC")]
private const int DICT1 = 5;
// Token: 0x040067DD RID: 26589
[Token(Token = "0x40067DD")]
private const int DICT0 = 6;
// Token: 0x040067DE RID: 26590
[Token(Token = "0x40067DE")]
private const int BLOCKS = 7;
// Token: 0x040067DF RID: 26591
[Token(Token = "0x40067DF")]
private const int CHECK4 = 8;
// Token: 0x040067E0 RID: 26592
[Token(Token = "0x40067E0")]
private const int CHECK3 = 9;
// Token: 0x040067E1 RID: 26593
[Token(Token = "0x40067E1")]
private const int CHECK2 = 10;
// Token: 0x040067E2 RID: 26594
[Token(Token = "0x40067E2")]
private const int CHECK1 = 11;
// Token: 0x040067E3 RID: 26595
[Token(Token = "0x40067E3")]
private const int DONE = 12;
// Token: 0x040067E4 RID: 26596
[Token(Token = "0x40067E4")]
private const int BAD = 13;
// Token: 0x040067E5 RID: 26597
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40067E5")]
internal int mode;
// Token: 0x040067E6 RID: 26598
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x40067E6")]
internal int method;
// Token: 0x040067E7 RID: 26599
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40067E7")]
internal long[] was;
// Token: 0x040067E8 RID: 26600
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40067E8")]
internal long need;
// Token: 0x040067E9 RID: 26601
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40067E9")]
internal int marker;
// Token: 0x040067EA RID: 26602
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x40067EA")]
internal int nowrap;
// Token: 0x040067EB RID: 26603
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40067EB")]
internal int wbits;
// Token: 0x040067EC RID: 26604
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40067EC")]
internal InfBlocks blocks;
// Token: 0x040067ED RID: 26605
[Token(Token = "0x40067ED")]
private static readonly byte[] mark;
}
}