using System; using System.Runtime.InteropServices; using System.Threading; using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Abc; using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC { // Token: 0x02001416 RID: 5142 [Token(Token = "0x2001416")] [StructLayout(3)] public abstract class AbstractF2mCurve : ECCurve { // Token: 0x06008491 RID: 33937 RVA: 0x001CD358 File Offset: 0x001CB558 [Token(Token = "0x6008491")] [Address(RVA = "0x21C3EE0", Offset = "0x21C28E0", VA = "0x1821C3EE0")] public static BigInteger Inverse(int m, int[] ks, BigInteger x) { return new LongArray(x).ModInverse(m, ks).ToBigInteger(); } // Token: 0x06008492 RID: 33938 RVA: 0x001CD380 File Offset: 0x001CB580 [Token(Token = "0x6008492")] [Address(RVA = "0x21C3760", Offset = "0x21C2160", VA = "0x1821C3760")] private static IFiniteField BuildField(int m, int k1, int k2, int k3) { /* An exception occurred when decompiling this method (06008492) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field.IFiniteField BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractF2mCurve::BuildField(System.Int32,System.Int32,System.Int32,System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_59: stloc:ArgumentException(var_3_63, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("k1 must be > 0"))) } 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: 0x06008493 RID: 33939 RVA: 0x001CD3F0 File Offset: 0x001CB5F0 [Token(Token = "0x6008493")] [Address(RVA = "0x21C42D0", Offset = "0x21C2CD0", VA = "0x1821C42D0")] protected AbstractF2mCurve(int m, int k1, int k2, int k3) { IFiniteField finiteField; base..ctor(finiteField); } // Token: 0x06008494 RID: 33940 RVA: 0x001CD404 File Offset: 0x001CB604 [Token(Token = "0x6008494")] [Address(RVA = "0x21C3F80", Offset = "0x21C2980", VA = "0x1821C3F80", Slot = "6")] public override bool IsValidFieldElement(BigInteger x) { if (x != 0) { int bitLength = x.BitLength; string text = this.ToString(); return bitLength <= text; } } // Token: 0x06008495 RID: 33941 RVA: 0x001CD42C File Offset: 0x001CB62C [Token(Token = "0x6008495")] [Address(RVA = "0x21C39C0", Offset = "0x21C23C0", VA = "0x1821C39C0", Slot = "11")] [Obsolete] public override ECPoint CreatePoint(BigInteger x, BigInteger y, bool withCompression) { /* An exception occurred when decompiling this method (06008495) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractF2mCurve::CreatePoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,System.Boolean) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_3F: stloc:ArgumentException(var_6_44, newobj:ArgumentException(ArgumentException::.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.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: 0x06008496 RID: 33942 RVA: 0x001CD480 File Offset: 0x001CB680 [Token(Token = "0x6008496")] [Address(RVA = "0x21C3B70", Offset = "0x21C2570", VA = "0x1821C3B70", Slot = "34")] protected override ECPoint DecompressPoint(int yTilde, BigInteger X1) { /* An exception occurred when decompiling this method (06008496) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractF2mCurve::DecompressPoint(System.Int32,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_5E: stloc:ArgumentException(var_13_68, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Invalid point compression"))) } 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: 0x06008497 RID: 33943 RVA: 0x001CD4F8 File Offset: 0x001CB6F8 [Token(Token = "0x6008497")] [Address(RVA = "0x21C3FE0", Offset = "0x21C29E0", VA = "0x1821C3FE0")] internal ECFieldElement SolveQuadraticEquation(ECFieldElement beta) { while (!beta.IsOne) { int fieldSize = this.FieldSize; string text = this.ToString(); int fieldSize2 = this.FieldSize; if (text > (uint)1) { ECFieldElement ecfieldElement = beta.Negate(); ushort num; TypeCode typeCode = num.GetTypeCode(); ushort num2; if (ecfieldElement.FieldSize == 0 || num2.GetTypeCode() == TypeCode.Empty) { break; } } } throw new NullReferenceException(); } // Token: 0x06008498 RID: 33944 RVA: 0x001CD554 File Offset: 0x001CB754 [Token(Token = "0x6008498")] [Address(RVA = "0x21C3DE0", Offset = "0x21C27E0", VA = "0x1821C3DE0", Slot = "38")] internal virtual BigInteger[] GetSi() { int num; do { num = 0; if (this.si != num) { break; } if (this.si == num) { BigInteger[] array = Tnaf.GetSi(this); this.si = array; } Monitor.Exit(this); if (num != -1) { } } while (num != 0); return this.si; } // Token: 0x1700154A RID: 5450 // (get) Token: 0x06008499 RID: 33945 RVA: 0x001CD598 File Offset: 0x001CB798 [Token(Token = "0x1700154A")] public virtual bool IsKoblitz { [Token(Token = "0x6008499")] [Address(RVA = "0x21C4320", Offset = "0x21C2D20", VA = "0x1821C4320", Slot = "39")] get { if (this.m_b.BitLength != 0) { if (this.m_a.IsOne) { return true; } BigInteger bigInteger = this.m_a.ToBigInteger(); } throw new NullReferenceException(); } } // Token: 0x04005C38 RID: 23608 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x4005C38")] private BigInteger[] si; } }