using System; using System.Collections.Generic; using System.IO; using BestHTTP.Decompression.Crc; using BestHTTP.Extensions; using Cpp2IlInjected; namespace BestHTTP.Decompression.Zlib { // Token: 0x02001FB9 RID: 8121 [Token(Token = "0x2001FB9")] internal class ZlibBaseStream : Stream { // Token: 0x170020B8 RID: 8376 // (get) Token: 0x0600CDBF RID: 52671 RVA: 0x002F4D78 File Offset: 0x002F2F78 [Token(Token = "0x170020B8")] internal int Crc32 { [Token(Token = "0x600CDBF")] [Address(RVA = "0x1977D10", Offset = "0x1976B10", VA = "0x181977D10")] get { /* An exception occurred when decompiling this method (0600CDBF) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.Decompression.Zlib.ZlibBaseStream::get_Crc32() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:uint32(var_1_11, ldfld:uint32(CRC32::_register, ldloc:CRC32(var_0_06))) } 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: 0x0600CDC0 RID: 52672 RVA: 0x002F4D98 File Offset: 0x002F2F98 [Token(Token = "0x600CDC0")] [Address(RVA = "0x1977190", Offset = "0x1975F90", VA = "0x181977190")] public ZlibBaseStream(Stream stream, CompressionMode compressionMode, CompressionLevel level, ZlibStreamFlavor flavor, bool leaveOpen) { } // Token: 0x0600CDC1 RID: 52673 RVA: 0x002F4DA8 File Offset: 0x002F2FA8 [Token(Token = "0x600CDC1")] [Address(RVA = "0x19771C0", Offset = "0x1975FC0", VA = "0x1819771C0")] public ZlibBaseStream(Stream stream, CompressionMode compressionMode, CompressionLevel level, ZlibStreamFlavor flavor, bool leaveOpen, int windowBits) { this._streamMode = (ZlibBaseStream.StreamMode)((ulong)2L); this._bufferSize = (int)((ulong)16384L); byte[] array = new byte[1]; this._buf1 = array; base..ctor(); this._leaveOpen = false; this.windowBitsMax = 0; this._flushMode = (FlushType)((ulong)0L); this._stream = stream; this._compressionMode = compressionMode; this._flavor = (ZlibStreamFlavor)0; this._level = level; int num; CRC32 crc = new CRC32(-306674912, num != 0); num = 0; this.crc = crc; } // Token: 0x170020B9 RID: 8377 // (get) Token: 0x0600CDC2 RID: 52674 RVA: 0x002F4E30 File Offset: 0x002F3030 [Token(Token = "0x170020B9")] protected internal bool _wantCompress { [Token(Token = "0x600CDC2")] [Address(RVA = "0x6DAE90", Offset = "0x6D9C90", VA = "0x1806DAE90")] get { return this._compressionMode == CompressionMode.Compress; } } // Token: 0x170020BA RID: 8378 // (get) Token: 0x0600CDC3 RID: 52675 RVA: 0x002F4E48 File Offset: 0x002F3048 [Token(Token = "0x170020BA")] private ZlibCodec z { [Token(Token = "0x600CDC3")] [Address(RVA = "0x1977E20", Offset = "0x1976C20", VA = "0x181977E20")] get { if (this._z == (ulong)0L) { bool flag = this._flavor == ZlibStreamFlavor.ZLIB; ZlibCodec zlibCodec = new ZlibCodec(); zlibCodec.CompressLevel = (CompressionLevel)((ulong)6L); zlibCodec.WindowBits = (int)((ulong)15L); this._z = zlibCodec; if (this._compressionMode != CompressionMode.Decompress) { CompressionStrategy strategy = this.Strategy; zlibCodec.Strategy = strategy; ZlibCodec z = this._z; int num = this.windowBitsMax; CompressionLevel level = this._level; z.WindowBits = num; z.CompressLevel = level; int num2 = z._InternalInitializeDeflate(flag); } int num3 = this.windowBitsMax; int num4 = zlibCodec.InitializeInflate(num3, flag); } return this._z; } } // Token: 0x170020BB RID: 8379 // (get) Token: 0x0600CDC4 RID: 52676 RVA: 0x002F4EF8 File Offset: 0x002F30F8 [Token(Token = "0x170020BB")] private byte[] workingBuffer { [Token(Token = "0x600CDC4")] [Address(RVA = "0x1977DA0", Offset = "0x1976BA0", VA = "0x181977DA0")] get { if (this._workingBuffer == (ulong)0L) { byte[] array = VariableSizedBufferPool.Get((long)this._bufferSize, true); this._workingBuffer = array; } return this._workingBuffer; } } // Token: 0x0600CDC5 RID: 52677 RVA: 0x002F4F2C File Offset: 0x002F312C [Token(Token = "0x600CDC5")] [Address(RVA = "0x1976910", Offset = "0x1975710", VA = "0x181976910", Slot = "29")] public override void Write(byte[] buffer, int offset, int count) { int num; ZlibCodec z3; do { CRC32 crc = this.crc; num = 0; if (crc != 0) { crc.SlurpBlock(buffer, offset, count); } ZlibBaseStream.StreamMode streamMode = this._streamMode; if (streamMode != ZlibBaseStream.StreamMode.Undefined && streamMode != ZlibBaseStream.StreamMode.Writer) { goto IL_14C; } this._streamMode = (ZlibBaseStream.StreamMode)num; if (count == 0) { return; } this.z.InputBuffer = buffer; this._z.NextIn = offset; this._z.AvailableBytesIn = count; ZlibCodec z = this._z; if (this._workingBuffer == num) { ulong num2; byte[] array = VariableSizedBufferPool.Get((long)this._bufferSize, num2 != 0UL); this._workingBuffer = array; } byte[] workingBuffer = this._workingBuffer; z.OutputBuffer = workingBuffer; this._z.NextOut = num; byte[] workingBuffer2 = this._workingBuffer; ZlibCodec z2 = this._z; int length = workingBuffer2.Length; z2.AvailableBytesOut = length; z3 = this._z; FlushType flushMode = this._flushMode; if (this._compressionMode == (CompressionMode)num && z3.dstate == 0) { goto IL_158; } } while (z3.istate == 0); int num3; if (num3 > 1) { goto IL_164; } byte[] workingBuffer3 = this._workingBuffer; ZlibCodec z4 = this._z; int num4 = this._stream.ReadByte(); int availableBytesIn = this._z.AvailableBytesIn; if (availableBytesIn != 0) { } if (this._flavor != ZlibStreamFlavor.GZIP || this._compressionMode == (CompressionMode)num || availableBytesIn == 8) { } while (num == 0) { } return; IL_14C: ZlibException ex = new ZlibException("Cannot Write after Reading."); IL_158: ZlibException ex2 = new ZlibException("No Deflate State!"); IL_164: throw new NullReferenceException(); } // Token: 0x0600CDC6 RID: 52678 RVA: 0x002F50AC File Offset: 0x002F32AC [Token(Token = "0x600CDC6")] [Address(RVA = "0x1977420", Offset = "0x1976220", VA = "0x181977420")] private void finish() { /* An exception occurred when decompiling this method (0600CDC6) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.ZlibBaseStream::finish() ---> System.Exception: Basic block has to end with unconditional control flow. { IL_297: stloc:ZlibException(var_47_2AA, newobj:ZlibException(ZlibException::.ctor, call:string(string::Format, ldstr:string("Bad size in GZIP trailer. (actual({0})!=expected({1}))"), ldloc:ZlibException[exp:object](var_46), ldloc:ZlibException[exp:object](var_46)))) } 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: 0x0600CDC7 RID: 52679 RVA: 0x002F5364 File Offset: 0x002F3564 [Token(Token = "0x600CDC7")] [Address(RVA = "0x19772B0", Offset = "0x19760B0", VA = "0x1819772B0")] private void end() { /* An exception occurred when decompiling this method (0600CDC7) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.ZlibBaseStream::end() ---> System.Exception: Basic block has to end with unconditional control flow. { IL_7A: stloc:ZlibException(var_5_84, newobj:ZlibException(ZlibException::.ctor, ldstr:string("No Deflate State!"))) } 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: 0x0600CDC8 RID: 52680 RVA: 0x002F53F8 File Offset: 0x002F35F8 [Token(Token = "0x600CDC8")] [Address(RVA = "0x1975FA0", Offset = "0x1974DA0", VA = "0x181975FA0", Slot = "15")] public override void Close() { /* An exception occurred when decompiling this method (0600CDC8) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.ZlibBaseStream::Close() ---> System.Exception: Basic block has to end with unconditional control flow. { IL_A0: stloc:ZlibException(var_6_AA, newobj:ZlibException(ZlibException::.ctor, ldstr:string("No Deflate State!"))) } 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: 0x0600CDC9 RID: 52681 RVA: 0x002F54B0 File Offset: 0x002F36B0 [Token(Token = "0x600CDC9")] [Address(RVA = "0x1976190", Offset = "0x1974F90", VA = "0x181976190", Slot = "17")] public override void Flush() { bool canRead = this._stream.CanRead; } // Token: 0x0600CDCA RID: 52682 RVA: 0x002F54D0 File Offset: 0x002F36D0 [Token(Token = "0x600CDCA")] [Address(RVA = "0x1976880", Offset = "0x1975680", VA = "0x181976880", Slot = "25")] public override long Seek(long offset, SeekOrigin origin) { /* An exception occurred when decompiling this method (0600CDCA) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Decompression.Zlib.ZlibBaseStream::Seek(System.Int64,System.IO.SeekOrigin) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor)) } 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: 0x0600CDCB RID: 52683 RVA: 0x002F54E4 File Offset: 0x002F36E4 [Token(Token = "0x600CDCB")] [Address(RVA = "0x19768D0", Offset = "0x19756D0", VA = "0x1819768D0", Slot = "26")] public override void SetLength(long value) { Stream stream = this._stream; this.nomoreinput = false; } // Token: 0x0600CDCC RID: 52684 RVA: 0x002F5508 File Offset: 0x002F3708 [Token(Token = "0x600CDCC")] [Address(RVA = "0x19761C0", Offset = "0x1974FC0", VA = "0x1819761C0")] private string ReadZeroTerminatedString() { List list = new List(); Stream stream = this._stream; byte b = this._buf1[0]; list.Add(b); byte[] array = list.ToArray(); return GZipStream.iso8859dash1.GetString(array); } // Token: 0x0600CDCD RID: 52685 RVA: 0x002F5550 File Offset: 0x002F3750 [Token(Token = "0x600CDCD")] [Address(RVA = "0x1976CB0", Offset = "0x1975AB0", VA = "0x181976CB0")] private int _ReadAndValidateGzipHeader() { byte[] array; do { uint num; ulong num2; array = VariableSizedBufferPool.Get((long)num, num2 != 0UL); Stream stream = this._stream; int length = array.Length; } while ("{il2cpp array field local5->}" != (ulong)31L || "{il2cpp array field local5->}" != (ulong)139L || "{il2cpp array field local5->}" != (ulong)8L); int num3 = BitConverter.ToInt32(array, (int)8.487983164E-314); DateTime unixEpoch = GZipStream._unixEpoch; DateTime dateTime; this._GzipMtime = dateTime; int length2 = array.Length; if ("{il2cpp array field local5->}" != (ulong)4L) { Stream stream2 = this._stream; int length3 = array.Length; byte b = array[0]; byte b2 = array[0]; uint num4; byte b3 = (byte)((uint)b * num4); b3 += b2; Stream stream3 = this._stream; } if ("{il2cpp array field local5->}" != (ulong)8L) { string text = this.ReadZeroTerminatedString(); this._GzipFileName = text; int length4 = array.Length; } if ("{il2cpp array field local5->}" != (ulong)16L) { string text2 = this.ReadZeroTerminatedString(); this._GzipComment = text2; int length5 = array.Length; } if ("{il2cpp array field local5->}" != (ulong)2L) { } VariableSizedBufferPool.Release(array); VariableSizedBufferPool.Release(array); throw new NullReferenceException(); } // Token: 0x0600CDCE RID: 52686 RVA: 0x002F5664 File Offset: 0x002F3864 [Token(Token = "0x600CDCE")] [Address(RVA = "0x1976350", Offset = "0x1975150", VA = "0x181976350", Slot = "27")] public override int Read(byte[] buffer, int offset, int count) { int num; int num4; bool flag; for (;;) { num = 0; if (this._streamMode == ZlibBaseStream.StreamMode.Undefined) { this._stream.Dispose(); this._streamMode = (ZlibBaseStream.StreamMode)((ulong)1L); this.z.AvailableBytesIn = num; if (this._flavor == ZlibStreamFlavor.GZIP) { int num2 = this._ReadAndValidateGzipHeader(); this._gzipHeaderByteCount = num2; if (num2 == 0) { goto IL_1D9; } } } if (this._streamMode != ZlibBaseStream.StreamMode.Reader || count == 0 || ((this.nomoreinput ? 1 : 0) != num && this._compressionMode == (CompressionMode)num)) { goto IL_1D9; } if (buffer != 0) { this._z.OutputBuffer = buffer; this._z.NextOut = offset; this._z.AvailableBytesOut = count; ZlibCodec z = this._z; byte[] workingBuffer = this.workingBuffer; z.InputBuffer = workingBuffer; ZlibCodec z2 = this._z; ZlibCodec z4; if (z2.AvailableBytesIn == num && (this.nomoreinput ? 1 : 0) == num) { z2.NextIn = num; byte[] workingBuffer2 = this._workingBuffer; ZlibCodec z3 = this._z; Stream stream = this._stream; int length = workingBuffer2.Length; z4 = this._z; if (z4.AvailableBytesIn == num) { this.nomoreinput = true; } } FlushType flushMode = this._flushMode; if (this._compressionMode == (CompressionMode)num) { int num3 = z4.Deflate(flushMode); } num4 = z4.Inflate(flushMode); flag = this.nomoreinput; if (flag && num4 == -5) { goto IL_1D9; } if (num4 <= 1) { break; } } } ZlibCodec z5; if ((!flag && num4 != 1) || this._z.AvailableBytesOut != count) { z5 = this._z; if (z5.AvailableBytesOut <= num || flag || num4 == 0) { } } if (z5.AvailableBytesOut <= num || !flag || this._compressionMode != (CompressionMode)num || z5.Deflate(FlushType.Finish) <= 1) { ZlibCodec z6 = this._z; CRC32 crc = this.crc; if (crc != 0) { crc.SlurpBlock(buffer, offset, count); } return count; } goto IL_1F1; IL_1D9: ZlibException ex = new ZlibException("Cannot Read after Writing."); ZlibException ex2 = new ZlibException("The stream is not readable."); IL_1F1: throw new NullReferenceException(); } // Token: 0x170020BC RID: 8380 // (get) Token: 0x0600CDCF RID: 52687 RVA: 0x002F587C File Offset: 0x002F3A7C [Token(Token = "0x170020BC")] public override bool CanRead { [Token(Token = "0x600CDCF")] [Address(RVA = "0x1977C80", Offset = "0x1976A80", VA = "0x181977C80", Slot = "7")] get { return this._stream.CanRead; } } // Token: 0x170020BD RID: 8381 // (get) Token: 0x0600CDD0 RID: 52688 RVA: 0x002F589C File Offset: 0x002F3A9C [Token(Token = "0x170020BD")] public override bool CanSeek { [Token(Token = "0x600CDD0")] [Address(RVA = "0x1977CB0", Offset = "0x1976AB0", VA = "0x181977CB0", Slot = "8")] get { return this._stream.CanRead; } } // Token: 0x170020BE RID: 8382 // (get) Token: 0x0600CDD1 RID: 52689 RVA: 0x002F58BC File Offset: 0x002F3ABC [Token(Token = "0x170020BE")] public override bool CanWrite { [Token(Token = "0x600CDD1")] [Address(RVA = "0x1977CE0", Offset = "0x1976AE0", VA = "0x181977CE0", Slot = "9")] get { return this._stream.CanRead; } } // Token: 0x170020BF RID: 8383 // (get) Token: 0x0600CDD2 RID: 52690 RVA: 0x002F58DC File Offset: 0x002F3ADC [Token(Token = "0x170020BF")] public override long Length { [Token(Token = "0x600CDD2")] [Address(RVA = "0x1977D20", Offset = "0x1976B20", VA = "0x181977D20", Slot = "10")] get { bool canRead = this._stream.CanRead; throw new NullReferenceException(); } } // Token: 0x170020C0 RID: 8384 // (get) Token: 0x0600CDD3 RID: 52691 RVA: 0x002F58FC File Offset: 0x002F3AFC // (set) Token: 0x0600CDD4 RID: 52692 RVA: 0x002F5910 File Offset: 0x002F3B10 [Token(Token = "0x170020C0")] public override long Position { [Token(Token = "0x600CDD3")] [Address(RVA = "0x1977D50", Offset = "0x1976B50", VA = "0x181977D50", Slot = "11")] get { /* An exception occurred when decompiling this method (0600CDD3) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.Decompression.Zlib.ZlibBaseStream::get_Position() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor)) } 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(Token = "0x600CDD4")] [Address(RVA = "0x1977EF0", Offset = "0x1976CF0", VA = "0x181977EF0", Slot = "12")] set { /* An exception occurred when decompiling this method (0600CDD4) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Decompression.Zlib.ZlibBaseStream::set_Position(System.Int64) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:NotImplementedException(var_0_05, newobj:NotImplementedException(NotImplementedException::.ctor)) } 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: 0x040083A4 RID: 33700 [FieldOffset(Offset = "0x28")] [Token(Token = "0x40083A4")] protected internal ZlibCodec _z; // Token: 0x040083A5 RID: 33701 [FieldOffset(Offset = "0x30")] [Token(Token = "0x40083A5")] protected internal ZlibBaseStream.StreamMode _streamMode; // Token: 0x040083A6 RID: 33702 [FieldOffset(Offset = "0x34")] [Token(Token = "0x40083A6")] protected internal FlushType _flushMode; // Token: 0x040083A7 RID: 33703 [FieldOffset(Offset = "0x38")] [Token(Token = "0x40083A7")] protected internal ZlibStreamFlavor _flavor; // Token: 0x040083A8 RID: 33704 [FieldOffset(Offset = "0x3C")] [Token(Token = "0x40083A8")] protected internal CompressionMode _compressionMode; // Token: 0x040083A9 RID: 33705 [FieldOffset(Offset = "0x40")] [Token(Token = "0x40083A9")] protected internal CompressionLevel _level; // Token: 0x040083AA RID: 33706 [FieldOffset(Offset = "0x44")] [Token(Token = "0x40083AA")] protected internal bool _leaveOpen; // Token: 0x040083AB RID: 33707 [FieldOffset(Offset = "0x48")] [Token(Token = "0x40083AB")] protected internal byte[] _workingBuffer; // Token: 0x040083AC RID: 33708 [FieldOffset(Offset = "0x50")] [Token(Token = "0x40083AC")] protected internal int _bufferSize; // Token: 0x040083AD RID: 33709 [FieldOffset(Offset = "0x54")] [Token(Token = "0x40083AD")] protected internal int windowBitsMax; // Token: 0x040083AE RID: 33710 [FieldOffset(Offset = "0x58")] [Token(Token = "0x40083AE")] protected internal byte[] _buf1; // Token: 0x040083AF RID: 33711 [FieldOffset(Offset = "0x60")] [Token(Token = "0x40083AF")] protected internal Stream _stream; // Token: 0x040083B0 RID: 33712 [FieldOffset(Offset = "0x68")] [Token(Token = "0x40083B0")] protected internal CompressionStrategy Strategy; // Token: 0x040083B1 RID: 33713 [FieldOffset(Offset = "0x70")] [Token(Token = "0x40083B1")] private CRC32 crc; // Token: 0x040083B2 RID: 33714 [FieldOffset(Offset = "0x78")] [Token(Token = "0x40083B2")] protected internal string _GzipFileName; // Token: 0x040083B3 RID: 33715 [FieldOffset(Offset = "0x80")] [Token(Token = "0x40083B3")] protected internal string _GzipComment; // Token: 0x040083B4 RID: 33716 [FieldOffset(Offset = "0x88")] [Token(Token = "0x40083B4")] protected internal DateTime _GzipMtime; // Token: 0x040083B5 RID: 33717 [FieldOffset(Offset = "0x90")] [Token(Token = "0x40083B5")] protected internal int _gzipHeaderByteCount; // Token: 0x040083B6 RID: 33718 [FieldOffset(Offset = "0x94")] [Token(Token = "0x40083B6")] private bool nomoreinput; // Token: 0x02001FBA RID: 8122 [Token(Token = "0x2001FBA")] internal enum StreamMode { // Token: 0x040083B8 RID: 33720 [Token(Token = "0x40083B8")] Writer, // Token: 0x040083B9 RID: 33721 [Token(Token = "0x40083B9")] Reader, // Token: 0x040083BA RID: 33722 [Token(Token = "0x40083BA")] Undefined } } }