896 lines
48 KiB
C#
896 lines
48 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Threading;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Endo;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
|
|
{
|
|
// Token: 0x020019EE RID: 6638
|
|
[Token(Token = "0x20019EE")]
|
|
public abstract class ECCurve
|
|
{
|
|
// Token: 0x0600A02D RID: 41005 RVA: 0x00223CBC File Offset: 0x00221EBC
|
|
[Token(Token = "0x600A02D")]
|
|
[Address(RVA = "0x209D3E0", Offset = "0x209C1E0", VA = "0x18209D3E0")]
|
|
public static int[] GetAllCoordinateSystems()
|
|
{
|
|
int[] array = new int[8];
|
|
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.643F7C1D25ADAFA2F5ED135D8331618A14714ED2).FieldHandle);
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x0600A02E RID: 41006 RVA: 0x00223CDC File Offset: 0x00221EDC
|
|
[Token(Token = "0x600A02E")]
|
|
[Address(RVA = "0x3FFB80", Offset = "0x3FE980", VA = "0x1803FFB80")]
|
|
protected ECCurve(IFiniteField field)
|
|
{
|
|
this.m_field = field;
|
|
}
|
|
|
|
// Token: 0x1700193F RID: 6463
|
|
// (get) Token: 0x0600A02F RID: 41007
|
|
[Token(Token = "0x1700193F")]
|
|
public abstract int FieldSize
|
|
{
|
|
[Token(Token = "0x600A02F")]
|
|
[Address(Slot = "4")]
|
|
get;
|
|
}
|
|
|
|
// Token: 0x0600A030 RID: 41008
|
|
[Token(Token = "0x600A030")]
|
|
[Address(Slot = "5")]
|
|
public abstract ECFieldElement FromBigInteger(BigInteger x);
|
|
|
|
// Token: 0x0600A031 RID: 41009
|
|
[Token(Token = "0x600A031")]
|
|
[Address(Slot = "6")]
|
|
public abstract bool IsValidFieldElement(BigInteger x);
|
|
|
|
// Token: 0x0600A032 RID: 41010 RVA: 0x00223CF8 File Offset: 0x00221EF8
|
|
[Token(Token = "0x600A032")]
|
|
[Address(RVA = "0x209C8A0", Offset = "0x209B6A0", VA = "0x18209C8A0", Slot = "7")]
|
|
public virtual ECCurve.Config Configure()
|
|
{
|
|
int coord = this.m_coord;
|
|
ECEndomorphism endomorphism = this.m_endomorphism;
|
|
ECMultiplier multiplier = this.m_multiplier;
|
|
ECCurve.Config config;
|
|
config.coord = coord;
|
|
config.endomorphism = endomorphism;
|
|
config.multiplier = multiplier;
|
|
config.outer = this;
|
|
return config;
|
|
}
|
|
|
|
// Token: 0x0600A033 RID: 41011 RVA: 0x00223D38 File Offset: 0x00221F38
|
|
[Token(Token = "0x600A033")]
|
|
[Address(RVA = "0x209DF80", Offset = "0x209CD80", VA = "0x18209DF80", Slot = "8")]
|
|
public virtual ECPoint ValidatePoint(BigInteger x, BigInteger y)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A033)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve::ValidatePoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_15:
|
|
stloc:ArgumentException(var_2_1F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Invalid point coordinates")))
|
|
}
|
|
|
|
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: 0x0600A034 RID: 41012 RVA: 0x00223D64 File Offset: 0x00221F64
|
|
[Token(Token = "0x600A034")]
|
|
[Address(RVA = "0x209E040", Offset = "0x209CE40", VA = "0x18209E040", Slot = "9")]
|
|
[Obsolete]
|
|
public virtual ECPoint ValidatePoint(BigInteger x, BigInteger y, bool withCompression)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A034)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve::ValidatePoint(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_1E:
|
|
stloc:ArgumentException(var_2_28, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Invalid point coordinates")))
|
|
}
|
|
|
|
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: 0x0600A035 RID: 41013 RVA: 0x00223D9C File Offset: 0x00221F9C
|
|
[Token(Token = "0x600A035")]
|
|
[Address(RVA = "0x209CCA0", Offset = "0x209BAA0", VA = "0x18209CCA0", Slot = "10")]
|
|
public virtual ECPoint CreatePoint(BigInteger x, BigInteger y)
|
|
{
|
|
return this.CreatePoint(x, y);
|
|
}
|
|
|
|
// Token: 0x0600A036 RID: 41014 RVA: 0x00223DB4 File Offset: 0x00221FB4
|
|
[Token(Token = "0x600A036")]
|
|
[Address(RVA = "0x209CC10", Offset = "0x209BA10", VA = "0x18209CC10", Slot = "11")]
|
|
[Obsolete]
|
|
public virtual ECPoint CreatePoint(BigInteger x, BigInteger y, bool withCompression)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A036)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve::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.
|
|
{
|
|
Block_0:
|
|
stloc:int32(var_0_06, callvirtgetter:int32(ECCurve::get_FieldSize, ldloc:ECCurve(this)))
|
|
stloc:int32(var_1_0D, callvirtgetter:int32(ECCurve::get_FieldSize, ldloc:ECCurve(this)))
|
|
stloc:int32(var_2_14, callgetter:int32(ECCurve::get_FieldSize, ldloc:ECCurve(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: 0x0600A037 RID: 41015
|
|
[Token(Token = "0x600A037")]
|
|
[Address(Slot = "12")]
|
|
protected abstract ECCurve CloneCurve();
|
|
|
|
// Token: 0x0600A038 RID: 41016
|
|
[Token(Token = "0x600A038")]
|
|
[Address(Slot = "13")]
|
|
protected internal abstract ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression);
|
|
|
|
// Token: 0x0600A039 RID: 41017
|
|
[Token(Token = "0x600A039")]
|
|
[Address(Slot = "14")]
|
|
protected internal abstract ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression);
|
|
|
|
// Token: 0x0600A03A RID: 41018 RVA: 0x00223DD8 File Offset: 0x00221FD8
|
|
[Token(Token = "0x600A03A")]
|
|
[Address(RVA = "0x209CB60", Offset = "0x209B960", VA = "0x18209CB60", Slot = "15")]
|
|
protected virtual ECMultiplier CreateDefaultMultiplier()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A03A)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve::CreateDefaultMultiplier()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:WNafL2RMultiplier(var_0_05, newobj:WNafL2RMultiplier(WNafL2RMultiplier::.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: 0x0600A03B RID: 41019 RVA: 0x00223DEC File Offset: 0x00221FEC
|
|
[Token(Token = "0x600A03B")]
|
|
[Address(RVA = "0x209DF70", Offset = "0x209CD70", VA = "0x18209DF70", Slot = "16")]
|
|
public virtual bool SupportsCoordinateSystem(int coord)
|
|
{
|
|
return coord == 0;
|
|
}
|
|
|
|
// Token: 0x0600A03C RID: 41020 RVA: 0x00223E00 File Offset: 0x00222000
|
|
[Token(Token = "0x600A03C")]
|
|
[Address(RVA = "0x209D5F0", Offset = "0x209C3F0", VA = "0x18209D5F0", Slot = "17")]
|
|
public virtual PreCompInfo GetPreCompInfo(ECPoint point, string name)
|
|
{
|
|
for (;;)
|
|
{
|
|
int num = 0;
|
|
IDictionary preCompTable = point.m_preCompTable;
|
|
Monitor.Exit(point);
|
|
if (num == 0)
|
|
{
|
|
if (num != -1)
|
|
{
|
|
}
|
|
ECLookupTable eclookupTable;
|
|
if (preCompTable == 0 || ((eclookupTable == 0 || eclookupTable != 0) && num == 0))
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A03D RID: 41021 RVA: 0x00223E3C File Offset: 0x0022203C
|
|
[Token(Token = "0x600A03D")]
|
|
[Address(RVA = "0x209DCA0", Offset = "0x209CAA0", VA = "0x18209DCA0", Slot = "18")]
|
|
public virtual PreCompInfo Precompute(ECPoint point, string name, IPreCompCallback callback)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
IDictionary dictionary = point.m_preCompTable;
|
|
if (dictionary == 0)
|
|
{
|
|
IDictionary dictionary2 = Platform.CreateHashtable(4);
|
|
point.m_preCompTable = dictionary2;
|
|
}
|
|
int num2 = 0;
|
|
Monitor.Exit(point);
|
|
if (num != 0)
|
|
{
|
|
goto IL_64;
|
|
}
|
|
if (num != -1)
|
|
{
|
|
}
|
|
if (num == 0)
|
|
{
|
|
}
|
|
if (num == 0)
|
|
{
|
|
goto IL_6A;
|
|
}
|
|
if (num != 0 && num2 < typeof(IPreCompCallback).TypeHandle)
|
|
{
|
|
num2 += num2;
|
|
num2++;
|
|
}
|
|
dictionary += dictionary;
|
|
num++;
|
|
num += 19;
|
|
}
|
|
while (num != 0);
|
|
throw new NullReferenceException();
|
|
IL_64:
|
|
throw new NullReferenceException();
|
|
IL_6A:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A03E RID: 41022 RVA: 0x00223EB8 File Offset: 0x002220B8
|
|
[Token(Token = "0x600A03E")]
|
|
[Address(RVA = "0x209D7E0", Offset = "0x209C5E0", VA = "0x18209D7E0", Slot = "19")]
|
|
public virtual ECPoint ImportPoint(ECPoint p)
|
|
{
|
|
bool flag = p.SatisfiesOrder();
|
|
if (this != flag)
|
|
{
|
|
if (p.m_x == (ulong)0L && p.m_y == (ulong)0L)
|
|
{
|
|
int fieldSize = this.FieldSize;
|
|
}
|
|
bool flag2 = p.IsNormalized();
|
|
short num;
|
|
string text = num.ToString();
|
|
ushort num2;
|
|
string text2 = num2.ToString();
|
|
ECPoint ecpoint;
|
|
return ecpoint;
|
|
}
|
|
return p;
|
|
}
|
|
|
|
// Token: 0x0600A03F RID: 41023 RVA: 0x00223F10 File Offset: 0x00222110
|
|
[Token(Token = "0x600A03F")]
|
|
[Address(RVA = "0x209DC60", Offset = "0x209CA60", VA = "0x18209DC60", Slot = "20")]
|
|
public virtual void NormalizeAll(ECPoint[] points)
|
|
{
|
|
this.NormalizeAll(points);
|
|
}
|
|
|
|
// Token: 0x0600A040 RID: 41024 RVA: 0x00223F2C File Offset: 0x0022212C
|
|
[Token(Token = "0x600A040")]
|
|
[Address(RVA = "0x209D920", Offset = "0x209C720", VA = "0x18209D920", Slot = "21")]
|
|
public virtual void NormalizeAll(ECPoint[] points, int off, int len, ECFieldElement iso)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A040)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve::NormalizeAll(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint[],System.Int32,System.Int32,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_A2:
|
|
stloc:ArgumentException(var_10_B1, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not valid for affine coordinates"), ldstr:string("iso")))
|
|
}
|
|
|
|
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: 0x17001940 RID: 6464
|
|
// (get) Token: 0x0600A041 RID: 41025
|
|
[Token(Token = "0x17001940")]
|
|
public abstract ECPoint Infinity
|
|
{
|
|
[Token(Token = "0x600A041")]
|
|
[Address(Slot = "22")]
|
|
get;
|
|
}
|
|
|
|
// Token: 0x17001941 RID: 6465
|
|
// (get) Token: 0x0600A042 RID: 41026 RVA: 0x00223FEC File Offset: 0x002221EC
|
|
[Token(Token = "0x17001941")]
|
|
public virtual IFiniteField Field
|
|
{
|
|
[Token(Token = "0x600A042")]
|
|
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "23")]
|
|
get
|
|
{
|
|
return this.m_field;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001942 RID: 6466
|
|
// (get) Token: 0x0600A043 RID: 41027 RVA: 0x00224000 File Offset: 0x00222200
|
|
[Token(Token = "0x17001942")]
|
|
public virtual ECFieldElement A
|
|
{
|
|
[Token(Token = "0x600A043")]
|
|
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "24")]
|
|
get
|
|
{
|
|
return this.m_a;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001943 RID: 6467
|
|
// (get) Token: 0x0600A044 RID: 41028 RVA: 0x00224014 File Offset: 0x00222214
|
|
[Token(Token = "0x17001943")]
|
|
public virtual ECFieldElement B
|
|
{
|
|
[Token(Token = "0x600A044")]
|
|
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400", Slot = "25")]
|
|
get
|
|
{
|
|
return this.m_b;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001944 RID: 6468
|
|
// (get) Token: 0x0600A045 RID: 41029 RVA: 0x00224028 File Offset: 0x00222228
|
|
[Token(Token = "0x17001944")]
|
|
public virtual BigInteger Order
|
|
{
|
|
[Token(Token = "0x600A045")]
|
|
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0", Slot = "26")]
|
|
get
|
|
{
|
|
return this.m_order;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001945 RID: 6469
|
|
// (get) Token: 0x0600A046 RID: 41030 RVA: 0x0022403C File Offset: 0x0022223C
|
|
[Token(Token = "0x17001945")]
|
|
public virtual BigInteger Cofactor
|
|
{
|
|
[Token(Token = "0x600A046")]
|
|
[Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180", Slot = "27")]
|
|
get
|
|
{
|
|
return this.m_cofactor;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001946 RID: 6470
|
|
// (get) Token: 0x0600A047 RID: 41031 RVA: 0x00224050 File Offset: 0x00222250
|
|
[Token(Token = "0x17001946")]
|
|
public virtual int CoordinateSystem
|
|
{
|
|
[Token(Token = "0x600A047")]
|
|
[Address(RVA = "0x40FFE0", Offset = "0x40EDE0", VA = "0x18040FFE0", Slot = "28")]
|
|
get
|
|
{
|
|
return this.m_coord;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A048 RID: 41032 RVA: 0x00224064 File Offset: 0x00222264
|
|
[Token(Token = "0x600A048")]
|
|
[Address(RVA = "0x209C930", Offset = "0x209B730", VA = "0x18209C930", Slot = "29")]
|
|
public virtual ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
|
{
|
|
string text = this.ToString();
|
|
string text2 = text * len;
|
|
text2 += text2;
|
|
byte[] array = new byte[text2];
|
|
int num = 0;
|
|
if (len > 0)
|
|
{
|
|
ECPoint ecpoint = points[len];
|
|
string text3 = ecpoint.m_x.ToString();
|
|
string text4 = ecpoint.m_y.ToString();
|
|
byte[] array2;
|
|
int num2 = array2.Length;
|
|
bool flag = num2 > text;
|
|
num2 -= (flag ? 1 : 0);
|
|
byte[] array3;
|
|
int num3 = array3.Length;
|
|
bool flag2 = num3 > text;
|
|
num -= num2;
|
|
num += text;
|
|
num3 -= (flag2 ? 1 : 0);
|
|
Array.Copy(array2, flag ? 1 : 0, array, num, num2);
|
|
num += text;
|
|
num -= num3;
|
|
num += text;
|
|
flag = flag2;
|
|
Array.Copy(array3, flag ? 1 : 0, array, num, num3);
|
|
num += text;
|
|
}
|
|
ECCurve.DefaultLookupTable defaultLookupTable;
|
|
defaultLookupTable.m_table = array;
|
|
defaultLookupTable.m_size = 0;
|
|
defaultLookupTable.m_outer = this;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A049 RID: 41033 RVA: 0x00224138 File Offset: 0x00222338
|
|
[Token(Token = "0x600A049")]
|
|
[Address(RVA = "0x209C650", Offset = "0x209B450", VA = "0x18209C650", Slot = "30")]
|
|
protected virtual void CheckPoint(ECPoint point)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A049)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve::CheckPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_10:
|
|
stloc:ArgumentException(var_1_1F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must be non-null and on this curve"), ldstr:string("point")))
|
|
}
|
|
|
|
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: 0x0600A04A RID: 41034 RVA: 0x00224164 File Offset: 0x00222364
|
|
[Token(Token = "0x600A04A")]
|
|
[Address(RVA = "0x209C860", Offset = "0x209B660", VA = "0x18209C860", Slot = "31")]
|
|
protected virtual void CheckPoints(ECPoint[] points)
|
|
{
|
|
this.CheckPoints(points);
|
|
}
|
|
|
|
// Token: 0x0600A04B RID: 41035 RVA: 0x00224180 File Offset: 0x00222380
|
|
[Token(Token = "0x600A04B")]
|
|
[Address(RVA = "0x209C6E0", Offset = "0x209B4E0", VA = "0x18209C6E0", Slot = "32")]
|
|
protected virtual void CheckPoints(ECPoint[] points, int off, int len)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A04B)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve::CheckPoints(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint[],System.Int32,System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_3E:
|
|
stloc:ArgumentException(var_4_4D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("entries must be null or on this curve"), ldstr:string("points")))
|
|
}
|
|
|
|
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: 0x0600A04C RID: 41036 RVA: 0x002241DC File Offset: 0x002223DC
|
|
[Token(Token = "0x600A04C")]
|
|
[Address(RVA = "0x209D190", Offset = "0x209BF90", VA = "0x18209D190", Slot = "33")]
|
|
public virtual bool Equals(ECCurve other)
|
|
{
|
|
if (this != other)
|
|
{
|
|
if (other != 0)
|
|
{
|
|
ECPoint infinity = this.Infinity;
|
|
if (other.Infinity != 0)
|
|
{
|
|
IFiniteField field = this.Field;
|
|
if (other.Field != 0)
|
|
{
|
|
string text = this.A.ToString();
|
|
string text2 = other.A.ToString();
|
|
object obj = ((ICloneable)text).Clone();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x0600A04D RID: 41037 RVA: 0x00224240 File Offset: 0x00222440
|
|
[Token(Token = "0x600A04D")]
|
|
[Address(RVA = "0x209D350", Offset = "0x209C150", VA = "0x18209D350", Slot = "0")]
|
|
public override bool Equals(object obj)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A04D)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve::Equals(System.Object)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_04:
|
|
stloc:int32(var_1_0C, callgetter:int32(ECCurve::get_FieldSize, ldloc:ECCurve(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: 0x0600A04E RID: 41038 RVA: 0x0022425C File Offset: 0x0022245C
|
|
[Token(Token = "0x600A04E")]
|
|
[Address(RVA = "0x209D430", Offset = "0x209C230", VA = "0x18209D430", Slot = "2")]
|
|
public override int GetHashCode()
|
|
{
|
|
this.Infinity.Finalize();
|
|
IFiniteField field = this.Field;
|
|
this.A.ToString().Finalize();
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A04F RID: 41039
|
|
[Token(Token = "0x600A04F")]
|
|
[Address(Slot = "34")]
|
|
protected abstract ECPoint DecompressPoint(int yTilde, BigInteger X1);
|
|
|
|
// Token: 0x0600A050 RID: 41040 RVA: 0x00224290 File Offset: 0x00222490
|
|
[Token(Token = "0x600A050")]
|
|
[Address(RVA = "0x408890", Offset = "0x407690", VA = "0x180408890", Slot = "35")]
|
|
public virtual ECEndomorphism GetEndomorphism()
|
|
{
|
|
return this.m_endomorphism;
|
|
}
|
|
|
|
// Token: 0x0600A051 RID: 41041 RVA: 0x002242A4 File Offset: 0x002224A4
|
|
[Token(Token = "0x600A051")]
|
|
[Address(RVA = "0x209D540", Offset = "0x209C340", VA = "0x18209D540", Slot = "36")]
|
|
public virtual ECMultiplier GetMultiplier()
|
|
{
|
|
int num;
|
|
ECMultiplier multiplier;
|
|
do
|
|
{
|
|
num = 0;
|
|
multiplier = this.m_multiplier;
|
|
if (multiplier == 0)
|
|
{
|
|
ECPoint ecpoint;
|
|
this.m_multiplier = ecpoint;
|
|
}
|
|
Monitor.Exit(this);
|
|
}
|
|
while (num != 0);
|
|
return multiplier;
|
|
}
|
|
|
|
// Token: 0x0600A052 RID: 41042 RVA: 0x002242D0 File Offset: 0x002224D0
|
|
[Token(Token = "0x600A052")]
|
|
[Address(RVA = "0x209CCD0", Offset = "0x209BAD0", VA = "0x18209CCD0", Slot = "37")]
|
|
public virtual ECPoint DecodePoint(byte[] encoded)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A052)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve::DecodePoint(System.Byte[])
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_81:
|
|
stloc:ArgumentException(var_19_8B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Invalid point")))
|
|
}
|
|
|
|
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: 0x04006A60 RID: 27232
|
|
[Token(Token = "0x4006A60")]
|
|
public const int COORD_AFFINE = 0;
|
|
|
|
// Token: 0x04006A61 RID: 27233
|
|
[Token(Token = "0x4006A61")]
|
|
public const int COORD_HOMOGENEOUS = 1;
|
|
|
|
// Token: 0x04006A62 RID: 27234
|
|
[Token(Token = "0x4006A62")]
|
|
public const int COORD_JACOBIAN = 2;
|
|
|
|
// Token: 0x04006A63 RID: 27235
|
|
[Token(Token = "0x4006A63")]
|
|
public const int COORD_JACOBIAN_CHUDNOVSKY = 3;
|
|
|
|
// Token: 0x04006A64 RID: 27236
|
|
[Token(Token = "0x4006A64")]
|
|
public const int COORD_JACOBIAN_MODIFIED = 4;
|
|
|
|
// Token: 0x04006A65 RID: 27237
|
|
[Token(Token = "0x4006A65")]
|
|
public const int COORD_LAMBDA_AFFINE = 5;
|
|
|
|
// Token: 0x04006A66 RID: 27238
|
|
[Token(Token = "0x4006A66")]
|
|
public const int COORD_LAMBDA_PROJECTIVE = 6;
|
|
|
|
// Token: 0x04006A67 RID: 27239
|
|
[Token(Token = "0x4006A67")]
|
|
public const int COORD_SKEWED = 7;
|
|
|
|
// Token: 0x04006A68 RID: 27240
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006A68")]
|
|
protected readonly IFiniteField m_field;
|
|
|
|
// Token: 0x04006A69 RID: 27241
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006A69")]
|
|
protected ECFieldElement m_a;
|
|
|
|
// Token: 0x04006A6A RID: 27242
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4006A6A")]
|
|
protected ECFieldElement m_b;
|
|
|
|
// Token: 0x04006A6B RID: 27243
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4006A6B")]
|
|
protected BigInteger m_order;
|
|
|
|
// Token: 0x04006A6C RID: 27244
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4006A6C")]
|
|
protected BigInteger m_cofactor;
|
|
|
|
// Token: 0x04006A6D RID: 27245
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4006A6D")]
|
|
protected int m_coord;
|
|
|
|
// Token: 0x04006A6E RID: 27246
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4006A6E")]
|
|
protected ECEndomorphism m_endomorphism;
|
|
|
|
// Token: 0x04006A6F RID: 27247
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4006A6F")]
|
|
protected ECMultiplier m_multiplier;
|
|
|
|
// Token: 0x020019EF RID: 6639
|
|
[Token(Token = "0x20019EF")]
|
|
public class Config
|
|
{
|
|
// Token: 0x0600A053 RID: 41043 RVA: 0x0022436C File Offset: 0x0022256C
|
|
[Token(Token = "0x600A053")]
|
|
[Address(RVA = "0x1B35CD0", Offset = "0x1B34AD0", VA = "0x181B35CD0")]
|
|
internal Config(ECCurve outer, int coord, ECEndomorphism endomorphism, ECMultiplier multiplier)
|
|
{
|
|
this.outer = outer;
|
|
this.endomorphism = endomorphism;
|
|
this.multiplier = 0;
|
|
this.coord = coord;
|
|
}
|
|
|
|
// Token: 0x0600A054 RID: 41044 RVA: 0x0022439C File Offset: 0x0022259C
|
|
[Token(Token = "0x600A054")]
|
|
[Address(RVA = "0x2098E80", Offset = "0x2097C80", VA = "0x182098E80")]
|
|
public ECCurve.Config SetCoordinateSystem(int coord)
|
|
{
|
|
this.coord = coord;
|
|
return this;
|
|
}
|
|
|
|
// Token: 0x0600A055 RID: 41045 RVA: 0x002243B4 File Offset: 0x002225B4
|
|
[Token(Token = "0x600A055")]
|
|
[Address(RVA = "0x1872000", Offset = "0x1870E00", VA = "0x181872000")]
|
|
public ECCurve.Config SetEndomorphism(ECEndomorphism endomorphism)
|
|
{
|
|
this.endomorphism = endomorphism;
|
|
return this;
|
|
}
|
|
|
|
// Token: 0x0600A056 RID: 41046 RVA: 0x002243CC File Offset: 0x002225CC
|
|
[Token(Token = "0x600A056")]
|
|
[Address(RVA = "0x1871FD0", Offset = "0x1870DD0", VA = "0x181871FD0")]
|
|
public ECCurve.Config SetMultiplier(ECMultiplier multiplier)
|
|
{
|
|
this.multiplier = multiplier;
|
|
return this;
|
|
}
|
|
|
|
// Token: 0x0600A057 RID: 41047 RVA: 0x002243E4 File Offset: 0x002225E4
|
|
[Token(Token = "0x600A057")]
|
|
[Address(RVA = "0x2098D90", Offset = "0x2097B90", VA = "0x182098D90")]
|
|
public ECCurve Create()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600A057)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve/Config::Create()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_41:
|
|
stloc:InvalidOperationException(var_5_4B, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("unsupported coordinate system")))
|
|
}
|
|
|
|
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: 0x04006A70 RID: 27248
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006A70")]
|
|
protected ECCurve outer;
|
|
|
|
// Token: 0x04006A71 RID: 27249
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006A71")]
|
|
protected int coord;
|
|
|
|
// Token: 0x04006A72 RID: 27250
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4006A72")]
|
|
protected ECEndomorphism endomorphism;
|
|
|
|
// Token: 0x04006A73 RID: 27251
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4006A73")]
|
|
protected ECMultiplier multiplier;
|
|
}
|
|
|
|
// Token: 0x020019F0 RID: 6640
|
|
[Token(Token = "0x20019F0")]
|
|
private class DefaultLookupTable : ECLookupTable
|
|
{
|
|
// Token: 0x0600A058 RID: 41048 RVA: 0x00224440 File Offset: 0x00222640
|
|
[Token(Token = "0x600A058")]
|
|
[Address(RVA = "0x412390", Offset = "0x411190", VA = "0x180412390")]
|
|
internal DefaultLookupTable(ECCurve outer, byte[] table, int size)
|
|
{
|
|
this.m_outer = outer;
|
|
this.m_table = table;
|
|
this.m_size = size;
|
|
}
|
|
|
|
// Token: 0x17001947 RID: 6471
|
|
// (get) Token: 0x0600A059 RID: 41049 RVA: 0x00224468 File Offset: 0x00222668
|
|
[Token(Token = "0x17001947")]
|
|
public virtual int Size
|
|
{
|
|
[Token(Token = "0x600A059")]
|
|
[Address(RVA = "0x3F7310", Offset = "0x3F6110", VA = "0x1803F7310", Slot = "6")]
|
|
get
|
|
{
|
|
return this.m_size;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A05A RID: 41050 RVA: 0x0022447C File Offset: 0x0022267C
|
|
[Token(Token = "0x600A05A")]
|
|
[Address(RVA = "0x2099250", Offset = "0x2098050", VA = "0x182099250", Slot = "7")]
|
|
public virtual ECPoint Lookup(int index)
|
|
{
|
|
string text = this.m_outer.ToString();
|
|
byte[] array = new byte[text];
|
|
byte[] array2 = new byte[text];
|
|
int num = 0;
|
|
int num2 = 0;
|
|
if (this.m_size > num)
|
|
{
|
|
int num3 = 0;
|
|
if (text > 0)
|
|
{
|
|
byte[] table = this.m_table;
|
|
byte[] table2 = this.m_table;
|
|
num3++;
|
|
}
|
|
num2++;
|
|
}
|
|
ECCurve outer = this.m_outer;
|
|
BigInteger bigInteger = new BigInteger(1, array);
|
|
int fieldSize = outer.FieldSize;
|
|
ECCurve outer2 = this.m_outer;
|
|
BigInteger bigInteger2 = new BigInteger(1, array2);
|
|
int fieldSize2 = outer2.FieldSize;
|
|
ECCurve eccurve = this.m_outer.CloneCurve();
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x04006A74 RID: 27252
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006A74")]
|
|
private readonly ECCurve m_outer;
|
|
|
|
// Token: 0x04006A75 RID: 27253
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006A75")]
|
|
private readonly byte[] m_table;
|
|
|
|
// Token: 0x04006A76 RID: 27254
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4006A76")]
|
|
private readonly int m_size;
|
|
}
|
|
}
|
|
}
|