512 lines
28 KiB
C#
512 lines
28 KiB
C#
using System;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
|
|
{
|
|
// Token: 0x02001AD4 RID: 6868
|
|
[Token(Token = "0x2001AD4")]
|
|
public class F2mCurve : AbstractF2mCurve
|
|
{
|
|
// Token: 0x0600A442 RID: 42050 RVA: 0x0022DC10 File Offset: 0x0022BE10
|
|
[Token(Token = "0x600A442")]
|
|
[Address(RVA = "0x7D7EB0", Offset = "0x7D6EB0", VA = "0x1807D7EB0")]
|
|
[Obsolete]
|
|
public F2mCurve(int m, int k, BigInteger a, BigInteger b)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600A443 RID: 42051 RVA: 0x0022DC20 File Offset: 0x0022BE20
|
|
[Token(Token = "0x600A443")]
|
|
[Address(RVA = "0x7D8220", Offset = "0x7D7220", VA = "0x1807D8220")]
|
|
public F2mCurve(int m, int k, BigInteger a, BigInteger b, BigInteger order, BigInteger cofactor)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600A444 RID: 42052 RVA: 0x0022DC30 File Offset: 0x0022BE30
|
|
[Token(Token = "0x600A444")]
|
|
[Address(RVA = "0x7D7E60", Offset = "0x7D6E60", VA = "0x1807D7E60")]
|
|
[Obsolete]
|
|
public F2mCurve(int m, int k1, int k2, int k3, BigInteger a, BigInteger b)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600A445 RID: 42053 RVA: 0x0022DC40 File Offset: 0x0022BE40
|
|
[Token(Token = "0x600A445")]
|
|
[Address(RVA = "0x7D8000", Offset = "0x7D7000", VA = "0x1807D8000")]
|
|
public F2mCurve(int m, int k1, int k2, int k3, BigInteger a, BigInteger b, BigInteger order, BigInteger cofactor)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A445)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mCurve::.ctor(System.Int32,System.Int32,System.Int32,System.Int32,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_84:
|
|
stloc:ArgumentException(var_9_8E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("k2 must be > k1")))
|
|
stloc:ArgumentException(var_10_9A, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("k3 must be 0 if k2 == 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: 0x0600A446 RID: 42054 RVA: 0x0022DCE8 File Offset: 0x0022BEE8
|
|
[Token(Token = "0x600A446")]
|
|
[Address(RVA = "0x7D7EF0", Offset = "0x7D6EF0", VA = "0x1807D7EF0")]
|
|
protected F2mCurve(int m, int k1, int k2, int k3, ECFieldElement a, ECFieldElement b, BigInteger order, BigInteger cofactor)
|
|
{
|
|
this.m_order = 0;
|
|
this.m_cofactor = 0;
|
|
this.m = m;
|
|
this.k1 = k1;
|
|
this.k2 = k2;
|
|
this.k3 = 0;
|
|
int num;
|
|
int num2;
|
|
ulong num3;
|
|
F2mPoint f2mPoint = new F2mPoint(this, num, num2, num3 != 0UL);
|
|
num2 = 0;
|
|
num = 0;
|
|
this.m_a = 0;
|
|
this.m_infinity = f2mPoint;
|
|
this.m_b = 0;
|
|
this.m_coord = (int)((ulong)6L);
|
|
}
|
|
|
|
// Token: 0x0600A447 RID: 42055 RVA: 0x0022DD50 File Offset: 0x0022BF50
|
|
[Token(Token = "0x600A447")]
|
|
[Address(RVA = "0x7D77A0", Offset = "0x7D67A0", VA = "0x1807D77A0", Slot = "12")]
|
|
protected override ECCurve CloneCurve()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A447)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mCurve::CloneCurve()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:BigInteger(var_0_06, ldfld:BigInteger(ECCurve::m_cofactor, ldloc:F2mCurve[exp:ECCurve](this)))
|
|
stloc:int32(var_1_0D, ldfld:int32(F2mCurve::m, ldloc:F2mCurve(this)))
|
|
stloc:int32(var_2_14, ldfld:int32(F2mCurve::k1, ldloc:F2mCurve(this)))
|
|
stloc:int32(var_3_1B, ldfld:int32(F2mCurve::k2, ldloc:F2mCurve(this)))
|
|
stloc:int32(var_4_22, ldfld:int32(F2mCurve::k3, ldloc:F2mCurve(this)))
|
|
stloc:ECFieldElement(var_5_2A, ldfld:ECFieldElement(ECCurve::m_a, ldloc:F2mCurve[exp:ECCurve](this)))
|
|
stloc:ECFieldElement(var_6_32, ldfld:ECFieldElement(ECCurve::m_b, ldloc:F2mCurve[exp:ECCurve](this)))
|
|
stloc:BigInteger(var_7_3A, ldfld:BigInteger(ECCurve::m_order, ldloc:F2mCurve[exp:ECCurve](this)))
|
|
stloc:F2mCurve(var_8_46, newobj:F2mCurve(F2mCurve::.ctor, ldloc:int32(var_1_0D), ldloc:int32(var_2_14), ldloc:int32[exp:BigInteger](var_3_1B), ldloc:int32[exp:BigInteger](var_4_22)))
|
|
stfld:BigInteger(ECCurve::m_cofactor, ldloc:F2mCurve[exp:ECCurve](var_8_46), ldloc:BigInteger(var_0_06))
|
|
stfld:int32(F2mCurve::m, ldloc:F2mCurve(var_8_46), ldloc:int32(var_1_0D))
|
|
stfld:int32(F2mCurve::k1, ldloc:F2mCurve(var_8_46), ldloc:int32(var_2_14))
|
|
stfld:int32(F2mCurve::k2, ldloc:F2mCurve(var_8_46), ldloc:int32(var_3_1B))
|
|
stfld:int32(F2mCurve::k3, ldloc:F2mCurve(var_8_46), ldloc:int32(var_4_22))
|
|
stfld:BigInteger(ECCurve::m_order, ldloc:F2mCurve[exp:ECCurve](var_8_46), ldloc:BigInteger(var_7_3A))
|
|
stloc:F2mPoint(var_10_87, newobj:F2mPoint(F2mPoint::.ctor, ldloc:F2mCurve[exp:ECCurve](var_8_46), ldloc:int32[exp:ECFieldElement](var_13), ldloc:int32[exp:ECFieldElement](var_12), ldloc:uint64[exp:bool](var_14)))
|
|
stloc:int32(var_12, ldc.i4:int32(0))
|
|
stloc:int32(var_13, ldc.i4:int32(0))
|
|
stfld:ECFieldElement(ECCurve::m_a, ldloc:F2mCurve[exp:ECCurve](var_8_46), ldloc:ECFieldElement(var_5_2A))
|
|
stfld:ECFieldElement(ECCurve::m_b, ldloc:F2mCurve[exp:ECCurve](var_8_46), ldloc:ECFieldElement(var_6_32))
|
|
stfld:F2mPoint(F2mCurve::m_infinity, ldloc:F2mCurve(var_8_46), ldloc:F2mPoint(var_10_87))
|
|
stfld:int32(ECCurve::m_coord, ldloc:F2mCurve[exp:ECCurve](var_8_46), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](6)))
|
|
}
|
|
|
|
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: 0x0600A448 RID: 42056 RVA: 0x0022DE10 File Offset: 0x0022C010
|
|
[Token(Token = "0x600A448")]
|
|
[Address(RVA = "0x7D7E50", Offset = "0x7D6E50", VA = "0x1807D7E50", Slot = "16")]
|
|
public override bool SupportsCoordinateSystem(int coord)
|
|
{
|
|
if (coord <= 1 || coord != 6)
|
|
{
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x0600A449 RID: 42057 RVA: 0x0022DE28 File Offset: 0x0022C028
|
|
[Token(Token = "0x600A449")]
|
|
[Address(RVA = "0x7D7B50", Offset = "0x7D6B50", VA = "0x1807D7B50", Slot = "15")]
|
|
protected override ECMultiplier CreateDefaultMultiplier()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A449)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mCurve::CreateDefaultMultiplier()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_15:
|
|
stloc:WTauNafMultiplier(var_3_1A, newobj:WTauNafMultiplier(WTauNafMultiplier::.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.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: 0x170019E9 RID: 6633
|
|
// (get) Token: 0x0600A44A RID: 42058 RVA: 0x0022DE50 File Offset: 0x0022C050
|
|
[Token(Token = "0x170019E9")]
|
|
public override int FieldSize
|
|
{
|
|
[Token(Token = "0x600A44A")]
|
|
[Address(RVA = "0x56DD20", Offset = "0x56CD20", VA = "0x18056DD20", Slot = "4")]
|
|
get
|
|
{
|
|
return this.m;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A44B RID: 42059 RVA: 0x0022DE64 File Offset: 0x0022C064
|
|
[Token(Token = "0x600A44B")]
|
|
[Address(RVA = "0x7D7D90", Offset = "0x7D6D90", VA = "0x1807D7D90", Slot = "5")]
|
|
public override ECFieldElement FromBigInteger(BigInteger x)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A44B)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mCurve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:int32(var_0_06, ldfld:int32(F2mCurve::m, ldloc:F2mCurve(this)))
|
|
stloc:int32(var_1_0D, ldfld:int32(F2mCurve::k1, ldloc:F2mCurve(this)))
|
|
stloc:int32(var_2_14, ldfld:int32(F2mCurve::k2, ldloc:F2mCurve(this)))
|
|
stloc:int32(var_3_1B, ldfld:int32(F2mCurve::k3, ldloc:F2mCurve(this)))
|
|
stloc:F2mFieldElement(var_4_26, newobj:F2mFieldElement(F2mFieldElement::.ctor, ldloc:int32(var_0_06), ldloc:int32(var_1_0D), ldloc:int32(var_2_14), ldloc:int32(var_3_1B), ldloc:BigInteger(x)))
|
|
}
|
|
|
|
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: 0x0600A44C RID: 42060 RVA: 0x0022DE98 File Offset: 0x0022C098
|
|
[Token(Token = "0x600A44C")]
|
|
[Address(RVA = "0x7D7D00", Offset = "0x7D6D00", VA = "0x1807D7D00", Slot = "13")]
|
|
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A44C)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mCurve::CreateRawPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:F2mPoint(var_0_09, newobj:F2mPoint(F2mPoint::.ctor, ldloc:F2mCurve[exp:ECCurve](this), ldloc:ECFieldElement(x), ldloc:ECFieldElement(y), ldloc:bool(withCompression)))
|
|
}
|
|
|
|
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: 0x0600A44D RID: 42061 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x600A44D")]
|
|
[Address(RVA = "0x7D7C60", Offset = "0x7D6C60", VA = "0x1807D7C60", Slot = "14")]
|
|
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x170019EA RID: 6634
|
|
// (get) Token: 0x0600A44E RID: 42062 RVA: 0x0022DEB0 File Offset: 0x0022C0B0
|
|
[Token(Token = "0x170019EA")]
|
|
public override ECPoint Infinity
|
|
{
|
|
[Token(Token = "0x600A44E")]
|
|
[Address(RVA = "0x4177D0", Offset = "0x4167D0", VA = "0x1804177D0", Slot = "22")]
|
|
get
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A44E)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mCurve::get_Infinity()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:F2mPoint(var_0_06, ldfld:F2mPoint(F2mCurve::m_infinity, ldloc:F2mCurve(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: 0x170019EB RID: 6635
|
|
// (get) Token: 0x0600A44F RID: 42063 RVA: 0x0022DEC4 File Offset: 0x0022C0C4
|
|
[Token(Token = "0x170019EB")]
|
|
public int M
|
|
{
|
|
[Token(Token = "0x600A44F")]
|
|
[Address(RVA = "0x56DD20", Offset = "0x56CD20", VA = "0x18056DD20")]
|
|
get
|
|
{
|
|
return this.m;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A450 RID: 42064 RVA: 0x0022DED8 File Offset: 0x0022C0D8
|
|
[Token(Token = "0x600A450")]
|
|
[Address(RVA = "0x7D7E30", Offset = "0x7D6E30", VA = "0x1807D7E30")]
|
|
public bool IsTrinomial()
|
|
{
|
|
if (this.k2 != 0)
|
|
{
|
|
}
|
|
return this.k3 == 0;
|
|
}
|
|
|
|
// Token: 0x170019EC RID: 6636
|
|
// (get) Token: 0x0600A451 RID: 42065 RVA: 0x0022DEFC File Offset: 0x0022C0FC
|
|
[Token(Token = "0x170019EC")]
|
|
public int K1
|
|
{
|
|
[Token(Token = "0x600A451")]
|
|
[Address(RVA = "0x56DCF0", Offset = "0x56CCF0", VA = "0x18056DCF0")]
|
|
get
|
|
{
|
|
return this.k1;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170019ED RID: 6637
|
|
// (get) Token: 0x0600A452 RID: 42066 RVA: 0x0022DF10 File Offset: 0x0022C110
|
|
[Token(Token = "0x170019ED")]
|
|
public int K2
|
|
{
|
|
[Token(Token = "0x600A452")]
|
|
[Address(RVA = "0x66A4F0", Offset = "0x6694F0", VA = "0x18066A4F0")]
|
|
get
|
|
{
|
|
return this.k2;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170019EE RID: 6638
|
|
// (get) Token: 0x0600A453 RID: 42067 RVA: 0x0022DF24 File Offset: 0x0022C124
|
|
[Token(Token = "0x170019EE")]
|
|
public int K3
|
|
{
|
|
[Token(Token = "0x600A453")]
|
|
[Address(RVA = "0x7D8270", Offset = "0x7D7270", VA = "0x1807D8270")]
|
|
get
|
|
{
|
|
return this.k3;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A454 RID: 42068 RVA: 0x0022DF38 File Offset: 0x0022C138
|
|
[Token(Token = "0x600A454")]
|
|
[Address(RVA = "0x7D78E0", Offset = "0x7D68E0", VA = "0x1807D78E0", Slot = "29")]
|
|
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
|
{
|
|
int num;
|
|
long[] array;
|
|
int num3;
|
|
for (;;)
|
|
{
|
|
num = this.m;
|
|
num += 63;
|
|
num += points;
|
|
int num2 = num * len;
|
|
num2 += num2;
|
|
array = new long[num2];
|
|
num3 = 0;
|
|
if (len <= 0)
|
|
{
|
|
goto IL_68;
|
|
}
|
|
ECPoint ecpoint = points[off];
|
|
ECFieldElement x = ecpoint.m_x;
|
|
if (x != 0 && x != 0)
|
|
{
|
|
ECFieldElement y = ecpoint.m_y;
|
|
num3 += num;
|
|
if (y != 0 && y != 0)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
num3 += num;
|
|
IL_68:
|
|
F2mCurve.DefaultF2mLookupTable defaultF2mLookupTable;
|
|
defaultF2mLookupTable.m_outer = this;
|
|
defaultF2mLookupTable.m_table = array;
|
|
defaultF2mLookupTable.m_size = len;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x04006C35 RID: 27701
|
|
[Token(Token = "0x4006C35")]
|
|
private const int F2M_DEFAULT_COORDS = 6;
|
|
|
|
// Token: 0x04006C36 RID: 27702
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x4006C36")]
|
|
private readonly int m;
|
|
|
|
// Token: 0x04006C37 RID: 27703
|
|
[FieldOffset(Offset = "0x5C")]
|
|
[Token(Token = "0x4006C37")]
|
|
private readonly int k1;
|
|
|
|
// Token: 0x04006C38 RID: 27704
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x4006C38")]
|
|
private readonly int k2;
|
|
|
|
// Token: 0x04006C39 RID: 27705
|
|
[FieldOffset(Offset = "0x64")]
|
|
[Token(Token = "0x4006C39")]
|
|
private readonly int k3;
|
|
|
|
// Token: 0x04006C3A RID: 27706
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x4006C3A")]
|
|
protected readonly F2mPoint m_infinity;
|
|
|
|
// Token: 0x02001AD5 RID: 6869
|
|
[Token(Token = "0x2001AD5")]
|
|
private class DefaultF2mLookupTable : ECLookupTable
|
|
{
|
|
// Token: 0x0600A455 RID: 42069 RVA: 0x0022DFCC File Offset: 0x0022C1CC
|
|
[Token(Token = "0x600A455")]
|
|
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
|
internal DefaultF2mLookupTable(F2mCurve outer, long[] table, int size)
|
|
{
|
|
this.m_outer = outer;
|
|
this.m_table = table;
|
|
this.m_size = size;
|
|
}
|
|
|
|
// Token: 0x170019EF RID: 6639
|
|
// (get) Token: 0x0600A456 RID: 42070 RVA: 0x0022DFF4 File Offset: 0x0022C1F4
|
|
[Token(Token = "0x170019EF")]
|
|
public virtual int Size
|
|
{
|
|
[Token(Token = "0x600A456")]
|
|
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
|
get
|
|
{
|
|
return this.m_size;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A457 RID: 42071 RVA: 0x0022E008 File Offset: 0x0022C208
|
|
[Token(Token = "0x600A457")]
|
|
[Address(RVA = "0x7D0530", Offset = "0x7CF530", VA = "0x1807D0530", Slot = "7")]
|
|
public virtual ECPoint Lookup(int index)
|
|
{
|
|
F2mCurve outer = this.m_outer;
|
|
int m = outer.m;
|
|
if (outer.k2 != 0)
|
|
{
|
|
}
|
|
int[] array;
|
|
if (outer.k3 == 0)
|
|
{
|
|
array = new int[1];
|
|
int k = this.m_outer.k1;
|
|
array[0] = k;
|
|
}
|
|
int k2 = this.m_outer.k1;
|
|
array[0] = k2;
|
|
int k3 = this.m_outer.k2;
|
|
array[0] = k3;
|
|
int k4 = this.m_outer.k3;
|
|
array[1] = k4;
|
|
int num = this.m_outer.m;
|
|
num += 63;
|
|
uint num2;
|
|
num += (int)num2;
|
|
long[] array2 = new long[num];
|
|
long[] array3 = new long[num];
|
|
int num3 = 0;
|
|
if (this.m_size > num3)
|
|
{
|
|
if (num > 0)
|
|
{
|
|
long[] table = this.m_table;
|
|
long[] table2 = this.m_table;
|
|
num3++;
|
|
}
|
|
num3++;
|
|
}
|
|
LongArray longArray = new LongArray(array2);
|
|
F2mFieldElement f2mFieldElement;
|
|
f2mFieldElement.m = m;
|
|
bool flag = array.Length != 1;
|
|
f2mFieldElement.representation = (flag ? 1 : 0);
|
|
f2mFieldElement.ks = array;
|
|
f2mFieldElement.x = longArray;
|
|
LongArray longArray2 = new LongArray(array3);
|
|
F2mFieldElement f2mFieldElement2;
|
|
f2mFieldElement2.m = m;
|
|
bool flag2 = array.Length != 1;
|
|
f2mFieldElement2.representation = (flag2 ? 1 : 0);
|
|
f2mFieldElement2.ks = array;
|
|
f2mFieldElement2.x = longArray2;
|
|
ECCurve eccurve = this.m_outer.CloneCurve();
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x04006C3B RID: 27707
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006C3B")]
|
|
private readonly F2mCurve m_outer;
|
|
|
|
// Token: 0x04006C3C RID: 27708
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006C3C")]
|
|
private readonly long[] m_table;
|
|
|
|
// Token: 0x04006C3D RID: 27709
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4006C3D")]
|
|
private readonly int m_size;
|
|
}
|
|
}
|
|
}
|