using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Zlib { // Token: 0x02001350 RID: 4944 [Token(Token = "0x2001350")] [StructLayout(3)] internal sealed class InfCodes { // Token: 0x06007CD1 RID: 31953 RVA: 0x001A1D70 File Offset: 0x0019FF70 [Token(Token = "0x6007CD1")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] internal InfCodes() { int num = 0; this.free(num); } // Token: 0x06007CD2 RID: 31954 RVA: 0x001A1D88 File Offset: 0x0019FF88 [Token(Token = "0x6007CD2")] [Address(RVA = "0xE302D0", Offset = "0xE2ECD0", VA = "0x180E302D0")] internal void init(int bl, int bd, int[] tl, int tl_index, int[] td, int td_index, ZStream z) { int num = 0; this.ltree_index = 0; this.dtree = 0; this.dtree_index = 0; this.mode = num; this.lbits = (byte)bl; this.dbits = (byte)bd; this.ltree = tl; this.tree = num; } // Token: 0x06007CD3 RID: 31955 RVA: 0x001A1DD0 File Offset: 0x0019FFD0 [Token(Token = "0x6007CD3")] [Address(RVA = "0x202E7F0", Offset = "0x202D1F0", VA = "0x18202E7F0")] internal int proc(InfBlocks s, ZStream z, int r) { int next_in_index = z.next_in_index; int avail_in = z.avail_in; int write = s.write; int num = s.read; int bitb = s.bitb; int bitk = s.bitk; if (write < num) { num -= write; } int num2 = s.end; num2 -= write; s.bitb = bitb; s.bitk = bitk; z.avail_in = avail_in; z.next_in_index = next_in_index; s.write = write; int write2 = s.write; int num3 = s.read; int bitb2 = s.bitb; int num4 = z.next_in_index; int avail_in2 = z.avail_in; int num5 = s.bitk; if (write2 < num3) { num3 -= write2; } int num6 = s.end; num6 -= write2; int num7; if (num7 != 0) { } uint num8; int num9; if (num5 < (int)num8) { if (avail_in2 == 0) { goto IL_373; } num9 = 0; byte[] next_in = z.next_in; num4++; num5 += 8; } int num10 = InfCodes.inflate_mask[(int)num8]; byte b; num10 += (int)b; num5 -= num9; uint num11; if (num5 < (int)num11) { if (avail_in2 == 0) { goto IL_373; } byte[] next_in2 = z.next_in; num4++; num5 += 8; } int num12 = InfCodes.inflate_mask[(int)num11]; byte b2; num12 += (int)b2; num5 -= (int)num11; if (num5 < (int)num11) { if (avail_in2 == 0) { goto IL_373; } byte[] next_in3 = z.next_in; num4++; num5 += 8; } int num13 = InfCodes.inflate_mask[(int)num11]; byte b3; num13 += (int)b3; num5 -= r; uint num14; int num15; if (num5 < (int)num14) { if (avail_in2 == 0) { goto IL_373; } num15 = 0; byte[] next_in4 = z.next_in; num4++; num5 += 8; } int num16 = InfCodes.inflate_mask[(int)num14]; byte b4; num16 += (int)b4; num5 -= (int)num14; int num18; int num19; int num20; if (num6 == 0) { int num17 = s.end; if (write2 == num17) { int read = s.read; if (read != 0) { if (read > 0) { } if (num17 != 0) { goto IL_258; } } } s.write = write2; num18 = s.inflate_flush(z, num15); int write3 = s.write; int end = s.end; int read2 = s.read; if (write3 < read2) { num17 = read2; num17 -= write3; } num17 -= write3; if (write3 == end && read2 != 0) { num19 = 0; num20 = read2 - 1; if (read2 <= 0) { } } if (num20 == 0) { goto IL_3BD; } } IL_258: byte[] window = s.window; int num21 = write2 + 1; num19++; int length = window.Length; int end2 = s.end; int i; if (num20 == 0) { int end3 = s.end; int num22; if (num19 == end3) { int read3 = s.read; if (read3 != 0) { num22 = 0; int num23; if (read3 > 0) { num23 = read3 - 1; } if (num23 != 0) { goto IL_32A; } } } s.write = num22; num21 = num18; int num24 = s.inflate_flush(z, num21); int read4 = s.read; int write4 = s.write; if (write4 < read4) { int num23 = read4; num23 -= write4; } int num25 = s.end; num25 -= write4; int end4 = s.end; int num26; if (write4 == end4 && read4 != 0) { i = 0; num26 = read4 - 1; num26 = end4; } if (num26 == 0) { goto IL_3D3; } } IL_32A: byte[] window2 = s.window; int num27 = 0; i++; while (i <= 9) { } s.bitb = bitb2; s.bitk = num5; z.avail_in = avail_in2; z.next_in_index = num4; s.write = i; return s.inflate_flush(z, -2); IL_373: s.bitb = -2; s.bitk = 0; z.avail_in = (int)((ulong)0L); z.next_in_index = 0; s.write = 0; z.msg = "invalid literal/length code"; s.bitb = 0; z.msg = "invalid distance code"; s.bitb = 0; IL_3BD: s.bitb = bitb2; s.bitk = 0; z.avail_in = 0; IL_3D3: s.bitb = bitb2; s.bitk = 0; z.avail_in = 0; z.next_in_index = 0; s.write = 0; s.write = 0; int num28 = s.inflate_flush(z, num27); int write5 = s.write; while (s.read != write5) { } s.bitb = bitb2; s.bitk = 0; z.avail_in = 0; z.next_in_index = 0; s.write = write5; s.bitb = 1; s.bitk = 0; z.avail_in = 0; z.next_in_index = 0; s.write = write5; throw new NullReferenceException(); } // Token: 0x06007CD4 RID: 31956 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6007CD4")] [Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60")] internal void free(ZStream z) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06007CD5 RID: 31957 RVA: 0x001A2248 File Offset: 0x001A0448 [Token(Token = "0x6007CD5")] [Address(RVA = "0x202DC20", Offset = "0x202C620", VA = "0x18202DC20")] internal int inflate_fast(int bl, int bd, int[] tl, int tl_index, int[] td, int td_index, InfBlocks s, ZStream z) { int[] array = InfCodes.inflate_mask; int length = array.Length; int num = array[bl]; int num2 = array[bd]; int num12; if (bl != 0) { int num3 = bd + 1; if (bl == 16) { if (bl != 64) { goto IL_FE; } int num4 = InfCodes.inflate_mask[bl]; num4 += bd; while (bl != 0) { } int num5 = bd + 1; } int num6 = InfCodes.inflate_mask[bl]; num6 += bd; int num7 = bd + 1; if (bl == 16) { if (bl != 64) { goto IL_10A; } int num8 = InfCodes.inflate_mask[bl]; num8 += bd; } int num9 = InfCodes.inflate_mask[bl]; num9 += bd; int num10; if (num6 > bd) { num6 -= bd; num10 = bd - 1; while (num10 != 0) { } int num11 = 0; num12 = 0; if (num11 == 1) { goto IL_F0; } num12 += 2; } num10 -= num12; if (num10 > 0 && num6 > num10) { num12++; int num13 = num6 - 1; num6 = num13; while (num13 != 0) { } } IL_F0: Array.Copy(num12, num12, num12, 1, num6); } IL_FE: if (num12 == 32) { } uint num14; num14 -= tl; IL_10A: throw new NullReferenceException(); } // Token: 0x06007CD6 RID: 31958 RVA: 0x001A2364 File Offset: 0x001A0564 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x6007CD6")] [Address(RVA = "0x202DBC0", Offset = "0x202C5C0", VA = "0x18202DBC0")] static InfCodes() { int[] array = new int[17]; RuntimeHelpers.InitializeArray(array, fieldof(.F584B6C7CCA3CD4ECC3B9B1E20D2F2EFB73DBBDF).FieldHandle); InfCodes.inflate_mask = array; } // Token: 0x04005948 RID: 22856 [Token(Token = "0x4005948")] private static readonly int[] inflate_mask; // Token: 0x04005949 RID: 22857 [Token(Token = "0x4005949")] private const int Z_OK = 0; // Token: 0x0400594A RID: 22858 [Token(Token = "0x400594A")] private const int Z_STREAM_END = 1; // Token: 0x0400594B RID: 22859 [Token(Token = "0x400594B")] private const int Z_NEED_DICT = 2; // Token: 0x0400594C RID: 22860 [Token(Token = "0x400594C")] private const int Z_ERRNO = -1; // Token: 0x0400594D RID: 22861 [Token(Token = "0x400594D")] private const int Z_STREAM_ERROR = -2; // Token: 0x0400594E RID: 22862 [Token(Token = "0x400594E")] private const int Z_DATA_ERROR = -3; // Token: 0x0400594F RID: 22863 [Token(Token = "0x400594F")] private const int Z_MEM_ERROR = -4; // Token: 0x04005950 RID: 22864 [Token(Token = "0x4005950")] private const int Z_BUF_ERROR = -5; // Token: 0x04005951 RID: 22865 [Token(Token = "0x4005951")] private const int Z_VERSION_ERROR = -6; // Token: 0x04005952 RID: 22866 [Token(Token = "0x4005952")] private const int START = 0; // Token: 0x04005953 RID: 22867 [Token(Token = "0x4005953")] private const int LEN = 1; // Token: 0x04005954 RID: 22868 [Token(Token = "0x4005954")] private const int LENEXT = 2; // Token: 0x04005955 RID: 22869 [Token(Token = "0x4005955")] private const int DIST = 3; // Token: 0x04005956 RID: 22870 [Token(Token = "0x4005956")] private const int DISTEXT = 4; // Token: 0x04005957 RID: 22871 [Token(Token = "0x4005957")] private const int COPY = 5; // Token: 0x04005958 RID: 22872 [Token(Token = "0x4005958")] private const int LIT = 6; // Token: 0x04005959 RID: 22873 [Token(Token = "0x4005959")] private const int WASH = 7; // Token: 0x0400595A RID: 22874 [Token(Token = "0x400595A")] private const int END = 8; // Token: 0x0400595B RID: 22875 [Token(Token = "0x400595B")] private const int BADCODE = 9; // Token: 0x0400595C RID: 22876 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x400595C")] private int mode; // Token: 0x0400595D RID: 22877 [global::Cpp2IlInjected.FieldOffset(Offset = "0x14")] [Token(Token = "0x400595D")] private int len; // Token: 0x0400595E RID: 22878 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400595E")] private int[] tree; // Token: 0x0400595F RID: 22879 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x400595F")] private int tree_index; // Token: 0x04005960 RID: 22880 [global::Cpp2IlInjected.FieldOffset(Offset = "0x24")] [Token(Token = "0x4005960")] private int need; // Token: 0x04005961 RID: 22881 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4005961")] private int lit; // Token: 0x04005962 RID: 22882 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")] [Token(Token = "0x4005962")] private int get; // Token: 0x04005963 RID: 22883 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4005963")] private int dist; // Token: 0x04005964 RID: 22884 [global::Cpp2IlInjected.FieldOffset(Offset = "0x34")] [Token(Token = "0x4005964")] private byte lbits; // Token: 0x04005965 RID: 22885 [global::Cpp2IlInjected.FieldOffset(Offset = "0x35")] [Token(Token = "0x4005965")] private byte dbits; // Token: 0x04005966 RID: 22886 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4005966")] private int[] ltree; // Token: 0x04005967 RID: 22887 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x4005967")] private int ltree_index; // Token: 0x04005968 RID: 22888 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x4005968")] private int[] dtree; // Token: 0x04005969 RID: 22889 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x4005969")] private int dtree_index; } }