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: 0x020019F4 RID: 6644
|
|
[Token(Token = "0x20019F4")]
|
|
public class F2mCurve : AbstractF2mCurve
|
|
{
|
|
// Token: 0x0600A074 RID: 41076 RVA: 0x00224B74 File Offset: 0x00222D74
|
|
[Token(Token = "0x600A074")]
|
|
[Address(RVA = "0x20A0810", Offset = "0x209F610", VA = "0x1820A0810")]
|
|
[Obsolete]
|
|
public F2mCurve(int m, int k, BigInteger a, BigInteger b)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600A075 RID: 41077 RVA: 0x00224B84 File Offset: 0x00222D84
|
|
[Token(Token = "0x600A075")]
|
|
[Address(RVA = "0x20A0B80", Offset = "0x209F980", VA = "0x1820A0B80")]
|
|
public F2mCurve(int m, int k, BigInteger a, BigInteger b, BigInteger order, BigInteger cofactor)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600A076 RID: 41078 RVA: 0x00224B94 File Offset: 0x00222D94
|
|
[Token(Token = "0x600A076")]
|
|
[Address(RVA = "0x20A07C0", Offset = "0x209F5C0", VA = "0x1820A07C0")]
|
|
[Obsolete]
|
|
public F2mCurve(int m, int k1, int k2, int k3, BigInteger a, BigInteger b)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600A077 RID: 41079 RVA: 0x00224BA4 File Offset: 0x00222DA4
|
|
[Token(Token = "0x600A077")]
|
|
[Address(RVA = "0x20A0960", Offset = "0x209F760", VA = "0x1820A0960")]
|
|
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 (0600A077)
|
|
|
|
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: 0x0600A078 RID: 41080 RVA: 0x00224C4C File Offset: 0x00222E4C
|
|
[Token(Token = "0x600A078")]
|
|
[Address(RVA = "0x20A0850", Offset = "0x209F650", VA = "0x1820A0850")]
|
|
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: 0x0600A079 RID: 41081 RVA: 0x00224CB4 File Offset: 0x00222EB4
|
|
[Token(Token = "0x600A079")]
|
|
[Address(RVA = "0x20A0100", Offset = "0x209EF00", VA = "0x1820A0100", Slot = "12")]
|
|
protected override ECCurve CloneCurve()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A079)
|
|
|
|
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: 0x0600A07A RID: 41082 RVA: 0x00224D74 File Offset: 0x00222F74
|
|
[Token(Token = "0x600A07A")]
|
|
[Address(RVA = "0x20A07B0", Offset = "0x209F5B0", VA = "0x1820A07B0", Slot = "16")]
|
|
public override bool SupportsCoordinateSystem(int coord)
|
|
{
|
|
if (coord <= 1 || coord != 6)
|
|
{
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x0600A07B RID: 41083 RVA: 0x00224D8C File Offset: 0x00222F8C
|
|
[Token(Token = "0x600A07B")]
|
|
[Address(RVA = "0x20A04B0", Offset = "0x209F2B0", VA = "0x1820A04B0", Slot = "15")]
|
|
protected override ECMultiplier CreateDefaultMultiplier()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A07B)
|
|
|
|
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: 0x1700194C RID: 6476
|
|
// (get) Token: 0x0600A07C RID: 41084 RVA: 0x00224DB4 File Offset: 0x00222FB4
|
|
[Token(Token = "0x1700194C")]
|
|
public override int FieldSize
|
|
{
|
|
[Token(Token = "0x600A07C")]
|
|
[Address(RVA = "0x3FA190", Offset = "0x3F8F90", VA = "0x1803FA190", Slot = "4")]
|
|
get
|
|
{
|
|
return this.m;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A07D RID: 41085 RVA: 0x00224DC8 File Offset: 0x00222FC8
|
|
[Token(Token = "0x600A07D")]
|
|
[Address(RVA = "0x20A06F0", Offset = "0x209F4F0", VA = "0x1820A06F0", Slot = "5")]
|
|
public override ECFieldElement FromBigInteger(BigInteger x)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A07D)
|
|
|
|
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: 0x0600A07E RID: 41086 RVA: 0x00224DFC File Offset: 0x00222FFC
|
|
[Token(Token = "0x600A07E")]
|
|
[Address(RVA = "0x20A0660", Offset = "0x209F460", VA = "0x1820A0660", Slot = "13")]
|
|
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A07E)
|
|
|
|
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: 0x0600A07F RID: 41087 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x600A07F")]
|
|
[Address(RVA = "0x20A05C0", Offset = "0x209F3C0", VA = "0x1820A05C0", 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: 0x1700194D RID: 6477
|
|
// (get) Token: 0x0600A080 RID: 41088 RVA: 0x00224E14 File Offset: 0x00223014
|
|
[Token(Token = "0x1700194D")]
|
|
public override ECPoint Infinity
|
|
{
|
|
[Token(Token = "0x600A080")]
|
|
[Address(RVA = "0x423E10", Offset = "0x422C10", VA = "0x180423E10", Slot = "22")]
|
|
get
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A080)
|
|
|
|
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: 0x1700194E RID: 6478
|
|
// (get) Token: 0x0600A081 RID: 41089 RVA: 0x00224E28 File Offset: 0x00223028
|
|
[Token(Token = "0x1700194E")]
|
|
public int M
|
|
{
|
|
[Token(Token = "0x600A081")]
|
|
[Address(RVA = "0x3FA190", Offset = "0x3F8F90", VA = "0x1803FA190")]
|
|
get
|
|
{
|
|
return this.m;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A082 RID: 41090 RVA: 0x00224E3C File Offset: 0x0022303C
|
|
[Token(Token = "0x600A082")]
|
|
[Address(RVA = "0x20A0790", Offset = "0x209F590", VA = "0x1820A0790")]
|
|
public bool IsTrinomial()
|
|
{
|
|
if (this.k2 != 0)
|
|
{
|
|
}
|
|
return this.k3 == 0;
|
|
}
|
|
|
|
// Token: 0x1700194F RID: 6479
|
|
// (get) Token: 0x0600A083 RID: 41091 RVA: 0x00224E60 File Offset: 0x00223060
|
|
[Token(Token = "0x1700194F")]
|
|
public int K1
|
|
{
|
|
[Token(Token = "0x600A083")]
|
|
[Address(RVA = "0x7FA0A0", Offset = "0x7F8EA0", VA = "0x1807FA0A0")]
|
|
get
|
|
{
|
|
return this.k1;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001950 RID: 6480
|
|
// (get) Token: 0x0600A084 RID: 41092 RVA: 0x00224E74 File Offset: 0x00223074
|
|
[Token(Token = "0x17001950")]
|
|
public int K2
|
|
{
|
|
[Token(Token = "0x600A084")]
|
|
[Address(RVA = "0xD17AD0", Offset = "0xD168D0", VA = "0x180D17AD0")]
|
|
get
|
|
{
|
|
return this.k2;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001951 RID: 6481
|
|
// (get) Token: 0x0600A085 RID: 41093 RVA: 0x00224E88 File Offset: 0x00223088
|
|
[Token(Token = "0x17001951")]
|
|
public int K3
|
|
{
|
|
[Token(Token = "0x600A085")]
|
|
[Address(RVA = "0x60D5D0", Offset = "0x60C3D0", VA = "0x18060D5D0")]
|
|
get
|
|
{
|
|
return this.k3;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A086 RID: 41094 RVA: 0x00224E9C File Offset: 0x0022309C
|
|
[Token(Token = "0x600A086")]
|
|
[Address(RVA = "0x20A0240", Offset = "0x209F040", VA = "0x1820A0240", 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: 0x04006A7C RID: 27260
|
|
[Token(Token = "0x4006A7C")]
|
|
private const int F2M_DEFAULT_COORDS = 6;
|
|
|
|
// Token: 0x04006A7D RID: 27261
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x4006A7D")]
|
|
private readonly int m;
|
|
|
|
// Token: 0x04006A7E RID: 27262
|
|
[FieldOffset(Offset = "0x5C")]
|
|
[Token(Token = "0x4006A7E")]
|
|
private readonly int k1;
|
|
|
|
// Token: 0x04006A7F RID: 27263
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x4006A7F")]
|
|
private readonly int k2;
|
|
|
|
// Token: 0x04006A80 RID: 27264
|
|
[FieldOffset(Offset = "0x64")]
|
|
[Token(Token = "0x4006A80")]
|
|
private readonly int k3;
|
|
|
|
// Token: 0x04006A81 RID: 27265
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x4006A81")]
|
|
protected readonly F2mPoint m_infinity;
|
|
|
|
// Token: 0x020019F5 RID: 6645
|
|
[Token(Token = "0x20019F5")]
|
|
private class DefaultF2mLookupTable : ECLookupTable
|
|
{
|
|
// Token: 0x0600A087 RID: 41095 RVA: 0x00224F30 File Offset: 0x00223130
|
|
[Token(Token = "0x600A087")]
|
|
[Address(RVA = "0x412390", Offset = "0x411190", VA = "0x180412390")]
|
|
internal DefaultF2mLookupTable(F2mCurve outer, long[] table, int size)
|
|
{
|
|
this.m_outer = outer;
|
|
this.m_table = table;
|
|
this.m_size = size;
|
|
}
|
|
|
|
// Token: 0x17001952 RID: 6482
|
|
// (get) Token: 0x0600A088 RID: 41096 RVA: 0x00224F58 File Offset: 0x00223158
|
|
[Token(Token = "0x17001952")]
|
|
public virtual int Size
|
|
{
|
|
[Token(Token = "0x600A088")]
|
|
[Address(RVA = "0x3F7310", Offset = "0x3F6110", VA = "0x1803F7310", Slot = "6")]
|
|
get
|
|
{
|
|
return this.m_size;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A089 RID: 41097 RVA: 0x00224F6C File Offset: 0x0022316C
|
|
[Token(Token = "0x600A089")]
|
|
[Address(RVA = "0x2098E90", Offset = "0x2097C90", VA = "0x182098E90", 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: 0x04006A82 RID: 27266
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006A82")]
|
|
private readonly F2mCurve m_outer;
|
|
|
|
// Token: 0x04006A83 RID: 27267
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006A83")]
|
|
private readonly long[] m_table;
|
|
|
|
// Token: 0x04006A84 RID: 27268
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4006A84")]
|
|
private readonly int m_size;
|
|
}
|
|
}
|
|
}
|