using System; using System.IO; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001AFF RID: 6911 [Token(Token = "0x2001AFF")] public class ByteQueue { // Token: 0x0600ABE3 RID: 44003 RVA: 0x00256820 File Offset: 0x00254A20 [Token(Token = "0x600ABE3")] [Address(RVA = "0x18A8150", Offset = "0x18A6F50", VA = "0x1818A8150")] public static int NextTwoPow(int i) { return i; } // Token: 0x0600ABE4 RID: 44004 RVA: 0x00256830 File Offset: 0x00254A30 [Token(Token = "0x600ABE4")] [Address(RVA = "0x18A8950", Offset = "0x18A7750", VA = "0x1818A8950")] public ByteQueue() { byte[] array = new byte[1024]; this.databuf = array; } // Token: 0x0600ABE5 RID: 44005 RVA: 0x0025685C File Offset: 0x00254A5C [Token(Token = "0x600ABE5")] [Address(RVA = "0x18A88B0", Offset = "0x18A76B0", VA = "0x1818A88B0")] public ByteQueue(int capacity) { if (capacity == 0) { } byte[] array = new byte[capacity]; this.databuf = array; } // Token: 0x0600ABE6 RID: 44006 RVA: 0x00256888 File Offset: 0x00254A88 [Token(Token = "0x600ABE6")] [Address(RVA = "0x18A89B0", Offset = "0x18A77B0", VA = "0x1818A89B0")] public ByteQueue(byte[] buf, int off, int len) { this.databuf = buf; this.available = len; this.skipped = off; this.readOnlyBuf = true; } // Token: 0x0600ABE7 RID: 44007 RVA: 0x002568B8 File Offset: 0x00254AB8 [Token(Token = "0x600ABE7")] [Address(RVA = "0x18A7E40", Offset = "0x18A6C40", VA = "0x1818A7E40")] public void AddData(byte[] data, int offset, int len) { /* An exception occurred when decompiling this method (0600ABE7) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueue::AddData(System.Byte[],System.Int32,System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_85: stloc:InvalidOperationException(var_11_8F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot add data to read-only buffer"))) } 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: 0x17001B45 RID: 6981 // (get) Token: 0x0600ABE8 RID: 44008 RVA: 0x00256958 File Offset: 0x00254B58 [Token(Token = "0x17001B45")] public int Available { [Token(Token = "0x600ABE8")] [Address(RVA = "0x41F5B0", Offset = "0x41E3B0", VA = "0x18041F5B0")] get { return this.available; } } // Token: 0x0600ABE9 RID: 44009 RVA: 0x0025696C File Offset: 0x00254B6C [Token(Token = "0x600ABE9")] [Address(RVA = "0x18A7FB0", Offset = "0x18A6DB0", VA = "0x1818A7FB0")] public void CopyTo(Stream output, int length) { int num = output.ReadByte(); } // Token: 0x0600ABEA RID: 44010 RVA: 0x002569E4 File Offset: 0x00254BE4 [Token(Token = "0x600ABEA")] [Address(RVA = "0x18A8340", Offset = "0x18A7140", VA = "0x1818A8340")] public void Read(byte[] buf, int offset, int len, int skip) { int num = buf.Length; num -= offset; int num2 = this.available; int num3 = this.skipped; byte[] array = this.databuf; } // Token: 0x0600ABEB RID: 44011 RVA: 0x00256A18 File Offset: 0x00254C18 [Token(Token = "0x600ABEB")] [Address(RVA = "0x18A8180", Offset = "0x18A6F80", VA = "0x1818A8180")] public MemoryStream ReadFrom(int length) { int num = this.available; int num2 = this.skipped; num -= length; byte[] array = this.databuf; this.available = num; this.skipped = num; ulong num3; return new MemoryStream(array, num2, length, num3 != 0UL); } // Token: 0x0600ABEC RID: 44012 RVA: 0x00256AB4 File Offset: 0x00254CB4 [Token(Token = "0x600ABEC")] [Address(RVA = "0x18A85A0", Offset = "0x18A73A0", VA = "0x1818A85A0")] public void RemoveData(int i) { int num = this.available; num -= i; this.available = num; } // Token: 0x0600ABED RID: 44013 RVA: 0x00256B30 File Offset: 0x00254D30 [Token(Token = "0x600ABED")] [Address(RVA = "0x18A8550", Offset = "0x18A7350", VA = "0x1818A8550")] public void RemoveData(byte[] buf, int off, int len, int skip) { } // Token: 0x0600ABEE RID: 44014 RVA: 0x00256B40 File Offset: 0x00254D40 [Token(Token = "0x600ABEE")] [Address(RVA = "0x18A8710", Offset = "0x18A7510", VA = "0x1818A8710")] public byte[] RemoveData(int len, int skip) { byte[] array = new byte[len]; int num = 0; this.Read(array, num, len, skip); return array; } // Token: 0x0600ABEF RID: 44015 RVA: 0x00256B64 File Offset: 0x00254D64 [Token(Token = "0x600ABEF")] [Address(RVA = "0x18A87A0", Offset = "0x18A75A0", VA = "0x1818A87A0")] public void Shrink() { int num = this.available; if (num != 0) { byte[] array = this.databuf; num++; if (num < array.Length) { byte[] array2 = new byte[num]; int num2 = this.available; int num3 = 0; int num4 = this.skipped; Array.Copy(this.databuf, num4, array2, num3, num2); this.databuf = array2; this.skipped = (int)((ulong)0L); return; } } else { byte[] emptyBytes = TlsUtilities.EmptyBytes; this.databuf = emptyBytes; this.skipped = (int)((ulong)0L); } } // Token: 0x04006D00 RID: 27904 [Token(Token = "0x4006D00")] private const int DefaultCapacity = 1024; // Token: 0x04006D01 RID: 27905 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006D01")] private byte[] databuf; // Token: 0x04006D02 RID: 27906 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006D02")] private int skipped; // Token: 0x04006D03 RID: 27907 [FieldOffset(Offset = "0x1C")] [Token(Token = "0x4006D03")] private int available; // Token: 0x04006D04 RID: 27908 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4006D04")] private bool readOnlyBuf; } }