using System; using System.Runtime.InteropServices; using Cpp2IlInjected; namespace BestHTTP.Decompression.Zlib { // Token: 0x020019CF RID: 6607 [Token(Token = "0x20019CF")] [StructLayout(3)] internal sealed class InflateManager { // Token: 0x17001CB6 RID: 7350 // (get) Token: 0x0600B1C5 RID: 45509 RVA: 0x0029B41C File Offset: 0x0029961C // (set) Token: 0x0600B1C6 RID: 45510 RVA: 0x0029B430 File Offset: 0x00299630 [Token(Token = "0x17001CB6")] internal bool HandleRfc1950HeaderBytes { [Token(Token = "0x600B1C5")] [Address(RVA = "0x4CB2D0", Offset = "0x4C9CD0", VA = "0x1804CB2D0")] get { return this._handleRfc1950HeaderBytes; } [Token(Token = "0x600B1C6")] [Address(RVA = "0x4CB340", Offset = "0x4C9D40", VA = "0x1804CB340")] set { this._handleRfc1950HeaderBytes = value; } } // Token: 0x0600B1C7 RID: 45511 RVA: 0x0029B444 File Offset: 0x00299644 [Token(Token = "0x600B1C7")] [Address(RVA = "0x639FF0", Offset = "0x6389F0", VA = "0x180639FF0")] public InflateManager() { } // Token: 0x0600B1C8 RID: 45512 RVA: 0x0029B460 File Offset: 0x00299660 [Token(Token = "0x600B1C8")] [Address(RVA = "0xE31C30", Offset = "0xE30630", VA = "0x180E31C30")] public InflateManager(bool expectRfc1950HeaderBytes) { this._handleRfc1950HeaderBytes = expectRfc1950HeaderBytes; } // Token: 0x0600B1C9 RID: 45513 RVA: 0x0029B484 File Offset: 0x00299684 [Token(Token = "0x600B1C9")] [Address(RVA = "0x1E66060", Offset = "0x1E64A60", VA = "0x181E66060")] internal int Reset() { ZlibCodec codec = this._codec; int num = 0; codec.TotalBytesOut = (long)num; codec.TotalBytesIn = (long)num; this._codec.Message = num; this.mode = (InflateManager.InflateManagerMode)((uint)7); uint num2 = this.blocks.Reset(); return 0; } // Token: 0x0600B1CA RID: 45514 RVA: 0x0029B4D0 File Offset: 0x002996D0 [Token(Token = "0x600B1CA")] [Address(RVA = "0x1E655C0", Offset = "0x1E63FC0", VA = "0x181E655C0")] internal int End() { InflateBlocks inflateBlocks = this.blocks; if (inflateBlocks != 0) { inflateBlocks.Free(); } int num = 0; this.blocks = num; return num; } // Token: 0x0600B1CB RID: 45515 RVA: 0x0029B4F8 File Offset: 0x002996F8 [Token(Token = "0x600B1CB")] [Address(RVA = "0x1E65F20", Offset = "0x1E64920", VA = "0x181E65F20")] internal int Initialize(ZlibCodec codec, int w) { this._codec = codec; int num = 0; codec.Message = num; this.blocks = num; bool handleRfc1950HeaderBytes = this._handleRfc1950HeaderBytes; this.wbits = w; InflateBlocks inflateBlocks = new InflateBlocks(codec, num, 1); this.blocks = inflateBlocks; ZlibCodec codec2 = this._codec; codec2.TotalBytesOut = (long)num; codec2.TotalBytesIn = (long)num; this._codec.Message = num; this.mode = (InflateManager.InflateManagerMode)((uint)7); uint num2 = this.blocks.Reset(); return 0; } // Token: 0x0600B1CC RID: 45516 RVA: 0x0029B58C File Offset: 0x0029978C [Token(Token = "0x600B1CC")] [Address(RVA = "0x1E655F0", Offset = "0x1E63FF0", VA = "0x181E655F0")] internal int Inflate(FlushType flush) { /* An exception occurred when decompiling this method (0600B1CC) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.InflateManager::Inflate(BestHTTP.Decompression.Zlib.FlushType) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_5BD: stloc:ZlibException(var_104_5C7, newobj:ZlibException(ZlibException::.ctor, ldstr:string("Stream error."))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x0600B1CD RID: 45517 RVA: 0x0029BB64 File Offset: 0x00299D64 [Token(Token = "0x600B1CD")] [Address(RVA = "0x1E660B0", Offset = "0x1E64AB0", VA = "0x181E660B0")] internal int SetDictionary(byte[] dictionary) { /* An exception occurred when decompiling this method (0600B1CD) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.InflateManager::SetDictionary(System.Byte[]) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_80: stloc:ZlibException(var_13_8A, newobj:ZlibException(ZlibException::.ctor, ldstr:string("Stream error."))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x0600B1CE RID: 45518 RVA: 0x0029BBFC File Offset: 0x00299DFC [Token(Token = "0x600B1CE")] [Address(RVA = "0x1E66250", Offset = "0x1E64C50", VA = "0x181E66250")] internal int Sync() { int num = 0; if (this.mode != InflateManager.InflateManagerMode.BAD) { this.mode = (InflateManager.InflateManagerMode)((ulong)13L); this.marker = num; } ZlibCodec codec = this._codec; int availableBytesIn = codec.AvailableBytesIn; if (availableBytesIn != 0) { int num2 = codec.NextIn; int num3 = this.marker; if (num3 < 4) { byte b = this._codec.InputBuffer[num2]; byte[] array = InflateManager.mark; byte[] inputBuffer = this._codec.InputBuffer; if ("{il2cpp array field local11->}" == num) { uint num4; num4 -= (uint)num3; } num++; num2++; while ("{il2cpp array field local11->}" != num) { } } ZlibCodec codec2 = this._codec; this._codec.NextIn = num2; this._codec.AvailableBytesIn = availableBytesIn; this.marker = num; if (num == 4) { ZlibCodec codec3 = this._codec; long totalBytesIn = codec3.TotalBytesIn; long totalBytesOut = codec3.TotalBytesOut; codec3.TotalBytesOut = (long)num; codec3.TotalBytesIn = (long)num; this._codec.Message = num; uint num5; this.mode = (InflateManager.InflateManagerMode)num5; uint num6 = this.blocks.Reset(); this._codec.TotalBytesIn = totalBytesIn; this._codec.TotalBytesOut = totalBytesOut; int num7 = 0; this.mode = (InflateManager.InflateManagerMode)num5; return num7; } } throw new NullReferenceException(); } // Token: 0x0600B1CF RID: 45519 RVA: 0x0029BD38 File Offset: 0x00299F38 [Token(Token = "0x600B1CF")] [Address(RVA = "0x1E66230", Offset = "0x1E64C30", VA = "0x181E66230")] internal int SyncPoint(ZlibCodec z) { return this.blocks.SyncPoint(); } // Token: 0x0600B1D0 RID: 45520 RVA: 0x0029BD58 File Offset: 0x00299F58 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x600B1D0")] [Address(RVA = "0x1E664C0", Offset = "0x1E64EC0", VA = "0x181E664C0")] static InflateManager() { byte[] array = new byte[4]; array[0] = (byte)((ulong)255L); array[0] = (byte)((ulong)255L); InflateManager.mark = array; } // Token: 0x04007503 RID: 29955 [Token(Token = "0x4007503")] private const int PRESET_DICT = 32; // Token: 0x04007504 RID: 29956 [Token(Token = "0x4007504")] private const int Z_DEFLATED = 8; // Token: 0x04007505 RID: 29957 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4007505")] private InflateManager.InflateManagerMode mode; // Token: 0x04007506 RID: 29958 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4007506")] internal ZlibCodec _codec; // Token: 0x04007507 RID: 29959 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4007507")] internal int method; // Token: 0x04007508 RID: 29960 [global::Cpp2IlInjected.FieldOffset(Offset = "0x24")] [Token(Token = "0x4007508")] internal uint computedCheck; // Token: 0x04007509 RID: 29961 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4007509")] internal uint expectedCheck; // Token: 0x0400750A RID: 29962 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")] [Token(Token = "0x400750A")] internal int marker; // Token: 0x0400750B RID: 29963 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x400750B")] private bool _handleRfc1950HeaderBytes = true; // Token: 0x0400750C RID: 29964 [global::Cpp2IlInjected.FieldOffset(Offset = "0x34")] [Token(Token = "0x400750C")] internal int wbits; // Token: 0x0400750D RID: 29965 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x400750D")] internal InflateBlocks blocks; // Token: 0x0400750E RID: 29966 [Token(Token = "0x400750E")] private static readonly byte[] mark; // Token: 0x020019D0 RID: 6608 [Token(Token = "0x20019D0")] private enum InflateManagerMode { // Token: 0x04007510 RID: 29968 [Token(Token = "0x4007510")] METHOD, // Token: 0x04007511 RID: 29969 [Token(Token = "0x4007511")] FLAG, // Token: 0x04007512 RID: 29970 [Token(Token = "0x4007512")] DICT4, // Token: 0x04007513 RID: 29971 [Token(Token = "0x4007513")] DICT3, // Token: 0x04007514 RID: 29972 [Token(Token = "0x4007514")] DICT2, // Token: 0x04007515 RID: 29973 [Token(Token = "0x4007515")] DICT1, // Token: 0x04007516 RID: 29974 [Token(Token = "0x4007516")] DICT0, // Token: 0x04007517 RID: 29975 [Token(Token = "0x4007517")] BLOCKS, // Token: 0x04007518 RID: 29976 [Token(Token = "0x4007518")] CHECK4, // Token: 0x04007519 RID: 29977 [Token(Token = "0x4007519")] CHECK3, // Token: 0x0400751A RID: 29978 [Token(Token = "0x400751A")] CHECK2, // Token: 0x0400751B RID: 29979 [Token(Token = "0x400751B")] CHECK1, // Token: 0x0400751C RID: 29980 [Token(Token = "0x400751C")] DONE, // Token: 0x0400751D RID: 29981 [Token(Token = "0x400751D")] BAD } } }