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; } }