using System; using System.Runtime.InteropServices; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto { // Token: 0x020014E8 RID: 5352 [Token(Token = "0x20014E8")] [StructLayout(3)] public class BufferedAsymmetricBlockCipher : BufferedCipherBase { // Token: 0x06008E75 RID: 36469 RVA: 0x001FCC34 File Offset: 0x001FAE34 [Token(Token = "0x6008E75")] [Address(RVA = "0x2177630", Offset = "0x2176030", VA = "0x182177630")] public BufferedAsymmetricBlockCipher(IAsymmetricBlockCipher cipher) { this.cipher = cipher; } // Token: 0x06008E76 RID: 36470 RVA: 0x001FCC50 File Offset: 0x001FAE50 [Token(Token = "0x6008E76")] [Address(RVA = "0x4FBD40", Offset = "0x4FA740", VA = "0x1804FBD40")] internal int GetBufferPosition() { return this.bufOff; } // Token: 0x17001712 RID: 5906 // (get) Token: 0x06008E77 RID: 36471 RVA: 0x001FCC64 File Offset: 0x001FAE64 [Token(Token = "0x17001712")] public override string AlgorithmName { [Token(Token = "0x6008E77")] [Address(RVA = "0x21776A0", Offset = "0x21760A0", VA = "0x1821776A0", Slot = "22")] get { IAsymmetricBlockCipher asymmetricBlockCipher = this.cipher; throw new NullReferenceException(); } } // Token: 0x06008E78 RID: 36472 RVA: 0x001FCC80 File Offset: 0x001FAE80 [Token(Token = "0x6008E78")] [Address(RVA = "0x21772F0", Offset = "0x2175CF0", VA = "0x1821772F0", Slot = "24")] public override int GetBlockSize() { IAsymmetricBlockCipher asymmetricBlockCipher = this.cipher; throw new NullReferenceException(); } // Token: 0x06008E79 RID: 36473 RVA: 0x001FCC9C File Offset: 0x001FAE9C [Token(Token = "0x6008E79")] [Address(RVA = "0x2177340", Offset = "0x2175D40", VA = "0x182177340", Slot = "25")] public override int GetOutputSize(int length) { IAsymmetricBlockCipher asymmetricBlockCipher = this.cipher; throw new NullReferenceException(); } // Token: 0x06008E7A RID: 36474 RVA: 0x001FCCB8 File Offset: 0x001FAEB8 [Token(Token = "0x6008E7A")] [Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "26")] public override int GetUpdateOutputSize(int length) { return 0; } // Token: 0x06008E7B RID: 36475 RVA: 0x001FCCC8 File Offset: 0x001FAEC8 [Token(Token = "0x6008E7B")] [Address(RVA = "0x2177390", Offset = "0x2175D90", VA = "0x182177390", Slot = "23")] public override void Init(bool forEncryption, ICipherParameters parameters) { IAsymmetricBlockCipher asymmetricBlockCipher = this.cipher; IAsymmetricBlockCipher asymmetricBlockCipher2 = this.cipher; byte[] array = new byte[forEncryption ? 1 : 0]; this.buffer = array; this.bufOff = (int)((ulong)0L); } // Token: 0x06008E7C RID: 36476 RVA: 0x001FCD00 File Offset: 0x001FAF00 [Token(Token = "0x6008E7C")] [Address(RVA = "0x2177450", Offset = "0x2175E50", VA = "0x182177450", Slot = "27")] public override byte[] ProcessByte(byte input) { /* An exception occurred when decompiling this method (06008E7C) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher::ProcessByte(System.Byte) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_2A: stloc:DataLengthException(var_4_34, newobj:DataLengthException(DataLengthException::.ctor, ldstr:string("attempt to process message to long for cipher"))) } 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: 0x06008E7D RID: 36477 RVA: 0x001FCD44 File Offset: 0x001FAF44 [Token(Token = "0x6008E7D")] [Address(RVA = "0x2177500", Offset = "0x2175F00", VA = "0x182177500", Slot = "30")] public override byte[] ProcessBytes(byte[] input, int inOff, int length) { /* An exception occurred when decompiling this method (06008E7D) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher::ProcessBytes(System.Byte[],System.Int32,System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_1E: stloc:ArgumentNullException(var_4_28, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("input"))) } 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: 0x06008E7E RID: 36478 RVA: 0x001FCD7C File Offset: 0x001FAF7C [Token(Token = "0x6008E7E")] [Address(RVA = "0x2177180", Offset = "0x2175B80", VA = "0x182177180", Slot = "33")] public override byte[] DoFinal() { if (this.bufOff > 0) { IAsymmetricBlockCipher asymmetricBlockCipher = this.cipher; byte[] array = this.buffer; int num = 0; num += num; num++; array += array; } throw new NullReferenceException(); } // Token: 0x06008E7F RID: 36479 RVA: 0x001FCDB4 File Offset: 0x001FAFB4 [Token(Token = "0x6008E7F")] [Address(RVA = "0x21772B0", Offset = "0x2175CB0", VA = "0x1821772B0", Slot = "35")] public override byte[] DoFinal(byte[] input, int inOff, int length) { /* An exception occurred when decompiling this method (06008E7F) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher::DoFinal(System.Byte[],System.Int32,System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:uint8[](var_0_07, callvirt:uint8[](BufferedCipherBase::ProcessBytes, ldloc:BufferedAsymmetricBlockCipher[exp:BufferedCipherBase](this), ldloc:uint8[](input))) stloc:string(var_1_0E, callgetter:string(BufferedCipherBase::get_AlgorithmName, ldloc:BufferedAsymmetricBlockCipher[exp:BufferedCipherBase](this))) } 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: 0x06008E80 RID: 36480 RVA: 0x001FCDD0 File Offset: 0x001FAFD0 [Token(Token = "0x6008E80")] [Address(RVA = "0x2177600", Offset = "0x2176000", VA = "0x182177600", Slot = "39")] public override void Reset() { byte[] array = this.buffer; if (array != 0) { int length = array.Length; int num = 0; Array.Clear(array, num, length); this.bufOff = (int)((ulong)0L); } } // Token: 0x04005E54 RID: 24148 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4005E54")] private readonly IAsymmetricBlockCipher cipher; // Token: 0x04005E55 RID: 24149 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4005E55")] private byte[] buffer; // Token: 0x04005E56 RID: 24150 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4005E56")] private int bufOff; } }