using System; using System.Security.Cryptography; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Prng { // Token: 0x02001BC2 RID: 7106 [Token(Token = "0x2001BC2")] public class CryptoApiRandomGenerator : IRandomGenerator { // Token: 0x0600B1C0 RID: 45504 RVA: 0x0026B370 File Offset: 0x00269570 [Token(Token = "0x600B1C0")] [Address(RVA = "0x18001F0", Offset = "0x17FEFF0", VA = "0x1818001F0")] public CryptoApiRandomGenerator() { RandomNumberGenerator randomNumberGenerator = RandomNumberGenerator.Create(); int num = 0; this.AddSeedMaterial((long)num); this.rndProv = randomNumberGenerator; } // Token: 0x0600B1C1 RID: 45505 RVA: 0x0026B398 File Offset: 0x00269598 [Token(Token = "0x600B1C1")] [Address(RVA = "0x3FFB80", Offset = "0x3FE980", VA = "0x1803FFB80")] public CryptoApiRandomGenerator(RandomNumberGenerator rng) { int num = 0; this.AddSeedMaterial((long)num); this.rndProv = rng; } // Token: 0x0600B1C2 RID: 45506 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600B1C2")] [Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "8")] public virtual void AddSeedMaterial(byte[] seed) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600B1C3 RID: 45507 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600B1C3")] [Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "9")] public virtual void AddSeedMaterial(long seed) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600B1C4 RID: 45508 RVA: 0x0026B3B8 File Offset: 0x002695B8 [Token(Token = "0x600B1C4")] [Address(RVA = "0x18001C0", Offset = "0x17FEFC0", VA = "0x1818001C0", Slot = "10")] public virtual void NextBytes(byte[] bytes) { this.rndProv.GetBytes(bytes); } // Token: 0x0600B1C5 RID: 45509 RVA: 0x0026B3D8 File Offset: 0x002695D8 [Token(Token = "0x600B1C5")] [Address(RVA = "0x1800070", Offset = "0x17FEE70", VA = "0x181800070", Slot = "11")] public virtual void NextBytes(byte[] bytes, int start, int len) { /* An exception occurred when decompiling this method (0600B1C5) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Prng.CryptoApiRandomGenerator::NextBytes(System.Byte[],System.Int32,System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_0E: stloc:uint8[](var_0_14, newarr:uint8[]([mscorlib]System.Byte, ldloc:int32(len))) stloc:int32(var_2_16, ldc.i4:int32(0)) call:void(Array::Copy, ldloc:uint8[][exp:Array](var_0_14), ldloc:int32(var_2_16), ldloc:uint8[][exp:Array](bytes), ldloc:int32(start), ldloc:int32(len)) stloc:ArgumentException(var_3_30, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Start offset cannot be negative"), ldstr:string("start"))) } 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: 0x0400713C RID: 28988 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400713C")] private readonly RandomNumberGenerator rndProv; } }