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