using System; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes { // Token: 0x02001D20 RID: 7456 [Token(Token = "0x2001D20")] public class SicBlockCipher : IBlockCipher { // Token: 0x0600B8AD RID: 47277 RVA: 0x00280A18 File Offset: 0x0027EC18 [Token(Token = "0x600B8AD")] [Address(RVA = "0x22E4FE0", Offset = "0x22E3FE0", VA = "0x1822E4FE0")] public SicBlockCipher(IBlockCipher cipher) { this.cipher = cipher; byte[] array = new byte[0]; int num = this.blockSize; this.counter = array; byte[] array2 = new byte[num]; int num2 = this.blockSize; this.counterOut = array2; byte[] array3 = new byte[num2]; this.IV = array3; } // Token: 0x0600B8AE RID: 47278 RVA: 0x00280A74 File Offset: 0x0027EC74 [Token(Token = "0x600B8AE")] [Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530", Slot = "10")] public virtual IBlockCipher GetUnderlyingCipher() { return this.cipher; } // Token: 0x0600B8AF RID: 47279 RVA: 0x00280A88 File Offset: 0x0027EC88 [Token(Token = "0x600B8AF")] [Address(RVA = "0x22E4B10", Offset = "0x22E3B10", VA = "0x1822E4B10", Slot = "11")] public virtual void Init(bool forEncryption, ICipherParameters parameters) { /* An exception occurred when decompiling this method (0600B8AF) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.SicBlockCipher::Init(System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.ICipherParameters) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_5C: stloc:ArgumentException(var_10_6B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("CTR/SIC mode requires ParametersWithIV"), ldstr:string("parameters"))) } 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: 0x17001D24 RID: 7460 // (get) Token: 0x0600B8B0 RID: 47280 RVA: 0x00280B04 File Offset: 0x0027ED04 [Token(Token = "0x17001D24")] public virtual string AlgorithmName { [Token(Token = "0x600B8B0")] [Address(RVA = "0x22E5080", Offset = "0x22E4080", VA = "0x1822E5080", Slot = "12")] get { IBlockCipher blockCipher = this.cipher; return 0 + "/SIC"; } } // Token: 0x17001D25 RID: 7461 // (get) Token: 0x0600B8B1 RID: 47281 RVA: 0x00280B2C File Offset: 0x0027ED2C [Token(Token = "0x17001D25")] public virtual bool IsPartialBlockOkay { [Token(Token = "0x600B8B1")] [Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "13")] get { return true; } } // Token: 0x0600B8B2 RID: 47282 RVA: 0x00280B3C File Offset: 0x0027ED3C [Token(Token = "0x600B8B2")] [Address(RVA = "0x22E4AC0", Offset = "0x22E3AC0", VA = "0x1822E4AC0", Slot = "14")] public virtual int GetBlockSize() { IBlockCipher blockCipher = this.cipher; throw new NullReferenceException(); } // Token: 0x0600B8B3 RID: 47283 RVA: 0x00280B58 File Offset: 0x0027ED58 [Token(Token = "0x600B8B3")] [Address(RVA = "0x22E4D90", Offset = "0x22E3D90", VA = "0x1822E4D90", Slot = "15")] public virtual int ProcessBlock(byte[] input, int inOff, byte[] output, int outOff) { IBlockCipher blockCipher = this.cipher; byte[] array = this.counterOut; int num = 0; byte[] array2 = this.counterOut; if (num < array2.Length) { byte[] array3 = this.counterOut; } int length = this.counter.Length; byte[] array4 = this.counter; while (length == array4.Length) { } return this.counter.Length; } // Token: 0x0600B8B4 RID: 47284 RVA: 0x00280BC0 File Offset: 0x0027EDC0 [Token(Token = "0x600B8B4")] [Address(RVA = "0x22E4F30", Offset = "0x22E3F30", VA = "0x1822E4F30", Slot = "16")] public virtual void Reset() { byte[] array = this.counter; int num = 0; Arrays.Fill(array, (byte)num); byte[] iv = this.IV; int length = iv.Length; int num2 = 0; byte[] array2 = this.counter; int num3 = 0; Array.Copy(iv, num3, array2, num2, length); IBlockCipher blockCipher = this.cipher; throw new NullReferenceException(); } // Token: 0x0400748E RID: 29838 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400748E")] private readonly IBlockCipher cipher; // Token: 0x0400748F RID: 29839 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400748F")] private readonly int blockSize; // Token: 0x04007490 RID: 29840 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4007490")] private readonly byte[] counter; // Token: 0x04007491 RID: 29841 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4007491")] private readonly byte[] counterOut; // Token: 0x04007492 RID: 29842 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4007492")] private byte[] IV; } }