514 lines
28 KiB
C#
514 lines
28 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
|
|
{
|
|
// Token: 0x02001417 RID: 5143
|
|
[Token(Token = "0x2001417")]
|
|
[StructLayout(3)]
|
|
public class F2mCurve : AbstractF2mCurve
|
|
{
|
|
// Token: 0x0600849A RID: 33946 RVA: 0x001CD5D8 File Offset: 0x001CB7D8
|
|
[Token(Token = "0x600849A")]
|
|
[Address(RVA = "0x21A6150", Offset = "0x21A4B50", VA = "0x1821A6150")]
|
|
[Obsolete]
|
|
public F2mCurve(int m, int k, BigInteger a, BigInteger b)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600849B RID: 33947 RVA: 0x001CD5E8 File Offset: 0x001CB7E8
|
|
[Token(Token = "0x600849B")]
|
|
[Address(RVA = "0x21A64C0", Offset = "0x21A4EC0", VA = "0x1821A64C0")]
|
|
public F2mCurve(int m, int k, BigInteger a, BigInteger b, BigInteger order, BigInteger cofactor)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600849C RID: 33948 RVA: 0x001CD5F8 File Offset: 0x001CB7F8
|
|
[Token(Token = "0x600849C")]
|
|
[Address(RVA = "0x21A6100", Offset = "0x21A4B00", VA = "0x1821A6100")]
|
|
[Obsolete]
|
|
public F2mCurve(int m, int k1, int k2, int k3, BigInteger a, BigInteger b)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600849D RID: 33949 RVA: 0x001CD608 File Offset: 0x001CB808
|
|
[Token(Token = "0x600849D")]
|
|
[Address(RVA = "0x21A62A0", Offset = "0x21A4CA0", VA = "0x1821A62A0")]
|
|
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 (0600849D)
|
|
|
|
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: 0x0600849E RID: 33950 RVA: 0x001CD6B0 File Offset: 0x001CB8B0
|
|
[Token(Token = "0x600849E")]
|
|
[Address(RVA = "0x21A6190", Offset = "0x21A4B90", VA = "0x1821A6190")]
|
|
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: 0x0600849F RID: 33951 RVA: 0x001CD718 File Offset: 0x001CB918
|
|
[Token(Token = "0x600849F")]
|
|
[Address(RVA = "0x21A5A40", Offset = "0x21A4440", VA = "0x1821A5A40", Slot = "12")]
|
|
protected override ECCurve CloneCurve()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600849F)
|
|
|
|
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: 0x060084A0 RID: 33952 RVA: 0x001CD7D8 File Offset: 0x001CB9D8
|
|
[Token(Token = "0x60084A0")]
|
|
[Address(RVA = "0x21A60F0", Offset = "0x21A4AF0", VA = "0x1821A60F0", Slot = "16")]
|
|
public override bool SupportsCoordinateSystem(int coord)
|
|
{
|
|
if (coord <= 1 || coord != 6)
|
|
{
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x060084A1 RID: 33953 RVA: 0x001CD7F0 File Offset: 0x001CB9F0
|
|
[Token(Token = "0x60084A1")]
|
|
[Address(RVA = "0x21A5DF0", Offset = "0x21A47F0", VA = "0x1821A5DF0", Slot = "15")]
|
|
protected override ECMultiplier CreateDefaultMultiplier()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060084A1)
|
|
|
|
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: 0x1700154B RID: 5451
|
|
// (get) Token: 0x060084A2 RID: 33954 RVA: 0x001CD818 File Offset: 0x001CBA18
|
|
[Token(Token = "0x1700154B")]
|
|
public override int FieldSize
|
|
{
|
|
[Token(Token = "0x60084A2")]
|
|
[Address(RVA = "0x4F8170", Offset = "0x4F6B70", VA = "0x1804F8170", Slot = "4")]
|
|
get
|
|
{
|
|
return this.m;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060084A3 RID: 33955 RVA: 0x001CD82C File Offset: 0x001CBA2C
|
|
[Token(Token = "0x60084A3")]
|
|
[Address(RVA = "0x21A6030", Offset = "0x21A4A30", VA = "0x1821A6030", Slot = "5")]
|
|
public override ECFieldElement FromBigInteger(BigInteger x)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060084A3)
|
|
|
|
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: 0x060084A4 RID: 33956 RVA: 0x001CD860 File Offset: 0x001CBA60
|
|
[Token(Token = "0x60084A4")]
|
|
[Address(RVA = "0x21A5FA0", Offset = "0x21A49A0", VA = "0x1821A5FA0", Slot = "13")]
|
|
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060084A4)
|
|
|
|
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: 0x060084A5 RID: 33957 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x60084A5")]
|
|
[Address(RVA = "0x21A5F00", Offset = "0x21A4900", VA = "0x1821A5F00", 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: 0x1700154C RID: 5452
|
|
// (get) Token: 0x060084A6 RID: 33958 RVA: 0x001CD878 File Offset: 0x001CBA78
|
|
[Token(Token = "0x1700154C")]
|
|
public override ECPoint Infinity
|
|
{
|
|
[Token(Token = "0x60084A6")]
|
|
[Address(RVA = "0x48F050", Offset = "0x48DA50", VA = "0x18048F050", Slot = "22")]
|
|
get
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060084A6)
|
|
|
|
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: 0x1700154D RID: 5453
|
|
// (get) Token: 0x060084A7 RID: 33959 RVA: 0x001CD88C File Offset: 0x001CBA8C
|
|
[Token(Token = "0x1700154D")]
|
|
public int M
|
|
{
|
|
[Token(Token = "0x60084A7")]
|
|
[Address(RVA = "0x4F8170", Offset = "0x4F6B70", VA = "0x1804F8170")]
|
|
get
|
|
{
|
|
return this.m;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060084A8 RID: 33960 RVA: 0x001CD8A0 File Offset: 0x001CBAA0
|
|
[Token(Token = "0x60084A8")]
|
|
[Address(RVA = "0x21A60D0", Offset = "0x21A4AD0", VA = "0x1821A60D0")]
|
|
public bool IsTrinomial()
|
|
{
|
|
if (this.k2 != 0)
|
|
{
|
|
}
|
|
return this.k3 == 0;
|
|
}
|
|
|
|
// Token: 0x1700154E RID: 5454
|
|
// (get) Token: 0x060084A9 RID: 33961 RVA: 0x001CD8C4 File Offset: 0x001CBAC4
|
|
[Token(Token = "0x1700154E")]
|
|
public int K1
|
|
{
|
|
[Token(Token = "0x60084A9")]
|
|
[Address(RVA = "0x567EB0", Offset = "0x5668B0", VA = "0x180567EB0")]
|
|
get
|
|
{
|
|
return this.k1;
|
|
}
|
|
}
|
|
|
|
// Token: 0x1700154F RID: 5455
|
|
// (get) Token: 0x060084AA RID: 33962 RVA: 0x001CD8D8 File Offset: 0x001CBAD8
|
|
[Token(Token = "0x1700154F")]
|
|
public int K2
|
|
{
|
|
[Token(Token = "0x60084AA")]
|
|
[Address(RVA = "0x501240", Offset = "0x4FFC40", VA = "0x180501240")]
|
|
get
|
|
{
|
|
return this.k2;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001550 RID: 5456
|
|
// (get) Token: 0x060084AB RID: 33963 RVA: 0x001CD8EC File Offset: 0x001CBAEC
|
|
[Token(Token = "0x17001550")]
|
|
public int K3
|
|
{
|
|
[Token(Token = "0x60084AB")]
|
|
[Address(RVA = "0x567EA0", Offset = "0x5668A0", VA = "0x180567EA0")]
|
|
get
|
|
{
|
|
return this.k3;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060084AC RID: 33964 RVA: 0x001CD900 File Offset: 0x001CBB00
|
|
[Token(Token = "0x60084AC")]
|
|
[Address(RVA = "0x21A5B80", Offset = "0x21A4580", VA = "0x1821A5B80", 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: 0x04005C39 RID: 23609
|
|
[Token(Token = "0x4005C39")]
|
|
private const int F2M_DEFAULT_COORDS = 6;
|
|
|
|
// Token: 0x04005C3A RID: 23610
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x4005C3A")]
|
|
private readonly int m;
|
|
|
|
// Token: 0x04005C3B RID: 23611
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x5C")]
|
|
[Token(Token = "0x4005C3B")]
|
|
private readonly int k1;
|
|
|
|
// Token: 0x04005C3C RID: 23612
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x4005C3C")]
|
|
private readonly int k2;
|
|
|
|
// Token: 0x04005C3D RID: 23613
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x64")]
|
|
[Token(Token = "0x4005C3D")]
|
|
private readonly int k3;
|
|
|
|
// Token: 0x04005C3E RID: 23614
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x4005C3E")]
|
|
protected readonly F2mPoint m_infinity;
|
|
|
|
// Token: 0x02001418 RID: 5144
|
|
[Token(Token = "0x2001418")]
|
|
private class DefaultF2mLookupTable : ECLookupTable
|
|
{
|
|
// Token: 0x060084AD RID: 33965 RVA: 0x001CD994 File Offset: 0x001CBB94
|
|
[Token(Token = "0x60084AD")]
|
|
[Address(RVA = "0x602F40", Offset = "0x601940", VA = "0x180602F40")]
|
|
internal DefaultF2mLookupTable(F2mCurve outer, long[] table, int size)
|
|
{
|
|
this.m_outer = outer;
|
|
this.m_table = table;
|
|
this.m_size = size;
|
|
}
|
|
|
|
// Token: 0x17001551 RID: 5457
|
|
// (get) Token: 0x060084AE RID: 33966 RVA: 0x001CD9BC File Offset: 0x001CBBBC
|
|
[Token(Token = "0x17001551")]
|
|
public virtual int Size
|
|
{
|
|
[Token(Token = "0x60084AE")]
|
|
[Address(RVA = "0x4FBD40", Offset = "0x4FA740", VA = "0x1804FBD40", Slot = "6")]
|
|
get
|
|
{
|
|
return this.m_size;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060084AF RID: 33967 RVA: 0x001CD9D0 File Offset: 0x001CBBD0
|
|
[Token(Token = "0x60084AF")]
|
|
[Address(RVA = "0x219E750", Offset = "0x219D150", VA = "0x18219E750", 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: 0x04005C3F RID: 23615
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4005C3F")]
|
|
private readonly F2mCurve m_outer;
|
|
|
|
// Token: 0x04005C40 RID: 23616
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4005C40")]
|
|
private readonly long[] m_table;
|
|
|
|
// Token: 0x04005C41 RID: 23617
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4005C41")]
|
|
private readonly int m_size;
|
|
}
|
|
}
|
|
}
|