572 lines
15 KiB
C#
572 lines
15 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Zlib
|
|
{
|
|
// Token: 0x02001A0F RID: 6671
|
|
[Token(Token = "0x2001A0F")]
|
|
internal sealed class Inflate
|
|
{
|
|
// Token: 0x06009C86 RID: 40070 RVA: 0x00203390 File Offset: 0x00201590
|
|
[Token(Token = "0x6009C86")]
|
|
[Address(RVA = "0x411770", Offset = "0x410770", VA = "0x180411770")]
|
|
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: 0x06009C87 RID: 40071 RVA: 0x002033E0 File Offset: 0x002015E0
|
|
[Token(Token = "0x6009C87")]
|
|
[Address(RVA = "0x411630", Offset = "0x410630", VA = "0x180411630")]
|
|
internal int inflateEnd(ZStream z)
|
|
{
|
|
InfBlocks infBlocks = this.blocks;
|
|
if (infBlocks != 0)
|
|
{
|
|
infBlocks.free(z);
|
|
}
|
|
int num = 0;
|
|
this.blocks = num;
|
|
return num;
|
|
}
|
|
|
|
// Token: 0x06009C88 RID: 40072 RVA: 0x0020340C File Offset: 0x0020160C
|
|
[Token(Token = "0x6009C88")]
|
|
[Address(RVA = "0x411660", Offset = "0x410660", VA = "0x180411660")]
|
|
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: 0x06009C89 RID: 40073 RVA: 0x0020346C File Offset: 0x0020166C
|
|
[Token(Token = "0x6009C89")]
|
|
[Address(RVA = "0x411B80", Offset = "0x410B80", VA = "0x180411B80")]
|
|
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: 0x06009C8A RID: 40074 RVA: 0x00203990 File Offset: 0x00201B90
|
|
[Token(Token = "0x6009C8A")]
|
|
[Address(RVA = "0x4117E0", Offset = "0x4107E0", VA = "0x1804117E0")]
|
|
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: 0x06009C8B RID: 40075 RVA: 0x00203A18 File Offset: 0x00201C18
|
|
[Token(Token = "0x6009C8B")]
|
|
[Address(RVA = "0x411950", Offset = "0x410950", VA = "0x180411950")]
|
|
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: 0x06009C8C RID: 40076 RVA: 0x00203B30 File Offset: 0x00201D30
|
|
[Token(Token = "0x6009C8C")]
|
|
[Address(RVA = "0x411920", Offset = "0x410920", VA = "0x180411920")]
|
|
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: 0x06009C8D RID: 40077 RVA: 0x00203B60 File Offset: 0x00201D60
|
|
[Token(Token = "0x6009C8D")]
|
|
[Address(RVA = "0x4115E0", Offset = "0x4105E0", VA = "0x1804115E0")]
|
|
public Inflate()
|
|
{
|
|
long[] array = new long[1];
|
|
this.was = array;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x06009C8E RID: 40078 RVA: 0x00203B84 File Offset: 0x00201D84
|
|
// Note: this type is marked as 'beforefieldinit'.
|
|
[Token(Token = "0x6009C8E")]
|
|
[Address(RVA = "0x411550", Offset = "0x410550", VA = "0x180411550")]
|
|
static Inflate()
|
|
{
|
|
byte[] array = new byte[4];
|
|
array[0] = (byte)((ulong)255L);
|
|
array[0] = (byte)((ulong)255L);
|
|
Inflate.mark = array;
|
|
}
|
|
|
|
// Token: 0x0400697F RID: 27007
|
|
[Token(Token = "0x400697F")]
|
|
private const int MAX_WBITS = 15;
|
|
|
|
// Token: 0x04006980 RID: 27008
|
|
[Token(Token = "0x4006980")]
|
|
private const int PRESET_DICT = 32;
|
|
|
|
// Token: 0x04006981 RID: 27009
|
|
[Token(Token = "0x4006981")]
|
|
internal const int Z_NO_FLUSH = 0;
|
|
|
|
// Token: 0x04006982 RID: 27010
|
|
[Token(Token = "0x4006982")]
|
|
internal const int Z_PARTIAL_FLUSH = 1;
|
|
|
|
// Token: 0x04006983 RID: 27011
|
|
[Token(Token = "0x4006983")]
|
|
internal const int Z_SYNC_FLUSH = 2;
|
|
|
|
// Token: 0x04006984 RID: 27012
|
|
[Token(Token = "0x4006984")]
|
|
internal const int Z_FULL_FLUSH = 3;
|
|
|
|
// Token: 0x04006985 RID: 27013
|
|
[Token(Token = "0x4006985")]
|
|
internal const int Z_FINISH = 4;
|
|
|
|
// Token: 0x04006986 RID: 27014
|
|
[Token(Token = "0x4006986")]
|
|
private const int Z_DEFLATED = 8;
|
|
|
|
// Token: 0x04006987 RID: 27015
|
|
[Token(Token = "0x4006987")]
|
|
private const int Z_OK = 0;
|
|
|
|
// Token: 0x04006988 RID: 27016
|
|
[Token(Token = "0x4006988")]
|
|
private const int Z_STREAM_END = 1;
|
|
|
|
// Token: 0x04006989 RID: 27017
|
|
[Token(Token = "0x4006989")]
|
|
private const int Z_NEED_DICT = 2;
|
|
|
|
// Token: 0x0400698A RID: 27018
|
|
[Token(Token = "0x400698A")]
|
|
private const int Z_ERRNO = -1;
|
|
|
|
// Token: 0x0400698B RID: 27019
|
|
[Token(Token = "0x400698B")]
|
|
private const int Z_STREAM_ERROR = -2;
|
|
|
|
// Token: 0x0400698C RID: 27020
|
|
[Token(Token = "0x400698C")]
|
|
private const int Z_DATA_ERROR = -3;
|
|
|
|
// Token: 0x0400698D RID: 27021
|
|
[Token(Token = "0x400698D")]
|
|
private const int Z_MEM_ERROR = -4;
|
|
|
|
// Token: 0x0400698E RID: 27022
|
|
[Token(Token = "0x400698E")]
|
|
private const int Z_BUF_ERROR = -5;
|
|
|
|
// Token: 0x0400698F RID: 27023
|
|
[Token(Token = "0x400698F")]
|
|
private const int Z_VERSION_ERROR = -6;
|
|
|
|
// Token: 0x04006990 RID: 27024
|
|
[Token(Token = "0x4006990")]
|
|
private const int METHOD = 0;
|
|
|
|
// Token: 0x04006991 RID: 27025
|
|
[Token(Token = "0x4006991")]
|
|
private const int FLAG = 1;
|
|
|
|
// Token: 0x04006992 RID: 27026
|
|
[Token(Token = "0x4006992")]
|
|
private const int DICT4 = 2;
|
|
|
|
// Token: 0x04006993 RID: 27027
|
|
[Token(Token = "0x4006993")]
|
|
private const int DICT3 = 3;
|
|
|
|
// Token: 0x04006994 RID: 27028
|
|
[Token(Token = "0x4006994")]
|
|
private const int DICT2 = 4;
|
|
|
|
// Token: 0x04006995 RID: 27029
|
|
[Token(Token = "0x4006995")]
|
|
private const int DICT1 = 5;
|
|
|
|
// Token: 0x04006996 RID: 27030
|
|
[Token(Token = "0x4006996")]
|
|
private const int DICT0 = 6;
|
|
|
|
// Token: 0x04006997 RID: 27031
|
|
[Token(Token = "0x4006997")]
|
|
private const int BLOCKS = 7;
|
|
|
|
// Token: 0x04006998 RID: 27032
|
|
[Token(Token = "0x4006998")]
|
|
private const int CHECK4 = 8;
|
|
|
|
// Token: 0x04006999 RID: 27033
|
|
[Token(Token = "0x4006999")]
|
|
private const int CHECK3 = 9;
|
|
|
|
// Token: 0x0400699A RID: 27034
|
|
[Token(Token = "0x400699A")]
|
|
private const int CHECK2 = 10;
|
|
|
|
// Token: 0x0400699B RID: 27035
|
|
[Token(Token = "0x400699B")]
|
|
private const int CHECK1 = 11;
|
|
|
|
// Token: 0x0400699C RID: 27036
|
|
[Token(Token = "0x400699C")]
|
|
private const int DONE = 12;
|
|
|
|
// Token: 0x0400699D RID: 27037
|
|
[Token(Token = "0x400699D")]
|
|
private const int BAD = 13;
|
|
|
|
// Token: 0x0400699E RID: 27038
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400699E")]
|
|
internal int mode;
|
|
|
|
// Token: 0x0400699F RID: 27039
|
|
[FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x400699F")]
|
|
internal int method;
|
|
|
|
// Token: 0x040069A0 RID: 27040
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x40069A0")]
|
|
internal long[] was;
|
|
|
|
// Token: 0x040069A1 RID: 27041
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x40069A1")]
|
|
internal long need;
|
|
|
|
// Token: 0x040069A2 RID: 27042
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x40069A2")]
|
|
internal int marker;
|
|
|
|
// Token: 0x040069A3 RID: 27043
|
|
[FieldOffset(Offset = "0x2C")]
|
|
[Token(Token = "0x40069A3")]
|
|
internal int nowrap;
|
|
|
|
// Token: 0x040069A4 RID: 27044
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x40069A4")]
|
|
internal int wbits;
|
|
|
|
// Token: 0x040069A5 RID: 27045
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x40069A5")]
|
|
internal InfBlocks blocks;
|
|
|
|
// Token: 0x040069A6 RID: 27046
|
|
[Token(Token = "0x40069A6")]
|
|
private static readonly byte[] mark;
|
|
}
|
|
}
|