m
This commit is contained in:
@@ -0,0 +1,3245 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Text;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math
|
||||
{
|
||||
// Token: 0x02001AB4 RID: 6836
|
||||
[Token(Token = "0x2001AB4")]
|
||||
[Serializable]
|
||||
public class BigInteger
|
||||
{
|
||||
// Token: 0x0600A1CB RID: 41419 RVA: 0x0021B228 File Offset: 0x00219428
|
||||
[Token(Token = "0x600A1CB")]
|
||||
[Address(RVA = "0x459230", Offset = "0x458230", VA = "0x180459230")]
|
||||
static BigInteger()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A1CB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger::.cctor()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_7FA:
|
||||
stelem:int32[]([mscorlib]System.Int32, ldloc:int32[][](var_0_07), ldc.i4:int32(58), ldloc:int32[](var_59_7E7))
|
||||
}
|
||||
|
||||
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: 0x0600A1CC RID: 41420 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A1CC")]
|
||||
[Address(RVA = "0x451C60", Offset = "0x450C60", VA = "0x180451C60")]
|
||||
private static int GetByteLength(int nBits)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600A1CD RID: 41421 RVA: 0x0021BA38 File Offset: 0x00219C38
|
||||
[Token(Token = "0x600A1CD")]
|
||||
[Address(RVA = "0x44F980", Offset = "0x44E980", VA = "0x18044F980")]
|
||||
internal static BigInteger Arbitrary(int sizeInBits)
|
||||
{
|
||||
SecureRandom randomSource = BigInteger.RandomSource;
|
||||
return new BigInteger(sizeInBits, randomSource);
|
||||
}
|
||||
|
||||
// Token: 0x0600A1CE RID: 41422 RVA: 0x0021BA54 File Offset: 0x00219C54
|
||||
[Token(Token = "0x600A1CE")]
|
||||
[Address(RVA = "0x45BE80", Offset = "0x45AE80", VA = "0x18045BE80")]
|
||||
private BigInteger(int signum, int[] mag, bool checkMag)
|
||||
{
|
||||
this.nBits = (int)((ulong)(-1L));
|
||||
base..ctor();
|
||||
if (!checkMag)
|
||||
{
|
||||
this.sign = signum;
|
||||
this.magnitude = mag;
|
||||
return;
|
||||
}
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int length = mag.Length;
|
||||
if (num2 < length && "{il2cpp array field mag->}" == (ulong)0L)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
if (num != length)
|
||||
{
|
||||
this.sign = signum;
|
||||
while (num == 0)
|
||||
{
|
||||
}
|
||||
int num3 = mag.Length;
|
||||
num3 -= num;
|
||||
int[] array = new int[num3];
|
||||
this.magnitude = array;
|
||||
int length2 = array.Length;
|
||||
int num4 = 0;
|
||||
Array.Copy(mag, num, array, num4, length2);
|
||||
}
|
||||
this.sign = (int)((ulong)0L);
|
||||
int[] zeroMagnitude = BigInteger.ZeroMagnitude;
|
||||
this.magnitude = zeroMagnitude;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A1CF RID: 41423 RVA: 0x0021BB04 File Offset: 0x00219D04
|
||||
[Token(Token = "0x600A1CF")]
|
||||
[Address(RVA = "0x45C190", Offset = "0x45B190", VA = "0x18045C190")]
|
||||
public BigInteger(string value)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A1D0 RID: 41424 RVA: 0x0021BB14 File Offset: 0x00219D14
|
||||
[Token(Token = "0x600A1D0")]
|
||||
[Address(RVA = "0x45B850", Offset = "0x45A850", VA = "0x18045B850")]
|
||||
public BigInteger(string str, int radix)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A1D0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger::.ctor(System.String,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1F3:
|
||||
stloc:FormatException(var_43_1FA, newobj:FormatException(FormatException::.ctor, ldloc:string(var_42)))
|
||||
}
|
||||
|
||||
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: 0x0600A1D1 RID: 41425 RVA: 0x0021BD1C File Offset: 0x00219F1C
|
||||
[Token(Token = "0x600A1D1")]
|
||||
[Address(RVA = "0x45C430", Offset = "0x45B430", VA = "0x18045C430")]
|
||||
public BigInteger(byte[] bytes)
|
||||
{
|
||||
int length = bytes.Length;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1D2 RID: 41426 RVA: 0x0021BD38 File Offset: 0x00219F38
|
||||
[Token(Token = "0x600A1D2")]
|
||||
[Address(RVA = "0x45C1A0", Offset = "0x45B1A0", VA = "0x18045C1A0")]
|
||||
public BigInteger(byte[] bytes, int offset, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A1D2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger::.ctor(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_8F:
|
||||
stloc:FormatException(var_11_99, newobj:FormatException(FormatException::.ctor, ldstr:string("Zero length BigInteger")))
|
||||
}
|
||||
|
||||
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: 0x0600A1D3 RID: 41427 RVA: 0x0021BDE0 File Offset: 0x00219FE0
|
||||
[Token(Token = "0x600A1D3")]
|
||||
[Address(RVA = "0x452740", Offset = "0x451740", VA = "0x180452740")]
|
||||
private static int[] MakeMagnitude(byte[] bytes, int offset, int length)
|
||||
{
|
||||
return BigInteger.ZeroMagnitude;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1D4 RID: 41428 RVA: 0x0021BE20 File Offset: 0x0021A020
|
||||
[Token(Token = "0x600A1D4")]
|
||||
[Address(RVA = "0x45B710", Offset = "0x45A710", VA = "0x18045B710")]
|
||||
public BigInteger(int sign, byte[] bytes)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A1D4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger::.ctor(System.Int32,System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_58:
|
||||
stloc:FormatException(var_5_62, newobj:FormatException(FormatException::.ctor, ldstr:string("Invalid sign value")))
|
||||
}
|
||||
|
||||
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: 0x0600A1D5 RID: 41429 RVA: 0x0021BE90 File Offset: 0x0021A090
|
||||
[Token(Token = "0x600A1D5")]
|
||||
[Address(RVA = "0x45B5E0", Offset = "0x45A5E0", VA = "0x18045B5E0")]
|
||||
public BigInteger(int sign, byte[] bytes, int offset, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A1D5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger::.ctor(System.Int32,System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_3E:
|
||||
stloc:FormatException(var_3_48, newobj:FormatException(FormatException::.ctor, ldstr:string("Invalid sign value")))
|
||||
}
|
||||
|
||||
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: 0x0600A1D6 RID: 41430 RVA: 0x0021BEE8 File Offset: 0x0021A0E8
|
||||
[Token(Token = "0x600A1D6")]
|
||||
[Address(RVA = "0x45BFC0", Offset = "0x45AFC0", VA = "0x18045BFC0")]
|
||||
public BigInteger(int sizeInBits, Random random)
|
||||
{
|
||||
int num = 0;
|
||||
this.nBits = (int)((ulong)(-1L));
|
||||
base..ctor();
|
||||
this.nBits = (int)((ulong)(-1L));
|
||||
if (sizeInBits != 0)
|
||||
{
|
||||
byte[] array = new byte[num];
|
||||
double num2 = random.NextDouble();
|
||||
int num3 = 0;
|
||||
int length = array.Length;
|
||||
int[] array2 = BigInteger.MakeMagnitude(array, num3, length);
|
||||
this.magnitude = array2;
|
||||
bool flag = array2.Length >= 1;
|
||||
this.sign = (flag ? 1 : 0);
|
||||
return;
|
||||
}
|
||||
int num4 = 0;
|
||||
this.sign = num4;
|
||||
int[] zeroMagnitude = BigInteger.ZeroMagnitude;
|
||||
this.magnitude = zeroMagnitude;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1D7 RID: 41431 RVA: 0x0021BF7C File Offset: 0x0021A17C
|
||||
[Token(Token = "0x600A1D7")]
|
||||
[Address(RVA = "0x45C460", Offset = "0x45B460", VA = "0x18045C460")]
|
||||
public BigInteger(int bitLength, int certainty, Random random)
|
||||
{
|
||||
int num = 0;
|
||||
base..ctor();
|
||||
this.nBitLength = bitLength;
|
||||
if (bitLength != 2)
|
||||
{
|
||||
byte[] array = new byte[num];
|
||||
num -= bitLength;
|
||||
uint num2;
|
||||
num2 -= (uint)num;
|
||||
int num3 = 0;
|
||||
byte b = array[0];
|
||||
array[0] = b;
|
||||
array[0] = b;
|
||||
int length = array.Length;
|
||||
int num4 = 0;
|
||||
int[] array2 = BigInteger.MakeMagnitude(array, num4, length);
|
||||
this.magnitude = array2;
|
||||
this.mQuote = num3;
|
||||
ulong num5;
|
||||
if (this.CheckProbablePrime(certainty, random, num5 != 0UL))
|
||||
{
|
||||
return;
|
||||
}
|
||||
int num6 = this.magnitude.Length - 1;
|
||||
uint num7;
|
||||
if (num7 < (uint)num6)
|
||||
{
|
||||
double num8 = random.Sample();
|
||||
ulong num9;
|
||||
if (this.CheckProbablePrime(certainty, random, num9 != 0UL))
|
||||
{
|
||||
return;
|
||||
}
|
||||
num7 += (uint)1;
|
||||
}
|
||||
}
|
||||
int num10;
|
||||
if (num10 == 0)
|
||||
{
|
||||
}
|
||||
int[] array3 = BigInteger.Three.magnitude;
|
||||
this.magnitude = array3;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1D8 RID: 41432 RVA: 0x0021C05C File Offset: 0x0021A25C
|
||||
[Token(Token = "0x600A1D8")]
|
||||
[Address(RVA = "0x44F110", Offset = "0x44E110", VA = "0x18044F110")]
|
||||
public BigInteger Abs()
|
||||
{
|
||||
int num = this.sign;
|
||||
int num2 = this.sign;
|
||||
if (num2 != 0)
|
||||
{
|
||||
int[] array = this.magnitude;
|
||||
BigInteger bigInteger;
|
||||
bigInteger.nBits = (int)((ulong)(-1L));
|
||||
bigInteger.magnitude = array;
|
||||
bigInteger.sign = num2;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1D9 RID: 41433 RVA: 0x0021C09C File Offset: 0x0021A29C
|
||||
[Token(Token = "0x600A1D9")]
|
||||
[Address(RVA = "0x44F1B0", Offset = "0x44E1B0", VA = "0x18044F1B0")]
|
||||
private static int[] AddMagnitudes(int[] a, int[] b)
|
||||
{
|
||||
int length = a.Length;
|
||||
int length2 = b.Length;
|
||||
int num = a[length];
|
||||
int num2 = b[length2];
|
||||
uint num3;
|
||||
num3 += (uint)num;
|
||||
num3 += (uint)num2;
|
||||
a[0] = (int)num3;
|
||||
if (num3 != (uint)0)
|
||||
{
|
||||
num2 = length;
|
||||
while (num2 == a.Length)
|
||||
{
|
||||
}
|
||||
}
|
||||
return a;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1DA RID: 41434 RVA: 0x0021C0F4 File Offset: 0x0021A2F4
|
||||
[Token(Token = "0x600A1DA")]
|
||||
[Address(RVA = "0x44F440", Offset = "0x44E440", VA = "0x18044F440")]
|
||||
public BigInteger Add(BigInteger value)
|
||||
{
|
||||
int num = this.sign;
|
||||
if (num == 0)
|
||||
{
|
||||
return value;
|
||||
}
|
||||
int num2 = value.sign;
|
||||
if (num == num2)
|
||||
{
|
||||
int[] array = value.magnitude;
|
||||
return this.AddToMagnitude(array);
|
||||
}
|
||||
if (num2 != 0)
|
||||
{
|
||||
BigInteger bigInteger = this.Negate();
|
||||
return value.Subtract(bigInteger);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1DB RID: 41435 RVA: 0x0021C14C File Offset: 0x0021A34C
|
||||
[Token(Token = "0x600A1DB")]
|
||||
[Address(RVA = "0x44F290", Offset = "0x44E290", VA = "0x18044F290")]
|
||||
private BigInteger AddToMagnitude(int[] magToAdd)
|
||||
{
|
||||
int[] array;
|
||||
int length3;
|
||||
do
|
||||
{
|
||||
array = this.magnitude;
|
||||
int length = magToAdd.Length;
|
||||
int length2 = magToAdd.Length;
|
||||
length3 = array.Length;
|
||||
if (length2 == length3)
|
||||
{
|
||||
}
|
||||
if ("{il2cpp array field magToAdd->}" >= (uint)(-1))
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (length3 == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (length3 == 0);
|
||||
int[] array2 = new int[0];
|
||||
int num = 0;
|
||||
int[] array3 = BigInteger.AddMagnitudes(array2, array);
|
||||
return new BigInteger(this.sign, array3, num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600A1DC RID: 41436 RVA: 0x0021C1B4 File Offset: 0x0021A3B4
|
||||
[Token(Token = "0x600A1DC")]
|
||||
[Address(RVA = "0x44F540", Offset = "0x44E540", VA = "0x18044F540")]
|
||||
public BigInteger And(BigInteger value)
|
||||
{
|
||||
int num = this.sign;
|
||||
if (num != 0 && value.sign != 0)
|
||||
{
|
||||
if (num > 0)
|
||||
{
|
||||
}
|
||||
BigInteger one = BigInteger.One;
|
||||
int[] array = this.Add(one).magnitude;
|
||||
if (value.sign > 0)
|
||||
{
|
||||
}
|
||||
BigInteger one2 = BigInteger.One;
|
||||
int[] array2 = value.Add(one2).magnitude;
|
||||
int num2 = value.sign;
|
||||
int num3 = array2.Length;
|
||||
num3 = Math.Max(array.Length, num3);
|
||||
int[] array3 = new int[num3];
|
||||
int num4 = array3.Length;
|
||||
int num5 = 0;
|
||||
int num6 = 0;
|
||||
num4 -= num4;
|
||||
int length = array3.Length;
|
||||
if (num6 < length)
|
||||
{
|
||||
num6 += num5;
|
||||
int num7 = 0;
|
||||
array3[0] = num7;
|
||||
if (num2 != 0)
|
||||
{
|
||||
array3[0] = num7;
|
||||
}
|
||||
num5++;
|
||||
}
|
||||
uint num8;
|
||||
ulong num9;
|
||||
BigInteger bigInteger = new BigInteger((int)num8, array3, num9 != 0UL);
|
||||
if (num2 != 0)
|
||||
{
|
||||
BigInteger bigInteger2 = bigInteger.Inc();
|
||||
int num10 = bigInteger2.sign;
|
||||
if (num10 != 0)
|
||||
{
|
||||
int[] array4 = bigInteger2.magnitude;
|
||||
BigInteger bigInteger3;
|
||||
bigInteger3.nBits = (int)((ulong)(-1L));
|
||||
bigInteger3.sign = num10;
|
||||
bigInteger3.magnitude = array4;
|
||||
}
|
||||
}
|
||||
}
|
||||
return BigInteger.Zero;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1DD RID: 41437 RVA: 0x0021C2E0 File Offset: 0x0021A4E0
|
||||
[Token(Token = "0x600A1DD")]
|
||||
[Address(RVA = "0x44F4F0", Offset = "0x44E4F0", VA = "0x18044F4F0")]
|
||||
public BigInteger AndNot(BigInteger val)
|
||||
{
|
||||
BigInteger bigInteger = val.Inc().Negate();
|
||||
return this.And(bigInteger);
|
||||
}
|
||||
|
||||
// Token: 0x170019C3 RID: 6595
|
||||
// (get) Token: 0x0600A1DE RID: 41438 RVA: 0x0021C308 File Offset: 0x0021A508
|
||||
[Token(Token = "0x170019C3")]
|
||||
public int BitCount
|
||||
{
|
||||
[Token(Token = "0x600A1DE")]
|
||||
[Address(RVA = "0x45C8C0", Offset = "0x45B8C0", VA = "0x18045C8C0")]
|
||||
get
|
||||
{
|
||||
int num = this.nBits;
|
||||
if (num == -1)
|
||||
{
|
||||
int[] array = this.magnitude;
|
||||
int num2 = 0;
|
||||
if (num2 < array.Length)
|
||||
{
|
||||
int num3 = array[num2];
|
||||
int[] array2 = this.magnitude;
|
||||
num2++;
|
||||
num3 -= num3;
|
||||
num3 += num3;
|
||||
num3 += num3;
|
||||
num3 += num3;
|
||||
num3 += num3;
|
||||
num2 += num3;
|
||||
}
|
||||
this.nBits = num2;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A1DF RID: 41439 RVA: 0x0021C388 File Offset: 0x0021A588
|
||||
[Token(Token = "0x600A1DF")]
|
||||
[Address(RVA = "0x44FA10", Offset = "0x44EA10", VA = "0x18044FA10")]
|
||||
public static int BitCnt(int i)
|
||||
{
|
||||
return i;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1E0 RID: 41440 RVA: 0x0021C398 File Offset: 0x0021A598
|
||||
[Token(Token = "0x600A1E0")]
|
||||
[Address(RVA = "0x44FC20", Offset = "0x44EC20", VA = "0x18044FC20")]
|
||||
private static int CalcBitLength(int sign, int indx, int[] mag)
|
||||
{
|
||||
int num = mag.Length;
|
||||
if (indx < num)
|
||||
{
|
||||
int num2 = mag[indx];
|
||||
if (num2 == 0)
|
||||
{
|
||||
}
|
||||
num -= indx;
|
||||
int num3 = 0;
|
||||
int num4 = BigInteger.BitLen(num2);
|
||||
num4 = num2;
|
||||
if (num4 == num2)
|
||||
{
|
||||
int length = mag.Length;
|
||||
if (indx < length)
|
||||
{
|
||||
while ("{il2cpp array field mag->}" == (ulong)0L)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
return num3;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x170019C4 RID: 6596
|
||||
// (get) Token: 0x0600A1E1 RID: 41441 RVA: 0x0021C3F0 File Offset: 0x0021A5F0
|
||||
[Token(Token = "0x170019C4")]
|
||||
public int BitLength
|
||||
{
|
||||
[Token(Token = "0x600A1E1")]
|
||||
[Address(RVA = "0x45CA20", Offset = "0x45BA20", VA = "0x18045CA20")]
|
||||
get
|
||||
{
|
||||
int num = this.nBitLength;
|
||||
if (num == -1)
|
||||
{
|
||||
int num2 = this.sign;
|
||||
if (num2 == 0)
|
||||
{
|
||||
int num3 = 0;
|
||||
this.nBitLength = num3;
|
||||
return num3;
|
||||
}
|
||||
int[] array = this.magnitude;
|
||||
int num4 = 0;
|
||||
int num5 = BigInteger.CalcBitLength(num2, num4, array);
|
||||
this.nBitLength = num5;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A1E2 RID: 41442 RVA: 0x0021C43C File Offset: 0x0021A63C
|
||||
[Token(Token = "0x600A1E2")]
|
||||
[Address(RVA = "0x44FA50", Offset = "0x44EA50", VA = "0x18044FA50")]
|
||||
internal static int BitLen(int w)
|
||||
{
|
||||
if (w == 0)
|
||||
{
|
||||
if (w == 0)
|
||||
{
|
||||
if (w == 0)
|
||||
{
|
||||
byte[] bitLengthTable = BigInteger.BitLengthTable;
|
||||
}
|
||||
byte[] bitLengthTable2 = BigInteger.BitLengthTable;
|
||||
}
|
||||
byte[] bitLengthTable3 = BigInteger.BitLengthTable;
|
||||
}
|
||||
byte[] bitLengthTable4 = BigInteger.BitLengthTable;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A1E3 RID: 41443 RVA: 0x0021C474 File Offset: 0x0021A674
|
||||
[Token(Token = "0x600A1E3")]
|
||||
[Address(RVA = "0x455640", Offset = "0x454640", VA = "0x180455640")]
|
||||
private bool QuickPow2Check()
|
||||
{
|
||||
return this.nBits == 1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1E4 RID: 41444 RVA: 0x0021C48C File Offset: 0x0021A68C
|
||||
[Token(Token = "0x600A1E4")]
|
||||
[Address(RVA = "0x450170", Offset = "0x44F170", VA = "0x180450170")]
|
||||
public int CompareTo(object obj)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (obj == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (obj == 0);
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1E5 RID: 41445 RVA: 0x0021C4A4 File Offset: 0x0021A6A4
|
||||
[Token(Token = "0x600A1E5")]
|
||||
[Address(RVA = "0x4502F0", Offset = "0x44F2F0", VA = "0x1804502F0")]
|
||||
private static int CompareTo(int xIndx, int[] x, int yIndx, int[] y)
|
||||
{
|
||||
int length = x.Length;
|
||||
if (xIndx == length || "{il2cpp array field x->}" == (ulong)0L)
|
||||
{
|
||||
}
|
||||
int length2 = y.Length;
|
||||
if (yIndx == length2 || "{il2cpp array field y->}" == (ulong)0L)
|
||||
{
|
||||
}
|
||||
return BigInteger.CompareNoLeadingZeroes(xIndx, x, yIndx, y);
|
||||
}
|
||||
|
||||
// Token: 0x0600A1E6 RID: 41446 RVA: 0x0021C4EC File Offset: 0x0021A6EC
|
||||
[Token(Token = "0x600A1E6")]
|
||||
[Address(RVA = "0x4500B0", Offset = "0x44F0B0", VA = "0x1804500B0")]
|
||||
private static int CompareNoLeadingZeroes(int xIndx, int[] x, int yIndx, int[] y)
|
||||
{
|
||||
int num = x.Length;
|
||||
int length = y.Length;
|
||||
num -= length;
|
||||
num -= xIndx;
|
||||
num += yIndx;
|
||||
if (y == 0)
|
||||
{
|
||||
if (xIndx < xIndx)
|
||||
{
|
||||
int num2 = y[yIndx];
|
||||
while ("{il2cpp array field x->}" == num2)
|
||||
{
|
||||
}
|
||||
if ("{il2cpp array field x->}" >= num2)
|
||||
{
|
||||
goto IL_40;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
IL_40:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A1E7 RID: 41447 RVA: 0x0021C540 File Offset: 0x0021A740
|
||||
[Token(Token = "0x600A1E7")]
|
||||
[Address(RVA = "0x450210", Offset = "0x44F210", VA = "0x180450210")]
|
||||
public int CompareTo(BigInteger value)
|
||||
{
|
||||
int num = this.sign;
|
||||
if (num < value.sign)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
if (num > value.sign)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1E8 RID: 41448 RVA: 0x0021C578 File Offset: 0x0021A778
|
||||
[Token(Token = "0x600A1E8")]
|
||||
[Address(RVA = "0x450E40", Offset = "0x44FE40", VA = "0x180450E40")]
|
||||
private int[] Divide(int[] x, int[] y)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int length = x.Length;
|
||||
if (num2 < length && "{il2cpp array field x->}" == (ulong)0L)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
int length2 = y.Length;
|
||||
if (num4 < length2 && "{il2cpp array field y->}" == (ulong)0L)
|
||||
{
|
||||
num3++;
|
||||
}
|
||||
int num5 = BigInteger.CompareNoLeadingZeroes(num, x, num3, y);
|
||||
int[] array = new int[1];
|
||||
int num6 = y.Length;
|
||||
if (num3 < num6)
|
||||
{
|
||||
if (y[num3] == 0)
|
||||
{
|
||||
num3++;
|
||||
}
|
||||
num6 -= num3;
|
||||
}
|
||||
int num7 = 0;
|
||||
ulong num8;
|
||||
if (num8 == (ulong)0L)
|
||||
{
|
||||
}
|
||||
int num9 = x.Length;
|
||||
if (num < num9)
|
||||
{
|
||||
int num10 = x[num];
|
||||
if (num10 == 0)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
num9 -= num;
|
||||
int num11 = BigInteger.BitLen(num10);
|
||||
}
|
||||
int num12 = 0;
|
||||
num12 -= num7;
|
||||
int num13 = 0;
|
||||
int num14 = 0;
|
||||
(new int[0])[0] = (int)((ulong)1L);
|
||||
num12 -= num3;
|
||||
int[] array2 = new int[num12];
|
||||
num7++;
|
||||
if (array2.Length < num13)
|
||||
{
|
||||
num7++;
|
||||
}
|
||||
uint num15;
|
||||
array2[0] = (int)num15;
|
||||
int[] array3 = new int[array2.Length];
|
||||
int[] array4;
|
||||
int num16 = BigInteger.CompareNoLeadingZeroes(num, x, num14, array4);
|
||||
int[] array5 = BigInteger.Subtract(num, x, num14, array4);
|
||||
int[] array6 = BigInteger.AddMagnitudes(array3, array2);
|
||||
int length3 = x.Length;
|
||||
if (x[num] == 0)
|
||||
{
|
||||
while (1 != length3)
|
||||
{
|
||||
}
|
||||
return array3;
|
||||
}
|
||||
int num17 = x.Length;
|
||||
num17--;
|
||||
int num18;
|
||||
num17 += num18;
|
||||
int num19 = x.Length;
|
||||
num19--;
|
||||
num19 += num3;
|
||||
if (1 < num19)
|
||||
{
|
||||
num3++;
|
||||
uint num20;
|
||||
if (num20 == (uint)0)
|
||||
{
|
||||
int[] array7 = BigInteger.One.magnitude;
|
||||
int[] array8 = BigInteger.AddMagnitudes(array3, array7);
|
||||
int num21 = x.Length;
|
||||
num21--;
|
||||
Array.Clear(x, 1, num21);
|
||||
}
|
||||
}
|
||||
uint num22;
|
||||
while (num22 == (uint)0)
|
||||
{
|
||||
}
|
||||
num12 -= num17;
|
||||
if (num12 != 1 || x > "{il2cpp array field x->}")
|
||||
{
|
||||
}
|
||||
num14++;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A1E9 RID: 41449 RVA: 0x0021C760 File Offset: 0x0021A960
|
||||
[Token(Token = "0x600A1E9")]
|
||||
[Address(RVA = "0x450C50", Offset = "0x44FC50", VA = "0x180450C50")]
|
||||
public BigInteger Divide(BigInteger val)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A1E9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger::Divide(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_90:
|
||||
stloc:ArithmeticException(var_10_9A, newobj:ArithmeticException(ArithmeticException::.ctor, ldstr:string("Division by zero error")))
|
||||
}
|
||||
|
||||
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: 0x0600A1EA RID: 41450 RVA: 0x0021C808 File Offset: 0x0021AA08
|
||||
[Token(Token = "0x600A1EA")]
|
||||
[Address(RVA = "0x4506C0", Offset = "0x44F6C0", VA = "0x1804506C0")]
|
||||
public BigInteger[] DivideAndRemainder(BigInteger val)
|
||||
{
|
||||
BigInteger[] array;
|
||||
for (;;)
|
||||
{
|
||||
if (val.sign != 0)
|
||||
{
|
||||
array = new BigInteger[2];
|
||||
if (this.sign == 0)
|
||||
{
|
||||
goto IL_E0;
|
||||
}
|
||||
if (val.sign > 0 && val.nBits == 1)
|
||||
{
|
||||
int bitLength = val.Abs().BitLength;
|
||||
BigInteger bigInteger = this.Abs();
|
||||
int num = bitLength - 1;
|
||||
BigInteger bigInteger2 = bigInteger.ShiftRight(num);
|
||||
int num2 = bitLength - 1;
|
||||
int[] array2 = this.LastNBits(num2);
|
||||
int num3 = this.sign;
|
||||
if (val.sign != num3)
|
||||
{
|
||||
BigInteger bigInteger3 = bigInteger2.Negate();
|
||||
}
|
||||
if (bigInteger2 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = bigInteger2;
|
||||
if (new BigInteger(this.sign, array2, true) != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
int[] array3 = this.magnitude;
|
||||
if (array == 0)
|
||||
{
|
||||
}
|
||||
if (array != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
int num4 = this.sign;
|
||||
int num5 = val.sign;
|
||||
int num6;
|
||||
int[] array4;
|
||||
BigInteger bigInteger4 = new BigInteger(num6, array4, true);
|
||||
num6 = num5 * num4;
|
||||
if (bigInteger4 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = bigInteger4;
|
||||
BigInteger bigInteger5;
|
||||
if (bigInteger5 != 0)
|
||||
{
|
||||
}
|
||||
IL_E0:
|
||||
BigInteger zero = BigInteger.Zero;
|
||||
if (zero != 0)
|
||||
{
|
||||
}
|
||||
array[0] = zero;
|
||||
BigInteger zero2 = BigInteger.Zero;
|
||||
if (zero2 != 0)
|
||||
{
|
||||
}
|
||||
array[1] = zero2;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1EB RID: 41451 RVA: 0x0021C928 File Offset: 0x0021AB28
|
||||
[Token(Token = "0x600A1EB")]
|
||||
[Address(RVA = "0x4516C0", Offset = "0x4506C0", VA = "0x1804516C0", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj != this)
|
||||
{
|
||||
if (obj != 0)
|
||||
{
|
||||
int num = 0;
|
||||
if (obj != 0 && this.sign == num)
|
||||
{
|
||||
bool flag;
|
||||
return flag;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1EC RID: 41452 RVA: 0x0021C954 File Offset: 0x0021AB54
|
||||
[Token(Token = "0x600A1EC")]
|
||||
[Address(RVA = "0x452260", Offset = "0x451260", VA = "0x180452260")]
|
||||
private bool IsEqualMagnitude(BigInteger x)
|
||||
{
|
||||
int[] array = this.magnitude;
|
||||
int[] array2 = x.magnitude;
|
||||
int length = array.Length;
|
||||
if (length == array2.Length)
|
||||
{
|
||||
int num = 0;
|
||||
if (num < length)
|
||||
{
|
||||
int num2 = array2[num];
|
||||
if ("{il2cpp array field local2->}" != num2)
|
||||
{
|
||||
goto IL_3C;
|
||||
}
|
||||
num++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
IL_3C:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A1ED RID: 41453 RVA: 0x0021C9A8 File Offset: 0x0021ABA8
|
||||
[Token(Token = "0x600A1ED")]
|
||||
[Address(RVA = "0x451B50", Offset = "0x450B50", VA = "0x180451B50")]
|
||||
public BigInteger Gcd(BigInteger value)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = this.sign;
|
||||
if (value.sign == 0)
|
||||
{
|
||||
goto IL_2A;
|
||||
}
|
||||
}
|
||||
while (num == 0);
|
||||
if (value.sign != 0)
|
||||
{
|
||||
return this.Mod(value).Abs();
|
||||
}
|
||||
BigInteger bigInteger;
|
||||
return bigInteger;
|
||||
IL_2A:
|
||||
int num2 = this.sign;
|
||||
if (num2 != 0)
|
||||
{
|
||||
int[] array = this.magnitude;
|
||||
bigInteger.nBits = (int)((ulong)(-1L));
|
||||
bigInteger.magnitude = array;
|
||||
bigInteger.sign = num2;
|
||||
}
|
||||
return bigInteger;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1EE RID: 41454 RVA: 0x0021CA10 File Offset: 0x0021AC10
|
||||
[Token(Token = "0x600A1EE")]
|
||||
[Address(RVA = "0x451C70", Offset = "0x450C70", VA = "0x180451C70", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
int[] array = this.magnitude;
|
||||
int length = array.Length;
|
||||
int length2 = array.Length;
|
||||
if (length != 0 && length2 > 1)
|
||||
{
|
||||
int num = length2 - 1;
|
||||
}
|
||||
if (this.sign < 0)
|
||||
{
|
||||
}
|
||||
return length2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1EF RID: 41455 RVA: 0x0021CA50 File Offset: 0x0021AC50
|
||||
[Token(Token = "0x600A1EF")]
|
||||
[Address(RVA = "0x452110", Offset = "0x451110", VA = "0x180452110")]
|
||||
private BigInteger Inc()
|
||||
{
|
||||
if (this.sign != 0)
|
||||
{
|
||||
int[] array = BigInteger.One.magnitude;
|
||||
return this.AddToMagnitude(array);
|
||||
}
|
||||
return BigInteger.One;
|
||||
}
|
||||
|
||||
// Token: 0x170019C5 RID: 6597
|
||||
// (get) Token: 0x0600A1F0 RID: 41456 RVA: 0x0021CA9C File Offset: 0x0021AC9C
|
||||
[Token(Token = "0x170019C5")]
|
||||
public int IntValue
|
||||
{
|
||||
[Token(Token = "0x600A1F0")]
|
||||
[Address(RVA = "0x45CAC0", Offset = "0x45BAC0", VA = "0x18045CAC0")]
|
||||
get
|
||||
{
|
||||
if (this.sign != 0)
|
||||
{
|
||||
int[] array = this.magnitude;
|
||||
int num = array.Length - 1;
|
||||
return array[num];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A1F1 RID: 41457 RVA: 0x0021CAD4 File Offset: 0x0021ACD4
|
||||
[Token(Token = "0x600A1F1")]
|
||||
[Address(RVA = "0x452480", Offset = "0x451480", VA = "0x180452480")]
|
||||
public bool IsProbablePrime(int certainty)
|
||||
{
|
||||
if (certainty > 0)
|
||||
{
|
||||
BigInteger bigInteger = this.Abs();
|
||||
int num = 0;
|
||||
if (bigInteger.TestBit(num))
|
||||
{
|
||||
int num2 = 0;
|
||||
SecureRandom randomSource = BigInteger.RandomSource;
|
||||
return bigInteger.CheckProbablePrime(certainty, randomSource, num2 != 0);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1F2 RID: 41458 RVA: 0x0021CB18 File Offset: 0x0021AD18
|
||||
[Token(Token = "0x600A1F2")]
|
||||
[Address(RVA = "0x4522F0", Offset = "0x4512F0", VA = "0x1804522F0")]
|
||||
internal bool IsProbablePrime(int certainty, bool randomlySelected)
|
||||
{
|
||||
if (certainty > 0)
|
||||
{
|
||||
BigInteger bigInteger = this.Abs();
|
||||
int num = 0;
|
||||
if (bigInteger.TestBit(num))
|
||||
{
|
||||
SecureRandom randomSource = BigInteger.RandomSource;
|
||||
return bigInteger.CheckProbablePrime(certainty, randomSource, randomlySelected);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1F3 RID: 41459 RVA: 0x0021CB58 File Offset: 0x0021AD58
|
||||
[Token(Token = "0x600A1F3")]
|
||||
[Address(RVA = "0x44FD50", Offset = "0x44ED50", VA = "0x18044FD50")]
|
||||
private bool CheckProbablePrime(int certainty, Random random, bool randomlySelected)
|
||||
{
|
||||
int bitLength = this.BitLength;
|
||||
int length = BigInteger.primeLists.Length;
|
||||
int num = Math.Min(bitLength - 1, length);
|
||||
int num2 = 0;
|
||||
if (num > 0)
|
||||
{
|
||||
int num3 = BigInteger.primeProducts[num2];
|
||||
int num4 = this.Remainder(num3);
|
||||
int[] array = BigInteger.primeLists[num2];
|
||||
int num5 = 0;
|
||||
if (num5 < array.Length)
|
||||
{
|
||||
if (num3 == 0)
|
||||
{
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
num5++;
|
||||
}
|
||||
num2++;
|
||||
}
|
||||
return this.RabinMillerTest(certainty, random, randomlySelected);
|
||||
}
|
||||
|
||||
// Token: 0x0600A1F4 RID: 41460 RVA: 0x0021CBDC File Offset: 0x0021ADDC
|
||||
[Token(Token = "0x600A1F4")]
|
||||
[Address(RVA = "0x455660", Offset = "0x454660", VA = "0x180455660")]
|
||||
public bool RabinMillerTest(int certainty, Random random)
|
||||
{
|
||||
int num = 0;
|
||||
return this.RabinMillerTest(certainty, random, num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600A1F5 RID: 41461 RVA: 0x0021CBF4 File Offset: 0x0021ADF4
|
||||
[Token(Token = "0x600A1F5")]
|
||||
[Address(RVA = "0x455680", Offset = "0x454680", VA = "0x180455680")]
|
||||
internal bool RabinMillerTest(int certainty, Random random, bool randomlySelected)
|
||||
{
|
||||
int num3;
|
||||
int lowestSetBitMaskFirst;
|
||||
BigInteger bigInteger;
|
||||
BigInteger bigInteger2;
|
||||
BigInteger bigInteger3;
|
||||
BigInteger bigInteger4;
|
||||
do
|
||||
{
|
||||
int num = 0;
|
||||
int bitLength = this.BitLength;
|
||||
int num2 = certainty - 1;
|
||||
num2 -= num;
|
||||
num3 = num2 + 1;
|
||||
if (randomlySelected)
|
||||
{
|
||||
num3 += -50;
|
||||
uint num4;
|
||||
num3 += (int)num4;
|
||||
num3 = Math.Min((int)num4, num3);
|
||||
}
|
||||
lowestSetBitMaskFirst = this.GetLowestSetBitMaskFirst(-2);
|
||||
bigInteger = this.ShiftRight(lowestSetBitMaskFirst);
|
||||
int[] array = this.magnitude;
|
||||
BigInteger one = BigInteger.One;
|
||||
int length = array.Length;
|
||||
bigInteger2 = one.ShiftLeft(length).Remainder(this);
|
||||
bigInteger3 = this.Subtract(bigInteger2);
|
||||
if (this.nBitLength == -1)
|
||||
{
|
||||
int num5 = this.sign;
|
||||
if (num5 == 0)
|
||||
{
|
||||
}
|
||||
int[] array2 = this.magnitude;
|
||||
int num6 = 0;
|
||||
num5 = BigInteger.CalcBitLength(num5, num6, array2);
|
||||
this.nBitLength = num5;
|
||||
}
|
||||
while (bigInteger4.sign == 0)
|
||||
{
|
||||
}
|
||||
int num7 = bigInteger4.CompareTo(this);
|
||||
}
|
||||
while (bigInteger4.IsEqualMagnitude(bigInteger2) || bigInteger4.IsEqualMagnitude(bigInteger3));
|
||||
int num8 = 0;
|
||||
BigInteger bigInteger5 = BigInteger.ModPowMonty(bigInteger4, bigInteger, this, num8 != 0);
|
||||
if (bigInteger5 == 0)
|
||||
{
|
||||
if (1 != lowestSetBitMaskFirst)
|
||||
{
|
||||
int num9 = 0;
|
||||
BigInteger two = BigInteger.Two;
|
||||
BigInteger bigInteger6 = BigInteger.ModPowMonty(bigInteger5, two, this, num9 != 0);
|
||||
}
|
||||
}
|
||||
num3--;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x170019C6 RID: 6598
|
||||
// (get) Token: 0x0600A1F6 RID: 41462 RVA: 0x0021CD1C File Offset: 0x0021AF1C
|
||||
[Token(Token = "0x170019C6")]
|
||||
public long LongValue
|
||||
{
|
||||
[Token(Token = "0x600A1F6")]
|
||||
[Address(RVA = "0x45CB10", Offset = "0x45BB10", VA = "0x18045CB10")]
|
||||
get
|
||||
{
|
||||
if (this.sign != 0)
|
||||
{
|
||||
int length = this.magnitude.Length;
|
||||
int num = length - 1;
|
||||
if (length > 1)
|
||||
{
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A1F7 RID: 41463 RVA: 0x0021CD50 File Offset: 0x0021AF50
|
||||
[Token(Token = "0x600A1F7")]
|
||||
[Address(RVA = "0x4528E0", Offset = "0x4518E0", VA = "0x1804528E0")]
|
||||
public BigInteger Max(BigInteger value)
|
||||
{
|
||||
int num = this.CompareTo(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1F8 RID: 41464 RVA: 0x0021CD68 File Offset: 0x0021AF68
|
||||
[Token(Token = "0x600A1F8")]
|
||||
[Address(RVA = "0x452910", Offset = "0x451910", VA = "0x180452910")]
|
||||
public BigInteger Min(BigInteger value)
|
||||
{
|
||||
int num = this.CompareTo(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1F9 RID: 41465 RVA: 0x0021CD80 File Offset: 0x0021AF80
|
||||
[Token(Token = "0x600A1F9")]
|
||||
[Address(RVA = "0x454050", Offset = "0x453050", VA = "0x180454050")]
|
||||
public BigInteger Mod(BigInteger m)
|
||||
{
|
||||
BigInteger bigInteger = this.Remainder(m);
|
||||
if (bigInteger.sign < 0)
|
||||
{
|
||||
BigInteger bigInteger2 = bigInteger.Add(m);
|
||||
}
|
||||
return bigInteger;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1FA RID: 41466 RVA: 0x0021CDB0 File Offset: 0x0021AFB0
|
||||
[Token(Token = "0x600A1FA")]
|
||||
[Address(RVA = "0x452CD0", Offset = "0x451CD0", VA = "0x180452CD0")]
|
||||
public BigInteger ModInverse(BigInteger m)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A1FA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger::ModInverse(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_73:
|
||||
stloc:BigInteger(var_8_7A, call:BigInteger(BigInteger::ModInversePow2, ldloc:BigInteger(this), ldloc:BigInteger(m)))
|
||||
stloc:ArithmeticException(var_9_86, newobj:ArithmeticException(ArithmeticException::.ctor, ldstr:string("Modulus must be positive")))
|
||||
stloc:ArithmeticException(var_10_92, newobj:ArithmeticException(ArithmeticException::.ctor, ldstr:string("Numbers not relatively prime.")))
|
||||
}
|
||||
|
||||
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: 0x0600A1FB RID: 41467 RVA: 0x0021CE50 File Offset: 0x0021B050
|
||||
[Token(Token = "0x600A1FB")]
|
||||
[Address(RVA = "0x4529F0", Offset = "0x4519F0", VA = "0x1804529F0")]
|
||||
private BigInteger ModInversePow2(BigInteger m)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A1FB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger::ModInversePow2(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_111:
|
||||
stloc:ArithmeticException(var_23_11B, newobj:ArithmeticException(ArithmeticException::.ctor, ldstr:string("Numbers not relatively prime.")))
|
||||
}
|
||||
|
||||
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: 0x0600A1FC RID: 41468 RVA: 0x0021CF7C File Offset: 0x0021B17C
|
||||
[Token(Token = "0x600A1FC")]
|
||||
[Address(RVA = "0x452940", Offset = "0x451940", VA = "0x180452940")]
|
||||
private static int ModInverse32(int d)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A1FC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger::ModInverse32(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32(var_1_03, mul:uint32(ldloc:uint32(var_0), ldloc:int32[exp:uint32](d)))
|
||||
stloc:uint32(var_0, sub:uint32(ldloc:uint32(var_0), ldloc:uint32(var_1_03)))
|
||||
stloc:uint32(var_2_0B, mul:uint32(ldloc:uint32(var_0), ldloc:int32[exp:uint32](d)))
|
||||
stloc:uint32(var_0, sub:uint32(ldloc:uint32(var_0), ldloc:uint32(var_2_0B)))
|
||||
}
|
||||
|
||||
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: 0x0600A1FD RID: 41469 RVA: 0x0021CF98 File Offset: 0x0021B198
|
||||
[Token(Token = "0x600A1FD")]
|
||||
[Address(RVA = "0x452990", Offset = "0x451990", VA = "0x180452990")]
|
||||
private static long ModInverse64(long d)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A1FD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger::ModInverse64(System.Int64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32(var_1_03, mul:int64[exp:uint32](ldloc:uint32[exp:int64](var_0), ldloc:int64(d)))
|
||||
stloc:uint32(var_0, sub:uint32(ldloc:uint32(var_0), ldloc:uint32(var_1_03)))
|
||||
}
|
||||
|
||||
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: 0x0600A1FE RID: 41470 RVA: 0x0021CFAC File Offset: 0x0021B1AC
|
||||
[Token(Token = "0x600A1FE")]
|
||||
[Address(RVA = "0x451770", Offset = "0x450770", VA = "0x180451770")]
|
||||
private static BigInteger ExtEuclid(BigInteger a, BigInteger b, out BigInteger u1Out)
|
||||
{
|
||||
BigInteger one = BigInteger.One;
|
||||
BigInteger zero = BigInteger.Zero;
|
||||
if (b.sign > 0)
|
||||
{
|
||||
BigInteger[] array = a.DivideAndRemainder(b);
|
||||
int length = array.Length;
|
||||
if (array[1].sign > 0)
|
||||
{
|
||||
BigInteger bigInteger = array[0];
|
||||
BigInteger bigInteger2 = zero.Multiply(bigInteger);
|
||||
BigInteger bigInteger3 = one.Subtract(bigInteger2);
|
||||
}
|
||||
}
|
||||
return a;
|
||||
}
|
||||
|
||||
// Token: 0x0600A1FF RID: 41471 RVA: 0x0021D010 File Offset: 0x0021B210
|
||||
[Token(Token = "0x600A1FF")]
|
||||
[Address(RVA = "0x459200", Offset = "0x458200", VA = "0x180459200")]
|
||||
private static void ZeroOut(int[] x)
|
||||
{
|
||||
int length = x.Length;
|
||||
int num = 0;
|
||||
Array.Clear(x, num, length);
|
||||
}
|
||||
|
||||
// Token: 0x0600A200 RID: 41472 RVA: 0x0021D034 File Offset: 0x0021B234
|
||||
[Token(Token = "0x600A200")]
|
||||
[Address(RVA = "0x453DA0", Offset = "0x452DA0", VA = "0x180453DA0")]
|
||||
public BigInteger ModPow(BigInteger e, BigInteger m)
|
||||
{
|
||||
int num;
|
||||
BigInteger bigInteger4;
|
||||
do
|
||||
{
|
||||
num = e.sign;
|
||||
if (num == 0 || this.sign == 0)
|
||||
{
|
||||
goto IL_61;
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
BigInteger bigInteger = e.Negate();
|
||||
}
|
||||
BigInteger bigInteger2 = this.Mod(m);
|
||||
int num2 = m.magnitude.Length - 1;
|
||||
if ("{il2cpp array field local10->}" != (ulong)1L)
|
||||
{
|
||||
BigInteger bigInteger3 = BigInteger.ModPowMonty(bigInteger2, e, m, true);
|
||||
}
|
||||
bigInteger4 = BigInteger.ModPowBarrett(bigInteger2, e, m);
|
||||
}
|
||||
while (num == 0);
|
||||
return bigInteger4.ModInverse(m);
|
||||
IL_61:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A201 RID: 41473 RVA: 0x0021D0A8 File Offset: 0x0021B2A8
|
||||
[Token(Token = "0x600A201")]
|
||||
[Address(RVA = "0x452F60", Offset = "0x451F60", VA = "0x180452F60")]
|
||||
private static BigInteger ModPowBarrett(BigInteger b, BigInteger e, BigInteger m)
|
||||
{
|
||||
int num = m.magnitude.Length;
|
||||
BigInteger one = BigInteger.One;
|
||||
int num2 = num + 1;
|
||||
BigInteger bigInteger = one.ShiftLeft(num2);
|
||||
BigInteger one2 = BigInteger.One;
|
||||
num2 = num;
|
||||
BigInteger bigInteger2 = one2.ShiftLeft(num2).Divide(m);
|
||||
int num3 = 0;
|
||||
num = e.BitLength;
|
||||
int[] expWindowThresholds = BigInteger.ExpWindowThresholds;
|
||||
if (num > "{il2cpp array field local17->}")
|
||||
{
|
||||
num3++;
|
||||
}
|
||||
BigInteger[] array = new BigInteger[1];
|
||||
if (b != 0)
|
||||
{
|
||||
}
|
||||
array[0] = b;
|
||||
BigInteger bigInteger3 = BigInteger.ReduceBarrett(b.Square(), m, bigInteger, bigInteger2);
|
||||
uint num4;
|
||||
if (num4 > num4)
|
||||
{
|
||||
uint num5 = num4 - 1U;
|
||||
BigInteger bigInteger4 = array[(int)num5].Multiply(bigInteger3);
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
int[] array2;
|
||||
int num6 = array2[0];
|
||||
BigInteger bigInteger5;
|
||||
if (num6 != (int)num4)
|
||||
{
|
||||
bigInteger5 = array[num6];
|
||||
}
|
||||
int num7 = array2[(int)num4];
|
||||
if (num7 != -1)
|
||||
{
|
||||
byte[] bitLengthTable = BigInteger.BitLengthTable;
|
||||
int num8 = 0;
|
||||
byte b2 = (byte)((int)b2 + num6);
|
||||
BigInteger bigInteger6 = bigInteger5.Square();
|
||||
num8++;
|
||||
BigInteger bigInteger7 = array[num7];
|
||||
BigInteger bigInteger9;
|
||||
BigInteger bigInteger8 = bigInteger9.Multiply(bigInteger7);
|
||||
ulong num9;
|
||||
num9 += (ulong)1L;
|
||||
}
|
||||
int num10 = 0;
|
||||
if (num7 > 0)
|
||||
{
|
||||
BigInteger bigInteger11;
|
||||
BigInteger bigInteger10 = bigInteger11.Square();
|
||||
num10++;
|
||||
}
|
||||
BigInteger bigInteger12;
|
||||
return bigInteger12;
|
||||
}
|
||||
|
||||
// Token: 0x0600A202 RID: 41474 RVA: 0x0021D1F0 File Offset: 0x0021B3F0
|
||||
[Token(Token = "0x600A202")]
|
||||
[Address(RVA = "0x455A20", Offset = "0x454A20", VA = "0x180455A20")]
|
||||
private static BigInteger ReduceBarrett(BigInteger x, BigInteger m, BigInteger mr, BigInteger yu)
|
||||
{
|
||||
int num = x.BitLength;
|
||||
int bitLength = m.BitLength;
|
||||
num -= bitLength;
|
||||
if (num > 1)
|
||||
{
|
||||
int num2 = m.magnitude.Length;
|
||||
int num3 = num2 - 1;
|
||||
BigInteger bigInteger = x.DivideWords(num3).Multiply(yu);
|
||||
num2++;
|
||||
BigInteger bigInteger2 = bigInteger.DivideWords(num2);
|
||||
BigInteger bigInteger3 = x.RemainderWords(num2);
|
||||
BigInteger bigInteger4 = bigInteger2.Multiply(m).RemainderWords(num2);
|
||||
BigInteger bigInteger5 = bigInteger3.Subtract(bigInteger4);
|
||||
if (bigInteger5.sign < 0)
|
||||
{
|
||||
BigInteger bigInteger6 = bigInteger5.Add(mr);
|
||||
}
|
||||
}
|
||||
int num4 = x.CompareTo(m);
|
||||
return x.Subtract(m);
|
||||
}
|
||||
|
||||
// Token: 0x0600A203 RID: 41475 RVA: 0x0021D290 File Offset: 0x0021B490
|
||||
[Token(Token = "0x600A203")]
|
||||
[Address(RVA = "0x453540", Offset = "0x452540", VA = "0x180453540")]
|
||||
private static BigInteger ModPowMonty(BigInteger b, BigInteger e, BigInteger m, bool convert)
|
||||
{
|
||||
int length = m.magnitude.Length;
|
||||
int num = m.BitLength;
|
||||
num += 2;
|
||||
int num2 = m.mQuote;
|
||||
uint num5;
|
||||
if (num2 == 0)
|
||||
{
|
||||
int[] array = m.magnitude;
|
||||
int num3 = array.Length - 1;
|
||||
int num4 = array[num3];
|
||||
array += num4;
|
||||
int[] array2 = array * num4;
|
||||
num5 -= array2;
|
||||
int[] array3 = array * num5;
|
||||
int[] array4 = array3 * num4;
|
||||
num5 -= array4;
|
||||
int[] array5 = array3 * num5;
|
||||
int[] array6 = array5 * num4;
|
||||
num5 -= array6;
|
||||
uint num6 = num5 * array5;
|
||||
m.mQuote = (int)num6;
|
||||
}
|
||||
BigInteger bigInteger;
|
||||
if (convert)
|
||||
{
|
||||
bigInteger = b.ShiftLeft(length).Remainder(m);
|
||||
}
|
||||
int num7 = length + 1;
|
||||
int[] array7 = new int[num7];
|
||||
int[] array8;
|
||||
if (bigInteger.magnitude.Length < length)
|
||||
{
|
||||
num7 = length;
|
||||
array8 = new int[num7];
|
||||
}
|
||||
int num8 = 0;
|
||||
int[] array9 = e.magnitude;
|
||||
if (e.BitCount > (int)num5)
|
||||
{
|
||||
int bitLength = e.BitLength;
|
||||
int[] expWindowThresholds = BigInteger.ExpWindowThresholds;
|
||||
if (bitLength > "{il2cpp array field local36->}")
|
||||
{
|
||||
num8++;
|
||||
}
|
||||
}
|
||||
int[][] array10 = new int[1][];
|
||||
if (array8 != 0)
|
||||
{
|
||||
}
|
||||
array10[0] = array8;
|
||||
int[] array11 = Arrays.Clone(array8);
|
||||
uint num9;
|
||||
uint num10;
|
||||
if (num9 > num10)
|
||||
{
|
||||
uint num11 = num10 - 1U;
|
||||
int[] array12 = Arrays.Clone(array10[(int)num11]);
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
int[] windowList = BigInteger.GetWindowList(e.magnitude, num8);
|
||||
int num12 = windowList[0];
|
||||
int[] array13;
|
||||
if (num12 != 1)
|
||||
{
|
||||
array13 = Arrays.Clone(array10[num12]);
|
||||
}
|
||||
uint num14;
|
||||
int num13 = windowList[(int)num14];
|
||||
if (num13 != -1)
|
||||
{
|
||||
num2 = num13;
|
||||
byte[] bitLengthTable = BigInteger.BitLengthTable;
|
||||
byte b2 = (byte)((int)b2 + num12);
|
||||
num14 = num5;
|
||||
num5 += (uint)1;
|
||||
}
|
||||
if (num13 > 0)
|
||||
{
|
||||
}
|
||||
int[] array14 = m.magnitude;
|
||||
int num15 = 0;
|
||||
int num16 = BigInteger.CompareTo(0, array13, num15, array14);
|
||||
int[] array15 = m.magnitude;
|
||||
int num17 = 0;
|
||||
int[] array16 = BigInteger.Subtract(0, array13, num17, array15);
|
||||
int[] array17 = m.magnitude;
|
||||
BigInteger.MontgomeryReduce(array13, array17, (uint)num2);
|
||||
uint num18;
|
||||
ulong num19;
|
||||
return new BigInteger((int)num18, array13, num19 != 0UL);
|
||||
}
|
||||
|
||||
// Token: 0x0600A204 RID: 41476 RVA: 0x0021D498 File Offset: 0x0021B698
|
||||
[Token(Token = "0x600A204")]
|
||||
[Address(RVA = "0x451E90", Offset = "0x450E90", VA = "0x180451E90")]
|
||||
private static int[] GetWindowList(int[] mag, int extraBits)
|
||||
{
|
||||
int num = mag[0];
|
||||
int num2 = 0;
|
||||
int num3 = BigInteger.BitLen(num);
|
||||
int num4 = mag.Length;
|
||||
num4 += num3;
|
||||
int[] array = new int[num2];
|
||||
uint num5;
|
||||
num5 -= (uint)num3;
|
||||
int num6 = 0;
|
||||
int num7 = 0;
|
||||
int num8 = 0;
|
||||
uint num9;
|
||||
if (num5 < (uint)32)
|
||||
{
|
||||
num7++;
|
||||
num += num;
|
||||
num5 += (uint)1;
|
||||
num6++;
|
||||
if (num9 == (uint)1)
|
||||
{
|
||||
num7++;
|
||||
while (num9 == (uint)1)
|
||||
{
|
||||
}
|
||||
}
|
||||
num += num;
|
||||
array[0] = num7;
|
||||
num5 += (uint)1;
|
||||
num += num;
|
||||
num5 += (uint)1;
|
||||
}
|
||||
num8++;
|
||||
if (num8 != mag.Length)
|
||||
{
|
||||
}
|
||||
if (num9 == (uint)1)
|
||||
{
|
||||
num7++;
|
||||
while (num9 == (uint)1)
|
||||
{
|
||||
}
|
||||
}
|
||||
array[0] = num7;
|
||||
num6++;
|
||||
array[0] = (int)((ulong)4294967295L);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A205 RID: 41477 RVA: 0x0021D574 File Offset: 0x0021B774
|
||||
[Token(Token = "0x600A205")]
|
||||
[Address(RVA = "0x4506A0", Offset = "0x44F6A0", VA = "0x1804506A0")]
|
||||
private static int CreateWindowEntry(int mult, int zeroes)
|
||||
{
|
||||
if (mult == 1)
|
||||
{
|
||||
while (mult == 1)
|
||||
{
|
||||
}
|
||||
}
|
||||
return zeroes;
|
||||
}
|
||||
|
||||
// Token: 0x0600A206 RID: 41478 RVA: 0x0021D58C File Offset: 0x0021B78C
|
||||
[Token(Token = "0x600A206")]
|
||||
[Address(RVA = "0x4576C0", Offset = "0x4566C0", VA = "0x1804576C0")]
|
||||
private static int[] Square(int[] w, int[] x)
|
||||
{
|
||||
int num = w.Length;
|
||||
int num2 = x.Length;
|
||||
int num3 = num2 - 1;
|
||||
if (num3 > 0)
|
||||
{
|
||||
num2 = num3;
|
||||
int num4 = num3 - 1;
|
||||
int num5 = x[num2];
|
||||
int num6 = w[num];
|
||||
int num7 = num5 * num5;
|
||||
num7 += num6;
|
||||
w[0] = num7;
|
||||
num = num7;
|
||||
num6 = num4;
|
||||
int num8 = x[num6] * num5;
|
||||
num7 += num6;
|
||||
num7 += num;
|
||||
num7 += num8;
|
||||
num8 = num7;
|
||||
int num9 = num - 1;
|
||||
num6 += num8;
|
||||
if (num9 > 0)
|
||||
{
|
||||
w[0] = num6;
|
||||
}
|
||||
int num10 = num3 - 1;
|
||||
num10 += num9;
|
||||
}
|
||||
int num11 = x[0];
|
||||
int num12 = w[num];
|
||||
int num13 = num11 * num11;
|
||||
num13 += num12;
|
||||
w[0] = num13;
|
||||
if (num > 0)
|
||||
{
|
||||
int num14 = num - 1;
|
||||
}
|
||||
return w;
|
||||
}
|
||||
|
||||
// Token: 0x0600A207 RID: 41479 RVA: 0x0021D670 File Offset: 0x0021B870
|
||||
[Token(Token = "0x600A207")]
|
||||
[Address(RVA = "0x4548C0", Offset = "0x4538C0", VA = "0x1804548C0")]
|
||||
private static int[] Multiply(int[] x, int[] y, int[] z)
|
||||
{
|
||||
int num = z.Length;
|
||||
int length = x.Length;
|
||||
num--;
|
||||
int num2 = z[num];
|
||||
int num3 = 0;
|
||||
if (num2 != 0)
|
||||
{
|
||||
int length2 = y.Length;
|
||||
int num4 = y[length2];
|
||||
int num5 = x[z];
|
||||
num3 += num5;
|
||||
int num6 = num4 * num2;
|
||||
num3 += num6;
|
||||
x[0] = num3;
|
||||
}
|
||||
x[0] = num3;
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600A208 RID: 41480 RVA: 0x0021D6E4 File Offset: 0x0021B8E4
|
||||
[Token(Token = "0x600A208")]
|
||||
[Address(RVA = "0x451DB0", Offset = "0x450DB0", VA = "0x180451DB0")]
|
||||
private int GetMQuote()
|
||||
{
|
||||
int num = this.mQuote;
|
||||
if (num == 0)
|
||||
{
|
||||
int[] array = this.magnitude;
|
||||
int num2 = array.Length - 1;
|
||||
int num3 = array[num2];
|
||||
uint num4;
|
||||
num4 -= typeof(BigInteger).TypeHandle;
|
||||
num4 -= typeof(BigInteger).TypeHandle;
|
||||
uint num5 = num4 * (uint)num3;
|
||||
num4 -= num5;
|
||||
this.mQuote = (int)num4;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A209 RID: 41481 RVA: 0x0021D744 File Offset: 0x0021B944
|
||||
[Token(Token = "0x600A209")]
|
||||
[Address(RVA = "0x4540F0", Offset = "0x4530F0", VA = "0x1804540F0")]
|
||||
private static void MontgomeryReduce(int[] x, int[] m, uint mDash)
|
||||
{
|
||||
int length = m.Length;
|
||||
int num = length - 1;
|
||||
int num2 = length - 1;
|
||||
int num3 = x[num2];
|
||||
int num4 = num3 * (int)mDash;
|
||||
int num5 = m[num2] * num4;
|
||||
num5 += num3;
|
||||
int length2 = x.Length;
|
||||
int num6;
|
||||
num5 += num6;
|
||||
int num8;
|
||||
int num7 = num8 * num4;
|
||||
num5 += num7;
|
||||
x[0] = num5;
|
||||
x[0] = num5;
|
||||
int num9 = 0;
|
||||
int num10 = BigInteger.CompareTo(0, x, num9, m);
|
||||
int num11 = 0;
|
||||
int[] array = BigInteger.Subtract(0, x, num11, m);
|
||||
}
|
||||
|
||||
// Token: 0x0600A20A RID: 41482 RVA: 0x0021D7D8 File Offset: 0x0021B9D8
|
||||
[Token(Token = "0x600A20A")]
|
||||
[Address(RVA = "0x454320", Offset = "0x453320", VA = "0x180454320")]
|
||||
private static void MultiplyMonty(int[] a, int[] x, int[] y, int[] m, uint mDash, bool smallMontyModulus)
|
||||
{
|
||||
int num = m.Length;
|
||||
if (num != 1)
|
||||
{
|
||||
int num2 = num - 1;
|
||||
int num3 = y[num2];
|
||||
int num5;
|
||||
int num4 = num3 * num5;
|
||||
int num7;
|
||||
int num6 = num7 * num4;
|
||||
num6 += num4;
|
||||
num6 += num6;
|
||||
int num8 = m[num4];
|
||||
int num9 = y[num4];
|
||||
int num10 = num8 * num4;
|
||||
num = num10;
|
||||
num += num6;
|
||||
num += num2;
|
||||
num6 += num10;
|
||||
a[0] = num;
|
||||
num6 += num;
|
||||
a[0] = num6;
|
||||
int num11 = a[num];
|
||||
int num13;
|
||||
int num12 = num3 * num13;
|
||||
num11 += num12;
|
||||
int num14 = num - 1;
|
||||
num = num11;
|
||||
int num15 = m[num14] * num;
|
||||
num14 = num15;
|
||||
num14 += num11;
|
||||
num14 += num15;
|
||||
num14 += num12;
|
||||
int length = a.Length;
|
||||
int num16 = a[num15];
|
||||
int num18;
|
||||
int num17 = num18 * num13;
|
||||
num15 = num17;
|
||||
num16 += num15;
|
||||
num += num14;
|
||||
num += num16;
|
||||
a[0] = num;
|
||||
num14 += num;
|
||||
num14 += num17;
|
||||
num15 = num6;
|
||||
num14 += num15;
|
||||
a[0] = num14;
|
||||
num6 = num14;
|
||||
a[0] = num6;
|
||||
int num19 = 0;
|
||||
int num20 = BigInteger.CompareTo(0, a, num19, m);
|
||||
int num21 = 0;
|
||||
int[] array = BigInteger.Subtract(0, a, num21, m);
|
||||
int num22 = 0;
|
||||
Array.Copy(a, 1, x, num22, num);
|
||||
return;
|
||||
}
|
||||
int length2 = x.Length;
|
||||
int num23 = x[0];
|
||||
int num24 = y[0];
|
||||
int num25 = m[0];
|
||||
int length3 = x.Length;
|
||||
int num26 = num24 * num23;
|
||||
int num27 = num26 * num25;
|
||||
num26 += num27;
|
||||
num26 += num27;
|
||||
num27 = num26;
|
||||
num27 -= num25;
|
||||
if (num26 <= num25)
|
||||
{
|
||||
num27 = num26;
|
||||
}
|
||||
x[0] = num27;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A20B RID: 41483 RVA: 0x0021D9A0 File Offset: 0x0021BBA0
|
||||
[Token(Token = "0x600A20B")]
|
||||
[Address(RVA = "0x4570B0", Offset = "0x4560B0", VA = "0x1804570B0")]
|
||||
private static void SquareMonty(int[] a, int[] x, int[] m, uint mDash, bool smallMontyModulus)
|
||||
{
|
||||
int num = m.Length;
|
||||
if (num != 1)
|
||||
{
|
||||
int num2 = num - 1;
|
||||
int num3 = x[num2];
|
||||
int num4 = num3 * num3;
|
||||
int num5 = num4 * (int)mDash;
|
||||
int num6 = m[num2] * num5;
|
||||
num6 += num4;
|
||||
num6 += num6;
|
||||
int num7 = x[(int)mDash] * num3;
|
||||
int num8 = m[(int)mDash] * num5;
|
||||
num8 += num6;
|
||||
num8 += num2;
|
||||
num6 = num7;
|
||||
num6 += num8;
|
||||
a[0] = num8;
|
||||
num6 += num8;
|
||||
num8 = num;
|
||||
a[0] = num6;
|
||||
int num9 = a[num8];
|
||||
int num10 = num8 - 1;
|
||||
num = num9;
|
||||
int num11 = num * (int)mDash;
|
||||
int num12 = m[num10] * num11;
|
||||
num12 += num9;
|
||||
int num13;
|
||||
if (num7 > num7)
|
||||
{
|
||||
int length = a.Length;
|
||||
num10 = num7;
|
||||
num13 = num10 + 1;
|
||||
int num14 = m[num10];
|
||||
int num15 = a[num13];
|
||||
num12 += num15;
|
||||
int num16 = num14 * num11;
|
||||
num12 += num16;
|
||||
a[0] = num12;
|
||||
}
|
||||
num13 = num7;
|
||||
int num17 = x[num13];
|
||||
num7 = num17;
|
||||
int num18 = num7 * num17;
|
||||
int length2 = a.Length;
|
||||
int num19 = num13 + 1;
|
||||
int num20 = a[num19];
|
||||
int num21 = m[num13];
|
||||
num13 += 2;
|
||||
int num22 = num21 * num11;
|
||||
num19 = num18;
|
||||
num20 += num19;
|
||||
num19 = num22;
|
||||
num12 += num19;
|
||||
num12 += num20;
|
||||
int num23 = num7 - 1;
|
||||
a[0] = num12;
|
||||
num22 += num18;
|
||||
num13 = num23;
|
||||
num22 += num12;
|
||||
num7 = num13;
|
||||
int num24 = x[num7] * num17;
|
||||
int length3 = a.Length;
|
||||
int num25 = num7 + 1;
|
||||
int num26 = m[num7];
|
||||
int num27 = a[num25];
|
||||
num7 += 2;
|
||||
num27 += num23;
|
||||
num23 += num22;
|
||||
num23 += num27;
|
||||
num22 += num24;
|
||||
a[0] = num23;
|
||||
num22 += num23;
|
||||
num25 = num6;
|
||||
num22 += num25;
|
||||
a[0] = num22;
|
||||
num6 = num22;
|
||||
a[0] = num6;
|
||||
int num28 = 0;
|
||||
int num29 = BigInteger.CompareTo(0, a, num28, m);
|
||||
int num30 = 0;
|
||||
int[] array = BigInteger.Subtract(0, a, num30, m);
|
||||
int num31 = 0;
|
||||
Array.Copy(a, 1, x, num31, num);
|
||||
return;
|
||||
}
|
||||
int length4 = x.Length;
|
||||
int num32 = x[0];
|
||||
int num33 = m[0];
|
||||
int length5 = x.Length;
|
||||
int num34 = num32 * num32;
|
||||
int num35 = num34 * (int)mDash * num33;
|
||||
num34 += num35;
|
||||
num34 += num35;
|
||||
num35 = num34;
|
||||
num35 -= num33;
|
||||
if (num34 <= num33)
|
||||
{
|
||||
num35 = num34;
|
||||
}
|
||||
x[0] = num35;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A20C RID: 41484 RVA: 0x0021DC50 File Offset: 0x0021BE50
|
||||
[Token(Token = "0x600A20C")]
|
||||
[Address(RVA = "0x4542E0", Offset = "0x4532E0", VA = "0x1804542E0")]
|
||||
private static uint MultiplyMontyNIsOne(uint x, uint y, uint m, uint mDash)
|
||||
{
|
||||
uint num = x * y;
|
||||
uint num2 = x * mDash * m;
|
||||
return y;
|
||||
}
|
||||
|
||||
// Token: 0x0600A20D RID: 41485 RVA: 0x0021DC68 File Offset: 0x0021BE68
|
||||
[Token(Token = "0x600A20D")]
|
||||
[Address(RVA = "0x454A20", Offset = "0x453A20", VA = "0x180454A20")]
|
||||
public BigInteger Multiply(BigInteger val)
|
||||
{
|
||||
if (val != this)
|
||||
{
|
||||
int num = val.sign;
|
||||
int num2 = this.sign;
|
||||
if (num2 != num)
|
||||
{
|
||||
if (num > 0 && val.nBits == 1)
|
||||
{
|
||||
int num3 = val.Abs().BitLength - 1;
|
||||
BigInteger bigInteger = this.ShiftLeft(num3);
|
||||
}
|
||||
if (num2 > 0 && this.nBits == 1)
|
||||
{
|
||||
int num4 = this.Abs().BitLength - 1;
|
||||
return val.ShiftLeft(num4).Negate();
|
||||
}
|
||||
int[] array = this.magnitude;
|
||||
int[] array2 = new int[val.magnitude.Length];
|
||||
int[] array3 = this.magnitude;
|
||||
int[] array4 = val.magnitude;
|
||||
int num5 = array4.Length;
|
||||
int length = array2.Length;
|
||||
int num6 = num5 - 1;
|
||||
num5 = num6;
|
||||
int num7 = array4[num5];
|
||||
int num8 = 0;
|
||||
int length2;
|
||||
int num10;
|
||||
if (num7 != 0)
|
||||
{
|
||||
length2 = array3.Length;
|
||||
num6 = length2;
|
||||
int num9 = array3[num6];
|
||||
num8 += num10;
|
||||
int num11 = num9 * num7;
|
||||
num8 += num11;
|
||||
array2[0] = num8;
|
||||
}
|
||||
num10 = length;
|
||||
array2[0] = num8;
|
||||
ulong num12;
|
||||
BigInteger bigInteger2 = new BigInteger(length2, array2, num12 != 0UL);
|
||||
}
|
||||
}
|
||||
return this.Square();
|
||||
}
|
||||
|
||||
// Token: 0x0600A20E RID: 41486 RVA: 0x0021DD98 File Offset: 0x0021BF98
|
||||
[Token(Token = "0x600A20E")]
|
||||
[Address(RVA = "0x4578F0", Offset = "0x4568F0", VA = "0x1804578F0")]
|
||||
public BigInteger Square()
|
||||
{
|
||||
int num = this.sign;
|
||||
if (num == 0)
|
||||
{
|
||||
return BigInteger.Zero;
|
||||
}
|
||||
if (num > 0 && this.nBits == 1)
|
||||
{
|
||||
int num2 = this.Abs().BitLength - 1;
|
||||
return this.ShiftLeft(num2);
|
||||
}
|
||||
int length = this.magnitude.Length;
|
||||
int[] array = this.magnitude;
|
||||
int[] array3;
|
||||
int[] array2 = BigInteger.Square(array3, array);
|
||||
BigInteger bigInteger;
|
||||
bigInteger.nBits = (int)((ulong)(-1L));
|
||||
bigInteger.sign = (int)((ulong)1L);
|
||||
bigInteger.magnitude = array3;
|
||||
return bigInteger;
|
||||
}
|
||||
|
||||
// Token: 0x0600A20F RID: 41487 RVA: 0x0021DE1C File Offset: 0x0021C01C
|
||||
[Token(Token = "0x600A20F")]
|
||||
[Address(RVA = "0x454D20", Offset = "0x453D20", VA = "0x180454D20")]
|
||||
public BigInteger Negate()
|
||||
{
|
||||
int num = this.sign;
|
||||
if (num != 0)
|
||||
{
|
||||
int[] array = this.magnitude;
|
||||
BigInteger bigInteger;
|
||||
bigInteger.nBits = (int)((ulong)(-1L));
|
||||
bigInteger.magnitude = array;
|
||||
bigInteger.sign = num;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600A210 RID: 41488 RVA: 0x0021DE54 File Offset: 0x0021C054
|
||||
[Token(Token = "0x600A210")]
|
||||
[Address(RVA = "0x454DB0", Offset = "0x453DB0", VA = "0x180454DB0")]
|
||||
public BigInteger NextProbablePrime()
|
||||
{
|
||||
BigInteger bigInteger;
|
||||
SecureRandom randomSource;
|
||||
int num5;
|
||||
do
|
||||
{
|
||||
BigInteger two = BigInteger.Two;
|
||||
int num = this.CompareTo(two);
|
||||
bigInteger = this.Inc();
|
||||
int num2 = 0;
|
||||
if (!bigInteger.TestBit(num2))
|
||||
{
|
||||
if (bigInteger.sign > 0 && bigInteger.BitLength > 0)
|
||||
{
|
||||
int num3 = 0;
|
||||
BigInteger bigInteger2 = bigInteger.FlipExistingBit(num3);
|
||||
}
|
||||
BigInteger one = BigInteger.One;
|
||||
int num4 = 0;
|
||||
BigInteger bigInteger3 = one.ShiftLeft(num4);
|
||||
BigInteger bigInteger4 = bigInteger.Or(bigInteger3);
|
||||
}
|
||||
randomSource = BigInteger.RandomSource;
|
||||
num5 = 0;
|
||||
}
|
||||
while (bigInteger.CheckProbablePrime(100, randomSource, num5 != 0));
|
||||
BigInteger two2 = BigInteger.Two;
|
||||
return bigInteger.Add(two2);
|
||||
}
|
||||
|
||||
// Token: 0x0600A211 RID: 41489 RVA: 0x0021DF00 File Offset: 0x0021C100
|
||||
[Token(Token = "0x600A211")]
|
||||
[Address(RVA = "0x455010", Offset = "0x454010", VA = "0x180455010")]
|
||||
public BigInteger Not()
|
||||
{
|
||||
return this.Inc().Negate();
|
||||
}
|
||||
|
||||
// Token: 0x0600A212 RID: 41490 RVA: 0x0021DF20 File Offset: 0x0021C120
|
||||
[Token(Token = "0x600A212")]
|
||||
[Address(RVA = "0x4553D0", Offset = "0x4543D0", VA = "0x1804553D0")]
|
||||
public BigInteger Pow(int exp)
|
||||
{
|
||||
if (exp <= 0)
|
||||
{
|
||||
return BigInteger.One;
|
||||
}
|
||||
int num = this.sign;
|
||||
if (num == 0)
|
||||
{
|
||||
return this;
|
||||
}
|
||||
if (num > 0 && this.nBits == 1)
|
||||
{
|
||||
int num2 = this.BitLength * exp;
|
||||
return BigInteger.One.ShiftLeft(num2);
|
||||
}
|
||||
BigInteger one = BigInteger.One;
|
||||
BigInteger bigInteger;
|
||||
if (exp != 1)
|
||||
{
|
||||
bigInteger = one.Multiply(this);
|
||||
}
|
||||
if (one != 0)
|
||||
{
|
||||
BigInteger bigInteger2 = this.Multiply(this);
|
||||
}
|
||||
return bigInteger;
|
||||
}
|
||||
|
||||
// Token: 0x0600A213 RID: 41491 RVA: 0x0021DF94 File Offset: 0x0021C194
|
||||
[Token(Token = "0x600A213")]
|
||||
[Address(RVA = "0x4555D0", Offset = "0x4545D0", VA = "0x1804555D0")]
|
||||
public static BigInteger ProbablePrime(int bitLength, Random random)
|
||||
{
|
||||
return new BigInteger(bitLength, 100, random);
|
||||
}
|
||||
|
||||
// Token: 0x0600A214 RID: 41492 RVA: 0x0021DFAC File Offset: 0x0021C1AC
|
||||
[Token(Token = "0x600A214")]
|
||||
[Address(RVA = "0x455CB0", Offset = "0x454CB0", VA = "0x180455CB0")]
|
||||
private int Remainder(int m)
|
||||
{
|
||||
int[] array = this.magnitude;
|
||||
int num = 0;
|
||||
int length = array.Length;
|
||||
if (num < length)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A215 RID: 41493 RVA: 0x0021DFD8 File Offset: 0x0021C1D8
|
||||
[Token(Token = "0x600A215")]
|
||||
[Address(RVA = "0x455FD0", Offset = "0x454FD0", VA = "0x180455FD0")]
|
||||
private static int[] Remainder(int[] x, int[] y)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
int length = x.Length;
|
||||
if (num2 < length && "{il2cpp array field x->}" == (ulong)0L)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
int length2 = y.Length;
|
||||
if (num4 < length2 && "{il2cpp array field y->}" == (ulong)0L)
|
||||
{
|
||||
num3++;
|
||||
}
|
||||
if (BigInteger.CompareNoLeadingZeroes(num, x, num3, y) > 0)
|
||||
{
|
||||
int num5 = y.Length;
|
||||
if (num3 < num5)
|
||||
{
|
||||
if (y[num3] == 0)
|
||||
{
|
||||
num3++;
|
||||
}
|
||||
num5 -= num3;
|
||||
}
|
||||
int num6 = 0;
|
||||
ulong num7;
|
||||
if (num7 == (ulong)0L)
|
||||
{
|
||||
}
|
||||
int num8 = x.Length;
|
||||
if (num < num8)
|
||||
{
|
||||
int num9 = x[num];
|
||||
if (num9 == 0)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
num8 -= num;
|
||||
int num10 = BigInteger.BitLen(num9);
|
||||
}
|
||||
int num11 = 0;
|
||||
int num12 = 0;
|
||||
num11 -= num6;
|
||||
num11 -= num3;
|
||||
int[] array = new int[num11];
|
||||
int num13 = x.Length;
|
||||
int[] array2;
|
||||
int length3 = array2.Length;
|
||||
num13 -= length3;
|
||||
num13 -= num;
|
||||
num13 += num12;
|
||||
if (array2 == 0 && num < num13)
|
||||
{
|
||||
num++;
|
||||
num12++;
|
||||
int num14 = array2[num12];
|
||||
while ("{il2cpp array field x->}" == num14)
|
||||
{
|
||||
}
|
||||
if ("{il2cpp array field x->}" < num14)
|
||||
{
|
||||
}
|
||||
}
|
||||
int[] array3 = BigInteger.Subtract(num, x, num12, array2);
|
||||
int length4 = x.Length;
|
||||
int num15 = x[num];
|
||||
if (num15 == 0)
|
||||
{
|
||||
while (1 != length4)
|
||||
{
|
||||
}
|
||||
}
|
||||
int num16 = BigInteger.BitLen(num15);
|
||||
int num17 = x.Length;
|
||||
num17--;
|
||||
num17 += num16;
|
||||
int num18 = x.Length;
|
||||
num18 -= num15;
|
||||
num18--;
|
||||
num18 += num3;
|
||||
if (1 >= num18)
|
||||
{
|
||||
uint num19;
|
||||
while (num19 == (uint)0)
|
||||
{
|
||||
}
|
||||
int num20;
|
||||
if (num20 > "{il2cpp array field x->}")
|
||||
{
|
||||
}
|
||||
while ("{il2cpp array field local25->}" != (ulong)0L)
|
||||
{
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
num3++;
|
||||
}
|
||||
uint num21;
|
||||
if (num21 == (uint)0)
|
||||
{
|
||||
int num22 = x.Length;
|
||||
num22--;
|
||||
Array.Clear(x, 1, num22);
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600A216 RID: 41494 RVA: 0x0021E1B4 File Offset: 0x0021C3B4
|
||||
[Token(Token = "0x600A216")]
|
||||
[Address(RVA = "0x455D20", Offset = "0x454D20", VA = "0x180455D20")]
|
||||
public BigInteger Remainder(BigInteger n)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A216)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger::Remainder(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_E1:
|
||||
stloc:ArithmeticException(var_16_EB, newobj:ArithmeticException(ArithmeticException::.ctor, ldstr:string("Division by zero error")))
|
||||
}
|
||||
|
||||
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: 0x0600A217 RID: 41495 RVA: 0x0021E2B0 File Offset: 0x0021C4B0
|
||||
[Token(Token = "0x600A217")]
|
||||
[Address(RVA = "0x4525F0", Offset = "0x4515F0", VA = "0x1804525F0")]
|
||||
private int[] LastNBits(int n)
|
||||
{
|
||||
int num = this.magnitude.Length;
|
||||
int num2;
|
||||
num = num2;
|
||||
int[] array = new int[num];
|
||||
int[] array2 = this.magnitude;
|
||||
int num3 = array2.Length;
|
||||
int num4 = 0;
|
||||
num3 -= num2;
|
||||
Array.Copy(array2, num3, array, num4, num2);
|
||||
num2 -= n;
|
||||
if (num2 > 0)
|
||||
{
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A218 RID: 41496 RVA: 0x0021E30C File Offset: 0x0021C50C
|
||||
[Token(Token = "0x600A218")]
|
||||
[Address(RVA = "0x450B30", Offset = "0x44FB30", VA = "0x180450B30")]
|
||||
private BigInteger DivideWords(int w)
|
||||
{
|
||||
int num = this.magnitude.Length;
|
||||
if (w < num)
|
||||
{
|
||||
num -= w;
|
||||
int[] array = new int[w];
|
||||
int[] array2 = this.magnitude;
|
||||
int num2 = 0;
|
||||
int num3 = 0;
|
||||
Array.Copy(array2, num3, array, num2, num);
|
||||
int num4 = this.sign;
|
||||
BigInteger bigInteger;
|
||||
bigInteger.nBits = (int)((ulong)(-1L));
|
||||
bigInteger.sign = num4;
|
||||
bigInteger.magnitude = array;
|
||||
return bigInteger;
|
||||
}
|
||||
return BigInteger.Zero;
|
||||
}
|
||||
|
||||
// Token: 0x0600A219 RID: 41497 RVA: 0x0021E37C File Offset: 0x0021C57C
|
||||
[Token(Token = "0x600A219")]
|
||||
[Address(RVA = "0x455BB0", Offset = "0x454BB0", VA = "0x180455BB0")]
|
||||
private BigInteger RemainderWords(int w)
|
||||
{
|
||||
int num = this.magnitude.Length;
|
||||
if (w < num)
|
||||
{
|
||||
int[] array = new int[w];
|
||||
int[] array2 = this.magnitude;
|
||||
num -= w;
|
||||
int num2 = 0;
|
||||
Array.Copy(array2, w, array, num2, w);
|
||||
int num3 = this.sign;
|
||||
BigInteger bigInteger;
|
||||
bigInteger.nBits = (int)((ulong)(-1L));
|
||||
bigInteger.sign = num3;
|
||||
bigInteger.magnitude = array;
|
||||
return bigInteger;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600A21A RID: 41498 RVA: 0x0021E3E8 File Offset: 0x0021C5E8
|
||||
[Token(Token = "0x600A21A")]
|
||||
[Address(RVA = "0x4567D0", Offset = "0x4557D0", VA = "0x1804567D0")]
|
||||
private static int[] ShiftLeft(int[] mag, int n)
|
||||
{
|
||||
int length = mag.Length;
|
||||
if (n != 0)
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = mag[0];
|
||||
if (num2 == 0)
|
||||
{
|
||||
int[] array = new int[n];
|
||||
}
|
||||
int[] array2 = new int[n];
|
||||
array2[0] = num2;
|
||||
int length2 = mag.Length;
|
||||
if (length - 1 > 0)
|
||||
{
|
||||
num++;
|
||||
num++;
|
||||
array2[0] = n;
|
||||
int length3 = mag.Length;
|
||||
}
|
||||
int num3 = length - 1;
|
||||
int num4 = mag[num3];
|
||||
array2[0] = num4;
|
||||
}
|
||||
return new int[n];
|
||||
}
|
||||
|
||||
// Token: 0x0600A21B RID: 41499 RVA: 0x0021E47C File Offset: 0x0021C67C
|
||||
[Token(Token = "0x600A21B")]
|
||||
[Address(RVA = "0x456770", Offset = "0x455770", VA = "0x180456770")]
|
||||
private static int ShiftLeftOneInPlace(int[] x, int carry)
|
||||
{
|
||||
int length = x.Length;
|
||||
x[0] = x;
|
||||
return carry;
|
||||
}
|
||||
|
||||
// Token: 0x0600A21C RID: 41500 RVA: 0x0021E4A4 File Offset: 0x0021C6A4
|
||||
[Token(Token = "0x600A21C")]
|
||||
[Address(RVA = "0x4569F0", Offset = "0x4559F0", VA = "0x1804569F0")]
|
||||
public BigInteger ShiftLeft(int n)
|
||||
{
|
||||
if (this.sign != 0)
|
||||
{
|
||||
int[] array = this.magnitude;
|
||||
if (array.Length != 0 && n != 0)
|
||||
{
|
||||
int[] array2 = BigInteger.ShiftLeft(array, n);
|
||||
ulong num;
|
||||
BigInteger bigInteger = new BigInteger(n, array2, num != 0UL);
|
||||
if (this.nBits != -1)
|
||||
{
|
||||
bigInteger.nBits = bigInteger;
|
||||
}
|
||||
int num2 = this.nBitLength;
|
||||
if (num2 != -1)
|
||||
{
|
||||
num2 += n;
|
||||
bigInteger.nBitLength = num2;
|
||||
}
|
||||
BigInteger bigInteger2 = this.ShiftRight(n);
|
||||
}
|
||||
}
|
||||
return BigInteger.Zero;
|
||||
}
|
||||
|
||||
// Token: 0x0600A21D RID: 41501 RVA: 0x0021E520 File Offset: 0x0021C720
|
||||
[Token(Token = "0x600A21D")]
|
||||
[Address(RVA = "0x456B60", Offset = "0x455B60", VA = "0x180456B60")]
|
||||
private static void ShiftRightInPlace(int start, int[] mag, int n)
|
||||
{
|
||||
int i = mag.Length;
|
||||
if (n != start)
|
||||
{
|
||||
int length = mag.Length;
|
||||
int num = mag[start];
|
||||
mag[0] = num;
|
||||
while (i >= n)
|
||||
{
|
||||
}
|
||||
int j = n - 1;
|
||||
int num2 = 0;
|
||||
mag[0] = num2;
|
||||
while (j >= start)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (n != 0)
|
||||
{
|
||||
int length2 = mag.Length;
|
||||
int num = i;
|
||||
int num3 = mag[num];
|
||||
if (i > n)
|
||||
{
|
||||
int length3 = mag.Length;
|
||||
int num4 = start - 1;
|
||||
mag[0] = num3;
|
||||
}
|
||||
int num5 = mag[n];
|
||||
mag[0] = num5;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A21E RID: 41502 RVA: 0x0021E5C0 File Offset: 0x0021C7C0
|
||||
[Token(Token = "0x600A21E")]
|
||||
[Address(RVA = "0x456D10", Offset = "0x455D10", VA = "0x180456D10")]
|
||||
private static void ShiftRightOneInPlace(int start, int[] mag)
|
||||
{
|
||||
int num = mag.Length;
|
||||
int num2 = num - 1;
|
||||
int num3 = mag[num2];
|
||||
if (num2 > start)
|
||||
{
|
||||
int length = mag.Length;
|
||||
num = num2;
|
||||
int num4 = num - 1;
|
||||
mag[0] = num3;
|
||||
}
|
||||
int num5 = mag[start];
|
||||
mag[0] = num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600A21F RID: 41503 RVA: 0x0021E614 File Offset: 0x0021C814
|
||||
[Token(Token = "0x600A21F")]
|
||||
[Address(RVA = "0x456DE0", Offset = "0x455DE0", VA = "0x180456DE0")]
|
||||
public BigInteger ShiftRight(int n)
|
||||
{
|
||||
while (n != 0)
|
||||
{
|
||||
int bitLength = this.BitLength;
|
||||
if (n < bitLength)
|
||||
{
|
||||
int bitLength2 = this.BitLength;
|
||||
uint num;
|
||||
num -= (uint)n;
|
||||
num += (uint)bitLength2;
|
||||
int[] array = new int[31];
|
||||
if (n != bitLength)
|
||||
{
|
||||
int num2 = this.magnitude.Length;
|
||||
uint num3 = num - 1U;
|
||||
num2 -= n;
|
||||
int num4 = this.magnitude[num2];
|
||||
array[0] = num4;
|
||||
int[] array2 = this.magnitude;
|
||||
int num5 = array2[n];
|
||||
array[0] = num5;
|
||||
}
|
||||
int length = array.Length;
|
||||
int num6 = 0;
|
||||
int[] array3 = this.magnitude;
|
||||
int num7 = 0;
|
||||
Array.Copy(array3, num7, array, num6, length);
|
||||
int num8 = this.sign;
|
||||
BigInteger bigInteger;
|
||||
bigInteger.nBits = (int)((ulong)(-1L));
|
||||
bigInteger.sign = num8;
|
||||
bigInteger.magnitude = array;
|
||||
return bigInteger;
|
||||
}
|
||||
if (this.sign < 0)
|
||||
{
|
||||
return BigInteger.One.Negate().ShiftLeft(n);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x170019C7 RID: 6599
|
||||
// (get) Token: 0x0600A220 RID: 41504 RVA: 0x0021E714 File Offset: 0x0021C914
|
||||
[Token(Token = "0x170019C7")]
|
||||
public int SignValue
|
||||
{
|
||||
[Token(Token = "0x600A220")]
|
||||
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540")]
|
||||
get
|
||||
{
|
||||
return this.sign;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A221 RID: 41505 RVA: 0x0021E728 File Offset: 0x0021C928
|
||||
[Token(Token = "0x600A221")]
|
||||
[Address(RVA = "0x457A70", Offset = "0x456A70", VA = "0x180457A70")]
|
||||
private static int[] Subtract(int xStart, int[] x, int yStart, int[] y)
|
||||
{
|
||||
int length = x.Length;
|
||||
int num = y.Length;
|
||||
num--;
|
||||
int num2 = y[num];
|
||||
if (yStart != 0)
|
||||
{
|
||||
while (length == -1)
|
||||
{
|
||||
}
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
||||
// Token: 0x0600A222 RID: 41506 RVA: 0x0021E764 File Offset: 0x0021C964
|
||||
[Token(Token = "0x600A222")]
|
||||
[Address(RVA = "0x457B70", Offset = "0x456B70", VA = "0x180457B70")]
|
||||
public BigInteger Subtract(BigInteger n)
|
||||
{
|
||||
int num = n.sign;
|
||||
if (num != 0)
|
||||
{
|
||||
int num2 = this.sign;
|
||||
if (num2 != 0)
|
||||
{
|
||||
if (num2 == num)
|
||||
{
|
||||
int[] array = this.magnitude;
|
||||
int[] array2 = n.magnitude;
|
||||
int num3 = 0;
|
||||
int num4 = BigInteger.CompareNoLeadingZeroes(0, array, num3, array2);
|
||||
if (num4 != 0)
|
||||
{
|
||||
int num5 = this.sign;
|
||||
int[] array3 = n.magnitude;
|
||||
int[] array4 = this.magnitude;
|
||||
int[] array5 = BigInteger.doSubBigLil(array3, array4);
|
||||
int num6;
|
||||
BigInteger bigInteger = new BigInteger(num6, array5, true);
|
||||
num6 = num5 * num4;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
BigInteger bigInteger3;
|
||||
BigInteger bigInteger2 = this.Add(bigInteger3);
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600A223 RID: 41507 RVA: 0x0021E7F4 File Offset: 0x0021C9F4
|
||||
[Token(Token = "0x600A223")]
|
||||
[Address(RVA = "0x45C7F0", Offset = "0x45B7F0", VA = "0x18045C7F0")]
|
||||
private static int[] doSubBigLil(int[] bigMag, int[] lilMag)
|
||||
{
|
||||
int[] array;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A224 RID: 41508 RVA: 0x0021E80C File Offset: 0x0021CA0C
|
||||
[Token(Token = "0x600A224")]
|
||||
[Address(RVA = "0x457E60", Offset = "0x456E60", VA = "0x180457E60")]
|
||||
public byte[] ToByteArray()
|
||||
{
|
||||
int num = 0;
|
||||
return this.ToByteArray(num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600A225 RID: 41509 RVA: 0x0021E824 File Offset: 0x0021CA24
|
||||
[Token(Token = "0x600A225")]
|
||||
[Address(RVA = "0x457E50", Offset = "0x456E50", VA = "0x180457E50")]
|
||||
public byte[] ToByteArrayUnsigned()
|
||||
{
|
||||
return this.ToByteArray(true);
|
||||
}
|
||||
|
||||
// Token: 0x0600A226 RID: 41510 RVA: 0x0021E838 File Offset: 0x0021CA38
|
||||
[Token(Token = "0x600A226")]
|
||||
[Address(RVA = "0x457E70", Offset = "0x456E70", VA = "0x180457E70")]
|
||||
private byte[] ToByteArray(bool unsigned)
|
||||
{
|
||||
byte[] array2;
|
||||
int num5;
|
||||
int num6;
|
||||
do
|
||||
{
|
||||
int num = this.sign;
|
||||
if (num == 0)
|
||||
{
|
||||
goto IL_196;
|
||||
}
|
||||
if (unsigned && num > 0)
|
||||
{
|
||||
int bitLength = this.BitLength;
|
||||
}
|
||||
if (this.nBitLength == -1)
|
||||
{
|
||||
int num2 = this.sign;
|
||||
if (num2 == 0)
|
||||
{
|
||||
}
|
||||
int[] array = this.magnitude;
|
||||
int num3 = 0;
|
||||
int num4 = BigInteger.CalcBitLength(num2, num3, array);
|
||||
this.nBitLength = num4;
|
||||
}
|
||||
array2 = new byte[unsigned ? 1 : 0];
|
||||
num5 = this.magnitude.Length;
|
||||
num6 = array2.Length;
|
||||
}
|
||||
while (num5 <= 1);
|
||||
int num7 = this.magnitude[num5];
|
||||
ulong num8;
|
||||
int num9;
|
||||
bool flag;
|
||||
if (num8 != (ulong)0L)
|
||||
{
|
||||
num9 = num7 + 1;
|
||||
num7 = num9;
|
||||
flag = num9 == 0;
|
||||
}
|
||||
num9 = num6;
|
||||
int num10 = num9 - 1;
|
||||
array2[0] = (byte)num7;
|
||||
num9 = num7;
|
||||
array2[0] = (byte)num9;
|
||||
num10 = num6;
|
||||
num10 += -3;
|
||||
num9 = num7;
|
||||
num6 += -4;
|
||||
array2[0] = (byte)num9;
|
||||
int i = this.magnitude[0];
|
||||
if (flag)
|
||||
{
|
||||
}
|
||||
if (i > 255)
|
||||
{
|
||||
num6--;
|
||||
while (i > 255)
|
||||
{
|
||||
}
|
||||
}
|
||||
num5 = num6;
|
||||
int num11 = num5 - 1;
|
||||
if (num6 - 1 > 0)
|
||||
{
|
||||
return array2;
|
||||
}
|
||||
return array2;
|
||||
IL_196:
|
||||
if (unsigned)
|
||||
{
|
||||
return BigInteger.ZeroEncoding;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A227 RID: 41511 RVA: 0x0021E9EC File Offset: 0x0021CBEC
|
||||
[Token(Token = "0x600A227")]
|
||||
[Address(RVA = "0x458360", Offset = "0x457360", VA = "0x180458360", Slot = "3")]
|
||||
public override string ToString()
|
||||
{
|
||||
return this.ToString(10);
|
||||
}
|
||||
|
||||
// Token: 0x0600A228 RID: 41512 RVA: 0x0021EA04 File Offset: 0x0021CC04
|
||||
[Token(Token = "0x600A228")]
|
||||
[Address(RVA = "0x458370", Offset = "0x457370", VA = "0x180458370")]
|
||||
public string ToString(int radix)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A228)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger::ToString(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_14F:
|
||||
stloc:FormatException(var_34_159, newobj:FormatException(FormatException::.ctor, ldstr:string("Only bases 2, 8, 10, 16 are allowed")))
|
||||
}
|
||||
|
||||
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: 0x0600A229 RID: 41513 RVA: 0x0021EB6C File Offset: 0x0021CD6C
|
||||
[Token(Token = "0x600A229")]
|
||||
[Address(RVA = "0x458B00", Offset = "0x457B00", VA = "0x180458B00")]
|
||||
private static void ToString(StringBuilder sb, int radix, IList moduli, int scale, BigInteger pos)
|
||||
{
|
||||
int num;
|
||||
int num2;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
num2 = scale - 1;
|
||||
if (radix == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (radix == 0);
|
||||
BigInteger[] array;
|
||||
BigInteger bigInteger = array[0];
|
||||
BigInteger.ToString(sb, radix, moduli, num2, bigInteger);
|
||||
BigInteger bigInteger2 = array[1];
|
||||
string text = Convert.ToString(bigInteger2.LongValue, radix);
|
||||
int length = sb.Length;
|
||||
if (sb.Length == 1)
|
||||
{
|
||||
int num3 = 0;
|
||||
char c = sb[num3];
|
||||
}
|
||||
if (bigInteger2.sign != num)
|
||||
{
|
||||
StringBuilder stringBuilder = sb.Append(text);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A22A RID: 41514 RVA: 0x0021EBF4 File Offset: 0x0021CDF4
|
||||
[Token(Token = "0x600A22A")]
|
||||
[Address(RVA = "0x44F900", Offset = "0x44E900", VA = "0x18044F900")]
|
||||
private static void AppendZeroExtendedString(StringBuilder sb, string s, int minLength)
|
||||
{
|
||||
int num = s.m_stringLength;
|
||||
if (num < minLength)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
StringBuilder stringBuilder = sb.Append(s);
|
||||
}
|
||||
|
||||
// Token: 0x0600A22B RID: 41515 RVA: 0x0021EC20 File Offset: 0x0021CE20
|
||||
[Token(Token = "0x600A22B")]
|
||||
[Address(RVA = "0x4503E0", Offset = "0x44F3E0", VA = "0x1804503E0")]
|
||||
private static BigInteger CreateUValueOf(ulong value)
|
||||
{
|
||||
if (value != (ulong)0L)
|
||||
{
|
||||
int[] array = new int[2];
|
||||
array[0] = (int)value;
|
||||
array[0] = (int)value;
|
||||
BigInteger bigInteger;
|
||||
bigInteger.nBits = (int)((ulong)(-1L));
|
||||
bigInteger.sign = (int)((ulong)1L);
|
||||
bigInteger.magnitude = array;
|
||||
return bigInteger;
|
||||
}
|
||||
if (value == (ulong)0L)
|
||||
{
|
||||
return BigInteger.Zero;
|
||||
}
|
||||
int[] array2 = new int[] { (int)value };
|
||||
BigInteger bigInteger2;
|
||||
bigInteger2.nBits = (int)((ulong)(-1L));
|
||||
bigInteger2.sign = (int)((ulong)1L);
|
||||
bigInteger2.magnitude = array2;
|
||||
if (value == 0UL)
|
||||
{
|
||||
bigInteger2.nBits = (int)((ulong)1L);
|
||||
}
|
||||
return bigInteger2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A22C RID: 41516 RVA: 0x0021ECAC File Offset: 0x0021CEAC
|
||||
[Token(Token = "0x600A22C")]
|
||||
[Address(RVA = "0x4505C0", Offset = "0x44F5C0", VA = "0x1804505C0")]
|
||||
private static BigInteger CreateValueOf(long value)
|
||||
{
|
||||
return BigInteger.CreateUValueOf((ulong)value);
|
||||
}
|
||||
|
||||
// Token: 0x0600A22D RID: 41517 RVA: 0x0021ECD8 File Offset: 0x0021CED8
|
||||
[Token(Token = "0x600A22D")]
|
||||
[Address(RVA = "0x458D70", Offset = "0x457D70", VA = "0x180458D70")]
|
||||
public static BigInteger ValueOf(long value)
|
||||
{
|
||||
int length = BigInteger.SMALL_CONSTANTS.Length;
|
||||
if (value < (long)length)
|
||||
{
|
||||
return BigInteger.SMALL_CONSTANTS[(int)value];
|
||||
}
|
||||
return BigInteger.CreateValueOf(value);
|
||||
}
|
||||
|
||||
// Token: 0x0600A22E RID: 41518 RVA: 0x0021ED0C File Offset: 0x0021CF0C
|
||||
[Token(Token = "0x600A22E")]
|
||||
[Address(RVA = "0x451D90", Offset = "0x450D90", VA = "0x180451D90")]
|
||||
public int GetLowestSetBit()
|
||||
{
|
||||
if (this.sign != 0)
|
||||
{
|
||||
return this.GetLowestSetBitMaskFirst(-1);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A22F RID: 41519 RVA: 0x0021ED2C File Offset: 0x0021CF2C
|
||||
[Token(Token = "0x600A22F")]
|
||||
[Address(RVA = "0x451CF0", Offset = "0x450CF0", VA = "0x180451CF0")]
|
||||
private int GetLowestSetBitMaskFirst(int firstWordMask)
|
||||
{
|
||||
int[] array;
|
||||
int num2;
|
||||
int num4;
|
||||
do
|
||||
{
|
||||
array = this.magnitude;
|
||||
int num = array.Length;
|
||||
num2 = 0;
|
||||
int num3 = num - 1;
|
||||
num = num3;
|
||||
num4 = array[num];
|
||||
if (num3 != num)
|
||||
{
|
||||
break;
|
||||
}
|
||||
num4 = num3;
|
||||
num2 += 32;
|
||||
}
|
||||
while (array[num4] == 0);
|
||||
if (num4 == 0)
|
||||
{
|
||||
num2 += 8;
|
||||
while (num4 == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
if (num4 == 1)
|
||||
{
|
||||
num2++;
|
||||
while (num4 == 1)
|
||||
{
|
||||
}
|
||||
}
|
||||
return num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A230 RID: 41520 RVA: 0x0021ED94 File Offset: 0x0021CF94
|
||||
[Token(Token = "0x600A230")]
|
||||
[Address(RVA = "0x457D20", Offset = "0x456D20", VA = "0x180457D20")]
|
||||
public bool TestBit(int n)
|
||||
{
|
||||
int length = this.magnitude.Length;
|
||||
if (n < length)
|
||||
{
|
||||
int num = n - 1;
|
||||
}
|
||||
BigInteger bigInteger;
|
||||
return !bigInteger.Negate().TestBit(n);
|
||||
}
|
||||
|
||||
// Token: 0x0600A231 RID: 41521 RVA: 0x0021EDD4 File Offset: 0x0021CFD4
|
||||
[Token(Token = "0x600A231")]
|
||||
[Address(RVA = "0x455040", Offset = "0x454040", VA = "0x180455040")]
|
||||
public BigInteger Or(BigInteger value)
|
||||
{
|
||||
int num = this.sign;
|
||||
if (num != 0 && value.sign != 0)
|
||||
{
|
||||
if (num > 0)
|
||||
{
|
||||
}
|
||||
BigInteger one = BigInteger.One;
|
||||
int[] array = this.Add(one).magnitude;
|
||||
if (value.sign > 0)
|
||||
{
|
||||
}
|
||||
BigInteger one2 = BigInteger.One;
|
||||
int[] array2 = value.Add(one2).magnitude;
|
||||
if (this.sign < 0)
|
||||
{
|
||||
}
|
||||
int num2 = value.sign;
|
||||
int num3 = array2.Length;
|
||||
num3 = Math.Max(array.Length, num3);
|
||||
int[] array3 = new int[num3];
|
||||
int num4 = array3.Length;
|
||||
int num5 = 0;
|
||||
int num6 = 0;
|
||||
num4 -= num4;
|
||||
int length = array3.Length;
|
||||
if (num6 < length)
|
||||
{
|
||||
num6 += num5;
|
||||
int num7 = 0;
|
||||
array3[0] = num7;
|
||||
if (num2 != 0)
|
||||
{
|
||||
array3[0] = num7;
|
||||
}
|
||||
num5++;
|
||||
}
|
||||
uint num8;
|
||||
ulong num9;
|
||||
BigInteger bigInteger = new BigInteger((int)num8, array3, num9 != 0UL);
|
||||
BigInteger bigInteger3;
|
||||
if (num2 != 0)
|
||||
{
|
||||
BigInteger bigInteger2 = bigInteger.Inc();
|
||||
int num10 = bigInteger2.sign;
|
||||
if (num10 != 0)
|
||||
{
|
||||
int[] array4 = bigInteger2.magnitude;
|
||||
bigInteger3.nBits = (int)((ulong)(-1L));
|
||||
bigInteger3.sign = num10;
|
||||
bigInteger3.magnitude = array4;
|
||||
}
|
||||
}
|
||||
return bigInteger3;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
// Token: 0x0600A232 RID: 41522 RVA: 0x0021EF08 File Offset: 0x0021D108
|
||||
[Token(Token = "0x600A232")]
|
||||
[Address(RVA = "0x458E60", Offset = "0x457E60", VA = "0x180458E60")]
|
||||
public BigInteger Xor(BigInteger value)
|
||||
{
|
||||
int num = this.sign;
|
||||
if (num != 0 && value.sign != 0)
|
||||
{
|
||||
if (num > 0)
|
||||
{
|
||||
}
|
||||
BigInteger one = BigInteger.One;
|
||||
int[] array = this.Add(one).magnitude;
|
||||
if (value.sign > 0)
|
||||
{
|
||||
}
|
||||
BigInteger one2 = BigInteger.One;
|
||||
int[] array2 = value.Add(one2).magnitude;
|
||||
int num2 = value.sign;
|
||||
if (this.sign < 0)
|
||||
{
|
||||
}
|
||||
int num3 = array2.Length;
|
||||
num3 = Math.Max(array.Length, num3);
|
||||
int[] array3 = new int[num3];
|
||||
int num4 = array3.Length;
|
||||
int num5 = 0;
|
||||
int num6 = 0;
|
||||
num4 -= num4;
|
||||
int length = array3.Length;
|
||||
if (num6 < length)
|
||||
{
|
||||
num6 += num5;
|
||||
int num7 = 0;
|
||||
array3[0] = num7;
|
||||
if (num2 != 0)
|
||||
{
|
||||
array3[0] = num7;
|
||||
}
|
||||
num5++;
|
||||
}
|
||||
uint num8;
|
||||
ulong num9;
|
||||
BigInteger bigInteger = new BigInteger((int)num8, array3, num9 != 0UL);
|
||||
BigInteger bigInteger3;
|
||||
if (num2 != 0)
|
||||
{
|
||||
BigInteger bigInteger2 = bigInteger.Inc();
|
||||
int num10 = bigInteger2.sign;
|
||||
if (num10 != 0)
|
||||
{
|
||||
int[] array4 = bigInteger2.magnitude;
|
||||
bigInteger3.nBits = (int)((ulong)(-1L));
|
||||
bigInteger3.sign = num10;
|
||||
bigInteger3.magnitude = array4;
|
||||
}
|
||||
}
|
||||
return bigInteger3;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
// Token: 0x0600A233 RID: 41523 RVA: 0x0021F03C File Offset: 0x0021D23C
|
||||
[Token(Token = "0x600A233")]
|
||||
[Address(RVA = "0x456650", Offset = "0x455650", VA = "0x180456650")]
|
||||
public BigInteger SetBit(int n)
|
||||
{
|
||||
if (!this.TestBit(n))
|
||||
{
|
||||
if (this.sign > 0)
|
||||
{
|
||||
int bitLength = this.BitLength;
|
||||
if (n < bitLength)
|
||||
{
|
||||
return this.FlipExistingBit(n);
|
||||
}
|
||||
}
|
||||
BigInteger bigInteger = BigInteger.One.ShiftLeft(n);
|
||||
return this.Or(bigInteger);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600A234 RID: 41524 RVA: 0x0021F090 File Offset: 0x0021D290
|
||||
[Token(Token = "0x600A234")]
|
||||
[Address(RVA = "0x44FF70", Offset = "0x44EF70", VA = "0x18044FF70")]
|
||||
public BigInteger ClearBit(int n)
|
||||
{
|
||||
if (this.TestBit(n))
|
||||
{
|
||||
if (this.sign > 0)
|
||||
{
|
||||
int bitLength = this.BitLength;
|
||||
if (n < bitLength)
|
||||
{
|
||||
return this.FlipExistingBit(n);
|
||||
}
|
||||
}
|
||||
BigInteger bigInteger = BigInteger.One.ShiftLeft(n).Inc().Negate();
|
||||
return this.And(bigInteger);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600A235 RID: 41525 RVA: 0x0021F0F0 File Offset: 0x0021D2F0
|
||||
[Token(Token = "0x600A235")]
|
||||
[Address(RVA = "0x4518C0", Offset = "0x4508C0", VA = "0x1804518C0")]
|
||||
public BigInteger FlipBit(int n)
|
||||
{
|
||||
if (this.sign > 0)
|
||||
{
|
||||
int num = this.nBitLength;
|
||||
if (num == -1)
|
||||
{
|
||||
int num2 = this.sign;
|
||||
if (num2 == 0)
|
||||
{
|
||||
}
|
||||
int[] array = this.magnitude;
|
||||
int num3 = 0;
|
||||
int num4 = BigInteger.CalcBitLength(num2, num3, array);
|
||||
this.nBitLength = num4;
|
||||
}
|
||||
if (n < num)
|
||||
{
|
||||
return this.FlipExistingBit(n);
|
||||
}
|
||||
}
|
||||
BigInteger bigInteger = BigInteger.One.ShiftLeft(n);
|
||||
return this.Xor(bigInteger);
|
||||
}
|
||||
|
||||
// Token: 0x0600A236 RID: 41526 RVA: 0x0021F164 File Offset: 0x0021D364
|
||||
[Token(Token = "0x600A236")]
|
||||
[Address(RVA = "0x451A20", Offset = "0x450A20", VA = "0x180451A20")]
|
||||
private BigInteger FlipExistingBit(int n)
|
||||
{
|
||||
int[] array = this.magnitude;
|
||||
array -= n;
|
||||
int num = this.sign;
|
||||
BigInteger bigInteger;
|
||||
bigInteger.nBits = (int)((ulong)(-1L));
|
||||
bigInteger.sign = num;
|
||||
return bigInteger;
|
||||
}
|
||||
|
||||
// Token: 0x04006BDD RID: 27613
|
||||
[Token(Token = "0x4006BDD")]
|
||||
internal static readonly int[][] primeLists;
|
||||
|
||||
// Token: 0x04006BDE RID: 27614
|
||||
[Token(Token = "0x4006BDE")]
|
||||
internal static readonly int[] primeProducts;
|
||||
|
||||
// Token: 0x04006BDF RID: 27615
|
||||
[Token(Token = "0x4006BDF")]
|
||||
private const long IMASK = 4294967295L;
|
||||
|
||||
// Token: 0x04006BE0 RID: 27616
|
||||
[Token(Token = "0x4006BE0")]
|
||||
private const ulong UIMASK = 4294967295UL;
|
||||
|
||||
// Token: 0x04006BE1 RID: 27617
|
||||
[Token(Token = "0x4006BE1")]
|
||||
private static readonly int[] ZeroMagnitude;
|
||||
|
||||
// Token: 0x04006BE2 RID: 27618
|
||||
[Token(Token = "0x4006BE2")]
|
||||
private static readonly byte[] ZeroEncoding;
|
||||
|
||||
// Token: 0x04006BE3 RID: 27619
|
||||
[Token(Token = "0x4006BE3")]
|
||||
private static readonly BigInteger[] SMALL_CONSTANTS;
|
||||
|
||||
// Token: 0x04006BE4 RID: 27620
|
||||
[Token(Token = "0x4006BE4")]
|
||||
public static readonly BigInteger Zero;
|
||||
|
||||
// Token: 0x04006BE5 RID: 27621
|
||||
[Token(Token = "0x4006BE5")]
|
||||
public static readonly BigInteger One;
|
||||
|
||||
// Token: 0x04006BE6 RID: 27622
|
||||
[Token(Token = "0x4006BE6")]
|
||||
public static readonly BigInteger Two;
|
||||
|
||||
// Token: 0x04006BE7 RID: 27623
|
||||
[Token(Token = "0x4006BE7")]
|
||||
public static readonly BigInteger Three;
|
||||
|
||||
// Token: 0x04006BE8 RID: 27624
|
||||
[Token(Token = "0x4006BE8")]
|
||||
public static readonly BigInteger Ten;
|
||||
|
||||
// Token: 0x04006BE9 RID: 27625
|
||||
[Token(Token = "0x4006BE9")]
|
||||
private static readonly byte[] BitLengthTable;
|
||||
|
||||
// Token: 0x04006BEA RID: 27626
|
||||
[Token(Token = "0x4006BEA")]
|
||||
private const int chunk2 = 1;
|
||||
|
||||
// Token: 0x04006BEB RID: 27627
|
||||
[Token(Token = "0x4006BEB")]
|
||||
private const int chunk8 = 1;
|
||||
|
||||
// Token: 0x04006BEC RID: 27628
|
||||
[Token(Token = "0x4006BEC")]
|
||||
private const int chunk10 = 19;
|
||||
|
||||
// Token: 0x04006BED RID: 27629
|
||||
[Token(Token = "0x4006BED")]
|
||||
private const int chunk16 = 16;
|
||||
|
||||
// Token: 0x04006BEE RID: 27630
|
||||
[Token(Token = "0x4006BEE")]
|
||||
private static readonly BigInteger radix2;
|
||||
|
||||
// Token: 0x04006BEF RID: 27631
|
||||
[Token(Token = "0x4006BEF")]
|
||||
private static readonly BigInteger radix2E;
|
||||
|
||||
// Token: 0x04006BF0 RID: 27632
|
||||
[Token(Token = "0x4006BF0")]
|
||||
private static readonly BigInteger radix8;
|
||||
|
||||
// Token: 0x04006BF1 RID: 27633
|
||||
[Token(Token = "0x4006BF1")]
|
||||
private static readonly BigInteger radix8E;
|
||||
|
||||
// Token: 0x04006BF2 RID: 27634
|
||||
[Token(Token = "0x4006BF2")]
|
||||
private static readonly BigInteger radix10;
|
||||
|
||||
// Token: 0x04006BF3 RID: 27635
|
||||
[Token(Token = "0x4006BF3")]
|
||||
private static readonly BigInteger radix10E;
|
||||
|
||||
// Token: 0x04006BF4 RID: 27636
|
||||
[Token(Token = "0x4006BF4")]
|
||||
private static readonly BigInteger radix16;
|
||||
|
||||
// Token: 0x04006BF5 RID: 27637
|
||||
[Token(Token = "0x4006BF5")]
|
||||
private static readonly BigInteger radix16E;
|
||||
|
||||
// Token: 0x04006BF6 RID: 27638
|
||||
[Token(Token = "0x4006BF6")]
|
||||
private static readonly SecureRandom RandomSource;
|
||||
|
||||
// Token: 0x04006BF7 RID: 27639
|
||||
[Token(Token = "0x4006BF7")]
|
||||
private static readonly int[] ExpWindowThresholds;
|
||||
|
||||
// Token: 0x04006BF8 RID: 27640
|
||||
[Token(Token = "0x4006BF8")]
|
||||
private const int BitsPerByte = 8;
|
||||
|
||||
// Token: 0x04006BF9 RID: 27641
|
||||
[Token(Token = "0x4006BF9")]
|
||||
private const int BitsPerInt = 32;
|
||||
|
||||
// Token: 0x04006BFA RID: 27642
|
||||
[Token(Token = "0x4006BFA")]
|
||||
private const int BytesPerInt = 4;
|
||||
|
||||
// Token: 0x04006BFB RID: 27643
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006BFB")]
|
||||
private int[] magnitude;
|
||||
|
||||
// Token: 0x04006BFC RID: 27644
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006BFC")]
|
||||
private int sign;
|
||||
|
||||
// Token: 0x04006BFD RID: 27645
|
||||
[FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x4006BFD")]
|
||||
private int nBits;
|
||||
|
||||
// Token: 0x04006BFE RID: 27646
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006BFE")]
|
||||
private int nBitLength;
|
||||
|
||||
// Token: 0x04006BFF RID: 27647
|
||||
[FieldOffset(Offset = "0x24")]
|
||||
[Token(Token = "0x4006BFF")]
|
||||
private int mQuote;
|
||||
}
|
||||
}
|
||||
+392
@@ -0,0 +1,392 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Abc
|
||||
{
|
||||
// Token: 0x02001B9F RID: 7071
|
||||
[Token(Token = "0x2001B9F")]
|
||||
internal class SimpleBigDecimal
|
||||
{
|
||||
// Token: 0x0600ADD7 RID: 44503 RVA: 0x0025BC48 File Offset: 0x00259E48
|
||||
[Token(Token = "0x600ADD7")]
|
||||
[Address(RVA = "0x6F6BB0", Offset = "0x6F5BB0", VA = "0x1806F6BB0")]
|
||||
public static SimpleBigDecimal GetInstance(BigInteger val, int scale)
|
||||
{
|
||||
return new SimpleBigDecimal(val.ShiftLeft(scale), scale);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADD8 RID: 44504 RVA: 0x0025BC68 File Offset: 0x00259E68
|
||||
[Token(Token = "0x600ADD8")]
|
||||
[Address(RVA = "0x6F7500", Offset = "0x6F6500", VA = "0x1806F7500")]
|
||||
public SimpleBigDecimal(BigInteger bigInt, int scale)
|
||||
{
|
||||
this.bigInt = bigInt;
|
||||
this.scale = scale;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADD9 RID: 44505 RVA: 0x0025BC94 File Offset: 0x00259E94
|
||||
[Token(Token = "0x600ADD9")]
|
||||
[Address(RVA = "0x6F74C0", Offset = "0x6F64C0", VA = "0x1806F74C0")]
|
||||
private SimpleBigDecimal(SimpleBigDecimal limBigDec)
|
||||
{
|
||||
BigInteger bigInteger = limBigDec.bigInt;
|
||||
this.bigInt = bigInteger;
|
||||
int num = limBigDec.scale;
|
||||
this.scale = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADDA RID: 44506 RVA: 0x0025BCCC File Offset: 0x00259ECC
|
||||
[Token(Token = "0x600ADDA")]
|
||||
[Address(RVA = "0x6F6810", Offset = "0x6F5810", VA = "0x1806F6810")]
|
||||
private void CheckScale(SimpleBigDecimal b)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADDA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal::CheckScale(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_1_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Only SimpleBigDecimal of same scale allowed in arithmetic operations")))
|
||||
}
|
||||
|
||||
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: 0x0600ADDB RID: 44507 RVA: 0x0025BCF4 File Offset: 0x00259EF4
|
||||
[Token(Token = "0x600ADDB")]
|
||||
[Address(RVA = "0x6F6740", Offset = "0x6F5740", VA = "0x1806F6740")]
|
||||
public SimpleBigDecimal AdjustScale(int newScale)
|
||||
{
|
||||
int num = this.scale;
|
||||
if (newScale != num)
|
||||
{
|
||||
return new SimpleBigDecimal(this.bigInt.ShiftLeft(newScale), newScale);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADDC RID: 44508 RVA: 0x0025BD2C File Offset: 0x00259F2C
|
||||
[Token(Token = "0x600ADDC")]
|
||||
[Address(RVA = "0x6F6600", Offset = "0x6F5600", VA = "0x1806F6600")]
|
||||
public SimpleBigDecimal Add(SimpleBigDecimal b)
|
||||
{
|
||||
this.CheckScale(b);
|
||||
BigInteger bigInteger = this.bigInt;
|
||||
BigInteger bigInteger2 = b.bigInt;
|
||||
BigInteger bigInteger3 = bigInteger.Add(bigInteger2);
|
||||
int num = this.scale;
|
||||
return new SimpleBigDecimal(bigInteger3, num);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADDD RID: 44509 RVA: 0x0025BD6C File Offset: 0x00259F6C
|
||||
[Token(Token = "0x600ADDD")]
|
||||
[Address(RVA = "0x6F66A0", Offset = "0x6F56A0", VA = "0x1806F66A0")]
|
||||
public SimpleBigDecimal Add(BigInteger b)
|
||||
{
|
||||
BigInteger bigInteger = this.bigInt;
|
||||
int num = this.scale;
|
||||
BigInteger bigInteger2 = b.ShiftLeft(num);
|
||||
BigInteger bigInteger3 = bigInteger.Add(bigInteger2);
|
||||
int num2 = this.scale;
|
||||
return new SimpleBigDecimal(bigInteger3, num2);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADDE RID: 44510 RVA: 0x0025BDB0 File Offset: 0x00259FB0
|
||||
[Token(Token = "0x600ADDE")]
|
||||
[Address(RVA = "0x6F6D60", Offset = "0x6F5D60", VA = "0x1806F6D60")]
|
||||
public SimpleBigDecimal Negate()
|
||||
{
|
||||
BigInteger bigInteger = this.bigInt.Negate();
|
||||
int num = this.scale;
|
||||
return new SimpleBigDecimal(bigInteger, num);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADDF RID: 44511 RVA: 0x0025BDE0 File Offset: 0x00259FE0
|
||||
[Token(Token = "0x600ADDF")]
|
||||
[Address(RVA = "0x6F7090", Offset = "0x6F6090", VA = "0x1806F7090")]
|
||||
public SimpleBigDecimal Subtract(SimpleBigDecimal b)
|
||||
{
|
||||
BigInteger bigInteger = b.bigInt.Negate();
|
||||
int num = b.scale;
|
||||
SimpleBigDecimal simpleBigDecimal = new SimpleBigDecimal(bigInteger, num);
|
||||
this.CheckScale(simpleBigDecimal);
|
||||
BigInteger bigInteger2 = this.bigInt;
|
||||
BigInteger bigInteger3 = simpleBigDecimal.bigInt;
|
||||
BigInteger bigInteger4 = bigInteger2.Add(bigInteger3);
|
||||
int num2 = this.scale;
|
||||
return new SimpleBigDecimal(bigInteger4, num2);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE0 RID: 44512 RVA: 0x0025BE40 File Offset: 0x0025A040
|
||||
[Token(Token = "0x600ADE0")]
|
||||
[Address(RVA = "0x6F6FF0", Offset = "0x6F5FF0", VA = "0x1806F6FF0")]
|
||||
public SimpleBigDecimal Subtract(BigInteger b)
|
||||
{
|
||||
BigInteger bigInteger = this.bigInt;
|
||||
int num = this.scale;
|
||||
BigInteger bigInteger2 = b.ShiftLeft(num);
|
||||
BigInteger bigInteger3 = bigInteger.Subtract(bigInteger2);
|
||||
int num2 = this.scale;
|
||||
return new SimpleBigDecimal(bigInteger3, num2);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE1 RID: 44513 RVA: 0x0025BE84 File Offset: 0x0025A084
|
||||
[Token(Token = "0x600ADE1")]
|
||||
[Address(RVA = "0x6F6CC0", Offset = "0x6F5CC0", VA = "0x1806F6CC0")]
|
||||
public SimpleBigDecimal Multiply(SimpleBigDecimal b)
|
||||
{
|
||||
this.CheckScale(b);
|
||||
BigInteger bigInteger = this.bigInt;
|
||||
BigInteger bigInteger2 = b.bigInt;
|
||||
int num = 0;
|
||||
return new SimpleBigDecimal(bigInteger.Multiply(bigInteger2), num);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE2 RID: 44514 RVA: 0x0025BEBC File Offset: 0x0025A0BC
|
||||
[Token(Token = "0x600ADE2")]
|
||||
[Address(RVA = "0x6F6C30", Offset = "0x6F5C30", VA = "0x1806F6C30")]
|
||||
public SimpleBigDecimal Multiply(BigInteger b)
|
||||
{
|
||||
BigInteger bigInteger = this.bigInt.Multiply(b);
|
||||
int num = this.scale;
|
||||
return new SimpleBigDecimal(bigInteger, num);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE3 RID: 44515 RVA: 0x0025BEEC File Offset: 0x0025A0EC
|
||||
[Token(Token = "0x600ADE3")]
|
||||
[Address(RVA = "0x6F69B0", Offset = "0x6F59B0", VA = "0x1806F69B0")]
|
||||
public SimpleBigDecimal Divide(SimpleBigDecimal b)
|
||||
{
|
||||
this.CheckScale(b);
|
||||
BigInteger bigInteger = this.bigInt;
|
||||
int num = this.scale;
|
||||
BigInteger bigInteger2 = bigInteger.ShiftLeft(num);
|
||||
BigInteger bigInteger3 = b.bigInt;
|
||||
BigInteger bigInteger4 = bigInteger2.Divide(bigInteger3);
|
||||
int num2 = this.scale;
|
||||
return new SimpleBigDecimal(bigInteger4, num2);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE4 RID: 44516 RVA: 0x0025BF40 File Offset: 0x0025A140
|
||||
[Token(Token = "0x600ADE4")]
|
||||
[Address(RVA = "0x6F6920", Offset = "0x6F5920", VA = "0x1806F6920")]
|
||||
public SimpleBigDecimal Divide(BigInteger b)
|
||||
{
|
||||
BigInteger bigInteger = this.bigInt.Divide(b);
|
||||
int num = this.scale;
|
||||
return new SimpleBigDecimal(bigInteger, num);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE5 RID: 44517 RVA: 0x0025BF70 File Offset: 0x0025A170
|
||||
[Token(Token = "0x600ADE5")]
|
||||
[Address(RVA = "0x6F6F60", Offset = "0x6F5F60", VA = "0x1806F6F60")]
|
||||
public SimpleBigDecimal ShiftLeft(int n)
|
||||
{
|
||||
BigInteger bigInteger = this.bigInt.ShiftLeft(n);
|
||||
int num = this.scale;
|
||||
return new SimpleBigDecimal(bigInteger, num);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE6 RID: 44518 RVA: 0x0025BFA0 File Offset: 0x0025A1A0
|
||||
[Token(Token = "0x600ADE6")]
|
||||
[Address(RVA = "0x6F68D0", Offset = "0x6F58D0", VA = "0x1806F68D0")]
|
||||
public int CompareTo(SimpleBigDecimal val)
|
||||
{
|
||||
this.CheckScale(val);
|
||||
BigInteger bigInteger = this.bigInt;
|
||||
BigInteger bigInteger2 = val.bigInt;
|
||||
return bigInteger.CompareTo(bigInteger2);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE7 RID: 44519 RVA: 0x0025BFD0 File Offset: 0x0025A1D0
|
||||
[Token(Token = "0x600ADE7")]
|
||||
[Address(RVA = "0x6F6890", Offset = "0x6F5890", VA = "0x1806F6890")]
|
||||
public int CompareTo(BigInteger val)
|
||||
{
|
||||
BigInteger bigInteger = this.bigInt;
|
||||
int num = this.scale;
|
||||
BigInteger bigInteger2 = val.ShiftLeft(num);
|
||||
return bigInteger.CompareTo(bigInteger2);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE8 RID: 44520 RVA: 0x0025C000 File Offset: 0x0025A200
|
||||
[Token(Token = "0x600ADE8")]
|
||||
[Address(RVA = "0x6F6B40", Offset = "0x6F5B40", VA = "0x1806F6B40")]
|
||||
public BigInteger Floor()
|
||||
{
|
||||
BigInteger bigInteger = this.bigInt;
|
||||
int num = this.scale;
|
||||
return bigInteger.ShiftRight(num);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE9 RID: 44521 RVA: 0x0025C028 File Offset: 0x0025A228
|
||||
[Token(Token = "0x600ADE9")]
|
||||
[Address(RVA = "0x6F6DE0", Offset = "0x6F5DE0", VA = "0x1806F6DE0")]
|
||||
public BigInteger Round()
|
||||
{
|
||||
BigInteger one = BigInteger.One;
|
||||
SimpleBigDecimal simpleBigDecimal;
|
||||
simpleBigDecimal.bigInt = one;
|
||||
simpleBigDecimal.scale = (int)((ulong)1L);
|
||||
int num = this.scale;
|
||||
int num2 = simpleBigDecimal.scale;
|
||||
if (num != num2)
|
||||
{
|
||||
BigInteger bigInteger = simpleBigDecimal.bigInt;
|
||||
num -= num2;
|
||||
SimpleBigDecimal simpleBigDecimal2 = new SimpleBigDecimal(bigInteger.ShiftLeft(num), num);
|
||||
}
|
||||
SimpleBigDecimal simpleBigDecimal3 = this.Add(simpleBigDecimal);
|
||||
BigInteger bigInteger2 = simpleBigDecimal3.bigInt;
|
||||
int num3 = simpleBigDecimal3.scale;
|
||||
return bigInteger2.ShiftRight(num3);
|
||||
}
|
||||
|
||||
// Token: 0x17001BA9 RID: 7081
|
||||
// (get) Token: 0x0600ADEA RID: 44522 RVA: 0x0025C0AC File Offset: 0x0025A2AC
|
||||
[Token(Token = "0x17001BA9")]
|
||||
public int IntValue
|
||||
{
|
||||
[Token(Token = "0x600ADEA")]
|
||||
[Address(RVA = "0x6F7590", Offset = "0x6F6590", VA = "0x1806F7590")]
|
||||
get
|
||||
{
|
||||
BigInteger bigInteger = this.bigInt;
|
||||
int num = this.scale;
|
||||
return bigInteger.ShiftRight(num).IntValue;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BAA RID: 7082
|
||||
// (get) Token: 0x0600ADEB RID: 44523 RVA: 0x0025C0DC File Offset: 0x0025A2DC
|
||||
[Token(Token = "0x17001BAA")]
|
||||
public long LongValue
|
||||
{
|
||||
[Token(Token = "0x600ADEB")]
|
||||
[Address(RVA = "0x6F75D0", Offset = "0x6F65D0", VA = "0x1806F75D0")]
|
||||
get
|
||||
{
|
||||
BigInteger bigInteger = this.bigInt;
|
||||
int num = this.scale;
|
||||
return bigInteger.ShiftRight(num).LongValue;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BAB RID: 7083
|
||||
// (get) Token: 0x0600ADEC RID: 44524 RVA: 0x0025C10C File Offset: 0x0025A30C
|
||||
[Token(Token = "0x17001BAB")]
|
||||
public int Scale
|
||||
{
|
||||
[Token(Token = "0x600ADEC")]
|
||||
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540")]
|
||||
get
|
||||
{
|
||||
return this.scale;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADED RID: 44525 RVA: 0x0025C120 File Offset: 0x0025A320
|
||||
[Token(Token = "0x600ADED")]
|
||||
[Address(RVA = "0x6F7190", Offset = "0x6F6190", VA = "0x1806F7190", Slot = "3")]
|
||||
public override string ToString()
|
||||
{
|
||||
BigInteger bigInteger2;
|
||||
BigInteger bigInteger5;
|
||||
do
|
||||
{
|
||||
int num = this.scale;
|
||||
BigInteger bigInteger = this.bigInt;
|
||||
if (num == 0)
|
||||
{
|
||||
goto IL_111;
|
||||
}
|
||||
bigInteger2 = bigInteger.ShiftRight(num);
|
||||
BigInteger bigInteger3 = this.bigInt;
|
||||
int num2 = this.scale;
|
||||
BigInteger bigInteger4 = bigInteger2.ShiftLeft(num2);
|
||||
bigInteger5 = bigInteger3.Subtract(bigInteger4);
|
||||
if (this.bigInt.sign < 0)
|
||||
{
|
||||
BigInteger one = BigInteger.One;
|
||||
int num3 = this.scale;
|
||||
BigInteger bigInteger6 = one.ShiftLeft(num3).Subtract(bigInteger5);
|
||||
}
|
||||
}
|
||||
while (bigInteger2.sign != -1);
|
||||
BigInteger one2 = BigInteger.One;
|
||||
int hashCode = bigInteger2.Add(one2).GetHashCode();
|
||||
char[] array = new char[this.scale];
|
||||
string text = bigInteger5.ToString(2);
|
||||
int num4 = this.scale;
|
||||
int num5 = 0;
|
||||
int stringLength = text.m_stringLength;
|
||||
num4 -= stringLength;
|
||||
if (num4 > 0)
|
||||
{
|
||||
num5++;
|
||||
array[0] = '0';
|
||||
}
|
||||
if (stringLength > 0)
|
||||
{
|
||||
char c = text[num5];
|
||||
num5++;
|
||||
array[0] = c;
|
||||
}
|
||||
StringBuilder stringBuilder2;
|
||||
StringBuilder stringBuilder = stringBuilder2.Append(".");
|
||||
string text2;
|
||||
StringBuilder stringBuilder3 = stringBuilder2.Append(text2);
|
||||
IL_111:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADEE RID: 44526 RVA: 0x0025C244 File Offset: 0x0025A444
|
||||
[Token(Token = "0x600ADEE")]
|
||||
[Address(RVA = "0x6F6A60", Offset = "0x6F5A60", VA = "0x1806F6A60", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (this != obj)
|
||||
{
|
||||
if (obj != 0 && obj != 0)
|
||||
{
|
||||
BigInteger bigInteger = this.bigInt;
|
||||
bool flag;
|
||||
return flag;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADEF RID: 44527 RVA: 0x0025C274 File Offset: 0x0025A474
|
||||
[Token(Token = "0x600ADEF")]
|
||||
[Address(RVA = "0x6F6B70", Offset = "0x6F5B70", VA = "0x1806F6B70", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
this.bigInt.Finalize();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006E3E RID: 28222
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E3E")]
|
||||
private readonly BigInteger bigInt;
|
||||
|
||||
// Token: 0x04006E3F RID: 28223
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E3F")]
|
||||
private readonly int scale;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,638 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Abc
|
||||
{
|
||||
// Token: 0x02001BA0 RID: 7072
|
||||
[Token(Token = "0x2001BA0")]
|
||||
internal class Tnaf
|
||||
{
|
||||
// Token: 0x0600ADF0 RID: 44528 RVA: 0x0025C294 File Offset: 0x0025A494
|
||||
[Token(Token = "0x600ADF0")]
|
||||
[Address(RVA = "0x6F8DD0", Offset = "0x6F7DD0", VA = "0x1806F8DD0")]
|
||||
public static BigInteger Norm(sbyte mu, ZTauElement lambda)
|
||||
{
|
||||
BigInteger u = lambda.u;
|
||||
BigInteger bigInteger = u.Multiply(u);
|
||||
BigInteger u2 = lambda.u;
|
||||
BigInteger v = lambda.v;
|
||||
BigInteger bigInteger2 = u2.Multiply(v);
|
||||
BigInteger v2 = lambda.v;
|
||||
BigInteger bigInteger3 = v2.Multiply(v2).ShiftLeft(1);
|
||||
BigInteger bigInteger4 = bigInteger.Subtract(bigInteger2);
|
||||
return bigInteger.Add(bigInteger2).Add(bigInteger3);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADF1 RID: 44529 RVA: 0x0025C30C File Offset: 0x0025A50C
|
||||
[Token(Token = "0x600ADF1")]
|
||||
[Address(RVA = "0x6F8C50", Offset = "0x6F7C50", VA = "0x1806F8C50")]
|
||||
public static SimpleBigDecimal Norm(sbyte mu, SimpleBigDecimal u, SimpleBigDecimal v)
|
||||
{
|
||||
SimpleBigDecimal simpleBigDecimal = u.Multiply(u);
|
||||
SimpleBigDecimal simpleBigDecimal2 = u.Multiply(v);
|
||||
SimpleBigDecimal simpleBigDecimal3 = v.Multiply(v);
|
||||
BigInteger bigInteger = simpleBigDecimal3.bigInt.ShiftLeft(1);
|
||||
int scale = simpleBigDecimal3.scale;
|
||||
SimpleBigDecimal simpleBigDecimal4 = new SimpleBigDecimal(bigInteger, scale);
|
||||
SimpleBigDecimal simpleBigDecimal5 = simpleBigDecimal.Subtract(simpleBigDecimal2);
|
||||
return simpleBigDecimal.Add(simpleBigDecimal2).Add(simpleBigDecimal4);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADF2 RID: 44530 RVA: 0x0025C37C File Offset: 0x0025A57C
|
||||
[Token(Token = "0x600ADF2")]
|
||||
[Address(RVA = "0x6F92A0", Offset = "0x6F82A0", VA = "0x1806F92A0")]
|
||||
public static ZTauElement Round(SimpleBigDecimal lambda0, SimpleBigDecimal lambda1, sbyte mu)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADF2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Abc.ZTauElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Abc.Tnaf::Round(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal,System.SByte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1AF:
|
||||
stloc:ArgumentException(var_46_1B9, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("lambda0 and lambda1 do not have same scale")))
|
||||
}
|
||||
|
||||
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: 0x0600ADF3 RID: 44531 RVA: 0x0025C544 File Offset: 0x0025A744
|
||||
[Token(Token = "0x600ADF3")]
|
||||
[Address(RVA = "0x6F7610", Offset = "0x6F6610", VA = "0x1806F7610")]
|
||||
public static SimpleBigDecimal ApproximateDivisionByN(BigInteger k, BigInteger s, BigInteger vm, sbyte a, int m, int c)
|
||||
{
|
||||
BigInteger bigInteger2;
|
||||
BigInteger bigInteger = s.Multiply(bigInteger2);
|
||||
BigInteger bigInteger4;
|
||||
BigInteger bigInteger3 = vm.Multiply(bigInteger4);
|
||||
BigInteger bigInteger5 = bigInteger.Add(bigInteger3);
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
BigInteger one = BigInteger.One;
|
||||
BigInteger bigInteger7;
|
||||
BigInteger bigInteger6 = bigInteger7.Add(one);
|
||||
}
|
||||
SimpleBigDecimal simpleBigDecimal;
|
||||
return simpleBigDecimal;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADF4 RID: 44532 RVA: 0x0025C58C File Offset: 0x0025A78C
|
||||
[Token(Token = "0x600ADF4")]
|
||||
[Address(RVA = "0x6F97F0", Offset = "0x6F87F0", VA = "0x1806F97F0")]
|
||||
public static sbyte[] TauAdicNaf(sbyte mu, ZTauElement lambda)
|
||||
{
|
||||
sbyte b = mu + 1;
|
||||
int bitLength = Tnaf.Norm(mu, lambda).BitLength;
|
||||
sbyte[] array = new sbyte[34];
|
||||
int num = 0;
|
||||
BigInteger u = lambda.u;
|
||||
BigInteger v = lambda.v;
|
||||
int num2 = 0;
|
||||
if (!u.TestBit(num2))
|
||||
{
|
||||
}
|
||||
BigInteger two = BigInteger.Two;
|
||||
BigInteger bigInteger = v.ShiftLeft(1);
|
||||
BigInteger bigInteger2 = u.Subtract(bigInteger);
|
||||
BigInteger four = Tnaf.Four;
|
||||
BigInteger bigInteger3 = bigInteger2.Mod(four);
|
||||
if (two.Subtract(bigInteger3).IntValue != 1)
|
||||
{
|
||||
BigInteger one = BigInteger.One;
|
||||
BigInteger bigInteger4 = u.Add(one);
|
||||
}
|
||||
int num3 = 0;
|
||||
BigInteger bigInteger5 = u.ClearBit(num3);
|
||||
BigInteger bigInteger6 = bigInteger5.ShiftRight(1);
|
||||
BigInteger bigInteger7 = v.Subtract(bigInteger6);
|
||||
BigInteger bigInteger8 = v.Add(bigInteger6);
|
||||
BigInteger bigInteger9 = bigInteger5.ShiftRight(1).Negate();
|
||||
num++;
|
||||
num++;
|
||||
sbyte[] array2 = new sbyte[num];
|
||||
int num4 = 0;
|
||||
int num5 = 0;
|
||||
Array.Copy(array, num5, array2, num4, num);
|
||||
return array2;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADF5 RID: 44533 RVA: 0x0025C694 File Offset: 0x0025A894
|
||||
[Token(Token = "0x600ADF5")]
|
||||
[Address(RVA = "0x6FA090", Offset = "0x6F9090", VA = "0x1806FA090")]
|
||||
public static AbstractF2mPoint Tau(AbstractF2mPoint p)
|
||||
{
|
||||
bool flag = p.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADF6 RID: 44534 RVA: 0x0025C6B0 File Offset: 0x0025A8B0
|
||||
[Token(Token = "0x600ADF6")]
|
||||
[Address(RVA = "0x6F79C0", Offset = "0x6F69C0", VA = "0x1806F79C0")]
|
||||
public static sbyte GetMu(AbstractF2mCurve curve)
|
||||
{
|
||||
IFiniteField field = curve.Field;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADF7 RID: 44535 RVA: 0x0025C6D4 File Offset: 0x0025A8D4
|
||||
[Token(Token = "0x600ADF7")]
|
||||
[Address(RVA = "0x6F7AC0", Offset = "0x6F6AC0", VA = "0x1806F7AC0")]
|
||||
public static sbyte GetMu(ECFieldElement curveA)
|
||||
{
|
||||
bool isOne = curveA.IsOne;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADF8 RID: 44536 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600ADF8")]
|
||||
[Address(RVA = "0x6F7B00", Offset = "0x6F6B00", VA = "0x1806F7B00")]
|
||||
public static sbyte GetMu(int curveA)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600ADF9 RID: 44537 RVA: 0x0025C6F0 File Offset: 0x0025A8F0
|
||||
[Token(Token = "0x600ADF9")]
|
||||
[Address(RVA = "0x6F7790", Offset = "0x6F6790", VA = "0x1806F7790")]
|
||||
public static BigInteger[] GetLucas(sbyte mu, int k, bool doV)
|
||||
{
|
||||
sbyte b = mu + 1;
|
||||
if (!doV)
|
||||
{
|
||||
}
|
||||
BigInteger two = BigInteger.Two;
|
||||
BigInteger bigInteger2;
|
||||
BigInteger bigInteger4;
|
||||
if (k > 1)
|
||||
{
|
||||
BigInteger bigInteger = bigInteger2.Negate();
|
||||
BigInteger bigInteger3 = two.ShiftLeft(1);
|
||||
bigInteger4 = bigInteger2.Subtract(bigInteger3);
|
||||
}
|
||||
BigInteger[] array = new BigInteger[2];
|
||||
if (bigInteger2 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = bigInteger2;
|
||||
if (bigInteger4 != 0)
|
||||
{
|
||||
}
|
||||
array[1] = bigInteger4;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADFA RID: 44538 RVA: 0x0025C75C File Offset: 0x0025A95C
|
||||
[Token(Token = "0x600ADFA")]
|
||||
[Address(RVA = "0x6F8530", Offset = "0x6F7530", VA = "0x1806F8530")]
|
||||
public static BigInteger GetTw(sbyte mu, int w)
|
||||
{
|
||||
if (w != 4)
|
||||
{
|
||||
int num = 0;
|
||||
BigInteger[] lucas = Tnaf.GetLucas(mu, w, num != 0);
|
||||
BigInteger bigInteger = BigInteger.Zero.SetBit(w);
|
||||
BigInteger bigInteger2 = lucas[1].ModInverse(bigInteger);
|
||||
BigInteger two = BigInteger.Two;
|
||||
BigInteger bigInteger3 = lucas[0];
|
||||
return two.Multiply(bigInteger3).Multiply(bigInteger2).Mod(bigInteger);
|
||||
}
|
||||
BigInteger bigInteger4;
|
||||
return bigInteger4;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADFB RID: 44539 RVA: 0x0025C7C4 File Offset: 0x0025A9C4
|
||||
[Token(Token = "0x600ADFB")]
|
||||
[Address(RVA = "0x6F7DC0", Offset = "0x6F6DC0", VA = "0x1806F7DC0")]
|
||||
public static BigInteger[] GetSi(AbstractF2mCurve curve)
|
||||
{
|
||||
while (curve.GetSi() == 0)
|
||||
{
|
||||
}
|
||||
string text = curve.ToString();
|
||||
IFiniteField field = curve.Field;
|
||||
BigInteger order = curve.Order;
|
||||
int num = 0;
|
||||
int shiftsForCofactor = Tnaf.GetShiftsForCofactor(order);
|
||||
int num2;
|
||||
text -= num2;
|
||||
int num3 = 0;
|
||||
uint num4;
|
||||
BigInteger[] lucas = Tnaf.GetLucas((sbyte)num4, num, num3 != 0);
|
||||
if (num4 == (uint)1)
|
||||
{
|
||||
BigInteger bigInteger = lucas[0].Negate();
|
||||
if (bigInteger != 0)
|
||||
{
|
||||
}
|
||||
lucas[0] = bigInteger;
|
||||
BigInteger bigInteger2 = lucas[1].Negate();
|
||||
if (bigInteger2 != 0)
|
||||
{
|
||||
}
|
||||
lucas[1] = bigInteger2;
|
||||
}
|
||||
BigInteger one = BigInteger.One;
|
||||
BigInteger bigInteger3 = lucas[1];
|
||||
BigInteger bigInteger4 = one.Add(bigInteger3).ShiftRight(shiftsForCofactor);
|
||||
BigInteger one2 = BigInteger.One;
|
||||
BigInteger bigInteger5 = lucas[0];
|
||||
BigInteger bigInteger6 = one2.Add(bigInteger5).ShiftRight(shiftsForCofactor).Negate();
|
||||
BigInteger[] array = new BigInteger[2];
|
||||
if (bigInteger4 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = bigInteger4;
|
||||
if (bigInteger6 != 0)
|
||||
{
|
||||
}
|
||||
array[1] = bigInteger6;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADFC RID: 44540 RVA: 0x0025C8CC File Offset: 0x0025AACC
|
||||
[Token(Token = "0x600ADFC")]
|
||||
[Address(RVA = "0x6F81E0", Offset = "0x6F71E0", VA = "0x1806F81E0")]
|
||||
public static BigInteger[] GetSi(int fieldSize, int curveA, BigInteger cofactor)
|
||||
{
|
||||
int num = 0;
|
||||
int shiftsForCofactor = Tnaf.GetShiftsForCofactor(cofactor);
|
||||
int num2 = 0;
|
||||
uint num3;
|
||||
BigInteger[] lucas = Tnaf.GetLucas((sbyte)num3, num, num2 != 0);
|
||||
if (curveA != 0)
|
||||
{
|
||||
BigInteger bigInteger = lucas[0].Negate();
|
||||
if (bigInteger != 0)
|
||||
{
|
||||
}
|
||||
lucas[0] = bigInteger;
|
||||
BigInteger bigInteger2 = lucas[1].Negate();
|
||||
if (bigInteger2 != 0)
|
||||
{
|
||||
}
|
||||
lucas[1] = bigInteger2;
|
||||
}
|
||||
BigInteger one = BigInteger.One;
|
||||
BigInteger bigInteger3 = lucas[1];
|
||||
BigInteger bigInteger4 = one.Add(bigInteger3).ShiftRight(shiftsForCofactor);
|
||||
BigInteger one2 = BigInteger.One;
|
||||
BigInteger bigInteger5 = lucas[0];
|
||||
BigInteger bigInteger6 = one2.Add(bigInteger5).ShiftRight(shiftsForCofactor).Negate();
|
||||
BigInteger[] array = new BigInteger[2];
|
||||
if (bigInteger4 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = bigInteger4;
|
||||
if (bigInteger6 != 0)
|
||||
{
|
||||
}
|
||||
array[1] = bigInteger6;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADFD RID: 44541 RVA: 0x0025C9A8 File Offset: 0x0025ABA8
|
||||
[Token(Token = "0x600ADFD")]
|
||||
[Address(RVA = "0x6F7D20", Offset = "0x6F6D20", VA = "0x1806F7D20")]
|
||||
protected static int GetShiftsForCofactor(BigInteger h)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADFD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Abc.Tnaf::GetShiftsForCofactor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_20:
|
||||
stloc:ArgumentException(var_1_2A, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("h (Cofactor) must be 2 or 4")))
|
||||
}
|
||||
|
||||
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: 0x0600ADFE RID: 44542 RVA: 0x0025C9E0 File Offset: 0x0025ABE0
|
||||
[Token(Token = "0x600ADFE")]
|
||||
[Address(RVA = "0x6F8F10", Offset = "0x6F7F10", VA = "0x1806F8F10")]
|
||||
public static ZTauElement PartModReduction(BigInteger k, int m, sbyte a, BigInteger[] s, sbyte mu, sbyte c)
|
||||
{
|
||||
int length = s.Length;
|
||||
BigInteger bigInteger = s[0];
|
||||
BigInteger bigInteger2 = s[1];
|
||||
BigInteger bigInteger3 = bigInteger.Subtract(bigInteger2);
|
||||
BigInteger bigInteger4 = s[0];
|
||||
BigInteger bigInteger5 = s[1];
|
||||
BigInteger bigInteger6 = bigInteger4.Add(bigInteger5);
|
||||
ZTauElement ztauElement;
|
||||
BigInteger u = ztauElement.u;
|
||||
BigInteger bigInteger7 = bigInteger6.Multiply(u);
|
||||
BigInteger bigInteger8 = k.Subtract(bigInteger7);
|
||||
BigInteger bigInteger9 = s[1];
|
||||
BigInteger bigInteger11;
|
||||
BigInteger bigInteger10 = bigInteger11.Multiply(bigInteger9);
|
||||
BigInteger v = ztauElement.v;
|
||||
BigInteger bigInteger12 = bigInteger10.Multiply(v);
|
||||
BigInteger bigInteger13 = bigInteger8.Subtract(bigInteger12);
|
||||
BigInteger bigInteger14 = s[1];
|
||||
BigInteger u2 = ztauElement.u;
|
||||
BigInteger bigInteger15 = bigInteger14.Multiply(u2);
|
||||
BigInteger bigInteger16 = s[0];
|
||||
BigInteger v2 = ztauElement.v;
|
||||
BigInteger bigInteger17 = bigInteger16.Multiply(v2);
|
||||
BigInteger bigInteger18 = bigInteger15.Subtract(bigInteger17);
|
||||
ZTauElement ztauElement2;
|
||||
ztauElement2.u = bigInteger13;
|
||||
ztauElement2.v = bigInteger18;
|
||||
return ztauElement2;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADFF RID: 44543 RVA: 0x0025CADC File Offset: 0x0025ACDC
|
||||
[Token(Token = "0x600ADFF")]
|
||||
[Address(RVA = "0x6F8940", Offset = "0x6F7940", VA = "0x1806F8940")]
|
||||
public static AbstractF2mPoint MultiplyRTnaf(AbstractF2mPoint p, BigInteger k)
|
||||
{
|
||||
bool flag;
|
||||
do
|
||||
{
|
||||
flag = p.SatisfiesOrder();
|
||||
}
|
||||
while (!flag);
|
||||
string text = flag.ToString();
|
||||
bool flag2;
|
||||
flag = flag2;
|
||||
string text2 = flag.ToString();
|
||||
ZTauElement ztauElement;
|
||||
return Tnaf.MultiplyTnaf(p, ztauElement);
|
||||
}
|
||||
|
||||
// Token: 0x0600AE00 RID: 44544 RVA: 0x0025CB18 File Offset: 0x0025AD18
|
||||
[Token(Token = "0x600AE00")]
|
||||
[Address(RVA = "0x6F8AE0", Offset = "0x6F7AE0", VA = "0x1806F8AE0")]
|
||||
public static AbstractF2mPoint MultiplyTnaf(AbstractF2mPoint p, ZTauElement lambda)
|
||||
{
|
||||
bool flag;
|
||||
do
|
||||
{
|
||||
flag = p.SatisfiesOrder();
|
||||
}
|
||||
while (!flag || !flag);
|
||||
sbyte[] array;
|
||||
return Tnaf.MultiplyFromTnaf(p, array);
|
||||
}
|
||||
|
||||
// Token: 0x0600AE01 RID: 44545 RVA: 0x0025CB48 File Offset: 0x0025AD48
|
||||
[Token(Token = "0x600AE01")]
|
||||
[Address(RVA = "0x6F8710", Offset = "0x6F7710", VA = "0x1806F8710")]
|
||||
public static AbstractF2mPoint MultiplyFromTnaf(AbstractF2mPoint p, sbyte[] u)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
bool flag = p.SatisfiesOrder();
|
||||
object obj;
|
||||
if (obj == 0)
|
||||
{
|
||||
}
|
||||
if (obj != 0)
|
||||
{
|
||||
ECPoint ecpoint;
|
||||
if (ecpoint == 0)
|
||||
{
|
||||
}
|
||||
if (ecpoint != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
int num = 0;
|
||||
int length = u.Length;
|
||||
num++;
|
||||
if (0 > 0)
|
||||
{
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AE02 RID: 44546 RVA: 0x0025CB8C File Offset: 0x0025AD8C
|
||||
[Token(Token = "0x600AE02")]
|
||||
[Address(RVA = "0x6F9C10", Offset = "0x6F8C10", VA = "0x1806F9C10")]
|
||||
public static sbyte[] TauAdicWNaf(sbyte mu, ZTauElement lambda, sbyte width, BigInteger pow2w, BigInteger tw, ZTauElement[] alpha)
|
||||
{
|
||||
sbyte b = mu + 1;
|
||||
BigInteger bigInteger = Tnaf.Norm(mu, lambda);
|
||||
int num = 0;
|
||||
int bitLength = bigInteger.BitLength;
|
||||
if (bitLength > 30)
|
||||
{
|
||||
num += 4;
|
||||
num += bitLength;
|
||||
}
|
||||
num += 34;
|
||||
sbyte[] array = new sbyte[num];
|
||||
BigInteger bigInteger2 = pow2w.ShiftRight(1);
|
||||
BigInteger u = lambda.u;
|
||||
int num2 = 0;
|
||||
BigInteger v = lambda.v;
|
||||
int num3 = 0;
|
||||
if (!u.TestBit(num3))
|
||||
{
|
||||
}
|
||||
BigInteger bigInteger4;
|
||||
BigInteger bigInteger3 = u.Add(bigInteger4).Mod(pow2w);
|
||||
int num4 = bigInteger3.CompareTo(bigInteger2);
|
||||
int intValue = bigInteger3.IntValue;
|
||||
int num5 = 0;
|
||||
BigInteger bigInteger5;
|
||||
int intValue2 = bigInteger5.IntValue;
|
||||
BigInteger bigInteger6 = u.Add(num5);
|
||||
BigInteger bigInteger7 = v.Add(num5);
|
||||
BigInteger bigInteger8 = bigInteger6.Subtract(num5);
|
||||
BigInteger bigInteger9 = v.Subtract(num5);
|
||||
BigInteger bigInteger10 = bigInteger8.ShiftRight(1);
|
||||
BigInteger bigInteger11 = bigInteger9.Subtract(bigInteger10);
|
||||
BigInteger bigInteger12 = bigInteger9.Add(bigInteger11);
|
||||
BigInteger bigInteger13 = bigInteger8.ShiftRight(1).Negate();
|
||||
num2++;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE03 RID: 44547 RVA: 0x0025CC94 File Offset: 0x0025AE94
|
||||
[Token(Token = "0x600AE03")]
|
||||
[Address(RVA = "0x6F7B20", Offset = "0x6F6B20", VA = "0x1806F7B20")]
|
||||
public static AbstractF2mPoint[] GetPreComp(AbstractF2mPoint p, sbyte a)
|
||||
{
|
||||
sbyte[][] alpha1Tnaf = Tnaf.Alpha1Tnaf;
|
||||
int num = alpha1Tnaf.Length;
|
||||
num++;
|
||||
AbstractF2mPoint[] array = new AbstractF2mPoint[num];
|
||||
if (p != 0)
|
||||
{
|
||||
}
|
||||
array[0] = p;
|
||||
uint num2;
|
||||
if (alpha1Tnaf.Length > (int)num2)
|
||||
{
|
||||
sbyte[] array2 = alpha1Tnaf[(int)num2];
|
||||
AbstractF2mPoint abstractF2mPoint = Tnaf.MultiplyFromTnaf(p, array2);
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
bool flag = p.SatisfiesOrder();
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE04 RID: 44548 RVA: 0x0025CD04 File Offset: 0x0025AF04
|
||||
[Token(Token = "0x600AE04")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public Tnaf()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AE05 RID: 44549 RVA: 0x0025CD18 File Offset: 0x0025AF18
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600AE05")]
|
||||
[Address(RVA = "0x6FA0C0", Offset = "0x6F90C0", VA = "0x1806FA0C0")]
|
||||
static Tnaf()
|
||||
{
|
||||
BigInteger bigInteger;
|
||||
Tnaf.Four = bigInteger;
|
||||
ZTauElement[] array = new ZTauElement[9];
|
||||
BigInteger one = BigInteger.One;
|
||||
BigInteger zero = BigInteger.Zero;
|
||||
ZTauElement ztauElement;
|
||||
ztauElement.u = one;
|
||||
ztauElement.v = zero;
|
||||
array[1] = ztauElement;
|
||||
BigInteger minusThree = Tnaf.MinusThree;
|
||||
BigInteger minusOne = Tnaf.MinusOne;
|
||||
ZTauElement ztauElement2;
|
||||
ztauElement2.u = minusThree;
|
||||
ztauElement2.v = minusOne;
|
||||
array[3] = ztauElement2;
|
||||
BigInteger minusOne2 = Tnaf.MinusOne;
|
||||
ZTauElement ztauElement3;
|
||||
ztauElement3.u = minusOne2;
|
||||
ztauElement3.v = minusOne2;
|
||||
array[5] = ztauElement3;
|
||||
BigInteger one2 = BigInteger.One;
|
||||
BigInteger minusOne3 = Tnaf.MinusOne;
|
||||
ZTauElement ztauElement4;
|
||||
ztauElement4.u = one2;
|
||||
ztauElement4.v = minusOne3;
|
||||
array[7] = ztauElement4;
|
||||
Tnaf.Alpha0 = array;
|
||||
sbyte[][] array2 = new sbyte[8][];
|
||||
array2[1] = new sbyte[] { (sbyte)((ulong)1L) };
|
||||
sbyte[] array3 = new sbyte[3];
|
||||
array3[0] = (sbyte)((ulong)255L);
|
||||
array3[0] = (sbyte)((ulong)1L);
|
||||
array2[3] = array3;
|
||||
sbyte[] array4 = new sbyte[3];
|
||||
array4[0] = (sbyte)((ulong)1L);
|
||||
array4[0] = (sbyte)((ulong)1L);
|
||||
array2[5] = array4;
|
||||
sbyte[] array5 = new sbyte[4];
|
||||
array5[0] = (sbyte)((ulong)255L);
|
||||
array5[0] = (sbyte)((ulong)1L);
|
||||
array2[7] = array5;
|
||||
Tnaf.Alpha0Tnaf = array2;
|
||||
ZTauElement[] array6 = new ZTauElement[9];
|
||||
BigInteger one3 = BigInteger.One;
|
||||
BigInteger zero2 = BigInteger.Zero;
|
||||
ZTauElement ztauElement5;
|
||||
ztauElement5.u = one3;
|
||||
ztauElement5.v = zero2;
|
||||
array6[1] = ztauElement5;
|
||||
BigInteger minusThree2 = Tnaf.MinusThree;
|
||||
BigInteger one4 = BigInteger.One;
|
||||
ZTauElement ztauElement6;
|
||||
ztauElement6.u = minusThree2;
|
||||
ztauElement6.v = one4;
|
||||
array6[3] = ztauElement6;
|
||||
BigInteger minusOne4 = Tnaf.MinusOne;
|
||||
BigInteger one5 = BigInteger.One;
|
||||
ZTauElement ztauElement7;
|
||||
ztauElement7.u = minusOne4;
|
||||
ztauElement7.v = one5;
|
||||
array6[5] = ztauElement7;
|
||||
BigInteger one6 = BigInteger.One;
|
||||
ZTauElement ztauElement8;
|
||||
ztauElement8.u = one6;
|
||||
ztauElement8.v = one6;
|
||||
array6[7] = ztauElement8;
|
||||
Tnaf.Alpha1 = array6;
|
||||
sbyte[][] array7 = new sbyte[8][];
|
||||
array7[1] = new sbyte[] { (sbyte)((ulong)1L) };
|
||||
sbyte[] array8 = new sbyte[3];
|
||||
array8[0] = (sbyte)((ulong)255L);
|
||||
array8[0] = (sbyte)((ulong)1L);
|
||||
array7[3] = array8;
|
||||
sbyte[] array9 = new sbyte[3];
|
||||
array9[0] = (sbyte)((ulong)1L);
|
||||
array9[0] = (sbyte)((ulong)1L);
|
||||
array7[5] = array9;
|
||||
sbyte[] array10 = new sbyte[4];
|
||||
array10[0] = (sbyte)((ulong)255L);
|
||||
array10[0] = (sbyte)((ulong)255L);
|
||||
array7[7] = array10;
|
||||
Tnaf.Alpha1Tnaf = array7;
|
||||
}
|
||||
|
||||
// Token: 0x04006E40 RID: 28224
|
||||
[Token(Token = "0x4006E40")]
|
||||
private static readonly BigInteger MinusOne = BigInteger.One.Negate();
|
||||
|
||||
// Token: 0x04006E41 RID: 28225
|
||||
[Token(Token = "0x4006E41")]
|
||||
private static readonly BigInteger MinusTwo = BigInteger.Two.Negate();
|
||||
|
||||
// Token: 0x04006E42 RID: 28226
|
||||
[Token(Token = "0x4006E42")]
|
||||
private static readonly BigInteger MinusThree = BigInteger.Three.Negate();
|
||||
|
||||
// Token: 0x04006E43 RID: 28227
|
||||
[Token(Token = "0x4006E43")]
|
||||
private static readonly BigInteger Four;
|
||||
|
||||
// Token: 0x04006E44 RID: 28228
|
||||
[Token(Token = "0x4006E44")]
|
||||
public const sbyte Width = 4;
|
||||
|
||||
// Token: 0x04006E45 RID: 28229
|
||||
[Token(Token = "0x4006E45")]
|
||||
public const sbyte Pow2Width = 16;
|
||||
|
||||
// Token: 0x04006E46 RID: 28230
|
||||
[Token(Token = "0x4006E46")]
|
||||
public static readonly ZTauElement[] Alpha0;
|
||||
|
||||
// Token: 0x04006E47 RID: 28231
|
||||
[Token(Token = "0x4006E47")]
|
||||
public static readonly sbyte[][] Alpha0Tnaf;
|
||||
|
||||
// Token: 0x04006E48 RID: 28232
|
||||
[Token(Token = "0x4006E48")]
|
||||
public static readonly ZTauElement[] Alpha1;
|
||||
|
||||
// Token: 0x04006E49 RID: 28233
|
||||
[Token(Token = "0x4006E49")]
|
||||
public static readonly sbyte[][] Alpha1Tnaf;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Abc
|
||||
{
|
||||
// Token: 0x02001BA1 RID: 7073
|
||||
[Token(Token = "0x2001BA1")]
|
||||
internal class ZTauElement
|
||||
{
|
||||
// Token: 0x0600AE06 RID: 44550 RVA: 0x0025D014 File Offset: 0x0025B214
|
||||
[Token(Token = "0x600AE06")]
|
||||
[Address(RVA = "0x417DD0", Offset = "0x416DD0", VA = "0x180417DD0")]
|
||||
public ZTauElement(BigInteger u, BigInteger v)
|
||||
{
|
||||
this.u = u;
|
||||
this.v = v;
|
||||
}
|
||||
|
||||
// Token: 0x04006E4A RID: 28234
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E4A")]
|
||||
public readonly BigInteger u;
|
||||
|
||||
// Token: 0x04006E4B RID: 28235
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E4B")]
|
||||
public readonly BigInteger v;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,200 @@
|
||||
using System;
|
||||
using System.Threading;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Abc;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
|
||||
{
|
||||
// Token: 0x02001AD3 RID: 6867
|
||||
[Token(Token = "0x2001AD3")]
|
||||
public abstract class AbstractF2mCurve : ECCurve
|
||||
{
|
||||
// Token: 0x0600A439 RID: 42041 RVA: 0x0022D994 File Offset: 0x0022BB94
|
||||
[Token(Token = "0x600A439")]
|
||||
[Address(RVA = "0x6E32A0", Offset = "0x6E22A0", VA = "0x1806E32A0")]
|
||||
public static BigInteger Inverse(int m, int[] ks, BigInteger x)
|
||||
{
|
||||
return new LongArray(x).ModInverse(m, ks).ToBigInteger();
|
||||
}
|
||||
|
||||
// Token: 0x0600A43A RID: 42042 RVA: 0x0022D9BC File Offset: 0x0022BBBC
|
||||
[Token(Token = "0x600A43A")]
|
||||
[Address(RVA = "0x6E2B40", Offset = "0x6E1B40", VA = "0x1806E2B40")]
|
||||
private static IFiniteField BuildField(int m, int k1, int k2, int k3)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A43A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field.IFiniteField BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractF2mCurve::BuildField(System.Int32,System.Int32,System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_59:
|
||||
stloc:ArgumentException(var_3_63, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("k1 must be > 0")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600A43B RID: 42043 RVA: 0x0022DA2C File Offset: 0x0022BC2C
|
||||
[Token(Token = "0x600A43B")]
|
||||
[Address(RVA = "0x6E3630", Offset = "0x6E2630", VA = "0x1806E3630")]
|
||||
protected AbstractF2mCurve(int m, int k1, int k2, int k3)
|
||||
{
|
||||
IFiniteField finiteField;
|
||||
base..ctor(finiteField);
|
||||
}
|
||||
|
||||
// Token: 0x0600A43C RID: 42044 RVA: 0x0022DA40 File Offset: 0x0022BC40
|
||||
[Token(Token = "0x600A43C")]
|
||||
[Address(RVA = "0x6E3340", Offset = "0x6E2340", VA = "0x1806E3340", Slot = "6")]
|
||||
public override bool IsValidFieldElement(BigInteger x)
|
||||
{
|
||||
if (x != 0)
|
||||
{
|
||||
int bitLength = x.BitLength;
|
||||
string text = this.ToString();
|
||||
return bitLength <= text;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A43D RID: 42045 RVA: 0x0022DA68 File Offset: 0x0022BC68
|
||||
[Token(Token = "0x600A43D")]
|
||||
[Address(RVA = "0x6E2DA0", Offset = "0x6E1DA0", VA = "0x1806E2DA0", Slot = "11")]
|
||||
[Obsolete]
|
||||
public override ECPoint CreatePoint(BigInteger x, BigInteger y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A43D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractF2mCurve::CreatePoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,System.Boolean)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_3F:
|
||||
stloc:ArgumentException(var_6_44, newobj:ArgumentException(ArgumentException::.ctor))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600A43E RID: 42046 RVA: 0x0022DABC File Offset: 0x0022BCBC
|
||||
[Token(Token = "0x600A43E")]
|
||||
[Address(RVA = "0x6E2F50", Offset = "0x6E1F50", VA = "0x1806E2F50", Slot = "34")]
|
||||
protected override ECPoint DecompressPoint(int yTilde, BigInteger X1)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A43E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractF2mCurve::DecompressPoint(System.Int32,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5E:
|
||||
stloc:ArgumentException(var_13_68, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Invalid point compression")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600A43F RID: 42047 RVA: 0x0022DB34 File Offset: 0x0022BD34
|
||||
[Token(Token = "0x600A43F")]
|
||||
[Address(RVA = "0x6E33A0", Offset = "0x6E23A0", VA = "0x1806E33A0")]
|
||||
internal ECFieldElement SolveQuadraticEquation(ECFieldElement beta)
|
||||
{
|
||||
while (!beta.IsOne)
|
||||
{
|
||||
int fieldSize = this.FieldSize;
|
||||
string text = this.ToString();
|
||||
int fieldSize2 = this.FieldSize;
|
||||
if (text > (uint)1)
|
||||
{
|
||||
ECFieldElement ecfieldElement = beta.Negate();
|
||||
ushort num;
|
||||
TypeCode typeCode = num.GetTypeCode();
|
||||
ushort num2;
|
||||
if (ecfieldElement.FieldSize == 0 || num2.GetTypeCode() == TypeCode.Empty)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A440 RID: 42048 RVA: 0x0022DB90 File Offset: 0x0022BD90
|
||||
[Token(Token = "0x600A440")]
|
||||
[Address(RVA = "0x6E31C0", Offset = "0x6E21C0", VA = "0x1806E31C0", Slot = "38")]
|
||||
internal virtual BigInteger[] GetSi()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (this.si != num)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (this.si == num)
|
||||
{
|
||||
BigInteger[] array = Tnaf.GetSi(this);
|
||||
this.si = array;
|
||||
}
|
||||
Monitor.Exit(this);
|
||||
}
|
||||
while (num != 0);
|
||||
return this.si;
|
||||
}
|
||||
|
||||
// Token: 0x170019E8 RID: 6632
|
||||
// (get) Token: 0x0600A441 RID: 42049 RVA: 0x0022DBD0 File Offset: 0x0022BDD0
|
||||
[Token(Token = "0x170019E8")]
|
||||
public virtual bool IsKoblitz
|
||||
{
|
||||
[Token(Token = "0x600A441")]
|
||||
[Address(RVA = "0x6E3680", Offset = "0x6E2680", VA = "0x1806E3680", Slot = "39")]
|
||||
get
|
||||
{
|
||||
if (this.m_b.BitLength != 0)
|
||||
{
|
||||
if (this.m_a.IsOne)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
BigInteger bigInteger = this.m_a.ToBigInteger();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006C34 RID: 27700
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006C34")]
|
||||
private BigInteger[] si;
|
||||
}
|
||||
}
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
|
||||
{
|
||||
// Token: 0x02001AD9 RID: 6873
|
||||
[Token(Token = "0x2001AD9")]
|
||||
public abstract class AbstractF2mFieldElement : ECFieldElement
|
||||
{
|
||||
// Token: 0x0600A495 RID: 42133 RVA: 0x0022F030 File Offset: 0x0022D230
|
||||
[Token(Token = "0x600A495")]
|
||||
[Address(RVA = "0x6E3710", Offset = "0x6E2710", VA = "0x1806E3710", Slot = "27")]
|
||||
public virtual ECFieldElement HalfTrace()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A495)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractF2mFieldElement::HalfTrace()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1D:
|
||||
stloc:InvalidOperationException(var_4_27, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Half-trace only defined for odd m")))
|
||||
}
|
||||
|
||||
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: 0x0600A496 RID: 42134 RVA: 0x0022F068 File Offset: 0x0022D268
|
||||
[Token(Token = "0x600A496")]
|
||||
[Address(RVA = "0x6E3800", Offset = "0x6E2800", VA = "0x1806E3800", Slot = "28")]
|
||||
public virtual int Trace()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A496)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractF2mFieldElement::Trace()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_26:
|
||||
stloc:InvalidOperationException(var_4_30, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Internal error in trace calculation")))
|
||||
}
|
||||
|
||||
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: 0x0600A497 RID: 42135 RVA: 0x0022F0A8 File Offset: 0x0022D2A8
|
||||
[Token(Token = "0x600A497")]
|
||||
[Address(RVA = "0x42BA20", Offset = "0x42AA20", VA = "0x18042BA20")]
|
||||
protected AbstractF2mFieldElement()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
|
||||
{
|
||||
// Token: 0x02001AE1 RID: 6881
|
||||
[Token(Token = "0x2001AE1")]
|
||||
public abstract class AbstractF2mPoint : ECPointBase
|
||||
{
|
||||
// Token: 0x0600A507 RID: 42247 RVA: 0x00230EF8 File Offset: 0x0022F0F8
|
||||
[Token(Token = "0x600A507")]
|
||||
[Address(RVA = "0x6E4CB0", Offset = "0x6E3CB0", VA = "0x1806E4CB0")]
|
||||
protected AbstractF2mPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A508 RID: 42248 RVA: 0x00230F08 File Offset: 0x0022F108
|
||||
[Token(Token = "0x600A508")]
|
||||
[Address(RVA = "0x6E4C90", Offset = "0x6E3C90", VA = "0x1806E4C90")]
|
||||
protected AbstractF2mPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A509 RID: 42249 RVA: 0x00230F18 File Offset: 0x0022F118
|
||||
[Token(Token = "0x600A509")]
|
||||
[Address(RVA = "0x6E3920", Offset = "0x6E2920", VA = "0x1806E3920", Slot = "4")]
|
||||
protected override bool SatisfiesCurveEquation()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A509)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractF2mPoint::SatisfiesCurveEquation()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_105:
|
||||
stloc:InvalidOperationException(var_30_10F, 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.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.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.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: 0x0600A50A RID: 42250 RVA: 0x00231038 File Offset: 0x0022F238
|
||||
[Token(Token = "0x600A50A")]
|
||||
[Address(RVA = "0x6E3E50", Offset = "0x6E2E50", VA = "0x1806E3E50", Slot = "5")]
|
||||
protected override bool SatisfiesOrder()
|
||||
{
|
||||
bool flag;
|
||||
for (;;)
|
||||
{
|
||||
flag = this.SatisfiesOrder();
|
||||
BigInteger two = BigInteger.Two;
|
||||
BigInteger bigInteger;
|
||||
if (bigInteger == 0)
|
||||
{
|
||||
bool flag2 = base.SatisfiesOrder();
|
||||
}
|
||||
bool flag3 = this.IsNormalized();
|
||||
sbyte b;
|
||||
TypeCode typeCode = b.GetTypeCode();
|
||||
if (flag && flag)
|
||||
{
|
||||
ECFieldElement ecfieldElement;
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
bool flag4 = this.IsNormalized();
|
||||
sbyte b2;
|
||||
TypeCode typeCode2 = b2.GetTypeCode();
|
||||
if (0 != 0)
|
||||
{
|
||||
}
|
||||
if (typeCode2 != TypeCode.Empty && typeCode2 != TypeCode.Empty)
|
||||
{
|
||||
goto Block_5;
|
||||
}
|
||||
}
|
||||
}
|
||||
sbyte b3;
|
||||
TypeCode typeCode3 = b3.GetTypeCode();
|
||||
byte b4;
|
||||
bool flag5 = flag.Equals(b4 != 0);
|
||||
TypeCode typeCode4 = typeCode3.GetTypeCode();
|
||||
if (typeCode4 == TypeCode.Empty)
|
||||
{
|
||||
}
|
||||
TypeCode typeCode5 = typeCode4.GetTypeCode();
|
||||
return typeCode5 == TypeCode.Empty;
|
||||
Block_5:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A50B RID: 42251 RVA: 0x002310EC File Offset: 0x0022F2EC
|
||||
[Token(Token = "0x600A50B")]
|
||||
[Address(RVA = "0x6E42C0", Offset = "0x6E32C0", VA = "0x1806E42C0", Slot = "20")]
|
||||
public override ECPoint ScaleX(ECFieldElement scale)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
ECPoint ecpoint = this.Detach();
|
||||
if (ecpoint == (ulong)5L)
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = x.Subtract(scale);
|
||||
int fieldSize = y.FieldSize;
|
||||
byte b;
|
||||
TypeCode typeCode = b.GetTypeCode();
|
||||
bool flag = this.SatisfiesOrder();
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
ECFieldElement[] array;
|
||||
if (ecpoint == (ulong)6L)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement x2 = this.m_x;
|
||||
ECFieldElement y2 = this.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs[0];
|
||||
ECFieldElement ecfieldElement3 = scale.Negate();
|
||||
ECFieldElement ecfieldElement4 = x2.Subtract(ecfieldElement3);
|
||||
TypeCode typeCode2 = y2.FieldSize.GetTypeCode();
|
||||
ECFieldElement ecfieldElement5 = ecfieldElement2.Subtract(scale);
|
||||
bool flag2 = this.SatisfiesOrder();
|
||||
array = new ECFieldElement[1];
|
||||
if (ecfieldElement5 != 0)
|
||||
{
|
||||
}
|
||||
array[0] = ecfieldElement5;
|
||||
bool withCompression2 = this.m_withCompression;
|
||||
}
|
||||
ECPoint ecpoint2 = base.ScaleX(array);
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A50C RID: 42252 RVA: 0x002311D8 File Offset: 0x0022F3D8
|
||||
[Token(Token = "0x600A50C")]
|
||||
[Address(RVA = "0x6E45D0", Offset = "0x6E35D0", VA = "0x1806E45D0", Slot = "21")]
|
||||
public override ECPoint ScaleY(ECFieldElement scale)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (this.Detach() > (ulong)1L)
|
||||
{
|
||||
return base.ScaleY(scale);
|
||||
}
|
||||
int fieldSize = this.m_y.FieldSize;
|
||||
sbyte b;
|
||||
TypeCode typeCode = b.GetTypeCode();
|
||||
bool flag = this.SatisfiesOrder();
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A50D RID: 42253 RVA: 0x00231228 File Offset: 0x0022F428
|
||||
[Token(Token = "0x600A50D")]
|
||||
[Address(RVA = "0x6E4700", Offset = "0x6E3700", VA = "0x1806E4700", Slot = "27")]
|
||||
public override ECPoint Subtract(ECPoint b)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
bool flag = base.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A50E RID: 42254 RVA: 0x0023124C File Offset: 0x0022F44C
|
||||
[Token(Token = "0x600A50E")]
|
||||
[Address(RVA = "0x6E4A00", Offset = "0x6E3A00", VA = "0x1806E4A00", Slot = "34")]
|
||||
public virtual AbstractF2mPoint Tau()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A50E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractF2mPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractF2mPoint::Tau()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_85:
|
||||
stloc:InvalidOperationException(var_15_8F, 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.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.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: 0x0600A50F RID: 42255 RVA: 0x002312EC File Offset: 0x0022F4EC
|
||||
[Token(Token = "0x600A50F")]
|
||||
[Address(RVA = "0x6E4770", Offset = "0x6E3770", VA = "0x1806E4770", Slot = "35")]
|
||||
public virtual AbstractF2mPoint TauPow(int pow)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A50F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractF2mPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractF2mPoint::TauPow(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_64:
|
||||
stloc:InvalidOperationException(var_15_6E, 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.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.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
|
||||
*/;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
|
||||
{
|
||||
// Token: 0x02001AD1 RID: 6865
|
||||
[Token(Token = "0x2001AD1")]
|
||||
public abstract class AbstractFpCurve : ECCurve
|
||||
{
|
||||
// Token: 0x0600A429 RID: 42025 RVA: 0x0022D5B8 File Offset: 0x0022B7B8
|
||||
[Token(Token = "0x600A429")]
|
||||
[Address(RVA = "0x6E4FA0", Offset = "0x6E3FA0", VA = "0x1806E4FA0")]
|
||||
protected AbstractFpCurve(BigInteger q)
|
||||
{
|
||||
IFiniteField primeField = FiniteFields.GetPrimeField(q);
|
||||
base..ctor(primeField);
|
||||
}
|
||||
|
||||
// Token: 0x0600A42A RID: 42026 RVA: 0x0022D5D4 File Offset: 0x0022B7D4
|
||||
[Token(Token = "0x600A42A")]
|
||||
[Address(RVA = "0x6E4EA0", Offset = "0x6E3EA0", VA = "0x1806E4EA0", Slot = "6")]
|
||||
public override bool IsValidFieldElement(BigInteger x)
|
||||
{
|
||||
if (x != 0)
|
||||
{
|
||||
ECPoint ecpoint = this.Infinity;
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
ecpoint += ecpoint;
|
||||
int num2;
|
||||
num2 += 19;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A42B RID: 42027 RVA: 0x0022D608 File Offset: 0x0022B808
|
||||
[Token(Token = "0x600A42B")]
|
||||
[Address(RVA = "0x6E4CD0", Offset = "0x6E3CD0", VA = "0x1806E4CD0", Slot = "34")]
|
||||
protected override ECPoint DecompressPoint(int yTilde, BigInteger X1)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A42B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractFpCurve::DecompressPoint(System.Int32,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_49:
|
||||
stloc:ArgumentException(var_12_53, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Invalid point compression")))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.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
|
||||
*/;
|
||||
}
|
||||
}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
|
||||
{
|
||||
// Token: 0x02001AD7 RID: 6871
|
||||
[Token(Token = "0x2001AD7")]
|
||||
public abstract class AbstractFpFieldElement : ECFieldElement
|
||||
{
|
||||
// Token: 0x0600A473 RID: 42099 RVA: 0x0022E374 File Offset: 0x0022C574
|
||||
[Token(Token = "0x600A473")]
|
||||
[Address(RVA = "0x42BA20", Offset = "0x42AA20", VA = "0x18042BA20")]
|
||||
protected AbstractFpFieldElement()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
|
||||
{
|
||||
// Token: 0x02001ADF RID: 6879
|
||||
[Token(Token = "0x2001ADF")]
|
||||
public abstract class AbstractFpPoint : ECPointBase
|
||||
{
|
||||
// Token: 0x0600A4EF RID: 42223 RVA: 0x00230208 File Offset: 0x0022E408
|
||||
[Token(Token = "0x600A4EF")]
|
||||
[Address(RVA = "0x6E4CB0", Offset = "0x6E3CB0", VA = "0x1806E4CB0")]
|
||||
protected AbstractFpPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A4F0 RID: 42224 RVA: 0x00230218 File Offset: 0x0022E418
|
||||
[Token(Token = "0x600A4F0")]
|
||||
[Address(RVA = "0x6E4C90", Offset = "0x6E3C90", VA = "0x1806E4C90")]
|
||||
protected AbstractFpPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17001A0F RID: 6671
|
||||
// (get) Token: 0x0600A4F1 RID: 42225 RVA: 0x00230228 File Offset: 0x0022E428
|
||||
[Token(Token = "0x17001A0F")]
|
||||
protected internal override bool CompressionYTilde
|
||||
{
|
||||
[Token(Token = "0x600A4F1")]
|
||||
[Address(RVA = "0x6E53B0", Offset = "0x6E43B0", VA = "0x1806E53B0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
BigInteger bigInteger = this.AffineXCoord.ToBigInteger();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A4F2 RID: 42226 RVA: 0x00230248 File Offset: 0x0022E448
|
||||
[Token(Token = "0x600A4F2")]
|
||||
[Address(RVA = "0x6E5010", Offset = "0x6E4010", VA = "0x1806E5010", Slot = "4")]
|
||||
protected override bool SatisfiesCurveEquation()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A4F2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.AbstractFpPoint::SatisfiesCurveEquation()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_E6:
|
||||
stloc:InvalidOperationException(var_21_F0, 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.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.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.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: 0x0600A4F3 RID: 42227 RVA: 0x00230348 File Offset: 0x0022E548
|
||||
[Token(Token = "0x600A4F3")]
|
||||
[Address(RVA = "0x6E4700", Offset = "0x6E3700", VA = "0x1806E4700", Slot = "27")]
|
||||
public override ECPoint Subtract(ECPoint b)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
bool flag = base.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+314
@@ -0,0 +1,314 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb
|
||||
{
|
||||
// Token: 0x02001B9A RID: 7066
|
||||
[Token(Token = "0x2001B9A")]
|
||||
internal class Curve25519 : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600AD90 RID: 44432 RVA: 0x0025A7D8 File Offset: 0x002589D8
|
||||
[Token(Token = "0x600AD90")]
|
||||
[Address(RVA = "0x6E94F0", Offset = "0x6E84F0", VA = "0x1806E94F0")]
|
||||
public Curve25519()
|
||||
{
|
||||
IFiniteField primeField = FiniteFields.GetPrimeField(Curve25519.q);
|
||||
base..ctor(primeField);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
Curve25519Point curve25519Point = new Curve25519Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = curve25519Point;
|
||||
byte[] array = Hex.Decode("2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA984914A144");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("7B425ED097B425ED097B425ED097B425ED097B425ED097B4260B5E9C7710C864");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("1000000000000000000000000000000014DEF9DEA2F79CD65812631A5CF5D3ED");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger3;
|
||||
BigInteger bigInteger4;
|
||||
this.m_cofactor = bigInteger4;
|
||||
this.m_coord = (int)((ulong)4L);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD91 RID: 44433 RVA: 0x0025A88C File Offset: 0x00258A8C
|
||||
[Token(Token = "0x600AD91")]
|
||||
[Address(RVA = "0x6E8EC0", Offset = "0x6E7EC0", VA = "0x1806E8EC0", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD91)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Curve25519(var_0_05, newobj:Curve25519(Curve25519::.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: 0x0600AD92 RID: 44434 RVA: 0x0025A8A0 File Offset: 0x00258AA0
|
||||
[Token(Token = "0x600AD92")]
|
||||
[Address(RVA = "0x6E9470", Offset = "0x6E8470", VA = "0x1806E9470", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 4;
|
||||
}
|
||||
|
||||
// Token: 0x17001BA1 RID: 7073
|
||||
// (get) Token: 0x0600AD93 RID: 44435 RVA: 0x0025A8B4 File Offset: 0x00258AB4
|
||||
[Token(Token = "0x17001BA1")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600AD93")]
|
||||
[Address(RVA = "0x6E9780", Offset = "0x6E8780", VA = "0x1806E9780", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return Curve25519.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BA2 RID: 7074
|
||||
// (get) Token: 0x0600AD94 RID: 44436 RVA: 0x0025A8C8 File Offset: 0x00258AC8
|
||||
[Token(Token = "0x17001BA2")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600AD94")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD94)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Curve25519Point(var_0_06, ldfld:Curve25519Point(Curve25519::m_infinity, ldloc:Curve25519(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: 0x17001BA3 RID: 7075
|
||||
// (get) Token: 0x0600AD95 RID: 44437 RVA: 0x0025A8DC File Offset: 0x00258ADC
|
||||
[Token(Token = "0x17001BA3")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AD95")]
|
||||
[Address(RVA = "0x6E9710", Offset = "0x6E8710", VA = "0x1806E9710", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return Curve25519.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD96 RID: 44438 RVA: 0x0025A8FC File Offset: 0x00258AFC
|
||||
[Token(Token = "0x600AD96")]
|
||||
[Address(RVA = "0x6E92A0", Offset = "0x6E82A0", VA = "0x1806E92A0", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD96)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_45:
|
||||
stloc:ArgumentException(var_6_54, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for Curve25519FieldElement"), ldstr:string("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: 0x0600AD97 RID: 44439 RVA: 0x0025A960 File Offset: 0x00258B60
|
||||
[Token(Token = "0x600AD97")]
|
||||
[Address(RVA = "0x6E9170", Offset = "0x6E8170", VA = "0x1806E9170", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD97)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519::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:Curve25519Point(var_0_09, newobj:Curve25519Point(Curve25519Point::.ctor, ldloc:Curve25519[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: 0x0600AD98 RID: 44440 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AD98")]
|
||||
[Address(RVA = "0x6E9200", Offset = "0x6E8200", VA = "0x1806E9200", 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: 0x0600AD99 RID: 44441 RVA: 0x0025A978 File Offset: 0x00258B78
|
||||
[Token(Token = "0x600AD99")]
|
||||
[Address(RVA = "0x6E8F10", Offset = "0x6E7F10", VA = "0x1806E8F10", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[len];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_4A;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 16;
|
||||
IL_4A:
|
||||
Curve25519.Curve25519LookupTable curve25519LookupTable;
|
||||
curve25519LookupTable.m_outer = 0;
|
||||
curve25519LookupTable.m_table = array;
|
||||
curve25519LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006E30 RID: 28208
|
||||
[Token(Token = "0x4006E30")]
|
||||
public static readonly BigInteger q = Nat256.ToBigInteger(Curve25519Field.P);
|
||||
|
||||
// Token: 0x04006E31 RID: 28209
|
||||
[Token(Token = "0x4006E31")]
|
||||
private const int Curve25519_DEFAULT_COORDS = 4;
|
||||
|
||||
// Token: 0x04006E32 RID: 28210
|
||||
[Token(Token = "0x4006E32")]
|
||||
private const int CURVE25519_FE_INTS = 8;
|
||||
|
||||
// Token: 0x04006E33 RID: 28211
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006E33")]
|
||||
protected readonly Curve25519Point m_infinity;
|
||||
|
||||
// Token: 0x02001B9B RID: 7067
|
||||
[Token(Token = "0x2001B9B")]
|
||||
private class Curve25519LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600AD9B RID: 44443 RVA: 0x0025AA08 File Offset: 0x00258C08
|
||||
[Token(Token = "0x600AD9B")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal Curve25519LookupTable(Curve25519 outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001BA4 RID: 7076
|
||||
// (get) Token: 0x0600AD9C RID: 44444 RVA: 0x0025AA30 File Offset: 0x00258C30
|
||||
[Token(Token = "0x17001BA4")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600AD9C")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD9D RID: 44445 RVA: 0x0025AA44 File Offset: 0x00258C44
|
||||
[Token(Token = "0x600AD9D")]
|
||||
[Address(RVA = "0x6E7760", Offset = "0x6E6760", VA = "0x1806E7760", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
uint[] array2 = Nat256.Create();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num2)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 16;
|
||||
num2++;
|
||||
}
|
||||
Curve25519 outer = this.m_outer;
|
||||
new Curve25519FieldElement().x = array;
|
||||
new Curve25519FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006E34 RID: 28212
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E34")]
|
||||
private readonly Curve25519 m_outer;
|
||||
|
||||
// Token: 0x04006E35 RID: 28213
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E35")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006E36 RID: 28214
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E36")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+360
@@ -0,0 +1,360 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb
|
||||
{
|
||||
// Token: 0x02001B9C RID: 7068
|
||||
[Token(Token = "0x2001B9C")]
|
||||
internal class Curve25519Field
|
||||
{
|
||||
// Token: 0x0600AD9E RID: 44446 RVA: 0x0025AAC4 File Offset: 0x00258CC4
|
||||
[Token(Token = "0x600AD9E")]
|
||||
[Address(RVA = "0x6E6970", Offset = "0x6E5970", VA = "0x1806E6970")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint num = Nat256.Add(x, y, z);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD9F RID: 44447 RVA: 0x0025AAF4 File Offset: 0x00258CF4
|
||||
[Token(Token = "0x600AD9F")]
|
||||
[Address(RVA = "0x6E6560", Offset = "0x6E5560", VA = "0x1806E6560")]
|
||||
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
uint num = Nat.Add(16, xx, yy, zz);
|
||||
uint[] pext = Curve25519Field.PExt;
|
||||
if (Nat.Gte(16, zz, pext))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPExtFrom(zz);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA0 RID: 44448 RVA: 0x0025AB28 File Offset: 0x00258D28
|
||||
[Token(Token = "0x600ADA0")]
|
||||
[Address(RVA = "0x6E6630", Offset = "0x6E5630", VA = "0x1806E6630")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
uint num = Nat.Inc(8, x, z);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA1 RID: 44449 RVA: 0x0025AB58 File Offset: 0x00258D58
|
||||
[Token(Token = "0x600ADA1")]
|
||||
[Address(RVA = "0x6E6A30", Offset = "0x6E5A30", VA = "0x1806E6A30")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat256.FromBigInteger(x);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(array, p))
|
||||
{
|
||||
int num = Nat256.SubFrom(Curve25519Field.P, array);
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA2 RID: 44450 RVA: 0x0025AB8C File Offset: 0x00258D8C
|
||||
[Token(Token = "0x600ADA2")]
|
||||
[Address(RVA = "0x6E6B00", Offset = "0x6E5B00", VA = "0x1806E6B00")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
if ("{il2cpp array field x->}" != (ulong)1L)
|
||||
{
|
||||
uint[] p = Curve25519Field.P;
|
||||
uint num = Nat256.Add(x, p, z);
|
||||
int num2 = 0;
|
||||
uint num3 = Nat.ShiftDownBit(8, z, (uint)num2);
|
||||
return;
|
||||
}
|
||||
int num4 = 0;
|
||||
uint num5 = Nat.ShiftDownBit(8, x, (uint)num4, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA3 RID: 44451 RVA: 0x0025ABD4 File Offset: 0x00258DD4
|
||||
[Token(Token = "0x600ADA3")]
|
||||
[Address(RVA = "0x6E6CB0", Offset = "0x6E5CB0", VA = "0x1806E6CB0")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Mul(x, y, array);
|
||||
Curve25519Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA4 RID: 44452 RVA: 0x0025ABF8 File Offset: 0x00258DF8
|
||||
[Token(Token = "0x600ADA4")]
|
||||
[Address(RVA = "0x6E6BE0", Offset = "0x6E5BE0", VA = "0x1806E6BE0")]
|
||||
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
|
||||
{
|
||||
uint num = Nat256.MulAddTo(x, y, zz);
|
||||
uint[] pext = Curve25519Field.PExt;
|
||||
if (Nat.Gte(16, zz, pext))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPExtFrom(zz);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA5 RID: 44453 RVA: 0x0025AC28 File Offset: 0x00258E28
|
||||
[Token(Token = "0x600ADA5")]
|
||||
[Address(RVA = "0x6E6D50", Offset = "0x6E5D50", VA = "0x1806E6D50")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat256.IsZero(x))
|
||||
{
|
||||
int num = Nat256.Sub(Curve25519Field.P, x, z);
|
||||
return;
|
||||
}
|
||||
Nat256.Zero(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA6 RID: 44454 RVA: 0x0025AC54 File Offset: 0x00258E54
|
||||
[Token(Token = "0x600ADA6")]
|
||||
[Address(RVA = "0x6E6F10", Offset = "0x6E5F10", VA = "0x1806E6F10")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
uint num = xx[3];
|
||||
int num2 = 0;
|
||||
uint num4;
|
||||
uint num3 = Nat.ShiftUpBit((int)num4, xx, (int)num4, num, z, num2);
|
||||
uint num5 = Nat256.MulByWordAddTo((uint)19, xx, z);
|
||||
uint num6 = z[3];
|
||||
long num7 = (long)((uint)19 * (uint)19);
|
||||
uint num8 = Nat.AddWordTo(7, (uint)num7, z);
|
||||
num8 += num6;
|
||||
z[3] = num8;
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num9 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA7 RID: 44455 RVA: 0x0025ACD4 File Offset: 0x00258ED4
|
||||
[Token(Token = "0x600ADA7")]
|
||||
[Address(RVA = "0x6E6DF0", Offset = "0x6E5DF0", VA = "0x1806E6DF0")]
|
||||
public static void Reduce27(uint x, uint[] z)
|
||||
{
|
||||
uint num = z[3];
|
||||
long num2 = (long)(num * (uint)19);
|
||||
uint num3 = Nat.AddWordTo(7, (uint)num2, z);
|
||||
num3 += num;
|
||||
z[3] = num3;
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num4 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA8 RID: 44456 RVA: 0x0025AD24 File Offset: 0x00258F24
|
||||
[Token(Token = "0x600ADA8")]
|
||||
[Address(RVA = "0x6E7170", Offset = "0x6E6170", VA = "0x1806E7170")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Square(x, array);
|
||||
Curve25519Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA9 RID: 44457 RVA: 0x0025AD48 File Offset: 0x00258F48
|
||||
[Token(Token = "0x600ADA9")]
|
||||
[Address(RVA = "0x6E7090", Offset = "0x6E6090", VA = "0x1806E7090")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Square(x, array);
|
||||
Curve25519Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
Nat256.Square(z, array);
|
||||
Curve25519Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADAA RID: 44458 RVA: 0x0025AD80 File Offset: 0x00258F80
|
||||
[Token(Token = "0x600ADAA")]
|
||||
[Address(RVA = "0x6E7510", Offset = "0x6E6510", VA = "0x1806E7510")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat256.Sub(x, y, z) != 0)
|
||||
{
|
||||
uint num = z[0];
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
int num2 = Nat.DecAt(7, z, 1);
|
||||
}
|
||||
uint num3 = z[3];
|
||||
uint num4;
|
||||
num3 += num4;
|
||||
num += num3;
|
||||
z[3] = num;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADAB RID: 44459 RVA: 0x0025ADD4 File Offset: 0x00258FD4
|
||||
[Token(Token = "0x600ADAB")]
|
||||
[Address(RVA = "0x6E7480", Offset = "0x6E6480", VA = "0x1806E7480")]
|
||||
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Sub(16, xx, yy, zz) != 0)
|
||||
{
|
||||
uint num = Curve25519Field.AddPExtTo(zz);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADAC RID: 44460 RVA: 0x0025ADF8 File Offset: 0x00258FF8
|
||||
[Token(Token = "0x600ADAC")]
|
||||
[Address(RVA = "0x6E7600", Offset = "0x6E6600", VA = "0x1806E7600")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
uint num2 = Nat.ShiftUpBit(8, x, (uint)num, z);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(z, p))
|
||||
{
|
||||
int num3 = Curve25519Field.SubPFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADAD RID: 44461 RVA: 0x0025AE2C File Offset: 0x0025902C
|
||||
[Token(Token = "0x600ADAD")]
|
||||
[Address(RVA = "0x6E68E0", Offset = "0x6E58E0", VA = "0x1806E68E0")]
|
||||
private static uint AddPTo(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
int num2 = Nat.DecAt(7, z, 1);
|
||||
}
|
||||
uint num3 = z[3];
|
||||
uint num4;
|
||||
num4 += num;
|
||||
num4 += num3;
|
||||
z[3] = num4;
|
||||
return num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADAE RID: 44462 RVA: 0x0025AE78 File Offset: 0x00259078
|
||||
[Token(Token = "0x600ADAE")]
|
||||
[Address(RVA = "0x6E66F0", Offset = "0x6E56F0", VA = "0x1806E66F0")]
|
||||
private static uint AddPExtTo(uint[] zz)
|
||||
{
|
||||
uint num = zz[0];
|
||||
uint num2 = Curve25519Field.PExt[0];
|
||||
num2 += num;
|
||||
zz[0] = num2;
|
||||
if (num2 != (uint)0)
|
||||
{
|
||||
uint num3 = Nat.IncAt(8, zz, 1);
|
||||
}
|
||||
uint num4 = zz[4];
|
||||
num4 += (uint)(-19);
|
||||
num4 += num2;
|
||||
zz[4] = num4;
|
||||
if (num4 != (uint)0)
|
||||
{
|
||||
int num5 = Nat.DecAt(15, zz, 9);
|
||||
}
|
||||
uint num6 = Curve25519Field.PExt[7];
|
||||
num6 += (uint)1;
|
||||
zz[7] = zz;
|
||||
return zz;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADAF RID: 44463 RVA: 0x0025AF04 File Offset: 0x00259104
|
||||
[Token(Token = "0x600ADAF")]
|
||||
[Address(RVA = "0x6E73F0", Offset = "0x6E63F0", VA = "0x1806E73F0")]
|
||||
private static int SubPFrom(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
num += (uint)19;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = Nat.IncAt(7, z, 1);
|
||||
}
|
||||
uint num3 = z[3];
|
||||
num3 += (uint)int.MinValue;
|
||||
num += num3;
|
||||
z[3] = num;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADB0 RID: 44464 RVA: 0x0025AF5C File Offset: 0x0025915C
|
||||
[Token(Token = "0x600ADB0")]
|
||||
[Address(RVA = "0x6E7200", Offset = "0x6E6200", VA = "0x1806E7200")]
|
||||
private static int SubPExtFrom(uint[] zz)
|
||||
{
|
||||
uint num = zz[0];
|
||||
uint num2 = Curve25519Field.PExt[0];
|
||||
num -= num2;
|
||||
zz[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
int num3 = Nat.DecAt(8, zz, 1);
|
||||
}
|
||||
uint num4 = zz[4];
|
||||
num4 += (uint)19;
|
||||
num4 += num;
|
||||
zz[4] = num4;
|
||||
if (num4 != (uint)0)
|
||||
{
|
||||
num4 = Nat.IncAt(15, zz, 9);
|
||||
}
|
||||
uint num5 = zz[7];
|
||||
uint num6 = Curve25519Field.PExt[7];
|
||||
num6 += (uint)1;
|
||||
num5 -= num6;
|
||||
num4 += num5;
|
||||
zz[7] = num4;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADB1 RID: 44465 RVA: 0x0025AFFC File Offset: 0x002591FC
|
||||
[Token(Token = "0x600ADB1")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public Curve25519Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ADB2 RID: 44466 RVA: 0x0025B010 File Offset: 0x00259210
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600ADB2")]
|
||||
[Address(RVA = "0x6E76C0", Offset = "0x6E66C0", VA = "0x1806E76C0")]
|
||||
static Curve25519Field()
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.86B0F85AC13B58F88DEFFD8FD6EE095438B98F10).FieldHandle);
|
||||
Curve25519Field.P = array;
|
||||
uint[] array2 = new uint[16];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.EAEB85AB6D40E0AB7CE0F65EF7EDF588A4DD81C9).FieldHandle);
|
||||
Curve25519Field.PExt = array2;
|
||||
}
|
||||
|
||||
// Token: 0x04006E37 RID: 28215
|
||||
[Token(Token = "0x4006E37")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04006E38 RID: 28216
|
||||
[Token(Token = "0x4006E38")]
|
||||
private const uint P7 = 2147483647U;
|
||||
|
||||
// Token: 0x04006E39 RID: 28217
|
||||
[Token(Token = "0x4006E39")]
|
||||
private static readonly uint[] PExt;
|
||||
|
||||
// Token: 0x04006E3A RID: 28218
|
||||
[Token(Token = "0x4006E3A")]
|
||||
private const uint PInv = 19U;
|
||||
}
|
||||
}
|
||||
+452
@@ -0,0 +1,452 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb
|
||||
{
|
||||
// Token: 0x02001B9D RID: 7069
|
||||
[Token(Token = "0x2001B9D")]
|
||||
internal class Curve25519FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x0600ADB3 RID: 44467 RVA: 0x0025B050 File Offset: 0x00259250
|
||||
[Token(Token = "0x600ADB3")]
|
||||
[Address(RVA = "0x6E62C0", Offset = "0x6E52C0", VA = "0x1806E62C0")]
|
||||
public Curve25519FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADB3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_44:
|
||||
stloc:ArgumentException(var_5_53, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for Curve25519FieldElement"), ldstr:string("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.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: 0x0600ADB4 RID: 44468 RVA: 0x0025B0B4 File Offset: 0x002592B4
|
||||
[Token(Token = "0x600ADB4")]
|
||||
[Address(RVA = "0x6E6470", Offset = "0x6E5470", VA = "0x1806E6470")]
|
||||
public Curve25519FieldElement()
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADB5 RID: 44469 RVA: 0x0025B0D8 File Offset: 0x002592D8
|
||||
[Token(Token = "0x600ADB5")]
|
||||
[Address(RVA = "0x681CA0", Offset = "0x680CA0", VA = "0x180681CA0")]
|
||||
protected internal Curve25519FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001BA5 RID: 7077
|
||||
// (get) Token: 0x0600ADB6 RID: 44470 RVA: 0x0025B0F4 File Offset: 0x002592F4
|
||||
[Token(Token = "0x17001BA5")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600ADB6")]
|
||||
[Address(RVA = "0x6E6550", Offset = "0x6E5550", VA = "0x1806E6550", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsZero(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BA6 RID: 7078
|
||||
// (get) Token: 0x0600ADB7 RID: 44471 RVA: 0x0025B10C File Offset: 0x0025930C
|
||||
[Token(Token = "0x17001BA6")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600ADB7")]
|
||||
[Address(RVA = "0x6E6540", Offset = "0x6E5540", VA = "0x1806E6540", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsOne(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADB8 RID: 44472 RVA: 0x0025B124 File Offset: 0x00259324
|
||||
[Token(Token = "0x600ADB8")]
|
||||
[Address(RVA = "0x6E61E0", Offset = "0x6E51E0", VA = "0x1806E61E0", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat256.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADB9 RID: 44473 RVA: 0x0025B148 File Offset: 0x00259348
|
||||
[Token(Token = "0x600ADB9")]
|
||||
[Address(RVA = "0x6E6200", Offset = "0x6E5200", VA = "0x1806E6200", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat256.ToBigInteger(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001BA7 RID: 7079
|
||||
// (get) Token: 0x0600ADBA RID: 44474 RVA: 0x0025B160 File Offset: 0x00259360
|
||||
[Token(Token = "0x17001BA7")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600ADBA")]
|
||||
[Address(RVA = "0x6E64A0", Offset = "0x6E54A0", VA = "0x1806E64A0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "Curve25519Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BA8 RID: 7080
|
||||
// (get) Token: 0x0600ADBB RID: 44475 RVA: 0x0025B174 File Offset: 0x00259374
|
||||
[Token(Token = "0x17001BA8")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600ADBB")]
|
||||
[Address(RVA = "0x6E64D0", Offset = "0x6E54D0", VA = "0x1806E64D0", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return Curve25519FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADBC RID: 44476 RVA: 0x0025B194 File Offset: 0x00259394
|
||||
[Token(Token = "0x600ADBC")]
|
||||
[Address(RVA = "0x6E5510", Offset = "0x6E4510", VA = "0x1806E5510", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(Curve25519FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] p = Curve25519Field.P;
|
||||
if (Nat256.Gte(array, p))
|
||||
{
|
||||
int num = Curve25519Field.SubPFrom(array);
|
||||
}
|
||||
new Curve25519FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADBD RID: 44477 RVA: 0x0025B1F4 File Offset: 0x002593F4
|
||||
[Token(Token = "0x600ADBD")]
|
||||
[Address(RVA = "0x6E53F0", Offset = "0x6E43F0", VA = "0x1806E53F0", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADBD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::AddOne()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_32:
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600ADBE RID: 44478 RVA: 0x0025B240 File Offset: 0x00259440
|
||||
[Token(Token = "0x600ADBE")]
|
||||
[Address(RVA = "0x6E60A0", Offset = "0x6E50A0", VA = "0x1806E60A0", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(Curve25519FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new Curve25519FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADBF RID: 44479 RVA: 0x0025B288 File Offset: 0x00259488
|
||||
[Token(Token = "0x600ADBF")]
|
||||
[Address(RVA = "0x6E5B30", Offset = "0x6E4B30", VA = "0x1806E5B30", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(Curve25519FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new Curve25519FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADC0 RID: 44480 RVA: 0x0025B2D0 File Offset: 0x002594D0
|
||||
[Token(Token = "0x600ADC0")]
|
||||
[Address(RVA = "0x6E56E0", Offset = "0x6E46E0", VA = "0x1806E56E0", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] p = Curve25519Field.P;
|
||||
if ("{il2cpp array field local3->}" == typeof(Curve25519FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
Curve25519Field.Multiply(array, array2, array);
|
||||
new Curve25519FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADC1 RID: 44481 RVA: 0x0025B328 File Offset: 0x00259528
|
||||
[Token(Token = "0x600ADC1")]
|
||||
[Address(RVA = "0x6E5C70", Offset = "0x6E4C70", VA = "0x1806E5C70", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADC1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
call:void(Curve25519Field::Negate, ldfld:uint32[](Curve25519FieldElement::x, ldloc:Curve25519FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600ADC2 RID: 44482 RVA: 0x0025B354 File Offset: 0x00259554
|
||||
[Token(Token = "0x600ADC2")]
|
||||
[Address(RVA = "0x6E6010", Offset = "0x6E5010", VA = "0x1806E6010", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADC2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
call:void(Curve25519Field::Square, ldfld:uint32[](Curve25519FieldElement::x, ldloc:Curve25519FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600ADC3 RID: 44483 RVA: 0x0025B380 File Offset: 0x00259580
|
||||
[Token(Token = "0x600ADC3")]
|
||||
[Address(RVA = "0x6E5A60", Offset = "0x6E4A60", VA = "0x1806E5A60", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADC3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
stloc:uint32[](var_2_0E, ldfld:uint32[](Curve25519FieldElement::x, ldloc:Curve25519FieldElement(this)))
|
||||
call:void(Mod::Invert, ldsfld:uint32[](Curve25519Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600ADC4 RID: 44484 RVA: 0x0025B3B4 File Offset: 0x002595B4
|
||||
[Token(Token = "0x600ADC4")]
|
||||
[Address(RVA = "0x6E5D00", Offset = "0x6E4D00", VA = "0x1806E5D00", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADC4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Sqrt()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_148:
|
||||
stfld:uint32[](Curve25519FieldElement::x, newobj:Curve25519FieldElement(Curve25519FieldElement::.ctor), ldloc:uint32[](var_2_20))
|
||||
}
|
||||
|
||||
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: 0x0600ADC5 RID: 44485 RVA: 0x0025B514 File Offset: 0x00259714
|
||||
[Token(Token = "0x600ADC5")]
|
||||
[Address(RVA = "0x6E5880", Offset = "0x6E4880", VA = "0x1806E5880", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADC5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:Curve25519FieldElement[exp:ECFieldElement](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: 0x0600ADC6 RID: 44486 RVA: 0x0025B530 File Offset: 0x00259730
|
||||
[Token(Token = "0x600ADC6")]
|
||||
[Address(RVA = "0x6E5910", Offset = "0x6E4910", VA = "0x1806E5910", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADC6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:Curve25519FieldElement[exp:ECFieldElement](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: 0x0600ADC7 RID: 44487 RVA: 0x0025B54C File Offset: 0x0025974C
|
||||
[Token(Token = "0x600ADC7")]
|
||||
[Address(RVA = "0x6E5860", Offset = "0x6E4860", VA = "0x1806E5860", Slot = "27")]
|
||||
public virtual bool Equals(Curve25519FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
return Nat256.Eq(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADC8 RID: 44488 RVA: 0x0025B578 File Offset: 0x00259778
|
||||
[Token(Token = "0x600ADC8")]
|
||||
[Address(RVA = "0x6E59A0", Offset = "0x6E49A0", VA = "0x1806E59A0", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
Curve25519FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 8);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADC9 RID: 44489 RVA: 0x0025B5A8 File Offset: 0x002597A8
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600ADC9")]
|
||||
[Address(RVA = "0x6E6210", Offset = "0x6E5210", VA = "0x1806E6210")]
|
||||
static Curve25519FieldElement()
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.6AAC0DB543C50F09E879F5B9F757319773564CE1).FieldHandle);
|
||||
Curve25519FieldElement.PRECOMP_POW2 = array;
|
||||
}
|
||||
|
||||
// Token: 0x04006E3B RID: 28219
|
||||
[Token(Token = "0x4006E3B")]
|
||||
public static readonly BigInteger Q = Curve25519.q;
|
||||
|
||||
// Token: 0x04006E3C RID: 28220
|
||||
[Token(Token = "0x4006E3C")]
|
||||
private static readonly uint[] PRECOMP_POW2;
|
||||
|
||||
// Token: 0x04006E3D RID: 28221
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E3D")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+406
@@ -0,0 +1,406 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb
|
||||
{
|
||||
// Token: 0x02001B9E RID: 7070
|
||||
[Token(Token = "0x2001B9E")]
|
||||
internal class Curve25519Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600ADCA RID: 44490 RVA: 0x0025B5D8 File Offset: 0x002597D8
|
||||
[Token(Token = "0x600ADCA")]
|
||||
[Address(RVA = "0x6E8EA0", Offset = "0x6E7EA0", VA = "0x1806E8EA0")]
|
||||
public Curve25519Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ADCB RID: 44491 RVA: 0x0025B5E8 File Offset: 0x002597E8
|
||||
[Token(Token = "0x600ADCB")]
|
||||
[Address(RVA = "0x6E8DE0", Offset = "0x6E7DE0", VA = "0x1806E8DE0")]
|
||||
public Curve25519Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADCB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600ADCC RID: 44492 RVA: 0x0025B610 File Offset: 0x00259810
|
||||
[Token(Token = "0x600ADCC")]
|
||||
[Address(RVA = "0x6E4C90", Offset = "0x6E3C90", VA = "0x1806E4C90")]
|
||||
internal Curve25519Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ADCD RID: 44493 RVA: 0x0025B620 File Offset: 0x00259820
|
||||
[Token(Token = "0x600ADCD")]
|
||||
[Address(RVA = "0x6E8310", Offset = "0x6E7310", VA = "0x1806E8310", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADCD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:Curve25519Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:Curve25519Point[exp:ECPoint](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: 0x0600ADCE RID: 44494 RVA: 0x0025B63C File Offset: 0x0025983C
|
||||
[Token(Token = "0x600ADCE")]
|
||||
[Address(RVA = "0x6E8540", Offset = "0x6E7540", VA = "0x1806E8540", Slot = "13")]
|
||||
public override ECFieldElement GetZCoord(int index)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADCE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Djb.Curve25519Point::GetZCoord(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_0C:
|
||||
stloc:bool(var_0_12, call:bool(ECPoint::SatisfiesCurveEquation, ldloc:Curve25519Point[exp:ECPoint](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.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: 0x0600ADCF RID: 44495 RVA: 0x0025B65C File Offset: 0x0025985C
|
||||
[Token(Token = "0x600ADCF")]
|
||||
[Address(RVA = "0x6E7980", Offset = "0x6E6980", VA = "0x1806E7980", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this == b)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat256.CreateExt();
|
||||
uint[] array2 = Nat256.Create();
|
||||
uint[] array3 = Nat256.Create();
|
||||
uint[] array4 = Nat256.Create();
|
||||
if (array4 == 0)
|
||||
{
|
||||
Curve25519Field.Square(array4, array3);
|
||||
Curve25519Field.Multiply(array3, array3, array2);
|
||||
Curve25519Field.Multiply(array3, array3, array3);
|
||||
Curve25519Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
Curve25519Field.Multiply(array4, array4, array);
|
||||
Curve25519Field.Multiply(array4, array4, array4);
|
||||
Curve25519Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat256.Create();
|
||||
if (!Nat256.IsZero(array5))
|
||||
{
|
||||
uint[] array6 = Nat256.Create();
|
||||
Curve25519Field.Square(array5, array6);
|
||||
uint[] array7 = Nat256.Create();
|
||||
Curve25519Field.Multiply(array6, array5, array7);
|
||||
Curve25519Field.Negate(array7, array7);
|
||||
Curve25519Field.Reduce27(Nat256.AddBothTo(array3, array3, array7), array7);
|
||||
Curve25519FieldElement curve25519FieldElement = new Curve25519FieldElement();
|
||||
curve25519FieldElement.x = array4;
|
||||
Curve25519Field.Square(array2, array4);
|
||||
uint[] x = curve25519FieldElement.x;
|
||||
Curve25519Field.Subtract(x, array7, x);
|
||||
Curve25519FieldElement curve25519FieldElement2 = new Curve25519FieldElement();
|
||||
curve25519FieldElement2.x = array7;
|
||||
uint[] x2 = curve25519FieldElement.x;
|
||||
Curve25519Field.Subtract(array3, x2, array7);
|
||||
uint[] x3 = curve25519FieldElement2.x;
|
||||
uint num = Nat256.MulAddTo(x3, array2, array);
|
||||
uint[] pext = Curve25519Field.PExt;
|
||||
if (Nat.Gte(16, array, pext))
|
||||
{
|
||||
int num2 = Curve25519Field.SubPExtFrom(array);
|
||||
}
|
||||
uint[] x4 = curve25519FieldElement2.x;
|
||||
Curve25519Field.Reduce(array, x4);
|
||||
Curve25519FieldElement curve25519FieldElement3 = new Curve25519FieldElement();
|
||||
curve25519FieldElement3.x = array5;
|
||||
Curve25519Field.Multiply(array5, x3, array5);
|
||||
uint[] x5 = curve25519FieldElement3.x;
|
||||
Curve25519Field.Multiply(x5, array, x5);
|
||||
ECPoint ecpoint = this.ThreeTimes();
|
||||
ECFieldElement[] array8 = new ECFieldElement[2];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADD0 RID: 44496 RVA: 0x0025B878 File Offset: 0x00259A78
|
||||
[Token(Token = "0x600ADD0")]
|
||||
[Address(RVA = "0x6E8D40", Offset = "0x6E7D40", VA = "0x1806E8D40", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
if (!this.m_y.IsOne)
|
||||
{
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
TypeCode typeCode = ((IConvertible)flag).GetTypeCode();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADD1 RID: 44497 RVA: 0x0025B8B8 File Offset: 0x00259AB8
|
||||
[Token(Token = "0x600ADD1")]
|
||||
[Address(RVA = "0x6E8C50", Offset = "0x6E7C50", VA = "0x1806E8C50", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
BigInteger bigInteger = this.GetJacobianModifiedW().ToBigInteger();
|
||||
}
|
||||
bool flag = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADD2 RID: 44498 RVA: 0x0025B90C File Offset: 0x00259B0C
|
||||
[Token(Token = "0x600ADD2")]
|
||||
[Address(RVA = "0x6E8660", Offset = "0x6E7660", VA = "0x1806E8660", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
BigInteger bigInteger = this.GetJacobianModifiedW().ToBigInteger();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADD3 RID: 44499 RVA: 0x0025B944 File Offset: 0x00259B44
|
||||
[Token(Token = "0x600ADD3")]
|
||||
[Address(RVA = "0x6E8560", Offset = "0x6E7560", VA = "0x1806E8560", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADD4 RID: 44500 RVA: 0x0025B97C File Offset: 0x00259B7C
|
||||
[Token(Token = "0x600ADD4")]
|
||||
[Address(RVA = "0x6E8160", Offset = "0x6E7160", VA = "0x1806E8160", Slot = "34")]
|
||||
protected virtual Curve25519FieldElement CalculateJacobianModifiedW(Curve25519FieldElement Z, uint[] ZSquared)
|
||||
{
|
||||
bool flag2;
|
||||
do
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (!flag2);
|
||||
if (Z.BitLength == 0)
|
||||
{
|
||||
Curve25519FieldElement curve25519FieldElement = new Curve25519FieldElement();
|
||||
uint[] array = Nat256.Create();
|
||||
curve25519FieldElement.x = array;
|
||||
if (ZSquared == 0)
|
||||
{
|
||||
Curve25519Field.Square(Z.x, array);
|
||||
}
|
||||
uint[] x = curve25519FieldElement.x;
|
||||
Curve25519Field.Square(array, x);
|
||||
uint[] x2 = curve25519FieldElement.x;
|
||||
Curve25519Field.Multiply(x2, x, x2);
|
||||
return curve25519FieldElement;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADD5 RID: 44501 RVA: 0x0025B9F8 File Offset: 0x00259BF8
|
||||
[Token(Token = "0x600ADD5")]
|
||||
[Address(RVA = "0x6E83B0", Offset = "0x6E73B0", VA = "0x1806E83B0", Slot = "35")]
|
||||
protected virtual Curve25519FieldElement GetJacobianModifiedW()
|
||||
{
|
||||
ECFieldElement[] zs;
|
||||
for (;;)
|
||||
{
|
||||
zs = this.m_zs;
|
||||
int length = zs.Length;
|
||||
ECFieldElement ecfieldElement = zs[1];
|
||||
if (ecfieldElement == 0 || ecfieldElement != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement2 = zs[0];
|
||||
if (ecfieldElement2 == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement2 != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
ECPoint ecpoint = this.ThreeTimes();
|
||||
if (ecpoint != 0)
|
||||
{
|
||||
}
|
||||
zs[1] = ecpoint;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADD6 RID: 44502 RVA: 0x0025BA58 File Offset: 0x00259C58
|
||||
[Token(Token = "0x600ADD6")]
|
||||
[Address(RVA = "0x6E86E0", Offset = "0x6E76E0", VA = "0x1806E86E0", Slot = "36")]
|
||||
protected virtual Curve25519Point TwiceJacobianModified(bool calculateW)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y == 0)
|
||||
{
|
||||
}
|
||||
if (y != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
uint[] array = Nat256.Create();
|
||||
uint num = Nat256.AddBothTo(array, array, array);
|
||||
Curve25519FieldElement curve25519FieldElement;
|
||||
uint[] x2 = curve25519FieldElement.x;
|
||||
uint num2 = Nat256.AddTo(x2, array);
|
||||
Curve25519Field.Reduce27(x2, array);
|
||||
uint[] array2 = Nat256.Create();
|
||||
uint[] array3 = Nat256.Create();
|
||||
Curve25519Field.Multiply(array2, array2, array3);
|
||||
uint[] array4 = Nat256.Create();
|
||||
Curve25519Field.Multiply(array3, array2, array4);
|
||||
Curve25519Field.Twice(array4, array4);
|
||||
uint[] array5 = Nat256.Create();
|
||||
Curve25519Field.Square(array3, array5);
|
||||
Curve25519Field.Twice(array5, array5);
|
||||
Curve25519FieldElement curve25519FieldElement2 = new Curve25519FieldElement();
|
||||
curve25519FieldElement2.x = array3;
|
||||
Curve25519Field.Square(array, array3);
|
||||
uint[] x3 = curve25519FieldElement2.x;
|
||||
Curve25519Field.Subtract(x3, array4, x3);
|
||||
uint[] x4 = curve25519FieldElement2.x;
|
||||
Curve25519Field.Subtract(x4, array4, x4);
|
||||
Curve25519FieldElement curve25519FieldElement3 = new Curve25519FieldElement();
|
||||
curve25519FieldElement3.x = array4;
|
||||
uint[] x5 = curve25519FieldElement2.x;
|
||||
Curve25519Field.Subtract(array4, x5, array4);
|
||||
uint[] x6 = curve25519FieldElement3.x;
|
||||
Curve25519Field.Multiply(x6, array, x6);
|
||||
uint[] x7 = curve25519FieldElement3.x;
|
||||
Curve25519Field.Subtract(x7, array5, x7);
|
||||
Curve25519FieldElement curve25519FieldElement4 = new Curve25519FieldElement();
|
||||
curve25519FieldElement4.x = array2;
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
uint[] x8 = curve25519FieldElement4.x;
|
||||
}
|
||||
Curve25519FieldElement curve25519FieldElement5;
|
||||
if (calculateW)
|
||||
{
|
||||
curve25519FieldElement5 = new Curve25519FieldElement();
|
||||
curve25519FieldElement5.x = array5;
|
||||
uint[] x9 = curve25519FieldElement.x;
|
||||
Curve25519Field.Multiply(array5, x9, array5);
|
||||
uint[] x10 = curve25519FieldElement5.x;
|
||||
Curve25519Field.Twice(x10, x10);
|
||||
}
|
||||
bool flag2 = this.SatisfiesOrder();
|
||||
ECFieldElement[] array6 = new ECFieldElement[2];
|
||||
array6[0] = curve25519FieldElement4;
|
||||
if (curve25519FieldElement5 != 0)
|
||||
{
|
||||
}
|
||||
array6[1] = curve25519FieldElement5;
|
||||
bool withCompression = this.m_withCompression;
|
||||
Curve25519Point curve25519Point;
|
||||
return curve25519Point;
|
||||
}
|
||||
}
|
||||
}
|
||||
+324
@@ -0,0 +1,324 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM
|
||||
{
|
||||
// Token: 0x02001B95 RID: 7061
|
||||
[Token(Token = "0x2001B95")]
|
||||
internal class SM2P256V1Curve : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600AD4F RID: 44367 RVA: 0x0025939C File Offset: 0x0025759C
|
||||
[Token(Token = "0x600AD4F")]
|
||||
[Address(RVA = "0x6E9CD0", Offset = "0x6E8CD0", VA = "0x1806E9CD0")]
|
||||
public SM2P256V1Curve()
|
||||
{
|
||||
IFiniteField primeField = FiniteFields.GetPrimeField(SM2P256V1Curve.q);
|
||||
base..ctor(primeField);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
SM2P256V1Point sm2P256V1Point = new SM2P256V1Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = sm2P256V1Point;
|
||||
byte[] array = Hex.Decode("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger3;
|
||||
BigInteger one = BigInteger.One;
|
||||
this.m_cofactor = one;
|
||||
this.m_coord = (int)((ulong)2L);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD50 RID: 44368 RVA: 0x00259458 File Offset: 0x00257658
|
||||
[Token(Token = "0x600AD50")]
|
||||
[Address(RVA = "0x6E97E0", Offset = "0x6E87E0", VA = "0x1806E97E0", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD50)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM.SM2P256V1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SM2P256V1Curve(var_0_05, newobj:SM2P256V1Curve(SM2P256V1Curve::.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: 0x0600AD51 RID: 44369 RVA: 0x0025946C File Offset: 0x0025766C
|
||||
[Token(Token = "0x600AD51")]
|
||||
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 2;
|
||||
}
|
||||
|
||||
// Token: 0x17001B99 RID: 7065
|
||||
// (get) Token: 0x0600AD52 RID: 44370 RVA: 0x00259480 File Offset: 0x00257680
|
||||
[Token(Token = "0x17001B99")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600AD52")]
|
||||
[Address(RVA = "0x6E9F60", Offset = "0x6E8F60", VA = "0x1806E9F60", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return SM2P256V1Curve.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B9A RID: 7066
|
||||
// (get) Token: 0x0600AD53 RID: 44371 RVA: 0x00259494 File Offset: 0x00257694
|
||||
[Token(Token = "0x17001B9A")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600AD53")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD53)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM.SM2P256V1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SM2P256V1Point(var_0_06, ldfld:SM2P256V1Point(SM2P256V1Curve::m_infinity, ldloc:SM2P256V1Curve(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: 0x17001B9B RID: 7067
|
||||
// (get) Token: 0x0600AD54 RID: 44372 RVA: 0x002594A8 File Offset: 0x002576A8
|
||||
[Token(Token = "0x17001B9B")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AD54")]
|
||||
[Address(RVA = "0x6E9EF0", Offset = "0x6E8EF0", VA = "0x1806E9EF0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return SM2P256V1Curve.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD55 RID: 44373 RVA: 0x002594C8 File Offset: 0x002576C8
|
||||
[Token(Token = "0x600AD55")]
|
||||
[Address(RVA = "0x6E9BC0", Offset = "0x6E8BC0", VA = "0x1806E9BC0", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD55)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM.SM2P256V1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SM2P256V1FieldElement(var_0_06, newobj:SM2P256V1FieldElement(SM2P256V1FieldElement::.ctor, 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: 0x0600AD56 RID: 44374 RVA: 0x002594DC File Offset: 0x002576DC
|
||||
[Token(Token = "0x600AD56")]
|
||||
[Address(RVA = "0x6E9B30", Offset = "0x6E8B30", VA = "0x1806E9B30", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD56)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM.SM2P256V1Curve::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:SM2P256V1Point(var_0_09, newobj:SM2P256V1Point(SM2P256V1Point::.ctor, ldloc:SM2P256V1Curve[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: 0x0600AD57 RID: 44375 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AD57")]
|
||||
[Address(RVA = "0x6E9A90", Offset = "0x6E8A90", VA = "0x1806E9A90", 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: 0x0600AD58 RID: 44376 RVA: 0x002594F4 File Offset: 0x002576F4
|
||||
[Token(Token = "0x600AD58")]
|
||||
[Address(RVA = "0x6E9830", Offset = "0x6E8830", VA = "0x1806E9830", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[len];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_4A;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 16;
|
||||
IL_4A:
|
||||
SM2P256V1Curve.SM2P256V1LookupTable sm2P256V1LookupTable;
|
||||
sm2P256V1LookupTable.m_outer = 0;
|
||||
sm2P256V1LookupTable.m_table = array;
|
||||
sm2P256V1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD59 RID: 44377 RVA: 0x00259568 File Offset: 0x00257768
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600AD59")]
|
||||
[Address(RVA = "0x6E9C30", Offset = "0x6E8C30", VA = "0x1806E9C30")]
|
||||
static SM2P256V1Curve()
|
||||
{
|
||||
byte[] array = Hex.Decode("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF");
|
||||
SM2P256V1Curve.q = new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x04006E23 RID: 28195
|
||||
[Token(Token = "0x4006E23")]
|
||||
public static readonly BigInteger q;
|
||||
|
||||
// Token: 0x04006E24 RID: 28196
|
||||
[Token(Token = "0x4006E24")]
|
||||
private const int SM2P256V1_DEFAULT_COORDS = 2;
|
||||
|
||||
// Token: 0x04006E25 RID: 28197
|
||||
[Token(Token = "0x4006E25")]
|
||||
private const int SM2P256V1_FE_INTS = 8;
|
||||
|
||||
// Token: 0x04006E26 RID: 28198
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006E26")]
|
||||
protected readonly SM2P256V1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B96 RID: 7062
|
||||
[Token(Token = "0x2001B96")]
|
||||
private class SM2P256V1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600AD5A RID: 44378 RVA: 0x0025958C File Offset: 0x0025778C
|
||||
[Token(Token = "0x600AD5A")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SM2P256V1LookupTable(SM2P256V1Curve outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001B9C RID: 7068
|
||||
// (get) Token: 0x0600AD5B RID: 44379 RVA: 0x002595B4 File Offset: 0x002577B4
|
||||
[Token(Token = "0x17001B9C")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600AD5B")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD5C RID: 44380 RVA: 0x002595C8 File Offset: 0x002577C8
|
||||
[Token(Token = "0x600AD5C")]
|
||||
[Address(RVA = "0x6EC430", Offset = "0x6EB430", VA = "0x1806EC430", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
uint[] array2 = Nat256.Create();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num2)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 16;
|
||||
num2++;
|
||||
}
|
||||
SM2P256V1Curve outer = this.m_outer;
|
||||
new SM2P256V1FieldElement().x = array;
|
||||
new SM2P256V1FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006E27 RID: 28199
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E27")]
|
||||
private readonly SM2P256V1Curve m_outer;
|
||||
|
||||
// Token: 0x04006E28 RID: 28200
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E28")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006E29 RID: 28201
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E29")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+424
@@ -0,0 +1,424 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM
|
||||
{
|
||||
// Token: 0x02001B97 RID: 7063
|
||||
[Token(Token = "0x2001B97")]
|
||||
internal class SM2P256V1Field
|
||||
{
|
||||
// Token: 0x0600AD5D RID: 44381 RVA: 0x00259648 File Offset: 0x00257848
|
||||
[Token(Token = "0x600AD5D")]
|
||||
[Address(RVA = "0x6EB350", Offset = "0x6EA350", VA = "0x1806EB350")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat256.Add(x, y, z) == (uint)0)
|
||||
{
|
||||
uint[] p = SM2P256V1Field.P;
|
||||
if (!Nat256.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SM2P256V1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD5E RID: 44382 RVA: 0x00259680 File Offset: 0x00257880
|
||||
[Token(Token = "0x600AD5E")]
|
||||
[Address(RVA = "0x6EAFD0", Offset = "0x6E9FD0", VA = "0x1806EAFD0")]
|
||||
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Add(16, xx, yy, zz) == (uint)0)
|
||||
{
|
||||
uint[] pext = SM2P256V1Field.PExt;
|
||||
if (!Nat.Gte(16, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pext2 = SM2P256V1Field.PExt;
|
||||
int num = Nat.SubFrom(16, pext2, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD5F RID: 44383 RVA: 0x002596C4 File Offset: 0x002578C4
|
||||
[Token(Token = "0x600AD5F")]
|
||||
[Address(RVA = "0x6EB0F0", Offset = "0x6EA0F0", VA = "0x1806EB0F0")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
if (Nat.Inc(8, x, z) == (uint)0)
|
||||
{
|
||||
uint[] p = SM2P256V1Field.P;
|
||||
if (!Nat256.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SM2P256V1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD60 RID: 44384 RVA: 0x002596FC File Offset: 0x002578FC
|
||||
[Token(Token = "0x600AD60")]
|
||||
[Address(RVA = "0x6EB440", Offset = "0x6EA440", VA = "0x1806EB440")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat256.FromBigInteger(x);
|
||||
uint[] p = SM2P256V1Field.P;
|
||||
if (Nat256.Gte(array, p))
|
||||
{
|
||||
int num = Nat256.SubFrom(SM2P256V1Field.P, array);
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD61 RID: 44385 RVA: 0x00259734 File Offset: 0x00257934
|
||||
[Token(Token = "0x600AD61")]
|
||||
[Address(RVA = "0x6EB530", Offset = "0x6EA530", VA = "0x1806EB530")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
if ("{il2cpp array field x->}" != (ulong)1L)
|
||||
{
|
||||
uint[] p = SM2P256V1Field.P;
|
||||
uint num = Nat256.Add(x, p, z);
|
||||
uint num2 = Nat.ShiftDownBit(8, z, num);
|
||||
return;
|
||||
}
|
||||
int num3 = 0;
|
||||
uint num4 = Nat.ShiftDownBit(8, x, (uint)num3, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD62 RID: 44386 RVA: 0x00259778 File Offset: 0x00257978
|
||||
[Token(Token = "0x600AD62")]
|
||||
[Address(RVA = "0x6EB730", Offset = "0x6EA730", VA = "0x1806EB730")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Mul(x, y, array);
|
||||
SM2P256V1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD63 RID: 44387 RVA: 0x0025979C File Offset: 0x0025799C
|
||||
[Token(Token = "0x600AD63")]
|
||||
[Address(RVA = "0x6EB610", Offset = "0x6EA610", VA = "0x1806EB610")]
|
||||
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
|
||||
{
|
||||
if (Nat256.MulAddTo(x, y, zz) == (uint)0)
|
||||
{
|
||||
uint[] pext = SM2P256V1Field.PExt;
|
||||
if (!Nat.Gte(16, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pext2 = SM2P256V1Field.PExt;
|
||||
int num = Nat.SubFrom(16, pext2, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD64 RID: 44388 RVA: 0x002597E0 File Offset: 0x002579E0
|
||||
[Token(Token = "0x600AD64")]
|
||||
[Address(RVA = "0x6EB7D0", Offset = "0x6EA7D0", VA = "0x1806EB7D0")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat256.IsZero(x))
|
||||
{
|
||||
int num = Nat256.Sub(SM2P256V1Field.P, x, z);
|
||||
return;
|
||||
}
|
||||
Nat256.Zero(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD65 RID: 44389 RVA: 0x0025980C File Offset: 0x00257A0C
|
||||
[Token(Token = "0x600AD65")]
|
||||
[Address(RVA = "0x6EBAA0", Offset = "0x6EAAA0", VA = "0x1806EBAA0")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
int length = xx.Length;
|
||||
uint num = xx[4];
|
||||
uint num2 = xx[4];
|
||||
uint num3 = xx[5];
|
||||
uint num4 = xx[5];
|
||||
uint num5 = xx[6];
|
||||
uint num6 = xx[6];
|
||||
uint num7 = xx[7];
|
||||
uint num8 = xx[7];
|
||||
uint num9 = xx[0];
|
||||
num9 += z;
|
||||
num9 += num8;
|
||||
num9 += num7;
|
||||
num9 += num6;
|
||||
z[0] = num9;
|
||||
uint num10 = xx[0];
|
||||
num10 += num9;
|
||||
num10 -= num;
|
||||
num10 += z;
|
||||
num10 += num8;
|
||||
num10 += num7;
|
||||
z[0] = num10;
|
||||
uint num11 = xx[1];
|
||||
num11 += num10;
|
||||
z[1] = num11;
|
||||
uint num12 = xx[1];
|
||||
num12 += num11;
|
||||
num12 -= num3;
|
||||
num12 -= num2;
|
||||
num12 += z;
|
||||
num12 += num6;
|
||||
z[1] = num12;
|
||||
uint num13 = xx[2];
|
||||
num13 += num12;
|
||||
num13 -= num12;
|
||||
num13 -= num;
|
||||
num13 += z;
|
||||
num13 += num7;
|
||||
z[2] = num13;
|
||||
uint num14 = xx[2];
|
||||
num13 += num14;
|
||||
num13 += num3;
|
||||
z[2] = num13;
|
||||
uint num15 = xx[3];
|
||||
num15 += num8;
|
||||
num13 += num15;
|
||||
num13 += num7;
|
||||
num13 += num4;
|
||||
z[3] = num13;
|
||||
uint num16 = xx[3];
|
||||
num16 += z;
|
||||
num13 += num16;
|
||||
num13 += num5;
|
||||
z[3] = num13;
|
||||
SM2P256V1Field.Reduce32(num13, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD66 RID: 44390 RVA: 0x002599C4 File Offset: 0x00257BC4
|
||||
[Token(Token = "0x600AD66")]
|
||||
[Address(RVA = "0x6EB870", Offset = "0x6EA870", VA = "0x1806EB870")]
|
||||
public static void Reduce32(uint x, uint[] z)
|
||||
{
|
||||
if (x != (uint)0)
|
||||
{
|
||||
uint num = z[0];
|
||||
num += x;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
}
|
||||
uint num3 = z[1];
|
||||
num3 -= x;
|
||||
num += num3;
|
||||
z[1] = num;
|
||||
uint num4 = z[1];
|
||||
num4 += num3;
|
||||
z[1] = num4;
|
||||
if (num4 != (uint)0)
|
||||
{
|
||||
uint num5 = z[2];
|
||||
num4 += num5;
|
||||
z[2] = num4;
|
||||
uint num6 = z[2];
|
||||
num4 += num6;
|
||||
z[2] = num4;
|
||||
uint num7 = z[3];
|
||||
num4 += num7;
|
||||
z[3] = num4;
|
||||
}
|
||||
uint num8 = z[3];
|
||||
num8 += x;
|
||||
num4 += num8;
|
||||
z[3] = num4;
|
||||
if (num4 != (uint)0)
|
||||
{
|
||||
goto IL_DB;
|
||||
}
|
||||
}
|
||||
uint[] p = SM2P256V1Field.P;
|
||||
if (!Nat256.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
IL_DB:
|
||||
SM2P256V1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD67 RID: 44391 RVA: 0x00259AB8 File Offset: 0x00257CB8
|
||||
[Token(Token = "0x600AD67")]
|
||||
[Address(RVA = "0x6EBF70", Offset = "0x6EAF70", VA = "0x1806EBF70")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Square(x, array);
|
||||
SM2P256V1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD68 RID: 44392 RVA: 0x00259ADC File Offset: 0x00257CDC
|
||||
[Token(Token = "0x600AD68")]
|
||||
[Address(RVA = "0x6EBE90", Offset = "0x6EAE90", VA = "0x1806EBE90")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Square(x, array);
|
||||
SM2P256V1Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
Nat256.Square(z, array);
|
||||
SM2P256V1Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD69 RID: 44393 RVA: 0x00259B14 File Offset: 0x00257D14
|
||||
[Token(Token = "0x600AD69")]
|
||||
[Address(RVA = "0x6EC220", Offset = "0x6EB220", VA = "0x1806EC220")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat256.Sub(x, y, z) != 0)
|
||||
{
|
||||
SM2P256V1Field.SubPInvFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD6A RID: 44394 RVA: 0x00259B34 File Offset: 0x00257D34
|
||||
[Token(Token = "0x600AD6A")]
|
||||
[Address(RVA = "0x6EC170", Offset = "0x6EB170", VA = "0x1806EC170")]
|
||||
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Sub(16, xx, yy, zz) != 0)
|
||||
{
|
||||
uint[] pext = SM2P256V1Field.PExt;
|
||||
uint num = Nat.AddTo(16, pext, zz);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD6B RID: 44395 RVA: 0x00259B60 File Offset: 0x00257D60
|
||||
[Token(Token = "0x600AD6B")]
|
||||
[Address(RVA = "0x6EC2A0", Offset = "0x6EB2A0", VA = "0x1806EC2A0")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat.ShiftUpBit(8, x, (uint)num, z) == (uint)0)
|
||||
{
|
||||
uint[] p = SM2P256V1Field.P;
|
||||
if (!Nat256.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SM2P256V1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD6C RID: 44396 RVA: 0x00259B98 File Offset: 0x00257D98
|
||||
[Token(Token = "0x600AD6C")]
|
||||
[Address(RVA = "0x6EB1E0", Offset = "0x6EA1E0", VA = "0x1806EB1E0")]
|
||||
private static void AddPInvTo(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
num += (uint)1;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
}
|
||||
uint num3 = z[1];
|
||||
num3 += num;
|
||||
z[1] = num3;
|
||||
uint num4 = z[1];
|
||||
num4 += (uint)1;
|
||||
num4 += num3;
|
||||
z[1] = num4;
|
||||
if (num4 != (uint)0)
|
||||
{
|
||||
uint num5 = z[2];
|
||||
num4 += num5;
|
||||
z[2] = num4;
|
||||
uint num6 = z[2];
|
||||
num4 += num6;
|
||||
z[2] = num4;
|
||||
uint num7 = z[3];
|
||||
num4 += num7;
|
||||
z[3] = num4;
|
||||
}
|
||||
uint num8 = z[3];
|
||||
num8 += (uint)1;
|
||||
num4 += num8;
|
||||
z[3] = num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD6D RID: 44397 RVA: 0x00259C6C File Offset: 0x00257E6C
|
||||
[Token(Token = "0x600AD6D")]
|
||||
[Address(RVA = "0x6EC000", Offset = "0x6EB000", VA = "0x1806EC000")]
|
||||
private static void SubPInvFrom(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
}
|
||||
uint num3 = z[1];
|
||||
num3 += (uint)1;
|
||||
num3 += num;
|
||||
z[1] = num3;
|
||||
uint num4 = z[1];
|
||||
num4 += num3;
|
||||
z[1] = num4;
|
||||
if (num4 != (uint)0)
|
||||
{
|
||||
uint num5 = z[2];
|
||||
num4 += num5;
|
||||
z[2] = num4;
|
||||
uint num6 = z[2];
|
||||
num4 += num6;
|
||||
z[2] = num4;
|
||||
uint num7 = z[3];
|
||||
num4 += num7;
|
||||
z[3] = num4;
|
||||
}
|
||||
uint num8 = z[3];
|
||||
num4 += num8;
|
||||
z[3] = num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD6E RID: 44398 RVA: 0x00259D34 File Offset: 0x00257F34
|
||||
[Token(Token = "0x600AD6E")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SM2P256V1Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AD6F RID: 44399 RVA: 0x00259D48 File Offset: 0x00257F48
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600AD6F")]
|
||||
[Address(RVA = "0x6EC390", Offset = "0x6EB390", VA = "0x1806EC390")]
|
||||
static SM2P256V1Field()
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.B01915493E44597A78D21AC245268E65DDA920ED).FieldHandle);
|
||||
SM2P256V1Field.P = array;
|
||||
uint[] array2 = new uint[16];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.5AE32F75295B7AC2FB76118848B92F3987B949A0).FieldHandle);
|
||||
SM2P256V1Field.PExt = array2;
|
||||
}
|
||||
|
||||
// Token: 0x04006E2A RID: 28202
|
||||
[Token(Token = "0x4006E2A")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04006E2B RID: 28203
|
||||
[Token(Token = "0x4006E2B")]
|
||||
internal static readonly uint[] PExt;
|
||||
|
||||
// Token: 0x04006E2C RID: 28204
|
||||
[Token(Token = "0x4006E2C")]
|
||||
internal const uint P7 = 4294967294U;
|
||||
|
||||
// Token: 0x04006E2D RID: 28205
|
||||
[Token(Token = "0x4006E2D")]
|
||||
internal const uint PExt15 = 4294967294U;
|
||||
}
|
||||
}
|
||||
+448
@@ -0,0 +1,448 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM
|
||||
{
|
||||
// Token: 0x02001B98 RID: 7064
|
||||
[Token(Token = "0x2001B98")]
|
||||
internal class SM2P256V1FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x0600AD70 RID: 44400 RVA: 0x00259D88 File Offset: 0x00257F88
|
||||
[Token(Token = "0x600AD70")]
|
||||
[Address(RVA = "0x6EAD60", Offset = "0x6E9D60", VA = "0x1806EAD60")]
|
||||
public SM2P256V1FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD70)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM.SM2P256V1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_44:
|
||||
stloc:ArgumentException(var_5_53, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SM2P256V1FieldElement"), ldstr:string("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.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: 0x0600AD71 RID: 44401 RVA: 0x00259DEC File Offset: 0x00257FEC
|
||||
[Token(Token = "0x600AD71")]
|
||||
[Address(RVA = "0x6E6470", Offset = "0x6E5470", VA = "0x1806E6470")]
|
||||
public SM2P256V1FieldElement()
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD72 RID: 44402 RVA: 0x00259E10 File Offset: 0x00258010
|
||||
[Token(Token = "0x600AD72")]
|
||||
[Address(RVA = "0x681CA0", Offset = "0x680CA0", VA = "0x180681CA0")]
|
||||
protected internal SM2P256V1FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001B9D RID: 7069
|
||||
// (get) Token: 0x0600AD73 RID: 44403 RVA: 0x00259E2C File Offset: 0x0025802C
|
||||
[Token(Token = "0x17001B9D")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600AD73")]
|
||||
[Address(RVA = "0x6E6550", Offset = "0x6E5550", VA = "0x1806E6550", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsZero(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B9E RID: 7070
|
||||
// (get) Token: 0x0600AD74 RID: 44404 RVA: 0x00259E44 File Offset: 0x00258044
|
||||
[Token(Token = "0x17001B9E")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600AD74")]
|
||||
[Address(RVA = "0x6E6540", Offset = "0x6E5540", VA = "0x1806E6540", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsOne(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD75 RID: 44405 RVA: 0x00259E5C File Offset: 0x0025805C
|
||||
[Token(Token = "0x600AD75")]
|
||||
[Address(RVA = "0x6E61E0", Offset = "0x6E51E0", VA = "0x1806E61E0", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat256.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD76 RID: 44406 RVA: 0x00259E80 File Offset: 0x00258080
|
||||
[Token(Token = "0x600AD76")]
|
||||
[Address(RVA = "0x6E6200", Offset = "0x6E5200", VA = "0x1806E6200", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat256.ToBigInteger(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001B9F RID: 7071
|
||||
// (get) Token: 0x0600AD77 RID: 44407 RVA: 0x00259E98 File Offset: 0x00258098
|
||||
[Token(Token = "0x17001B9F")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600AD77")]
|
||||
[Address(RVA = "0x6EAF30", Offset = "0x6E9F30", VA = "0x1806EAF30", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SM2P256V1Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BA0 RID: 7072
|
||||
// (get) Token: 0x0600AD78 RID: 44408 RVA: 0x00259EAC File Offset: 0x002580AC
|
||||
[Token(Token = "0x17001BA0")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AD78")]
|
||||
[Address(RVA = "0x6EAF60", Offset = "0x6E9F60", VA = "0x1806EAF60", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return SM2P256V1FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD79 RID: 44409 RVA: 0x00259ECC File Offset: 0x002580CC
|
||||
[Token(Token = "0x600AD79")]
|
||||
[Address(RVA = "0x6EA110", Offset = "0x6E9110", VA = "0x1806EA110", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SM2P256V1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SM2P256V1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD7A RID: 44410 RVA: 0x00259F14 File Offset: 0x00258114
|
||||
[Token(Token = "0x600AD7A")]
|
||||
[Address(RVA = "0x6E9FC0", Offset = "0x6E8FC0", VA = "0x1806E9FC0", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if (Nat.Inc(8, array2, array) == (uint)0)
|
||||
{
|
||||
uint[] p = SM2P256V1Field.P;
|
||||
if (!Nat256.Gte(array, p))
|
||||
{
|
||||
goto IL_31;
|
||||
}
|
||||
}
|
||||
SM2P256V1Field.AddPInvTo(array);
|
||||
IL_31:
|
||||
new SM2P256V1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD7B RID: 44411 RVA: 0x00259F64 File Offset: 0x00258164
|
||||
[Token(Token = "0x600AD7B")]
|
||||
[Address(RVA = "0x6EABB0", Offset = "0x6E9BB0", VA = "0x1806EABB0", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SM2P256V1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SM2P256V1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD7C RID: 44412 RVA: 0x00259FAC File Offset: 0x002581AC
|
||||
[Token(Token = "0x600AD7C")]
|
||||
[Address(RVA = "0x6EA680", Offset = "0x6E9680", VA = "0x1806EA680", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SM2P256V1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SM2P256V1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD7D RID: 44413 RVA: 0x00259FF4 File Offset: 0x002581F4
|
||||
[Token(Token = "0x600AD7D")]
|
||||
[Address(RVA = "0x6EA250", Offset = "0x6E9250", VA = "0x1806EA250", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] p = SM2P256V1Field.P;
|
||||
if ("{il2cpp array field local3->}" == typeof(SM2P256V1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
SM2P256V1Field.Multiply(array, array2, array);
|
||||
new SM2P256V1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD7E RID: 44414 RVA: 0x0025A04C File Offset: 0x0025824C
|
||||
[Token(Token = "0x600AD7E")]
|
||||
[Address(RVA = "0x6EA7C0", Offset = "0x6E97C0", VA = "0x1806EA7C0", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD7E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM.SM2P256V1FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
call:void(SM2P256V1Field::Negate, ldfld:uint32[](SM2P256V1FieldElement::x, ldloc:SM2P256V1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SM2P256V1FieldElement::x, newobj:SM2P256V1FieldElement(SM2P256V1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AD7F RID: 44415 RVA: 0x0025A078 File Offset: 0x00258278
|
||||
[Token(Token = "0x600AD7F")]
|
||||
[Address(RVA = "0x6EAB20", Offset = "0x6E9B20", VA = "0x1806EAB20", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD7F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM.SM2P256V1FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
call:void(SM2P256V1Field::Square, ldfld:uint32[](SM2P256V1FieldElement::x, ldloc:SM2P256V1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SM2P256V1FieldElement::x, newobj:SM2P256V1FieldElement(SM2P256V1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AD80 RID: 44416 RVA: 0x0025A0A4 File Offset: 0x002582A4
|
||||
[Token(Token = "0x600AD80")]
|
||||
[Address(RVA = "0x6EA5B0", Offset = "0x6E95B0", VA = "0x1806EA5B0", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD80)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM.SM2P256V1FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
stloc:uint32[](var_2_0E, ldfld:uint32[](SM2P256V1FieldElement::x, ldloc:SM2P256V1FieldElement(this)))
|
||||
call:void(Mod::Invert, ldsfld:uint32[](SM2P256V1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SM2P256V1FieldElement::x, newobj:SM2P256V1FieldElement(SM2P256V1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AD81 RID: 44417 RVA: 0x0025A0D8 File Offset: 0x002582D8
|
||||
[Token(Token = "0x600AD81")]
|
||||
[Address(RVA = "0x6EA850", Offset = "0x6E9850", VA = "0x1806EA850", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (Nat256.IsZero(array) || Nat256.IsOne(array));
|
||||
uint[] array2 = Nat256.Create();
|
||||
SM2P256V1Field.Square(array, array2);
|
||||
SM2P256V1Field.Multiply(array2, array, array2);
|
||||
uint[] array3 = Nat256.Create();
|
||||
SM2P256V1Field.SquareN(array2, 2, array3);
|
||||
SM2P256V1Field.Multiply(array3, array2, array3);
|
||||
uint[] array4 = Nat256.Create();
|
||||
SM2P256V1Field.SquareN(array3, 2, array4);
|
||||
SM2P256V1Field.Multiply(array4, array2, array4);
|
||||
SM2P256V1Field.SquareN(array4, 6, array2);
|
||||
SM2P256V1Field.Multiply(array2, array4, array2);
|
||||
uint[] array5 = Nat256.Create();
|
||||
SM2P256V1Field.SquareN(array2, 12, array5);
|
||||
SM2P256V1Field.Multiply(array5, array2, array5);
|
||||
SM2P256V1Field.SquareN(array5, 6, array2);
|
||||
SM2P256V1Field.Multiply(array2, array4, array2);
|
||||
SM2P256V1Field.Square(array2, array4);
|
||||
SM2P256V1Field.Multiply(array4, array, array4);
|
||||
SM2P256V1Field.SquareN(array4, 31, array5);
|
||||
SM2P256V1Field.Multiply(array5, array4, array2);
|
||||
SM2P256V1Field.SquareN(array5, 32, array5);
|
||||
SM2P256V1Field.Multiply(array5, array2, array5);
|
||||
SM2P256V1Field.SquareN(array5, 62, array5);
|
||||
SM2P256V1Field.Multiply(array5, array2, array5);
|
||||
SM2P256V1Field.SquareN(array5, 4, array5);
|
||||
SM2P256V1Field.Multiply(array5, array3, array5);
|
||||
SM2P256V1Field.SquareN(array5, 32, array5);
|
||||
SM2P256V1Field.Multiply(array5, array, array5);
|
||||
SM2P256V1Field.SquareN(array5, 62, array5);
|
||||
SM2P256V1Field.Square(array5, array3);
|
||||
if (Nat256.Eq(array, array3))
|
||||
{
|
||||
new SM2P256V1FieldElement().x = array5;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD82 RID: 44418 RVA: 0x0025A23C File Offset: 0x0025843C
|
||||
[Token(Token = "0x600AD82")]
|
||||
[Address(RVA = "0x6EA460", Offset = "0x6E9460", VA = "0x1806EA460", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD82)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM.SM2P256V1FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SM2P256V1FieldElement[exp:ECFieldElement](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: 0x0600AD83 RID: 44419 RVA: 0x0025A258 File Offset: 0x00258458
|
||||
[Token(Token = "0x600AD83")]
|
||||
[Address(RVA = "0x6EA3D0", Offset = "0x6E93D0", VA = "0x1806EA3D0", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD83)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM.SM2P256V1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SM2P256V1FieldElement[exp:ECFieldElement](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: 0x0600AD84 RID: 44420 RVA: 0x0025A274 File Offset: 0x00258474
|
||||
[Token(Token = "0x600AD84")]
|
||||
[Address(RVA = "0x6E5860", Offset = "0x6E4860", VA = "0x1806E5860", Slot = "27")]
|
||||
public virtual bool Equals(SM2P256V1FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
return Nat256.Eq(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD85 RID: 44421 RVA: 0x0025A2A0 File Offset: 0x002584A0
|
||||
[Token(Token = "0x600AD85")]
|
||||
[Address(RVA = "0x6EA4F0", Offset = "0x6E94F0", VA = "0x1806EA4F0", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
SM2P256V1FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 8);
|
||||
}
|
||||
|
||||
// Token: 0x04006E2E RID: 28206
|
||||
[Token(Token = "0x4006E2E")]
|
||||
public static readonly BigInteger Q = SM2P256V1Curve.q;
|
||||
|
||||
// Token: 0x04006E2F RID: 28207
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E2F")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+292
@@ -0,0 +1,292 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM
|
||||
{
|
||||
// Token: 0x02001B99 RID: 7065
|
||||
[Token(Token = "0x2001B99")]
|
||||
internal class SM2P256V1Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600AD87 RID: 44423 RVA: 0x0025A2E8 File Offset: 0x002584E8
|
||||
[Token(Token = "0x600AD87")]
|
||||
[Address(RVA = "0x6ED820", Offset = "0x6EC820", VA = "0x1806ED820")]
|
||||
public SM2P256V1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AD88 RID: 44424 RVA: 0x0025A2F8 File Offset: 0x002584F8
|
||||
[Token(Token = "0x600AD88")]
|
||||
[Address(RVA = "0x6ED760", Offset = "0x6EC760", VA = "0x1806ED760")]
|
||||
public SM2P256V1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD88)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM.SM2P256V1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600AD89 RID: 44425 RVA: 0x0025A320 File Offset: 0x00258520
|
||||
[Token(Token = "0x600AD89")]
|
||||
[Address(RVA = "0x6E4C90", Offset = "0x6E3C90", VA = "0x1806E4C90")]
|
||||
internal SM2P256V1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AD8A RID: 44426 RVA: 0x0025A330 File Offset: 0x00258530
|
||||
[Token(Token = "0x600AD8A")]
|
||||
[Address(RVA = "0x6ECDC0", Offset = "0x6EBDC0", VA = "0x1806ECDC0", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD8A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.GM.SM2P256V1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SM2P256V1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SM2P256V1Point[exp:ECPoint](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: 0x0600AD8B RID: 44427 RVA: 0x0025A34C File Offset: 0x0025854C
|
||||
[Token(Token = "0x600AD8B")]
|
||||
[Address(RVA = "0x6EC600", Offset = "0x6EB600", VA = "0x1806EC600", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this == b)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat256.CreateExt();
|
||||
uint[] array2 = Nat256.Create();
|
||||
uint[] array3 = Nat256.Create();
|
||||
uint[] array4 = Nat256.Create();
|
||||
if (array4 == 0)
|
||||
{
|
||||
SM2P256V1Field.Square(array4, array3);
|
||||
SM2P256V1Field.Multiply(array3, array3, array2);
|
||||
SM2P256V1Field.Multiply(array3, array3, array3);
|
||||
SM2P256V1Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
SM2P256V1Field.Multiply(array4, array4, array);
|
||||
SM2P256V1Field.Multiply(array4, array4, array4);
|
||||
SM2P256V1Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat256.Create();
|
||||
if (!Nat256.IsZero(array5))
|
||||
{
|
||||
SM2P256V1Field.Square(array5, array3);
|
||||
uint[] array6 = Nat256.Create();
|
||||
SM2P256V1Field.Multiply(array3, array5, array6);
|
||||
SM2P256V1Field.Negate(array6, array6);
|
||||
SM2P256V1Field.Reduce32(Nat256.AddBothTo(array3, array3, array6), array6);
|
||||
SM2P256V1FieldElement sm2P256V1FieldElement = new SM2P256V1FieldElement();
|
||||
sm2P256V1FieldElement.x = array4;
|
||||
SM2P256V1Field.Square(array2, array4);
|
||||
uint[] x = sm2P256V1FieldElement.x;
|
||||
SM2P256V1Field.Subtract(x, array6, x);
|
||||
SM2P256V1FieldElement sm2P256V1FieldElement2 = new SM2P256V1FieldElement();
|
||||
sm2P256V1FieldElement2.x = array6;
|
||||
uint[] x2 = sm2P256V1FieldElement.x;
|
||||
SM2P256V1Field.Subtract(array3, x2, array6);
|
||||
if (Nat256.MulAddTo(sm2P256V1FieldElement2.x, array2, array) == (uint)0)
|
||||
{
|
||||
uint[] pext = SM2P256V1Field.PExt;
|
||||
if (!Nat.Gte(16, array, pext))
|
||||
{
|
||||
goto IL_189;
|
||||
}
|
||||
}
|
||||
uint[] pext2 = SM2P256V1Field.PExt;
|
||||
int num = Nat.SubFrom(16, pext2, array);
|
||||
IL_189:
|
||||
uint[] x3 = sm2P256V1FieldElement2.x;
|
||||
SM2P256V1Field.Reduce(array, x3);
|
||||
SM2P256V1FieldElement sm2P256V1FieldElement3 = new SM2P256V1FieldElement();
|
||||
sm2P256V1FieldElement3.x = array5;
|
||||
SM2P256V1Field.Multiply(array5, array, array5);
|
||||
uint[] x4 = sm2P256V1FieldElement3.x;
|
||||
ECFieldElement[] array7 = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD8C RID: 44428 RVA: 0x0025A544 File Offset: 0x00258744
|
||||
[Token(Token = "0x600AD8C")]
|
||||
[Address(RVA = "0x6ED0D0", Offset = "0x6EC0D0", VA = "0x1806ED0D0", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
while (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y != 0)
|
||||
{
|
||||
if (y.IsOne)
|
||||
{
|
||||
break;
|
||||
}
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
uint[] array2 = Nat256.Create();
|
||||
uint[] array3 = Nat256.Create();
|
||||
uint[] array4 = Nat256.Create();
|
||||
SM2P256V1Field.Square(array3, array4);
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
}
|
||||
SM2P256V1Field.Multiply(array2, array, array2);
|
||||
SM2P256V1Field.Reduce32(Nat256.AddBothTo(array2, array2, array2), array2);
|
||||
SM2P256V1Field.Multiply(array3, array2, array3);
|
||||
int num = 0;
|
||||
SM2P256V1Field.Reduce32(Nat.ShiftUpBits(8, array3, 2, (uint)num), array3);
|
||||
int num2 = 0;
|
||||
SM2P256V1Field.Reduce32(Nat.ShiftUpBits(8, array4, 3, (uint)num2, array), array);
|
||||
SM2P256V1FieldElement sm2P256V1FieldElement = new SM2P256V1FieldElement();
|
||||
sm2P256V1FieldElement.x = array4;
|
||||
SM2P256V1Field.Square(array2, array4);
|
||||
uint[] x2 = sm2P256V1FieldElement.x;
|
||||
SM2P256V1Field.Subtract(x2, array3, x2);
|
||||
uint[] x3 = sm2P256V1FieldElement.x;
|
||||
SM2P256V1Field.Subtract(x3, array3, x3);
|
||||
SM2P256V1FieldElement sm2P256V1FieldElement2 = new SM2P256V1FieldElement();
|
||||
sm2P256V1FieldElement2.x = array3;
|
||||
uint[] x4 = sm2P256V1FieldElement.x;
|
||||
SM2P256V1Field.Subtract(array3, x4, array3);
|
||||
uint[] x5 = sm2P256V1FieldElement2.x;
|
||||
SM2P256V1Field.Multiply(x5, array2, x5);
|
||||
uint[] x6 = sm2P256V1FieldElement2.x;
|
||||
SM2P256V1Field.Subtract(x6, array, x6);
|
||||
SM2P256V1FieldElement sm2P256V1FieldElement3 = new SM2P256V1FieldElement();
|
||||
sm2P256V1FieldElement3.x = array2;
|
||||
uint num3;
|
||||
if (num3 == (uint)0)
|
||||
{
|
||||
uint[] p = SM2P256V1Field.P;
|
||||
if (!Nat256.Gte(array2, p))
|
||||
{
|
||||
goto IL_1AB;
|
||||
}
|
||||
}
|
||||
SM2P256V1Field.AddPInvTo(array2);
|
||||
IL_1AB:
|
||||
uint[] x7 = sm2P256V1FieldElement3.x;
|
||||
(new ECFieldElement[1])[0] = sm2P256V1FieldElement3;
|
||||
bool withCompression = this.m_withCompression;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD8D RID: 44429 RVA: 0x0025A720 File Offset: 0x00258920
|
||||
[Token(Token = "0x600AD8D")]
|
||||
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag3 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD8E RID: 44430 RVA: 0x0025A770 File Offset: 0x00258970
|
||||
[Token(Token = "0x600AD8E")]
|
||||
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD8F RID: 44431 RVA: 0x0025A7A0 File Offset: 0x002589A0
|
||||
[Token(Token = "0x600AD8F")]
|
||||
[Address(RVA = "0x6ECE60", Offset = "0x6EBE60", VA = "0x1806ECE60", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+324
@@ -0,0 +1,324 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B13 RID: 6931
|
||||
[Token(Token = "0x2001B13")]
|
||||
internal class SecP128R1Curve : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600A69A RID: 42650 RVA: 0x0023C11C File Offset: 0x0023A31C
|
||||
[Token(Token = "0x600A69A")]
|
||||
[Address(RVA = "0x6EDD20", Offset = "0x6ECD20", VA = "0x1806EDD20")]
|
||||
public SecP128R1Curve()
|
||||
{
|
||||
IFiniteField primeField = FiniteFields.GetPrimeField(SecP128R1Curve.q);
|
||||
base..ctor(primeField);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
SecP128R1Point secP128R1Point = new SecP128R1Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = secP128R1Point;
|
||||
byte[] array = Hex.Decode("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("E87579C11079F43DD824993C2CEE5ED3");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("FFFFFFFE0000000075A30D1B9038A115");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger3;
|
||||
BigInteger one = BigInteger.One;
|
||||
this.m_cofactor = one;
|
||||
this.m_coord = (int)((ulong)2L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A69B RID: 42651 RVA: 0x0023C1D8 File Offset: 0x0023A3D8
|
||||
[Token(Token = "0x600A69B")]
|
||||
[Address(RVA = "0x6ED840", Offset = "0x6EC840", VA = "0x1806ED840", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A69B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP128R1Curve(var_0_05, newobj:SecP128R1Curve(SecP128R1Curve::.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: 0x0600A69C RID: 42652 RVA: 0x0023C1EC File Offset: 0x0023A3EC
|
||||
[Token(Token = "0x600A69C")]
|
||||
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 2;
|
||||
}
|
||||
|
||||
// Token: 0x17001A26 RID: 6694
|
||||
// (get) Token: 0x0600A69D RID: 42653 RVA: 0x0023C200 File Offset: 0x0023A400
|
||||
[Token(Token = "0x17001A26")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600A69D")]
|
||||
[Address(RVA = "0x6EDFB0", Offset = "0x6ECFB0", VA = "0x1806EDFB0", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return SecP128R1Curve.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A27 RID: 6695
|
||||
// (get) Token: 0x0600A69E RID: 42654 RVA: 0x0023C214 File Offset: 0x0023A414
|
||||
[Token(Token = "0x17001A27")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A69E")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A69E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP128R1Point(var_0_06, ldfld:SecP128R1Point(SecP128R1Curve::m_infinity, ldloc:SecP128R1Curve(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: 0x17001A28 RID: 6696
|
||||
// (get) Token: 0x0600A69F RID: 42655 RVA: 0x0023C228 File Offset: 0x0023A428
|
||||
[Token(Token = "0x17001A28")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A69F")]
|
||||
[Address(RVA = "0x6EDF40", Offset = "0x6ECF40", VA = "0x1806EDF40", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return SecP128R1Curve.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A6A0 RID: 42656 RVA: 0x0023C248 File Offset: 0x0023A448
|
||||
[Token(Token = "0x600A6A0")]
|
||||
[Address(RVA = "0x6EDC20", Offset = "0x6ECC20", VA = "0x1806EDC20", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6A0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP128R1FieldElement(var_0_06, newobj:SecP128R1FieldElement(SecP128R1FieldElement::.ctor, 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: 0x0600A6A1 RID: 42657 RVA: 0x0023C25C File Offset: 0x0023A45C
|
||||
[Token(Token = "0x600A6A1")]
|
||||
[Address(RVA = "0x6EDAF0", Offset = "0x6ECAF0", VA = "0x1806EDAF0", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6A1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1Curve::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:SecP128R1Point(var_0_09, newobj:SecP128R1Point(SecP128R1Point::.ctor, ldloc:SecP128R1Curve[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: 0x0600A6A2 RID: 42658 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A6A2")]
|
||||
[Address(RVA = "0x6EDB80", Offset = "0x6ECB80", VA = "0x1806EDB80", 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: 0x0600A6A3 RID: 42659 RVA: 0x0023C274 File Offset: 0x0023A474
|
||||
[Token(Token = "0x600A6A3")]
|
||||
[Address(RVA = "0x6ED890", Offset = "0x6EC890", VA = "0x1806ED890", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 8;
|
||||
IL_49:
|
||||
SecP128R1Curve.SecP128R1LookupTable secP128R1LookupTable;
|
||||
secP128R1LookupTable.m_outer = 0;
|
||||
secP128R1LookupTable.m_table = array;
|
||||
secP128R1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A6A4 RID: 42660 RVA: 0x0023C2E8 File Offset: 0x0023A4E8
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A6A4")]
|
||||
[Address(RVA = "0x6EDC80", Offset = "0x6ECC80", VA = "0x1806EDC80")]
|
||||
static SecP128R1Curve()
|
||||
{
|
||||
byte[] array = Hex.Decode("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF");
|
||||
SecP128R1Curve.q = new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x04006CF3 RID: 27891
|
||||
[Token(Token = "0x4006CF3")]
|
||||
public static readonly BigInteger q;
|
||||
|
||||
// Token: 0x04006CF4 RID: 27892
|
||||
[Token(Token = "0x4006CF4")]
|
||||
private const int SECP128R1_DEFAULT_COORDS = 2;
|
||||
|
||||
// Token: 0x04006CF5 RID: 27893
|
||||
[Token(Token = "0x4006CF5")]
|
||||
private const int SECP128R1_FE_INTS = 4;
|
||||
|
||||
// Token: 0x04006CF6 RID: 27894
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006CF6")]
|
||||
protected readonly SecP128R1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B14 RID: 6932
|
||||
[Token(Token = "0x2001B14")]
|
||||
private class SecP128R1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A6A5 RID: 42661 RVA: 0x0023C30C File Offset: 0x0023A50C
|
||||
[Token(Token = "0x600A6A5")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecP128R1LookupTable(SecP128R1Curve outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001A29 RID: 6697
|
||||
// (get) Token: 0x0600A6A6 RID: 42662 RVA: 0x0023C334 File Offset: 0x0023A534
|
||||
[Token(Token = "0x17001A29")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A6A6")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A6A7 RID: 42663 RVA: 0x0023C348 File Offset: 0x0023A548
|
||||
[Token(Token = "0x600A6A7")]
|
||||
[Address(RVA = "0x6F0090", Offset = "0x6EF090", VA = "0x1806F0090", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat128.Create();
|
||||
uint[] array2 = Nat128.Create();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 8;
|
||||
num2++;
|
||||
}
|
||||
SecP128R1Curve outer = this.m_outer;
|
||||
new SecP128R1FieldElement().x = array;
|
||||
new SecP128R1FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006CF7 RID: 27895
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006CF7")]
|
||||
private readonly SecP128R1Curve m_outer;
|
||||
|
||||
// Token: 0x04006CF8 RID: 27896
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006CF8")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006CF9 RID: 27897
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006CF9")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+344
@@ -0,0 +1,344 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B15 RID: 6933
|
||||
[Token(Token = "0x2001B15")]
|
||||
internal class SecP128R1Field
|
||||
{
|
||||
// Token: 0x0600A6A8 RID: 42664 RVA: 0x0023C3C8 File Offset: 0x0023A5C8
|
||||
[Token(Token = "0x600A6A8")]
|
||||
[Address(RVA = "0x6EF2C0", Offset = "0x6EE2C0", VA = "0x1806EF2C0")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat128.Add(x, y, z) == (uint)0)
|
||||
{
|
||||
uint[] p = SecP128R1Field.P;
|
||||
if (!Nat128.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP128R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A6A9 RID: 42665 RVA: 0x0023C400 File Offset: 0x0023A600
|
||||
[Token(Token = "0x600A6A9")]
|
||||
[Address(RVA = "0x6EF000", Offset = "0x6EE000", VA = "0x1806EF000")]
|
||||
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat256.Add(xx, yy, zz) == (uint)0)
|
||||
{
|
||||
uint[] pext = SecP128R1Field.PExt;
|
||||
if (!Nat256.Gte(zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP128R1Field.PExtInv;
|
||||
uint num = Nat.AddTo(pextInv.Length, pextInv, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600A6AA RID: 42666 RVA: 0x0023C444 File Offset: 0x0023A644
|
||||
[Token(Token = "0x600A6AA")]
|
||||
[Address(RVA = "0x6EF120", Offset = "0x6EE120", VA = "0x1806EF120")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
if (Nat.Inc(4, x, z) == (uint)0)
|
||||
{
|
||||
uint[] p = SecP128R1Field.P;
|
||||
if (!Nat128.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP128R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A6AB RID: 42667 RVA: 0x0023C47C File Offset: 0x0023A67C
|
||||
[Token(Token = "0x600A6AB")]
|
||||
[Address(RVA = "0x6EF3B0", Offset = "0x6EE3B0", VA = "0x1806EF3B0")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat128.FromBigInteger(x);
|
||||
uint[] p = SecP128R1Field.P;
|
||||
if (Nat128.Gte(array, p))
|
||||
{
|
||||
int num = Nat128.SubFrom(SecP128R1Field.P, array);
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A6AC RID: 42668 RVA: 0x0023C4B4 File Offset: 0x0023A6B4
|
||||
[Token(Token = "0x600A6AC")]
|
||||
[Address(RVA = "0x6EF4A0", Offset = "0x6EE4A0", VA = "0x1806EF4A0")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
if ("{il2cpp array field x->}" != (ulong)1L)
|
||||
{
|
||||
uint[] p = SecP128R1Field.P;
|
||||
uint num = Nat128.Add(x, p, z);
|
||||
uint num2 = Nat.ShiftDownBit(4, z, num);
|
||||
return;
|
||||
}
|
||||
int num3 = 0;
|
||||
uint num4 = Nat.ShiftDownBit(4, x, (uint)num3, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A6AD RID: 42669 RVA: 0x0023C4F8 File Offset: 0x0023A6F8
|
||||
[Token(Token = "0x600A6AD")]
|
||||
[Address(RVA = "0x6EF6A0", Offset = "0x6EE6A0", VA = "0x1806EF6A0")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat128.CreateExt();
|
||||
Nat128.Mul(x, y, array);
|
||||
SecP128R1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A6AE RID: 42670 RVA: 0x0023C51C File Offset: 0x0023A71C
|
||||
[Token(Token = "0x600A6AE")]
|
||||
[Address(RVA = "0x6EF580", Offset = "0x6EE580", VA = "0x1806EF580")]
|
||||
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
|
||||
{
|
||||
if (Nat128.MulAddTo(x, y, zz) == (uint)0)
|
||||
{
|
||||
uint[] pext = SecP128R1Field.PExt;
|
||||
if (!Nat256.Gte(zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP128R1Field.PExtInv;
|
||||
uint num = Nat.AddTo(pextInv.Length, pextInv, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600A6AF RID: 42671 RVA: 0x0023C560 File Offset: 0x0023A760
|
||||
[Token(Token = "0x600A6AF")]
|
||||
[Address(RVA = "0x6EF740", Offset = "0x6EE740", VA = "0x1806EF740")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat128.IsZero(x))
|
||||
{
|
||||
int num = Nat128.Sub(SecP128R1Field.P, x, z);
|
||||
return;
|
||||
}
|
||||
Nat128.Zero(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A6B0 RID: 42672 RVA: 0x0023C58C File Offset: 0x0023A78C
|
||||
[Token(Token = "0x600A6B0")]
|
||||
[Address(RVA = "0x6EF8B0", Offset = "0x6EE8B0", VA = "0x1806EF8B0")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
int length = xx.Length;
|
||||
uint num = xx[0];
|
||||
uint num2 = xx[1];
|
||||
uint num3 = xx[1];
|
||||
uint num4 = xx[3];
|
||||
uint num5 = xx[0];
|
||||
z[0] = num5;
|
||||
z[0] = z;
|
||||
num += num2;
|
||||
z[1] = num;
|
||||
num += num4;
|
||||
z[1] = xx;
|
||||
SecP128R1Field.Reduce32(xx, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A6B1 RID: 42673 RVA: 0x0023C604 File Offset: 0x0023A804
|
||||
[Token(Token = "0x600A6B1")]
|
||||
[Address(RVA = "0x6EF7E0", Offset = "0x6EE7E0", VA = "0x1806EF7E0")]
|
||||
public static void Reduce32(uint x, uint[] z)
|
||||
{
|
||||
if (x != (uint)0)
|
||||
{
|
||||
uint num = z[0];
|
||||
num += x;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
uint num3 = z[1];
|
||||
num += num3;
|
||||
z[1] = num;
|
||||
}
|
||||
uint num4 = z[1];
|
||||
num4 += num;
|
||||
z[1] = num;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A6B2 RID: 42674 RVA: 0x0023C674 File Offset: 0x0023A874
|
||||
[Token(Token = "0x600A6B2")]
|
||||
[Address(RVA = "0x6EFBB0", Offset = "0x6EEBB0", VA = "0x1806EFBB0")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat128.CreateExt();
|
||||
Nat128.Square(x, array);
|
||||
SecP128R1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A6B3 RID: 42675 RVA: 0x0023C698 File Offset: 0x0023A898
|
||||
[Token(Token = "0x600A6B3")]
|
||||
[Address(RVA = "0x6EFAD0", Offset = "0x6EEAD0", VA = "0x1806EFAD0")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat128.CreateExt();
|
||||
Nat128.Square(x, array);
|
||||
SecP128R1Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
Nat128.Square(z, array);
|
||||
SecP128R1Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A6B4 RID: 42676 RVA: 0x0023C6D0 File Offset: 0x0023A8D0
|
||||
[Token(Token = "0x600A6B4")]
|
||||
[Address(RVA = "0x6EFDB0", Offset = "0x6EEDB0", VA = "0x1806EFDB0")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat128.Sub(x, y, z) != 0)
|
||||
{
|
||||
uint num = z[0];
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
uint num3 = z[1];
|
||||
num += num3;
|
||||
z[1] = num;
|
||||
}
|
||||
uint num4 = z[1];
|
||||
num4 += (uint)(-2);
|
||||
num += num4;
|
||||
z[1] = num;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A6B5 RID: 42677 RVA: 0x0023C748 File Offset: 0x0023A948
|
||||
[Token(Token = "0x600A6B5")]
|
||||
[Address(RVA = "0x6EFCF0", Offset = "0x6EECF0", VA = "0x1806EFCF0")]
|
||||
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Sub(10, xx, yy, zz) != 0)
|
||||
{
|
||||
uint[] pextInv = SecP128R1Field.PExtInv;
|
||||
int num = Nat.SubFrom(pextInv.Length, pextInv, zz);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A6B6 RID: 42678 RVA: 0x0023C77C File Offset: 0x0023A97C
|
||||
[Token(Token = "0x600A6B6")]
|
||||
[Address(RVA = "0x6EFED0", Offset = "0x6EEED0", VA = "0x1806EFED0")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat.ShiftUpBit(4, x, (uint)num, z) == (uint)0)
|
||||
{
|
||||
uint[] p = SecP128R1Field.P;
|
||||
if (!Nat128.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP128R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A6B7 RID: 42679 RVA: 0x0023C7B4 File Offset: 0x0023A9B4
|
||||
[Token(Token = "0x600A6B7")]
|
||||
[Address(RVA = "0x6EF210", Offset = "0x6EE210", VA = "0x1806EF210")]
|
||||
private static void AddPInvTo(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
num += (uint)1;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num2 += num;
|
||||
z[0] = num2;
|
||||
uint num3 = z[1];
|
||||
num3 += num2;
|
||||
z[1] = num3;
|
||||
}
|
||||
uint num4 = z[1];
|
||||
num4 += (uint)2;
|
||||
num += num4;
|
||||
z[1] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A6B8 RID: 42680 RVA: 0x0023C824 File Offset: 0x0023AA24
|
||||
[Token(Token = "0x600A6B8")]
|
||||
[Address(RVA = "0x6EFC40", Offset = "0x6EEC40", VA = "0x1806EFC40")]
|
||||
private static void SubPInvFrom(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
uint num3 = z[1];
|
||||
num += num3;
|
||||
z[1] = num;
|
||||
}
|
||||
uint num4 = z[1];
|
||||
num4 += (uint)(-2);
|
||||
num += num4;
|
||||
z[1] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A6B9 RID: 42681 RVA: 0x0023C890 File Offset: 0x0023AA90
|
||||
[Token(Token = "0x600A6B9")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecP128R1Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A6BA RID: 42682 RVA: 0x0023C8A4 File Offset: 0x0023AAA4
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A6BA")]
|
||||
[Address(RVA = "0x6EFFC0", Offset = "0x6EEFC0", VA = "0x1806EFFC0")]
|
||||
static SecP128R1Field()
|
||||
{
|
||||
uint[] array = new uint[4];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.FAF70E8DF6971D7BABBCE9FEF83EDA1D5D095D05).FieldHandle);
|
||||
SecP128R1Field.P = array;
|
||||
uint[] array2 = new uint[8];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.068B2E17352B5B9FF693CAE83421B679E0342A5C).FieldHandle);
|
||||
SecP128R1Field.PExt = array2;
|
||||
uint[] array3 = new uint[8];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.F2842E2653F6C5E55959B5EC5E07ABAFC0191FB0).FieldHandle);
|
||||
SecP128R1Field.PExtInv = array3;
|
||||
}
|
||||
|
||||
// Token: 0x04006CFA RID: 27898
|
||||
[Token(Token = "0x4006CFA")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04006CFB RID: 27899
|
||||
[Token(Token = "0x4006CFB")]
|
||||
internal static readonly uint[] PExt;
|
||||
|
||||
// Token: 0x04006CFC RID: 27900
|
||||
[Token(Token = "0x4006CFC")]
|
||||
private static readonly uint[] PExtInv;
|
||||
|
||||
// Token: 0x04006CFD RID: 27901
|
||||
[Token(Token = "0x4006CFD")]
|
||||
private const uint P3 = 4294967293U;
|
||||
|
||||
// Token: 0x04006CFE RID: 27902
|
||||
[Token(Token = "0x4006CFE")]
|
||||
private const uint PExt7 = 4294967292U;
|
||||
}
|
||||
}
|
||||
+437
@@ -0,0 +1,437 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B16 RID: 6934
|
||||
[Token(Token = "0x2001B16")]
|
||||
internal class SecP128R1FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x0600A6BB RID: 42683 RVA: 0x0023C8FC File Offset: 0x0023AAFC
|
||||
[Token(Token = "0x600A6BB")]
|
||||
[Address(RVA = "0x6EED70", Offset = "0x6EDD70", VA = "0x1806EED70")]
|
||||
public SecP128R1FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6BB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_44:
|
||||
stloc:ArgumentException(var_5_53, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP128R1FieldElement"), ldstr:string("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.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: 0x0600A6BC RID: 42684 RVA: 0x0023C960 File Offset: 0x0023AB60
|
||||
[Token(Token = "0x600A6BC")]
|
||||
[Address(RVA = "0x6EED40", Offset = "0x6EDD40", VA = "0x1806EED40")]
|
||||
public SecP128R1FieldElement()
|
||||
{
|
||||
uint[] array = Nat128.Create();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A6BD RID: 42685 RVA: 0x0023C984 File Offset: 0x0023AB84
|
||||
[Token(Token = "0x600A6BD")]
|
||||
[Address(RVA = "0x681CA0", Offset = "0x680CA0", VA = "0x180681CA0")]
|
||||
protected internal SecP128R1FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001A2A RID: 6698
|
||||
// (get) Token: 0x0600A6BE RID: 42686 RVA: 0x0023C9A0 File Offset: 0x0023ABA0
|
||||
[Token(Token = "0x17001A2A")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600A6BE")]
|
||||
[Address(RVA = "0x6EEFF0", Offset = "0x6EDFF0", VA = "0x1806EEFF0", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat128.IsZero(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A2B RID: 6699
|
||||
// (get) Token: 0x0600A6BF RID: 42687 RVA: 0x0023C9B8 File Offset: 0x0023ABB8
|
||||
[Token(Token = "0x17001A2B")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600A6BF")]
|
||||
[Address(RVA = "0x6EEFE0", Offset = "0x6EDFE0", VA = "0x1806EEFE0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat128.IsOne(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A6C0 RID: 42688 RVA: 0x0023C9D0 File Offset: 0x0023ABD0
|
||||
[Token(Token = "0x600A6C0")]
|
||||
[Address(RVA = "0x6EECA0", Offset = "0x6EDCA0", VA = "0x1806EECA0", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat128.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A6C1 RID: 42689 RVA: 0x0023C9F4 File Offset: 0x0023ABF4
|
||||
[Token(Token = "0x600A6C1")]
|
||||
[Address(RVA = "0x6EECC0", Offset = "0x6EDCC0", VA = "0x1806EECC0", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat128.ToBigInteger(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001A2C RID: 6700
|
||||
// (get) Token: 0x0600A6C2 RID: 42690 RVA: 0x0023CA0C File Offset: 0x0023AC0C
|
||||
[Token(Token = "0x17001A2C")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600A6C2")]
|
||||
[Address(RVA = "0x6EEF40", Offset = "0x6EDF40", VA = "0x1806EEF40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecP128R1Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A2D RID: 6701
|
||||
// (get) Token: 0x0600A6C3 RID: 42691 RVA: 0x0023CA20 File Offset: 0x0023AC20
|
||||
[Token(Token = "0x17001A2D")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A6C3")]
|
||||
[Address(RVA = "0x6EEF70", Offset = "0x6EDF70", VA = "0x1806EEF70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return SecP128R1FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A6C4 RID: 42692 RVA: 0x0023CA40 File Offset: 0x0023AC40
|
||||
[Token(Token = "0x600A6C4")]
|
||||
[Address(RVA = "0x6EE160", Offset = "0x6ED160", VA = "0x1806EE160", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat128.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP128R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP128R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A6C5 RID: 42693 RVA: 0x0023CA88 File Offset: 0x0023AC88
|
||||
[Token(Token = "0x600A6C5")]
|
||||
[Address(RVA = "0x6EE010", Offset = "0x6ED010", VA = "0x1806EE010", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
uint[] array = Nat128.Create();
|
||||
uint[] array2 = this.x;
|
||||
if (Nat.Inc(4, array2, array) == (uint)0)
|
||||
{
|
||||
uint[] p = SecP128R1Field.P;
|
||||
if (!Nat128.Gte(array, p))
|
||||
{
|
||||
goto IL_31;
|
||||
}
|
||||
}
|
||||
SecP128R1Field.AddPInvTo(array);
|
||||
IL_31:
|
||||
new SecP128R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A6C6 RID: 42694 RVA: 0x0023CAD8 File Offset: 0x0023ACD8
|
||||
[Token(Token = "0x600A6C6")]
|
||||
[Address(RVA = "0x6EEB60", Offset = "0x6EDB60", VA = "0x1806EEB60", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat128.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP128R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP128R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A6C7 RID: 42695 RVA: 0x0023CB20 File Offset: 0x0023AD20
|
||||
[Token(Token = "0x600A6C7")]
|
||||
[Address(RVA = "0x6EE6F0", Offset = "0x6ED6F0", VA = "0x1806EE6F0", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat128.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP128R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP128R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A6C8 RID: 42696 RVA: 0x0023CB68 File Offset: 0x0023AD68
|
||||
[Token(Token = "0x600A6C8")]
|
||||
[Address(RVA = "0x6EE2A0", Offset = "0x6ED2A0", VA = "0x1806EE2A0", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat128.Create();
|
||||
uint[] p = SecP128R1Field.P;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP128R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
SecP128R1Field.Multiply(array, array2, array);
|
||||
new SecP128R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A6C9 RID: 42697 RVA: 0x0023CBC0 File Offset: 0x0023ADC0
|
||||
[Token(Token = "0x600A6C9")]
|
||||
[Address(RVA = "0x6EE830", Offset = "0x6ED830", VA = "0x1806EE830", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6C9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat128::Create))
|
||||
call:void(SecP128R1Field::Negate, ldfld:uint32[](SecP128R1FieldElement::x, ldloc:SecP128R1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP128R1FieldElement::x, newobj:SecP128R1FieldElement(SecP128R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A6CA RID: 42698 RVA: 0x0023CBEC File Offset: 0x0023ADEC
|
||||
[Token(Token = "0x600A6CA")]
|
||||
[Address(RVA = "0x6EEAD0", Offset = "0x6EDAD0", VA = "0x1806EEAD0", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6CA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat128::Create))
|
||||
call:void(SecP128R1Field::Square, ldfld:uint32[](SecP128R1FieldElement::x, ldloc:SecP128R1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP128R1FieldElement::x, newobj:SecP128R1FieldElement(SecP128R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A6CB RID: 42699 RVA: 0x0023CC18 File Offset: 0x0023AE18
|
||||
[Token(Token = "0x600A6CB")]
|
||||
[Address(RVA = "0x6EE620", Offset = "0x6ED620", VA = "0x1806EE620", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6CB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat128::Create))
|
||||
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP128R1FieldElement::x, ldloc:SecP128R1FieldElement(this)))
|
||||
call:void(Mod::Invert, ldsfld:uint32[](SecP128R1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP128R1FieldElement::x, newobj:SecP128R1FieldElement(SecP128R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A6CC RID: 42700 RVA: 0x0023CC4C File Offset: 0x0023AE4C
|
||||
[Token(Token = "0x600A6CC")]
|
||||
[Address(RVA = "0x6EE8C0", Offset = "0x6ED8C0", VA = "0x1806EE8C0", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (Nat128.IsZero(array) || Nat128.IsOne(array));
|
||||
uint[] array2 = Nat128.Create();
|
||||
SecP128R1Field.Square(array, array2);
|
||||
SecP128R1Field.Multiply(array2, array, array2);
|
||||
uint[] array3 = Nat128.Create();
|
||||
SecP128R1Field.SquareN(array2, 2, array3);
|
||||
SecP128R1Field.Multiply(array3, array2, array3);
|
||||
uint[] array4 = Nat128.Create();
|
||||
SecP128R1Field.SquareN(array3, 4, array4);
|
||||
SecP128R1Field.Multiply(array4, array3, array4);
|
||||
SecP128R1Field.SquareN(array4, 2, array3);
|
||||
SecP128R1Field.Multiply(array3, array2, array3);
|
||||
SecP128R1Field.SquareN(array3, 10, array2);
|
||||
SecP128R1Field.Multiply(array2, array3, array2);
|
||||
SecP128R1Field.SquareN(array2, 10, array4);
|
||||
SecP128R1Field.Multiply(array4, array3, array4);
|
||||
SecP128R1Field.Square(array4, array3);
|
||||
SecP128R1Field.Multiply(array3, array, array3);
|
||||
SecP128R1Field.SquareN(array3, 95, array3);
|
||||
SecP128R1Field.Square(array3, array4);
|
||||
if (Nat128.Eq(array, array4))
|
||||
{
|
||||
new SecP128R1FieldElement().x = array3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A6CD RID: 42701 RVA: 0x0023CD40 File Offset: 0x0023AF40
|
||||
[Token(Token = "0x600A6CD")]
|
||||
[Address(RVA = "0x6EE420", Offset = "0x6ED420", VA = "0x1806EE420", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6CD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP128R1FieldElement[exp:ECFieldElement](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: 0x0600A6CE RID: 42702 RVA: 0x0023CD5C File Offset: 0x0023AF5C
|
||||
[Token(Token = "0x600A6CE")]
|
||||
[Address(RVA = "0x6EE4B0", Offset = "0x6ED4B0", VA = "0x1806EE4B0", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6CE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP128R1FieldElement[exp:ECFieldElement](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: 0x0600A6CF RID: 42703 RVA: 0x0023CD78 File Offset: 0x0023AF78
|
||||
[Token(Token = "0x600A6CF")]
|
||||
[Address(RVA = "0x6EE540", Offset = "0x6ED540", VA = "0x1806EE540", Slot = "27")]
|
||||
public virtual bool Equals(SecP128R1FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
return Nat128.Eq(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A6D0 RID: 42704 RVA: 0x0023CDA4 File Offset: 0x0023AFA4
|
||||
[Token(Token = "0x600A6D0")]
|
||||
[Address(RVA = "0x6EE560", Offset = "0x6ED560", VA = "0x1806EE560", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
SecP128R1FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 4);
|
||||
}
|
||||
|
||||
// Token: 0x04006CFF RID: 27903
|
||||
[Token(Token = "0x4006CFF")]
|
||||
public static readonly BigInteger Q = SecP128R1Curve.q;
|
||||
|
||||
// Token: 0x04006D00 RID: 27904
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D00")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+292
@@ -0,0 +1,292 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B17 RID: 6935
|
||||
[Token(Token = "0x2001B17")]
|
||||
internal class SecP128R1Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600A6D2 RID: 42706 RVA: 0x0023CDEC File Offset: 0x0023AFEC
|
||||
[Token(Token = "0x600A6D2")]
|
||||
[Address(RVA = "0x6F1310", Offset = "0x6F0310", VA = "0x1806F1310")]
|
||||
public SecP128R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A6D3 RID: 42707 RVA: 0x0023CDFC File Offset: 0x0023AFFC
|
||||
[Token(Token = "0x600A6D3")]
|
||||
[Address(RVA = "0x6F1250", Offset = "0x6F0250", VA = "0x1806F1250")]
|
||||
public SecP128R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6D3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A6D4 RID: 42708 RVA: 0x0023CE24 File Offset: 0x0023B024
|
||||
[Token(Token = "0x600A6D4")]
|
||||
[Address(RVA = "0x6E4C90", Offset = "0x6E3C90", VA = "0x1806E4C90")]
|
||||
internal SecP128R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A6D5 RID: 42709 RVA: 0x0023CE34 File Offset: 0x0023B034
|
||||
[Token(Token = "0x600A6D5")]
|
||||
[Address(RVA = "0x6F0A20", Offset = "0x6EFA20", VA = "0x1806F0A20", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6D5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP128R1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP128R1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP128R1Point[exp:ECPoint](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: 0x0600A6D6 RID: 42710 RVA: 0x0023CE50 File Offset: 0x0023B050
|
||||
[Token(Token = "0x600A6D6")]
|
||||
[Address(RVA = "0x6F0260", Offset = "0x6EF260", VA = "0x1806F0260", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this == b)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat128.CreateExt();
|
||||
uint[] array2 = Nat128.Create();
|
||||
uint[] array3 = Nat128.Create();
|
||||
uint[] array4 = Nat128.Create();
|
||||
if (array4 == 0)
|
||||
{
|
||||
SecP128R1Field.Square(array4, array3);
|
||||
SecP128R1Field.Multiply(array3, array3, array2);
|
||||
SecP128R1Field.Multiply(array3, array3, array3);
|
||||
SecP128R1Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
SecP128R1Field.Multiply(array4, array4, array);
|
||||
SecP128R1Field.Multiply(array4, array4, array4);
|
||||
SecP128R1Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat128.Create();
|
||||
if (!Nat128.IsZero(array5))
|
||||
{
|
||||
SecP128R1Field.Square(array5, array3);
|
||||
uint[] array6 = Nat128.Create();
|
||||
SecP128R1Field.Multiply(array3, array5, array6);
|
||||
SecP128R1Field.Negate(array6, array6);
|
||||
SecP128R1Field.Reduce32(Nat128.AddBothTo(array3, array3, array6), array6);
|
||||
SecP128R1FieldElement secP128R1FieldElement = new SecP128R1FieldElement();
|
||||
secP128R1FieldElement.x = array4;
|
||||
SecP128R1Field.Square(array2, array4);
|
||||
uint[] x = secP128R1FieldElement.x;
|
||||
SecP128R1Field.Subtract(x, array6, x);
|
||||
SecP128R1FieldElement secP128R1FieldElement2 = new SecP128R1FieldElement();
|
||||
secP128R1FieldElement2.x = array6;
|
||||
uint[] x2 = secP128R1FieldElement.x;
|
||||
SecP128R1Field.Subtract(array3, x2, array6);
|
||||
if (Nat128.MulAddTo(secP128R1FieldElement2.x, array2, array) == (uint)0)
|
||||
{
|
||||
uint[] pext = SecP128R1Field.PExt;
|
||||
if (!Nat256.Gte(array, pext))
|
||||
{
|
||||
goto IL_18C;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP128R1Field.PExtInv;
|
||||
uint num = Nat.AddTo(pextInv.Length, pextInv, array);
|
||||
IL_18C:
|
||||
uint[] x3 = secP128R1FieldElement2.x;
|
||||
SecP128R1Field.Reduce(array, x3);
|
||||
SecP128R1FieldElement secP128R1FieldElement3 = new SecP128R1FieldElement();
|
||||
secP128R1FieldElement3.x = array5;
|
||||
SecP128R1Field.Multiply(array5, array, array5);
|
||||
uint[] x4 = secP128R1FieldElement3.x;
|
||||
ECFieldElement[] array7 = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600A6D7 RID: 42711 RVA: 0x0023D04C File Offset: 0x0023B24C
|
||||
[Token(Token = "0x600A6D7")]
|
||||
[Address(RVA = "0x6F0BC0", Offset = "0x6EFBC0", VA = "0x1806F0BC0", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
while (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y != 0)
|
||||
{
|
||||
if (y.IsOne)
|
||||
{
|
||||
break;
|
||||
}
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
uint[] array = Nat128.Create();
|
||||
uint[] array2 = Nat128.Create();
|
||||
uint[] array3 = Nat128.Create();
|
||||
uint[] array4 = Nat128.Create();
|
||||
SecP128R1Field.Square(array3, array4);
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
}
|
||||
SecP128R1Field.Multiply(array2, array, array2);
|
||||
SecP128R1Field.Reduce32(Nat128.AddBothTo(array2, array2, array2), array2);
|
||||
SecP128R1Field.Multiply(array3, array2, array3);
|
||||
int num = 0;
|
||||
SecP128R1Field.Reduce32(Nat.ShiftUpBits(4, array3, 2, (uint)num), array3);
|
||||
int num2 = 0;
|
||||
SecP128R1Field.Reduce32(Nat.ShiftUpBits(4, array4, 3, (uint)num2, array), array);
|
||||
SecP128R1FieldElement secP128R1FieldElement = new SecP128R1FieldElement();
|
||||
secP128R1FieldElement.x = array4;
|
||||
SecP128R1Field.Square(array2, array4);
|
||||
uint[] x2 = secP128R1FieldElement.x;
|
||||
SecP128R1Field.Subtract(x2, array3, x2);
|
||||
uint[] x3 = secP128R1FieldElement.x;
|
||||
SecP128R1Field.Subtract(x3, array3, x3);
|
||||
SecP128R1FieldElement secP128R1FieldElement2 = new SecP128R1FieldElement();
|
||||
secP128R1FieldElement2.x = array3;
|
||||
uint[] x4 = secP128R1FieldElement.x;
|
||||
SecP128R1Field.Subtract(array3, x4, array3);
|
||||
uint[] x5 = secP128R1FieldElement2.x;
|
||||
SecP128R1Field.Multiply(x5, array2, x5);
|
||||
uint[] x6 = secP128R1FieldElement2.x;
|
||||
SecP128R1Field.Subtract(x6, array, x6);
|
||||
SecP128R1FieldElement secP128R1FieldElement3 = new SecP128R1FieldElement();
|
||||
secP128R1FieldElement3.x = array2;
|
||||
uint num3;
|
||||
if (num3 == (uint)0)
|
||||
{
|
||||
uint[] p = SecP128R1Field.P;
|
||||
if (!Nat128.Gte(array2, p))
|
||||
{
|
||||
goto IL_1AB;
|
||||
}
|
||||
}
|
||||
SecP128R1Field.AddPInvTo(array2);
|
||||
IL_1AB:
|
||||
uint[] x7 = secP128R1FieldElement3.x;
|
||||
(new ECFieldElement[1])[0] = secP128R1FieldElement3;
|
||||
bool withCompression = this.m_withCompression;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A6D8 RID: 42712 RVA: 0x0023D228 File Offset: 0x0023B428
|
||||
[Token(Token = "0x600A6D8")]
|
||||
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag3 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A6D9 RID: 42713 RVA: 0x0023D278 File Offset: 0x0023B478
|
||||
[Token(Token = "0x600A6D9")]
|
||||
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A6DA RID: 42714 RVA: 0x0023D2A8 File Offset: 0x0023B4A8
|
||||
[Token(Token = "0x600A6DA")]
|
||||
[Address(RVA = "0x6F0AC0", Offset = "0x6EFAC0", VA = "0x1806F0AC0", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+310
@@ -0,0 +1,310 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B18 RID: 6936
|
||||
[Token(Token = "0x2001B18")]
|
||||
internal class SecP160K1Curve : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600A6DB RID: 42715 RVA: 0x0023D2E0 File Offset: 0x0023B4E0
|
||||
[Token(Token = "0x600A6DB")]
|
||||
[Address(RVA = "0x6F17E0", Offset = "0x6F07E0", VA = "0x1806F17E0")]
|
||||
public SecP160K1Curve()
|
||||
{
|
||||
IFiniteField primeField = FiniteFields.GetPrimeField(SecP160K1Curve.q);
|
||||
base..ctor(primeField);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
SecP160K1Point secP160K1Point = new SecP160K1Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = secP160K1Point;
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array = Hex.Decode("0100000000000000000001B8FA16DFAB9ACA16B6B3");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
this.m_order = bigInteger;
|
||||
BigInteger one = BigInteger.One;
|
||||
this.m_cofactor = one;
|
||||
this.m_coord = (int)((ulong)2L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A6DC RID: 42716 RVA: 0x0023D370 File Offset: 0x0023B570
|
||||
[Token(Token = "0x600A6DC")]
|
||||
[Address(RVA = "0x6F1330", Offset = "0x6F0330", VA = "0x1806F1330", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6DC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160K1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP160K1Curve(var_0_05, newobj:SecP160K1Curve(SecP160K1Curve::.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: 0x0600A6DD RID: 42717 RVA: 0x0023D384 File Offset: 0x0023B584
|
||||
[Token(Token = "0x600A6DD")]
|
||||
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 2;
|
||||
}
|
||||
|
||||
// Token: 0x17001A2E RID: 6702
|
||||
// (get) Token: 0x0600A6DE RID: 42718 RVA: 0x0023D398 File Offset: 0x0023B598
|
||||
[Token(Token = "0x17001A2E")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600A6DE")]
|
||||
[Address(RVA = "0x6F1A30", Offset = "0x6F0A30", VA = "0x1806F1A30", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return SecP160K1Curve.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A2F RID: 6703
|
||||
// (get) Token: 0x0600A6DF RID: 42719 RVA: 0x0023D3AC File Offset: 0x0023B5AC
|
||||
[Token(Token = "0x17001A2F")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A6DF")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6DF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160K1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP160K1Point(var_0_06, ldfld:SecP160K1Point(SecP160K1Curve::m_infinity, ldloc:SecP160K1Curve(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: 0x17001A30 RID: 6704
|
||||
// (get) Token: 0x0600A6E0 RID: 42720 RVA: 0x0023D3C0 File Offset: 0x0023B5C0
|
||||
[Token(Token = "0x17001A30")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A6E0")]
|
||||
[Address(RVA = "0x6F19C0", Offset = "0x6F09C0", VA = "0x1806F19C0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return SecP160K1Curve.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A6E1 RID: 42721 RVA: 0x0023D3E0 File Offset: 0x0023B5E0
|
||||
[Token(Token = "0x600A6E1")]
|
||||
[Address(RVA = "0x6F1710", Offset = "0x6F0710", VA = "0x1806F1710", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6E1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP160R2FieldElement(var_0_06, newobj:SecP160R2FieldElement(SecP160R2FieldElement::.ctor, 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: 0x0600A6E2 RID: 42722 RVA: 0x0023D3F4 File Offset: 0x0023B5F4
|
||||
[Token(Token = "0x600A6E2")]
|
||||
[Address(RVA = "0x6F15E0", Offset = "0x6F05E0", VA = "0x1806F15E0", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6E2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160K1Curve::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:SecP160K1Point(var_0_09, newobj:SecP160K1Point(SecP160K1Point::.ctor, ldloc:SecP160K1Curve[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: 0x0600A6E3 RID: 42723 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A6E3")]
|
||||
[Address(RVA = "0x6F1670", Offset = "0x6F0670", VA = "0x1806F1670", 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: 0x0600A6E4 RID: 42724 RVA: 0x0023D40C File Offset: 0x0023B60C
|
||||
[Token(Token = "0x600A6E4")]
|
||||
[Address(RVA = "0x6F1380", Offset = "0x6F0380", VA = "0x1806F1380", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_4A;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 10;
|
||||
IL_4A:
|
||||
SecP160K1Curve.SecP160K1LookupTable secP160K1LookupTable;
|
||||
secP160K1LookupTable.m_outer = 0;
|
||||
secP160K1LookupTable.m_table = array;
|
||||
secP160K1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D01 RID: 27905
|
||||
[Token(Token = "0x4006D01")]
|
||||
public static readonly BigInteger q = SecP160R2Curve.q;
|
||||
|
||||
// Token: 0x04006D02 RID: 27906
|
||||
[Token(Token = "0x4006D02")]
|
||||
private const int SECP160K1_DEFAULT_COORDS = 2;
|
||||
|
||||
// Token: 0x04006D03 RID: 27907
|
||||
[Token(Token = "0x4006D03")]
|
||||
private const int SECP160K1_FE_INTS = 5;
|
||||
|
||||
// Token: 0x04006D04 RID: 27908
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006D04")]
|
||||
protected readonly SecP160K1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B19 RID: 6937
|
||||
[Token(Token = "0x2001B19")]
|
||||
private class SecP160K1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A6E6 RID: 42726 RVA: 0x0023D498 File Offset: 0x0023B698
|
||||
[Token(Token = "0x600A6E6")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecP160K1LookupTable(SecP160K1Curve outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001A31 RID: 6705
|
||||
// (get) Token: 0x0600A6E7 RID: 42727 RVA: 0x0023D4C0 File Offset: 0x0023B6C0
|
||||
[Token(Token = "0x17001A31")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A6E7")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A6E8 RID: 42728 RVA: 0x0023D4D4 File Offset: 0x0023B6D4
|
||||
[Token(Token = "0x600A6E8")]
|
||||
[Address(RVA = "0x6F1A90", Offset = "0x6F0A90", VA = "0x1806F1A90", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
uint[] array2 = Nat256.Create();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 10;
|
||||
num2++;
|
||||
}
|
||||
SecP160K1Curve outer = this.m_outer;
|
||||
SecP160R2FieldElement secP160R2FieldElement = new SecP160R2FieldElement(array);
|
||||
SecP160R2FieldElement secP160R2FieldElement2 = new SecP160R2FieldElement(array2);
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D05 RID: 27909
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D05")]
|
||||
private readonly SecP160K1Curve m_outer;
|
||||
|
||||
// Token: 0x04006D06 RID: 27910
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D06")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006D07 RID: 27911
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D07")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+263
@@ -0,0 +1,263 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B1A RID: 6938
|
||||
[Token(Token = "0x2001B1A")]
|
||||
internal class SecP160K1Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600A6E9 RID: 42729 RVA: 0x0023D550 File Offset: 0x0023B750
|
||||
[Token(Token = "0x600A6E9")]
|
||||
[Address(RVA = "0x6F2AB0", Offset = "0x6F1AB0", VA = "0x1806F2AB0")]
|
||||
public SecP160K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A6EA RID: 42730 RVA: 0x0023D560 File Offset: 0x0023B760
|
||||
[Token(Token = "0x600A6EA")]
|
||||
[Address(RVA = "0x6F29F0", Offset = "0x6F19F0", VA = "0x1806F29F0")]
|
||||
public SecP160K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6EA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A6EB RID: 42731 RVA: 0x0023D588 File Offset: 0x0023B788
|
||||
[Token(Token = "0x600A6EB")]
|
||||
[Address(RVA = "0x6E4C90", Offset = "0x6E3C90", VA = "0x1806E4C90")]
|
||||
internal SecP160K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A6EC RID: 42732 RVA: 0x0023D598 File Offset: 0x0023B798
|
||||
[Token(Token = "0x600A6EC")]
|
||||
[Address(RVA = "0x6F2340", Offset = "0x6F1340", VA = "0x1806F2340", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6EC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160K1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP160K1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP160K1Point[exp:ECPoint](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: 0x0600A6ED RID: 42733 RVA: 0x0023D5B4 File Offset: 0x0023B7B4
|
||||
[Token(Token = "0x600A6ED")]
|
||||
[Address(RVA = "0x6F1C60", Offset = "0x6F0C60", VA = "0x1806F1C60", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity && !b.IsInfinity && this != b)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat160.CreateExt();
|
||||
uint[] array2 = Nat160.Create();
|
||||
uint[] array3 = Nat160.Create();
|
||||
uint[] array4 = Nat160.Create();
|
||||
if (array4 == 0)
|
||||
{
|
||||
SecP160R2Field.Square(array4, array3);
|
||||
SecP160R2Field.Multiply(array3, array3, array2);
|
||||
SecP160R2Field.Multiply(array3, array3, array3);
|
||||
SecP160R2Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
SecP160R2Field.Multiply(array4, array4, array);
|
||||
SecP160R2Field.Multiply(array4, array4, array4);
|
||||
SecP160R2Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat160.Create();
|
||||
SecP160R2Field.Subtract(array, array4, array5);
|
||||
if (!Nat160.IsZero(array5))
|
||||
{
|
||||
SecP160R2Field.Square(array5, array3);
|
||||
uint[] array6 = Nat160.Create();
|
||||
SecP160R2Field.Multiply(array3, array5, array6);
|
||||
SecP160R2Field.Multiply(array3, array, array3);
|
||||
SecP160R2Field.Negate(array6, array6);
|
||||
SecP160R2Field.Reduce32(Nat160.AddBothTo(array3, array3, array6), array6);
|
||||
SecP160R2FieldElement secP160R2FieldElement = new SecP160R2FieldElement(array4);
|
||||
uint[] x = secP160R2FieldElement.x;
|
||||
SecP160R2Field.Square(array2, x);
|
||||
uint[] x2 = secP160R2FieldElement.x;
|
||||
SecP160R2Field.Subtract(x2, array6, x2);
|
||||
SecP160R2FieldElement secP160R2FieldElement2 = new SecP160R2FieldElement(array6);
|
||||
uint[] x3 = secP160R2FieldElement2.x;
|
||||
uint[] x4 = secP160R2FieldElement.x;
|
||||
SecP160R2Field.Subtract(array3, x4, x3);
|
||||
SecP160R2Field.MultiplyAddToExt(secP160R2FieldElement2.x, array2, array);
|
||||
uint[] x5 = secP160R2FieldElement2.x;
|
||||
SecP160R2Field.Reduce(array, x5);
|
||||
SecP160R2FieldElement secP160R2FieldElement3 = new SecP160R2FieldElement(array5);
|
||||
uint[] x6 = secP160R2FieldElement3.x;
|
||||
uint[] x7 = secP160R2FieldElement3.x;
|
||||
ECFieldElement[] array7 = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600A6EE RID: 42734 RVA: 0x0023D794 File Offset: 0x0023B994
|
||||
[Token(Token = "0x600A6EE")]
|
||||
[Address(RVA = "0x6F24E0", Offset = "0x6F14E0", VA = "0x1806F24E0", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
while (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y != 0)
|
||||
{
|
||||
if (y.IsOne)
|
||||
{
|
||||
break;
|
||||
}
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
uint[] array = Nat160.Create();
|
||||
uint[] array2 = Nat160.Create();
|
||||
SecP160R2Field.Square(array, array2);
|
||||
uint[] array3 = Nat160.Create();
|
||||
SecP160R2Field.Reduce32(Nat160.AddBothTo(array3, array3, array3), array3);
|
||||
SecP160R2Field.Multiply(array, array3, array);
|
||||
int num = 0;
|
||||
SecP160R2Field.Reduce32(Nat.ShiftUpBits(5, array, 2, (uint)num), array);
|
||||
uint[] array4 = Nat160.Create();
|
||||
int num2 = 0;
|
||||
SecP160R2Field.Reduce32(Nat.ShiftUpBits(5, array2, 3, (uint)num2, array4), array4);
|
||||
SecP160R2FieldElement secP160R2FieldElement = new SecP160R2FieldElement(array2);
|
||||
uint[] x2 = secP160R2FieldElement.x;
|
||||
SecP160R2Field.Square(array3, x2);
|
||||
uint[] x3 = secP160R2FieldElement.x;
|
||||
SecP160R2Field.Subtract(x3, array, x3);
|
||||
uint[] x4 = secP160R2FieldElement.x;
|
||||
SecP160R2Field.Subtract(x4, array, x4);
|
||||
SecP160R2FieldElement secP160R2FieldElement2 = new SecP160R2FieldElement(array);
|
||||
uint[] x5 = secP160R2FieldElement2.x;
|
||||
uint[] x6 = secP160R2FieldElement.x;
|
||||
SecP160R2Field.Subtract(array, x6, x5);
|
||||
uint[] x7 = secP160R2FieldElement2.x;
|
||||
SecP160R2Field.Multiply(x7, array3, x7);
|
||||
uint[] x8 = secP160R2FieldElement2.x;
|
||||
SecP160R2Field.Subtract(x8, array4, x8);
|
||||
SecP160R2FieldElement secP160R2FieldElement3 = new SecP160R2FieldElement(array3);
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
uint[] x9 = secP160R2FieldElement3.x;
|
||||
}
|
||||
(new ECFieldElement[1])[0] = secP160R2FieldElement3;
|
||||
bool withCompression = this.m_withCompression;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A6EF RID: 42735 RVA: 0x0023D93C File Offset: 0x0023BB3C
|
||||
[Token(Token = "0x600A6EF")]
|
||||
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag3 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A6F0 RID: 42736 RVA: 0x0023D98C File Offset: 0x0023BB8C
|
||||
[Token(Token = "0x600A6F0")]
|
||||
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A6F1 RID: 42737 RVA: 0x0023D9BC File Offset: 0x0023BBBC
|
||||
[Token(Token = "0x600A6F1")]
|
||||
[Address(RVA = "0x6F23E0", Offset = "0x6F13E0", VA = "0x1806F23E0", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+324
@@ -0,0 +1,324 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B1B RID: 6939
|
||||
[Token(Token = "0x2001B1B")]
|
||||
internal class SecP160R1Curve : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600A6F2 RID: 42738 RVA: 0x0023D9F4 File Offset: 0x0023BBF4
|
||||
[Token(Token = "0x600A6F2")]
|
||||
[Address(RVA = "0x6F2FB0", Offset = "0x6F1FB0", VA = "0x1806F2FB0")]
|
||||
public SecP160R1Curve()
|
||||
{
|
||||
IFiniteField primeField = FiniteFields.GetPrimeField(SecP160R1Curve.q);
|
||||
base..ctor(primeField);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
SecP160R1Point secP160R1Point = new SecP160R1Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = secP160R1Point;
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("0100000000000000000001F4C8F927AED3CA752257");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger3;
|
||||
BigInteger one = BigInteger.One;
|
||||
this.m_cofactor = one;
|
||||
this.m_coord = (int)((ulong)2L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A6F3 RID: 42739 RVA: 0x0023DAB0 File Offset: 0x0023BCB0
|
||||
[Token(Token = "0x600A6F3")]
|
||||
[Address(RVA = "0x6F2AD0", Offset = "0x6F1AD0", VA = "0x1806F2AD0", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6F3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP160R1Curve(var_0_05, newobj:SecP160R1Curve(SecP160R1Curve::.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: 0x0600A6F4 RID: 42740 RVA: 0x0023DAC4 File Offset: 0x0023BCC4
|
||||
[Token(Token = "0x600A6F4")]
|
||||
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 2;
|
||||
}
|
||||
|
||||
// Token: 0x17001A32 RID: 6706
|
||||
// (get) Token: 0x0600A6F5 RID: 42741 RVA: 0x0023DAD8 File Offset: 0x0023BCD8
|
||||
[Token(Token = "0x17001A32")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600A6F5")]
|
||||
[Address(RVA = "0x6F3240", Offset = "0x6F2240", VA = "0x1806F3240", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return SecP160R1Curve.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A33 RID: 6707
|
||||
// (get) Token: 0x0600A6F6 RID: 42742 RVA: 0x0023DAEC File Offset: 0x0023BCEC
|
||||
[Token(Token = "0x17001A33")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A6F6")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6F6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP160R1Point(var_0_06, ldfld:SecP160R1Point(SecP160R1Curve::m_infinity, ldloc:SecP160R1Curve(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: 0x17001A34 RID: 6708
|
||||
// (get) Token: 0x0600A6F7 RID: 42743 RVA: 0x0023DB00 File Offset: 0x0023BD00
|
||||
[Token(Token = "0x17001A34")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A6F7")]
|
||||
[Address(RVA = "0x6F31D0", Offset = "0x6F21D0", VA = "0x1806F31D0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return SecP160R1Curve.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A6F8 RID: 42744 RVA: 0x0023DB20 File Offset: 0x0023BD20
|
||||
[Token(Token = "0x600A6F8")]
|
||||
[Address(RVA = "0x6F2EB0", Offset = "0x6F1EB0", VA = "0x1806F2EB0", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6F8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP160R1FieldElement(var_0_06, newobj:SecP160R1FieldElement(SecP160R1FieldElement::.ctor, 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: 0x0600A6F9 RID: 42745 RVA: 0x0023DB34 File Offset: 0x0023BD34
|
||||
[Token(Token = "0x600A6F9")]
|
||||
[Address(RVA = "0x6F2E20", Offset = "0x6F1E20", VA = "0x1806F2E20", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A6F9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1Curve::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:SecP160R1Point(var_0_09, newobj:SecP160R1Point(SecP160R1Point::.ctor, ldloc:SecP160R1Curve[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: 0x0600A6FA RID: 42746 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A6FA")]
|
||||
[Address(RVA = "0x6F2D80", Offset = "0x6F1D80", VA = "0x1806F2D80", 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: 0x0600A6FB RID: 42747 RVA: 0x0023DB4C File Offset: 0x0023BD4C
|
||||
[Token(Token = "0x600A6FB")]
|
||||
[Address(RVA = "0x6F2B20", Offset = "0x6F1B20", VA = "0x1806F2B20", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_4A;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 10;
|
||||
IL_4A:
|
||||
SecP160R1Curve.SecP160R1LookupTable secP160R1LookupTable;
|
||||
secP160R1LookupTable.m_outer = 0;
|
||||
secP160R1LookupTable.m_table = array;
|
||||
secP160R1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A6FC RID: 42748 RVA: 0x0023DBC0 File Offset: 0x0023BDC0
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A6FC")]
|
||||
[Address(RVA = "0x6F2F10", Offset = "0x6F1F10", VA = "0x1806F2F10")]
|
||||
static SecP160R1Curve()
|
||||
{
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF");
|
||||
SecP160R1Curve.q = new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x04006D08 RID: 27912
|
||||
[Token(Token = "0x4006D08")]
|
||||
public static readonly BigInteger q;
|
||||
|
||||
// Token: 0x04006D09 RID: 27913
|
||||
[Token(Token = "0x4006D09")]
|
||||
private const int SECP160R1_DEFAULT_COORDS = 2;
|
||||
|
||||
// Token: 0x04006D0A RID: 27914
|
||||
[Token(Token = "0x4006D0A")]
|
||||
private const int SECP160R1_FE_INTS = 5;
|
||||
|
||||
// Token: 0x04006D0B RID: 27915
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006D0B")]
|
||||
protected readonly SecP160R1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B1C RID: 6940
|
||||
[Token(Token = "0x2001B1C")]
|
||||
private class SecP160R1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A6FD RID: 42749 RVA: 0x0023DBE4 File Offset: 0x0023BDE4
|
||||
[Token(Token = "0x600A6FD")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecP160R1LookupTable(SecP160R1Curve outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001A35 RID: 6709
|
||||
// (get) Token: 0x0600A6FE RID: 42750 RVA: 0x0023DC0C File Offset: 0x0023BE0C
|
||||
[Token(Token = "0x17001A35")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A6FE")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A6FF RID: 42751 RVA: 0x0023DC20 File Offset: 0x0023BE20
|
||||
[Token(Token = "0x600A6FF")]
|
||||
[Address(RVA = "0x6F5230", Offset = "0x6F4230", VA = "0x1806F5230", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat160.Create();
|
||||
uint[] array2 = Nat160.Create();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 10;
|
||||
num2++;
|
||||
}
|
||||
SecP160R1Curve outer = this.m_outer;
|
||||
new SecP160R1FieldElement().x = array;
|
||||
new SecP160R1FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D0C RID: 27916
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D0C")]
|
||||
private readonly SecP160R1Curve m_outer;
|
||||
|
||||
// Token: 0x04006D0D RID: 27917
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D0D")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006D0E RID: 27918
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D0E")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+348
@@ -0,0 +1,348 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B1D RID: 6941
|
||||
[Token(Token = "0x2001B1D")]
|
||||
internal class SecP160R1Field
|
||||
{
|
||||
// Token: 0x0600A700 RID: 42752 RVA: 0x0023DCA0 File Offset: 0x0023BEA0
|
||||
[Token(Token = "0x600A700")]
|
||||
[Address(RVA = "0x6F4500", Offset = "0x6F3500", VA = "0x1806F4500")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat160.Add(x, y, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP160R1Field.P;
|
||||
if (!Nat160.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num = Nat.AddWordTo(5, (uint)(-2147483647), z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A701 RID: 42753 RVA: 0x0023DCE8 File Offset: 0x0023BEE8
|
||||
[Token(Token = "0x600A701")]
|
||||
[Address(RVA = "0x6F42B0", Offset = "0x6F32B0", VA = "0x1806F42B0")]
|
||||
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Add(10, xx, yy, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP160R1Field.PExt;
|
||||
if (!Nat.Gte(10, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP160R1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP160R1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(10, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A702 RID: 42754 RVA: 0x0023DD54 File Offset: 0x0023BF54
|
||||
[Token(Token = "0x600A702")]
|
||||
[Address(RVA = "0x6F4430", Offset = "0x6F3430", VA = "0x1806F4430")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
if (Nat.Inc(5, x, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP160R1Field.P;
|
||||
if (!Nat160.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num = Nat.AddWordTo(5, (uint)(-2147483647), z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A703 RID: 42755 RVA: 0x0023DD9C File Offset: 0x0023BF9C
|
||||
[Token(Token = "0x600A703")]
|
||||
[Address(RVA = "0x6F45E0", Offset = "0x6F35E0", VA = "0x1806F45E0")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat160.FromBigInteger(x);
|
||||
if ("{il2cpp array field local2->}" == (ulong)(-1L))
|
||||
{
|
||||
uint[] p = SecP160R1Field.P;
|
||||
if (Nat160.Gte(array, p))
|
||||
{
|
||||
int num = Nat160.SubFrom(SecP160R1Field.P, array);
|
||||
}
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A704 RID: 42756 RVA: 0x0023DDE0 File Offset: 0x0023BFE0
|
||||
[Token(Token = "0x600A704")]
|
||||
[Address(RVA = "0x6F46D0", Offset = "0x6F36D0", VA = "0x1806F46D0")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
if ("{il2cpp array field x->}" != (ulong)1L)
|
||||
{
|
||||
uint[] p = SecP160R1Field.P;
|
||||
uint num = Nat160.Add(x, p, z);
|
||||
uint num2 = Nat.ShiftDownBit(5, z, num);
|
||||
return;
|
||||
}
|
||||
int num3 = 0;
|
||||
uint num4 = Nat.ShiftDownBit(5, x, (uint)num3, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A705 RID: 42757 RVA: 0x0023DE24 File Offset: 0x0023C024
|
||||
[Token(Token = "0x600A705")]
|
||||
[Address(RVA = "0x6F4920", Offset = "0x6F3920", VA = "0x1806F4920")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat160.CreateExt();
|
||||
Nat160.Mul(x, y, array);
|
||||
SecP160R1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A706 RID: 42758 RVA: 0x0023DE48 File Offset: 0x0023C048
|
||||
[Token(Token = "0x600A706")]
|
||||
[Address(RVA = "0x6F47B0", Offset = "0x6F37B0", VA = "0x1806F47B0")]
|
||||
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
|
||||
{
|
||||
if (Nat160.MulAddTo(x, y, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP160R1Field.PExt;
|
||||
if (!Nat.Gte(10, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP160R1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP160R1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(10, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A707 RID: 42759 RVA: 0x0023DEB0 File Offset: 0x0023C0B0
|
||||
[Token(Token = "0x600A707")]
|
||||
[Address(RVA = "0x6F49C0", Offset = "0x6F39C0", VA = "0x1806F49C0")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat160.IsZero(x))
|
||||
{
|
||||
int num = Nat160.Sub(SecP160R1Field.P, x, z);
|
||||
return;
|
||||
}
|
||||
Nat160.Zero(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A708 RID: 42760 RVA: 0x0023DEDC File Offset: 0x0023C0DC
|
||||
[Token(Token = "0x600A708")]
|
||||
[Address(RVA = "0x6F4B40", Offset = "0x6F3B40", VA = "0x1806F4B40")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
int length = xx.Length;
|
||||
uint num = xx[2];
|
||||
uint num2 = xx[3];
|
||||
uint num3 = xx[3];
|
||||
uint num4 = xx[4];
|
||||
uint num5 = xx[0];
|
||||
uint num6 = xx[4];
|
||||
num += num;
|
||||
num5 += num;
|
||||
z[0] = num5;
|
||||
uint num7 = xx[0];
|
||||
num = num2;
|
||||
num7 += num2;
|
||||
num7 += num;
|
||||
num5 += num7;
|
||||
z[0] = num5;
|
||||
uint num8 = xx[1];
|
||||
num = num3;
|
||||
num8 += num3;
|
||||
num8 += num;
|
||||
num5 += num8;
|
||||
z[1] = num5;
|
||||
uint num9 = xx[1];
|
||||
num = num4;
|
||||
num9 += num4;
|
||||
num9 += num;
|
||||
num5 += num9;
|
||||
z[1] = num5;
|
||||
uint num10 = xx[2];
|
||||
num = num6;
|
||||
num10 += num6;
|
||||
num10 += num;
|
||||
num5 += num10;
|
||||
z[2] = num5;
|
||||
SecP160R1Field.Reduce32(num5, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A709 RID: 42761 RVA: 0x0023DFE4 File Offset: 0x0023C1E4
|
||||
[Token(Token = "0x600A709")]
|
||||
[Address(RVA = "0x6F4A60", Offset = "0x6F3A60", VA = "0x1806F4A60")]
|
||||
public static void Reduce32(uint x, uint[] z)
|
||||
{
|
||||
if (x != (uint)0)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat160.MulWordsAdd((uint)(-2147483647), x, z, num) != (uint)0)
|
||||
{
|
||||
goto IL_33;
|
||||
}
|
||||
}
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP160R1Field.P;
|
||||
if (!Nat160.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
IL_33:
|
||||
uint num2 = Nat.AddWordTo(5, (uint)(-2147483647), z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A70A RID: 42762 RVA: 0x0023E038 File Offset: 0x0023C238
|
||||
[Token(Token = "0x600A70A")]
|
||||
[Address(RVA = "0x6F4EA0", Offset = "0x6F3EA0", VA = "0x1806F4EA0")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat160.CreateExt();
|
||||
Nat160.Square(x, array);
|
||||
SecP160R1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A70B RID: 42763 RVA: 0x0023E05C File Offset: 0x0023C25C
|
||||
[Token(Token = "0x600A70B")]
|
||||
[Address(RVA = "0x6F4DC0", Offset = "0x6F3DC0", VA = "0x1806F4DC0")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat160.CreateExt();
|
||||
Nat160.Square(x, array);
|
||||
SecP160R1Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
Nat160.Square(z, array);
|
||||
SecP160R1Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A70C RID: 42764 RVA: 0x0023E094 File Offset: 0x0023C294
|
||||
[Token(Token = "0x600A70C")]
|
||||
[Address(RVA = "0x6F5040", Offset = "0x6F4040", VA = "0x1806F5040")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat160.Sub(x, y, z) != 0)
|
||||
{
|
||||
int num = Nat.SubWordFrom(5, (uint)(-2147483647), z);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A70D RID: 42765 RVA: 0x0023E0BC File Offset: 0x0023C2BC
|
||||
[Token(Token = "0x600A70D")]
|
||||
[Address(RVA = "0x6F4F30", Offset = "0x6F3F30", VA = "0x1806F4F30")]
|
||||
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Sub(10, xx, yy, zz) != 0)
|
||||
{
|
||||
uint[] pextInv = SecP160R1Field.PExtInv;
|
||||
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
|
||||
{
|
||||
int length = SecP160R1Field.PExtInv.Length;
|
||||
int num = Nat.DecAt(10, zz, length);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A70E RID: 42766 RVA: 0x0023E108 File Offset: 0x0023C308
|
||||
[Token(Token = "0x600A70E")]
|
||||
[Address(RVA = "0x6F5080", Offset = "0x6F4080", VA = "0x1806F5080")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat.ShiftUpBit(5, x, (uint)num, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP160R1Field.P;
|
||||
if (!Nat160.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num2 = Nat.AddWordTo(5, (uint)(-2147483647), z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A70F RID: 42767 RVA: 0x0023E154 File Offset: 0x0023C354
|
||||
[Token(Token = "0x600A70F")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecP160R1Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A710 RID: 42768 RVA: 0x0023E168 File Offset: 0x0023C368
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A710")]
|
||||
[Address(RVA = "0x6F5160", Offset = "0x6F4160", VA = "0x1806F5160")]
|
||||
static SecP160R1Field()
|
||||
{
|
||||
uint[] array = new uint[5];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.35D6BB00E88996CA4CA6EEB743BE1820C59C5FAD).FieldHandle);
|
||||
SecP160R1Field.P = array;
|
||||
uint[] array2 = new uint[10];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.310FB325A3EA3EA527B55C2F08544D1CB92C19F4).FieldHandle);
|
||||
SecP160R1Field.PExt = array2;
|
||||
uint[] array3 = new uint[7];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.C132685022CE310ACFD3A883E0A57033A482A959).FieldHandle);
|
||||
SecP160R1Field.PExtInv = array3;
|
||||
}
|
||||
|
||||
// Token: 0x04006D0F RID: 27919
|
||||
[Token(Token = "0x4006D0F")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04006D10 RID: 27920
|
||||
[Token(Token = "0x4006D10")]
|
||||
internal static readonly uint[] PExt;
|
||||
|
||||
// Token: 0x04006D11 RID: 27921
|
||||
[Token(Token = "0x4006D11")]
|
||||
private static readonly uint[] PExtInv;
|
||||
|
||||
// Token: 0x04006D12 RID: 27922
|
||||
[Token(Token = "0x4006D12")]
|
||||
private const uint P4 = 4294967295U;
|
||||
|
||||
// Token: 0x04006D13 RID: 27923
|
||||
[Token(Token = "0x4006D13")]
|
||||
private const uint PExt9 = 4294967295U;
|
||||
|
||||
// Token: 0x04006D14 RID: 27924
|
||||
[Token(Token = "0x4006D14")]
|
||||
private const uint PInv = 2147483649U;
|
||||
}
|
||||
}
|
||||
+447
@@ -0,0 +1,447 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B1E RID: 6942
|
||||
[Token(Token = "0x2001B1E")]
|
||||
internal class SecP160R1FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x0600A711 RID: 42769 RVA: 0x0023E1C0 File Offset: 0x0023C3C0
|
||||
[Token(Token = "0x600A711")]
|
||||
[Address(RVA = "0x6F4020", Offset = "0x6F3020", VA = "0x1806F4020")]
|
||||
public SecP160R1FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A711)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_4E:
|
||||
stloc:ArgumentException(var_5_5D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP160R1FieldElement"), ldstr:string("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.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: 0x0600A712 RID: 42770 RVA: 0x0023E22C File Offset: 0x0023C42C
|
||||
[Token(Token = "0x600A712")]
|
||||
[Address(RVA = "0x6F3FF0", Offset = "0x6F2FF0", VA = "0x1806F3FF0")]
|
||||
public SecP160R1FieldElement()
|
||||
{
|
||||
uint[] array = Nat160.Create();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A713 RID: 42771 RVA: 0x0023E250 File Offset: 0x0023C450
|
||||
[Token(Token = "0x600A713")]
|
||||
[Address(RVA = "0x681CA0", Offset = "0x680CA0", VA = "0x180681CA0")]
|
||||
protected internal SecP160R1FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001A36 RID: 6710
|
||||
// (get) Token: 0x0600A714 RID: 42772 RVA: 0x0023E26C File Offset: 0x0023C46C
|
||||
[Token(Token = "0x17001A36")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600A714")]
|
||||
[Address(RVA = "0x6F42A0", Offset = "0x6F32A0", VA = "0x1806F42A0", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat160.IsZero(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A37 RID: 6711
|
||||
// (get) Token: 0x0600A715 RID: 42773 RVA: 0x0023E284 File Offset: 0x0023C484
|
||||
[Token(Token = "0x17001A37")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600A715")]
|
||||
[Address(RVA = "0x6F4290", Offset = "0x6F3290", VA = "0x1806F4290", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat160.IsOne(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A716 RID: 42774 RVA: 0x0023E29C File Offset: 0x0023C49C
|
||||
[Token(Token = "0x600A716")]
|
||||
[Address(RVA = "0x6F3F50", Offset = "0x6F2F50", VA = "0x1806F3F50", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat160.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A717 RID: 42775 RVA: 0x0023E2C0 File Offset: 0x0023C4C0
|
||||
[Token(Token = "0x600A717")]
|
||||
[Address(RVA = "0x6F3F70", Offset = "0x6F2F70", VA = "0x1806F3F70", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat160.ToBigInteger(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001A38 RID: 6712
|
||||
// (get) Token: 0x0600A718 RID: 42776 RVA: 0x0023E2D8 File Offset: 0x0023C4D8
|
||||
[Token(Token = "0x17001A38")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600A718")]
|
||||
[Address(RVA = "0x6F41F0", Offset = "0x6F31F0", VA = "0x1806F41F0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecP160R1Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A39 RID: 6713
|
||||
// (get) Token: 0x0600A719 RID: 42777 RVA: 0x0023E2EC File Offset: 0x0023C4EC
|
||||
[Token(Token = "0x17001A39")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A719")]
|
||||
[Address(RVA = "0x6F4220", Offset = "0x6F3220", VA = "0x1806F4220", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return SecP160R1FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A71A RID: 42778 RVA: 0x0023E30C File Offset: 0x0023C50C
|
||||
[Token(Token = "0x600A71A")]
|
||||
[Address(RVA = "0x6F33E0", Offset = "0x6F23E0", VA = "0x1806F33E0", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat160.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP160R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP160R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A71B RID: 42779 RVA: 0x0023E354 File Offset: 0x0023C554
|
||||
[Token(Token = "0x600A71B")]
|
||||
[Address(RVA = "0x6F32A0", Offset = "0x6F22A0", VA = "0x1806F32A0", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
uint[] array = Nat160.Create();
|
||||
uint[] array2 = this.x;
|
||||
if (Nat.Inc(5, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local2->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_44;
|
||||
}
|
||||
uint[] p = SecP160R1Field.P;
|
||||
if (!Nat160.Gte(array, p))
|
||||
{
|
||||
goto IL_44;
|
||||
}
|
||||
}
|
||||
uint num = Nat.AddWordTo(5, (uint)(-2147483647), array);
|
||||
IL_44:
|
||||
new SecP160R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A71C RID: 42780 RVA: 0x0023E3B8 File Offset: 0x0023C5B8
|
||||
[Token(Token = "0x600A71C")]
|
||||
[Address(RVA = "0x6F3DF0", Offset = "0x6F2DF0", VA = "0x1806F3DF0", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat160.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP160R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
int num;
|
||||
if (num != 0)
|
||||
{
|
||||
int num2 = Nat.SubWordFrom(5, (uint)(-2147483647), array);
|
||||
}
|
||||
new SecP160R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A71D RID: 42781 RVA: 0x0023E414 File Offset: 0x0023C614
|
||||
[Token(Token = "0x600A71D")]
|
||||
[Address(RVA = "0x6F3970", Offset = "0x6F2970", VA = "0x1806F3970", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat160.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP160R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP160R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A71E RID: 42782 RVA: 0x0023E45C File Offset: 0x0023C65C
|
||||
[Token(Token = "0x600A71E")]
|
||||
[Address(RVA = "0x6F3520", Offset = "0x6F2520", VA = "0x1806F3520", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat160.Create();
|
||||
uint[] p = SecP160R1Field.P;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP160R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
SecP160R1Field.Multiply(array, array2, array);
|
||||
new SecP160R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A71F RID: 42783 RVA: 0x0023E4B4 File Offset: 0x0023C6B4
|
||||
[Token(Token = "0x600A71F")]
|
||||
[Address(RVA = "0x6F3AB0", Offset = "0x6F2AB0", VA = "0x1806F3AB0", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A71F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat160::Create))
|
||||
call:void(SecP160R1Field::Negate, ldfld:uint32[](SecP160R1FieldElement::x, ldloc:SecP160R1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP160R1FieldElement::x, newobj:SecP160R1FieldElement(SecP160R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A720 RID: 42784 RVA: 0x0023E4E0 File Offset: 0x0023C6E0
|
||||
[Token(Token = "0x600A720")]
|
||||
[Address(RVA = "0x6F3D60", Offset = "0x6F2D60", VA = "0x1806F3D60", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A720)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat160::Create))
|
||||
call:void(SecP160R1Field::Square, ldfld:uint32[](SecP160R1FieldElement::x, ldloc:SecP160R1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP160R1FieldElement::x, newobj:SecP160R1FieldElement(SecP160R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A721 RID: 42785 RVA: 0x0023E50C File Offset: 0x0023C70C
|
||||
[Token(Token = "0x600A721")]
|
||||
[Address(RVA = "0x6F38A0", Offset = "0x6F28A0", VA = "0x1806F38A0", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A721)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat160::Create))
|
||||
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP160R1FieldElement::x, ldloc:SecP160R1FieldElement(this)))
|
||||
call:void(Mod::Invert, ldsfld:uint32[](SecP160R1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP160R1FieldElement::x, newobj:SecP160R1FieldElement(SecP160R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A722 RID: 42786 RVA: 0x0023E540 File Offset: 0x0023C740
|
||||
[Token(Token = "0x600A722")]
|
||||
[Address(RVA = "0x6F3B40", Offset = "0x6F2B40", VA = "0x1806F3B40", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (Nat160.IsZero(array) || Nat160.IsOne(array));
|
||||
uint[] array2 = Nat160.Create();
|
||||
SecP160R1Field.Square(array, array2);
|
||||
SecP160R1Field.Multiply(array2, array, array2);
|
||||
uint[] array3 = Nat160.Create();
|
||||
SecP160R1Field.SquareN(array2, 2, array3);
|
||||
SecP160R1Field.Multiply(array3, array2, array3);
|
||||
SecP160R1Field.SquareN(array3, 4, array2);
|
||||
SecP160R1Field.Multiply(array2, array3, array2);
|
||||
SecP160R1Field.SquareN(array2, 8, array3);
|
||||
SecP160R1Field.Multiply(array3, array2, array3);
|
||||
SecP160R1Field.SquareN(array3, 16, array2);
|
||||
SecP160R1Field.Multiply(array2, array3, array2);
|
||||
SecP160R1Field.SquareN(array2, 32, array3);
|
||||
SecP160R1Field.Multiply(array3, array2, array3);
|
||||
SecP160R1Field.SquareN(array3, 64, array2);
|
||||
SecP160R1Field.Multiply(array2, array3, array2);
|
||||
SecP160R1Field.Square(array2, array3);
|
||||
SecP160R1Field.Multiply(array3, array, array3);
|
||||
SecP160R1Field.SquareN(array3, 29, array3);
|
||||
SecP160R1Field.Square(array3, array2);
|
||||
if (Nat160.Eq(array, array2))
|
||||
{
|
||||
new SecP160R1FieldElement().x = array3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A723 RID: 42787 RVA: 0x0023E638 File Offset: 0x0023C838
|
||||
[Token(Token = "0x600A723")]
|
||||
[Address(RVA = "0x6F36C0", Offset = "0x6F26C0", VA = "0x1806F36C0", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A723)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP160R1FieldElement[exp:ECFieldElement](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: 0x0600A724 RID: 42788 RVA: 0x0023E654 File Offset: 0x0023C854
|
||||
[Token(Token = "0x600A724")]
|
||||
[Address(RVA = "0x6F3750", Offset = "0x6F2750", VA = "0x1806F3750", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A724)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP160R1FieldElement[exp:ECFieldElement](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: 0x0600A725 RID: 42789 RVA: 0x0023E670 File Offset: 0x0023C870
|
||||
[Token(Token = "0x600A725")]
|
||||
[Address(RVA = "0x6F36A0", Offset = "0x6F26A0", VA = "0x1806F36A0", Slot = "27")]
|
||||
public virtual bool Equals(SecP160R1FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
return Nat160.Eq(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A726 RID: 42790 RVA: 0x0023E69C File Offset: 0x0023C89C
|
||||
[Token(Token = "0x600A726")]
|
||||
[Address(RVA = "0x6F37E0", Offset = "0x6F27E0", VA = "0x1806F37E0", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
SecP160R1FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 5);
|
||||
}
|
||||
|
||||
// Token: 0x04006D15 RID: 27925
|
||||
[Token(Token = "0x4006D15")]
|
||||
public static readonly BigInteger Q = SecP160R1Curve.q;
|
||||
|
||||
// Token: 0x04006D16 RID: 27926
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D16")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+333
@@ -0,0 +1,333 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B1F RID: 6943
|
||||
[Token(Token = "0x2001B1F")]
|
||||
internal class SecP160R1Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600A728 RID: 42792 RVA: 0x0023E6E4 File Offset: 0x0023C8E4
|
||||
[Token(Token = "0x600A728")]
|
||||
[Address(RVA = "0x6F6520", Offset = "0x6F5520", VA = "0x1806F6520")]
|
||||
public SecP160R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A729 RID: 42793 RVA: 0x0023E6F4 File Offset: 0x0023C8F4
|
||||
[Token(Token = "0x600A729")]
|
||||
[Address(RVA = "0x6F6540", Offset = "0x6F5540", VA = "0x1806F6540")]
|
||||
public SecP160R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A729)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A72A RID: 42794 RVA: 0x0023E71C File Offset: 0x0023C91C
|
||||
[Token(Token = "0x600A72A")]
|
||||
[Address(RVA = "0x6E4C90", Offset = "0x6E3C90", VA = "0x1806E4C90")]
|
||||
internal SecP160R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A72B RID: 42795 RVA: 0x0023E72C File Offset: 0x0023C92C
|
||||
[Token(Token = "0x600A72B")]
|
||||
[Address(RVA = "0x6F5C80", Offset = "0x6F4C80", VA = "0x1806F5C80", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A72B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP160R1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP160R1Point[exp:ECPoint](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: 0x0600A72C RID: 42796 RVA: 0x0023E748 File Offset: 0x0023C948
|
||||
[Token(Token = "0x600A72C")]
|
||||
[Address(RVA = "0x6F5400", Offset = "0x6F4400", VA = "0x1806F5400", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity && !b.IsInfinity && this != b)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat160.CreateExt();
|
||||
uint[] array2 = Nat160.Create();
|
||||
uint[] array3 = Nat160.Create();
|
||||
uint[] array4 = Nat160.Create();
|
||||
if (array4 == 0)
|
||||
{
|
||||
SecP160R1Field.Square(array4, array3);
|
||||
SecP160R1Field.Multiply(array3, array3, array2);
|
||||
SecP160R1Field.Multiply(array3, array3, array3);
|
||||
SecP160R1Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
SecP160R1Field.Multiply(array4, array4, array);
|
||||
SecP160R1Field.Multiply(array4, array4, array4);
|
||||
SecP160R1Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat160.Create();
|
||||
int num;
|
||||
if (num != 0)
|
||||
{
|
||||
int num2 = Nat.SubWordFrom(5, (uint)(-2147483647), array5);
|
||||
}
|
||||
int num3;
|
||||
if (num3 != 0)
|
||||
{
|
||||
int num4 = Nat.SubWordFrom(5, (uint)(-2147483647), array2);
|
||||
}
|
||||
if (!Nat160.IsZero(array5))
|
||||
{
|
||||
SecP160R1Field.Square(array5, array3);
|
||||
uint[] array6 = Nat160.Create();
|
||||
SecP160R1Field.Multiply(array3, array5, array6);
|
||||
SecP160R1Field.Negate(array6, array6);
|
||||
SecP160R1Field.Reduce32(Nat160.AddBothTo(array3, array3, array6), array6);
|
||||
SecP160R1FieldElement secP160R1FieldElement = new SecP160R1FieldElement();
|
||||
secP160R1FieldElement.x = array4;
|
||||
SecP160R1Field.Square(array2, array4);
|
||||
uint[] x = secP160R1FieldElement.x;
|
||||
if (Nat160.Sub(x, array6, x) != 0)
|
||||
{
|
||||
int num5 = Nat.SubWordFrom(5, (uint)(-2147483647), x);
|
||||
}
|
||||
SecP160R1FieldElement secP160R1FieldElement2 = new SecP160R1FieldElement();
|
||||
secP160R1FieldElement2.x = array6;
|
||||
uint[] x2 = secP160R1FieldElement.x;
|
||||
if (Nat160.Sub(array3, x2, array6) != 0)
|
||||
{
|
||||
int num6 = Nat.SubWordFrom(5, (uint)(-2147483647), array6);
|
||||
}
|
||||
uint[] x3 = secP160R1FieldElement2.x;
|
||||
if (Nat160.MulAddTo(x3, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local16->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_207;
|
||||
}
|
||||
uint[] pext = SecP160R1Field.PExt;
|
||||
if (!Nat.Gte(10, array, pext))
|
||||
{
|
||||
goto IL_207;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP160R1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
|
||||
{
|
||||
int length = SecP160R1Field.PExtInv.Length;
|
||||
uint num7 = Nat.IncAt(10, array, length);
|
||||
}
|
||||
IL_207:
|
||||
uint[] x4 = secP160R1FieldElement2.x;
|
||||
SecP160R1Field.Reduce(array, x4);
|
||||
SecP160R1FieldElement secP160R1FieldElement3 = new SecP160R1FieldElement();
|
||||
secP160R1FieldElement3.x = array5;
|
||||
SecP160R1Field.Multiply(array5, x3, array5);
|
||||
uint[] x5 = secP160R1FieldElement3.x;
|
||||
SecP160R1Field.Multiply(x5, array5, x5);
|
||||
ECFieldElement[] array7 = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600A72D RID: 42797 RVA: 0x0023E9CC File Offset: 0x0023CBCC
|
||||
[Token(Token = "0x600A72D")]
|
||||
[Address(RVA = "0x6F5E20", Offset = "0x6F4E20", VA = "0x1806F5E20", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
while (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y != 0)
|
||||
{
|
||||
if (y.IsOne)
|
||||
{
|
||||
break;
|
||||
}
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
uint[] array = Nat160.Create();
|
||||
uint[] array2 = Nat160.Create();
|
||||
uint[] array3 = Nat160.Create();
|
||||
SecP160R1Field.Square(array3, array3);
|
||||
uint[] array4 = Nat160.Create();
|
||||
SecP160R1Field.Square(array3, array4);
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
}
|
||||
int num;
|
||||
if (num != 0)
|
||||
{
|
||||
int num2 = Nat.SubWordFrom(5, (uint)(-2147483647), array);
|
||||
}
|
||||
SecP160R1Field.Multiply(array2, array, array2);
|
||||
SecP160R1Field.Reduce32(Nat160.AddBothTo(array2, array2, array2), array2);
|
||||
SecP160R1Field.Multiply(array3, array2, array3);
|
||||
int num3 = 0;
|
||||
SecP160R1Field.Reduce32(Nat.ShiftUpBits(5, array3, 2, (uint)num3), array3);
|
||||
int num4 = 0;
|
||||
SecP160R1Field.Reduce32(Nat.ShiftUpBits(5, array4, 3, (uint)num4, array), array);
|
||||
SecP160R1FieldElement secP160R1FieldElement = new SecP160R1FieldElement();
|
||||
secP160R1FieldElement.x = array4;
|
||||
SecP160R1Field.Square(array2, array4);
|
||||
uint[] x2 = secP160R1FieldElement.x;
|
||||
if (Nat160.Sub(x2, array3, x2) != 0)
|
||||
{
|
||||
int num5 = Nat.SubWordFrom(5, (uint)(-2147483647), x2);
|
||||
}
|
||||
uint[] x3 = secP160R1FieldElement.x;
|
||||
if (Nat160.Sub(x3, array3, x3) != 0)
|
||||
{
|
||||
int num6 = Nat.SubWordFrom(5, (uint)(-2147483647), x3);
|
||||
}
|
||||
SecP160R1FieldElement secP160R1FieldElement2 = new SecP160R1FieldElement();
|
||||
secP160R1FieldElement2.x = array3;
|
||||
uint[] x4 = secP160R1FieldElement.x;
|
||||
if (Nat160.Sub(array3, x4, array3) != 0)
|
||||
{
|
||||
int num7 = Nat.SubWordFrom(5, (uint)(-2147483647), array3);
|
||||
}
|
||||
uint[] x5 = secP160R1FieldElement2.x;
|
||||
SecP160R1Field.Multiply(x5, array2, x5);
|
||||
uint[] x6 = secP160R1FieldElement2.x;
|
||||
if (Nat160.Sub(x6, array, x6) != 0)
|
||||
{
|
||||
int num8 = Nat.SubWordFrom(5, (uint)(-2147483647), x6);
|
||||
}
|
||||
SecP160R1FieldElement secP160R1FieldElement3 = new SecP160R1FieldElement();
|
||||
secP160R1FieldElement3.x = array2;
|
||||
uint num9;
|
||||
if (num9 == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local20->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_228;
|
||||
}
|
||||
uint[] p = SecP160R1Field.P;
|
||||
if (!Nat160.Gte(array2, p))
|
||||
{
|
||||
goto IL_228;
|
||||
}
|
||||
}
|
||||
uint num10 = Nat.AddWordTo(5, (uint)(-2147483647), array2);
|
||||
IL_228:
|
||||
uint[] x7 = secP160R1FieldElement3.x;
|
||||
(new ECFieldElement[1])[0] = secP160R1FieldElement3;
|
||||
bool withCompression = this.m_withCompression;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A72E RID: 42798 RVA: 0x0023EC28 File Offset: 0x0023CE28
|
||||
[Token(Token = "0x600A72E")]
|
||||
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag3 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A72F RID: 42799 RVA: 0x0023EC78 File Offset: 0x0023CE78
|
||||
[Token(Token = "0x600A72F")]
|
||||
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A730 RID: 42800 RVA: 0x0023ECA8 File Offset: 0x0023CEA8
|
||||
[Token(Token = "0x600A730")]
|
||||
[Address(RVA = "0x6F5D20", Offset = "0x6F4D20", VA = "0x1806F5D20", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+323
@@ -0,0 +1,323 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B20 RID: 6944
|
||||
[Token(Token = "0x2001B20")]
|
||||
internal class SecP160R2Curve : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600A731 RID: 42801 RVA: 0x0023ECE0 File Offset: 0x0023CEE0
|
||||
[Token(Token = "0x600A731")]
|
||||
[Address(RVA = "0x6FB050", Offset = "0x6FA050", VA = "0x1806FB050")]
|
||||
public SecP160R2Curve()
|
||||
{
|
||||
BigInteger bigInteger = SecP160R2Curve.q;
|
||||
base..ctor(bigInteger);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
SecP160R2Point secP160R2Point = new SecP160R2Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = secP160R2Point;
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC70");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("B4E134D3FB59EB8BAB57274904664D5AF50388BA");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("0100000000000000000000351EE786A818F3A1A16B");
|
||||
BigInteger bigInteger4 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger4;
|
||||
BigInteger one = BigInteger.One;
|
||||
this.m_cofactor = one;
|
||||
this.m_coord = (int)((ulong)2L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A732 RID: 42802 RVA: 0x0023ED94 File Offset: 0x0023CF94
|
||||
[Token(Token = "0x600A732")]
|
||||
[Address(RVA = "0x6FAB70", Offset = "0x6F9B70", VA = "0x1806FAB70", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A732)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP160R2Curve(var_0_05, newobj:SecP160R2Curve(SecP160R2Curve::.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: 0x0600A733 RID: 42803 RVA: 0x0023EDA8 File Offset: 0x0023CFA8
|
||||
[Token(Token = "0x600A733")]
|
||||
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 2;
|
||||
}
|
||||
|
||||
// Token: 0x17001A3A RID: 6714
|
||||
// (get) Token: 0x0600A734 RID: 42804 RVA: 0x0023EDBC File Offset: 0x0023CFBC
|
||||
[Token(Token = "0x17001A3A")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600A734")]
|
||||
[Address(RVA = "0x6FB2A0", Offset = "0x6FA2A0", VA = "0x1806FB2A0", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return SecP160R2Curve.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A3B RID: 6715
|
||||
// (get) Token: 0x0600A735 RID: 42805 RVA: 0x0023EDD0 File Offset: 0x0023CFD0
|
||||
[Token(Token = "0x17001A3B")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A735")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A735)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP160R2Point(var_0_06, ldfld:SecP160R2Point(SecP160R2Curve::m_infinity, ldloc:SecP160R2Curve(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: 0x17001A3C RID: 6716
|
||||
// (get) Token: 0x0600A736 RID: 42806 RVA: 0x0023EDE4 File Offset: 0x0023CFE4
|
||||
[Token(Token = "0x17001A3C")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A736")]
|
||||
[Address(RVA = "0x6FB230", Offset = "0x6FA230", VA = "0x1806FB230", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return SecP160R2Curve.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A737 RID: 42807 RVA: 0x0023EE04 File Offset: 0x0023D004
|
||||
[Token(Token = "0x600A737")]
|
||||
[Address(RVA = "0x6FAF50", Offset = "0x6F9F50", VA = "0x1806FAF50", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A737)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP160R2FieldElement(var_0_06, newobj:SecP160R2FieldElement(SecP160R2FieldElement::.ctor, 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: 0x0600A738 RID: 42808 RVA: 0x0023EE18 File Offset: 0x0023D018
|
||||
[Token(Token = "0x600A738")]
|
||||
[Address(RVA = "0x6FAEC0", Offset = "0x6F9EC0", VA = "0x1806FAEC0", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A738)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2Curve::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:SecP160R2Point(var_0_09, newobj:SecP160R2Point(SecP160R2Point::.ctor, ldloc:SecP160R2Curve[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: 0x0600A739 RID: 42809 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A739")]
|
||||
[Address(RVA = "0x6FAE20", Offset = "0x6F9E20", VA = "0x1806FAE20", 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: 0x0600A73A RID: 42810 RVA: 0x0023EE30 File Offset: 0x0023D030
|
||||
[Token(Token = "0x600A73A")]
|
||||
[Address(RVA = "0x6FABC0", Offset = "0x6F9BC0", VA = "0x1806FABC0", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_4A;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 10;
|
||||
IL_4A:
|
||||
SecP160R2Curve.SecP160R2LookupTable secP160R2LookupTable;
|
||||
secP160R2LookupTable.m_outer = 0;
|
||||
secP160R2LookupTable.m_table = array;
|
||||
secP160R2LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A73B RID: 42811 RVA: 0x0023EEA4 File Offset: 0x0023D0A4
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A73B")]
|
||||
[Address(RVA = "0x6FAFB0", Offset = "0x6F9FB0", VA = "0x1806FAFB0")]
|
||||
static SecP160R2Curve()
|
||||
{
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73");
|
||||
SecP160R2Curve.q = new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x04006D17 RID: 27927
|
||||
[Token(Token = "0x4006D17")]
|
||||
public static readonly BigInteger q;
|
||||
|
||||
// Token: 0x04006D18 RID: 27928
|
||||
[Token(Token = "0x4006D18")]
|
||||
private const int SECP160R2_DEFAULT_COORDS = 2;
|
||||
|
||||
// Token: 0x04006D19 RID: 27929
|
||||
[Token(Token = "0x4006D19")]
|
||||
private const int SECP160R2_FE_INTS = 5;
|
||||
|
||||
// Token: 0x04006D1A RID: 27930
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006D1A")]
|
||||
protected readonly SecP160R2Point m_infinity;
|
||||
|
||||
// Token: 0x02001B21 RID: 6945
|
||||
[Token(Token = "0x2001B21")]
|
||||
private class SecP160R2LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A73C RID: 42812 RVA: 0x0023EEC8 File Offset: 0x0023D0C8
|
||||
[Token(Token = "0x600A73C")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecP160R2LookupTable(SecP160R2Curve outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001A3D RID: 6717
|
||||
// (get) Token: 0x0600A73D RID: 42813 RVA: 0x0023EEF0 File Offset: 0x0023D0F0
|
||||
[Token(Token = "0x17001A3D")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A73D")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A73E RID: 42814 RVA: 0x0023EF04 File Offset: 0x0023D104
|
||||
[Token(Token = "0x600A73E")]
|
||||
[Address(RVA = "0x6FD1E0", Offset = "0x6FC1E0", VA = "0x1806FD1E0", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat160.Create();
|
||||
uint[] array2 = Nat160.Create();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 10;
|
||||
num2++;
|
||||
}
|
||||
SecP160R2Curve outer = this.m_outer;
|
||||
new SecP160R2FieldElement().x = array;
|
||||
new SecP160R2FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D1B RID: 27931
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D1B")]
|
||||
private readonly SecP160R2Curve m_outer;
|
||||
|
||||
// Token: 0x04006D1C RID: 27932
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D1C")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006D1D RID: 27933
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D1D")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+329
@@ -0,0 +1,329 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B22 RID: 6946
|
||||
[Token(Token = "0x2001B22")]
|
||||
internal class SecP160R2Field
|
||||
{
|
||||
// Token: 0x0600A73F RID: 42815 RVA: 0x0023EF84 File Offset: 0x0023D184
|
||||
[Token(Token = "0x600A73F")]
|
||||
[Address(RVA = "0x6FC630", Offset = "0x6FB630", VA = "0x1806FC630")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat160.Add(x, y, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP160R2Field.P;
|
||||
if (!Nat160.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num = Nat.Add33To(5, (uint)21389, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A740 RID: 42816 RVA: 0x0023EFCC File Offset: 0x0023D1CC
|
||||
[Token(Token = "0x600A740")]
|
||||
[Address(RVA = "0x6FC3E0", Offset = "0x6FB3E0", VA = "0x1806FC3E0")]
|
||||
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Add(10, xx, yy, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP160R2Field.PExt;
|
||||
if (!Nat.Gte(10, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP160R2Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP160R2Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(10, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A741 RID: 42817 RVA: 0x0023F038 File Offset: 0x0023D238
|
||||
[Token(Token = "0x600A741")]
|
||||
[Address(RVA = "0x6FC560", Offset = "0x6FB560", VA = "0x1806FC560")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
if (Nat.Inc(5, x, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP160R2Field.P;
|
||||
if (!Nat160.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num = Nat.Add33To(5, (uint)21389, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A742 RID: 42818 RVA: 0x0023F080 File Offset: 0x0023D280
|
||||
[Token(Token = "0x600A742")]
|
||||
[Address(RVA = "0x6FC710", Offset = "0x6FB710", VA = "0x1806FC710")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat160.FromBigInteger(x);
|
||||
if ("{il2cpp array field local2->}" == (ulong)(-1L))
|
||||
{
|
||||
uint[] p = SecP160R2Field.P;
|
||||
if (Nat160.Gte(array, p))
|
||||
{
|
||||
int num = Nat160.SubFrom(SecP160R2Field.P, array);
|
||||
}
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A743 RID: 42819 RVA: 0x0023F0C4 File Offset: 0x0023D2C4
|
||||
[Token(Token = "0x600A743")]
|
||||
[Address(RVA = "0x6FC800", Offset = "0x6FB800", VA = "0x1806FC800")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
if ("{il2cpp array field x->}" != (ulong)1L)
|
||||
{
|
||||
uint[] p = SecP160R2Field.P;
|
||||
uint num = Nat160.Add(x, p, z);
|
||||
uint num2 = Nat.ShiftDownBit(5, z, num);
|
||||
return;
|
||||
}
|
||||
int num3 = 0;
|
||||
uint num4 = Nat.ShiftDownBit(5, x, (uint)num3, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A744 RID: 42820 RVA: 0x0023F108 File Offset: 0x0023D308
|
||||
[Token(Token = "0x600A744")]
|
||||
[Address(RVA = "0x6FCA50", Offset = "0x6FBA50", VA = "0x1806FCA50")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat160.CreateExt();
|
||||
Nat160.Mul(x, y, array);
|
||||
SecP160R2Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A745 RID: 42821 RVA: 0x0023F12C File Offset: 0x0023D32C
|
||||
[Token(Token = "0x600A745")]
|
||||
[Address(RVA = "0x6FC8E0", Offset = "0x6FB8E0", VA = "0x1806FC8E0")]
|
||||
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
|
||||
{
|
||||
if (Nat160.MulAddTo(x, y, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP160R2Field.PExt;
|
||||
if (!Nat.Gte(10, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP160R2Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP160R2Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(10, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A746 RID: 42822 RVA: 0x0023F194 File Offset: 0x0023D394
|
||||
[Token(Token = "0x600A746")]
|
||||
[Address(RVA = "0x6FCAF0", Offset = "0x6FBAF0", VA = "0x1806FCAF0")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat160.IsZero(x))
|
||||
{
|
||||
int num = Nat160.Sub(SecP160R2Field.P, x, z);
|
||||
return;
|
||||
}
|
||||
Nat160.Zero(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A747 RID: 42823 RVA: 0x0023F1C0 File Offset: 0x0023D3C0
|
||||
[Token(Token = "0x600A747")]
|
||||
[Address(RVA = "0x6FCC70", Offset = "0x6FBC70", VA = "0x1806FCC70")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
ulong num2 = Nat160.Mul33Add((uint)21389, xx, 5, xx, num, z, num);
|
||||
int num3 = 0;
|
||||
if (Nat160.Mul33DWordAdd((uint)21389, num2, z, num3) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP160R2Field.P;
|
||||
if (!Nat160.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num4 = Nat.Add33To(5, (uint)21389, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A748 RID: 42824 RVA: 0x0023F224 File Offset: 0x0023D424
|
||||
[Token(Token = "0x600A748")]
|
||||
[Address(RVA = "0x6FCB90", Offset = "0x6FBB90", VA = "0x1806FCB90")]
|
||||
public static void Reduce32(uint x, uint[] z)
|
||||
{
|
||||
if (x != (uint)0)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat160.Mul33WordAdd((uint)21389, x, z, num) != (uint)0)
|
||||
{
|
||||
goto IL_33;
|
||||
}
|
||||
}
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP160R2Field.P;
|
||||
if (!Nat160.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
IL_33:
|
||||
uint num2 = Nat.Add33To(5, (uint)21389, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A749 RID: 42825 RVA: 0x0023F278 File Offset: 0x0023D478
|
||||
[Token(Token = "0x600A749")]
|
||||
[Address(RVA = "0x6FCE50", Offset = "0x6FBE50", VA = "0x1806FCE50")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat160.CreateExt();
|
||||
Nat160.Square(x, array);
|
||||
SecP160R2Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A74A RID: 42826 RVA: 0x0023F29C File Offset: 0x0023D49C
|
||||
[Token(Token = "0x600A74A")]
|
||||
[Address(RVA = "0x6FCD70", Offset = "0x6FBD70", VA = "0x1806FCD70")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat160.CreateExt();
|
||||
Nat160.Square(x, array);
|
||||
SecP160R2Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
Nat160.Square(z, array);
|
||||
SecP160R2Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A74B RID: 42827 RVA: 0x0023F2D4 File Offset: 0x0023D4D4
|
||||
[Token(Token = "0x600A74B")]
|
||||
[Address(RVA = "0x6FCFF0", Offset = "0x6FBFF0", VA = "0x1806FCFF0")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat160.Sub(x, y, z) != 0)
|
||||
{
|
||||
int num = Nat.Sub33From(5, (uint)21389, z);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A74C RID: 42828 RVA: 0x0023F2FC File Offset: 0x0023D4FC
|
||||
[Token(Token = "0x600A74C")]
|
||||
[Address(RVA = "0x6FCEE0", Offset = "0x6FBEE0", VA = "0x1806FCEE0")]
|
||||
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Sub(10, xx, yy, zz) != 0)
|
||||
{
|
||||
uint[] pextInv = SecP160R2Field.PExtInv;
|
||||
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
|
||||
{
|
||||
int length = SecP160R2Field.PExtInv.Length;
|
||||
int num = Nat.DecAt(10, zz, length);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A74D RID: 42829 RVA: 0x0023F348 File Offset: 0x0023D548
|
||||
[Token(Token = "0x600A74D")]
|
||||
[Address(RVA = "0x6FD030", Offset = "0x6FC030", VA = "0x1806FD030")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat.ShiftUpBit(5, x, (uint)num, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP160R2Field.P;
|
||||
if (!Nat160.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num2 = Nat.Add33To(5, (uint)21389, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A74E RID: 42830 RVA: 0x0023F394 File Offset: 0x0023D594
|
||||
[Token(Token = "0x600A74E")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecP160R2Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A74F RID: 42831 RVA: 0x0023F3A8 File Offset: 0x0023D5A8
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A74F")]
|
||||
[Address(RVA = "0x6FD110", Offset = "0x6FC110", VA = "0x1806FD110")]
|
||||
static SecP160R2Field()
|
||||
{
|
||||
uint[] array = new uint[5];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.27FED0F92A97C41B08D3115553BBDC064F417B6E).FieldHandle);
|
||||
SecP160R2Field.P = array;
|
||||
uint[] array2 = new uint[10];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.60A08108A32C9D3F263B2F42095A2694B7C1C1EF).FieldHandle);
|
||||
SecP160R2Field.PExt = array2;
|
||||
uint[] array3 = new uint[7];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.32ECB35FF8400B4E56FF5E09588FB20DD60350E7).FieldHandle);
|
||||
SecP160R2Field.PExtInv = array3;
|
||||
}
|
||||
|
||||
// Token: 0x04006D1E RID: 27934
|
||||
[Token(Token = "0x4006D1E")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04006D1F RID: 27935
|
||||
[Token(Token = "0x4006D1F")]
|
||||
internal static readonly uint[] PExt;
|
||||
|
||||
// Token: 0x04006D20 RID: 27936
|
||||
[Token(Token = "0x4006D20")]
|
||||
private static readonly uint[] PExtInv;
|
||||
|
||||
// Token: 0x04006D21 RID: 27937
|
||||
[Token(Token = "0x4006D21")]
|
||||
private const uint P4 = 4294967295U;
|
||||
|
||||
// Token: 0x04006D22 RID: 27938
|
||||
[Token(Token = "0x4006D22")]
|
||||
private const uint PExt9 = 4294967295U;
|
||||
|
||||
// Token: 0x04006D23 RID: 27939
|
||||
[Token(Token = "0x4006D23")]
|
||||
private const uint PInv33 = 21389U;
|
||||
}
|
||||
}
|
||||
+463
@@ -0,0 +1,463 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B23 RID: 6947
|
||||
[Token(Token = "0x2001B23")]
|
||||
internal class SecP160R2FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x0600A750 RID: 42832 RVA: 0x0023F400 File Offset: 0x0023D600
|
||||
[Token(Token = "0x600A750")]
|
||||
[Address(RVA = "0x6FC140", Offset = "0x6FB140", VA = "0x1806FC140")]
|
||||
public SecP160R2FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A750)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_4E:
|
||||
stloc:ArgumentException(var_5_5D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP160R2FieldElement"), ldstr:string("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.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: 0x0600A751 RID: 42833 RVA: 0x0023F46C File Offset: 0x0023D66C
|
||||
[Token(Token = "0x600A751")]
|
||||
[Address(RVA = "0x6FC110", Offset = "0x6FB110", VA = "0x1806FC110")]
|
||||
public SecP160R2FieldElement()
|
||||
{
|
||||
uint[] array = Nat160.Create();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A752 RID: 42834 RVA: 0x0023F490 File Offset: 0x0023D690
|
||||
[Token(Token = "0x600A752")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecP160R2FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001A3E RID: 6718
|
||||
// (get) Token: 0x0600A753 RID: 42835 RVA: 0x0023F4AC File Offset: 0x0023D6AC
|
||||
[Token(Token = "0x17001A3E")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600A753")]
|
||||
[Address(RVA = "0x6F42A0", Offset = "0x6F32A0", VA = "0x1806F42A0", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat160.IsZero(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A3F RID: 6719
|
||||
// (get) Token: 0x0600A754 RID: 42836 RVA: 0x0023F4C4 File Offset: 0x0023D6C4
|
||||
[Token(Token = "0x17001A3F")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600A754")]
|
||||
[Address(RVA = "0x6F4290", Offset = "0x6F3290", VA = "0x1806F4290", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat160.IsOne(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A755 RID: 42837 RVA: 0x0023F4DC File Offset: 0x0023D6DC
|
||||
[Token(Token = "0x600A755")]
|
||||
[Address(RVA = "0x6F3F50", Offset = "0x6F2F50", VA = "0x1806F3F50", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat160.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A756 RID: 42838 RVA: 0x0023F500 File Offset: 0x0023D700
|
||||
[Token(Token = "0x600A756")]
|
||||
[Address(RVA = "0x6F3F70", Offset = "0x6F2F70", VA = "0x1806F3F70", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat160.ToBigInteger(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001A40 RID: 6720
|
||||
// (get) Token: 0x0600A757 RID: 42839 RVA: 0x0023F518 File Offset: 0x0023D718
|
||||
[Token(Token = "0x17001A40")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600A757")]
|
||||
[Address(RVA = "0x6FC340", Offset = "0x6FB340", VA = "0x1806FC340", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecP160R2Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A41 RID: 6721
|
||||
// (get) Token: 0x0600A758 RID: 42840 RVA: 0x0023F52C File Offset: 0x0023D72C
|
||||
[Token(Token = "0x17001A41")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A758")]
|
||||
[Address(RVA = "0x6FC370", Offset = "0x6FB370", VA = "0x1806FC370", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return SecP160R2FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A759 RID: 42841 RVA: 0x0023F54C File Offset: 0x0023D74C
|
||||
[Token(Token = "0x600A759")]
|
||||
[Address(RVA = "0x6FB440", Offset = "0x6FA440", VA = "0x1806FB440", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat160.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP160R2FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP160R2FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A75A RID: 42842 RVA: 0x0023F594 File Offset: 0x0023D794
|
||||
[Token(Token = "0x600A75A")]
|
||||
[Address(RVA = "0x6FB300", Offset = "0x6FA300", VA = "0x1806FB300", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
uint[] array = Nat160.Create();
|
||||
uint[] array2 = this.x;
|
||||
if (Nat.Inc(5, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local2->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_44;
|
||||
}
|
||||
uint[] p = SecP160R2Field.P;
|
||||
if (!Nat160.Gte(array, p))
|
||||
{
|
||||
goto IL_44;
|
||||
}
|
||||
}
|
||||
uint num = Nat.Add33To(5, (uint)21389, array);
|
||||
IL_44:
|
||||
new SecP160R2FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A75B RID: 42843 RVA: 0x0023F5F8 File Offset: 0x0023D7F8
|
||||
[Token(Token = "0x600A75B")]
|
||||
[Address(RVA = "0x6FBF40", Offset = "0x6FAF40", VA = "0x1806FBF40", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat160.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP160R2FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
int num;
|
||||
if (num != 0)
|
||||
{
|
||||
int num2 = Nat.Sub33From(5, (uint)21389, array);
|
||||
}
|
||||
new SecP160R2FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A75C RID: 42844 RVA: 0x0023F654 File Offset: 0x0023D854
|
||||
[Token(Token = "0x600A75C")]
|
||||
[Address(RVA = "0x6FB9B0", Offset = "0x6FA9B0", VA = "0x1806FB9B0", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat160.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP160R2FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP160R2FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A75D RID: 42845 RVA: 0x0023F69C File Offset: 0x0023D89C
|
||||
[Token(Token = "0x600A75D")]
|
||||
[Address(RVA = "0x6FB580", Offset = "0x6FA580", VA = "0x1806FB580", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat160.Create();
|
||||
uint[] p = SecP160R2Field.P;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP160R2FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
SecP160R2Field.Multiply(array, array2, array);
|
||||
new SecP160R2FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A75E RID: 42846 RVA: 0x0023F6F4 File Offset: 0x0023D8F4
|
||||
[Token(Token = "0x600A75E")]
|
||||
[Address(RVA = "0x6FBAF0", Offset = "0x6FAAF0", VA = "0x1806FBAF0", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A75E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat160::Create))
|
||||
call:void(SecP160R2Field::Negate, ldfld:uint32[](SecP160R2FieldElement::x, ldloc:SecP160R2FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP160R2FieldElement::x, newobj:SecP160R2FieldElement(SecP160R2FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A75F RID: 42847 RVA: 0x0023F720 File Offset: 0x0023D920
|
||||
[Token(Token = "0x600A75F")]
|
||||
[Address(RVA = "0x6FBEB0", Offset = "0x6FAEB0", VA = "0x1806FBEB0", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A75F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat160::Create))
|
||||
call:void(SecP160R2Field::Square, ldfld:uint32[](SecP160R2FieldElement::x, ldloc:SecP160R2FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP160R2FieldElement::x, newobj:SecP160R2FieldElement(SecP160R2FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A760 RID: 42848 RVA: 0x0023F74C File Offset: 0x0023D94C
|
||||
[Token(Token = "0x600A760")]
|
||||
[Address(RVA = "0x6FB8E0", Offset = "0x6FA8E0", VA = "0x1806FB8E0", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A760)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat160::Create))
|
||||
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP160R2FieldElement::x, ldloc:SecP160R2FieldElement(this)))
|
||||
call:void(Mod::Invert, ldsfld:uint32[](SecP160R2Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP160R2FieldElement::x, newobj:SecP160R2FieldElement(SecP160R2FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A761 RID: 42849 RVA: 0x0023F780 File Offset: 0x0023D980
|
||||
[Token(Token = "0x600A761")]
|
||||
[Address(RVA = "0x6FBB80", Offset = "0x6FAB80", VA = "0x1806FBB80", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (Nat160.IsZero(array) || Nat160.IsOne(array));
|
||||
uint[] array2 = Nat160.Create();
|
||||
SecP160R2Field.Square(array, array2);
|
||||
SecP160R2Field.Multiply(array2, array, array2);
|
||||
uint[] array3 = Nat160.Create();
|
||||
SecP160R2Field.Square(array2, array3);
|
||||
SecP160R2Field.Multiply(array3, array, array3);
|
||||
uint[] array4 = Nat160.Create();
|
||||
SecP160R2Field.Square(array3, array4);
|
||||
SecP160R2Field.Multiply(array4, array, array4);
|
||||
uint[] array5 = Nat160.Create();
|
||||
SecP160R2Field.SquareN(array4, 3, array5);
|
||||
SecP160R2Field.Multiply(array5, array3, array5);
|
||||
SecP160R2Field.SquareN(array5, 7, array4);
|
||||
SecP160R2Field.Multiply(array4, array5, array4);
|
||||
SecP160R2Field.SquareN(array4, 3, array5);
|
||||
SecP160R2Field.Multiply(array5, array3, array5);
|
||||
uint[] array6 = Nat160.Create();
|
||||
SecP160R2Field.SquareN(array5, 14, array6);
|
||||
SecP160R2Field.Multiply(array6, array4, array6);
|
||||
SecP160R2Field.SquareN(array6, 31, array4);
|
||||
SecP160R2Field.Multiply(array4, array6, array4);
|
||||
SecP160R2Field.SquareN(array4, 62, array6);
|
||||
SecP160R2Field.Multiply(array6, array4, array6);
|
||||
SecP160R2Field.SquareN(array6, 3, array4);
|
||||
SecP160R2Field.Multiply(array4, array3, array4);
|
||||
SecP160R2Field.SquareN(array4, 18, array4);
|
||||
SecP160R2Field.Multiply(array4, array5, array4);
|
||||
SecP160R2Field.SquareN(array4, 2, array4);
|
||||
SecP160R2Field.Multiply(array4, array, array4);
|
||||
SecP160R2Field.SquareN(array4, 3, array4);
|
||||
SecP160R2Field.Multiply(array4, array2, array4);
|
||||
SecP160R2Field.SquareN(array4, 6, array4);
|
||||
SecP160R2Field.Multiply(array4, array3, array4);
|
||||
SecP160R2Field.SquareN(array4, 2, array4);
|
||||
SecP160R2Field.Multiply(array4, array, array4);
|
||||
SecP160R2Field.Square(array4, array2);
|
||||
if (Nat160.Eq(array, array2))
|
||||
{
|
||||
new SecP160R2FieldElement().x = array4;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A762 RID: 42850 RVA: 0x0023F928 File Offset: 0x0023DB28
|
||||
[Token(Token = "0x600A762")]
|
||||
[Address(RVA = "0x6FB700", Offset = "0x6FA700", VA = "0x1806FB700", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A762)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP160R2FieldElement[exp:ECFieldElement](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: 0x0600A763 RID: 42851 RVA: 0x0023F944 File Offset: 0x0023DB44
|
||||
[Token(Token = "0x600A763")]
|
||||
[Address(RVA = "0x6FB790", Offset = "0x6FA790", VA = "0x1806FB790", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A763)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP160R2FieldElement[exp:ECFieldElement](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: 0x0600A764 RID: 42852 RVA: 0x0023F960 File Offset: 0x0023DB60
|
||||
[Token(Token = "0x600A764")]
|
||||
[Address(RVA = "0x6F36A0", Offset = "0x6F26A0", VA = "0x1806F36A0", Slot = "27")]
|
||||
public virtual bool Equals(SecP160R2FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
return Nat160.Eq(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A765 RID: 42853 RVA: 0x0023F98C File Offset: 0x0023DB8C
|
||||
[Token(Token = "0x600A765")]
|
||||
[Address(RVA = "0x6FB820", Offset = "0x6FA820", VA = "0x1806FB820", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
SecP160R2FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 5);
|
||||
}
|
||||
|
||||
// Token: 0x04006D24 RID: 27940
|
||||
[Token(Token = "0x4006D24")]
|
||||
public static readonly BigInteger Q = SecP160R2Curve.q;
|
||||
|
||||
// Token: 0x04006D25 RID: 27941
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D25")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+333
@@ -0,0 +1,333 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B24 RID: 6948
|
||||
[Token(Token = "0x2001B24")]
|
||||
internal class SecP160R2Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600A767 RID: 42855 RVA: 0x0023F9D4 File Offset: 0x0023DBD4
|
||||
[Token(Token = "0x600A767")]
|
||||
[Address(RVA = "0x6FE590", Offset = "0x6FD590", VA = "0x1806FE590")]
|
||||
public SecP160R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A768 RID: 42856 RVA: 0x0023F9E4 File Offset: 0x0023DBE4
|
||||
[Token(Token = "0x600A768")]
|
||||
[Address(RVA = "0x6FE4D0", Offset = "0x6FD4D0", VA = "0x1806FE4D0")]
|
||||
public SecP160R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A768)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A769 RID: 42857 RVA: 0x0023FA0C File Offset: 0x0023DC0C
|
||||
[Token(Token = "0x600A769")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecP160R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A76A RID: 42858 RVA: 0x0023FA1C File Offset: 0x0023DC1C
|
||||
[Token(Token = "0x600A76A")]
|
||||
[Address(RVA = "0x6FDC30", Offset = "0x6FCC30", VA = "0x1806FDC30", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A76A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP160R2Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP160R2Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP160R2Point[exp:ECPoint](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: 0x0600A76B RID: 42859 RVA: 0x0023FA38 File Offset: 0x0023DC38
|
||||
[Token(Token = "0x600A76B")]
|
||||
[Address(RVA = "0x6FD3B0", Offset = "0x6FC3B0", VA = "0x1806FD3B0", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity && !b.IsInfinity && this != b)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat160.CreateExt();
|
||||
uint[] array2 = Nat160.Create();
|
||||
uint[] array3 = Nat160.Create();
|
||||
uint[] array4 = Nat160.Create();
|
||||
if (array4 == 0)
|
||||
{
|
||||
SecP160R2Field.Square(array4, array3);
|
||||
SecP160R2Field.Multiply(array3, array3, array2);
|
||||
SecP160R2Field.Multiply(array3, array3, array3);
|
||||
SecP160R2Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
SecP160R2Field.Multiply(array4, array4, array);
|
||||
SecP160R2Field.Multiply(array4, array4, array4);
|
||||
SecP160R2Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat160.Create();
|
||||
int num;
|
||||
if (num != 0)
|
||||
{
|
||||
int num2 = Nat.Sub33From(5, (uint)21389, array5);
|
||||
}
|
||||
int num3;
|
||||
if (num3 != 0)
|
||||
{
|
||||
int num4 = Nat.Sub33From(5, (uint)21389, array2);
|
||||
}
|
||||
if (!Nat160.IsZero(array5))
|
||||
{
|
||||
SecP160R2Field.Square(array5, array3);
|
||||
uint[] array6 = Nat160.Create();
|
||||
SecP160R2Field.Multiply(array3, array5, array6);
|
||||
SecP160R2Field.Negate(array6, array6);
|
||||
SecP160R2Field.Reduce32(Nat160.AddBothTo(array3, array3, array6), array6);
|
||||
SecP160R2FieldElement secP160R2FieldElement = new SecP160R2FieldElement();
|
||||
secP160R2FieldElement.x = array4;
|
||||
SecP160R2Field.Square(array2, array4);
|
||||
uint[] x = secP160R2FieldElement.x;
|
||||
if (Nat160.Sub(x, array6, x) != 0)
|
||||
{
|
||||
int num5 = Nat.Sub33From(5, (uint)21389, x);
|
||||
}
|
||||
SecP160R2FieldElement secP160R2FieldElement2 = new SecP160R2FieldElement();
|
||||
secP160R2FieldElement2.x = array6;
|
||||
uint[] x2 = secP160R2FieldElement.x;
|
||||
if (Nat160.Sub(array3, x2, array6) != 0)
|
||||
{
|
||||
int num6 = Nat.Sub33From(5, (uint)21389, array6);
|
||||
}
|
||||
uint[] x3 = secP160R2FieldElement2.x;
|
||||
if (Nat160.MulAddTo(x3, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local16->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_207;
|
||||
}
|
||||
uint[] pext = SecP160R2Field.PExt;
|
||||
if (!Nat.Gte(10, array, pext))
|
||||
{
|
||||
goto IL_207;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP160R2Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
|
||||
{
|
||||
int length = SecP160R2Field.PExtInv.Length;
|
||||
uint num7 = Nat.IncAt(10, array, length);
|
||||
}
|
||||
IL_207:
|
||||
uint[] x4 = secP160R2FieldElement2.x;
|
||||
SecP160R2Field.Reduce(array, x4);
|
||||
SecP160R2FieldElement secP160R2FieldElement3 = new SecP160R2FieldElement();
|
||||
secP160R2FieldElement3.x = array5;
|
||||
SecP160R2Field.Multiply(array5, x3, array5);
|
||||
uint[] x5 = secP160R2FieldElement3.x;
|
||||
SecP160R2Field.Multiply(x5, array5, x5);
|
||||
ECFieldElement[] array7 = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600A76C RID: 42860 RVA: 0x0023FCBC File Offset: 0x0023DEBC
|
||||
[Token(Token = "0x600A76C")]
|
||||
[Address(RVA = "0x6FDDD0", Offset = "0x6FCDD0", VA = "0x1806FDDD0", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
while (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y != 0)
|
||||
{
|
||||
if (y.IsOne)
|
||||
{
|
||||
break;
|
||||
}
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
uint[] array = Nat160.Create();
|
||||
uint[] array2 = Nat160.Create();
|
||||
uint[] array3 = Nat160.Create();
|
||||
SecP160R2Field.Square(array3, array3);
|
||||
uint[] array4 = Nat160.Create();
|
||||
SecP160R2Field.Square(array3, array4);
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
}
|
||||
int num;
|
||||
if (num != 0)
|
||||
{
|
||||
int num2 = Nat.Sub33From(5, (uint)21389, array);
|
||||
}
|
||||
SecP160R2Field.Multiply(array2, array, array2);
|
||||
SecP160R2Field.Reduce32(Nat160.AddBothTo(array2, array2, array2), array2);
|
||||
SecP160R2Field.Multiply(array3, array2, array3);
|
||||
int num3 = 0;
|
||||
SecP160R2Field.Reduce32(Nat.ShiftUpBits(5, array3, 2, (uint)num3), array3);
|
||||
int num4 = 0;
|
||||
SecP160R2Field.Reduce32(Nat.ShiftUpBits(5, array4, 3, (uint)num4, array), array);
|
||||
SecP160R2FieldElement secP160R2FieldElement = new SecP160R2FieldElement();
|
||||
secP160R2FieldElement.x = array4;
|
||||
SecP160R2Field.Square(array2, array4);
|
||||
uint[] x2 = secP160R2FieldElement.x;
|
||||
if (Nat160.Sub(x2, array3, x2) != 0)
|
||||
{
|
||||
int num5 = Nat.Sub33From(5, (uint)21389, x2);
|
||||
}
|
||||
uint[] x3 = secP160R2FieldElement.x;
|
||||
if (Nat160.Sub(x3, array3, x3) != 0)
|
||||
{
|
||||
int num6 = Nat.Sub33From(5, (uint)21389, x3);
|
||||
}
|
||||
SecP160R2FieldElement secP160R2FieldElement2 = new SecP160R2FieldElement();
|
||||
secP160R2FieldElement2.x = array3;
|
||||
uint[] x4 = secP160R2FieldElement.x;
|
||||
if (Nat160.Sub(array3, x4, array3) != 0)
|
||||
{
|
||||
int num7 = Nat.Sub33From(5, (uint)21389, array3);
|
||||
}
|
||||
uint[] x5 = secP160R2FieldElement2.x;
|
||||
SecP160R2Field.Multiply(x5, array2, x5);
|
||||
uint[] x6 = secP160R2FieldElement2.x;
|
||||
if (Nat160.Sub(x6, array, x6) != 0)
|
||||
{
|
||||
int num8 = Nat.Sub33From(5, (uint)21389, x6);
|
||||
}
|
||||
SecP160R2FieldElement secP160R2FieldElement3 = new SecP160R2FieldElement();
|
||||
secP160R2FieldElement3.x = array2;
|
||||
uint num9;
|
||||
if (num9 == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local20->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_228;
|
||||
}
|
||||
uint[] p = SecP160R2Field.P;
|
||||
if (!Nat160.Gte(array2, p))
|
||||
{
|
||||
goto IL_228;
|
||||
}
|
||||
}
|
||||
uint num10 = Nat.Add33To(5, (uint)21389, array2);
|
||||
IL_228:
|
||||
uint[] x7 = secP160R2FieldElement3.x;
|
||||
(new ECFieldElement[1])[0] = secP160R2FieldElement3;
|
||||
bool withCompression = this.m_withCompression;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A76D RID: 42861 RVA: 0x0023FF18 File Offset: 0x0023E118
|
||||
[Token(Token = "0x600A76D")]
|
||||
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag3 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A76E RID: 42862 RVA: 0x0023FF68 File Offset: 0x0023E168
|
||||
[Token(Token = "0x600A76E")]
|
||||
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A76F RID: 42863 RVA: 0x0023FF98 File Offset: 0x0023E198
|
||||
[Token(Token = "0x600A76F")]
|
||||
[Address(RVA = "0x6FDCD0", Offset = "0x6FCCD0", VA = "0x1806FDCD0", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+333
@@ -0,0 +1,333 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B25 RID: 6949
|
||||
[Token(Token = "0x2001B25")]
|
||||
internal class SecP192K1Curve : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600A770 RID: 42864 RVA: 0x0023FFD0 File Offset: 0x0023E1D0
|
||||
[Token(Token = "0x600A770")]
|
||||
[Address(RVA = "0x6FEC20", Offset = "0x6FDC20", VA = "0x1806FEC20")]
|
||||
public SecP192K1Curve()
|
||||
{
|
||||
BigInteger bigInteger = SecP192K1Curve.q;
|
||||
base..ctor(bigInteger);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
SecP192K1Point secP192K1Point = new SecP192K1Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = secP192K1Point;
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array);
|
||||
this.m_order = bigInteger2;
|
||||
BigInteger one = BigInteger.One;
|
||||
this.m_cofactor = one;
|
||||
this.m_coord = (int)((ulong)2L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A771 RID: 42865 RVA: 0x00240058 File Offset: 0x0023E258
|
||||
[Token(Token = "0x600A771")]
|
||||
[Address(RVA = "0x6FE5D0", Offset = "0x6FD5D0", VA = "0x1806FE5D0", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A771)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_1_05, ldsfld:BigInteger(SecP192K1Curve::q))
|
||||
stloc:SecP192K1Point(var_2_11, newobj:SecP192K1Point(SecP192K1Point::.ctor, ldloc:SecP192K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_3), ldloc:uint64[exp:bool](var_6)))
|
||||
stloc:int32(var_3, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecP192K1Point(SecP192K1Curve::m_infinity, ldloc:SecP192K1Curve(var_0), ldloc:SecP192K1Point(var_2_11))
|
||||
stloc:int32(var_7_24, callvirtgetter:int32(SecP192K1Curve::get_FieldSize, ldloc:SecP192K1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecP192K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_7_24))
|
||||
stloc:int32(var_9_34, callvirtgetter:int32(SecP192K1Curve::get_FieldSize, ldloc:SecP192K1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecP192K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_9_34))
|
||||
stloc:uint8[](var_10_48, call:uint8[](Hex::Decode, ldstr:string("FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D")))
|
||||
stloc:BigInteger(var_11_52, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_10_48)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecP192K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_11_52))
|
||||
stloc:BigInteger(var_12_61, ldsfld:BigInteger(BigInteger::One))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecP192K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_12_61))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecP192K1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](2)))
|
||||
}
|
||||
|
||||
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: 0x0600A772 RID: 42866 RVA: 0x002400D8 File Offset: 0x0023E2D8
|
||||
[Token(Token = "0x600A772")]
|
||||
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 2;
|
||||
}
|
||||
|
||||
// Token: 0x17001A42 RID: 6722
|
||||
// (get) Token: 0x0600A773 RID: 42867 RVA: 0x002400EC File Offset: 0x0023E2EC
|
||||
[Token(Token = "0x17001A42")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600A773")]
|
||||
[Address(RVA = "0x6FEE20", Offset = "0x6FDE20", VA = "0x1806FEE20", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return SecP192K1Curve.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A43 RID: 6723
|
||||
// (get) Token: 0x0600A774 RID: 42868 RVA: 0x00240100 File Offset: 0x0023E300
|
||||
[Token(Token = "0x17001A43")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A774")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A774)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP192K1Point(var_0_06, ldfld:SecP192K1Point(SecP192K1Curve::m_infinity, ldloc:SecP192K1Curve(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: 0x17001A44 RID: 6724
|
||||
// (get) Token: 0x0600A775 RID: 42869 RVA: 0x00240114 File Offset: 0x0023E314
|
||||
[Token(Token = "0x17001A44")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A775")]
|
||||
[Address(RVA = "0x6FEDB0", Offset = "0x6FDDB0", VA = "0x1806FEDB0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return SecP192K1Curve.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A776 RID: 42870 RVA: 0x00240134 File Offset: 0x0023E334
|
||||
[Token(Token = "0x600A776")]
|
||||
[Address(RVA = "0x6FEB20", Offset = "0x6FDB20", VA = "0x1806FEB20", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A776)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP192K1FieldElement(var_0_06, newobj:SecP192K1FieldElement(SecP192K1FieldElement::.ctor, 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: 0x0600A777 RID: 42871 RVA: 0x00240148 File Offset: 0x0023E348
|
||||
[Token(Token = "0x600A777")]
|
||||
[Address(RVA = "0x6FEA90", Offset = "0x6FDA90", VA = "0x1806FEA90", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A777)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1Curve::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:SecP192K1Point(var_0_09, newobj:SecP192K1Point(SecP192K1Point::.ctor, ldloc:SecP192K1Curve[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: 0x0600A778 RID: 42872 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A778")]
|
||||
[Address(RVA = "0x6FE9F0", Offset = "0x6FD9F0", VA = "0x1806FE9F0", 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: 0x0600A779 RID: 42873 RVA: 0x00240160 File Offset: 0x0023E360
|
||||
[Token(Token = "0x600A779")]
|
||||
[Address(RVA = "0x6FE790", Offset = "0x6FD790", VA = "0x1806FE790", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_4A;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 12;
|
||||
IL_4A:
|
||||
SecP192K1Curve.SecP192K1LookupTable secP192K1LookupTable;
|
||||
secP192K1LookupTable.m_outer = 0;
|
||||
secP192K1LookupTable.m_table = array;
|
||||
secP192K1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A77A RID: 42874 RVA: 0x002401D4 File Offset: 0x0023E3D4
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A77A")]
|
||||
[Address(RVA = "0x6FEB80", Offset = "0x6FDB80", VA = "0x1806FEB80")]
|
||||
static SecP192K1Curve()
|
||||
{
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37");
|
||||
SecP192K1Curve.q = new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x04006D26 RID: 27942
|
||||
[Token(Token = "0x4006D26")]
|
||||
public static readonly BigInteger q;
|
||||
|
||||
// Token: 0x04006D27 RID: 27943
|
||||
[Token(Token = "0x4006D27")]
|
||||
private const int SECP192K1_DEFAULT_COORDS = 2;
|
||||
|
||||
// Token: 0x04006D28 RID: 27944
|
||||
[Token(Token = "0x4006D28")]
|
||||
private const int SECP192K1_FE_INTS = 6;
|
||||
|
||||
// Token: 0x04006D29 RID: 27945
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006D29")]
|
||||
protected readonly SecP192K1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B26 RID: 6950
|
||||
[Token(Token = "0x2001B26")]
|
||||
private class SecP192K1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A77B RID: 42875 RVA: 0x002401F8 File Offset: 0x0023E3F8
|
||||
[Token(Token = "0x600A77B")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecP192K1LookupTable(SecP192K1Curve outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001A45 RID: 6725
|
||||
// (get) Token: 0x0600A77C RID: 42876 RVA: 0x00240220 File Offset: 0x0023E420
|
||||
[Token(Token = "0x17001A45")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A77C")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A77D RID: 42877 RVA: 0x00240234 File Offset: 0x0023E434
|
||||
[Token(Token = "0x600A77D")]
|
||||
[Address(RVA = "0x700E00", Offset = "0x6FFE00", VA = "0x180700E00", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat192.Create();
|
||||
uint[] array2 = Nat192.Create();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 12;
|
||||
num2++;
|
||||
}
|
||||
SecP192K1Curve outer = this.m_outer;
|
||||
new SecP192K1FieldElement().x = array;
|
||||
new SecP192K1FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D2A RID: 27946
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D2A")]
|
||||
private readonly SecP192K1Curve m_outer;
|
||||
|
||||
// Token: 0x04006D2B RID: 27947
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D2B")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006D2C RID: 27948
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D2C")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+329
@@ -0,0 +1,329 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B27 RID: 6951
|
||||
[Token(Token = "0x2001B27")]
|
||||
internal class SecP192K1Field
|
||||
{
|
||||
// Token: 0x0600A77E RID: 42878 RVA: 0x002402B4 File Offset: 0x0023E4B4
|
||||
[Token(Token = "0x600A77E")]
|
||||
[Address(RVA = "0x700250", Offset = "0x6FF250", VA = "0x180700250")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat192.Add(x, y, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP192K1Field.P;
|
||||
if (!Nat192.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num = Nat.Add33To(6, (uint)4553, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A77F RID: 42879 RVA: 0x002402FC File Offset: 0x0023E4FC
|
||||
[Token(Token = "0x600A77F")]
|
||||
[Address(RVA = "0x700000", Offset = "0x6FF000", VA = "0x180700000")]
|
||||
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Add(12, xx, yy, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP192K1Field.PExt;
|
||||
if (!Nat.Gte(12, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP192K1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP192K1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(12, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A780 RID: 42880 RVA: 0x00240368 File Offset: 0x0023E568
|
||||
[Token(Token = "0x600A780")]
|
||||
[Address(RVA = "0x700180", Offset = "0x6FF180", VA = "0x180700180")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
if (Nat.Inc(6, x, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP192K1Field.P;
|
||||
if (!Nat192.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num = Nat.Add33To(6, (uint)4553, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A781 RID: 42881 RVA: 0x002403B0 File Offset: 0x0023E5B0
|
||||
[Token(Token = "0x600A781")]
|
||||
[Address(RVA = "0x700330", Offset = "0x6FF330", VA = "0x180700330")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat192.FromBigInteger(x);
|
||||
if ("{il2cpp array field local2->}" == (ulong)(-1L))
|
||||
{
|
||||
uint[] p = SecP192K1Field.P;
|
||||
if (Nat192.Gte(array, p))
|
||||
{
|
||||
int num = Nat192.SubFrom(SecP192K1Field.P, array);
|
||||
}
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A782 RID: 42882 RVA: 0x002403F4 File Offset: 0x0023E5F4
|
||||
[Token(Token = "0x600A782")]
|
||||
[Address(RVA = "0x700420", Offset = "0x6FF420", VA = "0x180700420")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
if ("{il2cpp array field x->}" != (ulong)1L)
|
||||
{
|
||||
uint[] p = SecP192K1Field.P;
|
||||
uint num = Nat192.Add(x, p, z);
|
||||
uint num2 = Nat.ShiftDownBit(6, z, num);
|
||||
return;
|
||||
}
|
||||
int num3 = 0;
|
||||
uint num4 = Nat.ShiftDownBit(6, x, (uint)num3, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A783 RID: 42883 RVA: 0x00240438 File Offset: 0x0023E638
|
||||
[Token(Token = "0x600A783")]
|
||||
[Address(RVA = "0x700670", Offset = "0x6FF670", VA = "0x180700670")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat192.CreateExt();
|
||||
Nat192.Mul(x, y, array);
|
||||
SecP192K1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A784 RID: 42884 RVA: 0x0024045C File Offset: 0x0023E65C
|
||||
[Token(Token = "0x600A784")]
|
||||
[Address(RVA = "0x700500", Offset = "0x6FF500", VA = "0x180700500")]
|
||||
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
|
||||
{
|
||||
if (Nat192.MulAddTo(x, y, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP192K1Field.PExt;
|
||||
if (!Nat.Gte(12, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP192K1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP192K1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(12, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A785 RID: 42885 RVA: 0x002404C4 File Offset: 0x0023E6C4
|
||||
[Token(Token = "0x600A785")]
|
||||
[Address(RVA = "0x700710", Offset = "0x6FF710", VA = "0x180700710")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat192.IsZero(x))
|
||||
{
|
||||
int num = Nat192.Sub(SecP192K1Field.P, x, z);
|
||||
return;
|
||||
}
|
||||
Nat192.Zero(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A786 RID: 42886 RVA: 0x002404F0 File Offset: 0x0023E6F0
|
||||
[Token(Token = "0x600A786")]
|
||||
[Address(RVA = "0x700890", Offset = "0x6FF890", VA = "0x180700890")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
ulong num2 = Nat192.Mul33Add((uint)4553, xx, 6, xx, num, z, num);
|
||||
int num3 = 0;
|
||||
if (Nat192.Mul33DWordAdd((uint)4553, num2, z, num3) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP192K1Field.P;
|
||||
if (!Nat192.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num4 = Nat.Add33To(6, (uint)4553, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A787 RID: 42887 RVA: 0x00240554 File Offset: 0x0023E754
|
||||
[Token(Token = "0x600A787")]
|
||||
[Address(RVA = "0x7007B0", Offset = "0x6FF7B0", VA = "0x1807007B0")]
|
||||
public static void Reduce32(uint x, uint[] z)
|
||||
{
|
||||
if (x != (uint)0)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat192.Mul33WordAdd((uint)4553, x, z, num) != (uint)0)
|
||||
{
|
||||
goto IL_33;
|
||||
}
|
||||
}
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP192K1Field.P;
|
||||
if (!Nat192.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
IL_33:
|
||||
uint num2 = Nat.Add33To(6, (uint)4553, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A788 RID: 42888 RVA: 0x002405A8 File Offset: 0x0023E7A8
|
||||
[Token(Token = "0x600A788")]
|
||||
[Address(RVA = "0x700A70", Offset = "0x6FFA70", VA = "0x180700A70")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat192.CreateExt();
|
||||
Nat192.Square(x, array);
|
||||
SecP192K1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A789 RID: 42889 RVA: 0x002405CC File Offset: 0x0023E7CC
|
||||
[Token(Token = "0x600A789")]
|
||||
[Address(RVA = "0x700990", Offset = "0x6FF990", VA = "0x180700990")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat192.CreateExt();
|
||||
Nat192.Square(x, array);
|
||||
SecP192K1Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
Nat192.Square(z, array);
|
||||
SecP192K1Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A78A RID: 42890 RVA: 0x00240604 File Offset: 0x0023E804
|
||||
[Token(Token = "0x600A78A")]
|
||||
[Address(RVA = "0x700C10", Offset = "0x6FFC10", VA = "0x180700C10")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat192.Sub(x, y, z) != 0)
|
||||
{
|
||||
int num = Nat.Sub33From(6, (uint)4553, z);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A78B RID: 42891 RVA: 0x0024062C File Offset: 0x0023E82C
|
||||
[Token(Token = "0x600A78B")]
|
||||
[Address(RVA = "0x700B00", Offset = "0x6FFB00", VA = "0x180700B00")]
|
||||
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Sub(12, xx, yy, zz) != 0)
|
||||
{
|
||||
uint[] pextInv = SecP192K1Field.PExtInv;
|
||||
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
|
||||
{
|
||||
int length = SecP192K1Field.PExtInv.Length;
|
||||
int num = Nat.DecAt(12, zz, length);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A78C RID: 42892 RVA: 0x00240678 File Offset: 0x0023E878
|
||||
[Token(Token = "0x600A78C")]
|
||||
[Address(RVA = "0x700C50", Offset = "0x6FFC50", VA = "0x180700C50")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat.ShiftUpBit(6, x, (uint)num, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP192K1Field.P;
|
||||
if (!Nat192.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num2 = Nat.Add33To(6, (uint)4553, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A78D RID: 42893 RVA: 0x002406C4 File Offset: 0x0023E8C4
|
||||
[Token(Token = "0x600A78D")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecP192K1Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A78E RID: 42894 RVA: 0x002406D8 File Offset: 0x0023E8D8
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A78E")]
|
||||
[Address(RVA = "0x700D30", Offset = "0x6FFD30", VA = "0x180700D30")]
|
||||
static SecP192K1Field()
|
||||
{
|
||||
uint[] array = new uint[6];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.FB3C663794DD23F500825FF78450D198FE338938).FieldHandle);
|
||||
SecP192K1Field.P = array;
|
||||
uint[] array2 = new uint[12];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.C5515C87D04DC0D00C7984096F5E35B4944C1CB6).FieldHandle);
|
||||
SecP192K1Field.PExt = array2;
|
||||
uint[] array3 = new uint[8];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.8330271815E046D369E0B1F7673D308739FDCC07).FieldHandle);
|
||||
SecP192K1Field.PExtInv = array3;
|
||||
}
|
||||
|
||||
// Token: 0x04006D2D RID: 27949
|
||||
[Token(Token = "0x4006D2D")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04006D2E RID: 27950
|
||||
[Token(Token = "0x4006D2E")]
|
||||
internal static readonly uint[] PExt;
|
||||
|
||||
// Token: 0x04006D2F RID: 27951
|
||||
[Token(Token = "0x4006D2F")]
|
||||
private static readonly uint[] PExtInv;
|
||||
|
||||
// Token: 0x04006D30 RID: 27952
|
||||
[Token(Token = "0x4006D30")]
|
||||
private const uint P5 = 4294967295U;
|
||||
|
||||
// Token: 0x04006D31 RID: 27953
|
||||
[Token(Token = "0x4006D31")]
|
||||
private const uint PExt11 = 4294967295U;
|
||||
|
||||
// Token: 0x04006D32 RID: 27954
|
||||
[Token(Token = "0x4006D32")]
|
||||
private const uint PInv33 = 4553U;
|
||||
}
|
||||
}
|
||||
+474
@@ -0,0 +1,474 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B28 RID: 6952
|
||||
[Token(Token = "0x2001B28")]
|
||||
internal class SecP192K1FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x0600A78F RID: 42895 RVA: 0x00240730 File Offset: 0x0023E930
|
||||
[Token(Token = "0x600A78F")]
|
||||
[Address(RVA = "0x6FFD40", Offset = "0x6FED40", VA = "0x1806FFD40")]
|
||||
public SecP192K1FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A78F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_4E:
|
||||
stloc:ArgumentException(var_5_5D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP192K1FieldElement"), ldstr:string("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.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: 0x0600A790 RID: 42896 RVA: 0x0024079C File Offset: 0x0023E99C
|
||||
[Token(Token = "0x600A790")]
|
||||
[Address(RVA = "0x6FFF10", Offset = "0x6FEF10", VA = "0x1806FFF10")]
|
||||
public SecP192K1FieldElement()
|
||||
{
|
||||
uint[] array = Nat192.Create();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A791 RID: 42897 RVA: 0x002407C0 File Offset: 0x0023E9C0
|
||||
[Token(Token = "0x600A791")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecP192K1FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001A46 RID: 6726
|
||||
// (get) Token: 0x0600A792 RID: 42898 RVA: 0x002407DC File Offset: 0x0023E9DC
|
||||
[Token(Token = "0x17001A46")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600A792")]
|
||||
[Address(RVA = "0x6FFFF0", Offset = "0x6FEFF0", VA = "0x1806FFFF0", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat192.IsZero(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A47 RID: 6727
|
||||
// (get) Token: 0x0600A793 RID: 42899 RVA: 0x002407F4 File Offset: 0x0023E9F4
|
||||
[Token(Token = "0x17001A47")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600A793")]
|
||||
[Address(RVA = "0x6FFFE0", Offset = "0x6FEFE0", VA = "0x1806FFFE0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat192.IsOne(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A794 RID: 42900 RVA: 0x0024080C File Offset: 0x0023EA0C
|
||||
[Token(Token = "0x600A794")]
|
||||
[Address(RVA = "0x6FFCA0", Offset = "0x6FECA0", VA = "0x1806FFCA0", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat192.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A795 RID: 42901 RVA: 0x00240830 File Offset: 0x0023EA30
|
||||
[Token(Token = "0x600A795")]
|
||||
[Address(RVA = "0x6FFCC0", Offset = "0x6FECC0", VA = "0x1806FFCC0", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat192.ToBigInteger(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001A48 RID: 6728
|
||||
// (get) Token: 0x0600A796 RID: 42902 RVA: 0x00240848 File Offset: 0x0023EA48
|
||||
[Token(Token = "0x17001A48")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600A796")]
|
||||
[Address(RVA = "0x6FFF40", Offset = "0x6FEF40", VA = "0x1806FFF40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecP192K1Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A49 RID: 6729
|
||||
// (get) Token: 0x0600A797 RID: 42903 RVA: 0x0024085C File Offset: 0x0023EA5C
|
||||
[Token(Token = "0x17001A49")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A797")]
|
||||
[Address(RVA = "0x6FFF70", Offset = "0x6FEF70", VA = "0x1806FFF70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return SecP192K1FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A798 RID: 42904 RVA: 0x0024087C File Offset: 0x0023EA7C
|
||||
[Token(Token = "0x600A798")]
|
||||
[Address(RVA = "0x6FEFC0", Offset = "0x6FDFC0", VA = "0x1806FEFC0", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat192.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP192K1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint num;
|
||||
if (num == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local3->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_59;
|
||||
}
|
||||
uint[] p = SecP192K1Field.P;
|
||||
if (!Nat192.Gte(array, p))
|
||||
{
|
||||
goto IL_59;
|
||||
}
|
||||
}
|
||||
uint num2 = Nat.Add33To(6, (uint)4553, array);
|
||||
IL_59:
|
||||
new SecP192K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A799 RID: 42905 RVA: 0x002408F4 File Offset: 0x0023EAF4
|
||||
[Token(Token = "0x600A799")]
|
||||
[Address(RVA = "0x6FEE80", Offset = "0x6FDE80", VA = "0x1806FEE80", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
uint[] array = Nat192.Create();
|
||||
uint[] array2 = this.x;
|
||||
if (Nat.Inc(6, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local2->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_44;
|
||||
}
|
||||
uint[] p = SecP192K1Field.P;
|
||||
if (!Nat192.Gte(array, p))
|
||||
{
|
||||
goto IL_44;
|
||||
}
|
||||
}
|
||||
uint num = Nat.Add33To(6, (uint)4553, array);
|
||||
IL_44:
|
||||
new SecP192K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A79A RID: 42906 RVA: 0x00240958 File Offset: 0x0023EB58
|
||||
[Token(Token = "0x600A79A")]
|
||||
[Address(RVA = "0x6FFB40", Offset = "0x6FEB40", VA = "0x1806FFB40", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat192.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP192K1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
int num;
|
||||
if (num != 0)
|
||||
{
|
||||
int num2 = Nat.Sub33From(6, (uint)4553, array);
|
||||
}
|
||||
new SecP192K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A79B RID: 42907 RVA: 0x002409B4 File Offset: 0x0023EBB4
|
||||
[Token(Token = "0x600A79B")]
|
||||
[Address(RVA = "0x6FF5F0", Offset = "0x6FE5F0", VA = "0x1806FF5F0", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat192.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP192K1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP192K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A79C RID: 42908 RVA: 0x002409FC File Offset: 0x0023EBFC
|
||||
[Token(Token = "0x600A79C")]
|
||||
[Address(RVA = "0x6FF1A0", Offset = "0x6FE1A0", VA = "0x1806FF1A0", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat192.Create();
|
||||
uint[] p = SecP192K1Field.P;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP192K1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
SecP192K1Field.Multiply(array, array2, array);
|
||||
new SecP192K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A79D RID: 42909 RVA: 0x00240A54 File Offset: 0x0023EC54
|
||||
[Token(Token = "0x600A79D")]
|
||||
[Address(RVA = "0x6FF730", Offset = "0x6FE730", VA = "0x1806FF730", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A79D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat192::Create))
|
||||
call:void(SecP192K1Field::Negate, ldfld:uint32[](SecP192K1FieldElement::x, ldloc:SecP192K1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP192K1FieldElement::x, newobj:SecP192K1FieldElement(SecP192K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A79E RID: 42910 RVA: 0x00240A80 File Offset: 0x0023EC80
|
||||
[Token(Token = "0x600A79E")]
|
||||
[Address(RVA = "0x6FFAB0", Offset = "0x6FEAB0", VA = "0x1806FFAB0", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A79E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat192::Create))
|
||||
call:void(SecP192K1Field::Square, ldfld:uint32[](SecP192K1FieldElement::x, ldloc:SecP192K1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP192K1FieldElement::x, newobj:SecP192K1FieldElement(SecP192K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A79F RID: 42911 RVA: 0x00240AAC File Offset: 0x0023ECAC
|
||||
[Token(Token = "0x600A79F")]
|
||||
[Address(RVA = "0x6FF520", Offset = "0x6FE520", VA = "0x1806FF520", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A79F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat192::Create))
|
||||
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP192K1FieldElement::x, ldloc:SecP192K1FieldElement(this)))
|
||||
call:void(Mod::Invert, ldsfld:uint32[](SecP192K1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP192K1FieldElement::x, newobj:SecP192K1FieldElement(SecP192K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A7A0 RID: 42912 RVA: 0x00240AE0 File Offset: 0x0023ECE0
|
||||
[Token(Token = "0x600A7A0")]
|
||||
[Address(RVA = "0x6FF7C0", Offset = "0x6FE7C0", VA = "0x1806FF7C0", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (Nat192.IsZero(array) || Nat192.IsOne(array));
|
||||
uint[] array2 = Nat192.Create();
|
||||
SecP192K1Field.Square(array, array2);
|
||||
SecP192K1Field.Multiply(array2, array, array2);
|
||||
uint[] array3 = Nat192.Create();
|
||||
SecP192K1Field.Square(array2, array3);
|
||||
SecP192K1Field.Multiply(array3, array, array3);
|
||||
uint[] array4 = Nat192.Create();
|
||||
SecP192K1Field.SquareN(array3, 3, array4);
|
||||
SecP192K1Field.Multiply(array4, array3, array4);
|
||||
SecP192K1Field.SquareN(array4, 2, array4);
|
||||
SecP192K1Field.Multiply(array4, array2, array4);
|
||||
SecP192K1Field.SquareN(array4, 8, array2);
|
||||
SecP192K1Field.Multiply(array2, array4, array2);
|
||||
SecP192K1Field.SquareN(array2, 3, array4);
|
||||
SecP192K1Field.Multiply(array4, array3, array4);
|
||||
uint[] array5 = Nat192.Create();
|
||||
SecP192K1Field.SquareN(array4, 16, array5);
|
||||
SecP192K1Field.Multiply(array5, array2, array5);
|
||||
SecP192K1Field.SquareN(array5, 35, array2);
|
||||
SecP192K1Field.Multiply(array2, array5, array2);
|
||||
SecP192K1Field.SquareN(array2, 70, array5);
|
||||
SecP192K1Field.Multiply(array5, array2, array5);
|
||||
SecP192K1Field.SquareN(array5, 19, array2);
|
||||
SecP192K1Field.Multiply(array2, array4, array2);
|
||||
SecP192K1Field.SquareN(array2, 20, array2);
|
||||
SecP192K1Field.Multiply(array2, array4, array2);
|
||||
SecP192K1Field.SquareN(array2, 4, array2);
|
||||
SecP192K1Field.Multiply(array2, array3, array2);
|
||||
SecP192K1Field.SquareN(array2, 6, array2);
|
||||
SecP192K1Field.Multiply(array2, array3, array2);
|
||||
SecP192K1Field.Square(array2, array2);
|
||||
SecP192K1Field.Square(array2, array3);
|
||||
if (Nat192.Eq(array, array3))
|
||||
{
|
||||
new SecP192K1FieldElement().x = array2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7A1 RID: 42913 RVA: 0x00240C48 File Offset: 0x0023EE48
|
||||
[Token(Token = "0x600A7A1")]
|
||||
[Address(RVA = "0x6FF320", Offset = "0x6FE320", VA = "0x1806FF320", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7A1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP192K1FieldElement[exp:ECFieldElement](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: 0x0600A7A2 RID: 42914 RVA: 0x00240C64 File Offset: 0x0023EE64
|
||||
[Token(Token = "0x600A7A2")]
|
||||
[Address(RVA = "0x6FF3B0", Offset = "0x6FE3B0", VA = "0x1806FF3B0", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7A2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP192K1FieldElement[exp:ECFieldElement](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: 0x0600A7A3 RID: 42915 RVA: 0x00240C80 File Offset: 0x0023EE80
|
||||
[Token(Token = "0x600A7A3")]
|
||||
[Address(RVA = "0x6FF440", Offset = "0x6FE440", VA = "0x1806FF440", Slot = "27")]
|
||||
public virtual bool Equals(SecP192K1FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
return Nat192.Eq(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A7A4 RID: 42916 RVA: 0x00240CAC File Offset: 0x0023EEAC
|
||||
[Token(Token = "0x600A7A4")]
|
||||
[Address(RVA = "0x6FF460", Offset = "0x6FE460", VA = "0x1806FF460", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
SecP192K1FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 6);
|
||||
}
|
||||
|
||||
// Token: 0x04006D33 RID: 27955
|
||||
[Token(Token = "0x4006D33")]
|
||||
public static readonly BigInteger Q = SecP192K1Curve.q;
|
||||
|
||||
// Token: 0x04006D34 RID: 27956
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D34")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+326
@@ -0,0 +1,326 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B29 RID: 6953
|
||||
[Token(Token = "0x2001B29")]
|
||||
internal class SecP192K1Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600A7A6 RID: 42918 RVA: 0x00240CF4 File Offset: 0x0023EEF4
|
||||
[Token(Token = "0x600A7A6")]
|
||||
[Address(RVA = "0x7020C0", Offset = "0x7010C0", VA = "0x1807020C0")]
|
||||
public SecP192K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A7A7 RID: 42919 RVA: 0x00240D04 File Offset: 0x0023EF04
|
||||
[Token(Token = "0x600A7A7")]
|
||||
[Address(RVA = "0x702000", Offset = "0x701000", VA = "0x180702000")]
|
||||
public SecP192K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7A7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A7A8 RID: 42920 RVA: 0x00240D2C File Offset: 0x0023EF2C
|
||||
[Token(Token = "0x600A7A8")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecP192K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A7A9 RID: 42921 RVA: 0x00240D3C File Offset: 0x0023EF3C
|
||||
[Token(Token = "0x600A7A9")]
|
||||
[Address(RVA = "0x701850", Offset = "0x700850", VA = "0x180701850", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7A9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192K1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP192K1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP192K1Point[exp:ECPoint](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: 0x0600A7AA RID: 42922 RVA: 0x00240D58 File Offset: 0x0023EF58
|
||||
[Token(Token = "0x600A7AA")]
|
||||
[Address(RVA = "0x700FD0", Offset = "0x6FFFD0", VA = "0x180700FD0", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity && !b.IsInfinity && this != b)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat192.CreateExt();
|
||||
uint[] array2 = Nat192.Create();
|
||||
uint[] array3 = Nat192.Create();
|
||||
uint[] array4 = Nat192.Create();
|
||||
if (array4 == 0)
|
||||
{
|
||||
SecP192K1Field.Square(array4, array3);
|
||||
SecP192K1Field.Multiply(array3, array3, array2);
|
||||
SecP192K1Field.Multiply(array3, array3, array3);
|
||||
SecP192K1Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
SecP192K1Field.Multiply(array4, array4, array);
|
||||
SecP192K1Field.Multiply(array4, array4, array4);
|
||||
SecP192K1Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat192.Create();
|
||||
int num;
|
||||
if (num != 0)
|
||||
{
|
||||
int num2 = Nat.Sub33From(6, (uint)4553, array5);
|
||||
}
|
||||
int num3;
|
||||
if (num3 != 0)
|
||||
{
|
||||
int num4 = Nat.Sub33From(6, (uint)4553, array2);
|
||||
}
|
||||
if (!Nat192.IsZero(array5))
|
||||
{
|
||||
SecP192K1Field.Square(array5, array3);
|
||||
uint[] array6 = Nat192.Create();
|
||||
SecP192K1Field.Multiply(array3, array5, array6);
|
||||
SecP192K1Field.Negate(array6, array6);
|
||||
SecP192K1Field.Reduce32(Nat192.AddBothTo(array3, array3, array6), array6);
|
||||
SecP192K1FieldElement secP192K1FieldElement = new SecP192K1FieldElement();
|
||||
secP192K1FieldElement.x = array4;
|
||||
SecP192K1Field.Square(array2, array4);
|
||||
uint[] x = secP192K1FieldElement.x;
|
||||
if (Nat192.Sub(x, array6, x) != 0)
|
||||
{
|
||||
int num5 = Nat.Sub33From(6, (uint)4553, x);
|
||||
}
|
||||
SecP192K1FieldElement secP192K1FieldElement2 = new SecP192K1FieldElement();
|
||||
secP192K1FieldElement2.x = array6;
|
||||
uint[] x2 = secP192K1FieldElement.x;
|
||||
if (Nat192.Sub(array3, x2, array6) != 0)
|
||||
{
|
||||
int num6 = Nat.Sub33From(6, (uint)4553, array6);
|
||||
}
|
||||
uint[] x3 = secP192K1FieldElement2.x;
|
||||
if (Nat192.MulAddTo(x3, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local16->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_207;
|
||||
}
|
||||
uint[] pext = SecP192K1Field.PExt;
|
||||
if (!Nat.Gte(12, array, pext))
|
||||
{
|
||||
goto IL_207;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP192K1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
|
||||
{
|
||||
int length = SecP192K1Field.PExtInv.Length;
|
||||
uint num7 = Nat.IncAt(12, array, length);
|
||||
}
|
||||
IL_207:
|
||||
uint[] x4 = secP192K1FieldElement2.x;
|
||||
SecP192K1Field.Reduce(array, x4);
|
||||
SecP192K1FieldElement secP192K1FieldElement3 = new SecP192K1FieldElement();
|
||||
secP192K1FieldElement3.x = array5;
|
||||
SecP192K1Field.Multiply(array5, x3, array5);
|
||||
uint[] x5 = secP192K1FieldElement3.x;
|
||||
SecP192K1Field.Multiply(x5, array5, x5);
|
||||
ECFieldElement[] array7 = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600A7AB RID: 42923 RVA: 0x00240FDC File Offset: 0x0023F1DC
|
||||
[Token(Token = "0x600A7AB")]
|
||||
[Address(RVA = "0x7019F0", Offset = "0x7009F0", VA = "0x1807019F0", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
while (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y != 0)
|
||||
{
|
||||
if (y.IsOne)
|
||||
{
|
||||
break;
|
||||
}
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
uint[] array = Nat192.Create();
|
||||
uint[] array2 = Nat192.Create();
|
||||
SecP192K1Field.Square(array, array2);
|
||||
uint[] array3 = Nat192.Create();
|
||||
SecP192K1Field.Reduce32(Nat192.AddBothTo(array3, array3, array3), array3);
|
||||
SecP192K1Field.Multiply(array, array3, array);
|
||||
int num = 0;
|
||||
SecP192K1Field.Reduce32(Nat.ShiftUpBits(6, array, 2, (uint)num), array);
|
||||
uint[] array4 = Nat192.Create();
|
||||
int num2 = 0;
|
||||
SecP192K1Field.Reduce32(Nat.ShiftUpBits(6, array2, 3, (uint)num2, array4), array4);
|
||||
SecP192K1FieldElement secP192K1FieldElement = new SecP192K1FieldElement();
|
||||
secP192K1FieldElement.x = array2;
|
||||
SecP192K1Field.Square(array3, array2);
|
||||
uint[] x2 = secP192K1FieldElement.x;
|
||||
if (Nat192.Sub(x2, array, x2) != 0)
|
||||
{
|
||||
int num3 = Nat.Sub33From(6, (uint)4553, x2);
|
||||
}
|
||||
uint[] x3 = secP192K1FieldElement.x;
|
||||
if (Nat192.Sub(x3, array, x3) != 0)
|
||||
{
|
||||
int num4 = Nat.Sub33From(6, (uint)4553, x3);
|
||||
}
|
||||
SecP192K1FieldElement secP192K1FieldElement2 = new SecP192K1FieldElement();
|
||||
secP192K1FieldElement2.x = array;
|
||||
uint[] x4 = secP192K1FieldElement.x;
|
||||
if (Nat192.Sub(array, x4, array) != 0)
|
||||
{
|
||||
int num5 = Nat.Sub33From(6, (uint)4553, array);
|
||||
}
|
||||
uint[] x5 = secP192K1FieldElement2.x;
|
||||
SecP192K1Field.Multiply(x5, array3, x5);
|
||||
uint[] x6 = secP192K1FieldElement2.x;
|
||||
if (Nat192.Sub(x6, array4, x6) != 0)
|
||||
{
|
||||
int num6 = Nat.Sub33From(6, (uint)4553, x6);
|
||||
}
|
||||
SecP192K1FieldElement secP192K1FieldElement3 = new SecP192K1FieldElement();
|
||||
secP192K1FieldElement3.x = array3;
|
||||
uint num7;
|
||||
if (num7 == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local24->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_1EF;
|
||||
}
|
||||
uint[] p = SecP192K1Field.P;
|
||||
if (!Nat192.Gte(array3, p))
|
||||
{
|
||||
goto IL_1EF;
|
||||
}
|
||||
}
|
||||
uint num8 = Nat.Add33To(6, (uint)4553, array3);
|
||||
IL_1EF:
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
uint[] x7 = secP192K1FieldElement3.x;
|
||||
}
|
||||
(new ECFieldElement[1])[0] = secP192K1FieldElement3;
|
||||
bool withCompression = this.m_withCompression;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A7AC RID: 42924 RVA: 0x00241208 File Offset: 0x0023F408
|
||||
[Token(Token = "0x600A7AC")]
|
||||
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag3 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A7AD RID: 42925 RVA: 0x00241258 File Offset: 0x0023F458
|
||||
[Token(Token = "0x600A7AD")]
|
||||
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A7AE RID: 42926 RVA: 0x00241288 File Offset: 0x0023F488
|
||||
[Token(Token = "0x600A7AE")]
|
||||
[Address(RVA = "0x7018F0", Offset = "0x7008F0", VA = "0x1807018F0", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+323
@@ -0,0 +1,323 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B2A RID: 6954
|
||||
[Token(Token = "0x2001B2A")]
|
||||
internal class SecP192R1Curve : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600A7AF RID: 42927 RVA: 0x002412C0 File Offset: 0x0023F4C0
|
||||
[Token(Token = "0x600A7AF")]
|
||||
[Address(RVA = "0x7025C0", Offset = "0x7015C0", VA = "0x1807025C0")]
|
||||
public SecP192R1Curve()
|
||||
{
|
||||
BigInteger bigInteger = SecP192R1Curve.q;
|
||||
base..ctor(bigInteger);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
SecP192R1Point secP192R1Point = new SecP192R1Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = secP192R1Point;
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831");
|
||||
BigInteger bigInteger4 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger4;
|
||||
BigInteger one = BigInteger.One;
|
||||
this.m_cofactor = one;
|
||||
this.m_coord = (int)((ulong)2L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A7B0 RID: 42928 RVA: 0x00241374 File Offset: 0x0023F574
|
||||
[Token(Token = "0x600A7B0")]
|
||||
[Address(RVA = "0x7020E0", Offset = "0x7010E0", VA = "0x1807020E0", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7B0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP192R1Curve(var_0_05, newobj:SecP192R1Curve(SecP192R1Curve::.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: 0x0600A7B1 RID: 42929 RVA: 0x00241388 File Offset: 0x0023F588
|
||||
[Token(Token = "0x600A7B1")]
|
||||
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 2;
|
||||
}
|
||||
|
||||
// Token: 0x17001A4A RID: 6730
|
||||
// (get) Token: 0x0600A7B2 RID: 42930 RVA: 0x0024139C File Offset: 0x0023F59C
|
||||
[Token(Token = "0x17001A4A")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600A7B2")]
|
||||
[Address(RVA = "0x702810", Offset = "0x701810", VA = "0x180702810", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return SecP192R1Curve.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A4B RID: 6731
|
||||
// (get) Token: 0x0600A7B3 RID: 42931 RVA: 0x002413B0 File Offset: 0x0023F5B0
|
||||
[Token(Token = "0x17001A4B")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A7B3")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7B3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP192R1Point(var_0_06, ldfld:SecP192R1Point(SecP192R1Curve::m_infinity, ldloc:SecP192R1Curve(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: 0x17001A4C RID: 6732
|
||||
// (get) Token: 0x0600A7B4 RID: 42932 RVA: 0x002413C4 File Offset: 0x0023F5C4
|
||||
[Token(Token = "0x17001A4C")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A7B4")]
|
||||
[Address(RVA = "0x7027A0", Offset = "0x7017A0", VA = "0x1807027A0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return SecP192R1Curve.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7B5 RID: 42933 RVA: 0x002413E4 File Offset: 0x0023F5E4
|
||||
[Token(Token = "0x600A7B5")]
|
||||
[Address(RVA = "0x7024C0", Offset = "0x7014C0", VA = "0x1807024C0", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7B5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP192R1FieldElement(var_0_06, newobj:SecP192R1FieldElement(SecP192R1FieldElement::.ctor, 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: 0x0600A7B6 RID: 42934 RVA: 0x002413F8 File Offset: 0x0023F5F8
|
||||
[Token(Token = "0x600A7B6")]
|
||||
[Address(RVA = "0x702430", Offset = "0x701430", VA = "0x180702430", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7B6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1Curve::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:SecP192R1Point(var_0_09, newobj:SecP192R1Point(SecP192R1Point::.ctor, ldloc:SecP192R1Curve[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: 0x0600A7B7 RID: 42935 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A7B7")]
|
||||
[Address(RVA = "0x702390", Offset = "0x701390", VA = "0x180702390", 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: 0x0600A7B8 RID: 42936 RVA: 0x00241410 File Offset: 0x0023F610
|
||||
[Token(Token = "0x600A7B8")]
|
||||
[Address(RVA = "0x702130", Offset = "0x701130", VA = "0x180702130", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_4A;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 12;
|
||||
IL_4A:
|
||||
SecP192R1Curve.SecP192R1LookupTable secP192R1LookupTable;
|
||||
secP192R1LookupTable.m_outer = 0;
|
||||
secP192R1LookupTable.m_table = array;
|
||||
secP192R1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A7B9 RID: 42937 RVA: 0x00241484 File Offset: 0x0023F684
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A7B9")]
|
||||
[Address(RVA = "0x702520", Offset = "0x701520", VA = "0x180702520")]
|
||||
static SecP192R1Curve()
|
||||
{
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF");
|
||||
SecP192R1Curve.q = new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x04006D35 RID: 27957
|
||||
[Token(Token = "0x4006D35")]
|
||||
public static readonly BigInteger q;
|
||||
|
||||
// Token: 0x04006D36 RID: 27958
|
||||
[Token(Token = "0x4006D36")]
|
||||
private const int SECP192R1_DEFAULT_COORDS = 2;
|
||||
|
||||
// Token: 0x04006D37 RID: 27959
|
||||
[Token(Token = "0x4006D37")]
|
||||
private const int SECP192R1_FE_INTS = 6;
|
||||
|
||||
// Token: 0x04006D38 RID: 27960
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006D38")]
|
||||
protected readonly SecP192R1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B2B RID: 6955
|
||||
[Token(Token = "0x2001B2B")]
|
||||
private class SecP192R1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A7BA RID: 42938 RVA: 0x002414A8 File Offset: 0x0023F6A8
|
||||
[Token(Token = "0x600A7BA")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecP192R1LookupTable(SecP192R1Curve outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001A4D RID: 6733
|
||||
// (get) Token: 0x0600A7BB RID: 42939 RVA: 0x002414D0 File Offset: 0x0023F6D0
|
||||
[Token(Token = "0x17001A4D")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A7BB")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7BC RID: 42940 RVA: 0x002414E4 File Offset: 0x0023F6E4
|
||||
[Token(Token = "0x600A7BC")]
|
||||
[Address(RVA = "0x704B50", Offset = "0x703B50", VA = "0x180704B50", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat192.Create();
|
||||
uint[] array2 = Nat192.Create();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 12;
|
||||
num2++;
|
||||
}
|
||||
SecP192R1Curve outer = this.m_outer;
|
||||
new SecP192R1FieldElement().x = array;
|
||||
new SecP192R1FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D39 RID: 27961
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D39")]
|
||||
private readonly SecP192R1Curve m_outer;
|
||||
|
||||
// Token: 0x04006D3A RID: 27962
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D3A")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006D3B RID: 27963
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D3B")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+446
@@ -0,0 +1,446 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B2C RID: 6956
|
||||
[Token(Token = "0x2001B2C")]
|
||||
internal class SecP192R1Field
|
||||
{
|
||||
// Token: 0x0600A7BD RID: 42941 RVA: 0x00241564 File Offset: 0x0023F764
|
||||
[Token(Token = "0x600A7BD")]
|
||||
[Address(RVA = "0x703AD0", Offset = "0x702AD0", VA = "0x180703AD0")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat192.Add(x, y, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP192R1Field.P;
|
||||
if (!Nat192.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP192R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A7BE RID: 42942 RVA: 0x002415A4 File Offset: 0x0023F7A4
|
||||
[Token(Token = "0x600A7BE")]
|
||||
[Address(RVA = "0x7037B0", Offset = "0x7027B0", VA = "0x1807037B0")]
|
||||
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Add(12, xx, yy, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP192R1Field.PExt;
|
||||
if (!Nat.Gte(12, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP192R1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP192R1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(12, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7BF RID: 42943 RVA: 0x00241610 File Offset: 0x0023F810
|
||||
[Token(Token = "0x600A7BF")]
|
||||
[Address(RVA = "0x703930", Offset = "0x702930", VA = "0x180703930")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
if (Nat.Inc(6, x, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP192R1Field.P;
|
||||
if (!Nat192.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP192R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A7C0 RID: 42944 RVA: 0x00241650 File Offset: 0x0023F850
|
||||
[Token(Token = "0x600A7C0")]
|
||||
[Address(RVA = "0x703BC0", Offset = "0x702BC0", VA = "0x180703BC0")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat192.FromBigInteger(x);
|
||||
if ("{il2cpp array field local2->}" == (ulong)(-1L))
|
||||
{
|
||||
uint[] p = SecP192R1Field.P;
|
||||
if (Nat192.Gte(array, p))
|
||||
{
|
||||
int num = Nat192.SubFrom(SecP192R1Field.P, array);
|
||||
}
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A7C1 RID: 42945 RVA: 0x00241694 File Offset: 0x0023F894
|
||||
[Token(Token = "0x600A7C1")]
|
||||
[Address(RVA = "0x703CB0", Offset = "0x702CB0", VA = "0x180703CB0")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
if ("{il2cpp array field x->}" != (ulong)1L)
|
||||
{
|
||||
uint[] p = SecP192R1Field.P;
|
||||
uint num = Nat192.Add(x, p, z);
|
||||
uint num2 = Nat.ShiftDownBit(6, z, num);
|
||||
return;
|
||||
}
|
||||
int num3 = 0;
|
||||
uint num4 = Nat.ShiftDownBit(6, x, (uint)num3, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A7C2 RID: 42946 RVA: 0x002416D8 File Offset: 0x0023F8D8
|
||||
[Token(Token = "0x600A7C2")]
|
||||
[Address(RVA = "0x703F00", Offset = "0x702F00", VA = "0x180703F00")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat192.CreateExt();
|
||||
Nat192.Mul(x, y, array);
|
||||
SecP192R1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A7C3 RID: 42947 RVA: 0x002416FC File Offset: 0x0023F8FC
|
||||
[Token(Token = "0x600A7C3")]
|
||||
[Address(RVA = "0x703D90", Offset = "0x702D90", VA = "0x180703D90")]
|
||||
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
|
||||
{
|
||||
if (Nat192.MulAddTo(x, y, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP192R1Field.PExt;
|
||||
if (!Nat.Gte(12, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP192R1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP192R1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(12, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7C4 RID: 42948 RVA: 0x00241764 File Offset: 0x0023F964
|
||||
[Token(Token = "0x600A7C4")]
|
||||
[Address(RVA = "0x703FA0", Offset = "0x702FA0", VA = "0x180703FA0")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat192.IsZero(x))
|
||||
{
|
||||
int num = Nat192.Sub(SecP192R1Field.P, x, z);
|
||||
return;
|
||||
}
|
||||
Nat192.Zero(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A7C5 RID: 42949 RVA: 0x00241790 File Offset: 0x0023F990
|
||||
[Token(Token = "0x600A7C5")]
|
||||
[Address(RVA = "0x7041C0", Offset = "0x7031C0", VA = "0x1807041C0")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
int length = xx.Length;
|
||||
uint num = xx[3];
|
||||
uint num2 = xx[3];
|
||||
uint num3 = xx[4];
|
||||
uint num4 = xx[4];
|
||||
uint num5 = xx[5];
|
||||
uint num6 = xx[0];
|
||||
num5 += num;
|
||||
uint num7 = xx[5];
|
||||
num6 += num5;
|
||||
uint num8 = xx[0];
|
||||
num7 += num2;
|
||||
num8 += num7;
|
||||
num6 += num8;
|
||||
num5 += num3;
|
||||
z[0] = num6;
|
||||
int length2 = xx.Length;
|
||||
num7 += num4;
|
||||
uint num9 = xx[1];
|
||||
num9 += num5;
|
||||
num6 += num9;
|
||||
uint num10 = xx[1];
|
||||
num10 += num7;
|
||||
num6 += num10;
|
||||
z[1] = num6;
|
||||
uint num11 = xx[2];
|
||||
num11 += num6;
|
||||
num11 -= num;
|
||||
num11 += num5;
|
||||
z[2] = num11;
|
||||
uint num12 = xx[2];
|
||||
num12 += num11;
|
||||
num12 -= num2;
|
||||
num12 += num7;
|
||||
z[2] = num12;
|
||||
num6 += num12;
|
||||
num11 = num6;
|
||||
num12 += num11;
|
||||
z[0] = num12;
|
||||
if (num12 != (uint)0)
|
||||
{
|
||||
uint num13 = z[0];
|
||||
num12 += num13;
|
||||
z[0] = num12;
|
||||
num6 += num12;
|
||||
}
|
||||
z[1] = num6;
|
||||
ulong num14;
|
||||
if (num14 == (ulong)num6 || Nat.IncAt(6, z, 3) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP192R1Field.P;
|
||||
if (!Nat192.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP192R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A7C6 RID: 42950 RVA: 0x00241930 File Offset: 0x0023FB30
|
||||
[Token(Token = "0x600A7C6")]
|
||||
[Address(RVA = "0x704040", Offset = "0x703040", VA = "0x180704040")]
|
||||
public static void Reduce32(uint x, uint[] z)
|
||||
{
|
||||
if (x != (uint)0)
|
||||
{
|
||||
uint num = z[0];
|
||||
num += x;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
}
|
||||
uint num3 = z[1];
|
||||
num3 += x;
|
||||
num += num3;
|
||||
z[1] = num;
|
||||
if (num != (uint)0 && Nat.IncAt(6, z, 3) != (uint)0)
|
||||
{
|
||||
goto IL_75;
|
||||
}
|
||||
}
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP192R1Field.P;
|
||||
if (!Nat192.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
IL_75:
|
||||
SecP192R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A7C7 RID: 42951 RVA: 0x002419C0 File Offset: 0x0023FBC0
|
||||
[Token(Token = "0x600A7C7")]
|
||||
[Address(RVA = "0x704620", Offset = "0x703620", VA = "0x180704620")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat192.CreateExt();
|
||||
Nat192.Square(x, array);
|
||||
SecP192R1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A7C8 RID: 42952 RVA: 0x002419E4 File Offset: 0x0023FBE4
|
||||
[Token(Token = "0x600A7C8")]
|
||||
[Address(RVA = "0x704540", Offset = "0x703540", VA = "0x180704540")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat192.CreateExt();
|
||||
Nat192.Square(x, array);
|
||||
SecP192R1Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
Nat192.Square(z, array);
|
||||
SecP192R1Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7C9 RID: 42953 RVA: 0x00241A1C File Offset: 0x0023FC1C
|
||||
[Token(Token = "0x600A7C9")]
|
||||
[Address(RVA = "0x704870", Offset = "0x703870", VA = "0x180704870")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat192.Sub(x, y, z) != 0)
|
||||
{
|
||||
uint num = z[0];
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
}
|
||||
uint num3 = z[1];
|
||||
num += num3;
|
||||
z[1] = num;
|
||||
ulong num4;
|
||||
if (num4 != (ulong)num)
|
||||
{
|
||||
int num5 = Nat.DecAt(6, z, 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7CA RID: 42954 RVA: 0x00241A88 File Offset: 0x0023FC88
|
||||
[Token(Token = "0x600A7CA")]
|
||||
[Address(RVA = "0x704760", Offset = "0x703760", VA = "0x180704760")]
|
||||
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Sub(12, xx, yy, zz) != 0)
|
||||
{
|
||||
uint[] pextInv = SecP192R1Field.PExtInv;
|
||||
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
|
||||
{
|
||||
int length = SecP192R1Field.PExtInv.Length;
|
||||
int num = Nat.DecAt(12, zz, length);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7CB RID: 42955 RVA: 0x00241AD4 File Offset: 0x0023FCD4
|
||||
[Token(Token = "0x600A7CB")]
|
||||
[Address(RVA = "0x704990", Offset = "0x703990", VA = "0x180704990")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat.ShiftUpBit(6, x, (uint)num, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP192R1Field.P;
|
||||
if (!Nat192.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP192R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A7CC RID: 42956 RVA: 0x00241B18 File Offset: 0x0023FD18
|
||||
[Token(Token = "0x600A7CC")]
|
||||
[Address(RVA = "0x703A20", Offset = "0x702A20", VA = "0x180703A20")]
|
||||
private static void AddPInvTo(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
num += (uint)1;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
}
|
||||
uint num3 = z[1];
|
||||
num3 += (uint)1;
|
||||
num += num3;
|
||||
z[1] = num;
|
||||
ulong num4;
|
||||
if (num4 != (ulong)num)
|
||||
{
|
||||
uint num5 = Nat.IncAt(6, z, 3);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7CD RID: 42957 RVA: 0x00241B84 File Offset: 0x0023FD84
|
||||
[Token(Token = "0x600A7CD")]
|
||||
[Address(RVA = "0x7046B0", Offset = "0x7036B0", VA = "0x1807046B0")]
|
||||
private static void SubPInvFrom(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
}
|
||||
uint num3 = z[1];
|
||||
num += num3;
|
||||
z[1] = num;
|
||||
ulong num4;
|
||||
if (num4 != (ulong)num)
|
||||
{
|
||||
int num5 = Nat.DecAt(6, z, 3);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7CE RID: 42958 RVA: 0x00241BE4 File Offset: 0x0023FDE4
|
||||
[Token(Token = "0x600A7CE")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecP192R1Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A7CF RID: 42959 RVA: 0x00241BF8 File Offset: 0x0023FDF8
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A7CF")]
|
||||
[Address(RVA = "0x704A80", Offset = "0x703A80", VA = "0x180704A80")]
|
||||
static SecP192R1Field()
|
||||
{
|
||||
uint[] array = new uint[6];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.D6898715AE96BC2F82A7BBA76E2BFC7100E282C3).FieldHandle);
|
||||
SecP192R1Field.P = array;
|
||||
uint[] array2 = new uint[12];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.A53306F44DF494A019EA1487807B59CA336BF024).FieldHandle);
|
||||
SecP192R1Field.PExt = array2;
|
||||
uint[] array3 = new uint[9];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.0982B1B45B764F2694ABC3DE57204AC898651429).FieldHandle);
|
||||
SecP192R1Field.PExtInv = array3;
|
||||
}
|
||||
|
||||
// Token: 0x04006D3C RID: 27964
|
||||
[Token(Token = "0x4006D3C")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04006D3D RID: 27965
|
||||
[Token(Token = "0x4006D3D")]
|
||||
internal static readonly uint[] PExt;
|
||||
|
||||
// Token: 0x04006D3E RID: 27966
|
||||
[Token(Token = "0x4006D3E")]
|
||||
private static readonly uint[] PExtInv;
|
||||
|
||||
// Token: 0x04006D3F RID: 27967
|
||||
[Token(Token = "0x4006D3F")]
|
||||
private const uint P5 = 4294967295U;
|
||||
|
||||
// Token: 0x04006D40 RID: 27968
|
||||
[Token(Token = "0x4006D40")]
|
||||
private const uint PExt11 = 4294967295U;
|
||||
}
|
||||
}
|
||||
+440
@@ -0,0 +1,440 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B2D RID: 6957
|
||||
[Token(Token = "0x2001B2D")]
|
||||
internal class SecP192R1FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x0600A7D0 RID: 42960 RVA: 0x00241C50 File Offset: 0x0023FE50
|
||||
[Token(Token = "0x600A7D0")]
|
||||
[Address(RVA = "0x703540", Offset = "0x702540", VA = "0x180703540")]
|
||||
public SecP192R1FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7D0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_4E:
|
||||
stloc:ArgumentException(var_5_5D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP192R1FieldElement"), ldstr:string("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.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: 0x0600A7D1 RID: 42961 RVA: 0x00241CBC File Offset: 0x0023FEBC
|
||||
[Token(Token = "0x600A7D1")]
|
||||
[Address(RVA = "0x6FFF10", Offset = "0x6FEF10", VA = "0x1806FFF10")]
|
||||
public SecP192R1FieldElement()
|
||||
{
|
||||
uint[] array = Nat192.Create();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A7D2 RID: 42962 RVA: 0x00241CE0 File Offset: 0x0023FEE0
|
||||
[Token(Token = "0x600A7D2")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecP192R1FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001A4E RID: 6734
|
||||
// (get) Token: 0x0600A7D3 RID: 42963 RVA: 0x00241CFC File Offset: 0x0023FEFC
|
||||
[Token(Token = "0x17001A4E")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600A7D3")]
|
||||
[Address(RVA = "0x6FFFF0", Offset = "0x6FEFF0", VA = "0x1806FFFF0", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat192.IsZero(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A4F RID: 6735
|
||||
// (get) Token: 0x0600A7D4 RID: 42964 RVA: 0x00241D14 File Offset: 0x0023FF14
|
||||
[Token(Token = "0x17001A4F")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600A7D4")]
|
||||
[Address(RVA = "0x6FFFE0", Offset = "0x6FEFE0", VA = "0x1806FFFE0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat192.IsOne(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7D5 RID: 42965 RVA: 0x00241D2C File Offset: 0x0023FF2C
|
||||
[Token(Token = "0x600A7D5")]
|
||||
[Address(RVA = "0x6FFCA0", Offset = "0x6FECA0", VA = "0x1806FFCA0", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat192.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A7D6 RID: 42966 RVA: 0x00241D50 File Offset: 0x0023FF50
|
||||
[Token(Token = "0x600A7D6")]
|
||||
[Address(RVA = "0x6FFCC0", Offset = "0x6FECC0", VA = "0x1806FFCC0", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat192.ToBigInteger(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001A50 RID: 6736
|
||||
// (get) Token: 0x0600A7D7 RID: 42967 RVA: 0x00241D68 File Offset: 0x0023FF68
|
||||
[Token(Token = "0x17001A50")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600A7D7")]
|
||||
[Address(RVA = "0x703710", Offset = "0x702710", VA = "0x180703710", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecP192R1Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A51 RID: 6737
|
||||
// (get) Token: 0x0600A7D8 RID: 42968 RVA: 0x00241D7C File Offset: 0x0023FF7C
|
||||
[Token(Token = "0x17001A51")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A7D8")]
|
||||
[Address(RVA = "0x703740", Offset = "0x702740", VA = "0x180703740", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return SecP192R1FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7D9 RID: 42969 RVA: 0x00241D9C File Offset: 0x0023FF9C
|
||||
[Token(Token = "0x600A7D9")]
|
||||
[Address(RVA = "0x7029C0", Offset = "0x7019C0", VA = "0x1807029C0", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat192.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP192R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP192R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A7DA RID: 42970 RVA: 0x00241DE4 File Offset: 0x0023FFE4
|
||||
[Token(Token = "0x600A7DA")]
|
||||
[Address(RVA = "0x702870", Offset = "0x701870", VA = "0x180702870", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
uint[] array = Nat192.Create();
|
||||
uint[] array2 = this.x;
|
||||
if (Nat.Inc(6, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local2->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_3B;
|
||||
}
|
||||
uint[] p = SecP192R1Field.P;
|
||||
if (!Nat192.Gte(array, p))
|
||||
{
|
||||
goto IL_3B;
|
||||
}
|
||||
}
|
||||
SecP192R1Field.AddPInvTo(array);
|
||||
IL_3B:
|
||||
new SecP192R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A7DB RID: 42971 RVA: 0x00241E3C File Offset: 0x0024003C
|
||||
[Token(Token = "0x600A7DB")]
|
||||
[Address(RVA = "0x703390", Offset = "0x702390", VA = "0x180703390", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat192.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP192R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP192R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A7DC RID: 42972 RVA: 0x00241E84 File Offset: 0x00240084
|
||||
[Token(Token = "0x600A7DC")]
|
||||
[Address(RVA = "0x702F30", Offset = "0x701F30", VA = "0x180702F30", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat192.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP192R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP192R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A7DD RID: 42973 RVA: 0x00241ECC File Offset: 0x002400CC
|
||||
[Token(Token = "0x600A7DD")]
|
||||
[Address(RVA = "0x702B00", Offset = "0x701B00", VA = "0x180702B00", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat192.Create();
|
||||
uint[] p = SecP192R1Field.P;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP192R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
SecP192R1Field.Multiply(array, array2, array);
|
||||
new SecP192R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A7DE RID: 42974 RVA: 0x00241F24 File Offset: 0x00240124
|
||||
[Token(Token = "0x600A7DE")]
|
||||
[Address(RVA = "0x703070", Offset = "0x702070", VA = "0x180703070", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7DE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat192::Create))
|
||||
call:void(SecP192R1Field::Negate, ldfld:uint32[](SecP192R1FieldElement::x, ldloc:SecP192R1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP192R1FieldElement::x, newobj:SecP192R1FieldElement(SecP192R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A7DF RID: 42975 RVA: 0x00241F50 File Offset: 0x00240150
|
||||
[Token(Token = "0x600A7DF")]
|
||||
[Address(RVA = "0x703300", Offset = "0x702300", VA = "0x180703300", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7DF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat192::Create))
|
||||
call:void(SecP192R1Field::Square, ldfld:uint32[](SecP192R1FieldElement::x, ldloc:SecP192R1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP192R1FieldElement::x, newobj:SecP192R1FieldElement(SecP192R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A7E0 RID: 42976 RVA: 0x00241F7C File Offset: 0x0024017C
|
||||
[Token(Token = "0x600A7E0")]
|
||||
[Address(RVA = "0x702E60", Offset = "0x701E60", VA = "0x180702E60", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7E0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat192::Create))
|
||||
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP192R1FieldElement::x, ldloc:SecP192R1FieldElement(this)))
|
||||
call:void(Mod::Invert, ldsfld:uint32[](SecP192R1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP192R1FieldElement::x, newobj:SecP192R1FieldElement(SecP192R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A7E1 RID: 42977 RVA: 0x00241FB0 File Offset: 0x002401B0
|
||||
[Token(Token = "0x600A7E1")]
|
||||
[Address(RVA = "0x703100", Offset = "0x702100", VA = "0x180703100", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (Nat192.IsZero(array) || Nat192.IsOne(array));
|
||||
uint[] array2 = Nat192.Create();
|
||||
uint[] array3 = Nat192.Create();
|
||||
SecP192R1Field.Square(array, array2);
|
||||
SecP192R1Field.Multiply(array2, array, array2);
|
||||
SecP192R1Field.SquareN(array2, 2, array3);
|
||||
SecP192R1Field.Multiply(array3, array2, array3);
|
||||
SecP192R1Field.SquareN(array3, 4, array2);
|
||||
SecP192R1Field.Multiply(array2, array3, array2);
|
||||
SecP192R1Field.SquareN(array2, 8, array3);
|
||||
SecP192R1Field.Multiply(array3, array2, array3);
|
||||
SecP192R1Field.SquareN(array3, 16, array2);
|
||||
SecP192R1Field.Multiply(array2, array3, array2);
|
||||
SecP192R1Field.SquareN(array2, 32, array3);
|
||||
SecP192R1Field.Multiply(array3, array2, array3);
|
||||
SecP192R1Field.SquareN(array3, 64, array2);
|
||||
SecP192R1Field.Multiply(array2, array3, array2);
|
||||
SecP192R1Field.SquareN(array2, 62, array2);
|
||||
SecP192R1Field.Square(array2, array3);
|
||||
if (Nat192.Eq(array, array3))
|
||||
{
|
||||
new SecP192R1FieldElement().x = array2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7E2 RID: 42978 RVA: 0x00242094 File Offset: 0x00240294
|
||||
[Token(Token = "0x600A7E2")]
|
||||
[Address(RVA = "0x702C80", Offset = "0x701C80", VA = "0x180702C80", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7E2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP192R1FieldElement[exp:ECFieldElement](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: 0x0600A7E3 RID: 42979 RVA: 0x002420B0 File Offset: 0x002402B0
|
||||
[Token(Token = "0x600A7E3")]
|
||||
[Address(RVA = "0x702D10", Offset = "0x701D10", VA = "0x180702D10", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7E3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP192R1FieldElement[exp:ECFieldElement](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: 0x0600A7E4 RID: 42980 RVA: 0x002420CC File Offset: 0x002402CC
|
||||
[Token(Token = "0x600A7E4")]
|
||||
[Address(RVA = "0x6FF440", Offset = "0x6FE440", VA = "0x1806FF440", Slot = "27")]
|
||||
public virtual bool Equals(SecP192R1FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
return Nat192.Eq(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A7E5 RID: 42981 RVA: 0x002420F8 File Offset: 0x002402F8
|
||||
[Token(Token = "0x600A7E5")]
|
||||
[Address(RVA = "0x702DA0", Offset = "0x701DA0", VA = "0x180702DA0", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
SecP192R1FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 6);
|
||||
}
|
||||
|
||||
// Token: 0x04006D41 RID: 27969
|
||||
[Token(Token = "0x4006D41")]
|
||||
public static readonly BigInteger Q = SecP192R1Curve.q;
|
||||
|
||||
// Token: 0x04006D42 RID: 27970
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D42")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+304
@@ -0,0 +1,304 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B2E RID: 6958
|
||||
[Token(Token = "0x2001B2E")]
|
||||
internal class SecP192R1Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600A7E7 RID: 42983 RVA: 0x00242140 File Offset: 0x00240340
|
||||
[Token(Token = "0x600A7E7")]
|
||||
[Address(RVA = "0x705D70", Offset = "0x704D70", VA = "0x180705D70")]
|
||||
public SecP192R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A7E8 RID: 42984 RVA: 0x00242150 File Offset: 0x00240350
|
||||
[Token(Token = "0x600A7E8")]
|
||||
[Address(RVA = "0x705D90", Offset = "0x704D90", VA = "0x180705D90")]
|
||||
public SecP192R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7E8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A7E9 RID: 42985 RVA: 0x00242178 File Offset: 0x00240378
|
||||
[Token(Token = "0x600A7E9")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecP192R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A7EA RID: 42986 RVA: 0x00242188 File Offset: 0x00240388
|
||||
[Token(Token = "0x600A7EA")]
|
||||
[Address(RVA = "0x705540", Offset = "0x704540", VA = "0x180705540", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7EA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP192R1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP192R1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP192R1Point[exp:ECPoint](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: 0x0600A7EB RID: 42987 RVA: 0x002421A4 File Offset: 0x002403A4
|
||||
[Token(Token = "0x600A7EB")]
|
||||
[Address(RVA = "0x704D20", Offset = "0x703D20", VA = "0x180704D20", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this == b)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat192.CreateExt();
|
||||
uint[] array2 = Nat192.Create();
|
||||
uint[] array3 = Nat192.Create();
|
||||
uint[] array4 = Nat192.Create();
|
||||
if (array4 == 0)
|
||||
{
|
||||
SecP192R1Field.Square(array4, array3);
|
||||
SecP192R1Field.Multiply(array3, array3, array2);
|
||||
SecP192R1Field.Multiply(array3, array3, array3);
|
||||
SecP192R1Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
SecP192R1Field.Multiply(array4, array4, array);
|
||||
SecP192R1Field.Multiply(array4, array4, array4);
|
||||
SecP192R1Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat192.Create();
|
||||
if (!Nat192.IsZero(array5))
|
||||
{
|
||||
SecP192R1Field.Square(array5, array3);
|
||||
uint[] array6 = Nat192.Create();
|
||||
SecP192R1Field.Multiply(array3, array5, array6);
|
||||
SecP192R1Field.Negate(array6, array6);
|
||||
SecP192R1Field.Reduce32(Nat192.AddBothTo(array3, array3, array6), array6);
|
||||
SecP192R1FieldElement secP192R1FieldElement = new SecP192R1FieldElement();
|
||||
secP192R1FieldElement.x = array4;
|
||||
SecP192R1Field.Square(array2, array4);
|
||||
uint[] x = secP192R1FieldElement.x;
|
||||
SecP192R1Field.Subtract(x, array6, x);
|
||||
SecP192R1FieldElement secP192R1FieldElement2 = new SecP192R1FieldElement();
|
||||
secP192R1FieldElement2.x = array6;
|
||||
uint[] x2 = secP192R1FieldElement.x;
|
||||
SecP192R1Field.Subtract(array3, x2, array6);
|
||||
if (Nat192.MulAddTo(secP192R1FieldElement2.x, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local16->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_1B3;
|
||||
}
|
||||
uint[] pext = SecP192R1Field.PExt;
|
||||
if (!Nat.Gte(12, array, pext))
|
||||
{
|
||||
goto IL_1B3;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP192R1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
|
||||
{
|
||||
int length = SecP192R1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(12, array, length);
|
||||
}
|
||||
IL_1B3:
|
||||
uint[] x3 = secP192R1FieldElement2.x;
|
||||
SecP192R1Field.Reduce(array, x3);
|
||||
SecP192R1FieldElement secP192R1FieldElement3 = new SecP192R1FieldElement();
|
||||
secP192R1FieldElement3.x = array5;
|
||||
SecP192R1Field.Multiply(array5, array, array5);
|
||||
uint[] x4 = secP192R1FieldElement3.x;
|
||||
ECFieldElement[] array7 = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600A7EC RID: 42988 RVA: 0x002423C8 File Offset: 0x002405C8
|
||||
[Token(Token = "0x600A7EC")]
|
||||
[Address(RVA = "0x7056E0", Offset = "0x7046E0", VA = "0x1807056E0", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
while (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y != 0)
|
||||
{
|
||||
if (y.IsOne)
|
||||
{
|
||||
break;
|
||||
}
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
uint[] array = Nat192.Create();
|
||||
uint[] array2 = Nat192.Create();
|
||||
uint[] array3 = Nat192.Create();
|
||||
uint[] array4 = Nat192.Create();
|
||||
SecP192R1Field.Square(array3, array4);
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
}
|
||||
SecP192R1Field.Multiply(array2, array, array2);
|
||||
SecP192R1Field.Reduce32(Nat192.AddBothTo(array2, array2, array2), array2);
|
||||
SecP192R1Field.Multiply(array3, array2, array3);
|
||||
int num = 0;
|
||||
SecP192R1Field.Reduce32(Nat.ShiftUpBits(6, array3, 2, (uint)num), array3);
|
||||
int num2 = 0;
|
||||
SecP192R1Field.Reduce32(Nat.ShiftUpBits(6, array4, 3, (uint)num2, array), array);
|
||||
SecP192R1FieldElement secP192R1FieldElement = new SecP192R1FieldElement();
|
||||
secP192R1FieldElement.x = array4;
|
||||
SecP192R1Field.Square(array2, array4);
|
||||
uint[] x2 = secP192R1FieldElement.x;
|
||||
SecP192R1Field.Subtract(x2, array3, x2);
|
||||
uint[] x3 = secP192R1FieldElement.x;
|
||||
SecP192R1Field.Subtract(x3, array3, x3);
|
||||
SecP192R1FieldElement secP192R1FieldElement2 = new SecP192R1FieldElement();
|
||||
secP192R1FieldElement2.x = array3;
|
||||
uint[] x4 = secP192R1FieldElement.x;
|
||||
SecP192R1Field.Subtract(array3, x4, array3);
|
||||
uint[] x5 = secP192R1FieldElement2.x;
|
||||
SecP192R1Field.Multiply(x5, array2, x5);
|
||||
uint[] x6 = secP192R1FieldElement2.x;
|
||||
SecP192R1Field.Subtract(x6, array, x6);
|
||||
SecP192R1FieldElement secP192R1FieldElement3 = new SecP192R1FieldElement();
|
||||
secP192R1FieldElement3.x = array2;
|
||||
uint num3;
|
||||
if (num3 == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local20->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_1B5;
|
||||
}
|
||||
uint[] p = SecP192R1Field.P;
|
||||
if (!Nat192.Gte(array2, p))
|
||||
{
|
||||
goto IL_1B5;
|
||||
}
|
||||
}
|
||||
SecP192R1Field.AddPInvTo(array2);
|
||||
IL_1B5:
|
||||
uint[] x7 = secP192R1FieldElement3.x;
|
||||
(new ECFieldElement[1])[0] = secP192R1FieldElement3;
|
||||
bool withCompression = this.m_withCompression;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A7ED RID: 42989 RVA: 0x002425B0 File Offset: 0x002407B0
|
||||
[Token(Token = "0x600A7ED")]
|
||||
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag3 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A7EE RID: 42990 RVA: 0x00242600 File Offset: 0x00240800
|
||||
[Token(Token = "0x600A7EE")]
|
||||
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A7EF RID: 42991 RVA: 0x00242630 File Offset: 0x00240830
|
||||
[Token(Token = "0x600A7EF")]
|
||||
[Address(RVA = "0x7055E0", Offset = "0x7045E0", VA = "0x1807055E0", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+333
@@ -0,0 +1,333 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B2F RID: 6959
|
||||
[Token(Token = "0x2001B2F")]
|
||||
internal class SecP224K1Curve : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600A7F0 RID: 42992 RVA: 0x00242668 File Offset: 0x00240868
|
||||
[Token(Token = "0x600A7F0")]
|
||||
[Address(RVA = "0x7064A0", Offset = "0x7054A0", VA = "0x1807064A0")]
|
||||
public SecP224K1Curve()
|
||||
{
|
||||
BigInteger bigInteger = SecP224K1Curve.q;
|
||||
base..ctor(bigInteger);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
SecP224K1Point secP224K1Point = new SecP224K1Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = secP224K1Point;
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array = Hex.Decode("010000000000000000000000000001DCE8D2EC6184CAF0A971769FB1F7");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array);
|
||||
this.m_order = bigInteger2;
|
||||
BigInteger one = BigInteger.One;
|
||||
this.m_cofactor = one;
|
||||
this.m_coord = (int)((ulong)2L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A7F1 RID: 42993 RVA: 0x002426F0 File Offset: 0x002408F0
|
||||
[Token(Token = "0x600A7F1")]
|
||||
[Address(RVA = "0x705E50", Offset = "0x704E50", VA = "0x180705E50", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7F1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_1_05, ldsfld:BigInteger(SecP224K1Curve::q))
|
||||
stloc:SecP224K1Point(var_2_11, newobj:SecP224K1Point(SecP224K1Point::.ctor, ldloc:SecP224K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_3), ldloc:uint64[exp:bool](var_6)))
|
||||
stloc:int32(var_3, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecP224K1Point(SecP224K1Curve::m_infinity, ldloc:SecP224K1Curve(var_0), ldloc:SecP224K1Point(var_2_11))
|
||||
stloc:int32(var_7_24, callvirtgetter:int32(SecP224K1Curve::get_FieldSize, ldloc:SecP224K1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecP224K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_7_24))
|
||||
stloc:int32(var_9_34, callvirtgetter:int32(SecP224K1Curve::get_FieldSize, ldloc:SecP224K1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecP224K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_9_34))
|
||||
stloc:uint8[](var_10_48, call:uint8[](Hex::Decode, ldstr:string("010000000000000000000000000001DCE8D2EC6184CAF0A971769FB1F7")))
|
||||
stloc:BigInteger(var_11_52, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_10_48)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecP224K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_11_52))
|
||||
stloc:BigInteger(var_12_61, ldsfld:BigInteger(BigInteger::One))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecP224K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_12_61))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecP224K1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](2)))
|
||||
}
|
||||
|
||||
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: 0x0600A7F2 RID: 42994 RVA: 0x00242770 File Offset: 0x00240970
|
||||
[Token(Token = "0x600A7F2")]
|
||||
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 2;
|
||||
}
|
||||
|
||||
// Token: 0x17001A52 RID: 6738
|
||||
// (get) Token: 0x0600A7F3 RID: 42995 RVA: 0x00242784 File Offset: 0x00240984
|
||||
[Token(Token = "0x17001A52")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600A7F3")]
|
||||
[Address(RVA = "0x7066A0", Offset = "0x7056A0", VA = "0x1807066A0", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return SecP224K1Curve.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A53 RID: 6739
|
||||
// (get) Token: 0x0600A7F4 RID: 42996 RVA: 0x00242798 File Offset: 0x00240998
|
||||
[Token(Token = "0x17001A53")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A7F4")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7F4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP224K1Point(var_0_06, ldfld:SecP224K1Point(SecP224K1Curve::m_infinity, ldloc:SecP224K1Curve(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: 0x17001A54 RID: 6740
|
||||
// (get) Token: 0x0600A7F5 RID: 42997 RVA: 0x002427AC File Offset: 0x002409AC
|
||||
[Token(Token = "0x17001A54")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A7F5")]
|
||||
[Address(RVA = "0x706630", Offset = "0x705630", VA = "0x180706630", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return SecP224K1Curve.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7F6 RID: 42998 RVA: 0x002427CC File Offset: 0x002409CC
|
||||
[Token(Token = "0x600A7F6")]
|
||||
[Address(RVA = "0x7063A0", Offset = "0x7053A0", VA = "0x1807063A0", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7F6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP224K1FieldElement(var_0_06, newobj:SecP224K1FieldElement(SecP224K1FieldElement::.ctor, 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: 0x0600A7F7 RID: 42999 RVA: 0x002427E0 File Offset: 0x002409E0
|
||||
[Token(Token = "0x600A7F7")]
|
||||
[Address(RVA = "0x706310", Offset = "0x705310", VA = "0x180706310", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A7F7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1Curve::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:SecP224K1Point(var_0_09, newobj:SecP224K1Point(SecP224K1Point::.ctor, ldloc:SecP224K1Curve[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: 0x0600A7F8 RID: 43000 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A7F8")]
|
||||
[Address(RVA = "0x706270", Offset = "0x705270", VA = "0x180706270", 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: 0x0600A7F9 RID: 43001 RVA: 0x002427F8 File Offset: 0x002409F8
|
||||
[Token(Token = "0x600A7F9")]
|
||||
[Address(RVA = "0x706010", Offset = "0x705010", VA = "0x180706010", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[len * (int)((uint)14)];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_4E;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 14;
|
||||
IL_4E:
|
||||
SecP224K1Curve.SecP224K1LookupTable secP224K1LookupTable;
|
||||
secP224K1LookupTable.m_outer = 0;
|
||||
secP224K1LookupTable.m_table = array;
|
||||
secP224K1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A7FA RID: 43002 RVA: 0x00242870 File Offset: 0x00240A70
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A7FA")]
|
||||
[Address(RVA = "0x706400", Offset = "0x705400", VA = "0x180706400")]
|
||||
static SecP224K1Curve()
|
||||
{
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFE56D");
|
||||
SecP224K1Curve.q = new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x04006D43 RID: 27971
|
||||
[Token(Token = "0x4006D43")]
|
||||
public static readonly BigInteger q;
|
||||
|
||||
// Token: 0x04006D44 RID: 27972
|
||||
[Token(Token = "0x4006D44")]
|
||||
private const int SECP224K1_DEFAULT_COORDS = 2;
|
||||
|
||||
// Token: 0x04006D45 RID: 27973
|
||||
[Token(Token = "0x4006D45")]
|
||||
private const int SECP224K1_FE_INTS = 7;
|
||||
|
||||
// Token: 0x04006D46 RID: 27974
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006D46")]
|
||||
protected readonly SecP224K1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B30 RID: 6960
|
||||
[Token(Token = "0x2001B30")]
|
||||
private class SecP224K1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A7FB RID: 43003 RVA: 0x00242894 File Offset: 0x00240A94
|
||||
[Token(Token = "0x600A7FB")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecP224K1LookupTable(SecP224K1Curve outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001A55 RID: 6741
|
||||
// (get) Token: 0x0600A7FC RID: 43004 RVA: 0x002428BC File Offset: 0x00240ABC
|
||||
[Token(Token = "0x17001A55")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A7FC")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A7FD RID: 43005 RVA: 0x002428D0 File Offset: 0x00240AD0
|
||||
[Token(Token = "0x600A7FD")]
|
||||
[Address(RVA = "0x708790", Offset = "0x707790", VA = "0x180708790", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat224.Create();
|
||||
uint[] array2 = Nat224.Create();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 14;
|
||||
num2++;
|
||||
}
|
||||
SecP224K1Curve outer = this.m_outer;
|
||||
new SecP224K1FieldElement().x = array;
|
||||
new SecP224K1FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D47 RID: 27975
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D47")]
|
||||
private readonly SecP224K1Curve m_outer;
|
||||
|
||||
// Token: 0x04006D48 RID: 27976
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D48")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006D49 RID: 27977
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D49")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+329
@@ -0,0 +1,329 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B31 RID: 6961
|
||||
[Token(Token = "0x2001B31")]
|
||||
internal class SecP224K1Field
|
||||
{
|
||||
// Token: 0x0600A7FE RID: 43006 RVA: 0x00242950 File Offset: 0x00240B50
|
||||
[Token(Token = "0x600A7FE")]
|
||||
[Address(RVA = "0x707BE0", Offset = "0x706BE0", VA = "0x180707BE0")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat224.Add(x, y, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP224K1Field.P;
|
||||
if (!Nat224.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num = Nat.Add33To(7, (uint)6803, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A7FF RID: 43007 RVA: 0x00242998 File Offset: 0x00240B98
|
||||
[Token(Token = "0x600A7FF")]
|
||||
[Address(RVA = "0x707990", Offset = "0x706990", VA = "0x180707990")]
|
||||
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Add(14, xx, yy, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP224K1Field.PExt;
|
||||
if (!Nat.Gte(14, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP224K1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP224K1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(14, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A800 RID: 43008 RVA: 0x00242A04 File Offset: 0x00240C04
|
||||
[Token(Token = "0x600A800")]
|
||||
[Address(RVA = "0x707B10", Offset = "0x706B10", VA = "0x180707B10")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
if (Nat.Inc(7, x, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP224K1Field.P;
|
||||
if (!Nat224.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num = Nat.Add33To(7, (uint)6803, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A801 RID: 43009 RVA: 0x00242A4C File Offset: 0x00240C4C
|
||||
[Token(Token = "0x600A801")]
|
||||
[Address(RVA = "0x707CC0", Offset = "0x706CC0", VA = "0x180707CC0")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat224.FromBigInteger(x);
|
||||
if ("{il2cpp array field local2->}" == (ulong)(-1L))
|
||||
{
|
||||
uint[] p = SecP224K1Field.P;
|
||||
if (Nat224.Gte(array, p))
|
||||
{
|
||||
int num = Nat224.SubFrom(SecP224K1Field.P, array);
|
||||
}
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A802 RID: 43010 RVA: 0x00242A90 File Offset: 0x00240C90
|
||||
[Token(Token = "0x600A802")]
|
||||
[Address(RVA = "0x707DB0", Offset = "0x706DB0", VA = "0x180707DB0")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
if ("{il2cpp array field x->}" != (ulong)1L)
|
||||
{
|
||||
uint[] p = SecP224K1Field.P;
|
||||
uint num = Nat224.Add(x, p, z);
|
||||
uint num2 = Nat.ShiftDownBit(7, z, num);
|
||||
return;
|
||||
}
|
||||
int num3 = 0;
|
||||
uint num4 = Nat.ShiftDownBit(7, x, (uint)num3, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A803 RID: 43011 RVA: 0x00242AD4 File Offset: 0x00240CD4
|
||||
[Token(Token = "0x600A803")]
|
||||
[Address(RVA = "0x708000", Offset = "0x707000", VA = "0x180708000")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat224.CreateExt();
|
||||
Nat224.Mul(x, y, array);
|
||||
SecP224K1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A804 RID: 43012 RVA: 0x00242AF8 File Offset: 0x00240CF8
|
||||
[Token(Token = "0x600A804")]
|
||||
[Address(RVA = "0x707E90", Offset = "0x706E90", VA = "0x180707E90")]
|
||||
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
|
||||
{
|
||||
if (Nat224.MulAddTo(x, y, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP224K1Field.PExt;
|
||||
if (!Nat.Gte(14, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP224K1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP224K1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(14, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A805 RID: 43013 RVA: 0x00242B60 File Offset: 0x00240D60
|
||||
[Token(Token = "0x600A805")]
|
||||
[Address(RVA = "0x7080A0", Offset = "0x7070A0", VA = "0x1807080A0")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat224.IsZero(x))
|
||||
{
|
||||
int num = Nat224.Sub(SecP224K1Field.P, x, z);
|
||||
return;
|
||||
}
|
||||
Nat224.Zero(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A806 RID: 43014 RVA: 0x00242B8C File Offset: 0x00240D8C
|
||||
[Token(Token = "0x600A806")]
|
||||
[Address(RVA = "0x708220", Offset = "0x707220", VA = "0x180708220")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
ulong num2 = Nat224.Mul33Add((uint)6803, xx, 7, xx, num, z, num);
|
||||
int num3 = 0;
|
||||
if (Nat224.Mul33DWordAdd((uint)6803, num2, z, num3) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP224K1Field.P;
|
||||
if (!Nat224.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num4 = Nat.Add33To(7, (uint)6803, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A807 RID: 43015 RVA: 0x00242BF0 File Offset: 0x00240DF0
|
||||
[Token(Token = "0x600A807")]
|
||||
[Address(RVA = "0x708140", Offset = "0x707140", VA = "0x180708140")]
|
||||
public static void Reduce32(uint x, uint[] z)
|
||||
{
|
||||
if (x != (uint)0)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat224.Mul33WordAdd((uint)6803, x, z, num) != (uint)0)
|
||||
{
|
||||
goto IL_33;
|
||||
}
|
||||
}
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP224K1Field.P;
|
||||
if (!Nat224.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
IL_33:
|
||||
uint num2 = Nat.Add33To(7, (uint)6803, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A808 RID: 43016 RVA: 0x00242C44 File Offset: 0x00240E44
|
||||
[Token(Token = "0x600A808")]
|
||||
[Address(RVA = "0x708400", Offset = "0x707400", VA = "0x180708400")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat224.CreateExt();
|
||||
Nat224.Square(x, array);
|
||||
SecP224K1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A809 RID: 43017 RVA: 0x00242C68 File Offset: 0x00240E68
|
||||
[Token(Token = "0x600A809")]
|
||||
[Address(RVA = "0x708320", Offset = "0x707320", VA = "0x180708320")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat224.CreateExt();
|
||||
Nat224.Square(x, array);
|
||||
SecP224K1Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
Nat224.Square(z, array);
|
||||
SecP224K1Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A80A RID: 43018 RVA: 0x00242CA0 File Offset: 0x00240EA0
|
||||
[Token(Token = "0x600A80A")]
|
||||
[Address(RVA = "0x7085A0", Offset = "0x7075A0", VA = "0x1807085A0")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat224.Sub(x, y, z) != 0)
|
||||
{
|
||||
int num = Nat.Sub33From(7, (uint)6803, z);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A80B RID: 43019 RVA: 0x00242CC8 File Offset: 0x00240EC8
|
||||
[Token(Token = "0x600A80B")]
|
||||
[Address(RVA = "0x708490", Offset = "0x707490", VA = "0x180708490")]
|
||||
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Sub(14, xx, yy, zz) != 0)
|
||||
{
|
||||
uint[] pextInv = SecP224K1Field.PExtInv;
|
||||
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
|
||||
{
|
||||
int length = SecP224K1Field.PExtInv.Length;
|
||||
int num = Nat.DecAt(14, zz, length);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A80C RID: 43020 RVA: 0x00242D14 File Offset: 0x00240F14
|
||||
[Token(Token = "0x600A80C")]
|
||||
[Address(RVA = "0x7085E0", Offset = "0x7075E0", VA = "0x1807085E0")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat.ShiftUpBit(7, x, (uint)num, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP224K1Field.P;
|
||||
if (!Nat224.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num2 = Nat.Add33To(7, (uint)6803, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A80D RID: 43021 RVA: 0x00242D60 File Offset: 0x00240F60
|
||||
[Token(Token = "0x600A80D")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecP224K1Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A80E RID: 43022 RVA: 0x00242D74 File Offset: 0x00240F74
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A80E")]
|
||||
[Address(RVA = "0x7086C0", Offset = "0x7076C0", VA = "0x1807086C0")]
|
||||
static SecP224K1Field()
|
||||
{
|
||||
uint[] array = new uint[7];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.126589410FF9CA1510B9950BF0E79E5BFD60000B).FieldHandle);
|
||||
SecP224K1Field.P = array;
|
||||
uint[] array2 = new uint[14];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.E647D32D165F3510693DF9787DC98E0A0B63C5C2).FieldHandle);
|
||||
SecP224K1Field.PExt = array2;
|
||||
uint[] array3 = new uint[9];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.66961AC9ADD7C27DCD1BCA65FCD5C02B74B62F47).FieldHandle);
|
||||
SecP224K1Field.PExtInv = array3;
|
||||
}
|
||||
|
||||
// Token: 0x04006D4A RID: 27978
|
||||
[Token(Token = "0x4006D4A")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04006D4B RID: 27979
|
||||
[Token(Token = "0x4006D4B")]
|
||||
internal static readonly uint[] PExt;
|
||||
|
||||
// Token: 0x04006D4C RID: 27980
|
||||
[Token(Token = "0x4006D4C")]
|
||||
private static readonly uint[] PExtInv;
|
||||
|
||||
// Token: 0x04006D4D RID: 27981
|
||||
[Token(Token = "0x4006D4D")]
|
||||
private const uint P6 = 4294967295U;
|
||||
|
||||
// Token: 0x04006D4E RID: 27982
|
||||
[Token(Token = "0x4006D4E")]
|
||||
private const uint PExt13 = 4294967295U;
|
||||
|
||||
// Token: 0x04006D4F RID: 27983
|
||||
[Token(Token = "0x4006D4F")]
|
||||
private const uint PInv33 = 6803U;
|
||||
}
|
||||
}
|
||||
+466
@@ -0,0 +1,466 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B32 RID: 6962
|
||||
[Token(Token = "0x2001B32")]
|
||||
internal class SecP224K1FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x0600A80F RID: 43023 RVA: 0x00242DCC File Offset: 0x00240FCC
|
||||
[Token(Token = "0x600A80F")]
|
||||
[Address(RVA = "0x707700", Offset = "0x706700", VA = "0x180707700")]
|
||||
public SecP224K1FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A80F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_4E:
|
||||
stloc:ArgumentException(var_5_5D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP224K1FieldElement"), ldstr:string("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.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: 0x0600A810 RID: 43024 RVA: 0x00242E38 File Offset: 0x00241038
|
||||
[Token(Token = "0x600A810")]
|
||||
[Address(RVA = "0x7076D0", Offset = "0x7066D0", VA = "0x1807076D0")]
|
||||
public SecP224K1FieldElement()
|
||||
{
|
||||
uint[] array = Nat224.Create();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A811 RID: 43025 RVA: 0x00242E5C File Offset: 0x0024105C
|
||||
[Token(Token = "0x600A811")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecP224K1FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001A56 RID: 6742
|
||||
// (get) Token: 0x0600A812 RID: 43026 RVA: 0x00242E78 File Offset: 0x00241078
|
||||
[Token(Token = "0x17001A56")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600A812")]
|
||||
[Address(RVA = "0x707980", Offset = "0x706980", VA = "0x180707980", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat224.IsZero(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A57 RID: 6743
|
||||
// (get) Token: 0x0600A813 RID: 43027 RVA: 0x00242E90 File Offset: 0x00241090
|
||||
[Token(Token = "0x17001A57")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600A813")]
|
||||
[Address(RVA = "0x707970", Offset = "0x706970", VA = "0x180707970", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat224.IsOne(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A814 RID: 43028 RVA: 0x00242EA8 File Offset: 0x002410A8
|
||||
[Token(Token = "0x600A814")]
|
||||
[Address(RVA = "0x7075F0", Offset = "0x7065F0", VA = "0x1807075F0", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat224.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A815 RID: 43029 RVA: 0x00242ECC File Offset: 0x002410CC
|
||||
[Token(Token = "0x600A815")]
|
||||
[Address(RVA = "0x707610", Offset = "0x706610", VA = "0x180707610", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat224.ToBigInteger(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001A58 RID: 6744
|
||||
// (get) Token: 0x0600A816 RID: 43030 RVA: 0x00242EE4 File Offset: 0x002410E4
|
||||
[Token(Token = "0x17001A58")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600A816")]
|
||||
[Address(RVA = "0x7078D0", Offset = "0x7068D0", VA = "0x1807078D0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecP224K1Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A59 RID: 6745
|
||||
// (get) Token: 0x0600A817 RID: 43031 RVA: 0x00242EF8 File Offset: 0x002410F8
|
||||
[Token(Token = "0x17001A59")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A817")]
|
||||
[Address(RVA = "0x707900", Offset = "0x706900", VA = "0x180707900", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return SecP224K1FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A818 RID: 43032 RVA: 0x00242F18 File Offset: 0x00241118
|
||||
[Token(Token = "0x600A818")]
|
||||
[Address(RVA = "0x706840", Offset = "0x705840", VA = "0x180706840", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat224.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP224K1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint num;
|
||||
if (num == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local3->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_59;
|
||||
}
|
||||
uint[] p = SecP224K1Field.P;
|
||||
if (!Nat224.Gte(array, p))
|
||||
{
|
||||
goto IL_59;
|
||||
}
|
||||
}
|
||||
uint num2 = Nat.Add33To(7, (uint)6803, array);
|
||||
IL_59:
|
||||
new SecP224K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A819 RID: 43033 RVA: 0x00242F90 File Offset: 0x00241190
|
||||
[Token(Token = "0x600A819")]
|
||||
[Address(RVA = "0x706700", Offset = "0x705700", VA = "0x180706700", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
uint[] array = Nat224.Create();
|
||||
uint[] array2 = this.x;
|
||||
if (Nat.Inc(7, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local2->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_44;
|
||||
}
|
||||
uint[] p = SecP224K1Field.P;
|
||||
if (!Nat224.Gte(array, p))
|
||||
{
|
||||
goto IL_44;
|
||||
}
|
||||
}
|
||||
uint num = Nat.Add33To(7, (uint)6803, array);
|
||||
IL_44:
|
||||
new SecP224K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A81A RID: 43034 RVA: 0x00242FF4 File Offset: 0x002411F4
|
||||
[Token(Token = "0x600A81A")]
|
||||
[Address(RVA = "0x707490", Offset = "0x706490", VA = "0x180707490", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat224.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP224K1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
int num;
|
||||
if (num != 0)
|
||||
{
|
||||
int num2 = Nat.Sub33From(7, (uint)6803, array);
|
||||
}
|
||||
new SecP224K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A81B RID: 43035 RVA: 0x00243050 File Offset: 0x00241250
|
||||
[Token(Token = "0x600A81B")]
|
||||
[Address(RVA = "0x706E70", Offset = "0x705E70", VA = "0x180706E70", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat224.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP224K1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP224K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A81C RID: 43036 RVA: 0x00243098 File Offset: 0x00241298
|
||||
[Token(Token = "0x600A81C")]
|
||||
[Address(RVA = "0x706A20", Offset = "0x705A20", VA = "0x180706A20", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat224.Create();
|
||||
uint[] p = SecP224K1Field.P;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP224K1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
SecP224K1Field.Multiply(array, array2, array);
|
||||
new SecP224K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A81D RID: 43037 RVA: 0x002430F0 File Offset: 0x002412F0
|
||||
[Token(Token = "0x600A81D")]
|
||||
[Address(RVA = "0x706FB0", Offset = "0x705FB0", VA = "0x180706FB0", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A81D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat224::Create))
|
||||
call:void(SecP224K1Field::Negate, ldfld:uint32[](SecP224K1FieldElement::x, ldloc:SecP224K1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP224K1FieldElement::x, newobj:SecP224K1FieldElement(SecP224K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A81E RID: 43038 RVA: 0x0024311C File Offset: 0x0024131C
|
||||
[Token(Token = "0x600A81E")]
|
||||
[Address(RVA = "0x707400", Offset = "0x706400", VA = "0x180707400", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A81E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat224::Create))
|
||||
call:void(SecP224K1Field::Square, ldfld:uint32[](SecP224K1FieldElement::x, ldloc:SecP224K1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP224K1FieldElement::x, newobj:SecP224K1FieldElement(SecP224K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A81F RID: 43039 RVA: 0x00243148 File Offset: 0x00241348
|
||||
[Token(Token = "0x600A81F")]
|
||||
[Address(RVA = "0x706DA0", Offset = "0x705DA0", VA = "0x180706DA0", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A81F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat224::Create))
|
||||
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP224K1FieldElement::x, ldloc:SecP224K1FieldElement(this)))
|
||||
call:void(Mod::Invert, ldsfld:uint32[](SecP224K1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP224K1FieldElement::x, newobj:SecP224K1FieldElement(SecP224K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A820 RID: 43040 RVA: 0x0024317C File Offset: 0x0024137C
|
||||
[Token(Token = "0x600A820")]
|
||||
[Address(RVA = "0x707040", Offset = "0x706040", VA = "0x180707040", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A820)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1FieldElement::Sqrt()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1BB:
|
||||
stfld:uint32[](SecP224K1FieldElement::x, newobj:SecP224K1FieldElement(SecP224K1FieldElement::.ctor), ldloc:uint32[](var_6_62))
|
||||
}
|
||||
|
||||
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: 0x0600A821 RID: 43041 RVA: 0x00243350 File Offset: 0x00241550
|
||||
[Token(Token = "0x600A821")]
|
||||
[Address(RVA = "0x706BA0", Offset = "0x705BA0", VA = "0x180706BA0", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A821)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP224K1FieldElement[exp:ECFieldElement](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: 0x0600A822 RID: 43042 RVA: 0x0024336C File Offset: 0x0024156C
|
||||
[Token(Token = "0x600A822")]
|
||||
[Address(RVA = "0x706C30", Offset = "0x705C30", VA = "0x180706C30", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A822)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP224K1FieldElement[exp:ECFieldElement](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: 0x0600A823 RID: 43043 RVA: 0x00243388 File Offset: 0x00241588
|
||||
[Token(Token = "0x600A823")]
|
||||
[Address(RVA = "0x706CC0", Offset = "0x705CC0", VA = "0x180706CC0", Slot = "27")]
|
||||
public virtual bool Equals(SecP224K1FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
return Nat224.Eq(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A824 RID: 43044 RVA: 0x002433B4 File Offset: 0x002415B4
|
||||
[Token(Token = "0x600A824")]
|
||||
[Address(RVA = "0x706CE0", Offset = "0x705CE0", VA = "0x180706CE0", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
SecP224K1FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 7);
|
||||
}
|
||||
|
||||
// Token: 0x0600A825 RID: 43045 RVA: 0x002433E4 File Offset: 0x002415E4
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A825")]
|
||||
[Address(RVA = "0x707620", Offset = "0x706620", VA = "0x180707620")]
|
||||
static SecP224K1FieldElement()
|
||||
{
|
||||
uint[] array = new uint[7];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.059FFAA29C8FCAA8FDB47FBFDE6FB74F5A43E5C0).FieldHandle);
|
||||
SecP224K1FieldElement.PRECOMP_POW2 = array;
|
||||
}
|
||||
|
||||
// Token: 0x04006D50 RID: 27984
|
||||
[Token(Token = "0x4006D50")]
|
||||
public static readonly BigInteger Q = SecP224K1Curve.q;
|
||||
|
||||
// Token: 0x04006D51 RID: 27985
|
||||
[Token(Token = "0x4006D51")]
|
||||
private static readonly uint[] PRECOMP_POW2;
|
||||
|
||||
// Token: 0x04006D52 RID: 27986
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D52")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+326
@@ -0,0 +1,326 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B33 RID: 6963
|
||||
[Token(Token = "0x2001B33")]
|
||||
internal class SecP224K1Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600A826 RID: 43046 RVA: 0x00243414 File Offset: 0x00241614
|
||||
[Token(Token = "0x600A826")]
|
||||
[Address(RVA = "0x709A50", Offset = "0x708A50", VA = "0x180709A50")]
|
||||
public SecP224K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A827 RID: 43047 RVA: 0x00243424 File Offset: 0x00241624
|
||||
[Token(Token = "0x600A827")]
|
||||
[Address(RVA = "0x709990", Offset = "0x708990", VA = "0x180709990")]
|
||||
public SecP224K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A827)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A828 RID: 43048 RVA: 0x0024344C File Offset: 0x0024164C
|
||||
[Token(Token = "0x600A828")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecP224K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A829 RID: 43049 RVA: 0x0024345C File Offset: 0x0024165C
|
||||
[Token(Token = "0x600A829")]
|
||||
[Address(RVA = "0x7091E0", Offset = "0x7081E0", VA = "0x1807091E0", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A829)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224K1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP224K1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP224K1Point[exp:ECPoint](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: 0x0600A82A RID: 43050 RVA: 0x00243478 File Offset: 0x00241678
|
||||
[Token(Token = "0x600A82A")]
|
||||
[Address(RVA = "0x708960", Offset = "0x707960", VA = "0x180708960", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity && !b.IsInfinity && this != b)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat224.CreateExt();
|
||||
uint[] array2 = Nat224.Create();
|
||||
uint[] array3 = Nat224.Create();
|
||||
uint[] array4 = Nat224.Create();
|
||||
if (array4 == 0)
|
||||
{
|
||||
SecP224K1Field.Square(array4, array3);
|
||||
SecP224K1Field.Multiply(array3, array3, array2);
|
||||
SecP224K1Field.Multiply(array3, array3, array3);
|
||||
SecP224K1Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
SecP224K1Field.Multiply(array4, array4, array);
|
||||
SecP224K1Field.Multiply(array4, array4, array4);
|
||||
SecP224K1Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat224.Create();
|
||||
int num;
|
||||
if (num != 0)
|
||||
{
|
||||
int num2 = Nat.Sub33From(7, (uint)6803, array5);
|
||||
}
|
||||
int num3;
|
||||
if (num3 != 0)
|
||||
{
|
||||
int num4 = Nat.Sub33From(7, (uint)6803, array2);
|
||||
}
|
||||
if (!Nat224.IsZero(array5))
|
||||
{
|
||||
SecP224K1Field.Square(array5, array3);
|
||||
uint[] array6 = Nat224.Create();
|
||||
SecP224K1Field.Multiply(array3, array5, array6);
|
||||
SecP224K1Field.Negate(array6, array6);
|
||||
SecP224K1Field.Reduce32(Nat224.AddBothTo(array3, array3, array6), array6);
|
||||
SecP224K1FieldElement secP224K1FieldElement = new SecP224K1FieldElement();
|
||||
secP224K1FieldElement.x = array4;
|
||||
SecP224K1Field.Square(array2, array4);
|
||||
uint[] x = secP224K1FieldElement.x;
|
||||
if (Nat224.Sub(x, array6, x) != 0)
|
||||
{
|
||||
int num5 = Nat.Sub33From(7, (uint)6803, x);
|
||||
}
|
||||
SecP224K1FieldElement secP224K1FieldElement2 = new SecP224K1FieldElement();
|
||||
secP224K1FieldElement2.x = array6;
|
||||
uint[] x2 = secP224K1FieldElement.x;
|
||||
if (Nat224.Sub(array3, x2, array6) != 0)
|
||||
{
|
||||
int num6 = Nat.Sub33From(7, (uint)6803, array6);
|
||||
}
|
||||
uint[] x3 = secP224K1FieldElement2.x;
|
||||
if (Nat224.MulAddTo(x3, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local16->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_207;
|
||||
}
|
||||
uint[] pext = SecP224K1Field.PExt;
|
||||
if (!Nat.Gte(14, array, pext))
|
||||
{
|
||||
goto IL_207;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP224K1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
|
||||
{
|
||||
int length = SecP224K1Field.PExtInv.Length;
|
||||
uint num7 = Nat.IncAt(14, array, length);
|
||||
}
|
||||
IL_207:
|
||||
uint[] x4 = secP224K1FieldElement2.x;
|
||||
SecP224K1Field.Reduce(array, x4);
|
||||
SecP224K1FieldElement secP224K1FieldElement3 = new SecP224K1FieldElement();
|
||||
secP224K1FieldElement3.x = array5;
|
||||
SecP224K1Field.Multiply(array5, x3, array5);
|
||||
uint[] x5 = secP224K1FieldElement3.x;
|
||||
SecP224K1Field.Multiply(x5, array5, x5);
|
||||
ECFieldElement[] array7 = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600A82B RID: 43051 RVA: 0x002436FC File Offset: 0x002418FC
|
||||
[Token(Token = "0x600A82B")]
|
||||
[Address(RVA = "0x709380", Offset = "0x708380", VA = "0x180709380", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
while (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y != 0)
|
||||
{
|
||||
if (y.IsOne)
|
||||
{
|
||||
break;
|
||||
}
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
uint[] array = Nat224.Create();
|
||||
uint[] array2 = Nat224.Create();
|
||||
SecP224K1Field.Square(array, array2);
|
||||
uint[] array3 = Nat224.Create();
|
||||
SecP224K1Field.Reduce32(Nat224.AddBothTo(array3, array3, array3), array3);
|
||||
SecP224K1Field.Multiply(array, array3, array);
|
||||
int num = 0;
|
||||
SecP224K1Field.Reduce32(Nat.ShiftUpBits(7, array, 2, (uint)num), array);
|
||||
uint[] array4 = Nat224.Create();
|
||||
int num2 = 0;
|
||||
SecP224K1Field.Reduce32(Nat.ShiftUpBits(7, array2, 3, (uint)num2, array4), array4);
|
||||
SecP224K1FieldElement secP224K1FieldElement = new SecP224K1FieldElement();
|
||||
secP224K1FieldElement.x = array2;
|
||||
SecP224K1Field.Square(array3, array2);
|
||||
uint[] x2 = secP224K1FieldElement.x;
|
||||
if (Nat224.Sub(x2, array, x2) != 0)
|
||||
{
|
||||
int num3 = Nat.Sub33From(7, (uint)6803, x2);
|
||||
}
|
||||
uint[] x3 = secP224K1FieldElement.x;
|
||||
if (Nat224.Sub(x3, array, x3) != 0)
|
||||
{
|
||||
int num4 = Nat.Sub33From(7, (uint)6803, x3);
|
||||
}
|
||||
SecP224K1FieldElement secP224K1FieldElement2 = new SecP224K1FieldElement();
|
||||
secP224K1FieldElement2.x = array;
|
||||
uint[] x4 = secP224K1FieldElement.x;
|
||||
if (Nat224.Sub(array, x4, array) != 0)
|
||||
{
|
||||
int num5 = Nat.Sub33From(7, (uint)6803, array);
|
||||
}
|
||||
uint[] x5 = secP224K1FieldElement2.x;
|
||||
SecP224K1Field.Multiply(x5, array3, x5);
|
||||
uint[] x6 = secP224K1FieldElement2.x;
|
||||
if (Nat224.Sub(x6, array4, x6) != 0)
|
||||
{
|
||||
int num6 = Nat.Sub33From(7, (uint)6803, x6);
|
||||
}
|
||||
SecP224K1FieldElement secP224K1FieldElement3 = new SecP224K1FieldElement();
|
||||
secP224K1FieldElement3.x = array3;
|
||||
uint num7;
|
||||
if (num7 == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local24->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_1EF;
|
||||
}
|
||||
uint[] p = SecP224K1Field.P;
|
||||
if (!Nat224.Gte(array3, p))
|
||||
{
|
||||
goto IL_1EF;
|
||||
}
|
||||
}
|
||||
uint num8 = Nat.Add33To(7, (uint)6803, array3);
|
||||
IL_1EF:
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
uint[] x7 = secP224K1FieldElement3.x;
|
||||
}
|
||||
(new ECFieldElement[1])[0] = secP224K1FieldElement3;
|
||||
bool withCompression = this.m_withCompression;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A82C RID: 43052 RVA: 0x00243928 File Offset: 0x00241B28
|
||||
[Token(Token = "0x600A82C")]
|
||||
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag3 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A82D RID: 43053 RVA: 0x00243978 File Offset: 0x00241B78
|
||||
[Token(Token = "0x600A82D")]
|
||||
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A82E RID: 43054 RVA: 0x002439A8 File Offset: 0x00241BA8
|
||||
[Token(Token = "0x600A82E")]
|
||||
[Address(RVA = "0x709280", Offset = "0x708280", VA = "0x180709280", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+323
@@ -0,0 +1,323 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B34 RID: 6964
|
||||
[Token(Token = "0x2001B34")]
|
||||
internal class SecP224R1Curve : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600A82F RID: 43055 RVA: 0x002439E0 File Offset: 0x00241BE0
|
||||
[Token(Token = "0x600A82F")]
|
||||
[Address(RVA = "0x709F50", Offset = "0x708F50", VA = "0x180709F50")]
|
||||
public SecP224R1Curve()
|
||||
{
|
||||
BigInteger bigInteger = SecP224R1Curve.q;
|
||||
base..ctor(bigInteger);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
SecP224R1Point secP224R1Point = new SecP224R1Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = secP224R1Point;
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D");
|
||||
BigInteger bigInteger4 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger4;
|
||||
BigInteger one = BigInteger.One;
|
||||
this.m_cofactor = one;
|
||||
this.m_coord = (int)((ulong)2L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A830 RID: 43056 RVA: 0x00243A94 File Offset: 0x00241C94
|
||||
[Token(Token = "0x600A830")]
|
||||
[Address(RVA = "0x709A70", Offset = "0x708A70", VA = "0x180709A70", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A830)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP224R1Curve(var_0_05, newobj:SecP224R1Curve(SecP224R1Curve::.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: 0x0600A831 RID: 43057 RVA: 0x00243AA8 File Offset: 0x00241CA8
|
||||
[Token(Token = "0x600A831")]
|
||||
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 2;
|
||||
}
|
||||
|
||||
// Token: 0x17001A5A RID: 6746
|
||||
// (get) Token: 0x0600A832 RID: 43058 RVA: 0x00243ABC File Offset: 0x00241CBC
|
||||
[Token(Token = "0x17001A5A")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600A832")]
|
||||
[Address(RVA = "0x70A1A0", Offset = "0x7091A0", VA = "0x18070A1A0", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return SecP224R1Curve.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A5B RID: 6747
|
||||
// (get) Token: 0x0600A833 RID: 43059 RVA: 0x00243AD0 File Offset: 0x00241CD0
|
||||
[Token(Token = "0x17001A5B")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A833")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A833)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP224R1Point(var_0_06, ldfld:SecP224R1Point(SecP224R1Curve::m_infinity, ldloc:SecP224R1Curve(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: 0x17001A5C RID: 6748
|
||||
// (get) Token: 0x0600A834 RID: 43060 RVA: 0x00243AE4 File Offset: 0x00241CE4
|
||||
[Token(Token = "0x17001A5C")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A834")]
|
||||
[Address(RVA = "0x70A130", Offset = "0x709130", VA = "0x18070A130", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return SecP224R1Curve.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A835 RID: 43061 RVA: 0x00243B04 File Offset: 0x00241D04
|
||||
[Token(Token = "0x600A835")]
|
||||
[Address(RVA = "0x709E50", Offset = "0x708E50", VA = "0x180709E50", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A835)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP224R1FieldElement(var_0_06, newobj:SecP224R1FieldElement(SecP224R1FieldElement::.ctor, 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: 0x0600A836 RID: 43062 RVA: 0x00243B18 File Offset: 0x00241D18
|
||||
[Token(Token = "0x600A836")]
|
||||
[Address(RVA = "0x709DC0", Offset = "0x708DC0", VA = "0x180709DC0", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A836)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1Curve::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:SecP224R1Point(var_0_09, newobj:SecP224R1Point(SecP224R1Point::.ctor, ldloc:SecP224R1Curve[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: 0x0600A837 RID: 43063 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A837")]
|
||||
[Address(RVA = "0x709D20", Offset = "0x708D20", VA = "0x180709D20", 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: 0x0600A838 RID: 43064 RVA: 0x00243B30 File Offset: 0x00241D30
|
||||
[Token(Token = "0x600A838")]
|
||||
[Address(RVA = "0x709AC0", Offset = "0x708AC0", VA = "0x180709AC0", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[len * (int)((uint)14)];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_4E;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 14;
|
||||
IL_4E:
|
||||
SecP224R1Curve.SecP224R1LookupTable secP224R1LookupTable;
|
||||
secP224R1LookupTable.m_outer = 0;
|
||||
secP224R1LookupTable.m_table = array;
|
||||
secP224R1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A839 RID: 43065 RVA: 0x00243BA8 File Offset: 0x00241DA8
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A839")]
|
||||
[Address(RVA = "0x709EB0", Offset = "0x708EB0", VA = "0x180709EB0")]
|
||||
static SecP224R1Curve()
|
||||
{
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001");
|
||||
SecP224R1Curve.q = new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x04006D53 RID: 27987
|
||||
[Token(Token = "0x4006D53")]
|
||||
public static readonly BigInteger q;
|
||||
|
||||
// Token: 0x04006D54 RID: 27988
|
||||
[Token(Token = "0x4006D54")]
|
||||
private const int SECP224R1_DEFAULT_COORDS = 2;
|
||||
|
||||
// Token: 0x04006D55 RID: 27989
|
||||
[Token(Token = "0x4006D55")]
|
||||
private const int SECP224R1_FE_INTS = 7;
|
||||
|
||||
// Token: 0x04006D56 RID: 27990
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006D56")]
|
||||
protected readonly SecP224R1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B35 RID: 6965
|
||||
[Token(Token = "0x2001B35")]
|
||||
private class SecP224R1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A83A RID: 43066 RVA: 0x00243BCC File Offset: 0x00241DCC
|
||||
[Token(Token = "0x600A83A")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecP224R1LookupTable(SecP224R1Curve outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001A5D RID: 6749
|
||||
// (get) Token: 0x0600A83B RID: 43067 RVA: 0x00243BF4 File Offset: 0x00241DF4
|
||||
[Token(Token = "0x17001A5D")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A83B")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A83C RID: 43068 RVA: 0x00243C08 File Offset: 0x00241E08
|
||||
[Token(Token = "0x600A83C")]
|
||||
[Address(RVA = "0x70CDA0", Offset = "0x70BDA0", VA = "0x18070CDA0", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat224.Create();
|
||||
uint[] array2 = Nat224.Create();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 14;
|
||||
num2++;
|
||||
}
|
||||
SecP224R1Curve outer = this.m_outer;
|
||||
new SecP224R1FieldElement().x = array;
|
||||
new SecP224R1FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D57 RID: 27991
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D57")]
|
||||
private readonly SecP224R1Curve m_outer;
|
||||
|
||||
// Token: 0x04006D58 RID: 27992
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D58")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006D59 RID: 27993
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D59")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+471
@@ -0,0 +1,471 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B36 RID: 6966
|
||||
[Token(Token = "0x2001B36")]
|
||||
internal class SecP224R1Field
|
||||
{
|
||||
// Token: 0x0600A83D RID: 43069 RVA: 0x00243C88 File Offset: 0x00241E88
|
||||
[Token(Token = "0x600A83D")]
|
||||
[Address(RVA = "0x70BC60", Offset = "0x70AC60", VA = "0x18070BC60")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat224.Add(x, y, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP224R1Field.P;
|
||||
if (!Nat224.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP224R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A83E RID: 43070 RVA: 0x00243CC8 File Offset: 0x00241EC8
|
||||
[Token(Token = "0x600A83E")]
|
||||
[Address(RVA = "0x70B920", Offset = "0x70A920", VA = "0x18070B920")]
|
||||
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Add(14, xx, yy, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP224R1Field.PExt;
|
||||
if (!Nat.Gte(14, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP224R1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP224R1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(14, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A83F RID: 43071 RVA: 0x00243D34 File Offset: 0x00241F34
|
||||
[Token(Token = "0x600A83F")]
|
||||
[Address(RVA = "0x70BAA0", Offset = "0x70AAA0", VA = "0x18070BAA0")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
if (Nat.Inc(7, x, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP224R1Field.P;
|
||||
if (!Nat224.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP224R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A840 RID: 43072 RVA: 0x00243D74 File Offset: 0x00241F74
|
||||
[Token(Token = "0x600A840")]
|
||||
[Address(RVA = "0x70BD50", Offset = "0x70AD50", VA = "0x18070BD50")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat224.FromBigInteger(x);
|
||||
if ("{il2cpp array field local2->}" == (ulong)(-1L))
|
||||
{
|
||||
uint[] p = SecP224R1Field.P;
|
||||
if (Nat224.Gte(array, p))
|
||||
{
|
||||
int num = Nat224.SubFrom(SecP224R1Field.P, array);
|
||||
}
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A841 RID: 43073 RVA: 0x00243DB8 File Offset: 0x00241FB8
|
||||
[Token(Token = "0x600A841")]
|
||||
[Address(RVA = "0x70BE40", Offset = "0x70AE40", VA = "0x18070BE40")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
if ("{il2cpp array field x->}" != (ulong)1L)
|
||||
{
|
||||
uint[] p = SecP224R1Field.P;
|
||||
uint num = Nat224.Add(x, p, z);
|
||||
uint num2 = Nat.ShiftDownBit(7, z, num);
|
||||
return;
|
||||
}
|
||||
int num3 = 0;
|
||||
uint num4 = Nat.ShiftDownBit(7, x, (uint)num3, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A842 RID: 43074 RVA: 0x00243DFC File Offset: 0x00241FFC
|
||||
[Token(Token = "0x600A842")]
|
||||
[Address(RVA = "0x70C090", Offset = "0x70B090", VA = "0x18070C090")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat224.CreateExt();
|
||||
Nat224.Mul(x, y, array);
|
||||
SecP224R1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A843 RID: 43075 RVA: 0x00243E20 File Offset: 0x00242020
|
||||
[Token(Token = "0x600A843")]
|
||||
[Address(RVA = "0x70BF20", Offset = "0x70AF20", VA = "0x18070BF20")]
|
||||
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
|
||||
{
|
||||
if (Nat224.MulAddTo(x, y, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP224R1Field.PExt;
|
||||
if (!Nat.Gte(14, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP224R1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP224R1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(14, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A844 RID: 43076 RVA: 0x00243E88 File Offset: 0x00242088
|
||||
[Token(Token = "0x600A844")]
|
||||
[Address(RVA = "0x70C130", Offset = "0x70B130", VA = "0x18070C130")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat224.IsZero(x))
|
||||
{
|
||||
int num = Nat224.Sub(SecP224R1Field.P, x, z);
|
||||
return;
|
||||
}
|
||||
Nat224.Zero(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A845 RID: 43077 RVA: 0x00243EB4 File Offset: 0x002420B4
|
||||
[Token(Token = "0x600A845")]
|
||||
[Address(RVA = "0x70C380", Offset = "0x70B380", VA = "0x18070C380")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
int length = xx.Length;
|
||||
uint num = xx[5];
|
||||
uint num2 = xx[5];
|
||||
uint num3 = xx[6];
|
||||
uint num4 = xx[3];
|
||||
uint num5 = xx[0];
|
||||
uint num6 = xx[4];
|
||||
num4 += num2;
|
||||
uint num7 = xx[0];
|
||||
num5 -= num4;
|
||||
uint num8 = xx[6];
|
||||
num6 += num3;
|
||||
uint num9 = xx[4];
|
||||
num9 += num8;
|
||||
num7 += num5;
|
||||
num7 -= num6;
|
||||
z[0] = num7;
|
||||
uint num10 = xx[1];
|
||||
num10 += num7;
|
||||
num10 -= num9;
|
||||
z[1] = num10;
|
||||
int length2 = xx.Length;
|
||||
uint num11 = xx[1];
|
||||
num11 += num10;
|
||||
num11 -= num;
|
||||
num11 += num4;
|
||||
uint num12 = xx[2];
|
||||
num10 = num11;
|
||||
num12 += num10;
|
||||
num12 -= num2;
|
||||
num12 += num6;
|
||||
z[2] = num12;
|
||||
uint num13 = xx[2];
|
||||
num13 += num12;
|
||||
num13 -= num3;
|
||||
num13 += num9;
|
||||
z[2] = num13;
|
||||
uint num14 = xx[3];
|
||||
num14 += num13;
|
||||
num14 -= num8;
|
||||
num14 += num;
|
||||
z[3] = num14;
|
||||
num14 += (uint)1;
|
||||
num12 = num11;
|
||||
num13 = num5;
|
||||
num12 += num14;
|
||||
num13 -= num14;
|
||||
z[0] = num13;
|
||||
if (num13 != (uint)0)
|
||||
{
|
||||
uint num15 = z[0];
|
||||
num13 += num15;
|
||||
z[0] = num13;
|
||||
uint num16 = z[1];
|
||||
num13 += num16;
|
||||
z[1] = num13;
|
||||
num12 += num13;
|
||||
}
|
||||
z[1] = num12;
|
||||
ulong num17;
|
||||
if (num17 == (ulong)num12 || Nat.IncAt(7, z, 4) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP224R1Field.P;
|
||||
if (!Nat224.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP224R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A846 RID: 43078 RVA: 0x002440AC File Offset: 0x002422AC
|
||||
[Token(Token = "0x600A846")]
|
||||
[Address(RVA = "0x70C1D0", Offset = "0x70B1D0", VA = "0x18070C1D0")]
|
||||
public static void Reduce32(uint x, uint[] z)
|
||||
{
|
||||
if (x != (uint)0)
|
||||
{
|
||||
uint num = z[0];
|
||||
num -= x;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
uint num3 = z[1];
|
||||
num += num3;
|
||||
z[1] = num;
|
||||
}
|
||||
uint num4 = z[1];
|
||||
num4 += x;
|
||||
num += num4;
|
||||
z[1] = num;
|
||||
if (num != (uint)0 && Nat.IncAt(7, z, 4) != (uint)0)
|
||||
{
|
||||
goto IL_8B;
|
||||
}
|
||||
}
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP224R1Field.P;
|
||||
if (!Nat224.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
IL_8B:
|
||||
SecP224R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A847 RID: 43079 RVA: 0x00244150 File Offset: 0x00242350
|
||||
[Token(Token = "0x600A847")]
|
||||
[Address(RVA = "0x70C830", Offset = "0x70B830", VA = "0x18070C830")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat224.CreateExt();
|
||||
Nat224.Square(x, array);
|
||||
SecP224R1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A848 RID: 43080 RVA: 0x00244174 File Offset: 0x00242374
|
||||
[Token(Token = "0x600A848")]
|
||||
[Address(RVA = "0x70C750", Offset = "0x70B750", VA = "0x18070C750")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat224.CreateExt();
|
||||
Nat224.Square(x, array);
|
||||
SecP224R1Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
Nat224.Square(z, array);
|
||||
SecP224R1Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A849 RID: 43081 RVA: 0x002441AC File Offset: 0x002423AC
|
||||
[Token(Token = "0x600A849")]
|
||||
[Address(RVA = "0x70CAA0", Offset = "0x70BAA0", VA = "0x18070CAA0")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat224.Sub(x, y, z) != 0)
|
||||
{
|
||||
uint num = z[0];
|
||||
num += (uint)1;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num2 += num;
|
||||
z[0] = num2;
|
||||
uint num3 = z[1];
|
||||
num3 += num2;
|
||||
z[1] = num3;
|
||||
}
|
||||
uint num4 = z[1];
|
||||
num += num4;
|
||||
z[1] = num;
|
||||
ulong num5;
|
||||
if (num5 != (ulong)num)
|
||||
{
|
||||
int num6 = Nat.DecAt(7, z, 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A84A RID: 43082 RVA: 0x00244230 File Offset: 0x00242430
|
||||
[Token(Token = "0x600A84A")]
|
||||
[Address(RVA = "0x70C990", Offset = "0x70B990", VA = "0x18070C990")]
|
||||
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Sub(14, xx, yy, zz) != 0)
|
||||
{
|
||||
uint[] pextInv = SecP224R1Field.PExtInv;
|
||||
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
|
||||
{
|
||||
int length = SecP224R1Field.PExtInv.Length;
|
||||
int num = Nat.DecAt(14, zz, length);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A84B RID: 43083 RVA: 0x0024427C File Offset: 0x0024247C
|
||||
[Token(Token = "0x600A84B")]
|
||||
[Address(RVA = "0x70CBE0", Offset = "0x70BBE0", VA = "0x18070CBE0")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat.ShiftUpBit(7, x, (uint)num, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP224R1Field.P;
|
||||
if (!Nat224.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP224R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A84C RID: 43084 RVA: 0x002442C0 File Offset: 0x002424C0
|
||||
[Token(Token = "0x600A84C")]
|
||||
[Address(RVA = "0x70BB90", Offset = "0x70AB90", VA = "0x18070BB90")]
|
||||
private static void AddPInvTo(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
uint num3 = z[1];
|
||||
num += num3;
|
||||
z[1] = num;
|
||||
}
|
||||
uint num4 = z[1];
|
||||
num4 += (uint)1;
|
||||
num += num4;
|
||||
z[1] = num;
|
||||
ulong num5;
|
||||
if (num5 != (ulong)num)
|
||||
{
|
||||
uint num6 = Nat.IncAt(7, z, 4);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A84D RID: 43085 RVA: 0x0024433C File Offset: 0x0024253C
|
||||
[Token(Token = "0x600A84D")]
|
||||
[Address(RVA = "0x70C8C0", Offset = "0x70B8C0", VA = "0x18070C8C0")]
|
||||
private static void SubPInvFrom(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
num += (uint)1;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num2 += num;
|
||||
z[0] = num2;
|
||||
uint num3 = z[1];
|
||||
num3 += num2;
|
||||
z[1] = num3;
|
||||
}
|
||||
uint num4 = z[1];
|
||||
num += num4;
|
||||
z[1] = num;
|
||||
ulong num5;
|
||||
if (num5 != (ulong)num)
|
||||
{
|
||||
int num6 = Nat.DecAt(7, z, 4);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A84E RID: 43086 RVA: 0x002443B8 File Offset: 0x002425B8
|
||||
[Token(Token = "0x600A84E")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecP224R1Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A84F RID: 43087 RVA: 0x002443CC File Offset: 0x002425CC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A84F")]
|
||||
[Address(RVA = "0x70CCD0", Offset = "0x70BCD0", VA = "0x18070CCD0")]
|
||||
static SecP224R1Field()
|
||||
{
|
||||
uint[] array = new uint[7];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.1E3842329C5294DBE1DF588A77C68B35C6AF83BF).FieldHandle);
|
||||
SecP224R1Field.P = array;
|
||||
uint[] array2 = new uint[14];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.8C9BE3C02B5604C5CBF6A03E8032549588A6ED54).FieldHandle);
|
||||
SecP224R1Field.PExt = array2;
|
||||
uint[] array3 = new uint[11];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.EBE167F7962841FA83451C9C1663416D69AA5294).FieldHandle);
|
||||
SecP224R1Field.PExtInv = array3;
|
||||
}
|
||||
|
||||
// Token: 0x04006D5A RID: 27994
|
||||
[Token(Token = "0x4006D5A")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04006D5B RID: 27995
|
||||
[Token(Token = "0x4006D5B")]
|
||||
internal static readonly uint[] PExt;
|
||||
|
||||
// Token: 0x04006D5C RID: 27996
|
||||
[Token(Token = "0x4006D5C")]
|
||||
private static readonly uint[] PExtInv;
|
||||
|
||||
// Token: 0x04006D5D RID: 27997
|
||||
[Token(Token = "0x4006D5D")]
|
||||
private const uint P6 = 4294967295U;
|
||||
|
||||
// Token: 0x04006D5E RID: 27998
|
||||
[Token(Token = "0x4006D5E")]
|
||||
private const uint PExt13 = 4294967295U;
|
||||
}
|
||||
}
|
||||
+531
@@ -0,0 +1,531 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B37 RID: 6967
|
||||
[Token(Token = "0x2001B37")]
|
||||
internal class SecP224R1FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x0600A850 RID: 43088 RVA: 0x00244424 File Offset: 0x00242624
|
||||
[Token(Token = "0x600A850")]
|
||||
[Address(RVA = "0x70B6B0", Offset = "0x70A6B0", VA = "0x18070B6B0")]
|
||||
public SecP224R1FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A850)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_4E:
|
||||
stloc:ArgumentException(var_5_5D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP224R1FieldElement"), ldstr:string("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.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: 0x0600A851 RID: 43089 RVA: 0x00244490 File Offset: 0x00242690
|
||||
[Token(Token = "0x600A851")]
|
||||
[Address(RVA = "0x7076D0", Offset = "0x7066D0", VA = "0x1807076D0")]
|
||||
public SecP224R1FieldElement()
|
||||
{
|
||||
uint[] array = Nat224.Create();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A852 RID: 43090 RVA: 0x002444B4 File Offset: 0x002426B4
|
||||
[Token(Token = "0x600A852")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecP224R1FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001A5E RID: 6750
|
||||
// (get) Token: 0x0600A853 RID: 43091 RVA: 0x002444D0 File Offset: 0x002426D0
|
||||
[Token(Token = "0x17001A5E")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600A853")]
|
||||
[Address(RVA = "0x707980", Offset = "0x706980", VA = "0x180707980", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat224.IsZero(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A5F RID: 6751
|
||||
// (get) Token: 0x0600A854 RID: 43092 RVA: 0x002444E8 File Offset: 0x002426E8
|
||||
[Token(Token = "0x17001A5F")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600A854")]
|
||||
[Address(RVA = "0x707970", Offset = "0x706970", VA = "0x180707970", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat224.IsOne(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A855 RID: 43093 RVA: 0x00244500 File Offset: 0x00242700
|
||||
[Token(Token = "0x600A855")]
|
||||
[Address(RVA = "0x7075F0", Offset = "0x7065F0", VA = "0x1807075F0", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat224.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A856 RID: 43094 RVA: 0x00244524 File Offset: 0x00242724
|
||||
[Token(Token = "0x600A856")]
|
||||
[Address(RVA = "0x707610", Offset = "0x706610", VA = "0x180707610", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat224.ToBigInteger(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001A60 RID: 6752
|
||||
// (get) Token: 0x0600A857 RID: 43095 RVA: 0x0024453C File Offset: 0x0024273C
|
||||
[Token(Token = "0x17001A60")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600A857")]
|
||||
[Address(RVA = "0x70B880", Offset = "0x70A880", VA = "0x18070B880", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecP224R1Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A61 RID: 6753
|
||||
// (get) Token: 0x0600A858 RID: 43096 RVA: 0x00244550 File Offset: 0x00242750
|
||||
[Token(Token = "0x17001A61")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A858")]
|
||||
[Address(RVA = "0x70B8B0", Offset = "0x70A8B0", VA = "0x18070B8B0", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return SecP224R1FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A859 RID: 43097 RVA: 0x00244570 File Offset: 0x00242770
|
||||
[Token(Token = "0x600A859")]
|
||||
[Address(RVA = "0x70A290", Offset = "0x709290", VA = "0x18070A290", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat224.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP224R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP224R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A85A RID: 43098 RVA: 0x002445B8 File Offset: 0x002427B8
|
||||
[Token(Token = "0x600A85A")]
|
||||
[Address(RVA = "0x70A200", Offset = "0x709200", VA = "0x18070A200", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A85A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1FieldElement::AddOne()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat224::Create))
|
||||
call:void(SecP224R1Field::AddOne, ldfld:uint32[](SecP224R1FieldElement::x, ldloc:SecP224R1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP224R1FieldElement::x, newobj:SecP224R1FieldElement(SecP224R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A85B RID: 43099 RVA: 0x002445E4 File Offset: 0x002427E4
|
||||
[Token(Token = "0x600A85B")]
|
||||
[Address(RVA = "0x70B200", Offset = "0x70A200", VA = "0x18070B200", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat224.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP224R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP224R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A85C RID: 43100 RVA: 0x0024462C File Offset: 0x0024282C
|
||||
[Token(Token = "0x600A85C")]
|
||||
[Address(RVA = "0x70A910", Offset = "0x709910", VA = "0x18070A910", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat224.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP224R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP224R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A85D RID: 43101 RVA: 0x00244674 File Offset: 0x00242874
|
||||
[Token(Token = "0x600A85D")]
|
||||
[Address(RVA = "0x70A3D0", Offset = "0x7093D0", VA = "0x18070A3D0", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat224.Create();
|
||||
uint[] p = SecP224R1Field.P;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP224R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
SecP224R1Field.Multiply(array, array2, array);
|
||||
new SecP224R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A85E RID: 43102 RVA: 0x002446CC File Offset: 0x002428CC
|
||||
[Token(Token = "0x600A85E")]
|
||||
[Address(RVA = "0x70AA50", Offset = "0x709A50", VA = "0x18070AA50", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A85E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat224::Create))
|
||||
call:void(SecP224R1Field::Negate, ldfld:uint32[](SecP224R1FieldElement::x, ldloc:SecP224R1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP224R1FieldElement::x, newobj:SecP224R1FieldElement(SecP224R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A85F RID: 43103 RVA: 0x002446F8 File Offset: 0x002428F8
|
||||
[Token(Token = "0x600A85F")]
|
||||
[Address(RVA = "0x70B170", Offset = "0x70A170", VA = "0x18070B170", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A85F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat224::Create))
|
||||
call:void(SecP224R1Field::Square, ldfld:uint32[](SecP224R1FieldElement::x, ldloc:SecP224R1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP224R1FieldElement::x, newobj:SecP224R1FieldElement(SecP224R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A860 RID: 43104 RVA: 0x00244724 File Offset: 0x00242924
|
||||
[Token(Token = "0x600A860")]
|
||||
[Address(RVA = "0x70A730", Offset = "0x709730", VA = "0x18070A730", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A860)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat224::Create))
|
||||
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP224R1FieldElement::x, ldloc:SecP224R1FieldElement(this)))
|
||||
call:void(Mod::Invert, ldsfld:uint32[](SecP224R1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP224R1FieldElement::x, newobj:SecP224R1FieldElement(SecP224R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A861 RID: 43105 RVA: 0x00244758 File Offset: 0x00242958
|
||||
[Token(Token = "0x600A861")]
|
||||
[Address(RVA = "0x70AE80", Offset = "0x709E80", VA = "0x18070AE80", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (Nat224.IsZero(array) || Nat224.IsOne(array));
|
||||
uint[] array2 = Nat224.Create();
|
||||
SecP224R1Field.Negate(array, array2);
|
||||
uint[] array3 = Mod.Random(SecP224R1Field.P);
|
||||
uint[] array4 = Nat224.Create();
|
||||
uint[] array5 = Nat224.Create();
|
||||
uint[] array6 = Nat224.Create();
|
||||
Nat224.Copy(array, array5);
|
||||
Nat224.Copy(array5, array6);
|
||||
uint num;
|
||||
SecP224R1Field.SquareN(array5, (int)num, array5);
|
||||
SecP224R1Field.Multiply(array5, array6, array5);
|
||||
SecP224R1Field.SquareN(array5, 95, array5);
|
||||
if (!Nat224.IsOne(array5))
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!SecP224R1FieldElement.TrySqrt(array2, array3, array4))
|
||||
{
|
||||
SecP224R1Field.AddOne(array3, array3);
|
||||
}
|
||||
SecP224R1Field.Square(array4, array3);
|
||||
if (Nat224.Eq(array, array3))
|
||||
{
|
||||
new SecP224R1FieldElement().x = array4;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A862 RID: 43106 RVA: 0x00244828 File Offset: 0x00242A28
|
||||
[Token(Token = "0x600A862")]
|
||||
[Address(RVA = "0x70A550", Offset = "0x709550", VA = "0x18070A550", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A862)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP224R1FieldElement[exp:ECFieldElement](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: 0x0600A863 RID: 43107 RVA: 0x00244844 File Offset: 0x00242A44
|
||||
[Token(Token = "0x600A863")]
|
||||
[Address(RVA = "0x70A5E0", Offset = "0x7095E0", VA = "0x18070A5E0", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A863)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP224R1FieldElement[exp:ECFieldElement](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: 0x0600A864 RID: 43108 RVA: 0x00244860 File Offset: 0x00242A60
|
||||
[Token(Token = "0x600A864")]
|
||||
[Address(RVA = "0x706CC0", Offset = "0x705CC0", VA = "0x180706CC0", Slot = "27")]
|
||||
public virtual bool Equals(SecP224R1FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
return Nat224.Eq(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A865 RID: 43109 RVA: 0x0024488C File Offset: 0x00242A8C
|
||||
[Token(Token = "0x600A865")]
|
||||
[Address(RVA = "0x70A670", Offset = "0x709670", VA = "0x18070A670", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
SecP224R1FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 7);
|
||||
}
|
||||
|
||||
// Token: 0x0600A866 RID: 43110 RVA: 0x002448BC File Offset: 0x00242ABC
|
||||
[Token(Token = "0x600A866")]
|
||||
[Address(RVA = "0x70A800", Offset = "0x709800", VA = "0x18070A800")]
|
||||
private static bool IsSquare(uint[] x)
|
||||
{
|
||||
uint[] array = Nat224.Create();
|
||||
uint[] array2 = Nat224.Create();
|
||||
Nat224.Copy(x, array);
|
||||
Nat224.Copy(array, array2);
|
||||
uint num;
|
||||
SecP224R1Field.SquareN(array, (int)num, array);
|
||||
SecP224R1Field.Multiply(array, array2, array);
|
||||
SecP224R1Field.SquareN(array, 95, array);
|
||||
return Nat224.IsOne(array);
|
||||
}
|
||||
|
||||
// Token: 0x0600A867 RID: 43111 RVA: 0x00244908 File Offset: 0x00242B08
|
||||
[Token(Token = "0x600A867")]
|
||||
[Address(RVA = "0x70AAE0", Offset = "0x709AE0", VA = "0x18070AAE0")]
|
||||
private static void RM(uint[] nc, uint[] d0, uint[] e0, uint[] d1, uint[] e1, uint[] f1, uint[] t)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A868 RID: 43112 RVA: 0x00244918 File Offset: 0x00242B18
|
||||
[Token(Token = "0x600A868")]
|
||||
[Address(RVA = "0x70AC20", Offset = "0x709C20", VA = "0x18070AC20")]
|
||||
private static void RP(uint[] nc, uint[] d1, uint[] e1, uint[] f1, uint[] t)
|
||||
{
|
||||
Nat224.Copy(nc, f1);
|
||||
uint[] array = Nat224.Create();
|
||||
uint[] array2 = Nat224.Create();
|
||||
Nat224.Copy(d1, array);
|
||||
Nat224.Copy(e1, array2);
|
||||
uint num2;
|
||||
uint num = num2 - 1U;
|
||||
}
|
||||
|
||||
// Token: 0x0600A869 RID: 43113 RVA: 0x00244950 File Offset: 0x00242B50
|
||||
[Token(Token = "0x600A869")]
|
||||
[Address(RVA = "0x70AD90", Offset = "0x709D90", VA = "0x18070AD90")]
|
||||
private static void RS(uint[] d, uint[] e, uint[] f, uint[] t)
|
||||
{
|
||||
SecP224R1Field.Multiply(e, d, e);
|
||||
SecP224R1Field.Twice(e, e);
|
||||
SecP224R1Field.Square(d, t);
|
||||
SecP224R1Field.Add(f, t, d);
|
||||
SecP224R1Field.Multiply(f, t, f);
|
||||
int num = 0;
|
||||
SecP224R1Field.Reduce32(Nat.ShiftUpBits(7, f, 2, (uint)num), f);
|
||||
}
|
||||
|
||||
// Token: 0x0600A86A RID: 43114 RVA: 0x00244994 File Offset: 0x00242B94
|
||||
[Token(Token = "0x600A86A")]
|
||||
[Address(RVA = "0x70B340", Offset = "0x70A340", VA = "0x18070B340")]
|
||||
private static bool TrySqrt(uint[] nc, uint[] r, uint[] t)
|
||||
{
|
||||
uint[] array = Nat224.Create();
|
||||
Nat224.Copy(r, array);
|
||||
uint[] array2 = Nat224.Create();
|
||||
uint num;
|
||||
array2[0] = num;
|
||||
uint[] array3 = Nat224.Create();
|
||||
Nat224.Copy(nc, array3);
|
||||
uint[] array4 = Nat224.Create();
|
||||
uint[] array5 = Nat224.Create();
|
||||
Nat224.Copy(array, array4);
|
||||
Nat224.Copy(array2, array5);
|
||||
uint num2 = num - 1U;
|
||||
SecP224R1FieldElement.RS(array, array2, array3, t);
|
||||
uint[] array6 = Nat224.Create();
|
||||
uint[] array7 = Nat224.Create();
|
||||
Nat224.Copy(array, array6);
|
||||
Nat224.Copy(array2, array7);
|
||||
SecP224R1FieldElement.RS(array, array2, array3, t);
|
||||
bool flag = Nat224.IsZero(array);
|
||||
if (!flag)
|
||||
{
|
||||
num += (uint)1;
|
||||
return flag;
|
||||
}
|
||||
Mod.Invert(SecP224R1Field.P, array7, t);
|
||||
SecP224R1Field.Multiply(t, array6, t);
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D5F RID: 27999
|
||||
[Token(Token = "0x4006D5F")]
|
||||
public static readonly BigInteger Q = SecP224R1Curve.q;
|
||||
|
||||
// Token: 0x04006D60 RID: 28000
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D60")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+289
@@ -0,0 +1,289 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B38 RID: 6968
|
||||
[Token(Token = "0x2001B38")]
|
||||
internal class SecP224R1Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600A86C RID: 43116 RVA: 0x00244A84 File Offset: 0x00242C84
|
||||
[Token(Token = "0x600A86C")]
|
||||
[Address(RVA = "0x70DFA0", Offset = "0x70CFA0", VA = "0x18070DFA0")]
|
||||
public SecP224R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A86D RID: 43117 RVA: 0x00244A94 File Offset: 0x00242C94
|
||||
[Token(Token = "0x600A86D")]
|
||||
[Address(RVA = "0x70DEE0", Offset = "0x70CEE0", VA = "0x18070DEE0")]
|
||||
public SecP224R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A86D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A86E RID: 43118 RVA: 0x00244ABC File Offset: 0x00242CBC
|
||||
[Token(Token = "0x600A86E")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecP224R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A86F RID: 43119 RVA: 0x00244ACC File Offset: 0x00242CCC
|
||||
[Token(Token = "0x600A86F")]
|
||||
[Address(RVA = "0x70D790", Offset = "0x70C790", VA = "0x18070D790", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A86F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP224R1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP224R1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP224R1Point[exp:ECPoint](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: 0x0600A870 RID: 43120 RVA: 0x00244AE8 File Offset: 0x00242CE8
|
||||
[Token(Token = "0x600A870")]
|
||||
[Address(RVA = "0x70CF70", Offset = "0x70BF70", VA = "0x18070CF70", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this == b)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat224.CreateExt();
|
||||
uint[] array2 = Nat224.Create();
|
||||
uint[] array3 = Nat224.Create();
|
||||
uint[] array4 = Nat224.Create();
|
||||
if (array4 == 0)
|
||||
{
|
||||
SecP224R1Field.Square(array4, array3);
|
||||
SecP224R1Field.Multiply(array3, array3, array2);
|
||||
SecP224R1Field.Multiply(array3, array3, array3);
|
||||
SecP224R1Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
SecP224R1Field.Multiply(array4, array4, array);
|
||||
SecP224R1Field.Multiply(array4, array4, array4);
|
||||
SecP224R1Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat224.Create();
|
||||
if (!Nat224.IsZero(array5))
|
||||
{
|
||||
SecP224R1Field.Square(array5, array3);
|
||||
uint[] array6 = Nat224.Create();
|
||||
SecP224R1Field.Multiply(array3, array5, array6);
|
||||
SecP224R1Field.Negate(array6, array6);
|
||||
SecP224R1Field.Reduce32(Nat224.AddBothTo(array3, array3, array6), array6);
|
||||
SecP224R1FieldElement secP224R1FieldElement = new SecP224R1FieldElement();
|
||||
secP224R1FieldElement.x = array4;
|
||||
SecP224R1Field.Square(array2, array4);
|
||||
uint[] x = secP224R1FieldElement.x;
|
||||
SecP224R1Field.Subtract(x, array6, x);
|
||||
SecP224R1FieldElement secP224R1FieldElement2 = new SecP224R1FieldElement();
|
||||
secP224R1FieldElement2.x = array6;
|
||||
uint[] x2 = secP224R1FieldElement.x;
|
||||
SecP224R1Field.Subtract(array3, x2, array6);
|
||||
if (Nat224.MulAddTo(secP224R1FieldElement2.x, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local16->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_1B3;
|
||||
}
|
||||
uint[] pext = SecP224R1Field.PExt;
|
||||
if (!Nat.Gte(14, array, pext))
|
||||
{
|
||||
goto IL_1B3;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP224R1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
|
||||
{
|
||||
int length = SecP224R1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(14, array, length);
|
||||
}
|
||||
IL_1B3:
|
||||
uint[] x3 = secP224R1FieldElement2.x;
|
||||
SecP224R1Field.Reduce(array, x3);
|
||||
SecP224R1FieldElement secP224R1FieldElement3 = new SecP224R1FieldElement();
|
||||
secP224R1FieldElement3.x = array5;
|
||||
SecP224R1Field.Multiply(array5, array, array5);
|
||||
uint[] x4 = secP224R1FieldElement3.x;
|
||||
ECFieldElement[] array7 = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600A871 RID: 43121 RVA: 0x00244D0C File Offset: 0x00242F0C
|
||||
[Token(Token = "0x600A871")]
|
||||
[Address(RVA = "0x70D930", Offset = "0x70C930", VA = "0x18070D930", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
while (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y != 0)
|
||||
{
|
||||
if (y.IsOne)
|
||||
{
|
||||
break;
|
||||
}
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
uint[] array = Nat224.Create();
|
||||
uint[] array2 = Nat224.Create();
|
||||
uint[] array3 = Nat224.Create();
|
||||
uint[] array4 = Nat224.Create();
|
||||
SecP224R1Field.Square(array3, array4);
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
}
|
||||
SecP224R1Field.Multiply(array2, array, array2);
|
||||
SecP224R1Field.Reduce32(Nat224.AddBothTo(array2, array2, array2), array2);
|
||||
SecP224R1Field.Multiply(array3, array2, array3);
|
||||
int num = 0;
|
||||
SecP224R1Field.Reduce32(Nat.ShiftUpBits(7, array3, 2, (uint)num), array3);
|
||||
int num2 = 0;
|
||||
SecP224R1Field.Reduce32(Nat.ShiftUpBits(7, array4, 3, (uint)num2, array), array);
|
||||
SecP224R1FieldElement secP224R1FieldElement = new SecP224R1FieldElement();
|
||||
secP224R1FieldElement.x = array4;
|
||||
SecP224R1Field.Square(array2, array4);
|
||||
uint[] x2 = secP224R1FieldElement.x;
|
||||
SecP224R1Field.Subtract(x2, array3, x2);
|
||||
uint[] x3 = secP224R1FieldElement.x;
|
||||
SecP224R1Field.Subtract(x3, array3, x3);
|
||||
SecP224R1FieldElement secP224R1FieldElement2 = new SecP224R1FieldElement();
|
||||
secP224R1FieldElement2.x = array3;
|
||||
uint[] x4 = secP224R1FieldElement.x;
|
||||
SecP224R1Field.Subtract(array3, x4, array3);
|
||||
uint[] x5 = secP224R1FieldElement2.x;
|
||||
SecP224R1Field.Multiply(x5, array2, x5);
|
||||
uint[] x6 = secP224R1FieldElement2.x;
|
||||
SecP224R1Field.Subtract(x6, array, x6);
|
||||
SecP224R1FieldElement secP224R1FieldElement3 = new SecP224R1FieldElement();
|
||||
secP224R1FieldElement3.x = array2;
|
||||
uint[] x7 = secP224R1FieldElement3.x;
|
||||
(new ECFieldElement[1])[0] = secP224R1FieldElement3;
|
||||
bool withCompression = this.m_withCompression;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A872 RID: 43122 RVA: 0x00244EC8 File Offset: 0x002430C8
|
||||
[Token(Token = "0x600A872")]
|
||||
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag3 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A873 RID: 43123 RVA: 0x00244F18 File Offset: 0x00243118
|
||||
[Token(Token = "0x600A873")]
|
||||
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A874 RID: 43124 RVA: 0x00244F48 File Offset: 0x00243148
|
||||
[Token(Token = "0x600A874")]
|
||||
[Address(RVA = "0x70D830", Offset = "0x70C830", VA = "0x18070D830", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+333
@@ -0,0 +1,333 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B39 RID: 6969
|
||||
[Token(Token = "0x2001B39")]
|
||||
internal class SecP256K1Curve : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600A875 RID: 43125 RVA: 0x00244F80 File Offset: 0x00243180
|
||||
[Token(Token = "0x600A875")]
|
||||
[Address(RVA = "0x70E610", Offset = "0x70D610", VA = "0x18070E610")]
|
||||
public SecP256K1Curve()
|
||||
{
|
||||
BigInteger bigInteger = SecP256K1Curve.q;
|
||||
base..ctor(bigInteger);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
SecP256K1Point secP256K1Point = new SecP256K1Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = secP256K1Point;
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array);
|
||||
this.m_order = bigInteger2;
|
||||
BigInteger one = BigInteger.One;
|
||||
this.m_cofactor = one;
|
||||
this.m_coord = (int)((ulong)2L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A876 RID: 43126 RVA: 0x00245008 File Offset: 0x00243208
|
||||
[Token(Token = "0x600A876")]
|
||||
[Address(RVA = "0x70DFC0", Offset = "0x70CFC0", VA = "0x18070DFC0", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A876)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_1_05, ldsfld:BigInteger(SecP256K1Curve::q))
|
||||
stloc:SecP256K1Point(var_2_11, newobj:SecP256K1Point(SecP256K1Point::.ctor, ldloc:SecP256K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_3), ldloc:uint64[exp:bool](var_6)))
|
||||
stloc:int32(var_3, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecP256K1Point(SecP256K1Curve::m_infinity, ldloc:SecP256K1Curve(var_0), ldloc:SecP256K1Point(var_2_11))
|
||||
stloc:int32(var_7_24, callvirtgetter:int32(SecP256K1Curve::get_FieldSize, ldloc:SecP256K1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecP256K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_7_24))
|
||||
stloc:int32(var_9_34, callvirtgetter:int32(SecP256K1Curve::get_FieldSize, ldloc:SecP256K1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecP256K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_9_34))
|
||||
stloc:uint8[](var_10_48, call:uint8[](Hex::Decode, ldstr:string("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141")))
|
||||
stloc:BigInteger(var_11_52, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_10_48)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecP256K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_11_52))
|
||||
stloc:BigInteger(var_12_61, ldsfld:BigInteger(BigInteger::One))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecP256K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_12_61))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecP256K1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](2)))
|
||||
}
|
||||
|
||||
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: 0x0600A877 RID: 43127 RVA: 0x00245088 File Offset: 0x00243288
|
||||
[Token(Token = "0x600A877")]
|
||||
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 2;
|
||||
}
|
||||
|
||||
// Token: 0x17001A62 RID: 6754
|
||||
// (get) Token: 0x0600A878 RID: 43128 RVA: 0x0024509C File Offset: 0x0024329C
|
||||
[Token(Token = "0x17001A62")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600A878")]
|
||||
[Address(RVA = "0x70E810", Offset = "0x70D810", VA = "0x18070E810", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return SecP256K1Curve.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A63 RID: 6755
|
||||
// (get) Token: 0x0600A879 RID: 43129 RVA: 0x002450B0 File Offset: 0x002432B0
|
||||
[Token(Token = "0x17001A63")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A879")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A879)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP256K1Point(var_0_06, ldfld:SecP256K1Point(SecP256K1Curve::m_infinity, ldloc:SecP256K1Curve(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: 0x17001A64 RID: 6756
|
||||
// (get) Token: 0x0600A87A RID: 43130 RVA: 0x002450C4 File Offset: 0x002432C4
|
||||
[Token(Token = "0x17001A64")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A87A")]
|
||||
[Address(RVA = "0x70E7A0", Offset = "0x70D7A0", VA = "0x18070E7A0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return SecP256K1Curve.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A87B RID: 43131 RVA: 0x002450E4 File Offset: 0x002432E4
|
||||
[Token(Token = "0x600A87B")]
|
||||
[Address(RVA = "0x70E510", Offset = "0x70D510", VA = "0x18070E510", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A87B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP256K1FieldElement(var_0_06, newobj:SecP256K1FieldElement(SecP256K1FieldElement::.ctor, 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: 0x0600A87C RID: 43132 RVA: 0x002450F8 File Offset: 0x002432F8
|
||||
[Token(Token = "0x600A87C")]
|
||||
[Address(RVA = "0x70E480", Offset = "0x70D480", VA = "0x18070E480", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A87C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1Curve::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:SecP256K1Point(var_0_09, newobj:SecP256K1Point(SecP256K1Point::.ctor, ldloc:SecP256K1Curve[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: 0x0600A87D RID: 43133 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A87D")]
|
||||
[Address(RVA = "0x70E3E0", Offset = "0x70D3E0", VA = "0x18070E3E0", 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: 0x0600A87E RID: 43134 RVA: 0x00245110 File Offset: 0x00243310
|
||||
[Token(Token = "0x600A87E")]
|
||||
[Address(RVA = "0x70E180", Offset = "0x70D180", VA = "0x18070E180", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[len];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_4A;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 16;
|
||||
IL_4A:
|
||||
SecP256K1Curve.SecP256K1LookupTable secP256K1LookupTable;
|
||||
secP256K1LookupTable.m_outer = 0;
|
||||
secP256K1LookupTable.m_table = array;
|
||||
secP256K1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A87F RID: 43135 RVA: 0x00245184 File Offset: 0x00243384
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A87F")]
|
||||
[Address(RVA = "0x70E570", Offset = "0x70D570", VA = "0x18070E570")]
|
||||
static SecP256K1Curve()
|
||||
{
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F");
|
||||
SecP256K1Curve.q = new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x04006D61 RID: 28001
|
||||
[Token(Token = "0x4006D61")]
|
||||
public static readonly BigInteger q;
|
||||
|
||||
// Token: 0x04006D62 RID: 28002
|
||||
[Token(Token = "0x4006D62")]
|
||||
private const int SECP256K1_DEFAULT_COORDS = 2;
|
||||
|
||||
// Token: 0x04006D63 RID: 28003
|
||||
[Token(Token = "0x4006D63")]
|
||||
private const int SECP256K1_FE_INTS = 8;
|
||||
|
||||
// Token: 0x04006D64 RID: 28004
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006D64")]
|
||||
protected readonly SecP256K1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B3A RID: 6970
|
||||
[Token(Token = "0x2001B3A")]
|
||||
private class SecP256K1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A880 RID: 43136 RVA: 0x002451A8 File Offset: 0x002433A8
|
||||
[Token(Token = "0x600A880")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecP256K1LookupTable(SecP256K1Curve outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001A65 RID: 6757
|
||||
// (get) Token: 0x0600A881 RID: 43137 RVA: 0x002451D0 File Offset: 0x002433D0
|
||||
[Token(Token = "0x17001A65")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A881")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A882 RID: 43138 RVA: 0x002451E4 File Offset: 0x002433E4
|
||||
[Token(Token = "0x600A882")]
|
||||
[Address(RVA = "0x7107A0", Offset = "0x70F7A0", VA = "0x1807107A0", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
uint[] array2 = Nat256.Create();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num2)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 16;
|
||||
num2++;
|
||||
}
|
||||
SecP256K1Curve outer = this.m_outer;
|
||||
new SecP256K1FieldElement().x = array;
|
||||
new SecP256K1FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D65 RID: 28005
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D65")]
|
||||
private readonly SecP256K1Curve m_outer;
|
||||
|
||||
// Token: 0x04006D66 RID: 28006
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D66")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006D67 RID: 28007
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D67")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+329
@@ -0,0 +1,329 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B3B RID: 6971
|
||||
[Token(Token = "0x2001B3B")]
|
||||
internal class SecP256K1Field
|
||||
{
|
||||
// Token: 0x0600A883 RID: 43139 RVA: 0x00245264 File Offset: 0x00243464
|
||||
[Token(Token = "0x600A883")]
|
||||
[Address(RVA = "0x70FBF0", Offset = "0x70EBF0", VA = "0x18070FBF0")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat256.Add(x, y, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP256K1Field.P;
|
||||
if (!Nat256.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num = Nat.Add33To(8, (uint)977, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A884 RID: 43140 RVA: 0x002452AC File Offset: 0x002434AC
|
||||
[Token(Token = "0x600A884")]
|
||||
[Address(RVA = "0x70F9A0", Offset = "0x70E9A0", VA = "0x18070F9A0")]
|
||||
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Add(16, xx, yy, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP256K1Field.PExt;
|
||||
if (!Nat.Gte(16, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP256K1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP256K1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(16, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A885 RID: 43141 RVA: 0x00245318 File Offset: 0x00243518
|
||||
[Token(Token = "0x600A885")]
|
||||
[Address(RVA = "0x70FB20", Offset = "0x70EB20", VA = "0x18070FB20")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
if (Nat.Inc(8, x, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP256K1Field.P;
|
||||
if (!Nat256.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num = Nat.Add33To(8, (uint)977, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A886 RID: 43142 RVA: 0x00245360 File Offset: 0x00243560
|
||||
[Token(Token = "0x600A886")]
|
||||
[Address(RVA = "0x70FCD0", Offset = "0x70ECD0", VA = "0x18070FCD0")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat256.FromBigInteger(x);
|
||||
if ("{il2cpp array field local2->}" == (ulong)(-1L))
|
||||
{
|
||||
uint[] p = SecP256K1Field.P;
|
||||
if (Nat256.Gte(array, p))
|
||||
{
|
||||
int num = Nat256.SubFrom(SecP256K1Field.P, array);
|
||||
}
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A887 RID: 43143 RVA: 0x002453A4 File Offset: 0x002435A4
|
||||
[Token(Token = "0x600A887")]
|
||||
[Address(RVA = "0x70FDC0", Offset = "0x70EDC0", VA = "0x18070FDC0")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
if ("{il2cpp array field x->}" != (ulong)1L)
|
||||
{
|
||||
uint[] p = SecP256K1Field.P;
|
||||
uint num = Nat256.Add(x, p, z);
|
||||
uint num2 = Nat.ShiftDownBit(8, z, num);
|
||||
return;
|
||||
}
|
||||
int num3 = 0;
|
||||
uint num4 = Nat.ShiftDownBit(8, x, (uint)num3, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A888 RID: 43144 RVA: 0x002453E8 File Offset: 0x002435E8
|
||||
[Token(Token = "0x600A888")]
|
||||
[Address(RVA = "0x710010", Offset = "0x70F010", VA = "0x180710010")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Mul(x, y, array);
|
||||
SecP256K1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A889 RID: 43145 RVA: 0x0024540C File Offset: 0x0024360C
|
||||
[Token(Token = "0x600A889")]
|
||||
[Address(RVA = "0x70FEA0", Offset = "0x70EEA0", VA = "0x18070FEA0")]
|
||||
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
|
||||
{
|
||||
if (Nat256.MulAddTo(x, y, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP256K1Field.PExt;
|
||||
if (!Nat.Gte(16, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP256K1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP256K1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(16, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A88A RID: 43146 RVA: 0x00245474 File Offset: 0x00243674
|
||||
[Token(Token = "0x600A88A")]
|
||||
[Address(RVA = "0x7100B0", Offset = "0x70F0B0", VA = "0x1807100B0")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat256.IsZero(x))
|
||||
{
|
||||
int num = Nat256.Sub(SecP256K1Field.P, x, z);
|
||||
return;
|
||||
}
|
||||
Nat256.Zero(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A88B RID: 43147 RVA: 0x002454A0 File Offset: 0x002436A0
|
||||
[Token(Token = "0x600A88B")]
|
||||
[Address(RVA = "0x710230", Offset = "0x70F230", VA = "0x180710230")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
ulong num2 = Nat256.Mul33Add((uint)977, xx, 8, xx, num, z, num);
|
||||
int num3 = 0;
|
||||
if (Nat256.Mul33DWordAdd((uint)977, num2, z, num3) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP256K1Field.P;
|
||||
if (!Nat256.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num4 = Nat.Add33To(8, (uint)977, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A88C RID: 43148 RVA: 0x00245504 File Offset: 0x00243704
|
||||
[Token(Token = "0x600A88C")]
|
||||
[Address(RVA = "0x710150", Offset = "0x70F150", VA = "0x180710150")]
|
||||
public static void Reduce32(uint x, uint[] z)
|
||||
{
|
||||
if (x != (uint)0)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat256.Mul33WordAdd((uint)977, x, z, num) != (uint)0)
|
||||
{
|
||||
goto IL_33;
|
||||
}
|
||||
}
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP256K1Field.P;
|
||||
if (!Nat256.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
IL_33:
|
||||
uint num2 = Nat.Add33To(8, (uint)977, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A88D RID: 43149 RVA: 0x00245558 File Offset: 0x00243758
|
||||
[Token(Token = "0x600A88D")]
|
||||
[Address(RVA = "0x710410", Offset = "0x70F410", VA = "0x180710410")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Square(x, array);
|
||||
SecP256K1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A88E RID: 43150 RVA: 0x0024557C File Offset: 0x0024377C
|
||||
[Token(Token = "0x600A88E")]
|
||||
[Address(RVA = "0x710330", Offset = "0x70F330", VA = "0x180710330")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Square(x, array);
|
||||
SecP256K1Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
Nat256.Square(z, array);
|
||||
SecP256K1Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A88F RID: 43151 RVA: 0x002455B4 File Offset: 0x002437B4
|
||||
[Token(Token = "0x600A88F")]
|
||||
[Address(RVA = "0x7105B0", Offset = "0x70F5B0", VA = "0x1807105B0")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat256.Sub(x, y, z) != 0)
|
||||
{
|
||||
int num = Nat.Sub33From(8, (uint)977, z);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A890 RID: 43152 RVA: 0x002455DC File Offset: 0x002437DC
|
||||
[Token(Token = "0x600A890")]
|
||||
[Address(RVA = "0x7104A0", Offset = "0x70F4A0", VA = "0x1807104A0")]
|
||||
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Sub(16, xx, yy, zz) != 0)
|
||||
{
|
||||
uint[] pextInv = SecP256K1Field.PExtInv;
|
||||
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
|
||||
{
|
||||
int length = SecP256K1Field.PExtInv.Length;
|
||||
int num = Nat.DecAt(16, zz, length);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A891 RID: 43153 RVA: 0x00245628 File Offset: 0x00243828
|
||||
[Token(Token = "0x600A891")]
|
||||
[Address(RVA = "0x7105F0", Offset = "0x70F5F0", VA = "0x1807105F0")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat.ShiftUpBit(8, x, (uint)num, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP256K1Field.P;
|
||||
if (!Nat256.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint num2 = Nat.Add33To(8, (uint)977, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A892 RID: 43154 RVA: 0x00245674 File Offset: 0x00243874
|
||||
[Token(Token = "0x600A892")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecP256K1Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A893 RID: 43155 RVA: 0x00245688 File Offset: 0x00243888
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A893")]
|
||||
[Address(RVA = "0x7106D0", Offset = "0x70F6D0", VA = "0x1807106D0")]
|
||||
static SecP256K1Field()
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.2CABEB86D5B3D362822AF2E5D136A10A17AD85DA).FieldHandle);
|
||||
SecP256K1Field.P = array;
|
||||
uint[] array2 = new uint[16];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.79A213B796D2AD7A89C2071B0732B78207F5CE01).FieldHandle);
|
||||
SecP256K1Field.PExt = array2;
|
||||
uint[] array3 = new uint[10];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.BE8E2513259482B6F307AC07F23F5D9FB4841EAA).FieldHandle);
|
||||
SecP256K1Field.PExtInv = array3;
|
||||
}
|
||||
|
||||
// Token: 0x04006D68 RID: 28008
|
||||
[Token(Token = "0x4006D68")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04006D69 RID: 28009
|
||||
[Token(Token = "0x4006D69")]
|
||||
internal static readonly uint[] PExt;
|
||||
|
||||
// Token: 0x04006D6A RID: 28010
|
||||
[Token(Token = "0x4006D6A")]
|
||||
private static readonly uint[] PExtInv;
|
||||
|
||||
// Token: 0x04006D6B RID: 28011
|
||||
[Token(Token = "0x4006D6B")]
|
||||
private const uint P7 = 4294967295U;
|
||||
|
||||
// Token: 0x04006D6C RID: 28012
|
||||
[Token(Token = "0x4006D6C")]
|
||||
private const uint PExt15 = 4294967295U;
|
||||
|
||||
// Token: 0x04006D6D RID: 28013
|
||||
[Token(Token = "0x4006D6D")]
|
||||
private const uint PInv33 = 977U;
|
||||
}
|
||||
}
|
||||
+476
@@ -0,0 +1,476 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B3C RID: 6972
|
||||
[Token(Token = "0x2001B3C")]
|
||||
internal class SecP256K1FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x0600A894 RID: 43156 RVA: 0x002456E0 File Offset: 0x002438E0
|
||||
[Token(Token = "0x600A894")]
|
||||
[Address(RVA = "0x70F730", Offset = "0x70E730", VA = "0x18070F730")]
|
||||
public SecP256K1FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A894)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_4E:
|
||||
stloc:ArgumentException(var_5_5D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP256K1FieldElement"), ldstr:string("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.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: 0x0600A895 RID: 43157 RVA: 0x0024574C File Offset: 0x0024394C
|
||||
[Token(Token = "0x600A895")]
|
||||
[Address(RVA = "0x70F700", Offset = "0x70E700", VA = "0x18070F700")]
|
||||
public SecP256K1FieldElement()
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A896 RID: 43158 RVA: 0x00245770 File Offset: 0x00243970
|
||||
[Token(Token = "0x600A896")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecP256K1FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001A66 RID: 6758
|
||||
// (get) Token: 0x0600A897 RID: 43159 RVA: 0x0024578C File Offset: 0x0024398C
|
||||
[Token(Token = "0x17001A66")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600A897")]
|
||||
[Address(RVA = "0x6E6550", Offset = "0x6E5550", VA = "0x1806E6550", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsZero(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A67 RID: 6759
|
||||
// (get) Token: 0x0600A898 RID: 43160 RVA: 0x002457A4 File Offset: 0x002439A4
|
||||
[Token(Token = "0x17001A67")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600A898")]
|
||||
[Address(RVA = "0x6E6540", Offset = "0x6E5540", VA = "0x1806E6540", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsOne(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A899 RID: 43161 RVA: 0x002457BC File Offset: 0x002439BC
|
||||
[Token(Token = "0x600A899")]
|
||||
[Address(RVA = "0x6E61E0", Offset = "0x6E51E0", VA = "0x1806E61E0", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat256.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A89A RID: 43162 RVA: 0x002457E0 File Offset: 0x002439E0
|
||||
[Token(Token = "0x600A89A")]
|
||||
[Address(RVA = "0x6E6200", Offset = "0x6E5200", VA = "0x1806E6200", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat256.ToBigInteger(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001A68 RID: 6760
|
||||
// (get) Token: 0x0600A89B RID: 43163 RVA: 0x002457F8 File Offset: 0x002439F8
|
||||
[Token(Token = "0x17001A68")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600A89B")]
|
||||
[Address(RVA = "0x70F900", Offset = "0x70E900", VA = "0x18070F900", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecP256K1Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A69 RID: 6761
|
||||
// (get) Token: 0x0600A89C RID: 43164 RVA: 0x0024580C File Offset: 0x00243A0C
|
||||
[Token(Token = "0x17001A69")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A89C")]
|
||||
[Address(RVA = "0x70F930", Offset = "0x70E930", VA = "0x18070F930", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return SecP256K1FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A89D RID: 43165 RVA: 0x0024582C File Offset: 0x00243A2C
|
||||
[Token(Token = "0x600A89D")]
|
||||
[Address(RVA = "0x70E9B0", Offset = "0x70D9B0", VA = "0x18070E9B0", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP256K1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint num;
|
||||
if (num == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local3->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_59;
|
||||
}
|
||||
uint[] p = SecP256K1Field.P;
|
||||
if (!Nat256.Gte(array, p))
|
||||
{
|
||||
goto IL_59;
|
||||
}
|
||||
}
|
||||
uint num2 = Nat.Add33To(8, (uint)977, array);
|
||||
IL_59:
|
||||
new SecP256K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A89E RID: 43166 RVA: 0x002458A4 File Offset: 0x00243AA4
|
||||
[Token(Token = "0x600A89E")]
|
||||
[Address(RVA = "0x70E870", Offset = "0x70D870", VA = "0x18070E870", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if (Nat.Inc(8, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local2->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_44;
|
||||
}
|
||||
uint[] p = SecP256K1Field.P;
|
||||
if (!Nat256.Gte(array, p))
|
||||
{
|
||||
goto IL_44;
|
||||
}
|
||||
}
|
||||
uint num = Nat.Add33To(8, (uint)977, array);
|
||||
IL_44:
|
||||
new SecP256K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A89F RID: 43167 RVA: 0x00245908 File Offset: 0x00243B08
|
||||
[Token(Token = "0x600A89F")]
|
||||
[Address(RVA = "0x70F530", Offset = "0x70E530", VA = "0x18070F530", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP256K1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
int num;
|
||||
if (num != 0)
|
||||
{
|
||||
int num2 = Nat.Sub33From(8, (uint)977, array);
|
||||
}
|
||||
new SecP256K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8A0 RID: 43168 RVA: 0x00245964 File Offset: 0x00243B64
|
||||
[Token(Token = "0x600A8A0")]
|
||||
[Address(RVA = "0x70EFC0", Offset = "0x70DFC0", VA = "0x18070EFC0", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP256K1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP256K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8A1 RID: 43169 RVA: 0x002459AC File Offset: 0x00243BAC
|
||||
[Token(Token = "0x600A8A1")]
|
||||
[Address(RVA = "0x70EB90", Offset = "0x70DB90", VA = "0x18070EB90", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] p = SecP256K1Field.P;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP256K1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
SecP256K1Field.Multiply(array, array2, array);
|
||||
new SecP256K1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8A2 RID: 43170 RVA: 0x00245A04 File Offset: 0x00243C04
|
||||
[Token(Token = "0x600A8A2")]
|
||||
[Address(RVA = "0x70F100", Offset = "0x70E100", VA = "0x18070F100", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8A2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
call:void(SecP256K1Field::Negate, ldfld:uint32[](SecP256K1FieldElement::x, ldloc:SecP256K1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP256K1FieldElement::x, newobj:SecP256K1FieldElement(SecP256K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A8A3 RID: 43171 RVA: 0x00245A30 File Offset: 0x00243C30
|
||||
[Token(Token = "0x600A8A3")]
|
||||
[Address(RVA = "0x70F4A0", Offset = "0x70E4A0", VA = "0x18070F4A0", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8A3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
call:void(SecP256K1Field::Square, ldfld:uint32[](SecP256K1FieldElement::x, ldloc:SecP256K1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP256K1FieldElement::x, newobj:SecP256K1FieldElement(SecP256K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A8A4 RID: 43172 RVA: 0x00245A5C File Offset: 0x00243C5C
|
||||
[Token(Token = "0x600A8A4")]
|
||||
[Address(RVA = "0x70EEF0", Offset = "0x70DEF0", VA = "0x18070EEF0", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8A4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP256K1FieldElement::x, ldloc:SecP256K1FieldElement(this)))
|
||||
call:void(Mod::Invert, ldsfld:uint32[](SecP256K1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP256K1FieldElement::x, newobj:SecP256K1FieldElement(SecP256K1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A8A5 RID: 43173 RVA: 0x00245A90 File Offset: 0x00243C90
|
||||
[Token(Token = "0x600A8A5")]
|
||||
[Address(RVA = "0x70F190", Offset = "0x70E190", VA = "0x18070F190", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (Nat256.IsZero(array) || Nat256.IsOne(array));
|
||||
uint[] array2 = Nat256.Create();
|
||||
SecP256K1Field.Square(array, array2);
|
||||
SecP256K1Field.Multiply(array2, array, array2);
|
||||
uint[] array3 = Nat256.Create();
|
||||
SecP256K1Field.Square(array2, array3);
|
||||
SecP256K1Field.Multiply(array3, array, array3);
|
||||
uint[] array4 = Nat256.Create();
|
||||
SecP256K1Field.SquareN(array3, 3, array4);
|
||||
SecP256K1Field.Multiply(array4, array3, array4);
|
||||
SecP256K1Field.SquareN(array4, 3, array4);
|
||||
SecP256K1Field.Multiply(array4, array3, array4);
|
||||
SecP256K1Field.SquareN(array4, 2, array4);
|
||||
SecP256K1Field.Multiply(array4, array2, array4);
|
||||
uint[] array5 = Nat256.Create();
|
||||
SecP256K1Field.SquareN(array4, 11, array5);
|
||||
SecP256K1Field.Multiply(array5, array4, array5);
|
||||
SecP256K1Field.SquareN(array5, 22, array4);
|
||||
SecP256K1Field.Multiply(array4, array5, array4);
|
||||
uint[] array6 = Nat256.Create();
|
||||
SecP256K1Field.SquareN(array4, 44, array6);
|
||||
SecP256K1Field.Multiply(array6, array4, array6);
|
||||
uint[] array7 = Nat256.Create();
|
||||
SecP256K1Field.SquareN(array6, 88, array7);
|
||||
SecP256K1Field.Multiply(array7, array6, array7);
|
||||
SecP256K1Field.SquareN(array7, 44, array6);
|
||||
SecP256K1Field.Multiply(array6, array4, array6);
|
||||
SecP256K1Field.SquareN(array6, 3, array4);
|
||||
SecP256K1Field.Multiply(array4, array3, array4);
|
||||
SecP256K1Field.SquareN(array4, 23, array4);
|
||||
SecP256K1Field.Multiply(array4, array5, array4);
|
||||
SecP256K1Field.SquareN(array4, 6, array4);
|
||||
SecP256K1Field.Multiply(array4, array2, array4);
|
||||
SecP256K1Field.SquareN(array4, 2, array4);
|
||||
SecP256K1Field.Square(array4, array2);
|
||||
if (Nat256.Eq(array, array2))
|
||||
{
|
||||
new SecP256K1FieldElement().x = array4;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A8A6 RID: 43174 RVA: 0x00245C28 File Offset: 0x00243E28
|
||||
[Token(Token = "0x600A8A6")]
|
||||
[Address(RVA = "0x70ED10", Offset = "0x70DD10", VA = "0x18070ED10", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8A6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP256K1FieldElement[exp:ECFieldElement](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: 0x0600A8A7 RID: 43175 RVA: 0x00245C44 File Offset: 0x00243E44
|
||||
[Token(Token = "0x600A8A7")]
|
||||
[Address(RVA = "0x70EDA0", Offset = "0x70DDA0", VA = "0x18070EDA0", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8A7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP256K1FieldElement[exp:ECFieldElement](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: 0x0600A8A8 RID: 43176 RVA: 0x00245C60 File Offset: 0x00243E60
|
||||
[Token(Token = "0x600A8A8")]
|
||||
[Address(RVA = "0x6E5860", Offset = "0x6E4860", VA = "0x1806E5860", Slot = "27")]
|
||||
public virtual bool Equals(SecP256K1FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
return Nat256.Eq(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A8A9 RID: 43177 RVA: 0x00245C8C File Offset: 0x00243E8C
|
||||
[Token(Token = "0x600A8A9")]
|
||||
[Address(RVA = "0x70EE30", Offset = "0x70DE30", VA = "0x18070EE30", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
SecP256K1FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 8);
|
||||
}
|
||||
|
||||
// Token: 0x04006D6E RID: 28014
|
||||
[Token(Token = "0x4006D6E")]
|
||||
public static readonly BigInteger Q = SecP256K1Curve.q;
|
||||
|
||||
// Token: 0x04006D6F RID: 28015
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D6F")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+326
@@ -0,0 +1,326 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B3D RID: 6973
|
||||
[Token(Token = "0x2001B3D")]
|
||||
internal class SecP256K1Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600A8AB RID: 43179 RVA: 0x00245CD4 File Offset: 0x00243ED4
|
||||
[Token(Token = "0x600A8AB")]
|
||||
[Address(RVA = "0x7119A0", Offset = "0x7109A0", VA = "0x1807119A0")]
|
||||
public SecP256K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A8AC RID: 43180 RVA: 0x00245CE4 File Offset: 0x00243EE4
|
||||
[Token(Token = "0x600A8AC")]
|
||||
[Address(RVA = "0x7119C0", Offset = "0x7109C0", VA = "0x1807119C0")]
|
||||
public SecP256K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8AC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A8AD RID: 43181 RVA: 0x00245D0C File Offset: 0x00243F0C
|
||||
[Token(Token = "0x600A8AD")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecP256K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A8AE RID: 43182 RVA: 0x00245D1C File Offset: 0x00243F1C
|
||||
[Token(Token = "0x600A8AE")]
|
||||
[Address(RVA = "0x7111F0", Offset = "0x7101F0", VA = "0x1807111F0", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8AE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256K1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP256K1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP256K1Point[exp:ECPoint](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: 0x0600A8AF RID: 43183 RVA: 0x00245D38 File Offset: 0x00243F38
|
||||
[Token(Token = "0x600A8AF")]
|
||||
[Address(RVA = "0x710970", Offset = "0x70F970", VA = "0x180710970", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity && !b.IsInfinity && this != b)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat256.CreateExt();
|
||||
uint[] array2 = Nat256.Create();
|
||||
uint[] array3 = Nat256.Create();
|
||||
uint[] array4 = Nat256.Create();
|
||||
if (array4 == 0)
|
||||
{
|
||||
SecP256K1Field.Square(array4, array3);
|
||||
SecP256K1Field.Multiply(array3, array3, array2);
|
||||
SecP256K1Field.Multiply(array3, array3, array3);
|
||||
SecP256K1Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
SecP256K1Field.Multiply(array4, array4, array);
|
||||
SecP256K1Field.Multiply(array4, array4, array4);
|
||||
SecP256K1Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat256.Create();
|
||||
int num;
|
||||
if (num != 0)
|
||||
{
|
||||
int num2 = Nat.Sub33From(8, (uint)977, array5);
|
||||
}
|
||||
int num3;
|
||||
if (num3 != 0)
|
||||
{
|
||||
int num4 = Nat.Sub33From(8, (uint)977, array2);
|
||||
}
|
||||
if (!Nat256.IsZero(array5))
|
||||
{
|
||||
SecP256K1Field.Square(array5, array3);
|
||||
uint[] array6 = Nat256.Create();
|
||||
SecP256K1Field.Multiply(array3, array5, array6);
|
||||
SecP256K1Field.Negate(array6, array6);
|
||||
SecP256K1Field.Reduce32(Nat256.AddBothTo(array3, array3, array6), array6);
|
||||
SecP256K1FieldElement secP256K1FieldElement = new SecP256K1FieldElement();
|
||||
secP256K1FieldElement.x = array4;
|
||||
SecP256K1Field.Square(array2, array4);
|
||||
uint[] x = secP256K1FieldElement.x;
|
||||
if (Nat256.Sub(x, array6, x) != 0)
|
||||
{
|
||||
int num5 = Nat.Sub33From(8, (uint)977, x);
|
||||
}
|
||||
SecP256K1FieldElement secP256K1FieldElement2 = new SecP256K1FieldElement();
|
||||
secP256K1FieldElement2.x = array6;
|
||||
uint[] x2 = secP256K1FieldElement.x;
|
||||
if (Nat256.Sub(array3, x2, array6) != 0)
|
||||
{
|
||||
int num6 = Nat.Sub33From(8, (uint)977, array6);
|
||||
}
|
||||
uint[] x3 = secP256K1FieldElement2.x;
|
||||
if (Nat256.MulAddTo(x3, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local16->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_207;
|
||||
}
|
||||
uint[] pext = SecP256K1Field.PExt;
|
||||
if (!Nat.Gte(16, array, pext))
|
||||
{
|
||||
goto IL_207;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP256K1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
|
||||
{
|
||||
int length = SecP256K1Field.PExtInv.Length;
|
||||
uint num7 = Nat.IncAt(16, array, length);
|
||||
}
|
||||
IL_207:
|
||||
uint[] x4 = secP256K1FieldElement2.x;
|
||||
SecP256K1Field.Reduce(array, x4);
|
||||
SecP256K1FieldElement secP256K1FieldElement3 = new SecP256K1FieldElement();
|
||||
secP256K1FieldElement3.x = array5;
|
||||
SecP256K1Field.Multiply(array5, x3, array5);
|
||||
uint[] x5 = secP256K1FieldElement3.x;
|
||||
SecP256K1Field.Multiply(x5, array5, x5);
|
||||
ECFieldElement[] array7 = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600A8B0 RID: 43184 RVA: 0x00245FBC File Offset: 0x002441BC
|
||||
[Token(Token = "0x600A8B0")]
|
||||
[Address(RVA = "0x711390", Offset = "0x710390", VA = "0x180711390", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
while (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y != 0)
|
||||
{
|
||||
if (y.IsOne)
|
||||
{
|
||||
break;
|
||||
}
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
uint[] array2 = Nat256.Create();
|
||||
SecP256K1Field.Square(array, array2);
|
||||
uint[] array3 = Nat256.Create();
|
||||
SecP256K1Field.Reduce32(Nat256.AddBothTo(array3, array3, array3), array3);
|
||||
SecP256K1Field.Multiply(array, array3, array);
|
||||
int num = 0;
|
||||
SecP256K1Field.Reduce32(Nat.ShiftUpBits(8, array, 2, (uint)num), array);
|
||||
uint[] array4 = Nat256.Create();
|
||||
int num2 = 0;
|
||||
SecP256K1Field.Reduce32(Nat.ShiftUpBits(8, array2, 3, (uint)num2, array4), array4);
|
||||
SecP256K1FieldElement secP256K1FieldElement = new SecP256K1FieldElement();
|
||||
secP256K1FieldElement.x = array2;
|
||||
SecP256K1Field.Square(array3, array2);
|
||||
uint[] x2 = secP256K1FieldElement.x;
|
||||
if (Nat256.Sub(x2, array, x2) != 0)
|
||||
{
|
||||
int num3 = Nat.Sub33From(8, (uint)977, x2);
|
||||
}
|
||||
uint[] x3 = secP256K1FieldElement.x;
|
||||
if (Nat256.Sub(x3, array, x3) != 0)
|
||||
{
|
||||
int num4 = Nat.Sub33From(8, (uint)977, x3);
|
||||
}
|
||||
SecP256K1FieldElement secP256K1FieldElement2 = new SecP256K1FieldElement();
|
||||
secP256K1FieldElement2.x = array;
|
||||
uint[] x4 = secP256K1FieldElement.x;
|
||||
if (Nat256.Sub(array, x4, array) != 0)
|
||||
{
|
||||
int num5 = Nat.Sub33From(8, (uint)977, array);
|
||||
}
|
||||
uint[] x5 = secP256K1FieldElement2.x;
|
||||
SecP256K1Field.Multiply(x5, array3, x5);
|
||||
uint[] x6 = secP256K1FieldElement2.x;
|
||||
if (Nat256.Sub(x6, array4, x6) != 0)
|
||||
{
|
||||
int num6 = Nat.Sub33From(8, (uint)977, x6);
|
||||
}
|
||||
SecP256K1FieldElement secP256K1FieldElement3 = new SecP256K1FieldElement();
|
||||
secP256K1FieldElement3.x = array3;
|
||||
uint num7;
|
||||
if (num7 == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local24->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_1EF;
|
||||
}
|
||||
uint[] p = SecP256K1Field.P;
|
||||
if (!Nat256.Gte(array3, p))
|
||||
{
|
||||
goto IL_1EF;
|
||||
}
|
||||
}
|
||||
uint num8 = Nat.Add33To(8, (uint)977, array3);
|
||||
IL_1EF:
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
uint[] x7 = secP256K1FieldElement3.x;
|
||||
}
|
||||
(new ECFieldElement[1])[0] = secP256K1FieldElement3;
|
||||
bool withCompression = this.m_withCompression;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8B1 RID: 43185 RVA: 0x002461E8 File Offset: 0x002443E8
|
||||
[Token(Token = "0x600A8B1")]
|
||||
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag3 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8B2 RID: 43186 RVA: 0x00246238 File Offset: 0x00244438
|
||||
[Token(Token = "0x600A8B2")]
|
||||
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8B3 RID: 43187 RVA: 0x00246268 File Offset: 0x00244468
|
||||
[Token(Token = "0x600A8B3")]
|
||||
[Address(RVA = "0x711290", Offset = "0x710290", VA = "0x180711290", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+340
@@ -0,0 +1,340 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B3E RID: 6974
|
||||
[Token(Token = "0x2001B3E")]
|
||||
internal class SecP256R1Curve : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600A8B4 RID: 43188 RVA: 0x002462A0 File Offset: 0x002444A0
|
||||
[Token(Token = "0x600A8B4")]
|
||||
[Address(RVA = "0x712110", Offset = "0x711110", VA = "0x180712110")]
|
||||
public SecP256R1Curve()
|
||||
{
|
||||
BigInteger bigInteger = SecP256R1Curve.q;
|
||||
base..ctor(bigInteger);
|
||||
int num;
|
||||
int num2;
|
||||
SecP256R1Point secP256R1Point = new SecP256R1Point(this, num, num2);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = secP256R1Point;
|
||||
byte[] array = Hex.Decode("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551");
|
||||
BigInteger bigInteger4 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger4;
|
||||
BigInteger one = BigInteger.One;
|
||||
this.m_cofactor = one;
|
||||
this.m_coord = (int)((ulong)2L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A8B5 RID: 43189 RVA: 0x00246354 File Offset: 0x00244554
|
||||
[Token(Token = "0x600A8B5")]
|
||||
[Address(RVA = "0x711A80", Offset = "0x710A80", VA = "0x180711A80", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8B5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_1_05, ldsfld:BigInteger(SecP256R1Curve::q))
|
||||
stloc:SecP256R1Point(var_2_0F, newobj:SecP256R1Point(SecP256R1Point::.ctor, ldloc:SecP256R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_3)))
|
||||
stloc:int32(var_3, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecP256R1Point(SecP256R1Curve::m_infinity, ldloc:SecP256R1Curve(var_0), ldloc:SecP256R1Point(var_2_0F))
|
||||
stloc:uint8[](var_6_26, call:uint8[](Hex::Decode, ldstr:string("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC")))
|
||||
stloc:BigInteger(var_7_30, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_26)))
|
||||
stloc:int32(var_8_38, callvirtgetter:int32(SecP256R1Curve::get_FieldSize, ldloc:SecP256R1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecP256R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_38))
|
||||
stloc:uint8[](var_9_4C, call:uint8[](Hex::Decode, ldstr:string("5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B")))
|
||||
stloc:BigInteger(var_10_56, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4C)))
|
||||
stloc:int32(var_11_5E, callvirtgetter:int32(SecP256R1Curve::get_FieldSize, ldloc:SecP256R1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecP256R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5E))
|
||||
stloc:uint8[](var_12_72, call:uint8[](Hex::Decode, ldstr:string("FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551")))
|
||||
stloc:BigInteger(var_13_7C, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_72)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecP256R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7C))
|
||||
stloc:BigInteger(var_14_8B, ldsfld:BigInteger(BigInteger::One))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecP256R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8B))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecP256R1Curve[exp:ECCurve](var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](2)))
|
||||
}
|
||||
|
||||
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: 0x0600A8B6 RID: 43190 RVA: 0x00246400 File Offset: 0x00244600
|
||||
[Token(Token = "0x600A8B6")]
|
||||
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 2;
|
||||
}
|
||||
|
||||
// Token: 0x17001A6A RID: 6762
|
||||
// (get) Token: 0x0600A8B7 RID: 43191 RVA: 0x00246414 File Offset: 0x00244614
|
||||
[Token(Token = "0x17001A6A")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600A8B7")]
|
||||
[Address(RVA = "0x712360", Offset = "0x711360", VA = "0x180712360", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return SecP256R1Curve.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A6B RID: 6763
|
||||
// (get) Token: 0x0600A8B8 RID: 43192 RVA: 0x00246428 File Offset: 0x00244628
|
||||
[Token(Token = "0x17001A6B")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A8B8")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8B8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP256R1Point(var_0_06, ldfld:SecP256R1Point(SecP256R1Curve::m_infinity, ldloc:SecP256R1Curve(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: 0x17001A6C RID: 6764
|
||||
// (get) Token: 0x0600A8B9 RID: 43193 RVA: 0x0024643C File Offset: 0x0024463C
|
||||
[Token(Token = "0x17001A6C")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A8B9")]
|
||||
[Address(RVA = "0x7122F0", Offset = "0x7112F0", VA = "0x1807122F0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return SecP256R1Curve.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A8BA RID: 43194 RVA: 0x0024645C File Offset: 0x0024465C
|
||||
[Token(Token = "0x600A8BA")]
|
||||
[Address(RVA = "0x712010", Offset = "0x711010", VA = "0x180712010", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8BA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP256R1FieldElement(var_0_06, newobj:SecP256R1FieldElement(SecP256R1FieldElement::.ctor, 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: 0x0600A8BB RID: 43195 RVA: 0x00246470 File Offset: 0x00244670
|
||||
[Token(Token = "0x600A8BB")]
|
||||
[Address(RVA = "0x711EE0", Offset = "0x710EE0", VA = "0x180711EE0", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8BB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1Curve::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:SecP256R1Point(var_0_09, newobj:SecP256R1Point(SecP256R1Point::.ctor, ldloc:SecP256R1Curve[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: 0x0600A8BC RID: 43196 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A8BC")]
|
||||
[Address(RVA = "0x711F70", Offset = "0x710F70", VA = "0x180711F70", 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: 0x0600A8BD RID: 43197 RVA: 0x00246488 File Offset: 0x00244688
|
||||
[Token(Token = "0x600A8BD")]
|
||||
[Address(RVA = "0x711C80", Offset = "0x710C80", VA = "0x180711C80", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[len];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_4A;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 16;
|
||||
IL_4A:
|
||||
SecP256R1Curve.SecP256R1LookupTable secP256R1LookupTable;
|
||||
secP256R1LookupTable.m_outer = 0;
|
||||
secP256R1LookupTable.m_table = array;
|
||||
secP256R1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8BE RID: 43198 RVA: 0x002464FC File Offset: 0x002446FC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A8BE")]
|
||||
[Address(RVA = "0x712070", Offset = "0x711070", VA = "0x180712070")]
|
||||
static SecP256R1Curve()
|
||||
{
|
||||
byte[] array = Hex.Decode("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF");
|
||||
SecP256R1Curve.q = new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x04006D70 RID: 28016
|
||||
[Token(Token = "0x4006D70")]
|
||||
public static readonly BigInteger q;
|
||||
|
||||
// Token: 0x04006D71 RID: 28017
|
||||
[Token(Token = "0x4006D71")]
|
||||
private const int SECP256R1_DEFAULT_COORDS = 2;
|
||||
|
||||
// Token: 0x04006D72 RID: 28018
|
||||
[Token(Token = "0x4006D72")]
|
||||
private const int SECP256R1_FE_INTS = 8;
|
||||
|
||||
// Token: 0x04006D73 RID: 28019
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006D73")]
|
||||
protected readonly SecP256R1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B3F RID: 6975
|
||||
[Token(Token = "0x2001B3F")]
|
||||
private class SecP256R1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A8BF RID: 43199 RVA: 0x00246520 File Offset: 0x00244720
|
||||
[Token(Token = "0x600A8BF")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecP256R1LookupTable(SecP256R1Curve outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001A6D RID: 6765
|
||||
// (get) Token: 0x0600A8C0 RID: 43200 RVA: 0x00246548 File Offset: 0x00244748
|
||||
[Token(Token = "0x17001A6D")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A8C0")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A8C1 RID: 43201 RVA: 0x0024655C File Offset: 0x0024475C
|
||||
[Token(Token = "0x600A8C1")]
|
||||
[Address(RVA = "0x713820", Offset = "0x712820", VA = "0x180713820", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
uint[] array2 = Nat256.Create();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num2)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 16;
|
||||
num2++;
|
||||
}
|
||||
SecP256R1Curve outer = this.m_outer;
|
||||
SecP256R1FieldElement secP256R1FieldElement = new SecP256R1FieldElement(array);
|
||||
SecP256R1FieldElement secP256R1FieldElement2 = new SecP256R1FieldElement(array2);
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D74 RID: 28020
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D74")]
|
||||
private readonly SecP256R1Curve m_outer;
|
||||
|
||||
// Token: 0x04006D75 RID: 28021
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D75")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006D76 RID: 28022
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D76")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+432
@@ -0,0 +1,432 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B40 RID: 6976
|
||||
[Token(Token = "0x2001B40")]
|
||||
internal class SecP256R1Field
|
||||
{
|
||||
// Token: 0x0600A8C2 RID: 43202 RVA: 0x002465D8 File Offset: 0x002447D8
|
||||
[Token(Token = "0x600A8C2")]
|
||||
[Address(RVA = "0x712740", Offset = "0x711740", VA = "0x180712740")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat256.Add(x, y, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP256R1Field.P;
|
||||
if (!Nat256.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP256R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A8C3 RID: 43203 RVA: 0x00246618 File Offset: 0x00244818
|
||||
[Token(Token = "0x600A8C3")]
|
||||
[Address(RVA = "0x7123C0", Offset = "0x7113C0", VA = "0x1807123C0")]
|
||||
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Add(16, xx, yy, zz) == (uint)0)
|
||||
{
|
||||
uint[] pext = SecP256R1Field.PExt;
|
||||
if (!Nat.Gte(16, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pext2 = SecP256R1Field.PExt;
|
||||
int num = Nat.SubFrom(16, pext2, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600A8C4 RID: 43204 RVA: 0x0024665C File Offset: 0x0024485C
|
||||
[Token(Token = "0x600A8C4")]
|
||||
[Address(RVA = "0x7124E0", Offset = "0x7114E0", VA = "0x1807124E0")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
if (Nat.Inc(8, x, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP256R1Field.P;
|
||||
if (!Nat256.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP256R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A8C5 RID: 43205 RVA: 0x0024669C File Offset: 0x0024489C
|
||||
[Token(Token = "0x600A8C5")]
|
||||
[Address(RVA = "0x712830", Offset = "0x711830", VA = "0x180712830")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat256.FromBigInteger(x);
|
||||
if ("{il2cpp array field local2->}" == (ulong)(-1L))
|
||||
{
|
||||
uint[] p = SecP256R1Field.P;
|
||||
if (Nat256.Gte(array, p))
|
||||
{
|
||||
int num = Nat256.SubFrom(SecP256R1Field.P, array);
|
||||
}
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A8C6 RID: 43206 RVA: 0x002466E0 File Offset: 0x002448E0
|
||||
[Token(Token = "0x600A8C6")]
|
||||
[Address(RVA = "0x712920", Offset = "0x711920", VA = "0x180712920")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
if ("{il2cpp array field x->}" != (ulong)1L)
|
||||
{
|
||||
uint[] p = SecP256R1Field.P;
|
||||
uint num = Nat256.Add(x, p, z);
|
||||
uint num2 = Nat.ShiftDownBit(8, z, num);
|
||||
return;
|
||||
}
|
||||
int num3 = 0;
|
||||
uint num4 = Nat.ShiftDownBit(8, x, (uint)num3, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A8C7 RID: 43207 RVA: 0x00246724 File Offset: 0x00244924
|
||||
[Token(Token = "0x600A8C7")]
|
||||
[Address(RVA = "0x712B20", Offset = "0x711B20", VA = "0x180712B20")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Mul(x, y, array);
|
||||
SecP256R1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A8C8 RID: 43208 RVA: 0x00246748 File Offset: 0x00244948
|
||||
[Token(Token = "0x600A8C8")]
|
||||
[Address(RVA = "0x712A00", Offset = "0x711A00", VA = "0x180712A00")]
|
||||
public static void MultiplyAddToExt(uint[] x, uint[] y, uint[] zz)
|
||||
{
|
||||
if (Nat256.MulAddTo(x, y, zz) == (uint)0)
|
||||
{
|
||||
uint[] pext = SecP256R1Field.PExt;
|
||||
if (!Nat.Gte(16, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pext2 = SecP256R1Field.PExt;
|
||||
int num = Nat.SubFrom(16, pext2, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600A8C9 RID: 43209 RVA: 0x0024678C File Offset: 0x0024498C
|
||||
[Token(Token = "0x600A8C9")]
|
||||
[Address(RVA = "0x712BC0", Offset = "0x711BC0", VA = "0x180712BC0")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat256.IsZero(x))
|
||||
{
|
||||
int num = Nat256.Sub(SecP256R1Field.P, x, z);
|
||||
return;
|
||||
}
|
||||
Nat256.Zero(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A8CA RID: 43210 RVA: 0x002467B8 File Offset: 0x002449B8
|
||||
[Token(Token = "0x600A8CA")]
|
||||
[Address(RVA = "0x712E90", Offset = "0x711E90", VA = "0x180712E90")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
int length = xx.Length;
|
||||
uint num = xx[4];
|
||||
uint num2 = xx[5];
|
||||
uint num3 = xx[5];
|
||||
uint num4 = xx[6];
|
||||
uint num5 = xx[7];
|
||||
uint num6 = xx[7];
|
||||
uint num7 = xx[4];
|
||||
uint num8 = xx[0];
|
||||
num3 -= num6;
|
||||
num3 += num2;
|
||||
num4 -= num;
|
||||
num4 -= num7;
|
||||
num8 -= num4;
|
||||
z[0] = num8;
|
||||
uint num9 = xx[0];
|
||||
num9 += num8;
|
||||
num9 -= num2;
|
||||
num9 -= num3;
|
||||
z[0] = num9;
|
||||
uint num10 = xx[1];
|
||||
num10 += num9;
|
||||
num10 += num3;
|
||||
z[1] = num10;
|
||||
uint num11 = xx[1];
|
||||
num11 += num10;
|
||||
num10 -= num2;
|
||||
num10 += num4;
|
||||
z[1] = num10;
|
||||
uint num12 = xx[2];
|
||||
num12 += num10;
|
||||
num10 += num5;
|
||||
z[2] = num10;
|
||||
uint num13 = xx[2];
|
||||
num13 += num10;
|
||||
num10 -= num3;
|
||||
z[2] = num10;
|
||||
uint num14 = xx[3];
|
||||
num10 += num4;
|
||||
num10 += num14;
|
||||
z[3] = num4;
|
||||
uint num15 = xx[3];
|
||||
num15 += num4;
|
||||
z[3] = xx;
|
||||
}
|
||||
|
||||
// Token: 0x0600A8CB RID: 43211 RVA: 0x00246920 File Offset: 0x00244B20
|
||||
[Token(Token = "0x600A8CB")]
|
||||
[Address(RVA = "0x712C60", Offset = "0x711C60", VA = "0x180712C60")]
|
||||
public static void Reduce32(uint x, uint[] z)
|
||||
{
|
||||
if (x != (uint)0)
|
||||
{
|
||||
uint num = z[0];
|
||||
num += x;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
uint num3 = z[1];
|
||||
num += num3;
|
||||
z[1] = num;
|
||||
}
|
||||
uint num4 = z[1];
|
||||
num4 -= x;
|
||||
num += num4;
|
||||
z[1] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num5 = z[2];
|
||||
num += num5;
|
||||
z[2] = num;
|
||||
uint num6 = z[2];
|
||||
num += num6;
|
||||
z[2] = num;
|
||||
}
|
||||
uint num7 = z[3];
|
||||
num7 -= x;
|
||||
num += num7;
|
||||
z[3] = num;
|
||||
uint num8 = z[3];
|
||||
num8 += num7;
|
||||
z[3] = num8;
|
||||
if (num8 != (uint)0)
|
||||
{
|
||||
goto IL_E9;
|
||||
}
|
||||
}
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP256R1Field.P;
|
||||
if (!Nat256.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
IL_E9:
|
||||
SecP256R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A8CC RID: 43212 RVA: 0x00246A24 File Offset: 0x00244C24
|
||||
[Token(Token = "0x600A8CC")]
|
||||
[Address(RVA = "0x713360", Offset = "0x712360", VA = "0x180713360")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Square(x, array);
|
||||
SecP256R1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A8CD RID: 43213 RVA: 0x00246A48 File Offset: 0x00244C48
|
||||
[Token(Token = "0x600A8CD")]
|
||||
[Address(RVA = "0x713280", Offset = "0x712280", VA = "0x180713280")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat256.CreateExt();
|
||||
Nat256.Square(x, array);
|
||||
SecP256R1Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
Nat256.Square(z, array);
|
||||
SecP256R1Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A8CE RID: 43214 RVA: 0x00246A80 File Offset: 0x00244C80
|
||||
[Token(Token = "0x600A8CE")]
|
||||
[Address(RVA = "0x713610", Offset = "0x712610", VA = "0x180713610")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat256.Sub(x, y, z) != 0)
|
||||
{
|
||||
SecP256R1Field.SubPInvFrom(z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A8CF RID: 43215 RVA: 0x00246AA0 File Offset: 0x00244CA0
|
||||
[Token(Token = "0x600A8CF")]
|
||||
[Address(RVA = "0x713560", Offset = "0x712560", VA = "0x180713560")]
|
||||
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Sub(16, xx, yy, zz) != 0)
|
||||
{
|
||||
uint[] pext = SecP256R1Field.PExt;
|
||||
uint num = Nat.AddTo(16, pext, zz);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A8D0 RID: 43216 RVA: 0x00246ACC File Offset: 0x00244CCC
|
||||
[Token(Token = "0x600A8D0")]
|
||||
[Address(RVA = "0x713690", Offset = "0x712690", VA = "0x180713690")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat.ShiftUpBit(8, x, (uint)num, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP256R1Field.P;
|
||||
if (!Nat256.Gte(z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP256R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A8D1 RID: 43217 RVA: 0x00246B10 File Offset: 0x00244D10
|
||||
[Token(Token = "0x600A8D1")]
|
||||
[Address(RVA = "0x7125D0", Offset = "0x7115D0", VA = "0x1807125D0")]
|
||||
private static void AddPInvTo(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
num += (uint)1;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num2 += num;
|
||||
z[0] = num2;
|
||||
uint num3 = z[1];
|
||||
num3 += num2;
|
||||
z[1] = num3;
|
||||
}
|
||||
uint num4 = z[1];
|
||||
num += num4;
|
||||
z[1] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num5 = z[2];
|
||||
num += num5;
|
||||
z[2] = num;
|
||||
uint num6 = z[2];
|
||||
num += num6;
|
||||
z[2] = num;
|
||||
}
|
||||
uint num7 = z[3];
|
||||
num7 += num;
|
||||
z[3] = num7;
|
||||
uint num8 = z[3];
|
||||
num8 += (uint)1;
|
||||
num8 += num7;
|
||||
z[3] = num8;
|
||||
}
|
||||
|
||||
// Token: 0x0600A8D2 RID: 43218 RVA: 0x00246BE4 File Offset: 0x00244DE4
|
||||
[Token(Token = "0x600A8D2")]
|
||||
[Address(RVA = "0x7133F0", Offset = "0x7123F0", VA = "0x1807133F0")]
|
||||
private static void SubPInvFrom(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
uint num3 = z[1];
|
||||
num += num3;
|
||||
z[1] = num;
|
||||
}
|
||||
uint num4 = z[1];
|
||||
num4 += (uint)1;
|
||||
num4 += num;
|
||||
z[1] = num4;
|
||||
if (num4 != (uint)0)
|
||||
{
|
||||
uint num5 = z[2];
|
||||
num4 += num5;
|
||||
z[2] = num4;
|
||||
uint num6 = z[2];
|
||||
num4 += num6;
|
||||
z[2] = num4;
|
||||
}
|
||||
uint num7 = z[3];
|
||||
num7 += (uint)1;
|
||||
num7 += num4;
|
||||
z[3] = num7;
|
||||
uint num8 = z[3];
|
||||
num7 += num8;
|
||||
z[3] = num7;
|
||||
}
|
||||
|
||||
// Token: 0x0600A8D3 RID: 43219 RVA: 0x00246CB8 File Offset: 0x00244EB8
|
||||
[Token(Token = "0x600A8D3")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecP256R1Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A8D4 RID: 43220 RVA: 0x00246CCC File Offset: 0x00244ECC
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A8D4")]
|
||||
[Address(RVA = "0x713780", Offset = "0x712780", VA = "0x180713780")]
|
||||
static SecP256R1Field()
|
||||
{
|
||||
uint[] array = new uint[8];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.083DE622A9A685DC50D8D5653CB388A41343C8EC).FieldHandle);
|
||||
SecP256R1Field.P = array;
|
||||
uint[] array2 = new uint[16];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.214F93D9222D60794CE1EA0A10389885C5CA9824).FieldHandle);
|
||||
SecP256R1Field.PExt = array2;
|
||||
}
|
||||
|
||||
// Token: 0x04006D77 RID: 28023
|
||||
[Token(Token = "0x4006D77")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04006D78 RID: 28024
|
||||
[Token(Token = "0x4006D78")]
|
||||
internal static readonly uint[] PExt;
|
||||
|
||||
// Token: 0x04006D79 RID: 28025
|
||||
[Token(Token = "0x4006D79")]
|
||||
internal const uint P7 = 4294967295U;
|
||||
|
||||
// Token: 0x04006D7A RID: 28026
|
||||
[Token(Token = "0x4006D7A")]
|
||||
internal const uint PExt15 = 4294967294U;
|
||||
}
|
||||
}
|
||||
+443
@@ -0,0 +1,443 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B41 RID: 6977
|
||||
[Token(Token = "0x2001B41")]
|
||||
internal class SecP256R1FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x0600A8D5 RID: 43221 RVA: 0x00246D0C File Offset: 0x00244F0C
|
||||
[Token(Token = "0x600A8D5")]
|
||||
[Address(RVA = "0x7E5870", Offset = "0x7E4870", VA = "0x1807E5870")]
|
||||
public SecP256R1FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8D5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_27:
|
||||
stloc:ArgumentException(var_3_36, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP256R1FieldElement"), ldstr:string("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.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: 0x0600A8D6 RID: 43222 RVA: 0x00246D50 File Offset: 0x00244F50
|
||||
[Token(Token = "0x600A8D6")]
|
||||
[Address(RVA = "0x70F700", Offset = "0x70E700", VA = "0x18070F700")]
|
||||
public SecP256R1FieldElement()
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A8D7 RID: 43223 RVA: 0x00246D74 File Offset: 0x00244F74
|
||||
[Token(Token = "0x600A8D7")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecP256R1FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001A6E RID: 6766
|
||||
// (get) Token: 0x0600A8D8 RID: 43224 RVA: 0x00246D90 File Offset: 0x00244F90
|
||||
[Token(Token = "0x17001A6E")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600A8D8")]
|
||||
[Address(RVA = "0x6E6550", Offset = "0x6E5550", VA = "0x1806E6550", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsZero(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A6F RID: 6767
|
||||
// (get) Token: 0x0600A8D9 RID: 43225 RVA: 0x00246DA8 File Offset: 0x00244FA8
|
||||
[Token(Token = "0x17001A6F")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600A8D9")]
|
||||
[Address(RVA = "0x6E6540", Offset = "0x6E5540", VA = "0x1806E6540", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsOne(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A8DA RID: 43226 RVA: 0x00246DC0 File Offset: 0x00244FC0
|
||||
[Token(Token = "0x600A8DA")]
|
||||
[Address(RVA = "0x6E61E0", Offset = "0x6E51E0", VA = "0x1806E61E0", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat256.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A8DB RID: 43227 RVA: 0x00246DE4 File Offset: 0x00244FE4
|
||||
[Token(Token = "0x600A8DB")]
|
||||
[Address(RVA = "0x6E6200", Offset = "0x6E5200", VA = "0x1806E6200", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat256.ToBigInteger(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001A70 RID: 6768
|
||||
// (get) Token: 0x0600A8DC RID: 43228 RVA: 0x00246DFC File Offset: 0x00244FFC
|
||||
[Token(Token = "0x17001A70")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600A8DC")]
|
||||
[Address(RVA = "0x7E5960", Offset = "0x7E4960", VA = "0x1807E5960", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecP256R1Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A71 RID: 6769
|
||||
// (get) Token: 0x0600A8DD RID: 43229 RVA: 0x00246E10 File Offset: 0x00245010
|
||||
[Token(Token = "0x17001A71")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A8DD")]
|
||||
[Address(RVA = "0x7E5990", Offset = "0x7E4990", VA = "0x1807E5990", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return SecP256R1FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A8DE RID: 43230 RVA: 0x00246E30 File Offset: 0x00245030
|
||||
[Token(Token = "0x600A8DE")]
|
||||
[Address(RVA = "0x7E4CF0", Offset = "0x7E3CF0", VA = "0x1807E4CF0", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP256R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP256R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8DF RID: 43231 RVA: 0x00246E78 File Offset: 0x00245078
|
||||
[Token(Token = "0x600A8DF")]
|
||||
[Address(RVA = "0x7E4C60", Offset = "0x7E3C60", VA = "0x1807E4C60", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8DF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1FieldElement::AddOne()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
call:void(SecP256R1Field::AddOne, ldfld:uint32[](SecP256R1FieldElement::x, ldloc:SecP256R1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP256R1FieldElement::x, newobj:SecP256R1FieldElement(SecP256R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A8E0 RID: 43232 RVA: 0x00246EA4 File Offset: 0x002450A4
|
||||
[Token(Token = "0x600A8E0")]
|
||||
[Address(RVA = "0x7E56C0", Offset = "0x7E46C0", VA = "0x1807E56C0", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP256R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP256R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8E1 RID: 43233 RVA: 0x00246EEC File Offset: 0x002450EC
|
||||
[Token(Token = "0x600A8E1")]
|
||||
[Address(RVA = "0x7E5260", Offset = "0x7E4260", VA = "0x1807E5260", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP256R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP256R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8E2 RID: 43234 RVA: 0x00246F34 File Offset: 0x00245134
|
||||
[Token(Token = "0x600A8E2")]
|
||||
[Address(RVA = "0x7E4E30", Offset = "0x7E3E30", VA = "0x1807E4E30", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create();
|
||||
uint[] p = SecP256R1Field.P;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP256R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
SecP256R1Field.Multiply(array, array2, array);
|
||||
new SecP256R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8E3 RID: 43235 RVA: 0x00246F8C File Offset: 0x0024518C
|
||||
[Token(Token = "0x600A8E3")]
|
||||
[Address(RVA = "0x7E53A0", Offset = "0x7E43A0", VA = "0x1807E53A0", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8E3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
call:void(SecP256R1Field::Negate, ldfld:uint32[](SecP256R1FieldElement::x, ldloc:SecP256R1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP256R1FieldElement::x, newobj:SecP256R1FieldElement(SecP256R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A8E4 RID: 43236 RVA: 0x00246FB8 File Offset: 0x002451B8
|
||||
[Token(Token = "0x600A8E4")]
|
||||
[Address(RVA = "0x7E5630", Offset = "0x7E4630", VA = "0x1807E5630", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8E4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
call:void(SecP256R1Field::Square, ldfld:uint32[](SecP256R1FieldElement::x, ldloc:SecP256R1FieldElement(this)), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP256R1FieldElement::x, newobj:SecP256R1FieldElement(SecP256R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A8E5 RID: 43237 RVA: 0x00246FE4 File Offset: 0x002451E4
|
||||
[Token(Token = "0x600A8E5")]
|
||||
[Address(RVA = "0x7E5190", Offset = "0x7E4190", VA = "0x1807E5190", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8E5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_1_07, call:uint32[](Nat256::Create))
|
||||
stloc:uint32[](var_2_0E, ldfld:uint32[](SecP256R1FieldElement::x, ldloc:SecP256R1FieldElement(this)))
|
||||
call:void(Mod::Invert, ldsfld:uint32[](SecP256R1Field::P), ldloc:uint32[](var_2_0E), ldloc:uint32[](var_1_07))
|
||||
stfld:uint32[](SecP256R1FieldElement::x, newobj:SecP256R1FieldElement(SecP256R1FieldElement::.ctor), ldloc:uint32[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A8E6 RID: 43238 RVA: 0x00247018 File Offset: 0x00245218
|
||||
[Token(Token = "0x600A8E6")]
|
||||
[Address(RVA = "0x7E5430", Offset = "0x7E4430", VA = "0x1807E5430", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (Nat256.IsZero(array) || Nat256.IsOne(array));
|
||||
uint[] array2 = Nat256.Create();
|
||||
uint[] array3 = Nat256.Create();
|
||||
SecP256R1Field.Square(array, array2);
|
||||
SecP256R1Field.Multiply(array2, array, array2);
|
||||
SecP256R1Field.SquareN(array2, 2, array3);
|
||||
SecP256R1Field.Multiply(array3, array2, array3);
|
||||
SecP256R1Field.SquareN(array3, 4, array2);
|
||||
SecP256R1Field.Multiply(array2, array3, array2);
|
||||
SecP256R1Field.SquareN(array2, 8, array3);
|
||||
SecP256R1Field.Multiply(array3, array2, array3);
|
||||
SecP256R1Field.SquareN(array3, 16, array2);
|
||||
SecP256R1Field.Multiply(array2, array3, array2);
|
||||
SecP256R1Field.SquareN(array2, 32, array2);
|
||||
SecP256R1Field.Multiply(array2, array, array2);
|
||||
SecP256R1Field.SquareN(array2, 96, array2);
|
||||
SecP256R1Field.Multiply(array2, array, array2);
|
||||
SecP256R1Field.SquareN(array2, 94, array2);
|
||||
SecP256R1Field.Multiply(array2, array2, array3);
|
||||
if (Nat256.Eq(array, array3))
|
||||
{
|
||||
new SecP256R1FieldElement().x = array2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A8E7 RID: 43239 RVA: 0x002470F8 File Offset: 0x002452F8
|
||||
[Token(Token = "0x600A8E7")]
|
||||
[Address(RVA = "0x7E4FB0", Offset = "0x7E3FB0", VA = "0x1807E4FB0", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8E7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP256R1FieldElement[exp:ECFieldElement](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: 0x0600A8E8 RID: 43240 RVA: 0x00247114 File Offset: 0x00245314
|
||||
[Token(Token = "0x600A8E8")]
|
||||
[Address(RVA = "0x7E5040", Offset = "0x7E4040", VA = "0x1807E5040", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8E8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP256R1FieldElement[exp:ECFieldElement](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: 0x0600A8E9 RID: 43241 RVA: 0x00247130 File Offset: 0x00245330
|
||||
[Token(Token = "0x600A8E9")]
|
||||
[Address(RVA = "0x6E5860", Offset = "0x6E4860", VA = "0x1806E5860", Slot = "27")]
|
||||
public virtual bool Equals(SecP256R1FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
return Nat256.Eq(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A8EA RID: 43242 RVA: 0x0024715C File Offset: 0x0024535C
|
||||
[Token(Token = "0x600A8EA")]
|
||||
[Address(RVA = "0x7E50D0", Offset = "0x7E40D0", VA = "0x1807E50D0", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
SecP256R1FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 8);
|
||||
}
|
||||
|
||||
// Token: 0x04006D7B RID: 28027
|
||||
[Token(Token = "0x4006D7B")]
|
||||
public static readonly BigInteger Q = SecP256R1Curve.q;
|
||||
|
||||
// Token: 0x04006D7C RID: 28028
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D7C")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+294
@@ -0,0 +1,294 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B42 RID: 6978
|
||||
[Token(Token = "0x2001B42")]
|
||||
internal class SecP256R1Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600A8EC RID: 43244 RVA: 0x002471A4 File Offset: 0x002453A4
|
||||
[Token(Token = "0x600A8EC")]
|
||||
[Address(RVA = "0x7E6880", Offset = "0x7E5880", VA = "0x1807E6880")]
|
||||
public SecP256R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8EC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1B:
|
||||
stloc:ArgumentException(var_3_25, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A8ED RID: 43245 RVA: 0x002471D8 File Offset: 0x002453D8
|
||||
[Token(Token = "0x600A8ED")]
|
||||
[Address(RVA = "0x7E6940", Offset = "0x7E5940", VA = "0x1807E6940")]
|
||||
public SecP256R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8ED)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A8EE RID: 43246 RVA: 0x00247200 File Offset: 0x00245400
|
||||
[Token(Token = "0x600A8EE")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecP256R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A8EF RID: 43247 RVA: 0x00247210 File Offset: 0x00245410
|
||||
[Token(Token = "0x600A8EF")]
|
||||
[Address(RVA = "0x7E60D0", Offset = "0x7E50D0", VA = "0x1807E60D0", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8EF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP256R1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1E:
|
||||
stloc:ArgumentException(var_5_28, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A8F0 RID: 43248 RVA: 0x00247248 File Offset: 0x00245448
|
||||
[Token(Token = "0x600A8F0")]
|
||||
[Address(RVA = "0x7E5A00", Offset = "0x7E4A00", VA = "0x1807E5A00", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this == b)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat256.CreateExt();
|
||||
uint[] array2 = Nat256.Create();
|
||||
uint[] array3 = Nat256.Create();
|
||||
uint[] array4 = Nat256.Create();
|
||||
if (array4 == 0)
|
||||
{
|
||||
SecP256R1Field.Square(array4, array3);
|
||||
SecP256R1Field.Multiply(array3, array3, array2);
|
||||
SecP256R1Field.Multiply(array3, array3, array3);
|
||||
SecP256R1Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
SecP256R1Field.Multiply(array4, array4, array);
|
||||
SecP256R1Field.Multiply(array4, array4, array4);
|
||||
SecP256R1Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat256.Create();
|
||||
SecP256R1Field.Subtract(array, array4, array5);
|
||||
if (!Nat256.IsZero(array5))
|
||||
{
|
||||
SecP256R1Field.Square(array5, array3);
|
||||
uint[] array6 = Nat256.Create();
|
||||
SecP256R1Field.Multiply(array3, array5, array6);
|
||||
SecP256R1Field.Multiply(array3, array, array3);
|
||||
SecP256R1Field.Negate(array6, array6);
|
||||
SecP256R1Field.Reduce32(Nat256.AddBothTo(array3, array3, array6), array6);
|
||||
SecP256R1FieldElement secP256R1FieldElement = new SecP256R1FieldElement();
|
||||
secP256R1FieldElement.x = array4;
|
||||
SecP256R1Field.Square(array2, array4);
|
||||
uint[] x = secP256R1FieldElement.x;
|
||||
SecP256R1Field.Subtract(x, array6, x);
|
||||
SecP256R1FieldElement secP256R1FieldElement2 = new SecP256R1FieldElement();
|
||||
secP256R1FieldElement2.x = array6;
|
||||
uint[] x2 = secP256R1FieldElement.x;
|
||||
SecP256R1Field.Subtract(array3, x2, array6);
|
||||
SecP256R1Field.MultiplyAddToExt(secP256R1FieldElement2.x, array2, array);
|
||||
uint[] x3 = secP256R1FieldElement2.x;
|
||||
SecP256R1Field.Reduce(array, x3);
|
||||
SecP256R1FieldElement secP256R1FieldElement3 = new SecP256R1FieldElement();
|
||||
secP256R1FieldElement3.x = array5;
|
||||
SecP256R1Field.Multiply(array5, array3, array5);
|
||||
uint[] x4 = secP256R1FieldElement3.x;
|
||||
ECFieldElement[] array7 = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600A8F1 RID: 43249 RVA: 0x0024742C File Offset: 0x0024562C
|
||||
[Token(Token = "0x600A8F1")]
|
||||
[Address(RVA = "0x7E62D0", Offset = "0x7E52D0", VA = "0x1807E62D0", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
while (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y != 0)
|
||||
{
|
||||
if (y.IsOne)
|
||||
{
|
||||
break;
|
||||
}
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
uint[] array = Nat256.Create();
|
||||
uint[] array2 = Nat256.Create();
|
||||
uint[] array3 = Nat256.Create();
|
||||
uint[] array4 = Nat256.Create();
|
||||
SecP256R1Field.Square(array3, array4);
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
}
|
||||
SecP256R1Field.Multiply(array2, array, array2);
|
||||
SecP256R1Field.Reduce32(Nat256.AddBothTo(array2, array2, array2), array2);
|
||||
SecP256R1Field.Multiply(array3, array2, array3);
|
||||
int num = 0;
|
||||
SecP256R1Field.Reduce32(Nat.ShiftUpBits(8, array3, 2, (uint)num), array3);
|
||||
int num2 = 0;
|
||||
SecP256R1Field.Reduce32(Nat.ShiftUpBits(8, array4, 3, (uint)num2, array), array);
|
||||
SecP256R1FieldElement secP256R1FieldElement = new SecP256R1FieldElement();
|
||||
secP256R1FieldElement.x = array4;
|
||||
SecP256R1Field.Square(array2, array4);
|
||||
uint[] x2 = secP256R1FieldElement.x;
|
||||
SecP256R1Field.Subtract(x2, array3, x2);
|
||||
uint[] x3 = secP256R1FieldElement.x;
|
||||
SecP256R1Field.Subtract(x3, array3, x3);
|
||||
SecP256R1FieldElement secP256R1FieldElement2 = new SecP256R1FieldElement();
|
||||
secP256R1FieldElement2.x = array3;
|
||||
uint[] x4 = secP256R1FieldElement.x;
|
||||
SecP256R1Field.Subtract(array3, x4, array3);
|
||||
uint[] x5 = secP256R1FieldElement2.x;
|
||||
SecP256R1Field.Multiply(x5, array2, x5);
|
||||
uint[] x6 = secP256R1FieldElement2.x;
|
||||
SecP256R1Field.Subtract(x6, array, x6);
|
||||
SecP256R1FieldElement secP256R1FieldElement3 = new SecP256R1FieldElement();
|
||||
secP256R1FieldElement3.x = array2;
|
||||
uint[] x7 = secP256R1FieldElement3.x;
|
||||
(new ECFieldElement[1])[0] = secP256R1FieldElement3;
|
||||
bool withCompression = this.m_withCompression;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8F2 RID: 43250 RVA: 0x002475E8 File Offset: 0x002457E8
|
||||
[Token(Token = "0x600A8F2")]
|
||||
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag3 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8F3 RID: 43251 RVA: 0x00247638 File Offset: 0x00245838
|
||||
[Token(Token = "0x600A8F3")]
|
||||
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8F4 RID: 43252 RVA: 0x00247668 File Offset: 0x00245868
|
||||
[Token(Token = "0x600A8F4")]
|
||||
[Address(RVA = "0x7E61D0", Offset = "0x7E51D0", VA = "0x1807E61D0", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+327
@@ -0,0 +1,327 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B43 RID: 6979
|
||||
[Token(Token = "0x2001B43")]
|
||||
internal class SecP384R1Curve : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600A8F5 RID: 43253 RVA: 0x002476A0 File Offset: 0x002458A0
|
||||
[Token(Token = "0x600A8F5")]
|
||||
[Address(RVA = "0x7E6EF0", Offset = "0x7E5EF0", VA = "0x1807E6EF0")]
|
||||
public SecP384R1Curve()
|
||||
{
|
||||
BigInteger bigInteger = SecP384R1Curve.q;
|
||||
base..ctor(bigInteger);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
SecP384R1Point secP384R1Point = new SecP384R1Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = secP384R1Point;
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973");
|
||||
BigInteger bigInteger4 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger4;
|
||||
BigInteger one = BigInteger.One;
|
||||
this.m_cofactor = one;
|
||||
this.m_coord = (int)((ulong)2L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A8F6 RID: 43254 RVA: 0x00247754 File Offset: 0x00245954
|
||||
[Token(Token = "0x600A8F6")]
|
||||
[Address(RVA = "0x7E6A00", Offset = "0x7E5A00", VA = "0x1807E6A00", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8F6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP384R1Curve(var_0_05, newobj:SecP384R1Curve(SecP384R1Curve::.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: 0x0600A8F7 RID: 43255 RVA: 0x00247768 File Offset: 0x00245968
|
||||
[Token(Token = "0x600A8F7")]
|
||||
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 2;
|
||||
}
|
||||
|
||||
// Token: 0x17001A72 RID: 6770
|
||||
// (get) Token: 0x0600A8F8 RID: 43256 RVA: 0x0024777C File Offset: 0x0024597C
|
||||
[Token(Token = "0x17001A72")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600A8F8")]
|
||||
[Address(RVA = "0x7E7140", Offset = "0x7E6140", VA = "0x1807E7140", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return SecP384R1Curve.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A73 RID: 6771
|
||||
// (get) Token: 0x0600A8F9 RID: 43257 RVA: 0x00247790 File Offset: 0x00245990
|
||||
[Token(Token = "0x17001A73")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A8F9")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8F9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP384R1Point(var_0_06, ldfld:SecP384R1Point(SecP384R1Curve::m_infinity, ldloc:SecP384R1Curve(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: 0x17001A74 RID: 6772
|
||||
// (get) Token: 0x0600A8FA RID: 43258 RVA: 0x002477A4 File Offset: 0x002459A4
|
||||
[Token(Token = "0x17001A74")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A8FA")]
|
||||
[Address(RVA = "0x7E70D0", Offset = "0x7E60D0", VA = "0x1807E70D0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return SecP384R1Curve.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A8FB RID: 43259 RVA: 0x002477C4 File Offset: 0x002459C4
|
||||
[Token(Token = "0x600A8FB")]
|
||||
[Address(RVA = "0x7E6DF0", Offset = "0x7E5DF0", VA = "0x1807E6DF0", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8FB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP384R1FieldElement(var_0_06, newobj:SecP384R1FieldElement(SecP384R1FieldElement::.ctor, 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: 0x0600A8FC RID: 43260 RVA: 0x002477D8 File Offset: 0x002459D8
|
||||
[Token(Token = "0x600A8FC")]
|
||||
[Address(RVA = "0x7E6D60", Offset = "0x7E5D60", VA = "0x1807E6D60", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A8FC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1Curve::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:SecP384R1Point(var_0_09, newobj:SecP384R1Point(SecP384R1Point::.ctor, ldloc:SecP384R1Curve[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: 0x0600A8FD RID: 43261 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A8FD")]
|
||||
[Address(RVA = "0x7E6CC0", Offset = "0x7E5CC0", VA = "0x1807E6CC0", 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: 0x0600A8FE RID: 43262 RVA: 0x002477F0 File Offset: 0x002459F0
|
||||
[Token(Token = "0x600A8FE")]
|
||||
[Address(RVA = "0x7E6A50", Offset = "0x7E5A50", VA = "0x1807E6A50", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_52;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
num += 12;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
int num2 = 0;
|
||||
num += 12;
|
||||
IL_52:
|
||||
int num3 = 0;
|
||||
SecP384R1Curve.SecP384R1LookupTable secP384R1LookupTable;
|
||||
secP384R1LookupTable.FieldGetter(num3, num2, array);
|
||||
secP384R1LookupTable.m_outer = 0;
|
||||
secP384R1LookupTable.m_table = array;
|
||||
secP384R1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A8FF RID: 43263 RVA: 0x0024787C File Offset: 0x00245A7C
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A8FF")]
|
||||
[Address(RVA = "0x7E6E50", Offset = "0x7E5E50", VA = "0x1807E6E50")]
|
||||
static SecP384R1Curve()
|
||||
{
|
||||
byte[] array = Hex.Decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF");
|
||||
SecP384R1Curve.q = new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x04006D7D RID: 28029
|
||||
[Token(Token = "0x4006D7D")]
|
||||
public static readonly BigInteger q;
|
||||
|
||||
// Token: 0x04006D7E RID: 28030
|
||||
[Token(Token = "0x4006D7E")]
|
||||
private const int SECP384R1_DEFAULT_COORDS = 2;
|
||||
|
||||
// Token: 0x04006D7F RID: 28031
|
||||
[Token(Token = "0x4006D7F")]
|
||||
private const int SECP384R1_FE_INTS = 12;
|
||||
|
||||
// Token: 0x04006D80 RID: 28032
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006D80")]
|
||||
protected readonly SecP384R1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B44 RID: 6980
|
||||
[Token(Token = "0x2001B44")]
|
||||
private class SecP384R1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A900 RID: 43264 RVA: 0x002478A0 File Offset: 0x00245AA0
|
||||
[Token(Token = "0x600A900")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecP384R1LookupTable(SecP384R1Curve outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001A75 RID: 6773
|
||||
// (get) Token: 0x0600A901 RID: 43265 RVA: 0x002478C8 File Offset: 0x00245AC8
|
||||
[Token(Token = "0x17001A75")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A901")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A902 RID: 43266 RVA: 0x002478DC File Offset: 0x00245ADC
|
||||
[Token(Token = "0x600A902")]
|
||||
[Address(RVA = "0x7E98B0", Offset = "0x7E88B0", VA = "0x1807E98B0", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat.Create(12);
|
||||
uint[] array2 = Nat.Create(12);
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 24;
|
||||
num2++;
|
||||
}
|
||||
SecP384R1Curve outer = this.m_outer;
|
||||
new SecP384R1FieldElement().x = array;
|
||||
new SecP384R1FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D81 RID: 28033
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D81")]
|
||||
private readonly SecP384R1Curve m_outer;
|
||||
|
||||
// Token: 0x04006D82 RID: 28034
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D82")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006D83 RID: 28035
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D83")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+486
@@ -0,0 +1,486 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B45 RID: 6981
|
||||
[Token(Token = "0x2001B45")]
|
||||
internal class SecP384R1Field
|
||||
{
|
||||
// Token: 0x0600A903 RID: 43267 RVA: 0x00247954 File Offset: 0x00245B54
|
||||
[Token(Token = "0x600A903")]
|
||||
[Address(RVA = "0x7E8640", Offset = "0x7E7640", VA = "0x1807E8640")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
if (Nat.Add(12, x, y, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP384R1Field.P;
|
||||
if (!Nat.Gte(12, z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP384R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A904 RID: 43268 RVA: 0x00247998 File Offset: 0x00245B98
|
||||
[Token(Token = "0x600A904")]
|
||||
[Address(RVA = "0x7E82C0", Offset = "0x7E72C0", VA = "0x1807E82C0")]
|
||||
public static void AddExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Add(24, xx, yy, zz) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field zz->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] pext = SecP384R1Field.PExt;
|
||||
if (!Nat.Gte(24, zz, pext))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP384R1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, zz) != (uint)0)
|
||||
{
|
||||
int length = SecP384R1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(24, zz, length);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A905 RID: 43269 RVA: 0x00247A04 File Offset: 0x00245C04
|
||||
[Token(Token = "0x600A905")]
|
||||
[Address(RVA = "0x7E8440", Offset = "0x7E7440", VA = "0x1807E8440")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
if (Nat.Inc(12, x, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP384R1Field.P;
|
||||
if (!Nat.Gte(12, z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP384R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A906 RID: 43270 RVA: 0x00247A48 File Offset: 0x00245C48
|
||||
[Token(Token = "0x600A906")]
|
||||
[Address(RVA = "0x7E8740", Offset = "0x7E7740", VA = "0x1807E8740")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat.FromBigInteger(384, x);
|
||||
if ("{il2cpp array field local2->}" == (ulong)(-1L))
|
||||
{
|
||||
uint[] p = SecP384R1Field.P;
|
||||
if (Nat.Gte(12, array, p))
|
||||
{
|
||||
uint[] p2 = SecP384R1Field.P;
|
||||
int num = Nat.SubFrom(12, p2, array);
|
||||
}
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A907 RID: 43271 RVA: 0x00247A94 File Offset: 0x00245C94
|
||||
[Token(Token = "0x600A907")]
|
||||
[Address(RVA = "0x7E8840", Offset = "0x7E7840", VA = "0x1807E8840")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
if ("{il2cpp array field x->}" != (ulong)1L)
|
||||
{
|
||||
uint[] p = SecP384R1Field.P;
|
||||
uint num = Nat.Add(12, x, p, z);
|
||||
uint num2 = Nat.ShiftDownBit(12, z, num);
|
||||
return;
|
||||
}
|
||||
int num3 = 0;
|
||||
uint num4 = Nat.ShiftDownBit(12, x, (uint)num3, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A908 RID: 43272 RVA: 0x00247AE0 File Offset: 0x00245CE0
|
||||
[Token(Token = "0x600A908")]
|
||||
[Address(RVA = "0x7E8930", Offset = "0x7E7930", VA = "0x1807E8930")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat.Create(24);
|
||||
Nat384.Mul(x, y, array);
|
||||
SecP384R1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A909 RID: 43273 RVA: 0x00247B04 File Offset: 0x00245D04
|
||||
[Token(Token = "0x600A909")]
|
||||
[Address(RVA = "0x7E89D0", Offset = "0x7E79D0", VA = "0x1807E89D0")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat.IsZero(12, x))
|
||||
{
|
||||
uint[] p = SecP384R1Field.P;
|
||||
int num = Nat.Sub(12, p, x, z);
|
||||
return;
|
||||
}
|
||||
Nat.Zero(12, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A90A RID: 43274 RVA: 0x00247B38 File Offset: 0x00245D38
|
||||
[Token(Token = "0x600A90A")]
|
||||
[Address(RVA = "0x7E8C50", Offset = "0x7E7C50", VA = "0x1807E8C50")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
int length = xx.Length;
|
||||
uint num = xx[8];
|
||||
uint num2 = xx[8];
|
||||
uint num3 = xx[9];
|
||||
uint num4 = xx[9];
|
||||
uint num5 = xx[10];
|
||||
uint num6 = xx[10];
|
||||
uint num7 = xx[11];
|
||||
uint num8 = xx[11];
|
||||
uint num9 = xx[6];
|
||||
uint num10 = xx[7];
|
||||
uint num11 = xx[6];
|
||||
num9 += num5;
|
||||
uint num12 = xx[7];
|
||||
num10 += num8;
|
||||
num11 += num7;
|
||||
num10 += num7;
|
||||
num12 += num8;
|
||||
num6 -= num8;
|
||||
num7 -= num8;
|
||||
num6 += num9;
|
||||
uint num13 = xx[0];
|
||||
num13 += num6;
|
||||
z[0] = num13;
|
||||
uint num14 = xx[0];
|
||||
num14 += num13;
|
||||
num14 += num11;
|
||||
num14 += num8;
|
||||
z[0] = num14;
|
||||
uint num15 = xx[1];
|
||||
num15 += num14;
|
||||
num15 -= num11;
|
||||
num15 -= num6;
|
||||
num15 += num10;
|
||||
z[1] = num15;
|
||||
uint num16 = xx[1];
|
||||
num16 += num15;
|
||||
num16 -= num10;
|
||||
num16 += num6;
|
||||
num16 += num12;
|
||||
z[1] = num16;
|
||||
uint num17 = xx[2];
|
||||
num17 += num16;
|
||||
num17 -= num12;
|
||||
num17 += num6;
|
||||
num17 += num11;
|
||||
num17 += num6;
|
||||
num17 += num;
|
||||
z[2] = num17;
|
||||
uint num18 = xx[2];
|
||||
num18 += num17;
|
||||
num18 -= num;
|
||||
num18 += num10;
|
||||
num18 += num11;
|
||||
z[2] = num18;
|
||||
uint num19 = xx[3];
|
||||
num19 += num18;
|
||||
num19 -= num2;
|
||||
num19 += num12;
|
||||
num19 += num10;
|
||||
num19 += num3;
|
||||
z[3] = num19;
|
||||
uint num20 = xx[3];
|
||||
num20 += num19;
|
||||
num20 -= num3;
|
||||
num20 += num12;
|
||||
num20 += num4;
|
||||
num20 += num;
|
||||
z[3] = num20;
|
||||
uint num21 = xx[4];
|
||||
num21 += num20;
|
||||
num21 -= num4;
|
||||
num21 += num5;
|
||||
num21 += num2;
|
||||
num21 += num;
|
||||
z[4] = num21;
|
||||
uint num22 = xx[4];
|
||||
num22 += num21;
|
||||
num22 -= num5;
|
||||
num22 += num3;
|
||||
z[4] = num22;
|
||||
uint num23 = xx[5];
|
||||
num23 += num22;
|
||||
num23 += num7;
|
||||
num23 += num4;
|
||||
num23 += num3;
|
||||
z[5] = num23;
|
||||
uint num24 = xx[5];
|
||||
num24 += num23;
|
||||
num24 -= num7;
|
||||
num24 += num5;
|
||||
num24 += num4;
|
||||
z[5] = num24;
|
||||
SecP384R1Field.Reduce32(num24 + 1U, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A90B RID: 43275 RVA: 0x00247E24 File Offset: 0x00246024
|
||||
[Token(Token = "0x600A90B")]
|
||||
[Address(RVA = "0x7E8A80", Offset = "0x7E7A80", VA = "0x1807E8A80")]
|
||||
public static void Reduce32(uint x, uint[] z)
|
||||
{
|
||||
if (x != (uint)0)
|
||||
{
|
||||
uint num = z[0];
|
||||
num += x;
|
||||
z[0] = num;
|
||||
uint num2 = z[0];
|
||||
num += num2;
|
||||
num -= x;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num3 = z[1];
|
||||
num += num3;
|
||||
z[1] = num;
|
||||
}
|
||||
uint num4 = z[1];
|
||||
num4 += x;
|
||||
num += num4;
|
||||
z[1] = num;
|
||||
uint num5 = z[2];
|
||||
num5 += num4;
|
||||
z[2] = num5;
|
||||
if (num5 != (uint)0 && Nat.IncAt(12, z, 5) != (uint)0)
|
||||
{
|
||||
goto IL_AE;
|
||||
}
|
||||
}
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP384R1Field.P;
|
||||
if (!Nat.Gte(12, z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
IL_AE:
|
||||
SecP384R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A90C RID: 43276 RVA: 0x00247EEC File Offset: 0x002460EC
|
||||
[Token(Token = "0x600A90C")]
|
||||
[Address(RVA = "0x7E92A0", Offset = "0x7E82A0", VA = "0x1807E92A0")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat.Create(24);
|
||||
Nat384.Square(x, array);
|
||||
SecP384R1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A90D RID: 43277 RVA: 0x00247F10 File Offset: 0x00246110
|
||||
[Token(Token = "0x600A90D")]
|
||||
[Address(RVA = "0x7E91B0", Offset = "0x7E81B0", VA = "0x1807E91B0")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat.Create(24);
|
||||
Nat384.Square(x, array);
|
||||
SecP384R1Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
Nat384.Square(z, array);
|
||||
SecP384R1Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A90E RID: 43278 RVA: 0x00247F48 File Offset: 0x00246148
|
||||
[Token(Token = "0x600A90E")]
|
||||
[Address(RVA = "0x7E9550", Offset = "0x7E8550", VA = "0x1807E9550")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint num;
|
||||
if (Nat.Sub((int)num, x, y, z) != 0)
|
||||
{
|
||||
uint num2 = z[0];
|
||||
z[0] = num2;
|
||||
uint num3 = z[0];
|
||||
num3 += (uint)1;
|
||||
num2 += num3;
|
||||
z[0] = num2;
|
||||
if (num2 != (uint)0)
|
||||
{
|
||||
uint num4 = z[1];
|
||||
num2 += num4;
|
||||
z[1] = num2;
|
||||
}
|
||||
uint num5 = z[1];
|
||||
num5 += num2;
|
||||
z[1] = num5;
|
||||
uint num6 = z[2];
|
||||
num5 += num6;
|
||||
z[2] = num5;
|
||||
ulong num7;
|
||||
if (num7 != (ulong)num5)
|
||||
{
|
||||
int num8 = Nat.DecAt(12, z, 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A90F RID: 43279 RVA: 0x00247FF0 File Offset: 0x002461F0
|
||||
[Token(Token = "0x600A90F")]
|
||||
[Address(RVA = "0x7E9440", Offset = "0x7E8440", VA = "0x1807E9440")]
|
||||
public static void SubtractExt(uint[] xx, uint[] yy, uint[] zz)
|
||||
{
|
||||
if (Nat.Sub(24, xx, yy, zz) != 0)
|
||||
{
|
||||
uint[] pextInv = SecP384R1Field.PExtInv;
|
||||
if (Nat.SubFrom(pextInv.Length, pextInv, zz) != 0)
|
||||
{
|
||||
int length = SecP384R1Field.PExtInv.Length;
|
||||
int num = Nat.DecAt(24, zz, length);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A910 RID: 43280 RVA: 0x0024803C File Offset: 0x0024623C
|
||||
[Token(Token = "0x600A910")]
|
||||
[Address(RVA = "0x7E96E0", Offset = "0x7E86E0", VA = "0x1807E96E0")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
int num = 0;
|
||||
if (Nat.ShiftUpBit(12, x, (uint)num, z) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field z->}" != (ulong)(-1L))
|
||||
{
|
||||
return;
|
||||
}
|
||||
uint[] p = SecP384R1Field.P;
|
||||
if (!Nat.Gte(12, z, p))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
SecP384R1Field.AddPInvTo(z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A911 RID: 43281 RVA: 0x00248084 File Offset: 0x00246284
|
||||
[Token(Token = "0x600A911")]
|
||||
[Address(RVA = "0x7E8530", Offset = "0x7E7530", VA = "0x1807E8530")]
|
||||
private static void AddPInvTo(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
uint num2 = num + 1U;
|
||||
z[0] = num2;
|
||||
uint num3 = z[0];
|
||||
num += (uint)1;
|
||||
num3 += num;
|
||||
z[0] = num3;
|
||||
if (num3 != (uint)0)
|
||||
{
|
||||
uint num4 = z[1];
|
||||
num3 += num4;
|
||||
z[1] = num3;
|
||||
}
|
||||
uint num5 = z[1];
|
||||
num5 += (uint)1;
|
||||
num5 += num3;
|
||||
z[1] = num5;
|
||||
uint num6 = z[2];
|
||||
num6 += (uint)1;
|
||||
num5 += num6;
|
||||
z[2] = num5;
|
||||
ulong num7;
|
||||
if (num7 != (ulong)num5)
|
||||
{
|
||||
uint num8 = Nat.IncAt(12, z, 5);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A912 RID: 43282 RVA: 0x00248130 File Offset: 0x00246330
|
||||
[Token(Token = "0x600A912")]
|
||||
[Address(RVA = "0x7E9330", Offset = "0x7E8330", VA = "0x1807E9330")]
|
||||
private static void SubPInvFrom(uint[] z)
|
||||
{
|
||||
uint num = z[0];
|
||||
z[0] = num;
|
||||
uint num2 = z[0];
|
||||
num2 += (uint)1;
|
||||
num += num2;
|
||||
z[0] = num;
|
||||
if (num != (uint)0)
|
||||
{
|
||||
uint num3 = z[1];
|
||||
num += num3;
|
||||
z[1] = num;
|
||||
}
|
||||
uint num4 = z[1];
|
||||
num4 += num;
|
||||
z[1] = num4;
|
||||
uint num5 = z[2];
|
||||
num5 += num4;
|
||||
z[2] = num5;
|
||||
ulong num6;
|
||||
if (num6 != (ulong)num5)
|
||||
{
|
||||
int num7 = Nat.DecAt(12, z, 5);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A913 RID: 43283 RVA: 0x002481C4 File Offset: 0x002463C4
|
||||
[Token(Token = "0x600A913")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecP384R1Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A914 RID: 43284 RVA: 0x002481D8 File Offset: 0x002463D8
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A914")]
|
||||
[Address(RVA = "0x7E97E0", Offset = "0x7E87E0", VA = "0x1807E97E0")]
|
||||
static SecP384R1Field()
|
||||
{
|
||||
uint[] array = new uint[12];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.095B351FE2104237B032546280C98C9804D331C5).FieldHandle);
|
||||
SecP384R1Field.P = array;
|
||||
uint[] array2 = new uint[24];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.CE39574ADC95015A9B5E0475EB65EE8F32353FD4).FieldHandle);
|
||||
SecP384R1Field.PExt = array2;
|
||||
uint[] array3 = new uint[17];
|
||||
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.EF2680899DD1FCA444AE6B8B3B0CC6C7DD40894B).FieldHandle);
|
||||
SecP384R1Field.PExtInv = array3;
|
||||
}
|
||||
|
||||
// Token: 0x04006D84 RID: 28036
|
||||
[Token(Token = "0x4006D84")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04006D85 RID: 28037
|
||||
[Token(Token = "0x4006D85")]
|
||||
internal static readonly uint[] PExt;
|
||||
|
||||
// Token: 0x04006D86 RID: 28038
|
||||
[Token(Token = "0x4006D86")]
|
||||
private static readonly uint[] PExtInv;
|
||||
|
||||
// Token: 0x04006D87 RID: 28039
|
||||
[Token(Token = "0x4006D87")]
|
||||
private const uint P11 = 4294967295U;
|
||||
|
||||
// Token: 0x04006D88 RID: 28040
|
||||
[Token(Token = "0x4006D88")]
|
||||
private const uint PExt23 = 4294967295U;
|
||||
}
|
||||
}
|
||||
+458
@@ -0,0 +1,458 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B46 RID: 6982
|
||||
[Token(Token = "0x2001B46")]
|
||||
internal class SecP384R1FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x0600A915 RID: 43285 RVA: 0x00248230 File Offset: 0x00246430
|
||||
[Token(Token = "0x600A915")]
|
||||
[Address(RVA = "0x7E8020", Offset = "0x7E7020", VA = "0x1807E8020")]
|
||||
public SecP384R1FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A915)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5B:
|
||||
stloc:ArgumentException(var_6_6A, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP384R1FieldElement"), ldstr:string("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.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: 0x0600A916 RID: 43286 RVA: 0x002482A8 File Offset: 0x002464A8
|
||||
[Token(Token = "0x600A916")]
|
||||
[Address(RVA = "0x7E7FF0", Offset = "0x7E6FF0", VA = "0x1807E7FF0")]
|
||||
public SecP384R1FieldElement()
|
||||
{
|
||||
uint[] array = Nat.Create(12);
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A917 RID: 43287 RVA: 0x002482CC File Offset: 0x002464CC
|
||||
[Token(Token = "0x600A917")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecP384R1FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001A76 RID: 6774
|
||||
// (get) Token: 0x0600A918 RID: 43288 RVA: 0x002482E8 File Offset: 0x002464E8
|
||||
[Token(Token = "0x17001A76")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600A918")]
|
||||
[Address(RVA = "0x7E82B0", Offset = "0x7E72B0", VA = "0x1807E82B0", Slot = "18")]
|
||||
get
|
||||
{
|
||||
uint[] array = this.x;
|
||||
return Nat.IsZero(12, array);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A77 RID: 6775
|
||||
// (get) Token: 0x0600A919 RID: 43289 RVA: 0x00248304 File Offset: 0x00246504
|
||||
[Token(Token = "0x17001A77")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600A919")]
|
||||
[Address(RVA = "0x7E82A0", Offset = "0x7E72A0", VA = "0x1807E82A0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
uint[] array = this.x;
|
||||
return Nat.IsOne(12, array);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A91A RID: 43290 RVA: 0x00248320 File Offset: 0x00246520
|
||||
[Token(Token = "0x600A91A")]
|
||||
[Address(RVA = "0x7E7F50", Offset = "0x7E6F50", VA = "0x1807E7F50", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A91B RID: 43291 RVA: 0x00248344 File Offset: 0x00246544
|
||||
[Token(Token = "0x600A91B")]
|
||||
[Address(RVA = "0x7E7F70", Offset = "0x7E6F70", VA = "0x1807E7F70", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
return Nat.ToBigInteger(12, array);
|
||||
}
|
||||
|
||||
// Token: 0x17001A78 RID: 6776
|
||||
// (get) Token: 0x0600A91C RID: 43292 RVA: 0x00248360 File Offset: 0x00246560
|
||||
[Token(Token = "0x17001A78")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600A91C")]
|
||||
[Address(RVA = "0x7E8200", Offset = "0x7E7200", VA = "0x1807E8200", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecP384R1Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A79 RID: 6777
|
||||
// (get) Token: 0x0600A91D RID: 43293 RVA: 0x00248374 File Offset: 0x00246574
|
||||
[Token(Token = "0x17001A79")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A91D")]
|
||||
[Address(RVA = "0x7E8230", Offset = "0x7E7230", VA = "0x1807E8230", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return SecP384R1FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A91E RID: 43294 RVA: 0x00248394 File Offset: 0x00246594
|
||||
[Token(Token = "0x600A91E")]
|
||||
[Address(RVA = "0x7E72F0", Offset = "0x7E62F0", VA = "0x1807E72F0", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat.Create(12);
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP384R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP384R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A91F RID: 43295 RVA: 0x002483D8 File Offset: 0x002465D8
|
||||
[Token(Token = "0x600A91F")]
|
||||
[Address(RVA = "0x7E71A0", Offset = "0x7E61A0", VA = "0x1807E71A0", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
uint[] array = Nat.Create(12);
|
||||
uint[] array2 = this.x;
|
||||
if (Nat.Inc(12, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local2->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_3E;
|
||||
}
|
||||
uint[] p = SecP384R1Field.P;
|
||||
if (!Nat.Gte(12, array, p))
|
||||
{
|
||||
goto IL_3E;
|
||||
}
|
||||
}
|
||||
SecP384R1Field.AddPInvTo(array);
|
||||
IL_3E:
|
||||
new SecP384R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A920 RID: 43296 RVA: 0x00248434 File Offset: 0x00246634
|
||||
[Token(Token = "0x600A920")]
|
||||
[Address(RVA = "0x7E7E10", Offset = "0x7E6E10", VA = "0x1807E7E10", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat.Create(12);
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP384R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP384R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A921 RID: 43297 RVA: 0x00248478 File Offset: 0x00246678
|
||||
[Token(Token = "0x600A921")]
|
||||
[Address(RVA = "0x7E78A0", Offset = "0x7E68A0", VA = "0x1807E78A0", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat.Create(12);
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP384R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP384R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A922 RID: 43298 RVA: 0x002484BC File Offset: 0x002466BC
|
||||
[Token(Token = "0x600A922")]
|
||||
[Address(RVA = "0x7E7430", Offset = "0x7E6430", VA = "0x1807E7430", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat.Create(12);
|
||||
uint[] p = SecP384R1Field.P;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP384R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
SecP384R1Field.Multiply(array, array2, array);
|
||||
new SecP384R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A923 RID: 43299 RVA: 0x00248510 File Offset: 0x00246710
|
||||
[Token(Token = "0x600A923")]
|
||||
[Address(RVA = "0x7E79E0", Offset = "0x7E69E0", VA = "0x1807E79E0", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A923)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_0_07, call:uint32[](Nat::Create, ldc.i4:int32(12)))
|
||||
call:void(SecP384R1Field::Negate, ldfld:uint32[](SecP384R1FieldElement::x, ldloc:SecP384R1FieldElement(this)), ldloc:uint32[](var_0_07))
|
||||
stfld:uint32[](SecP384R1FieldElement::x, newobj:SecP384R1FieldElement(SecP384R1FieldElement::.ctor), ldloc:uint32[](var_0_07))
|
||||
}
|
||||
|
||||
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: 0x0600A924 RID: 43300 RVA: 0x0024853C File Offset: 0x0024673C
|
||||
[Token(Token = "0x600A924")]
|
||||
[Address(RVA = "0x7E7D80", Offset = "0x7E6D80", VA = "0x1807E7D80", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A924)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_0_07, call:uint32[](Nat::Create, ldc.i4:int32(12)))
|
||||
call:void(SecP384R1Field::Square, ldfld:uint32[](SecP384R1FieldElement::x, ldloc:SecP384R1FieldElement(this)), ldloc:uint32[](var_0_07))
|
||||
stfld:uint32[](SecP384R1FieldElement::x, newobj:SecP384R1FieldElement(SecP384R1FieldElement::.ctor), ldloc:uint32[](var_0_07))
|
||||
}
|
||||
|
||||
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: 0x0600A925 RID: 43301 RVA: 0x00248568 File Offset: 0x00246768
|
||||
[Token(Token = "0x600A925")]
|
||||
[Address(RVA = "0x7E77D0", Offset = "0x7E67D0", VA = "0x1807E77D0", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A925)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_0_07, call:uint32[](Nat::Create, ldc.i4:int32(12)))
|
||||
stloc:uint32[](var_1_0E, ldfld:uint32[](SecP384R1FieldElement::x, ldloc:SecP384R1FieldElement(this)))
|
||||
call:void(Mod::Invert, ldsfld:uint32[](SecP384R1Field::P), ldloc:uint32[](var_1_0E), ldloc:uint32[](var_0_07))
|
||||
stfld:uint32[](SecP384R1FieldElement::x, newobj:SecP384R1FieldElement(SecP384R1FieldElement::.ctor), ldloc:uint32[](var_0_07))
|
||||
}
|
||||
|
||||
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: 0x0600A926 RID: 43302 RVA: 0x0024859C File Offset: 0x0024679C
|
||||
[Token(Token = "0x600A926")]
|
||||
[Address(RVA = "0x7E7A70", Offset = "0x7E6A70", VA = "0x1807E7A70", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (Nat.IsZero(12, array) || Nat.IsOne(12, array));
|
||||
uint[] array2 = Nat.Create(12);
|
||||
uint[] array3 = Nat.Create(12);
|
||||
uint[] array4 = Nat.Create(12);
|
||||
uint[] array5 = Nat.Create(12);
|
||||
SecP384R1Field.Square(array, array2);
|
||||
SecP384R1Field.Multiply(array2, array, array2);
|
||||
SecP384R1Field.SquareN(array2, 2, array3);
|
||||
SecP384R1Field.Multiply(array3, array2, array3);
|
||||
SecP384R1Field.Square(array3, array3);
|
||||
SecP384R1Field.Multiply(array3, array, array3);
|
||||
SecP384R1Field.SquareN(array3, 5, array4);
|
||||
SecP384R1Field.Multiply(array4, array3, array4);
|
||||
SecP384R1Field.SquareN(array4, 5, array5);
|
||||
SecP384R1Field.Multiply(array5, array3, array5);
|
||||
SecP384R1Field.SquareN(array5, 15, array3);
|
||||
SecP384R1Field.Multiply(array3, array5, array3);
|
||||
SecP384R1Field.SquareN(array3, 2, array4);
|
||||
SecP384R1Field.Multiply(array2, array4, array2);
|
||||
SecP384R1Field.SquareN(array4, 28, array4);
|
||||
SecP384R1Field.Multiply(array3, array4, array3);
|
||||
SecP384R1Field.SquareN(array3, 60, array4);
|
||||
SecP384R1Field.Multiply(array4, array3, array4);
|
||||
SecP384R1Field.SquareN(array4, 120, array3);
|
||||
SecP384R1Field.Multiply(array3, array4, array3);
|
||||
SecP384R1Field.SquareN(array3, 15, array3);
|
||||
SecP384R1Field.Multiply(array3, array5, array3);
|
||||
SecP384R1Field.SquareN(array3, 33, array3);
|
||||
SecP384R1Field.Multiply(array3, array2, array3);
|
||||
SecP384R1Field.SquareN(array3, 64, array3);
|
||||
SecP384R1Field.Multiply(array3, array, array3);
|
||||
SecP384R1Field.SquareN(array3, 30, array2);
|
||||
SecP384R1Field.Square(array2, array3);
|
||||
if (Nat.Eq(12, array, array3))
|
||||
{
|
||||
new SecP384R1FieldElement().x = array2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A927 RID: 43303 RVA: 0x002486EC File Offset: 0x002468EC
|
||||
[Token(Token = "0x600A927")]
|
||||
[Address(RVA = "0x7E75C0", Offset = "0x7E65C0", VA = "0x1807E75C0", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A927)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP384R1FieldElement[exp:ECFieldElement](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: 0x0600A928 RID: 43304 RVA: 0x00248708 File Offset: 0x00246908
|
||||
[Token(Token = "0x600A928")]
|
||||
[Address(RVA = "0x7E7650", Offset = "0x7E6650", VA = "0x1807E7650", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A928)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP384R1FieldElement[exp:ECFieldElement](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: 0x0600A929 RID: 43305 RVA: 0x00248724 File Offset: 0x00246924
|
||||
[Token(Token = "0x600A929")]
|
||||
[Address(RVA = "0x7E76E0", Offset = "0x7E66E0", VA = "0x1807E76E0", Slot = "27")]
|
||||
public virtual bool Equals(SecP384R1FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
uint[] array2 = this.x;
|
||||
return Nat.Eq(12, array2, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A92A RID: 43306 RVA: 0x00248754 File Offset: 0x00246954
|
||||
[Token(Token = "0x600A92A")]
|
||||
[Address(RVA = "0x7E7710", Offset = "0x7E6710", VA = "0x1807E7710", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
SecP384R1FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 12);
|
||||
}
|
||||
|
||||
// Token: 0x04006D89 RID: 28041
|
||||
[Token(Token = "0x4006D89")]
|
||||
public static readonly BigInteger Q = SecP384R1Curve.q;
|
||||
|
||||
// Token: 0x04006D8A RID: 28042
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D8A")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+309
@@ -0,0 +1,309 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B47 RID: 6983
|
||||
[Token(Token = "0x2001B47")]
|
||||
internal class SecP384R1Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600A92C RID: 43308 RVA: 0x0024879C File Offset: 0x0024699C
|
||||
[Token(Token = "0x600A92C")]
|
||||
[Address(RVA = "0x7EABD0", Offset = "0x7E9BD0", VA = "0x1807EABD0")]
|
||||
public SecP384R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A92D RID: 43309 RVA: 0x002487AC File Offset: 0x002469AC
|
||||
[Token(Token = "0x600A92D")]
|
||||
[Address(RVA = "0x7EAB10", Offset = "0x7E9B10", VA = "0x1807EAB10")]
|
||||
public SecP384R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A92D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A92E RID: 43310 RVA: 0x002487D4 File Offset: 0x002469D4
|
||||
[Token(Token = "0x600A92E")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecP384R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A92F RID: 43311 RVA: 0x002487E4 File Offset: 0x002469E4
|
||||
[Token(Token = "0x600A92F")]
|
||||
[Address(RVA = "0x7EA2F0", Offset = "0x7E92F0", VA = "0x1807EA2F0", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A92F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP384R1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP384R1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP384R1Point[exp:ECPoint](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: 0x0600A930 RID: 43312 RVA: 0x00248800 File Offset: 0x00246A00
|
||||
[Token(Token = "0x600A930")]
|
||||
[Address(RVA = "0x7E9A80", Offset = "0x7E8A80", VA = "0x1807E9A80", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this == b)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat.Create(24);
|
||||
uint[] array2 = Nat.Create(24);
|
||||
uint[] array3 = Nat.Create(12);
|
||||
uint[] array4 = Nat.Create(12);
|
||||
if (array4 == 0)
|
||||
{
|
||||
SecP384R1Field.Square(array4, array3);
|
||||
SecP384R1Field.Multiply(array3, array3, array2);
|
||||
SecP384R1Field.Multiply(array3, array3, array3);
|
||||
SecP384R1Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
SecP384R1Field.Square(array2, array4);
|
||||
SecP384R1Field.Multiply(array4, array4, array);
|
||||
SecP384R1Field.Multiply(array4, array4, array4);
|
||||
SecP384R1Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat.Create(12);
|
||||
SecP384R1Field.Subtract(array, array4, array5);
|
||||
uint[] array6 = Nat.Create(12);
|
||||
if (!Nat.IsZero(12, array5))
|
||||
{
|
||||
SecP384R1Field.Square(array5, array3);
|
||||
uint[] array7 = Nat.Create(12);
|
||||
SecP384R1Field.Multiply(array3, array5, array7);
|
||||
SecP384R1Field.Multiply(array3, array, array3);
|
||||
SecP384R1Field.Negate(array7, array7);
|
||||
SecP384R1Field.Reduce32(Nat.AddBothTo(12, array3, array3, array7), array7);
|
||||
SecP384R1FieldElement secP384R1FieldElement = new SecP384R1FieldElement();
|
||||
secP384R1FieldElement.x = array4;
|
||||
SecP384R1Field.Square(array6, array4);
|
||||
uint[] x = secP384R1FieldElement.x;
|
||||
SecP384R1Field.Subtract(x, array7, x);
|
||||
SecP384R1FieldElement secP384R1FieldElement2 = new SecP384R1FieldElement();
|
||||
secP384R1FieldElement2.x = array7;
|
||||
uint[] x2 = secP384R1FieldElement.x;
|
||||
SecP384R1Field.Subtract(array3, x2, array7);
|
||||
Nat384.Mul(secP384R1FieldElement2.x, array6, array2);
|
||||
if (Nat.Add(24, array, array2, array) == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local16->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_1E1;
|
||||
}
|
||||
uint[] pext = SecP384R1Field.PExt;
|
||||
if (!Nat.Gte(24, array, pext))
|
||||
{
|
||||
goto IL_1E1;
|
||||
}
|
||||
}
|
||||
uint[] pextInv = SecP384R1Field.PExtInv;
|
||||
if (Nat.AddTo(pextInv.Length, pextInv, array) != (uint)0)
|
||||
{
|
||||
int length = SecP384R1Field.PExtInv.Length;
|
||||
uint num = Nat.IncAt(24, array, length);
|
||||
}
|
||||
IL_1E1:
|
||||
uint[] x3 = secP384R1FieldElement2.x;
|
||||
SecP384R1Field.Reduce(array, x3);
|
||||
SecP384R1FieldElement secP384R1FieldElement3 = new SecP384R1FieldElement();
|
||||
secP384R1FieldElement3.x = array5;
|
||||
SecP384R1Field.Multiply(array5, array, array5);
|
||||
uint[] x4 = secP384R1FieldElement3.x;
|
||||
ECFieldElement[] array8 = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600A931 RID: 43313 RVA: 0x00248A50 File Offset: 0x00246C50
|
||||
[Token(Token = "0x600A931")]
|
||||
[Address(RVA = "0x7EA490", Offset = "0x7E9490", VA = "0x1807EA490", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
while (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y != 0)
|
||||
{
|
||||
if (y.IsOne)
|
||||
{
|
||||
break;
|
||||
}
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
uint[] array = Nat.Create(12);
|
||||
uint[] array2 = Nat.Create(12);
|
||||
uint[] array3 = Nat.Create(12);
|
||||
uint[] array4 = Nat.Create(12);
|
||||
SecP384R1Field.Square(array3, array4);
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
}
|
||||
SecP384R1Field.Multiply(array2, array, array2);
|
||||
SecP384R1Field.Reduce32(Nat.AddBothTo(12, array2, array2, array2), array2);
|
||||
SecP384R1Field.Multiply(array3, array2, array3);
|
||||
int num = 0;
|
||||
SecP384R1Field.Reduce32(Nat.ShiftUpBits(12, array3, 2, (uint)num), array3);
|
||||
int num2 = 0;
|
||||
SecP384R1Field.Reduce32(Nat.ShiftUpBits(12, array4, 3, (uint)num2, array), array);
|
||||
SecP384R1FieldElement secP384R1FieldElement = new SecP384R1FieldElement();
|
||||
secP384R1FieldElement.x = array4;
|
||||
SecP384R1Field.Square(array2, array4);
|
||||
uint[] x2 = secP384R1FieldElement.x;
|
||||
SecP384R1Field.Subtract(x2, array3, x2);
|
||||
uint[] x3 = secP384R1FieldElement.x;
|
||||
SecP384R1Field.Subtract(x3, array3, x3);
|
||||
SecP384R1FieldElement secP384R1FieldElement2 = new SecP384R1FieldElement();
|
||||
secP384R1FieldElement2.x = array3;
|
||||
uint[] x4 = secP384R1FieldElement.x;
|
||||
SecP384R1Field.Subtract(array3, x4, array3);
|
||||
uint[] x5 = secP384R1FieldElement2.x;
|
||||
SecP384R1Field.Multiply(x5, array2, x5);
|
||||
uint[] x6 = secP384R1FieldElement2.x;
|
||||
SecP384R1Field.Subtract(x6, array, x6);
|
||||
SecP384R1FieldElement secP384R1FieldElement3 = new SecP384R1FieldElement();
|
||||
secP384R1FieldElement3.x = array2;
|
||||
uint num3;
|
||||
if (num3 == (uint)0)
|
||||
{
|
||||
if ("{il2cpp array field local20->}" != (ulong)(-1L))
|
||||
{
|
||||
goto IL_1B7;
|
||||
}
|
||||
uint[] p = SecP384R1Field.P;
|
||||
if (!Nat.Gte(12, array2, p))
|
||||
{
|
||||
goto IL_1B7;
|
||||
}
|
||||
}
|
||||
SecP384R1Field.AddPInvTo(array2);
|
||||
IL_1B7:
|
||||
uint[] x7 = secP384R1FieldElement3.x;
|
||||
(new ECFieldElement[1])[0] = secP384R1FieldElement3;
|
||||
bool withCompression = this.m_withCompression;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A932 RID: 43314 RVA: 0x00248C38 File Offset: 0x00246E38
|
||||
[Token(Token = "0x600A932")]
|
||||
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag3 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A933 RID: 43315 RVA: 0x00248C88 File Offset: 0x00246E88
|
||||
[Token(Token = "0x600A933")]
|
||||
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A934 RID: 43316 RVA: 0x00248CB8 File Offset: 0x00246EB8
|
||||
[Token(Token = "0x600A934")]
|
||||
[Address(RVA = "0x7EA390", Offset = "0x7E9390", VA = "0x1807EA390", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+327
@@ -0,0 +1,327 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B48 RID: 6984
|
||||
[Token(Token = "0x2001B48")]
|
||||
internal class SecP521R1Curve : AbstractFpCurve
|
||||
{
|
||||
// Token: 0x0600A935 RID: 43317 RVA: 0x00248CF0 File Offset: 0x00246EF0
|
||||
[Token(Token = "0x600A935")]
|
||||
[Address(RVA = "0x7EB220", Offset = "0x7EA220", VA = "0x1807EB220")]
|
||||
public SecP521R1Curve()
|
||||
{
|
||||
BigInteger bigInteger = SecP521R1Curve.q;
|
||||
base..ctor(bigInteger);
|
||||
int num;
|
||||
int num2;
|
||||
ulong num3;
|
||||
SecP521R1Point secP521R1Point = new SecP521R1Point(this, num, num2, num3 != 0UL);
|
||||
num2 = 0;
|
||||
num = 0;
|
||||
this.m_infinity = secP521R1Point;
|
||||
byte[] array = Hex.Decode("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("0051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409");
|
||||
BigInteger bigInteger4 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger4;
|
||||
BigInteger one = BigInteger.One;
|
||||
this.m_cofactor = one;
|
||||
this.m_coord = (int)((ulong)2L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A936 RID: 43318 RVA: 0x00248DA4 File Offset: 0x00246FA4
|
||||
[Token(Token = "0x600A936")]
|
||||
[Address(RVA = "0x7EABF0", Offset = "0x7E9BF0", VA = "0x1807EABF0", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A936)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP521R1Curve(var_0_05, newobj:SecP521R1Curve(SecP521R1Curve::.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: 0x0600A937 RID: 43319 RVA: 0x00248DB8 File Offset: 0x00246FB8
|
||||
[Token(Token = "0x600A937")]
|
||||
[Address(RVA = "0x6E9C20", Offset = "0x6E8C20", VA = "0x1806E9C20", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 2;
|
||||
}
|
||||
|
||||
// Token: 0x17001A7A RID: 6778
|
||||
// (get) Token: 0x0600A938 RID: 43320 RVA: 0x00248DCC File Offset: 0x00246FCC
|
||||
[Token(Token = "0x17001A7A")]
|
||||
public virtual BigInteger Q
|
||||
{
|
||||
[Token(Token = "0x600A938")]
|
||||
[Address(RVA = "0x7EB470", Offset = "0x7EA470", VA = "0x1807EB470", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return SecP521R1Curve.q;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A7B RID: 6779
|
||||
// (get) Token: 0x0600A939 RID: 43321 RVA: 0x00248DE0 File Offset: 0x00246FE0
|
||||
[Token(Token = "0x17001A7B")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A939")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A939)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecP521R1Point(var_0_06, ldfld:SecP521R1Point(SecP521R1Curve::m_infinity, ldloc:SecP521R1Curve(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: 0x17001A7C RID: 6780
|
||||
// (get) Token: 0x0600A93A RID: 43322 RVA: 0x00248DF4 File Offset: 0x00246FF4
|
||||
[Token(Token = "0x17001A7C")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A93A")]
|
||||
[Address(RVA = "0x7EB400", Offset = "0x7EA400", VA = "0x1807EB400", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return SecP521R1Curve.q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A93B RID: 43323 RVA: 0x00248E14 File Offset: 0x00247014
|
||||
[Token(Token = "0x600A93B")]
|
||||
[Address(RVA = "0x7EAFE0", Offset = "0x7E9FE0", VA = "0x1807EAFE0", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A93B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_38:
|
||||
stloc:ArgumentException(var_5_47, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP521R1FieldElement"), ldstr:string("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: 0x0600A93C RID: 43324 RVA: 0x00248E6C File Offset: 0x0024706C
|
||||
[Token(Token = "0x600A93C")]
|
||||
[Address(RVA = "0x7EAEB0", Offset = "0x7E9EB0", VA = "0x1807EAEB0", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A93C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1Curve::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:SecP521R1Point(var_0_09, newobj:SecP521R1Point(SecP521R1Point::.ctor, ldloc:SecP521R1Curve[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: 0x0600A93D RID: 43325 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A93D")]
|
||||
[Address(RVA = "0x7EAF40", Offset = "0x7E9F40", VA = "0x1807EAF40", 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: 0x0600A93E RID: 43326 RVA: 0x00248E84 File Offset: 0x00247084
|
||||
[Token(Token = "0x600A93E")]
|
||||
[Address(RVA = "0x7EAC40", Offset = "0x7E9C40", VA = "0x1807EAC40", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
uint[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new uint[len * (int)((uint)34)];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_56;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
num += 17;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
int num2 = 0;
|
||||
num += 17;
|
||||
IL_56:
|
||||
int num3 = 0;
|
||||
SecP521R1Curve.SecP521R1LookupTable secP521R1LookupTable;
|
||||
secP521R1LookupTable.FieldGetter(num3, num2, array);
|
||||
secP521R1LookupTable.m_outer = 0;
|
||||
secP521R1LookupTable.m_table = array;
|
||||
secP521R1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A93F RID: 43327 RVA: 0x00248F14 File Offset: 0x00247114
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A93F")]
|
||||
[Address(RVA = "0x7EB180", Offset = "0x7EA180", VA = "0x1807EB180")]
|
||||
static SecP521R1Curve()
|
||||
{
|
||||
byte[] array = Hex.Decode("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
|
||||
SecP521R1Curve.q = new BigInteger(1, array);
|
||||
}
|
||||
|
||||
// Token: 0x04006D8B RID: 28043
|
||||
[Token(Token = "0x4006D8B")]
|
||||
public static readonly BigInteger q;
|
||||
|
||||
// Token: 0x04006D8C RID: 28044
|
||||
[Token(Token = "0x4006D8C")]
|
||||
private const int SECP521R1_DEFAULT_COORDS = 2;
|
||||
|
||||
// Token: 0x04006D8D RID: 28045
|
||||
[Token(Token = "0x4006D8D")]
|
||||
private const int SECP521R1_FE_INTS = 17;
|
||||
|
||||
// Token: 0x04006D8E RID: 28046
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006D8E")]
|
||||
protected readonly SecP521R1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B49 RID: 6985
|
||||
[Token(Token = "0x2001B49")]
|
||||
private class SecP521R1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A940 RID: 43328 RVA: 0x00248F38 File Offset: 0x00247138
|
||||
[Token(Token = "0x600A940")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecP521R1LookupTable(SecP521R1Curve outer, uint[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001A7D RID: 6781
|
||||
// (get) Token: 0x0600A941 RID: 43329 RVA: 0x00248F60 File Offset: 0x00247160
|
||||
[Token(Token = "0x17001A7D")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A941")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A942 RID: 43330 RVA: 0x00248F74 File Offset: 0x00247174
|
||||
[Token(Token = "0x600A942")]
|
||||
[Address(RVA = "0x7ED140", Offset = "0x7EC140", VA = "0x1807ED140", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
uint[] array = Nat.Create(17);
|
||||
uint[] array2 = Nat.Create(17);
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
uint[] table = this.m_table;
|
||||
uint[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 34;
|
||||
num2++;
|
||||
}
|
||||
SecP521R1Curve outer = this.m_outer;
|
||||
new SecP521R1FieldElement().x = array;
|
||||
new SecP521R1FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D8F RID: 28047
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D8F")]
|
||||
private readonly SecP521R1Curve m_outer;
|
||||
|
||||
// Token: 0x04006D90 RID: 28048
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D90")]
|
||||
private readonly uint[] m_table;
|
||||
|
||||
// Token: 0x04006D91 RID: 28049
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D91")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+236
@@ -0,0 +1,236 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B4A RID: 6986
|
||||
[Token(Token = "0x2001B4A")]
|
||||
internal class SecP521R1Field
|
||||
{
|
||||
// Token: 0x0600A943 RID: 43331 RVA: 0x00248FEC File Offset: 0x002471EC
|
||||
[Token(Token = "0x600A943")]
|
||||
[Address(RVA = "0x7EC5E0", Offset = "0x7EB5E0", VA = "0x1807EC5E0")]
|
||||
public static void Add(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint num2;
|
||||
uint num = Nat.Add((int)num2, x, y, z);
|
||||
uint num3 = y[8];
|
||||
num3 += num;
|
||||
if (num3 > (uint)511 || (num3 == (uint)511 && Nat.Eq(16, z, y)))
|
||||
{
|
||||
uint num4 = Nat.Inc(16, z);
|
||||
num3 += num4;
|
||||
}
|
||||
z[8] = num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600A944 RID: 43332 RVA: 0x0024904C File Offset: 0x0024724C
|
||||
[Token(Token = "0x600A944")]
|
||||
[Address(RVA = "0x7EC4E0", Offset = "0x7EB4E0", VA = "0x1807EC4E0")]
|
||||
public static void AddOne(uint[] x, uint[] z)
|
||||
{
|
||||
uint num = Nat.Inc(16, x, z);
|
||||
uint num2 = x[8];
|
||||
num2 += num;
|
||||
if (num2 > (uint)511 || (num2 == (uint)511 && Nat.Eq(16, z, z)))
|
||||
{
|
||||
uint num3 = Nat.Inc(16, z);
|
||||
num2 += num3;
|
||||
}
|
||||
z[8] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A945 RID: 43333 RVA: 0x002490A8 File Offset: 0x002472A8
|
||||
[Token(Token = "0x600A945")]
|
||||
[Address(RVA = "0x7EC720", Offset = "0x7EB720", VA = "0x1807EC720")]
|
||||
public static uint[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
uint[] array = Nat.FromBigInteger(521, x);
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
Nat.Zero(17, array);
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A946 RID: 43334 RVA: 0x002490D0 File Offset: 0x002472D0
|
||||
[Token(Token = "0x600A946")]
|
||||
[Address(RVA = "0x7EC7C0", Offset = "0x7EB7C0", VA = "0x1807EC7C0")]
|
||||
public static void Half(uint[] x, uint[] z)
|
||||
{
|
||||
uint num = x[8];
|
||||
uint num2 = Nat.ShiftDownBit(16, x, num, z);
|
||||
z[8] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A947 RID: 43335 RVA: 0x00249100 File Offset: 0x00247300
|
||||
[Token(Token = "0x600A947")]
|
||||
[Address(RVA = "0x7EC9C0", Offset = "0x7EB9C0", VA = "0x1807EC9C0")]
|
||||
public static void Multiply(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint[] array = Nat.Create(33);
|
||||
Nat512.Mul(x, y, array);
|
||||
uint num = x[8];
|
||||
uint num2 = y[8];
|
||||
uint num4;
|
||||
ulong num5;
|
||||
uint num3 = Nat.Mul31BothAdd((int)num4, num, y, num2, x, array, (int)num5);
|
||||
uint num6 = num2 * num;
|
||||
num6 += num3;
|
||||
array[16] = num6;
|
||||
SecP521R1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A948 RID: 43336 RVA: 0x00249160 File Offset: 0x00247360
|
||||
[Token(Token = "0x600A948")]
|
||||
[Address(RVA = "0x7ECB00", Offset = "0x7EBB00", VA = "0x1807ECB00")]
|
||||
public static void Negate(uint[] x, uint[] z)
|
||||
{
|
||||
if (!Nat.IsZero(17, x))
|
||||
{
|
||||
return;
|
||||
}
|
||||
Nat.Zero(17, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A949 RID: 43337 RVA: 0x00249184 File Offset: 0x00247384
|
||||
[Token(Token = "0x600A949")]
|
||||
[Address(RVA = "0x7ECCC0", Offset = "0x7EBCC0", VA = "0x1807ECCC0")]
|
||||
public static void Reduce(uint[] xx, uint[] z)
|
||||
{
|
||||
uint num = xx[16];
|
||||
int num2 = 0;
|
||||
uint num4;
|
||||
uint num3 = Nat.ShiftDownBits((int)num4, xx, (int)num4, 9, num, z, num2);
|
||||
num += num3;
|
||||
uint num5 = Nat.AddTo(16, xx, z);
|
||||
num += num5;
|
||||
if (num > (uint)511 || (num == (uint)511 && Nat.Eq(16, z, z)))
|
||||
{
|
||||
uint num6 = Nat.Inc(16, z);
|
||||
num += num6;
|
||||
}
|
||||
z[8] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A94A RID: 43338 RVA: 0x002491FC File Offset: 0x002473FC
|
||||
[Token(Token = "0x600A94A")]
|
||||
[Address(RVA = "0x7ECBB0", Offset = "0x7EBBB0", VA = "0x1807ECBB0")]
|
||||
public static void Reduce23(uint[] z)
|
||||
{
|
||||
uint num = z[8];
|
||||
uint num2 = Nat.AddWordTo(16, num, z);
|
||||
if (Nat.Eq(16, z, z))
|
||||
{
|
||||
uint num3 = Nat.Inc(16, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A94B RID: 43339 RVA: 0x00249238 File Offset: 0x00247438
|
||||
[Token(Token = "0x600A94B")]
|
||||
[Address(RVA = "0x7ECF00", Offset = "0x7EBF00", VA = "0x1807ECF00")]
|
||||
public static void Square(uint[] x, uint[] z)
|
||||
{
|
||||
uint[] array = Nat.Create(33);
|
||||
SecP521R1Field.ImplSquare(x, array);
|
||||
SecP521R1Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A94C RID: 43340 RVA: 0x0024925C File Offset: 0x0024745C
|
||||
[Token(Token = "0x600A94C")]
|
||||
[Address(RVA = "0x7ECE10", Offset = "0x7EBE10", VA = "0x1807ECE10")]
|
||||
public static void SquareN(uint[] x, int n, uint[] z)
|
||||
{
|
||||
uint[] array = Nat.Create(33);
|
||||
SecP521R1Field.ImplSquare(x, array);
|
||||
SecP521R1Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
SecP521R1Field.ImplSquare(z, array);
|
||||
SecP521R1Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A94D RID: 43341 RVA: 0x00249294 File Offset: 0x00247494
|
||||
[Token(Token = "0x600A94D")]
|
||||
[Address(RVA = "0x7ECF90", Offset = "0x7EBF90", VA = "0x1807ECF90")]
|
||||
public static void Subtract(uint[] x, uint[] y, uint[] z)
|
||||
{
|
||||
uint num2;
|
||||
int num = Nat.Sub((int)num2, x, y, z);
|
||||
uint num3 = x[8];
|
||||
num3 += (uint)num;
|
||||
int num4 = Nat.Dec(16, z);
|
||||
num3 += (uint)num4;
|
||||
z[8] = num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600A94E RID: 43342 RVA: 0x002492D4 File Offset: 0x002474D4
|
||||
[Token(Token = "0x600A94E")]
|
||||
[Address(RVA = "0x7ED050", Offset = "0x7EC050", VA = "0x1807ED050")]
|
||||
public static void Twice(uint[] x, uint[] z)
|
||||
{
|
||||
uint num = x[8];
|
||||
uint num2 = Nat.ShiftUpBit(16, x, num, z);
|
||||
z[8] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A94F RID: 43343 RVA: 0x00249304 File Offset: 0x00247504
|
||||
[Token(Token = "0x600A94F")]
|
||||
[Address(RVA = "0x7EC840", Offset = "0x7EB840", VA = "0x1807EC840")]
|
||||
protected static void ImplMultiply(uint[] x, uint[] y, uint[] zz)
|
||||
{
|
||||
Nat512.Mul(x, y, zz);
|
||||
uint num = x[8];
|
||||
uint num2 = y[8];
|
||||
uint num4;
|
||||
ulong num5;
|
||||
uint num3 = Nat.Mul31BothAdd((int)num4, num, y, num2, x, zz, (int)num5);
|
||||
uint num6 = num2 * num;
|
||||
num6 += num3;
|
||||
zz[16] = num6;
|
||||
}
|
||||
|
||||
// Token: 0x0600A950 RID: 43344 RVA: 0x00249354 File Offset: 0x00247554
|
||||
[Token(Token = "0x600A950")]
|
||||
[Address(RVA = "0x7EC920", Offset = "0x7EB920", VA = "0x1807EC920")]
|
||||
protected static void ImplSquare(uint[] x, uint[] zz)
|
||||
{
|
||||
Nat512.Square(x, zz);
|
||||
uint num = x[8];
|
||||
int num2 = 0;
|
||||
ulong num4;
|
||||
uint num3 = Nat.MulWordAddTo(16, zz, x, num2, zz, (int)num4);
|
||||
uint num5 = num * num;
|
||||
num5 += num3;
|
||||
zz[16] = num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600A951 RID: 43345 RVA: 0x0024939C File Offset: 0x0024759C
|
||||
[Token(Token = "0x600A951")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecP521R1Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A952 RID: 43346 RVA: 0x002493B0 File Offset: 0x002475B0
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A952")]
|
||||
[Address(RVA = "0x7ED0E0", Offset = "0x7EC0E0", VA = "0x1807ED0E0")]
|
||||
static SecP521R1Field()
|
||||
{
|
||||
RuntimeHelpers.InitializeArray(new uint[17], fieldof(<PrivateImplementationDetails>.96ADC3934F8492C827987DFEE3B4DD4EF1738E78).FieldHandle);
|
||||
}
|
||||
|
||||
// Token: 0x04006D92 RID: 28050
|
||||
[Token(Token = "0x4006D92")]
|
||||
internal static readonly uint[] P;
|
||||
|
||||
// Token: 0x04006D93 RID: 28051
|
||||
[Token(Token = "0x4006D93")]
|
||||
private const int P16 = 511;
|
||||
}
|
||||
}
|
||||
+425
@@ -0,0 +1,425 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B4B RID: 6987
|
||||
[Token(Token = "0x2001B4B")]
|
||||
internal class SecP521R1FieldElement : AbstractFpFieldElement
|
||||
{
|
||||
// Token: 0x0600A953 RID: 43347 RVA: 0x002493D0 File Offset: 0x002475D0
|
||||
[Token(Token = "0x600A953")]
|
||||
[Address(RVA = "0x7EC270", Offset = "0x7EB270", VA = "0x1807EC270")]
|
||||
public SecP521R1FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A953)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_38:
|
||||
stloc:ArgumentException(var_4_47, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecP521R1FieldElement"), ldstr:string("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.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: 0x0600A954 RID: 43348 RVA: 0x00249428 File Offset: 0x00247628
|
||||
[Token(Token = "0x600A954")]
|
||||
[Address(RVA = "0x7EC3F0", Offset = "0x7EB3F0", VA = "0x1807EC3F0")]
|
||||
public SecP521R1FieldElement()
|
||||
{
|
||||
uint[] array = Nat.Create(17);
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A955 RID: 43349 RVA: 0x0024944C File Offset: 0x0024764C
|
||||
[Token(Token = "0x600A955")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecP521R1FieldElement(uint[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001A7E RID: 6782
|
||||
// (get) Token: 0x0600A956 RID: 43350 RVA: 0x00249468 File Offset: 0x00247668
|
||||
[Token(Token = "0x17001A7E")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600A956")]
|
||||
[Address(RVA = "0x7EC4D0", Offset = "0x7EB4D0", VA = "0x1807EC4D0", Slot = "18")]
|
||||
get
|
||||
{
|
||||
uint[] array = this.x;
|
||||
return Nat.IsZero(17, array);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A7F RID: 6783
|
||||
// (get) Token: 0x0600A957 RID: 43351 RVA: 0x00249484 File Offset: 0x00247684
|
||||
[Token(Token = "0x17001A7F")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600A957")]
|
||||
[Address(RVA = "0x7EC4C0", Offset = "0x7EB4C0", VA = "0x1807EC4C0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
uint[] array = this.x;
|
||||
return Nat.IsOne(17, array);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A958 RID: 43352 RVA: 0x002494A0 File Offset: 0x002476A0
|
||||
[Token(Token = "0x600A958")]
|
||||
[Address(RVA = "0x7E7F50", Offset = "0x7E6F50", VA = "0x1807E7F50", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Nat.GetBit(array, num) == (uint)1;
|
||||
}
|
||||
|
||||
// Token: 0x0600A959 RID: 43353 RVA: 0x002494C4 File Offset: 0x002476C4
|
||||
[Token(Token = "0x600A959")]
|
||||
[Address(RVA = "0x7EC1F0", Offset = "0x7EB1F0", VA = "0x1807EC1F0", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
uint[] array = this.x;
|
||||
return Nat.ToBigInteger(17, array);
|
||||
}
|
||||
|
||||
// Token: 0x17001A80 RID: 6784
|
||||
// (get) Token: 0x0600A95A RID: 43354 RVA: 0x002494E0 File Offset: 0x002476E0
|
||||
[Token(Token = "0x17001A80")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600A95A")]
|
||||
[Address(RVA = "0x7EC420", Offset = "0x7EB420", VA = "0x1807EC420", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecP521R1Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A81 RID: 6785
|
||||
// (get) Token: 0x0600A95B RID: 43355 RVA: 0x002494F4 File Offset: 0x002476F4
|
||||
[Token(Token = "0x17001A81")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A95B")]
|
||||
[Address(RVA = "0x7EC450", Offset = "0x7EB450", VA = "0x1807EC450", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return SecP521R1FieldElement.Q.BitLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A95C RID: 43356 RVA: 0x00249514 File Offset: 0x00247714
|
||||
[Token(Token = "0x600A95C")]
|
||||
[Address(RVA = "0x7EB640", Offset = "0x7EA640", VA = "0x1807EB640", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat.Create(17);
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP521R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP521R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A95D RID: 43357 RVA: 0x00249558 File Offset: 0x00247758
|
||||
[Token(Token = "0x600A95D")]
|
||||
[Address(RVA = "0x7EB4D0", Offset = "0x7EA4D0", VA = "0x1807EB4D0", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
uint[] array = Nat.Create(17);
|
||||
uint[] array2 = this.x;
|
||||
uint num = Nat.Inc(16, array2, array);
|
||||
uint num2 = array2[8];
|
||||
num2 += num;
|
||||
if (num2 > (uint)511 || (num2 == (uint)511 && Nat.Eq(16, array, array)))
|
||||
{
|
||||
uint num3 = Nat.Inc(16, array);
|
||||
num2 += num3;
|
||||
}
|
||||
array[8] = num2;
|
||||
new SecP521R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A95E RID: 43358 RVA: 0x002495D0 File Offset: 0x002477D0
|
||||
[Token(Token = "0x600A95E")]
|
||||
[Address(RVA = "0x7EC0B0", Offset = "0x7EB0B0", VA = "0x1807EC0B0", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat.Create(17);
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP521R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP521R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A95F RID: 43359 RVA: 0x00249614 File Offset: 0x00247814
|
||||
[Token(Token = "0x600A95F")]
|
||||
[Address(RVA = "0x7EBBF0", Offset = "0x7EABF0", VA = "0x1807EBBF0", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat.Create(17);
|
||||
uint[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP521R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecP521R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A960 RID: 43360 RVA: 0x00249658 File Offset: 0x00247858
|
||||
[Token(Token = "0x600A960")]
|
||||
[Address(RVA = "0x7EB780", Offset = "0x7EA780", VA = "0x1807EB780", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = Nat.Create(17);
|
||||
if ("{il2cpp array field local3->}" == typeof(SecP521R1FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
uint[] array2 = this.x;
|
||||
SecP521R1Field.Multiply(array, array2, array);
|
||||
new SecP521R1FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A961 RID: 43361 RVA: 0x002496A4 File Offset: 0x002478A4
|
||||
[Token(Token = "0x600A961")]
|
||||
[Address(RVA = "0x7EBD30", Offset = "0x7EAD30", VA = "0x1807EBD30", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A961)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1FieldElement::Negate()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1A:
|
||||
call:void(Nat::Zero, ldc.i4:int32(17), ldloc:uint32[](var_0_07))
|
||||
stfld:uint32[](SecP521R1FieldElement::x, newobj:SecP521R1FieldElement(SecP521R1FieldElement::.ctor), ldloc:uint32[](var_0_07))
|
||||
}
|
||||
|
||||
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: 0x0600A962 RID: 43362 RVA: 0x002496E0 File Offset: 0x002478E0
|
||||
[Token(Token = "0x600A962")]
|
||||
[Address(RVA = "0x7EC020", Offset = "0x7EB020", VA = "0x1807EC020", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A962)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_0_07, call:uint32[](Nat::Create, ldc.i4:int32(17)))
|
||||
call:void(SecP521R1Field::Square, ldfld:uint32[](SecP521R1FieldElement::x, ldloc:SecP521R1FieldElement(this)), ldloc:uint32[](var_0_07))
|
||||
stfld:uint32[](SecP521R1FieldElement::x, newobj:SecP521R1FieldElement(SecP521R1FieldElement::.ctor), ldloc:uint32[](var_0_07))
|
||||
}
|
||||
|
||||
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: 0x0600A963 RID: 43363 RVA: 0x0024970C File Offset: 0x0024790C
|
||||
[Token(Token = "0x600A963")]
|
||||
[Address(RVA = "0x7EBB20", Offset = "0x7EAB20", VA = "0x1807EBB20", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A963)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint32[](var_0_07, call:uint32[](Nat::Create, ldc.i4:int32(17)))
|
||||
stfld:uint32[](SecP521R1FieldElement::x, newobj:SecP521R1FieldElement(SecP521R1FieldElement::.ctor), ldloc:uint32[](var_0_07))
|
||||
}
|
||||
|
||||
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: 0x0600A964 RID: 43364 RVA: 0x0024972C File Offset: 0x0024792C
|
||||
[Token(Token = "0x600A964")]
|
||||
[Address(RVA = "0x7EBE40", Offset = "0x7EAE40", VA = "0x1807EBE40", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
uint[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (Nat.IsZero(17, array) || Nat.IsOne(17, array));
|
||||
uint[] array2 = Nat.Create(17);
|
||||
uint[] array3 = Nat.Create(17);
|
||||
uint[] array4 = Nat.Create(33);
|
||||
SecP521R1Field.ImplSquare(array, array4);
|
||||
SecP521R1Field.Reduce(array4, array2);
|
||||
SecP521R1Field.ImplSquare(array2, array4);
|
||||
SecP521R1Field.Reduce(array4, array2);
|
||||
SecP521R1Field.Square(array2, array3);
|
||||
if (Nat.Eq(17, array, array3))
|
||||
{
|
||||
new SecP521R1FieldElement().x = array2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A965 RID: 43365 RVA: 0x002497AC File Offset: 0x002479AC
|
||||
[Token(Token = "0x600A965")]
|
||||
[Address(RVA = "0x7EB940", Offset = "0x7EA940", VA = "0x1807EB940", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A965)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP521R1FieldElement[exp:ECFieldElement](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: 0x0600A966 RID: 43366 RVA: 0x002497C8 File Offset: 0x002479C8
|
||||
[Token(Token = "0x600A966")]
|
||||
[Address(RVA = "0x7EB9D0", Offset = "0x7EA9D0", VA = "0x1807EB9D0", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A966)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecP521R1FieldElement[exp:ECFieldElement](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: 0x0600A967 RID: 43367 RVA: 0x002497E4 File Offset: 0x002479E4
|
||||
[Token(Token = "0x600A967")]
|
||||
[Address(RVA = "0x7EB910", Offset = "0x7EA910", VA = "0x1807EB910", Slot = "27")]
|
||||
public virtual bool Equals(SecP521R1FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
uint[] array = other.x;
|
||||
uint[] array2 = this.x;
|
||||
return Nat.Eq(17, array2, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A968 RID: 43368 RVA: 0x00249814 File Offset: 0x00247A14
|
||||
[Token(Token = "0x600A968")]
|
||||
[Address(RVA = "0x7EBA60", Offset = "0x7EAA60", VA = "0x1807EBA60", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
SecP521R1FieldElement.Q.Finalize();
|
||||
uint[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 17);
|
||||
}
|
||||
|
||||
// Token: 0x04006D94 RID: 28052
|
||||
[Token(Token = "0x4006D94")]
|
||||
public static readonly BigInteger Q = SecP521R1Curve.q;
|
||||
|
||||
// Token: 0x04006D95 RID: 28053
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D95")]
|
||||
protected internal readonly uint[] x;
|
||||
}
|
||||
}
|
||||
+280
@@ -0,0 +1,280 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B4C RID: 6988
|
||||
[Token(Token = "0x2001B4C")]
|
||||
internal class SecP521R1Point : AbstractFpPoint
|
||||
{
|
||||
// Token: 0x0600A96A RID: 43370 RVA: 0x0024985C File Offset: 0x00247A5C
|
||||
[Token(Token = "0x600A96A")]
|
||||
[Address(RVA = "0x7EE290", Offset = "0x7ED290", VA = "0x1807EE290")]
|
||||
public SecP521R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A96B RID: 43371 RVA: 0x0024986C File Offset: 0x00247A6C
|
||||
[Token(Token = "0x600A96B")]
|
||||
[Address(RVA = "0x7EE1D0", Offset = "0x7ED1D0", VA = "0x1807EE1D0")]
|
||||
public SecP521R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A96B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A96C RID: 43372 RVA: 0x00249894 File Offset: 0x00247A94
|
||||
[Token(Token = "0x600A96C")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecP521R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A96D RID: 43373 RVA: 0x002498A4 File Offset: 0x00247AA4
|
||||
[Token(Token = "0x600A96D")]
|
||||
[Address(RVA = "0x7EDA00", Offset = "0x7ECA00", VA = "0x1807EDA00", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A96D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecP521R1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecP521R1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecP521R1Point[exp:ECPoint](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: 0x0600A96E RID: 43374 RVA: 0x002498C0 File Offset: 0x00247AC0
|
||||
[Token(Token = "0x600A96E")]
|
||||
[Address(RVA = "0x7ED310", Offset = "0x7EC310", VA = "0x1807ED310", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this == b)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
uint[] array = Nat.Create(17);
|
||||
uint[] array2 = Nat.Create(17);
|
||||
uint[] array3 = Nat.Create(17);
|
||||
uint[] array4 = Nat.Create(17);
|
||||
if (array4 == 0)
|
||||
{
|
||||
SecP521R1Field.Square(array4, array3);
|
||||
SecP521R1Field.Multiply(array3, array3, array2);
|
||||
SecP521R1Field.Multiply(array3, array3, array3);
|
||||
SecP521R1Field.Multiply(array3, array3, array3);
|
||||
}
|
||||
SecP521R1Field.Multiply(array4, array4, array);
|
||||
SecP521R1Field.Multiply(array4, array4, array4);
|
||||
SecP521R1Field.Multiply(array4, array4, array4);
|
||||
uint[] array5 = Nat.Create(17);
|
||||
SecP521R1Field.Subtract(array, array4, array5);
|
||||
if (!Nat.IsZero(17, array5))
|
||||
{
|
||||
SecP521R1Field.Square(array5, array3);
|
||||
uint[] array6 = Nat.Create(17);
|
||||
SecP521R1Field.Multiply(array3, array5, array6);
|
||||
SecP521R1Field.Multiply(array3, array, array3);
|
||||
SecP521R1FieldElement secP521R1FieldElement = new SecP521R1FieldElement();
|
||||
secP521R1FieldElement.x = array4;
|
||||
SecP521R1Field.Square(array2, array4);
|
||||
uint[] x = secP521R1FieldElement.x;
|
||||
SecP521R1Field.Add(x, array6, x);
|
||||
uint[] x2 = secP521R1FieldElement.x;
|
||||
SecP521R1Field.Subtract(x2, array3, x2);
|
||||
uint[] x3 = secP521R1FieldElement.x;
|
||||
SecP521R1Field.Subtract(x3, array3, x3);
|
||||
SecP521R1FieldElement secP521R1FieldElement2 = new SecP521R1FieldElement();
|
||||
secP521R1FieldElement2.x = array6;
|
||||
uint[] x4 = secP521R1FieldElement.x;
|
||||
SecP521R1Field.Subtract(array3, x4, array6);
|
||||
SecP521R1Field.Multiply(secP521R1FieldElement2.x, array2, array2);
|
||||
uint[] x5 = secP521R1FieldElement2.x;
|
||||
SecP521R1Field.Subtract(array2, array, x5);
|
||||
SecP521R1FieldElement secP521R1FieldElement3 = new SecP521R1FieldElement();
|
||||
secP521R1FieldElement3.x = array5;
|
||||
SecP521R1Field.Multiply(array5, array3, array5);
|
||||
uint[] x6 = secP521R1FieldElement3.x;
|
||||
SecP521R1Field.Multiply(x6, array2, x6);
|
||||
ECFieldElement[] array7 = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
bool flag2;
|
||||
if (!flag2)
|
||||
{
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600A96F RID: 43375 RVA: 0x00249AB4 File Offset: 0x00247CB4
|
||||
[Token(Token = "0x600A96F")]
|
||||
[Address(RVA = "0x7EDBA0", Offset = "0x7ECBA0", VA = "0x1807EDBA0", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
while (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
if (y != 0)
|
||||
{
|
||||
if (y.IsOne)
|
||||
{
|
||||
break;
|
||||
}
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x == 0)
|
||||
{
|
||||
}
|
||||
if (x != 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement = this.m_zs[0];
|
||||
if (ecfieldElement == 0)
|
||||
{
|
||||
}
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
uint[] array = Nat.Create(17);
|
||||
uint[] array2 = Nat.Create(17);
|
||||
uint[] array3 = Nat.Create(17);
|
||||
uint[] array4 = Nat.Create(17);
|
||||
SecP521R1Field.Square(array3, array4);
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
}
|
||||
SecP521R1Field.Multiply(array2, array, array2);
|
||||
uint num = Nat.AddBothTo(17, array2, array2, array2);
|
||||
SecP521R1Field.Reduce23(array2);
|
||||
int num2 = 0;
|
||||
uint num3 = Nat.ShiftUpBits(17, array3, 2, (uint)num2);
|
||||
SecP521R1Field.Reduce23(array3);
|
||||
int num4 = 0;
|
||||
uint num5 = Nat.ShiftUpBits(17, array4, 3, (uint)num4, array);
|
||||
SecP521R1Field.Reduce23(array);
|
||||
SecP521R1FieldElement secP521R1FieldElement = new SecP521R1FieldElement();
|
||||
secP521R1FieldElement.x = array4;
|
||||
SecP521R1Field.Square(array2, array4);
|
||||
uint[] x2 = secP521R1FieldElement.x;
|
||||
SecP521R1Field.Subtract(x2, array3, x2);
|
||||
uint[] x3 = secP521R1FieldElement.x;
|
||||
SecP521R1Field.Subtract(x3, array3, x3);
|
||||
SecP521R1FieldElement secP521R1FieldElement2 = new SecP521R1FieldElement();
|
||||
secP521R1FieldElement2.x = array3;
|
||||
uint[] x4 = secP521R1FieldElement.x;
|
||||
SecP521R1Field.Subtract(array3, x4, array3);
|
||||
uint[] x5 = secP521R1FieldElement2.x;
|
||||
SecP521R1Field.Multiply(x5, array2, x5);
|
||||
uint[] x6 = secP521R1FieldElement2.x;
|
||||
SecP521R1Field.Subtract(x6, array, x6);
|
||||
SecP521R1FieldElement secP521R1FieldElement3 = new SecP521R1FieldElement();
|
||||
secP521R1FieldElement3.x = array2;
|
||||
uint num6;
|
||||
array2[8] = num6;
|
||||
uint[] x7 = secP521R1FieldElement3.x;
|
||||
(new ECFieldElement[1])[0] = secP521R1FieldElement3;
|
||||
bool withCompression = this.m_withCompression;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A970 RID: 43376 RVA: 0x00249C78 File Offset: 0x00247E78
|
||||
[Token(Token = "0x600A970")]
|
||||
[Address(RVA = "0x6ECFE0", Offset = "0x6EBFE0", VA = "0x1806ECFE0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (this != b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
if (this.m_y.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
bool flag2 = base.SatisfiesCurveEquation();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
bool flag3 = base.SatisfiesCurveEquation();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A971 RID: 43377 RVA: 0x00249CC8 File Offset: 0x00247EC8
|
||||
[Token(Token = "0x600A971")]
|
||||
[Address(RVA = "0x6ECF60", Offset = "0x6EBF60", VA = "0x1806ECF60", Slot = "33")]
|
||||
public override ECPoint ThreeTimes()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_y.IsOne)
|
||||
{
|
||||
ECPoint ecpoint;
|
||||
bool flag = ecpoint.SatisfiesCurveEquation();
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A972 RID: 43378 RVA: 0x00249CF8 File Offset: 0x00247EF8
|
||||
[Token(Token = "0x600A972")]
|
||||
[Address(RVA = "0x7EDAA0", Offset = "0x7ECAA0", VA = "0x1807EDAA0", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+269
@@ -0,0 +1,269 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B4D RID: 6989
|
||||
[Token(Token = "0x2001B4D")]
|
||||
internal class SecT113Field
|
||||
{
|
||||
// Token: 0x0600A973 RID: 43379 RVA: 0x00249D30 File Offset: 0x00247F30
|
||||
[Token(Token = "0x600A973")]
|
||||
[Address(RVA = "0x7EF250", Offset = "0x7EE250", VA = "0x1807EF250")]
|
||||
public static void Add(ulong[] x, ulong[] y, ulong[] z)
|
||||
{
|
||||
ulong num = y[0];
|
||||
z[0] = num;
|
||||
ulong num2 = y[1];
|
||||
z[1] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A974 RID: 43380 RVA: 0x00249D64 File Offset: 0x00247F64
|
||||
[Token(Token = "0x600A974")]
|
||||
[Address(RVA = "0x7BA2D0", Offset = "0x7B92D0", VA = "0x1807BA2D0")]
|
||||
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
|
||||
{
|
||||
ulong num = yy[0];
|
||||
zz[0] = num;
|
||||
ulong num2 = yy[1];
|
||||
zz[1] = num2;
|
||||
ulong num3 = yy[2];
|
||||
zz[2] = num3;
|
||||
ulong num4 = yy[3];
|
||||
zz[3] = num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600A975 RID: 43381 RVA: 0x00249DB8 File Offset: 0x00247FB8
|
||||
[Token(Token = "0x600A975")]
|
||||
[Address(RVA = "0x7EF1C0", Offset = "0x7EE1C0", VA = "0x1807EF1C0")]
|
||||
public static void AddOne(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong num = x[0];
|
||||
z[0] = num;
|
||||
ulong num2 = x[1];
|
||||
z[1] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A976 RID: 43382 RVA: 0x00249DEC File Offset: 0x00247FEC
|
||||
[Token(Token = "0x600A976")]
|
||||
[Address(RVA = "0x7EF310", Offset = "0x7EE310", VA = "0x1807EF310")]
|
||||
public static ulong[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
ulong[] array = Nat128.FromBigInteger64(x);
|
||||
ulong num = array[1];
|
||||
array[0] = num;
|
||||
array[1] = num;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A977 RID: 43383 RVA: 0x00249E20 File Offset: 0x00248020
|
||||
[Token(Token = "0x600A977")]
|
||||
[Address(RVA = "0x7EFA80", Offset = "0x7EEA80", VA = "0x1807EFA80")]
|
||||
public static void Invert(ulong[] x, ulong[] z)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A977)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113Field::Invert(System.UInt64[],System.UInt64[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_188:
|
||||
stloc:InvalidOperationException(var_28_18D, newobj:InvalidOperationException(InvalidOperationException::.ctor))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600A978 RID: 43384 RVA: 0x00249FBC File Offset: 0x002481BC
|
||||
[Token(Token = "0x600A978")]
|
||||
[Address(RVA = "0x7EFDC0", Offset = "0x7EEDC0", VA = "0x1807EFDC0")]
|
||||
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat128.CreateExt64();
|
||||
SecT113Field.ImplMultiply(x, y, array);
|
||||
SecT113Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A979 RID: 43385 RVA: 0x00249FE0 File Offset: 0x002481E0
|
||||
[Token(Token = "0x600A979")]
|
||||
[Address(RVA = "0x7EFD60", Offset = "0x7EED60", VA = "0x1807EFD60")]
|
||||
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
|
||||
{
|
||||
ulong[] array = Nat128.CreateExt64();
|
||||
SecT113Field.ImplMultiply(x, y, array);
|
||||
SecT113Field.AddExt(zz, array, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600A97A RID: 43386 RVA: 0x0024A008 File Offset: 0x00248208
|
||||
[Token(Token = "0x600A97A")]
|
||||
[Address(RVA = "0x7EFEC0", Offset = "0x7EEEC0", VA = "0x1807EFEC0")]
|
||||
public static void Reduce(ulong[] xx, ulong[] z)
|
||||
{
|
||||
int length = xx.Length;
|
||||
ulong num = xx[1];
|
||||
ulong num2 = xx[3];
|
||||
num2 = num;
|
||||
z[0] = num2;
|
||||
z[1] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A97B RID: 43387 RVA: 0x0024A044 File Offset: 0x00248244
|
||||
[Token(Token = "0x600A97B")]
|
||||
[Address(RVA = "0x7EFE20", Offset = "0x7EEE20", VA = "0x1807EFE20")]
|
||||
public static void Reduce15(ulong[] z, int zOff)
|
||||
{
|
||||
int length = z.Length;
|
||||
int num = zOff + 1;
|
||||
ulong num2 = z[num];
|
||||
z[0] = num2;
|
||||
z[0] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A97C RID: 43388 RVA: 0x0024A07C File Offset: 0x0024827C
|
||||
[Token(Token = "0x600A97C")]
|
||||
[Address(RVA = "0x7F0000", Offset = "0x7EF000", VA = "0x1807F0000")]
|
||||
public static void Sqrt(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong num = Interleave.Unshuffle(x[0]);
|
||||
ulong num2 = x[1];
|
||||
ulong num3 = Interleave.Unshuffle(num2);
|
||||
z[0] = num3;
|
||||
z[1] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A97D RID: 43389 RVA: 0x0024A0C0 File Offset: 0x002482C0
|
||||
[Token(Token = "0x600A97D")]
|
||||
[Address(RVA = "0x7F0220", Offset = "0x7EF220", VA = "0x1807F0220")]
|
||||
public static void Square(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat128.CreateExt64();
|
||||
SecT113Field.ImplSquare(x, array);
|
||||
SecT113Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A97E RID: 43390 RVA: 0x0024A0E4 File Offset: 0x002482E4
|
||||
[Token(Token = "0x600A97E")]
|
||||
[Address(RVA = "0x7F0100", Offset = "0x7EF100", VA = "0x1807F0100")]
|
||||
public static void SquareAddToExt(ulong[] x, ulong[] zz)
|
||||
{
|
||||
ulong[] array = Nat128.CreateExt64();
|
||||
SecT113Field.ImplSquare(x, array);
|
||||
SecT113Field.AddExt(zz, array, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600A97F RID: 43391 RVA: 0x0024A108 File Offset: 0x00248308
|
||||
[Token(Token = "0x600A97F")]
|
||||
[Address(RVA = "0x7F0150", Offset = "0x7EF150", VA = "0x1807F0150")]
|
||||
public static void SquareN(ulong[] x, int n, ulong[] z)
|
||||
{
|
||||
int num = n - 1;
|
||||
ulong[] array = Nat128.CreateExt64();
|
||||
SecT113Field.ImplSquare(x, array);
|
||||
SecT113Field.Reduce(array, z);
|
||||
if (num > 0)
|
||||
{
|
||||
ulong num2 = z[0];
|
||||
int num3 = 0;
|
||||
Interleave.Expand64To128(num2, array, num3);
|
||||
Interleave.Expand64To128(z[1], array, 2);
|
||||
SecT113Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A980 RID: 43392 RVA: 0x0024A164 File Offset: 0x00248364
|
||||
[Token(Token = "0x600A980")]
|
||||
[Address(RVA = "0x7C80D0", Offset = "0x7C70D0", VA = "0x1807C80D0")]
|
||||
public static uint Trace(ulong[] x)
|
||||
{
|
||||
ulong num = x[0];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A981 RID: 43393 RVA: 0x0024A180 File Offset: 0x00248380
|
||||
[Token(Token = "0x600A981")]
|
||||
[Address(RVA = "0x7EF390", Offset = "0x7EE390", VA = "0x1807EF390")]
|
||||
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
|
||||
{
|
||||
int length = x.Length;
|
||||
ulong num = x[0];
|
||||
int length2 = y.Length;
|
||||
ulong num2 = y[0];
|
||||
ulong[] array = new ulong[6];
|
||||
int num3 = 0;
|
||||
SecT113Field.ImplMulw(num, num2, array, num3);
|
||||
SecT113Field.ImplMulw(num, num2, array, 2);
|
||||
SecT113Field.ImplMulw(num, num2, array, 4);
|
||||
int length3 = array.Length;
|
||||
ulong num4 = array[3];
|
||||
ulong num5 = array[4];
|
||||
ulong num6 = array[5];
|
||||
zz[0] = num5;
|
||||
num5 = num6;
|
||||
zz[1] = num5;
|
||||
zz[2] = num6;
|
||||
zz[3] = num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600A982 RID: 43394 RVA: 0x0024A234 File Offset: 0x00248434
|
||||
[Token(Token = "0x600A982")]
|
||||
[Address(RVA = "0x7EF680", Offset = "0x7EE680", VA = "0x1807EF680")]
|
||||
protected static void ImplMulw(ulong x, ulong y, ulong[] z, int zOff)
|
||||
{
|
||||
ulong[] array = new ulong[8];
|
||||
array[1] = y;
|
||||
int num = array.Length;
|
||||
array[2] = (ulong)num;
|
||||
int length = array.Length;
|
||||
array[3] = (ulong)num;
|
||||
num = length;
|
||||
array[4] = (ulong)num;
|
||||
int length2 = array.Length;
|
||||
array[5] = (ulong)num;
|
||||
num = length2;
|
||||
array[6] = (ulong)num;
|
||||
int length3 = array.Length;
|
||||
array[7] = (ulong)num;
|
||||
int num2 = zOff + 1;
|
||||
z[0] = x;
|
||||
z[0] = y;
|
||||
}
|
||||
|
||||
// Token: 0x0600A983 RID: 43395 RVA: 0x0024A2BC File Offset: 0x002484BC
|
||||
[Token(Token = "0x600A983")]
|
||||
[Address(RVA = "0x7EFA00", Offset = "0x7EEA00", VA = "0x1807EFA00")]
|
||||
protected static void ImplSquare(ulong[] x, ulong[] zz)
|
||||
{
|
||||
ulong num = x[0];
|
||||
int num2 = 0;
|
||||
Interleave.Expand64To128(num, zz, num2);
|
||||
Interleave.Expand64To128(x[1], zz, 2);
|
||||
}
|
||||
|
||||
// Token: 0x0600A984 RID: 43396 RVA: 0x0024A2F0 File Offset: 0x002484F0
|
||||
[Token(Token = "0x600A984")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecT113Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006D96 RID: 28054
|
||||
[Token(Token = "0x4006D96")]
|
||||
private const ulong M49 = 562949953421311UL;
|
||||
|
||||
// Token: 0x04006D97 RID: 28055
|
||||
[Token(Token = "0x4006D97")]
|
||||
private const ulong M57 = 144115188075855871UL;
|
||||
}
|
||||
}
|
||||
+584
@@ -0,0 +1,584 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B4E RID: 6990
|
||||
[Token(Token = "0x2001B4E")]
|
||||
internal class SecT113FieldElement : AbstractF2mFieldElement
|
||||
{
|
||||
// Token: 0x0600A985 RID: 43397 RVA: 0x0024A304 File Offset: 0x00248504
|
||||
[Token(Token = "0x600A985")]
|
||||
[Address(RVA = "0x7EF050", Offset = "0x7EE050", VA = "0x1807EF050")]
|
||||
public SecT113FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A985)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_38:
|
||||
stloc:ArgumentException(var_3_47, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT113FieldElement"), ldstr:string("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.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: 0x0600A986 RID: 43398 RVA: 0x0024A358 File Offset: 0x00248558
|
||||
[Token(Token = "0x600A986")]
|
||||
[Address(RVA = "0x7EF020", Offset = "0x7EE020", VA = "0x1807EF020")]
|
||||
public SecT113FieldElement()
|
||||
{
|
||||
ulong[] array = Nat128.Create64();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A987 RID: 43399 RVA: 0x0024A37C File Offset: 0x0024857C
|
||||
[Token(Token = "0x600A987")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecT113FieldElement(ulong[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001A82 RID: 6786
|
||||
// (get) Token: 0x0600A988 RID: 43400 RVA: 0x0024A398 File Offset: 0x00248598
|
||||
[Token(Token = "0x17001A82")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600A988")]
|
||||
[Address(RVA = "0x7EF1A0", Offset = "0x7EE1A0", VA = "0x1807EF1A0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat128.IsOne64(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A83 RID: 6787
|
||||
// (get) Token: 0x0600A989 RID: 43401 RVA: 0x0024A3B0 File Offset: 0x002485B0
|
||||
[Token(Token = "0x17001A83")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600A989")]
|
||||
[Address(RVA = "0x7EF1B0", Offset = "0x7EE1B0", VA = "0x1807EF1B0", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat128.IsZero64(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A98A RID: 43402 RVA: 0x0024A3C8 File Offset: 0x002485C8
|
||||
[Token(Token = "0x600A98A")]
|
||||
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A98B RID: 43403 RVA: 0x0024A3E4 File Offset: 0x002485E4
|
||||
[Token(Token = "0x600A98B")]
|
||||
[Address(RVA = "0x7EF010", Offset = "0x7EE010", VA = "0x1807EF010", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat128.ToBigInteger64(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001A84 RID: 6788
|
||||
// (get) Token: 0x0600A98C RID: 43404 RVA: 0x0024A3FC File Offset: 0x002485FC
|
||||
[Token(Token = "0x17001A84")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600A98C")]
|
||||
[Address(RVA = "0x7EF160", Offset = "0x7EE160", VA = "0x1807EF160", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecT113Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A85 RID: 6789
|
||||
// (get) Token: 0x0600A98D RID: 43405 RVA: 0x0024A410 File Offset: 0x00248610
|
||||
[Token(Token = "0x17001A85")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A98D")]
|
||||
[Address(RVA = "0x7EF190", Offset = "0x7EE190", VA = "0x1807EF190", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return 113;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A98E RID: 43406 RVA: 0x0024A420 File Offset: 0x00248620
|
||||
[Token(Token = "0x600A98E")]
|
||||
[Address(RVA = "0x7EE390", Offset = "0x7ED390", VA = "0x1807EE390", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
ulong[] array;
|
||||
ulong[] array2;
|
||||
do
|
||||
{
|
||||
array = Nat128.Create64();
|
||||
array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecT113FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
array[0] = typeof(SecT113FieldElement).TypeHandle;
|
||||
array[1] = array2;
|
||||
new SecT113FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A98F RID: 43407 RVA: 0x0024A47C File Offset: 0x0024867C
|
||||
[Token(Token = "0x600A98F")]
|
||||
[Address(RVA = "0x7EE2B0", Offset = "0x7ED2B0", VA = "0x1807EE2B0", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
ulong[] array = Nat128.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
ulong num = array2[0];
|
||||
array[0] = num;
|
||||
ulong num2 = array2[1];
|
||||
array[1] = num2;
|
||||
new SecT113FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A990 RID: 43408 RVA: 0x0024A4CC File Offset: 0x002486CC
|
||||
[Token(Token = "0x600A990")]
|
||||
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A990)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT113FieldElement[exp:ECFieldElement](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: 0x0600A991 RID: 43409 RVA: 0x0024A4E0 File Offset: 0x002486E0
|
||||
[Token(Token = "0x600A991")]
|
||||
[Address(RVA = "0x7EEA40", Offset = "0x7EDA40", VA = "0x1807EEA40", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
ulong[] array;
|
||||
do
|
||||
{
|
||||
array = Nat128.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecT113FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
SecT113Field.Reduce(Nat128.CreateExt64(), array);
|
||||
new SecT113FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A992 RID: 43410 RVA: 0x0024A534 File Offset: 0x00248734
|
||||
[Token(Token = "0x600A992")]
|
||||
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
|
||||
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A992)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT113FieldElement[exp:ECFieldElement](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: 0x0600A993 RID: 43411 RVA: 0x0024A548 File Offset: 0x00248748
|
||||
[Token(Token = "0x600A993")]
|
||||
[Address(RVA = "0x7EE790", Offset = "0x7ED790", VA = "0x1807EE790", Slot = "20")]
|
||||
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
do
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
}
|
||||
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
|
||||
ulong[] array2 = Nat128.CreateExt64();
|
||||
ulong[] array3 = Nat128.CreateExt64();
|
||||
SecT113Field.AddExt(array2, array3, array2);
|
||||
ulong[] array4 = Nat128.CreateExt64();
|
||||
SecT113Field.AddExt(array2, array4, array2);
|
||||
ulong[] array5 = Nat128.Create64();
|
||||
SecT113Field.Reduce(array2, array5);
|
||||
new SecT113FieldElement().x = array5;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A994 RID: 43412 RVA: 0x0024A5DC File Offset: 0x002487DC
|
||||
[Token(Token = "0x600A994")]
|
||||
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
ECFieldElement ecfieldElement = b.Square();
|
||||
BigInteger bigInteger = base.ToBigInteger();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A995 RID: 43413 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A995")]
|
||||
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600A996 RID: 43414 RVA: 0x0024A5FC File Offset: 0x002487FC
|
||||
[Token(Token = "0x600A996")]
|
||||
[Address(RVA = "0x7EEF70", Offset = "0x7EDF70", VA = "0x1807EEF70", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A996)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat128::Create64))
|
||||
stloc:uint64[](var_2_0E, ldfld:uint64[](SecT113FieldElement::x, ldloc:SecT113FieldElement(this)))
|
||||
stloc:uint64[](var_4_16, call:uint64[](Nat128::CreateExt64))
|
||||
call:void(SecT113Field::ImplSquare, ldloc:uint64[](var_2_0E), ldloc:uint64[](var_4_16))
|
||||
call:void(SecT113Field::Reduce, ldloc:uint64[](var_4_16), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT113FieldElement::x, newobj:SecT113FieldElement(SecT113FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A997 RID: 43415 RVA: 0x0024A63C File Offset: 0x0024883C
|
||||
[Token(Token = "0x600A997")]
|
||||
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
|
||||
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A997)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT113FieldElement[exp:ECFieldElement](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: 0x0600A998 RID: 43416 RVA: 0x0024A650 File Offset: 0x00248850
|
||||
[Token(Token = "0x600A998")]
|
||||
[Address(RVA = "0x7EECD0", Offset = "0x7EDCD0", VA = "0x1807EECD0", Slot = "22")]
|
||||
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
ulong[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (x == 0 || x == 0 || y == 0 || y == 0);
|
||||
ulong[] array2 = Nat128.CreateExt64();
|
||||
ulong[] array3 = Nat128.CreateExt64();
|
||||
SecT113Field.ImplSquare(array, array3);
|
||||
SecT113Field.AddExt(array2, array3, array2);
|
||||
ulong[] array4 = Nat128.CreateExt64();
|
||||
SecT113Field.AddExt(array2, array4, array2);
|
||||
ulong[] array5 = Nat128.Create64();
|
||||
SecT113Field.Reduce(array2, array5);
|
||||
new SecT113FieldElement().x = array5;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A999 RID: 43417 RVA: 0x0024A6E0 File Offset: 0x002488E0
|
||||
[Token(Token = "0x600A999")]
|
||||
[Address(RVA = "0x7EEEF0", Offset = "0x7EDEF0", VA = "0x1807EEEF0", Slot = "23")]
|
||||
public override ECFieldElement SquarePow(int pow)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A999)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::SquarePow(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat128::Create64))
|
||||
call:void(SecT113Field::SquareN, ldfld:uint64[](SecT113FieldElement::x, ldloc:SecT113FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT113FieldElement::x, newobj:SecT113FieldElement(SecT113FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A99A RID: 43418 RVA: 0x0024A70C File Offset: 0x0024890C
|
||||
[Token(Token = "0x600A99A")]
|
||||
[Address(RVA = "0x7C6140", Offset = "0x7C5140", VA = "0x1807C6140", Slot = "28")]
|
||||
public override int Trace()
|
||||
{
|
||||
ulong num = this.x[0];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A99B RID: 43419 RVA: 0x0024A72C File Offset: 0x0024892C
|
||||
[Token(Token = "0x600A99B")]
|
||||
[Address(RVA = "0x7EE720", Offset = "0x7ED720", VA = "0x1807EE720", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A99B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat128::Create64))
|
||||
call:void(SecT113Field::Invert, ldfld:uint64[](SecT113FieldElement::x, ldloc:SecT113FieldElement(this)), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT113FieldElement::x, newobj:SecT113FieldElement(SecT113FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600A99C RID: 43420 RVA: 0x0024A758 File Offset: 0x00248958
|
||||
[Token(Token = "0x600A99C")]
|
||||
[Address(RVA = "0x7EEB80", Offset = "0x7EDB80", VA = "0x1807EEB80", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
ulong[] array = Nat128.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
ulong num = Interleave.Unshuffle(array2[0]);
|
||||
ulong num2 = array2[1];
|
||||
ulong num3 = Interleave.Unshuffle(num2);
|
||||
array[0] = num3;
|
||||
array[1] = num;
|
||||
new SecT113FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x17001A86 RID: 6790
|
||||
// (get) Token: 0x0600A99D RID: 43421 RVA: 0x0024A7B8 File Offset: 0x002489B8
|
||||
[Token(Token = "0x17001A86")]
|
||||
public virtual int Representation
|
||||
{
|
||||
[Token(Token = "0x600A99D")]
|
||||
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "29")]
|
||||
get
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A87 RID: 6791
|
||||
// (get) Token: 0x0600A99E RID: 43422 RVA: 0x0024A7C8 File Offset: 0x002489C8
|
||||
[Token(Token = "0x17001A87")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600A99E")]
|
||||
[Address(RVA = "0x7EF190", Offset = "0x7EE190", VA = "0x1807EF190", Slot = "30")]
|
||||
get
|
||||
{
|
||||
return 113;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A88 RID: 6792
|
||||
// (get) Token: 0x0600A99F RID: 43423 RVA: 0x0024A7D8 File Offset: 0x002489D8
|
||||
[Token(Token = "0x17001A88")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600A99F")]
|
||||
[Address(RVA = "0x68E020", Offset = "0x68D020", VA = "0x18068E020", Slot = "31")]
|
||||
get
|
||||
{
|
||||
return 9;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A89 RID: 6793
|
||||
// (get) Token: 0x0600A9A0 RID: 43424 RVA: 0x0024A7E8 File Offset: 0x002489E8
|
||||
[Token(Token = "0x17001A89")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600A9A0")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "32")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A8A RID: 6794
|
||||
// (get) Token: 0x0600A9A1 RID: 43425 RVA: 0x0024A7F8 File Offset: 0x002489F8
|
||||
[Token(Token = "0x17001A8A")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600A9A1")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "33")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9A2 RID: 43426 RVA: 0x0024A808 File Offset: 0x00248A08
|
||||
[Token(Token = "0x600A9A2")]
|
||||
[Address(RVA = "0x7EE620", Offset = "0x7ED620", VA = "0x1807EE620", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9A2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT113FieldElement[exp:ECFieldElement](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: 0x0600A9A3 RID: 43427 RVA: 0x0024A824 File Offset: 0x00248A24
|
||||
[Token(Token = "0x600A9A3")]
|
||||
[Address(RVA = "0x7EE590", Offset = "0x7ED590", VA = "0x1807EE590", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9A3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT113FieldElement[exp:ECFieldElement](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: 0x0600A9A4 RID: 43428 RVA: 0x0024A840 File Offset: 0x00248A40
|
||||
[Token(Token = "0x600A9A4")]
|
||||
[Address(RVA = "0x7EE570", Offset = "0x7ED570", VA = "0x1807EE570", Slot = "34")]
|
||||
public virtual bool Equals(SecT113FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
ulong[] array = other.x;
|
||||
return Nat128.Eq64(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9A5 RID: 43429 RVA: 0x0024A86C File Offset: 0x00248A6C
|
||||
[Token(Token = "0x600A9A5")]
|
||||
[Address(RVA = "0x7EE6B0", Offset = "0x7ED6B0", VA = "0x1807EE6B0", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 2);
|
||||
}
|
||||
|
||||
// Token: 0x04006D98 RID: 28056
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D98")]
|
||||
protected internal readonly ulong[] x;
|
||||
}
|
||||
}
|
||||
+391
@@ -0,0 +1,391 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B4F RID: 6991
|
||||
[Token(Token = "0x2001B4F")]
|
||||
internal class SecT113R1Curve : AbstractF2mCurve
|
||||
{
|
||||
// Token: 0x0600A9A6 RID: 43430 RVA: 0x0024A88C File Offset: 0x00248A8C
|
||||
[Token(Token = "0x600A9A6")]
|
||||
[Address(RVA = "0x7F0840", Offset = "0x7EF840", VA = "0x1807F0840")]
|
||||
public SecT113R1Curve()
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
base..ctor(113, 9, num2, num);
|
||||
int num3;
|
||||
int num4;
|
||||
SecT113R1Point secT113R1Point = new SecT113R1Point(this, num3, num4, num != 0);
|
||||
num4 = 0;
|
||||
num3 = 0;
|
||||
this.m_infinity = secT113R1Point;
|
||||
byte[] array = Hex.Decode("003088250CA6E7C7FE649CE85820F7");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("00E8BEE4D3E2260744188BE0E9C723");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("0100000000000000D9CCEC8A39E56F");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger3;
|
||||
BigInteger two = BigInteger.Two;
|
||||
this.m_cofactor = two;
|
||||
this.m_coord = (int)((ulong)6L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A9A7 RID: 43431 RVA: 0x0024A944 File Offset: 0x00248B44
|
||||
[Token(Token = "0x600A9A7")]
|
||||
[Address(RVA = "0x7F0270", Offset = "0x7EF270", VA = "0x1807F0270", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9A7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_1_01, ldc.i4:int32(0))
|
||||
stloc:SecT113R1Point(var_3_0F, newobj:SecT113R1Point(SecT113R1Point::.ctor, ldloc:SecT113R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
|
||||
stloc:int32(var_4, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecT113R1Point(SecT113R1Curve::m_infinity, ldloc:SecT113R1Curve(var_0), ldloc:SecT113R1Point(var_3_0F))
|
||||
stloc:uint8[](var_6_27, call:uint8[](Hex::Decode, ldstr:string("003088250CA6E7C7FE649CE85820F7")))
|
||||
stloc:BigInteger(var_7_31, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_27)))
|
||||
stloc:int32(var_8_39, callvirtgetter:int32(SecT113R1Curve::get_FieldSize, ldloc:SecT113R1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT113R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_39))
|
||||
stloc:uint8[](var_9_4D, call:uint8[](Hex::Decode, ldstr:string("00E8BEE4D3E2260744188BE0E9C723")))
|
||||
stloc:BigInteger(var_10_57, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4D)))
|
||||
stloc:int32(var_11_5F, callvirtgetter:int32(SecT113R1Curve::get_FieldSize, ldloc:SecT113R1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT113R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5F))
|
||||
stloc:uint8[](var_12_73, call:uint8[](Hex::Decode, ldstr:string("0100000000000000D9CCEC8A39E56F")))
|
||||
stloc:BigInteger(var_13_7D, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_73)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecT113R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7D))
|
||||
stloc:BigInteger(var_14_8C, ldsfld:BigInteger(BigInteger::Two))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT113R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8C))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecT113R1Curve[exp:ECCurve](var_0), 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: 0x0600A9A8 RID: 43432 RVA: 0x0024A9F0 File Offset: 0x00248BF0
|
||||
[Token(Token = "0x600A9A8")]
|
||||
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 6;
|
||||
}
|
||||
|
||||
// Token: 0x17001A8B RID: 6795
|
||||
// (get) Token: 0x0600A9A9 RID: 43433 RVA: 0x0024AA04 File Offset: 0x00248C04
|
||||
[Token(Token = "0x17001A8B")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A9A9")]
|
||||
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9A9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT113R1Point(var_0_06, ldfld:SecT113R1Point(SecT113R1Curve::m_infinity, ldloc:SecT113R1Curve(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: 0x17001A8C RID: 6796
|
||||
// (get) Token: 0x0600A9AA RID: 43434 RVA: 0x0024AA18 File Offset: 0x00248C18
|
||||
[Token(Token = "0x17001A8C")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A9AA")]
|
||||
[Address(RVA = "0x7EF190", Offset = "0x7EE190", VA = "0x1807EF190", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return 113;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9AB RID: 43435 RVA: 0x0024AA28 File Offset: 0x00248C28
|
||||
[Token(Token = "0x600A9AB")]
|
||||
[Address(RVA = "0x7F07E0", Offset = "0x7EF7E0", VA = "0x1807F07E0", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9AB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT113FieldElement(var_0_06, newobj:SecT113FieldElement(SecT113FieldElement::.ctor, 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: 0x0600A9AC RID: 43436 RVA: 0x0024AA3C File Offset: 0x00248C3C
|
||||
[Token(Token = "0x600A9AC")]
|
||||
[Address(RVA = "0x7F06B0", Offset = "0x7EF6B0", VA = "0x1807F06B0", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9AC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R1Curve::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:SecT113R1Point(var_0_09, newobj:SecT113R1Point(SecT113R1Point::.ctor, ldloc:SecT113R1Curve[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: 0x0600A9AD RID: 43437 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A9AD")]
|
||||
[Address(RVA = "0x7F0740", Offset = "0x7EF740", VA = "0x1807F0740", 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: 0x17001A8D RID: 6797
|
||||
// (get) Token: 0x0600A9AE RID: 43438 RVA: 0x0024AA54 File Offset: 0x00248C54
|
||||
[Token(Token = "0x17001A8D")]
|
||||
public override bool IsKoblitz
|
||||
{
|
||||
[Token(Token = "0x600A9AE")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A8E RID: 6798
|
||||
// (get) Token: 0x0600A9AF RID: 43439 RVA: 0x0024AA64 File Offset: 0x00248C64
|
||||
[Token(Token = "0x17001A8E")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600A9AF")]
|
||||
[Address(RVA = "0x7EF190", Offset = "0x7EE190", VA = "0x1807EF190", Slot = "40")]
|
||||
get
|
||||
{
|
||||
return 113;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A8F RID: 6799
|
||||
// (get) Token: 0x0600A9B0 RID: 43440 RVA: 0x0024AA74 File Offset: 0x00248C74
|
||||
[Token(Token = "0x17001A8F")]
|
||||
public virtual bool IsTrinomial
|
||||
{
|
||||
[Token(Token = "0x600A9B0")]
|
||||
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A90 RID: 6800
|
||||
// (get) Token: 0x0600A9B1 RID: 43441 RVA: 0x0024AA84 File Offset: 0x00248C84
|
||||
[Token(Token = "0x17001A90")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600A9B1")]
|
||||
[Address(RVA = "0x68E020", Offset = "0x68D020", VA = "0x18068E020", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return 9;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A91 RID: 6801
|
||||
// (get) Token: 0x0600A9B2 RID: 43442 RVA: 0x0024AA94 File Offset: 0x00248C94
|
||||
[Token(Token = "0x17001A91")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600A9B2")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A92 RID: 6802
|
||||
// (get) Token: 0x0600A9B3 RID: 43443 RVA: 0x0024AAA4 File Offset: 0x00248CA4
|
||||
[Token(Token = "0x17001A92")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600A9B3")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9B4 RID: 43444 RVA: 0x0024AAB4 File Offset: 0x00248CB4
|
||||
[Token(Token = "0x600A9B4")]
|
||||
[Address(RVA = "0x7F0450", Offset = "0x7EF450", VA = "0x1807F0450", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
ulong[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new ulong[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 4;
|
||||
IL_49:
|
||||
SecT113R1Curve.SecT113R1LookupTable secT113R1LookupTable;
|
||||
secT113R1LookupTable.m_outer = 0;
|
||||
secT113R1LookupTable.m_table = array;
|
||||
secT113R1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D99 RID: 28057
|
||||
[Token(Token = "0x4006D99")]
|
||||
private const int SECT113R1_DEFAULT_COORDS = 6;
|
||||
|
||||
// Token: 0x04006D9A RID: 28058
|
||||
[Token(Token = "0x4006D9A")]
|
||||
private const int SECT113R1_FE_LONGS = 2;
|
||||
|
||||
// Token: 0x04006D9B RID: 28059
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006D9B")]
|
||||
protected readonly SecT113R1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B50 RID: 6992
|
||||
[Token(Token = "0x2001B50")]
|
||||
private class SecT113R1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A9B5 RID: 43445 RVA: 0x0024AB28 File Offset: 0x00248D28
|
||||
[Token(Token = "0x600A9B5")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecT113R1LookupTable(SecT113R1Curve outer, ulong[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001A93 RID: 6803
|
||||
// (get) Token: 0x0600A9B6 RID: 43446 RVA: 0x0024AB50 File Offset: 0x00248D50
|
||||
[Token(Token = "0x17001A93")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A9B6")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9B7 RID: 43447 RVA: 0x0024AB64 File Offset: 0x00248D64
|
||||
[Token(Token = "0x600A9B7")]
|
||||
[Address(RVA = "0x7F0A00", Offset = "0x7EFA00", VA = "0x1807F0A00", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
ulong[] array = Nat128.Create64();
|
||||
ulong[] array2 = Nat128.Create64();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
ulong[] table = this.m_table;
|
||||
ulong[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 4;
|
||||
num2++;
|
||||
}
|
||||
SecT113R1Curve outer = this.m_outer;
|
||||
new SecT113FieldElement().x = array;
|
||||
new SecT113FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D9C RID: 28060
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D9C")]
|
||||
private readonly SecT113R1Curve m_outer;
|
||||
|
||||
// Token: 0x04006D9D RID: 28061
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D9D")]
|
||||
private readonly ulong[] m_table;
|
||||
|
||||
// Token: 0x04006D9E RID: 28062
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D9E")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+256
@@ -0,0 +1,256 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B51 RID: 6993
|
||||
[Token(Token = "0x2001B51")]
|
||||
internal class SecT113R1Point : AbstractF2mPoint
|
||||
{
|
||||
// Token: 0x0600A9B8 RID: 43448 RVA: 0x0024ABE4 File Offset: 0x00248DE4
|
||||
[Token(Token = "0x600A9B8")]
|
||||
[Address(RVA = "0x7F21D0", Offset = "0x7F11D0", VA = "0x1807F21D0")]
|
||||
public SecT113R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A9B9 RID: 43449 RVA: 0x0024ABF4 File Offset: 0x00248DF4
|
||||
[Token(Token = "0x600A9B9")]
|
||||
[Address(RVA = "0x7F2110", Offset = "0x7F1110", VA = "0x1807F2110")]
|
||||
public SecT113R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9B9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A9BA RID: 43450 RVA: 0x0024AC1C File Offset: 0x00248E1C
|
||||
[Token(Token = "0x600A9BA")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecT113R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A9BB RID: 43451 RVA: 0x0024AC2C File Offset: 0x00248E2C
|
||||
[Token(Token = "0x600A9BB")]
|
||||
[Address(RVA = "0x7F1410", Offset = "0x7F0410", VA = "0x1807F1410", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9BB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT113R1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT113R1Point[exp:ECPoint](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: 0x17001A94 RID: 6804
|
||||
// (get) Token: 0x0600A9BC RID: 43452 RVA: 0x0024AC48 File Offset: 0x00248E48
|
||||
[Token(Token = "0x17001A94")]
|
||||
public override ECFieldElement YCoord
|
||||
{
|
||||
[Token(Token = "0x600A9BC")]
|
||||
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
|
||||
get
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement y = this.m_y;
|
||||
if (!base.IsInfinity && !x.IsOne)
|
||||
{
|
||||
int fieldSize = y.FieldSize;
|
||||
if (this.m_zs[0].BitLength == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A95 RID: 6805
|
||||
// (get) Token: 0x0600A9BD RID: 43453 RVA: 0x0024AC98 File Offset: 0x00248E98
|
||||
[Token(Token = "0x17001A95")]
|
||||
protected internal override bool CompressionYTilde
|
||||
{
|
||||
[Token(Token = "0x600A9BD")]
|
||||
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement;
|
||||
ECFieldElement ecfieldElement2;
|
||||
return ecfieldElement != ecfieldElement2;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9BE RID: 43454 RVA: 0x0024ACCC File Offset: 0x00248ECC
|
||||
[Token(Token = "0x600A9BE")]
|
||||
[Address(RVA = "0x7F0BD0", Offset = "0x7EFBD0", VA = "0x1807F0BD0", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
while (!base.IsInfinity && !b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
|
||||
}
|
||||
if (ecfieldElement2.BitLength != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
|
||||
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
|
||||
int fieldSize2 = ecfieldElement5.FieldSize;
|
||||
if (fieldSize2 == 0)
|
||||
{
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
sbyte b3;
|
||||
sbyte b2 = b3;
|
||||
TypeCode typeCode = b2.GetTypeCode();
|
||||
int fieldSize3 = y.FieldSize;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
short num;
|
||||
TypeCode typeCode2 = num.GetTypeCode();
|
||||
BigInteger one = BigInteger.One;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
if (ecpoint == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
bool compressionYTilde = b.CompressionYTilde;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9BF RID: 43455 RVA: 0x0024AE20 File Offset: 0x00249020
|
||||
[Token(Token = "0x600A9BF")]
|
||||
[Address(RVA = "0x7F1CC0", Offset = "0x7F0CC0", VA = "0x1807F1CC0", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
int bitLength = ecfieldElement.BitLength;
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
|
||||
if (bitLength == 0)
|
||||
{
|
||||
}
|
||||
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
|
||||
{
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement5;
|
||||
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
|
||||
sbyte b;
|
||||
(new ECFieldElement[1])[0] = b;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
SecT113R1Point secT113R1Point;
|
||||
ECFieldElement[] zcoords = secT113R1Point.GetZCoords();
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A9C0 RID: 43456 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A9C0")]
|
||||
[Address(RVA = "0x7F1660", Offset = "0x7F0660", VA = "0x1807F1660", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600A9C1 RID: 43457 RVA: 0x0024AEE8 File Offset: 0x002490E8
|
||||
[Token(Token = "0x600A9C1")]
|
||||
[Address(RVA = "0x7F14B0", Offset = "0x7F04B0", VA = "0x1807F14B0", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
bool flag = this.SatisfiesOrder();
|
||||
int fieldSize = y.FieldSize;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
}
|
||||
array[0] = ecfieldElement;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+391
@@ -0,0 +1,391 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B52 RID: 6994
|
||||
[Token(Token = "0x2001B52")]
|
||||
internal class SecT113R2Curve : AbstractF2mCurve
|
||||
{
|
||||
// Token: 0x0600A9C2 RID: 43458 RVA: 0x0024AF54 File Offset: 0x00249154
|
||||
[Token(Token = "0x600A9C2")]
|
||||
[Address(RVA = "0x7F27C0", Offset = "0x7F17C0", VA = "0x1807F27C0")]
|
||||
public SecT113R2Curve()
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
base..ctor(113, 9, num2, num);
|
||||
int num3;
|
||||
int num4;
|
||||
SecT113R2Point secT113R2Point = new SecT113R2Point(this, num3, num4, num != 0);
|
||||
num4 = 0;
|
||||
num3 = 0;
|
||||
this.m_infinity = secT113R2Point;
|
||||
byte[] array = Hex.Decode("00689918DBEC7E5A0DD6DFC0AA55C7");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("0095E9A9EC9B297BD4BF36E059184F");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("010000000000000108789B2496AF93");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger3;
|
||||
BigInteger two = BigInteger.Two;
|
||||
this.m_cofactor = two;
|
||||
this.m_coord = (int)((ulong)6L);
|
||||
}
|
||||
|
||||
// Token: 0x0600A9C3 RID: 43459 RVA: 0x0024B00C File Offset: 0x0024920C
|
||||
[Token(Token = "0x600A9C3")]
|
||||
[Address(RVA = "0x7F21F0", Offset = "0x7F11F0", VA = "0x1807F21F0", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9C3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R2Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_1_01, ldc.i4:int32(0))
|
||||
stloc:SecT113R2Point(var_3_0F, newobj:SecT113R2Point(SecT113R2Point::.ctor, ldloc:SecT113R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
|
||||
stloc:int32(var_4, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecT113R2Point(SecT113R2Curve::m_infinity, ldloc:SecT113R2Curve(var_0), ldloc:SecT113R2Point(var_3_0F))
|
||||
stloc:uint8[](var_6_27, call:uint8[](Hex::Decode, ldstr:string("00689918DBEC7E5A0DD6DFC0AA55C7")))
|
||||
stloc:BigInteger(var_7_31, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_27)))
|
||||
stloc:int32(var_8_39, callvirtgetter:int32(SecT113R2Curve::get_FieldSize, ldloc:SecT113R2Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT113R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_39))
|
||||
stloc:uint8[](var_9_4D, call:uint8[](Hex::Decode, ldstr:string("0095E9A9EC9B297BD4BF36E059184F")))
|
||||
stloc:BigInteger(var_10_57, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4D)))
|
||||
stloc:int32(var_11_5F, callvirtgetter:int32(SecT113R2Curve::get_FieldSize, ldloc:SecT113R2Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT113R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5F))
|
||||
stloc:uint8[](var_12_73, call:uint8[](Hex::Decode, ldstr:string("010000000000000108789B2496AF93")))
|
||||
stloc:BigInteger(var_13_7D, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_73)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecT113R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7D))
|
||||
stloc:BigInteger(var_14_8C, ldsfld:BigInteger(BigInteger::Two))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT113R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8C))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecT113R2Curve[exp:ECCurve](var_0), 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: 0x0600A9C4 RID: 43460 RVA: 0x0024B0B8 File Offset: 0x002492B8
|
||||
[Token(Token = "0x600A9C4")]
|
||||
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 6;
|
||||
}
|
||||
|
||||
// Token: 0x17001A96 RID: 6806
|
||||
// (get) Token: 0x0600A9C5 RID: 43461 RVA: 0x0024B0CC File Offset: 0x002492CC
|
||||
[Token(Token = "0x17001A96")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600A9C5")]
|
||||
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9C5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R2Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT113R2Point(var_0_06, ldfld:SecT113R2Point(SecT113R2Curve::m_infinity, ldloc:SecT113R2Curve(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: 0x17001A97 RID: 6807
|
||||
// (get) Token: 0x0600A9C6 RID: 43462 RVA: 0x0024B0E0 File Offset: 0x002492E0
|
||||
[Token(Token = "0x17001A97")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A9C6")]
|
||||
[Address(RVA = "0x7EF190", Offset = "0x7EE190", VA = "0x1807EF190", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return 113;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9C7 RID: 43463 RVA: 0x0024B0F0 File Offset: 0x002492F0
|
||||
[Token(Token = "0x600A9C7")]
|
||||
[Address(RVA = "0x7F2760", Offset = "0x7F1760", VA = "0x1807F2760", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9C7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R2Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT113FieldElement(var_0_06, newobj:SecT113FieldElement(SecT113FieldElement::.ctor, 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: 0x0600A9C8 RID: 43464 RVA: 0x0024B104 File Offset: 0x00249304
|
||||
[Token(Token = "0x600A9C8")]
|
||||
[Address(RVA = "0x7F2630", Offset = "0x7F1630", VA = "0x1807F2630", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9C8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R2Curve::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:SecT113R2Point(var_0_09, newobj:SecT113R2Point(SecT113R2Point::.ctor, ldloc:SecT113R2Curve[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: 0x0600A9C9 RID: 43465 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A9C9")]
|
||||
[Address(RVA = "0x7F26C0", Offset = "0x7F16C0", VA = "0x1807F26C0", 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: 0x17001A98 RID: 6808
|
||||
// (get) Token: 0x0600A9CA RID: 43466 RVA: 0x0024B11C File Offset: 0x0024931C
|
||||
[Token(Token = "0x17001A98")]
|
||||
public override bool IsKoblitz
|
||||
{
|
||||
[Token(Token = "0x600A9CA")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A99 RID: 6809
|
||||
// (get) Token: 0x0600A9CB RID: 43467 RVA: 0x0024B12C File Offset: 0x0024932C
|
||||
[Token(Token = "0x17001A99")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600A9CB")]
|
||||
[Address(RVA = "0x7EF190", Offset = "0x7EE190", VA = "0x1807EF190", Slot = "40")]
|
||||
get
|
||||
{
|
||||
return 113;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A9A RID: 6810
|
||||
// (get) Token: 0x0600A9CC RID: 43468 RVA: 0x0024B13C File Offset: 0x0024933C
|
||||
[Token(Token = "0x17001A9A")]
|
||||
public virtual bool IsTrinomial
|
||||
{
|
||||
[Token(Token = "0x600A9CC")]
|
||||
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A9B RID: 6811
|
||||
// (get) Token: 0x0600A9CD RID: 43469 RVA: 0x0024B14C File Offset: 0x0024934C
|
||||
[Token(Token = "0x17001A9B")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600A9CD")]
|
||||
[Address(RVA = "0x68E020", Offset = "0x68D020", VA = "0x18068E020", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return 9;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A9C RID: 6812
|
||||
// (get) Token: 0x0600A9CE RID: 43470 RVA: 0x0024B15C File Offset: 0x0024935C
|
||||
[Token(Token = "0x17001A9C")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600A9CE")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001A9D RID: 6813
|
||||
// (get) Token: 0x0600A9CF RID: 43471 RVA: 0x0024B16C File Offset: 0x0024936C
|
||||
[Token(Token = "0x17001A9D")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600A9CF")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9D0 RID: 43472 RVA: 0x0024B17C File Offset: 0x0024937C
|
||||
[Token(Token = "0x600A9D0")]
|
||||
[Address(RVA = "0x7F23D0", Offset = "0x7F13D0", VA = "0x1807F23D0", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
ulong[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new ulong[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 4;
|
||||
IL_49:
|
||||
SecT113R2Curve.SecT113R2LookupTable secT113R2LookupTable;
|
||||
secT113R2LookupTable.m_outer = 0;
|
||||
secT113R2LookupTable.m_table = array;
|
||||
secT113R2LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D9F RID: 28063
|
||||
[Token(Token = "0x4006D9F")]
|
||||
private const int SECT113R2_DEFAULT_COORDS = 6;
|
||||
|
||||
// Token: 0x04006DA0 RID: 28064
|
||||
[Token(Token = "0x4006DA0")]
|
||||
private const int SECT113R2_FE_LONGS = 2;
|
||||
|
||||
// Token: 0x04006DA1 RID: 28065
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006DA1")]
|
||||
protected readonly SecT113R2Point m_infinity;
|
||||
|
||||
// Token: 0x02001B53 RID: 6995
|
||||
[Token(Token = "0x2001B53")]
|
||||
private class SecT113R2LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600A9D1 RID: 43473 RVA: 0x0024B1F0 File Offset: 0x002493F0
|
||||
[Token(Token = "0x600A9D1")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecT113R2LookupTable(SecT113R2Curve outer, ulong[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001A9E RID: 6814
|
||||
// (get) Token: 0x0600A9D2 RID: 43474 RVA: 0x0024B218 File Offset: 0x00249418
|
||||
[Token(Token = "0x17001A9E")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600A9D2")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9D3 RID: 43475 RVA: 0x0024B22C File Offset: 0x0024942C
|
||||
[Token(Token = "0x600A9D3")]
|
||||
[Address(RVA = "0x7F2980", Offset = "0x7F1980", VA = "0x1807F2980", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
ulong[] array = Nat128.Create64();
|
||||
ulong[] array2 = Nat128.Create64();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
ulong[] table = this.m_table;
|
||||
ulong[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 4;
|
||||
num2++;
|
||||
}
|
||||
SecT113R2Curve outer = this.m_outer;
|
||||
new SecT113FieldElement().x = array;
|
||||
new SecT113FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DA2 RID: 28066
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DA2")]
|
||||
private readonly SecT113R2Curve m_outer;
|
||||
|
||||
// Token: 0x04006DA3 RID: 28067
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006DA3")]
|
||||
private readonly ulong[] m_table;
|
||||
|
||||
// Token: 0x04006DA4 RID: 28068
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006DA4")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+256
@@ -0,0 +1,256 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B54 RID: 6996
|
||||
[Token(Token = "0x2001B54")]
|
||||
internal class SecT113R2Point : AbstractF2mPoint
|
||||
{
|
||||
// Token: 0x0600A9D4 RID: 43476 RVA: 0x0024B2AC File Offset: 0x002494AC
|
||||
[Token(Token = "0x600A9D4")]
|
||||
[Address(RVA = "0x7F4090", Offset = "0x7F3090", VA = "0x1807F4090")]
|
||||
public SecT113R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A9D5 RID: 43477 RVA: 0x0024B2BC File Offset: 0x002494BC
|
||||
[Token(Token = "0x600A9D5")]
|
||||
[Address(RVA = "0x7F40B0", Offset = "0x7F30B0", VA = "0x1807F40B0")]
|
||||
public SecT113R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9D5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R2Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600A9D6 RID: 43478 RVA: 0x0024B2E4 File Offset: 0x002494E4
|
||||
[Token(Token = "0x600A9D6")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecT113R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A9D7 RID: 43479 RVA: 0x0024B2F4 File Offset: 0x002494F4
|
||||
[Token(Token = "0x600A9D7")]
|
||||
[Address(RVA = "0x7F3390", Offset = "0x7F2390", VA = "0x1807F3390", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9D7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT113R2Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT113R2Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT113R2Point[exp:ECPoint](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: 0x17001A9F RID: 6815
|
||||
// (get) Token: 0x0600A9D8 RID: 43480 RVA: 0x0024B310 File Offset: 0x00249510
|
||||
[Token(Token = "0x17001A9F")]
|
||||
public override ECFieldElement YCoord
|
||||
{
|
||||
[Token(Token = "0x600A9D8")]
|
||||
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
|
||||
get
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement y = this.m_y;
|
||||
if (!base.IsInfinity && !x.IsOne)
|
||||
{
|
||||
int fieldSize = y.FieldSize;
|
||||
if (this.m_zs[0].BitLength == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AA0 RID: 6816
|
||||
// (get) Token: 0x0600A9D9 RID: 43481 RVA: 0x0024B360 File Offset: 0x00249560
|
||||
[Token(Token = "0x17001AA0")]
|
||||
protected internal override bool CompressionYTilde
|
||||
{
|
||||
[Token(Token = "0x600A9D9")]
|
||||
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement;
|
||||
ECFieldElement ecfieldElement2;
|
||||
return ecfieldElement != ecfieldElement2;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9DA RID: 43482 RVA: 0x0024B394 File Offset: 0x00249594
|
||||
[Token(Token = "0x600A9DA")]
|
||||
[Address(RVA = "0x7F2B50", Offset = "0x7F1B50", VA = "0x1807F2B50", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
while (!base.IsInfinity && !b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
|
||||
}
|
||||
if (ecfieldElement2.BitLength != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
|
||||
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
|
||||
int fieldSize2 = ecfieldElement5.FieldSize;
|
||||
if (fieldSize2 == 0)
|
||||
{
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
sbyte b3;
|
||||
sbyte b2 = b3;
|
||||
TypeCode typeCode = b2.GetTypeCode();
|
||||
int fieldSize3 = y.FieldSize;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
short num;
|
||||
TypeCode typeCode2 = num.GetTypeCode();
|
||||
BigInteger one = BigInteger.One;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
if (ecpoint == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
bool compressionYTilde = b.CompressionYTilde;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9DB RID: 43483 RVA: 0x0024B4E8 File Offset: 0x002496E8
|
||||
[Token(Token = "0x600A9DB")]
|
||||
[Address(RVA = "0x7F3C40", Offset = "0x7F2C40", VA = "0x1807F3C40", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
int bitLength = ecfieldElement.BitLength;
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
|
||||
if (bitLength == 0)
|
||||
{
|
||||
}
|
||||
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
|
||||
{
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement5;
|
||||
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
|
||||
sbyte b;
|
||||
(new ECFieldElement[1])[0] = b;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
SecT113R2Point secT113R2Point;
|
||||
ECFieldElement[] zcoords = secT113R2Point.GetZCoords();
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A9DC RID: 43484 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600A9DC")]
|
||||
[Address(RVA = "0x7F35E0", Offset = "0x7F25E0", VA = "0x1807F35E0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600A9DD RID: 43485 RVA: 0x0024B5B0 File Offset: 0x002497B0
|
||||
[Token(Token = "0x600A9DD")]
|
||||
[Address(RVA = "0x7F3430", Offset = "0x7F2430", VA = "0x1807F3430", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
bool flag = this.SatisfiesOrder();
|
||||
int fieldSize = y.FieldSize;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
}
|
||||
array[0] = ecfieldElement;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+327
@@ -0,0 +1,327 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B55 RID: 6997
|
||||
[Token(Token = "0x2001B55")]
|
||||
internal class SecT131Field
|
||||
{
|
||||
// Token: 0x0600A9DE RID: 43486 RVA: 0x0024B61C File Offset: 0x0024981C
|
||||
[Token(Token = "0x600A9DE")]
|
||||
[Address(RVA = "0x7F52E0", Offset = "0x7F42E0", VA = "0x1807F52E0")]
|
||||
public static void Add(ulong[] x, ulong[] y, ulong[] z)
|
||||
{
|
||||
ulong num = y[0];
|
||||
z[0] = num;
|
||||
ulong num2 = y[1];
|
||||
z[1] = num2;
|
||||
ulong num3 = y[2];
|
||||
z[2] = num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9DF RID: 43487 RVA: 0x0024B660 File Offset: 0x00249860
|
||||
[Token(Token = "0x600A9DF")]
|
||||
[Address(RVA = "0x7BF5E0", Offset = "0x7BE5E0", VA = "0x1807BF5E0")]
|
||||
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
|
||||
{
|
||||
ulong num = yy[0];
|
||||
zz[0] = num;
|
||||
ulong num2 = yy[1];
|
||||
zz[1] = num2;
|
||||
ulong num3 = yy[2];
|
||||
zz[2] = num3;
|
||||
ulong num4 = yy[3];
|
||||
zz[3] = num4;
|
||||
ulong num5 = yy[4];
|
||||
zz[4] = num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E0 RID: 43488 RVA: 0x0024B6C8 File Offset: 0x002498C8
|
||||
[Token(Token = "0x600A9E0")]
|
||||
[Address(RVA = "0x7F5220", Offset = "0x7F4220", VA = "0x1807F5220")]
|
||||
public static void AddOne(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong num = x[0];
|
||||
z[0] = num;
|
||||
ulong num2 = x[1];
|
||||
z[1] = num2;
|
||||
ulong num3 = x[2];
|
||||
z[2] = num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E1 RID: 43489 RVA: 0x0024B70C File Offset: 0x0024990C
|
||||
[Token(Token = "0x600A9E1")]
|
||||
[Address(RVA = "0x7F5420", Offset = "0x7F4420", VA = "0x1807F5420")]
|
||||
public static ulong[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
ulong[] array = Nat192.FromBigInteger64(x);
|
||||
ulong num = array[2];
|
||||
num += num;
|
||||
array[0] = num;
|
||||
array[2] = num;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E2 RID: 43490 RVA: 0x0024B744 File Offset: 0x00249944
|
||||
[Token(Token = "0x600A9E2")]
|
||||
[Address(RVA = "0x7F6130", Offset = "0x7F5130", VA = "0x1807F6130")]
|
||||
public static void Invert(ulong[] x, ulong[] z)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9E2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131Field::Invert(System.UInt64[],System.UInt64[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_A5:
|
||||
stloc:InvalidOperationException(var_4_AA, newobj:InvalidOperationException(InvalidOperationException::.ctor))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E3 RID: 43491 RVA: 0x0024B7FC File Offset: 0x002499FC
|
||||
[Token(Token = "0x600A9E3")]
|
||||
[Address(RVA = "0x7F63B0", Offset = "0x7F53B0", VA = "0x1807F63B0")]
|
||||
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat192.CreateExt64();
|
||||
SecT131Field.ImplMultiply(x, y, array);
|
||||
SecT131Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E4 RID: 43492 RVA: 0x0024B820 File Offset: 0x00249A20
|
||||
[Token(Token = "0x600A9E4")]
|
||||
[Address(RVA = "0x7F6310", Offset = "0x7F5310", VA = "0x1807F6310")]
|
||||
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
|
||||
{
|
||||
ulong[] array = Nat192.CreateExt64();
|
||||
SecT131Field.ImplMultiply(x, y, array);
|
||||
SecT131Field.AddExt(zz, array, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E5 RID: 43493 RVA: 0x0024B848 File Offset: 0x00249A48
|
||||
[Token(Token = "0x600A9E5")]
|
||||
[Address(RVA = "0x7F6510", Offset = "0x7F5510", VA = "0x1807F6510")]
|
||||
public static void Reduce(ulong[] xx, ulong[] z)
|
||||
{
|
||||
int length = xx.Length;
|
||||
ulong num = xx[2];
|
||||
ulong num2 = xx[4];
|
||||
num2 += num2;
|
||||
z[0] = num2;
|
||||
z[1] = num2;
|
||||
z[2] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E6 RID: 43494 RVA: 0x0024B890 File Offset: 0x00249A90
|
||||
[Token(Token = "0x600A9E6")]
|
||||
[Address(RVA = "0x7F6450", Offset = "0x7F5450", VA = "0x1807F6450")]
|
||||
public static void Reduce61(ulong[] z, int zOff)
|
||||
{
|
||||
int length = z.Length;
|
||||
ulong num;
|
||||
num += num;
|
||||
z[0] = num;
|
||||
z[0] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E7 RID: 43495 RVA: 0x0024B8C0 File Offset: 0x00249AC0
|
||||
[Token(Token = "0x600A9E7")]
|
||||
[Address(RVA = "0x7F66D0", Offset = "0x7F56D0", VA = "0x1807F66D0")]
|
||||
public static void Sqrt(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat192.Create64();
|
||||
ulong num = Interleave.Unshuffle(x[0]);
|
||||
ulong num2 = x[1];
|
||||
ulong num3 = Interleave.Unshuffle(num2);
|
||||
array[0] = num;
|
||||
ulong num4 = Interleave.Unshuffle(x[2]);
|
||||
array[1] = num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E8 RID: 43496 RVA: 0x0024B91C File Offset: 0x00249B1C
|
||||
[Token(Token = "0x600A9E8")]
|
||||
[Address(RVA = "0x7F6A20", Offset = "0x7F5A20", VA = "0x1807F6A20")]
|
||||
public static void Square(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat.Create64(5);
|
||||
SecT131Field.ImplSquare(x, array);
|
||||
SecT131Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600A9E9 RID: 43497 RVA: 0x0024B940 File Offset: 0x00249B40
|
||||
[Token(Token = "0x600A9E9")]
|
||||
[Address(RVA = "0x7F68A0", Offset = "0x7F58A0", VA = "0x1807F68A0")]
|
||||
public static void SquareAddToExt(ulong[] x, ulong[] zz)
|
||||
{
|
||||
ulong[] array = Nat.Create64(5);
|
||||
SecT131Field.ImplSquare(x, array);
|
||||
SecT131Field.AddExt(zz, array, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600A9EA RID: 43498 RVA: 0x0024B964 File Offset: 0x00249B64
|
||||
[Token(Token = "0x600A9EA")]
|
||||
[Address(RVA = "0x7F6930", Offset = "0x7F5930", VA = "0x1807F6930")]
|
||||
public static void SquareN(ulong[] x, int n, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat.Create64(5);
|
||||
SecT131Field.ImplSquare(x, array);
|
||||
SecT131Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
SecT131Field.ImplSquare(z, array);
|
||||
SecT131Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9EB RID: 43499 RVA: 0x0024B998 File Offset: 0x00249B98
|
||||
[Token(Token = "0x600A9EB")]
|
||||
[Address(RVA = "0x7F6AB0", Offset = "0x7F5AB0", VA = "0x1807F6AB0")]
|
||||
public static uint Trace(ulong[] x)
|
||||
{
|
||||
int length = x.Length;
|
||||
ulong num = x[2];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A9EC RID: 43500 RVA: 0x0024B9BC File Offset: 0x00249BBC
|
||||
[Token(Token = "0x600A9EC")]
|
||||
[Address(RVA = "0x7F5500", Offset = "0x7F4500", VA = "0x1807F5500")]
|
||||
protected static void ImplCompactExt(ulong[] zz)
|
||||
{
|
||||
int length = zz.Length;
|
||||
ulong num = zz[1];
|
||||
ulong num2 = zz[3];
|
||||
ulong num3 = zz[5];
|
||||
zz[1] = num;
|
||||
zz[2] = num;
|
||||
zz[3] = num2;
|
||||
zz[4] = num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9ED RID: 43501 RVA: 0x0024BA10 File Offset: 0x00249C10
|
||||
[Token(Token = "0x600A9ED")]
|
||||
[Address(RVA = "0x7F56B0", Offset = "0x7F46B0", VA = "0x1807F56B0")]
|
||||
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
|
||||
{
|
||||
int length = x.Length;
|
||||
ulong num = x[0];
|
||||
ulong num2 = x[2];
|
||||
int length2 = y.Length;
|
||||
ulong num3 = y[0];
|
||||
ulong[] array = new ulong[10];
|
||||
int num4 = 0;
|
||||
SecT131Field.ImplMulw(num, num3, array, num4);
|
||||
num = num2;
|
||||
SecT131Field.ImplMulw(num, num3, array, 2);
|
||||
num = num2;
|
||||
uint num5;
|
||||
SecT131Field.ImplMulw(num, num3, array, (int)num5);
|
||||
num2 += num2;
|
||||
num += num;
|
||||
num2 += num2;
|
||||
num3 = num;
|
||||
num = num2;
|
||||
SecT131Field.ImplMulw(num, num3, array, 6);
|
||||
num3 = num;
|
||||
SecT131Field.ImplMulw(num, num3, array, 8);
|
||||
int length3 = array.Length;
|
||||
ulong num6 = array[6];
|
||||
ulong num7 = array[0];
|
||||
array += array;
|
||||
num6 += num6;
|
||||
zz[0] = num7;
|
||||
ulong num8 = array[2];
|
||||
zz[1] = num8;
|
||||
ulong num9 = array[3];
|
||||
zz[2] = num9;
|
||||
zz[3] = num9;
|
||||
ulong num10 = array[2];
|
||||
zz[4] = num10;
|
||||
ulong num11 = array[3];
|
||||
zz[5] = num11;
|
||||
SecT131Field.ImplCompactExt(zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600A9EE RID: 43502 RVA: 0x0024BB3C File Offset: 0x00249D3C
|
||||
[Token(Token = "0x600A9EE")]
|
||||
[Address(RVA = "0x7F5C90", Offset = "0x7F4C90", VA = "0x1807F5C90")]
|
||||
protected static void ImplMulw(ulong x, ulong y, ulong[] z, int zOff)
|
||||
{
|
||||
ulong[] array = new ulong[8];
|
||||
array[1] = y;
|
||||
int num = array.Length;
|
||||
array[2] = (ulong)num;
|
||||
int length = array.Length;
|
||||
array[3] = (ulong)num;
|
||||
num = length;
|
||||
array[4] = (ulong)num;
|
||||
int length2 = array.Length;
|
||||
array[5] = (ulong)num;
|
||||
num = length2;
|
||||
array[6] = (ulong)num;
|
||||
int length3 = array.Length;
|
||||
array[7] = (ulong)num;
|
||||
ulong num2 = array[(int)x];
|
||||
int num3 = zOff + 1;
|
||||
z[0] = x;
|
||||
z[0] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9EF RID: 43503 RVA: 0x0024BBD0 File Offset: 0x00249DD0
|
||||
[Token(Token = "0x600A9EF")]
|
||||
[Address(RVA = "0x7F6070", Offset = "0x7F5070", VA = "0x1807F6070")]
|
||||
protected static void ImplSquare(ulong[] x, ulong[] zz)
|
||||
{
|
||||
ulong num = x[0];
|
||||
int num2 = 0;
|
||||
Interleave.Expand64To128(num, zz, num2);
|
||||
Interleave.Expand64To128(x[1], zz, 2);
|
||||
uint num3 = Interleave.Expand8to16((uint)x[2]);
|
||||
zz[4] = (ulong)num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9F0 RID: 43504 RVA: 0x0024BC18 File Offset: 0x00249E18
|
||||
[Token(Token = "0x600A9F0")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecT131Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600A9F1 RID: 43505 RVA: 0x0024BC2C File Offset: 0x00249E2C
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600A9F1")]
|
||||
[Address(RVA = "0x7F6B20", Offset = "0x7F5B20", VA = "0x1807F6B20")]
|
||||
static SecT131Field()
|
||||
{
|
||||
RuntimeHelpers.InitializeArray(new ulong[3], fieldof(<PrivateImplementationDetails>.CBF7F8D48ACC5EB9048CB8F1FCFAF93B33516965).FieldHandle);
|
||||
}
|
||||
|
||||
// Token: 0x04006DA5 RID: 28069
|
||||
[Token(Token = "0x4006DA5")]
|
||||
private const ulong M03 = 7UL;
|
||||
|
||||
// Token: 0x04006DA6 RID: 28070
|
||||
[Token(Token = "0x4006DA6")]
|
||||
private const ulong M44 = 17592186044415UL;
|
||||
|
||||
// Token: 0x04006DA7 RID: 28071
|
||||
[Token(Token = "0x4006DA7")]
|
||||
private static readonly ulong[] ROOT_Z;
|
||||
}
|
||||
}
|
||||
+598
@@ -0,0 +1,598 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B56 RID: 6998
|
||||
[Token(Token = "0x2001B56")]
|
||||
internal class SecT131FieldElement : AbstractF2mFieldElement
|
||||
{
|
||||
// Token: 0x0600A9F2 RID: 43506 RVA: 0x0024BC4C File Offset: 0x00249E4C
|
||||
[Token(Token = "0x600A9F2")]
|
||||
[Address(RVA = "0x7F5020", Offset = "0x7F4020", VA = "0x1807F5020")]
|
||||
public SecT131FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9F2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_3C:
|
||||
stloc:ArgumentException(var_3_4B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT131FieldElement"), ldstr:string("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.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: 0x0600A9F3 RID: 43507 RVA: 0x0024BCA4 File Offset: 0x00249EA4
|
||||
[Token(Token = "0x600A9F3")]
|
||||
[Address(RVA = "0x7F4FF0", Offset = "0x7F3FF0", VA = "0x1807F4FF0")]
|
||||
public SecT131FieldElement()
|
||||
{
|
||||
ulong[] array = Nat192.Create64();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600A9F4 RID: 43508 RVA: 0x0024BCC8 File Offset: 0x00249EC8
|
||||
[Token(Token = "0x600A9F4")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecT131FieldElement(ulong[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001AA1 RID: 6817
|
||||
// (get) Token: 0x0600A9F5 RID: 43509 RVA: 0x0024BCE4 File Offset: 0x00249EE4
|
||||
[Token(Token = "0x17001AA1")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600A9F5")]
|
||||
[Address(RVA = "0x7F5200", Offset = "0x7F4200", VA = "0x1807F5200", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat192.IsOne64(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AA2 RID: 6818
|
||||
// (get) Token: 0x0600A9F6 RID: 43510 RVA: 0x0024BCFC File Offset: 0x00249EFC
|
||||
[Token(Token = "0x17001AA2")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600A9F6")]
|
||||
[Address(RVA = "0x7F5210", Offset = "0x7F4210", VA = "0x1807F5210", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat192.IsZero64(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9F7 RID: 43511 RVA: 0x0024BD14 File Offset: 0x00249F14
|
||||
[Token(Token = "0x600A9F7")]
|
||||
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A9F8 RID: 43512 RVA: 0x0024BD30 File Offset: 0x00249F30
|
||||
[Token(Token = "0x600A9F8")]
|
||||
[Address(RVA = "0x7F4F30", Offset = "0x7F3F30", VA = "0x1807F4F30", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat192.ToBigInteger64(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001AA3 RID: 6819
|
||||
// (get) Token: 0x0600A9F9 RID: 43513 RVA: 0x0024BD48 File Offset: 0x00249F48
|
||||
[Token(Token = "0x17001AA3")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600A9F9")]
|
||||
[Address(RVA = "0x7F51C0", Offset = "0x7F41C0", VA = "0x1807F51C0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecT131Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AA4 RID: 6820
|
||||
// (get) Token: 0x0600A9FA RID: 43514 RVA: 0x0024BD5C File Offset: 0x00249F5C
|
||||
[Token(Token = "0x17001AA4")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600A9FA")]
|
||||
[Address(RVA = "0x7F51F0", Offset = "0x7F41F0", VA = "0x1807F51F0", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return 131;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600A9FB RID: 43515 RVA: 0x0024BD70 File Offset: 0x00249F70
|
||||
[Token(Token = "0x600A9FB")]
|
||||
[Address(RVA = "0x7F42B0", Offset = "0x7F32B0", VA = "0x1807F42B0", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
ulong[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = Nat192.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecT131FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
if (b != 0)
|
||||
{
|
||||
num = 0;
|
||||
if (b != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
array[0] = (ulong)num;
|
||||
array[1] = (ulong)num;
|
||||
array[2] = (ulong)num;
|
||||
new SecT131FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A9FC RID: 43516 RVA: 0x0024BDD0 File Offset: 0x00249FD0
|
||||
[Token(Token = "0x600A9FC")]
|
||||
[Address(RVA = "0x7F4170", Offset = "0x7F3170", VA = "0x1807F4170", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
ulong[] array = Nat192.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
ulong num = array2[0];
|
||||
array[0] = num;
|
||||
ulong num2 = array2[1];
|
||||
array[1] = num2;
|
||||
ulong num3 = array2[2];
|
||||
array[2] = num3;
|
||||
new SecT131FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A9FD RID: 43517 RVA: 0x0024BE30 File Offset: 0x0024A030
|
||||
[Token(Token = "0x600A9FD")]
|
||||
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9FD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT131FieldElement[exp:ECFieldElement](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: 0x0600A9FE RID: 43518 RVA: 0x0024BE44 File Offset: 0x0024A044
|
||||
[Token(Token = "0x600A9FE")]
|
||||
[Address(RVA = "0x7F49D0", Offset = "0x7F39D0", VA = "0x1807F49D0", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
ulong[] array;
|
||||
do
|
||||
{
|
||||
array = Nat192.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecT131FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecT131FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600A9FF RID: 43519 RVA: 0x0024BE8C File Offset: 0x0024A08C
|
||||
[Token(Token = "0x600A9FF")]
|
||||
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
|
||||
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600A9FF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT131FieldElement[exp:ECFieldElement](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: 0x0600AA00 RID: 43520 RVA: 0x0024BEA0 File Offset: 0x0024A0A0
|
||||
[Token(Token = "0x600AA00")]
|
||||
[Address(RVA = "0x7F4740", Offset = "0x7F3740", VA = "0x1807F4740", Slot = "20")]
|
||||
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
do
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
}
|
||||
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
|
||||
ulong[] array2 = Nat.Create64(5);
|
||||
ulong[] array3 = Nat192.Create64();
|
||||
SecT131Field.Reduce(array2, array3);
|
||||
new SecT131FieldElement().x = array3;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA01 RID: 43521 RVA: 0x0024BF08 File Offset: 0x0024A108
|
||||
[Token(Token = "0x600AA01")]
|
||||
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
ECFieldElement ecfieldElement = b.Square();
|
||||
BigInteger bigInteger = base.ToBigInteger();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA02 RID: 43522 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AA02")]
|
||||
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AA03 RID: 43523 RVA: 0x0024BF28 File Offset: 0x0024A128
|
||||
[Token(Token = "0x600AA03")]
|
||||
[Address(RVA = "0x7F4EA0", Offset = "0x7F3EA0", VA = "0x1807F4EA0", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA03)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
|
||||
call:void(SecT131Field::Square, ldfld:uint64[](SecT131FieldElement::x, ldloc:SecT131FieldElement(this)), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT131FieldElement::x, newobj:SecT131FieldElement(SecT131FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AA04 RID: 43524 RVA: 0x0024BF54 File Offset: 0x0024A154
|
||||
[Token(Token = "0x600AA04")]
|
||||
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
|
||||
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA04)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT131FieldElement[exp:ECFieldElement](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: 0x0600AA05 RID: 43525 RVA: 0x0024BF68 File Offset: 0x0024A168
|
||||
[Token(Token = "0x600AA05")]
|
||||
[Address(RVA = "0x7F4BA0", Offset = "0x7F3BA0", VA = "0x1807F4BA0", Slot = "22")]
|
||||
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
ulong[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (x == 0 || x == 0 || y == 0 || y == 0);
|
||||
ulong[] array2 = Nat.Create64(5);
|
||||
ulong[] array3 = Nat.Create64(5);
|
||||
SecT131Field.ImplSquare(array, array3);
|
||||
SecT131Field.AddExt(array2, array3, array2);
|
||||
ulong[] array4 = Nat192.Create64();
|
||||
SecT131Field.Reduce(array2, array4);
|
||||
new SecT131FieldElement().x = array4;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA06 RID: 43526 RVA: 0x0024BFDC File Offset: 0x0024A1DC
|
||||
[Token(Token = "0x600AA06")]
|
||||
[Address(RVA = "0x7F4E00", Offset = "0x7F3E00", VA = "0x1807F4E00", Slot = "23")]
|
||||
public override ECFieldElement SquarePow(int pow)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA06)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::SquarePow(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
|
||||
call:void(SecT131Field::SquareN, ldfld:uint64[](SecT131FieldElement::x, ldloc:SecT131FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT131FieldElement::x, newobj:SecT131FieldElement(SecT131FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AA07 RID: 43527 RVA: 0x0024C008 File Offset: 0x0024A208
|
||||
[Token(Token = "0x600AA07")]
|
||||
[Address(RVA = "0x7F4F40", Offset = "0x7F3F40", VA = "0x1807F4F40", Slot = "28")]
|
||||
public override int Trace()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
int length = array.Length;
|
||||
ulong num = array[2];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA08 RID: 43528 RVA: 0x0024C030 File Offset: 0x0024A230
|
||||
[Token(Token = "0x600AA08")]
|
||||
[Address(RVA = "0x7F46B0", Offset = "0x7F36B0", VA = "0x1807F46B0", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA08)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
|
||||
call:void(SecT131Field::Invert, ldfld:uint64[](SecT131FieldElement::x, ldloc:SecT131FieldElement(this)), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT131FieldElement::x, newobj:SecT131FieldElement(SecT131FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AA09 RID: 43529 RVA: 0x0024C05C File Offset: 0x0024A25C
|
||||
[Token(Token = "0x600AA09")]
|
||||
[Address(RVA = "0x7F4B10", Offset = "0x7F3B10", VA = "0x1807F4B10", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA09)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::Sqrt()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
|
||||
call:void(SecT131Field::Sqrt, ldfld:uint64[](SecT131FieldElement::x, ldloc:SecT131FieldElement(this)), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT131FieldElement::x, newobj:SecT131FieldElement(SecT131FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x17001AA5 RID: 6821
|
||||
// (get) Token: 0x0600AA0A RID: 43530 RVA: 0x0024C088 File Offset: 0x0024A288
|
||||
[Token(Token = "0x17001AA5")]
|
||||
public virtual int Representation
|
||||
{
|
||||
[Token(Token = "0x600AA0A")]
|
||||
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "29")]
|
||||
get
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AA6 RID: 6822
|
||||
// (get) Token: 0x0600AA0B RID: 43531 RVA: 0x0024C098 File Offset: 0x0024A298
|
||||
[Token(Token = "0x17001AA6")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600AA0B")]
|
||||
[Address(RVA = "0x7F51F0", Offset = "0x7F41F0", VA = "0x1807F51F0", Slot = "30")]
|
||||
get
|
||||
{
|
||||
return 131;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AA7 RID: 6823
|
||||
// (get) Token: 0x0600AA0C RID: 43532 RVA: 0x0024C0AC File Offset: 0x0024A2AC
|
||||
[Token(Token = "0x17001AA7")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600AA0C")]
|
||||
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "31")]
|
||||
get
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AA8 RID: 6824
|
||||
// (get) Token: 0x0600AA0D RID: 43533 RVA: 0x0024C0BC File Offset: 0x0024A2BC
|
||||
[Token(Token = "0x17001AA8")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600AA0D")]
|
||||
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "32")]
|
||||
get
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AA9 RID: 6825
|
||||
// (get) Token: 0x0600AA0E RID: 43534 RVA: 0x0024C0CC File Offset: 0x0024A2CC
|
||||
[Token(Token = "0x17001AA9")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600AA0E")]
|
||||
[Address(RVA = "0x681E00", Offset = "0x680E00", VA = "0x180681E00", Slot = "33")]
|
||||
get
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA0F RID: 43535 RVA: 0x0024C0DC File Offset: 0x0024A2DC
|
||||
[Token(Token = "0x600AA0F")]
|
||||
[Address(RVA = "0x7F4590", Offset = "0x7F3590", VA = "0x1807F4590", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA0F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT131FieldElement[exp:ECFieldElement](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: 0x0600AA10 RID: 43536 RVA: 0x0024C0F8 File Offset: 0x0024A2F8
|
||||
[Token(Token = "0x600AA10")]
|
||||
[Address(RVA = "0x7F4500", Offset = "0x7F3500", VA = "0x1807F4500", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA10)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT131FieldElement[exp:ECFieldElement](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: 0x0600AA11 RID: 43537 RVA: 0x0024C114 File Offset: 0x0024A314
|
||||
[Token(Token = "0x600AA11")]
|
||||
[Address(RVA = "0x7F4620", Offset = "0x7F3620", VA = "0x1807F4620", Slot = "34")]
|
||||
public virtual bool Equals(SecT131FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
ulong[] array = other.x;
|
||||
return Nat192.Eq64(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA12 RID: 43538 RVA: 0x0024C140 File Offset: 0x0024A340
|
||||
[Token(Token = "0x600AA12")]
|
||||
[Address(RVA = "0x7F4640", Offset = "0x7F3640", VA = "0x1807F4640", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 3);
|
||||
}
|
||||
|
||||
// Token: 0x04006DA8 RID: 28072
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DA8")]
|
||||
protected internal readonly ulong[] x;
|
||||
}
|
||||
}
|
||||
+390
@@ -0,0 +1,390 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B57 RID: 6999
|
||||
[Token(Token = "0x2001B57")]
|
||||
internal class SecT131R1Curve : AbstractF2mCurve
|
||||
{
|
||||
// Token: 0x0600AA13 RID: 43539 RVA: 0x0024C160 File Offset: 0x0024A360
|
||||
[Token(Token = "0x600AA13")]
|
||||
[Address(RVA = "0x7F7160", Offset = "0x7F6160", VA = "0x1807F7160")]
|
||||
public SecT131R1Curve()
|
||||
{
|
||||
int num = 0;
|
||||
ulong num2;
|
||||
base..ctor(131, 2, 3, (int)num2);
|
||||
int num3;
|
||||
int num4;
|
||||
SecT131R1Point secT131R1Point = new SecT131R1Point(this, num3, num4, num != 0);
|
||||
num4 = 0;
|
||||
num3 = 0;
|
||||
this.m_infinity = secT131R1Point;
|
||||
byte[] array = Hex.Decode("07A11B09A76B562144418FF3FF8C2570B8");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("0217C05610884B63B9C6C7291678F9D341");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("0400000000000000023123953A9464B54D");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger3;
|
||||
BigInteger two = BigInteger.Two;
|
||||
this.m_cofactor = two;
|
||||
this.m_coord = (int)((ulong)6L);
|
||||
}
|
||||
|
||||
// Token: 0x0600AA14 RID: 43540 RVA: 0x0024C218 File Offset: 0x0024A418
|
||||
[Token(Token = "0x600AA14")]
|
||||
[Address(RVA = "0x7F6B80", Offset = "0x7F5B80", VA = "0x1807F6B80", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA14)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_1_01, ldc.i4:int32(0))
|
||||
stloc:SecT131R1Point(var_3_0D, newobj:SecT131R1Point(SecT131R1Point::.ctor, ldloc:SecT131R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
|
||||
stloc:int32(var_4, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecT131R1Point(SecT131R1Curve::m_infinity, ldloc:SecT131R1Curve(var_0), ldloc:SecT131R1Point(var_3_0D))
|
||||
stloc:uint8[](var_6_25, call:uint8[](Hex::Decode, ldstr:string("07A11B09A76B562144418FF3FF8C2570B8")))
|
||||
stloc:BigInteger(var_7_2F, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_25)))
|
||||
stloc:int32(var_8_37, callvirtgetter:int32(SecT131R1Curve::get_FieldSize, ldloc:SecT131R1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT131R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_37))
|
||||
stloc:uint8[](var_9_4B, call:uint8[](Hex::Decode, ldstr:string("0217C05610884B63B9C6C7291678F9D341")))
|
||||
stloc:BigInteger(var_10_55, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4B)))
|
||||
stloc:int32(var_11_5D, callvirtgetter:int32(SecT131R1Curve::get_FieldSize, ldloc:SecT131R1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT131R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5D))
|
||||
stloc:uint8[](var_12_71, call:uint8[](Hex::Decode, ldstr:string("0400000000000000023123953A9464B54D")))
|
||||
stloc:BigInteger(var_13_7B, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_71)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecT131R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7B))
|
||||
stloc:BigInteger(var_14_8A, ldsfld:BigInteger(BigInteger::Two))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT131R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8A))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecT131R1Curve[exp:ECCurve](var_0), 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: 0x0600AA15 RID: 43541 RVA: 0x0024C2C4 File Offset: 0x0024A4C4
|
||||
[Token(Token = "0x600AA15")]
|
||||
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 6;
|
||||
}
|
||||
|
||||
// Token: 0x17001AAA RID: 6826
|
||||
// (get) Token: 0x0600AA16 RID: 43542 RVA: 0x0024C2D8 File Offset: 0x0024A4D8
|
||||
[Token(Token = "0x17001AAA")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600AA16")]
|
||||
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA16)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT131R1Point(var_0_06, ldfld:SecT131R1Point(SecT131R1Curve::m_infinity, ldloc:SecT131R1Curve(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: 0x17001AAB RID: 6827
|
||||
// (get) Token: 0x0600AA17 RID: 43543 RVA: 0x0024C2EC File Offset: 0x0024A4EC
|
||||
[Token(Token = "0x17001AAB")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AA17")]
|
||||
[Address(RVA = "0x7F51F0", Offset = "0x7F41F0", VA = "0x1807F51F0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return 131;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA18 RID: 43544 RVA: 0x0024C300 File Offset: 0x0024A500
|
||||
[Token(Token = "0x600AA18")]
|
||||
[Address(RVA = "0x7F7100", Offset = "0x7F6100", VA = "0x1807F7100", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA18)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT131FieldElement(var_0_06, newobj:SecT131FieldElement(SecT131FieldElement::.ctor, 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: 0x0600AA19 RID: 43545 RVA: 0x0024C314 File Offset: 0x0024A514
|
||||
[Token(Token = "0x600AA19")]
|
||||
[Address(RVA = "0x7F6FD0", Offset = "0x7F5FD0", VA = "0x1807F6FD0", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA19)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R1Curve::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:SecT131R1Point(var_0_09, newobj:SecT131R1Point(SecT131R1Point::.ctor, ldloc:SecT131R1Curve[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: 0x0600AA1A RID: 43546 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AA1A")]
|
||||
[Address(RVA = "0x7F7060", Offset = "0x7F6060", VA = "0x1807F7060", 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: 0x17001AAC RID: 6828
|
||||
// (get) Token: 0x0600AA1B RID: 43547 RVA: 0x0024C32C File Offset: 0x0024A52C
|
||||
[Token(Token = "0x17001AAC")]
|
||||
public override bool IsKoblitz
|
||||
{
|
||||
[Token(Token = "0x600AA1B")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AAD RID: 6829
|
||||
// (get) Token: 0x0600AA1C RID: 43548 RVA: 0x0024C33C File Offset: 0x0024A53C
|
||||
[Token(Token = "0x17001AAD")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600AA1C")]
|
||||
[Address(RVA = "0x7F51F0", Offset = "0x7F41F0", VA = "0x1807F51F0", Slot = "40")]
|
||||
get
|
||||
{
|
||||
return 131;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AAE RID: 6830
|
||||
// (get) Token: 0x0600AA1D RID: 43549 RVA: 0x0024C350 File Offset: 0x0024A550
|
||||
[Token(Token = "0x17001AAE")]
|
||||
public virtual bool IsTrinomial
|
||||
{
|
||||
[Token(Token = "0x600AA1D")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "41")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AAF RID: 6831
|
||||
// (get) Token: 0x0600AA1E RID: 43550 RVA: 0x0024C360 File Offset: 0x0024A560
|
||||
[Token(Token = "0x17001AAF")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600AA1E")]
|
||||
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AB0 RID: 6832
|
||||
// (get) Token: 0x0600AA1F RID: 43551 RVA: 0x0024C370 File Offset: 0x0024A570
|
||||
[Token(Token = "0x17001AB0")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600AA1F")]
|
||||
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AB1 RID: 6833
|
||||
// (get) Token: 0x0600AA20 RID: 43552 RVA: 0x0024C380 File Offset: 0x0024A580
|
||||
[Token(Token = "0x17001AB1")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600AA20")]
|
||||
[Address(RVA = "0x681E00", Offset = "0x680E00", VA = "0x180681E00", Slot = "44")]
|
||||
get
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA21 RID: 43553 RVA: 0x0024C390 File Offset: 0x0024A590
|
||||
[Token(Token = "0x600AA21")]
|
||||
[Address(RVA = "0x7F6D70", Offset = "0x7F5D70", VA = "0x1807F6D70", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
ulong[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new ulong[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 6;
|
||||
IL_49:
|
||||
SecT131R1Curve.SecT131R1LookupTable secT131R1LookupTable;
|
||||
secT131R1LookupTable.m_outer = 0;
|
||||
secT131R1LookupTable.m_table = array;
|
||||
secT131R1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DA9 RID: 28073
|
||||
[Token(Token = "0x4006DA9")]
|
||||
private const int SECT131R1_DEFAULT_COORDS = 6;
|
||||
|
||||
// Token: 0x04006DAA RID: 28074
|
||||
[Token(Token = "0x4006DAA")]
|
||||
private const int SECT131R1_FE_LONGS = 3;
|
||||
|
||||
// Token: 0x04006DAB RID: 28075
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006DAB")]
|
||||
protected readonly SecT131R1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B58 RID: 7000
|
||||
[Token(Token = "0x2001B58")]
|
||||
private class SecT131R1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600AA22 RID: 43554 RVA: 0x0024C404 File Offset: 0x0024A604
|
||||
[Token(Token = "0x600AA22")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecT131R1LookupTable(SecT131R1Curve outer, ulong[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001AB2 RID: 6834
|
||||
// (get) Token: 0x0600AA23 RID: 43555 RVA: 0x0024C42C File Offset: 0x0024A62C
|
||||
[Token(Token = "0x17001AB2")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600AA23")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA24 RID: 43556 RVA: 0x0024C440 File Offset: 0x0024A640
|
||||
[Token(Token = "0x600AA24")]
|
||||
[Address(RVA = "0x7F7320", Offset = "0x7F6320", VA = "0x1807F7320", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
ulong[] array = Nat192.Create64();
|
||||
ulong[] array2 = Nat192.Create64();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
ulong[] table = this.m_table;
|
||||
ulong[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 6;
|
||||
num2++;
|
||||
}
|
||||
SecT131R1Curve outer = this.m_outer;
|
||||
new SecT131FieldElement().x = array;
|
||||
new SecT131FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DAC RID: 28076
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DAC")]
|
||||
private readonly SecT131R1Curve m_outer;
|
||||
|
||||
// Token: 0x04006DAD RID: 28077
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006DAD")]
|
||||
private readonly ulong[] m_table;
|
||||
|
||||
// Token: 0x04006DAE RID: 28078
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006DAE")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+256
@@ -0,0 +1,256 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B59 RID: 7001
|
||||
[Token(Token = "0x2001B59")]
|
||||
internal class SecT131R1Point : AbstractF2mPoint
|
||||
{
|
||||
// Token: 0x0600AA25 RID: 43557 RVA: 0x0024C4C0 File Offset: 0x0024A6C0
|
||||
[Token(Token = "0x600AA25")]
|
||||
[Address(RVA = "0x7F8A30", Offset = "0x7F7A30", VA = "0x1807F8A30")]
|
||||
public SecT131R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AA26 RID: 43558 RVA: 0x0024C4D0 File Offset: 0x0024A6D0
|
||||
[Token(Token = "0x600AA26")]
|
||||
[Address(RVA = "0x7F8A50", Offset = "0x7F7A50", VA = "0x1807F8A50")]
|
||||
public SecT131R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA26)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600AA27 RID: 43559 RVA: 0x0024C4F8 File Offset: 0x0024A6F8
|
||||
[Token(Token = "0x600AA27")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecT131R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AA28 RID: 43560 RVA: 0x0024C508 File Offset: 0x0024A708
|
||||
[Token(Token = "0x600AA28")]
|
||||
[Address(RVA = "0x7F7D30", Offset = "0x7F6D30", VA = "0x1807F7D30", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA28)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT131R1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT131R1Point[exp:ECPoint](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: 0x17001AB3 RID: 6835
|
||||
// (get) Token: 0x0600AA29 RID: 43561 RVA: 0x0024C524 File Offset: 0x0024A724
|
||||
[Token(Token = "0x17001AB3")]
|
||||
public override ECFieldElement YCoord
|
||||
{
|
||||
[Token(Token = "0x600AA29")]
|
||||
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
|
||||
get
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement y = this.m_y;
|
||||
if (!base.IsInfinity && !x.IsOne)
|
||||
{
|
||||
int fieldSize = y.FieldSize;
|
||||
if (this.m_zs[0].BitLength == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AB4 RID: 6836
|
||||
// (get) Token: 0x0600AA2A RID: 43562 RVA: 0x0024C574 File Offset: 0x0024A774
|
||||
[Token(Token = "0x17001AB4")]
|
||||
protected internal override bool CompressionYTilde
|
||||
{
|
||||
[Token(Token = "0x600AA2A")]
|
||||
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement;
|
||||
ECFieldElement ecfieldElement2;
|
||||
return ecfieldElement != ecfieldElement2;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA2B RID: 43563 RVA: 0x0024C5A8 File Offset: 0x0024A7A8
|
||||
[Token(Token = "0x600AA2B")]
|
||||
[Address(RVA = "0x7F74F0", Offset = "0x7F64F0", VA = "0x1807F74F0", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
while (!base.IsInfinity && !b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
|
||||
}
|
||||
if (ecfieldElement2.BitLength != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
|
||||
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
|
||||
int fieldSize2 = ecfieldElement5.FieldSize;
|
||||
if (fieldSize2 == 0)
|
||||
{
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
sbyte b3;
|
||||
sbyte b2 = b3;
|
||||
TypeCode typeCode = b2.GetTypeCode();
|
||||
int fieldSize3 = y.FieldSize;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
short num;
|
||||
TypeCode typeCode2 = num.GetTypeCode();
|
||||
BigInteger one = BigInteger.One;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
if (ecpoint == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
bool compressionYTilde = b.CompressionYTilde;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA2C RID: 43564 RVA: 0x0024C6FC File Offset: 0x0024A8FC
|
||||
[Token(Token = "0x600AA2C")]
|
||||
[Address(RVA = "0x7F85E0", Offset = "0x7F75E0", VA = "0x1807F85E0", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
int bitLength = ecfieldElement.BitLength;
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
|
||||
if (bitLength == 0)
|
||||
{
|
||||
}
|
||||
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
|
||||
{
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement5;
|
||||
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
|
||||
sbyte b;
|
||||
(new ECFieldElement[1])[0] = b;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
SecT131R1Point secT131R1Point;
|
||||
ECFieldElement[] zcoords = secT131R1Point.GetZCoords();
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA2D RID: 43565 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AA2D")]
|
||||
[Address(RVA = "0x7F7F80", Offset = "0x7F6F80", VA = "0x1807F7F80", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AA2E RID: 43566 RVA: 0x0024C7C4 File Offset: 0x0024A9C4
|
||||
[Token(Token = "0x600AA2E")]
|
||||
[Address(RVA = "0x7F7DD0", Offset = "0x7F6DD0", VA = "0x1807F7DD0", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
bool flag = this.SatisfiesOrder();
|
||||
int fieldSize = y.FieldSize;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
}
|
||||
array[0] = ecfieldElement;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+390
@@ -0,0 +1,390 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B5A RID: 7002
|
||||
[Token(Token = "0x2001B5A")]
|
||||
internal class SecT131R2Curve : AbstractF2mCurve
|
||||
{
|
||||
// Token: 0x0600AA2F RID: 43567 RVA: 0x0024C830 File Offset: 0x0024AA30
|
||||
[Token(Token = "0x600AA2F")]
|
||||
[Address(RVA = "0x7F90F0", Offset = "0x7F80F0", VA = "0x1807F90F0")]
|
||||
public SecT131R2Curve()
|
||||
{
|
||||
int num = 0;
|
||||
ulong num2;
|
||||
base..ctor(131, 2, 3, (int)num2);
|
||||
int num3;
|
||||
int num4;
|
||||
SecT131R2Point secT131R2Point = new SecT131R2Point(this, num3, num4, num != 0);
|
||||
num4 = 0;
|
||||
num3 = 0;
|
||||
this.m_infinity = secT131R2Point;
|
||||
byte[] array = Hex.Decode("03E5A88919D7CAFCBF415F07C2176573B2");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("04B8266A46C55657AC734CE38F018F2192");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("0400000000000000016954A233049BA98F");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger3;
|
||||
BigInteger two = BigInteger.Two;
|
||||
this.m_cofactor = two;
|
||||
this.m_coord = (int)((ulong)6L);
|
||||
}
|
||||
|
||||
// Token: 0x0600AA30 RID: 43568 RVA: 0x0024C8E8 File Offset: 0x0024AAE8
|
||||
[Token(Token = "0x600AA30")]
|
||||
[Address(RVA = "0x7F8B10", Offset = "0x7F7B10", VA = "0x1807F8B10", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA30)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R2Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_1_01, ldc.i4:int32(0))
|
||||
stloc:SecT131R2Point(var_3_0D, newobj:SecT131R2Point(SecT131R2Point::.ctor, ldloc:SecT131R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
|
||||
stloc:int32(var_4, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecT131R2Point(SecT131R2Curve::m_infinity, ldloc:SecT131R2Curve(var_0), ldloc:SecT131R2Point(var_3_0D))
|
||||
stloc:uint8[](var_6_25, call:uint8[](Hex::Decode, ldstr:string("03E5A88919D7CAFCBF415F07C2176573B2")))
|
||||
stloc:BigInteger(var_7_2F, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_25)))
|
||||
stloc:int32(var_8_37, callvirtgetter:int32(SecT131R2Curve::get_FieldSize, ldloc:SecT131R2Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT131R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_37))
|
||||
stloc:uint8[](var_9_4B, call:uint8[](Hex::Decode, ldstr:string("04B8266A46C55657AC734CE38F018F2192")))
|
||||
stloc:BigInteger(var_10_55, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4B)))
|
||||
stloc:int32(var_11_5D, callvirtgetter:int32(SecT131R2Curve::get_FieldSize, ldloc:SecT131R2Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT131R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5D))
|
||||
stloc:uint8[](var_12_71, call:uint8[](Hex::Decode, ldstr:string("0400000000000000016954A233049BA98F")))
|
||||
stloc:BigInteger(var_13_7B, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_71)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecT131R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7B))
|
||||
stloc:BigInteger(var_14_8A, ldsfld:BigInteger(BigInteger::Two))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT131R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8A))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecT131R2Curve[exp:ECCurve](var_0), 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: 0x0600AA31 RID: 43569 RVA: 0x0024C994 File Offset: 0x0024AB94
|
||||
[Token(Token = "0x600AA31")]
|
||||
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 6;
|
||||
}
|
||||
|
||||
// Token: 0x17001AB5 RID: 6837
|
||||
// (get) Token: 0x0600AA32 RID: 43570 RVA: 0x0024C9A8 File Offset: 0x0024ABA8
|
||||
[Token(Token = "0x17001AB5")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AA32")]
|
||||
[Address(RVA = "0x7F51F0", Offset = "0x7F41F0", VA = "0x1807F51F0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return 131;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA33 RID: 43571 RVA: 0x0024C9BC File Offset: 0x0024ABBC
|
||||
[Token(Token = "0x600AA33")]
|
||||
[Address(RVA = "0x7F9090", Offset = "0x7F8090", VA = "0x1807F9090", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA33)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R2Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT131FieldElement(var_0_06, newobj:SecT131FieldElement(SecT131FieldElement::.ctor, 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: 0x0600AA34 RID: 43572 RVA: 0x0024C9D0 File Offset: 0x0024ABD0
|
||||
[Token(Token = "0x600AA34")]
|
||||
[Address(RVA = "0x7F9000", Offset = "0x7F8000", VA = "0x1807F9000", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA34)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R2Curve::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:SecT131R2Point(var_0_09, newobj:SecT131R2Point(SecT131R2Point::.ctor, ldloc:SecT131R2Curve[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: 0x0600AA35 RID: 43573 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AA35")]
|
||||
[Address(RVA = "0x7F8F60", Offset = "0x7F7F60", VA = "0x1807F8F60", 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: 0x17001AB6 RID: 6838
|
||||
// (get) Token: 0x0600AA36 RID: 43574 RVA: 0x0024C9E8 File Offset: 0x0024ABE8
|
||||
[Token(Token = "0x17001AB6")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600AA36")]
|
||||
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA36)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R2Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT131R2Point(var_0_06, ldfld:SecT131R2Point(SecT131R2Curve::m_infinity, ldloc:SecT131R2Curve(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: 0x17001AB7 RID: 6839
|
||||
// (get) Token: 0x0600AA37 RID: 43575 RVA: 0x0024C9FC File Offset: 0x0024ABFC
|
||||
[Token(Token = "0x17001AB7")]
|
||||
public override bool IsKoblitz
|
||||
{
|
||||
[Token(Token = "0x600AA37")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AB8 RID: 6840
|
||||
// (get) Token: 0x0600AA38 RID: 43576 RVA: 0x0024CA0C File Offset: 0x0024AC0C
|
||||
[Token(Token = "0x17001AB8")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600AA38")]
|
||||
[Address(RVA = "0x7F51F0", Offset = "0x7F41F0", VA = "0x1807F51F0", Slot = "40")]
|
||||
get
|
||||
{
|
||||
return 131;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AB9 RID: 6841
|
||||
// (get) Token: 0x0600AA39 RID: 43577 RVA: 0x0024CA20 File Offset: 0x0024AC20
|
||||
[Token(Token = "0x17001AB9")]
|
||||
public virtual bool IsTrinomial
|
||||
{
|
||||
[Token(Token = "0x600AA39")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "41")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001ABA RID: 6842
|
||||
// (get) Token: 0x0600AA3A RID: 43578 RVA: 0x0024CA30 File Offset: 0x0024AC30
|
||||
[Token(Token = "0x17001ABA")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600AA3A")]
|
||||
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001ABB RID: 6843
|
||||
// (get) Token: 0x0600AA3B RID: 43579 RVA: 0x0024CA40 File Offset: 0x0024AC40
|
||||
[Token(Token = "0x17001ABB")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600AA3B")]
|
||||
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001ABC RID: 6844
|
||||
// (get) Token: 0x0600AA3C RID: 43580 RVA: 0x0024CA50 File Offset: 0x0024AC50
|
||||
[Token(Token = "0x17001ABC")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600AA3C")]
|
||||
[Address(RVA = "0x681E00", Offset = "0x680E00", VA = "0x180681E00", Slot = "44")]
|
||||
get
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA3D RID: 43581 RVA: 0x0024CA60 File Offset: 0x0024AC60
|
||||
[Token(Token = "0x600AA3D")]
|
||||
[Address(RVA = "0x7F8D00", Offset = "0x7F7D00", VA = "0x1807F8D00", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
ulong[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new ulong[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 6;
|
||||
IL_49:
|
||||
SecT131R2Curve.SecT131R2LookupTable secT131R2LookupTable;
|
||||
secT131R2LookupTable.m_outer = 0;
|
||||
secT131R2LookupTable.m_table = array;
|
||||
secT131R2LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DAF RID: 28079
|
||||
[Token(Token = "0x4006DAF")]
|
||||
private const int SECT131R2_DEFAULT_COORDS = 6;
|
||||
|
||||
// Token: 0x04006DB0 RID: 28080
|
||||
[Token(Token = "0x4006DB0")]
|
||||
private const int SECT131R2_FE_LONGS = 3;
|
||||
|
||||
// Token: 0x04006DB1 RID: 28081
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006DB1")]
|
||||
protected readonly SecT131R2Point m_infinity;
|
||||
|
||||
// Token: 0x02001B5B RID: 7003
|
||||
[Token(Token = "0x2001B5B")]
|
||||
private class SecT131R2LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600AA3E RID: 43582 RVA: 0x0024CAD4 File Offset: 0x0024ACD4
|
||||
[Token(Token = "0x600AA3E")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecT131R2LookupTable(SecT131R2Curve outer, ulong[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001ABD RID: 6845
|
||||
// (get) Token: 0x0600AA3F RID: 43583 RVA: 0x0024CAFC File Offset: 0x0024ACFC
|
||||
[Token(Token = "0x17001ABD")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600AA3F")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA40 RID: 43584 RVA: 0x0024CB10 File Offset: 0x0024AD10
|
||||
[Token(Token = "0x600AA40")]
|
||||
[Address(RVA = "0x7F92B0", Offset = "0x7F82B0", VA = "0x1807F92B0", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
ulong[] array = Nat192.Create64();
|
||||
ulong[] array2 = Nat192.Create64();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
ulong[] table = this.m_table;
|
||||
ulong[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 6;
|
||||
num2++;
|
||||
}
|
||||
SecT131R2Curve outer = this.m_outer;
|
||||
new SecT131FieldElement().x = array;
|
||||
new SecT131FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DB2 RID: 28082
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DB2")]
|
||||
private readonly SecT131R2Curve m_outer;
|
||||
|
||||
// Token: 0x04006DB3 RID: 28083
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006DB3")]
|
||||
private readonly ulong[] m_table;
|
||||
|
||||
// Token: 0x04006DB4 RID: 28084
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006DB4")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+256
@@ -0,0 +1,256 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B5C RID: 7004
|
||||
[Token(Token = "0x2001B5C")]
|
||||
internal class SecT131R2Point : AbstractF2mPoint
|
||||
{
|
||||
// Token: 0x0600AA41 RID: 43585 RVA: 0x0024CB90 File Offset: 0x0024AD90
|
||||
[Token(Token = "0x600AA41")]
|
||||
[Address(RVA = "0x7FA9C0", Offset = "0x7F99C0", VA = "0x1807FA9C0")]
|
||||
public SecT131R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AA42 RID: 43586 RVA: 0x0024CBA0 File Offset: 0x0024ADA0
|
||||
[Token(Token = "0x600AA42")]
|
||||
[Address(RVA = "0x7FA9E0", Offset = "0x7F99E0", VA = "0x1807FA9E0")]
|
||||
public SecT131R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA42)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R2Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600AA43 RID: 43587 RVA: 0x0024CBC8 File Offset: 0x0024ADC8
|
||||
[Token(Token = "0x600AA43")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecT131R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AA44 RID: 43588 RVA: 0x0024CBD8 File Offset: 0x0024ADD8
|
||||
[Token(Token = "0x600AA44")]
|
||||
[Address(RVA = "0x7F9CC0", Offset = "0x7F8CC0", VA = "0x1807F9CC0", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA44)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT131R2Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT131R2Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT131R2Point[exp:ECPoint](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: 0x17001ABE RID: 6846
|
||||
// (get) Token: 0x0600AA45 RID: 43589 RVA: 0x0024CBF4 File Offset: 0x0024ADF4
|
||||
[Token(Token = "0x17001ABE")]
|
||||
public override ECFieldElement YCoord
|
||||
{
|
||||
[Token(Token = "0x600AA45")]
|
||||
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
|
||||
get
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement y = this.m_y;
|
||||
if (!base.IsInfinity && !x.IsOne)
|
||||
{
|
||||
int fieldSize = y.FieldSize;
|
||||
if (this.m_zs[0].BitLength == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001ABF RID: 6847
|
||||
// (get) Token: 0x0600AA46 RID: 43590 RVA: 0x0024CC44 File Offset: 0x0024AE44
|
||||
[Token(Token = "0x17001ABF")]
|
||||
protected internal override bool CompressionYTilde
|
||||
{
|
||||
[Token(Token = "0x600AA46")]
|
||||
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement;
|
||||
ECFieldElement ecfieldElement2;
|
||||
return ecfieldElement != ecfieldElement2;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA47 RID: 43591 RVA: 0x0024CC78 File Offset: 0x0024AE78
|
||||
[Token(Token = "0x600AA47")]
|
||||
[Address(RVA = "0x7F9480", Offset = "0x7F8480", VA = "0x1807F9480", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
while (!base.IsInfinity && !b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
|
||||
}
|
||||
if (ecfieldElement2.BitLength != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
|
||||
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
|
||||
int fieldSize2 = ecfieldElement5.FieldSize;
|
||||
if (fieldSize2 == 0)
|
||||
{
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
sbyte b3;
|
||||
sbyte b2 = b3;
|
||||
TypeCode typeCode = b2.GetTypeCode();
|
||||
int fieldSize3 = y.FieldSize;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
short num;
|
||||
TypeCode typeCode2 = num.GetTypeCode();
|
||||
BigInteger one = BigInteger.One;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
if (ecpoint == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
bool compressionYTilde = b.CompressionYTilde;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA48 RID: 43592 RVA: 0x0024CDCC File Offset: 0x0024AFCC
|
||||
[Token(Token = "0x600AA48")]
|
||||
[Address(RVA = "0x7FA570", Offset = "0x7F9570", VA = "0x1807FA570", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
int bitLength = ecfieldElement.BitLength;
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
|
||||
if (bitLength == 0)
|
||||
{
|
||||
}
|
||||
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
|
||||
{
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement5;
|
||||
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
|
||||
sbyte b;
|
||||
(new ECFieldElement[1])[0] = b;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
SecT131R2Point secT131R2Point;
|
||||
ECFieldElement[] zcoords = secT131R2Point.GetZCoords();
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA49 RID: 43593 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AA49")]
|
||||
[Address(RVA = "0x7F9F10", Offset = "0x7F8F10", VA = "0x1807F9F10", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AA4A RID: 43594 RVA: 0x0024CE94 File Offset: 0x0024B094
|
||||
[Token(Token = "0x600AA4A")]
|
||||
[Address(RVA = "0x7F9D60", Offset = "0x7F8D60", VA = "0x1807F9D60", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
bool flag = this.SatisfiesOrder();
|
||||
int fieldSize = y.FieldSize;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
}
|
||||
array[0] = ecfieldElement;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+334
@@ -0,0 +1,334 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B5D RID: 7005
|
||||
[Token(Token = "0x2001B5D")]
|
||||
internal class SecT163Field
|
||||
{
|
||||
// Token: 0x0600AA4B RID: 43595 RVA: 0x0024CF00 File Offset: 0x0024B100
|
||||
[Token(Token = "0x600AA4B")]
|
||||
[Address(RVA = "0x7F52E0", Offset = "0x7F42E0", VA = "0x1807F52E0")]
|
||||
public static void Add(ulong[] x, ulong[] y, ulong[] z)
|
||||
{
|
||||
ulong num = y[0];
|
||||
z[0] = num;
|
||||
ulong num2 = y[1];
|
||||
z[1] = num2;
|
||||
ulong num3 = y[2];
|
||||
z[2] = num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA4C RID: 43596 RVA: 0x0024CF44 File Offset: 0x0024B144
|
||||
[Token(Token = "0x600AA4C")]
|
||||
[Address(RVA = "0x7FBA80", Offset = "0x7FAA80", VA = "0x1807FBA80")]
|
||||
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
|
||||
{
|
||||
ulong num = yy[0];
|
||||
zz[0] = num;
|
||||
ulong num2 = yy[1];
|
||||
zz[1] = num2;
|
||||
ulong num3 = yy[2];
|
||||
zz[2] = num3;
|
||||
ulong num4 = yy[3];
|
||||
zz[3] = num4;
|
||||
ulong num5 = yy[4];
|
||||
zz[4] = num5;
|
||||
ulong num6 = yy[5];
|
||||
zz[5] = num6;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA4D RID: 43597 RVA: 0x0024CFBC File Offset: 0x0024B1BC
|
||||
[Token(Token = "0x600AA4D")]
|
||||
[Address(RVA = "0x7F5220", Offset = "0x7F4220", VA = "0x1807F5220")]
|
||||
public static void AddOne(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong num = x[0];
|
||||
z[0] = num;
|
||||
ulong num2 = x[1];
|
||||
z[1] = num2;
|
||||
ulong num3 = x[2];
|
||||
z[2] = num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA4E RID: 43598 RVA: 0x0024D000 File Offset: 0x0024B200
|
||||
[Token(Token = "0x600AA4E")]
|
||||
[Address(RVA = "0x7FBCD0", Offset = "0x7FACD0", VA = "0x1807FBCD0")]
|
||||
public static ulong[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
ulong[] array = Nat192.FromBigInteger64(x);
|
||||
ulong num = array[2];
|
||||
array[0] = array;
|
||||
array[2] = num;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA4F RID: 43599 RVA: 0x0024D034 File Offset: 0x0024B234
|
||||
[Token(Token = "0x600AA4F")]
|
||||
[Address(RVA = "0x7FC960", Offset = "0x7FB960", VA = "0x1807FC960")]
|
||||
public static void Invert(ulong[] x, ulong[] z)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA4F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163Field::Invert(System.UInt64[],System.UInt64[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_B9:
|
||||
stloc:InvalidOperationException(var_4_BE, newobj:InvalidOperationException(InvalidOperationException::.ctor))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA50 RID: 43600 RVA: 0x0024D100 File Offset: 0x0024B300
|
||||
[Token(Token = "0x600AA50")]
|
||||
[Address(RVA = "0x7FCC00", Offset = "0x7FBC00", VA = "0x1807FCC00")]
|
||||
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat192.CreateExt64();
|
||||
SecT163Field.ImplMultiply(x, y, array);
|
||||
SecT163Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AA51 RID: 43601 RVA: 0x0024D124 File Offset: 0x0024B324
|
||||
[Token(Token = "0x600AA51")]
|
||||
[Address(RVA = "0x7FCB60", Offset = "0x7FBB60", VA = "0x1807FCB60")]
|
||||
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
|
||||
{
|
||||
ulong[] array = Nat192.CreateExt64();
|
||||
SecT163Field.ImplMultiply(x, y, array);
|
||||
SecT163Field.AddExt(zz, array, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600AA52 RID: 43602 RVA: 0x0024D14C File Offset: 0x0024B34C
|
||||
[Token(Token = "0x600AA52")]
|
||||
[Address(RVA = "0x7FCD40", Offset = "0x7FBD40", VA = "0x1807FCD40")]
|
||||
public static void Reduce(ulong[] xx, ulong[] z)
|
||||
{
|
||||
int length = xx.Length;
|
||||
ulong num = xx[2];
|
||||
ulong num2 = xx[5];
|
||||
num2 = num;
|
||||
num2 += num2;
|
||||
z[0] = num2;
|
||||
z[1] = num2;
|
||||
z[2] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA53 RID: 43603 RVA: 0x0024D194 File Offset: 0x0024B394
|
||||
[Token(Token = "0x600AA53")]
|
||||
[Address(RVA = "0x7FCCA0", Offset = "0x7FBCA0", VA = "0x1807FCCA0")]
|
||||
public static void Reduce29(ulong[] z, int zOff)
|
||||
{
|
||||
int length = z.Length;
|
||||
z[0] = (ulong)zOff;
|
||||
ulong num;
|
||||
z[0] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA54 RID: 43604 RVA: 0x0024D1C0 File Offset: 0x0024B3C0
|
||||
[Token(Token = "0x600AA54")]
|
||||
[Address(RVA = "0x7FCF60", Offset = "0x7FBF60", VA = "0x1807FCF60")]
|
||||
public static void Sqrt(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat192.Create64();
|
||||
ulong num = Interleave.Unshuffle(x[0]);
|
||||
ulong num2 = x[1];
|
||||
ulong num3 = Interleave.Unshuffle(num2);
|
||||
array[0] = num;
|
||||
ulong num4 = Interleave.Unshuffle(x[2]);
|
||||
array[1] = num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA55 RID: 43605 RVA: 0x0024D21C File Offset: 0x0024B41C
|
||||
[Token(Token = "0x600AA55")]
|
||||
[Address(RVA = "0x7FD2B0", Offset = "0x7FC2B0", VA = "0x1807FD2B0")]
|
||||
public static void Square(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat192.CreateExt64();
|
||||
SecT163Field.ImplSquare(x, array);
|
||||
SecT163Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AA56 RID: 43606 RVA: 0x0024D240 File Offset: 0x0024B440
|
||||
[Token(Token = "0x600AA56")]
|
||||
[Address(RVA = "0x7FD130", Offset = "0x7FC130", VA = "0x1807FD130")]
|
||||
public static void SquareAddToExt(ulong[] x, ulong[] zz)
|
||||
{
|
||||
ulong[] array = Nat192.CreateExt64();
|
||||
SecT163Field.ImplSquare(x, array);
|
||||
SecT163Field.AddExt(zz, array, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600AA57 RID: 43607 RVA: 0x0024D264 File Offset: 0x0024B464
|
||||
[Token(Token = "0x600AA57")]
|
||||
[Address(RVA = "0x7FD1C0", Offset = "0x7FC1C0", VA = "0x1807FD1C0")]
|
||||
public static void SquareN(ulong[] x, int n, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat192.CreateExt64();
|
||||
SecT163Field.ImplSquare(x, array);
|
||||
SecT163Field.Reduce(array, z);
|
||||
if (n > 0)
|
||||
{
|
||||
SecT163Field.ImplSquare(z, array);
|
||||
SecT163Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA58 RID: 43608 RVA: 0x0024D29C File Offset: 0x0024B49C
|
||||
[Token(Token = "0x600AA58")]
|
||||
[Address(RVA = "0x7FD340", Offset = "0x7FC340", VA = "0x1807FD340")]
|
||||
public static uint Trace(ulong[] x)
|
||||
{
|
||||
int length = x.Length;
|
||||
ulong num = x[2];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA59 RID: 43609 RVA: 0x0024D2C0 File Offset: 0x0024B4C0
|
||||
[Token(Token = "0x600AA59")]
|
||||
[Address(RVA = "0x7FBDA0", Offset = "0x7FADA0", VA = "0x1807FBDA0")]
|
||||
protected static void ImplCompactExt(ulong[] zz)
|
||||
{
|
||||
int length = zz.Length;
|
||||
ulong num = zz[1];
|
||||
ulong num2 = zz[2];
|
||||
ulong num3 = zz[3];
|
||||
ulong num4 = zz[4];
|
||||
ulong num5 = zz[5];
|
||||
num = num2;
|
||||
zz[1] = num;
|
||||
zz[2] = num2;
|
||||
zz[3] = num3;
|
||||
zz[4] = num4;
|
||||
zz[5] = num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA5A RID: 43610 RVA: 0x0024D338 File Offset: 0x0024B538
|
||||
[Token(Token = "0x600AA5A")]
|
||||
[Address(RVA = "0x7FBF50", Offset = "0x7FAF50", VA = "0x1807FBF50")]
|
||||
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
|
||||
{
|
||||
int length = x.Length;
|
||||
ulong num = x[0];
|
||||
ulong num2 = x[1];
|
||||
int length2 = y.Length;
|
||||
ulong num3 = y[0];
|
||||
ulong[] array = new ulong[10];
|
||||
int num4 = 0;
|
||||
SecT163Field.ImplMulw(num, num3, array, num4);
|
||||
num = num2;
|
||||
SecT163Field.ImplMulw(num, num3, array, 2);
|
||||
num = num2;
|
||||
uint num5;
|
||||
SecT163Field.ImplMulw(num, num3, array, (int)num5);
|
||||
num2 += num2;
|
||||
num2 += num2;
|
||||
num += num;
|
||||
num3 = num;
|
||||
num = num2;
|
||||
SecT163Field.ImplMulw(num, num3, array, 6);
|
||||
num3 = num;
|
||||
SecT163Field.ImplMulw(num, num3, array, 8);
|
||||
int length3 = array.Length;
|
||||
ulong num6 = array[6];
|
||||
ulong num7 = array[0];
|
||||
array += array;
|
||||
num6 += num6;
|
||||
zz[0] = num7;
|
||||
ulong num8 = array[2];
|
||||
zz[1] = num8;
|
||||
ulong num9 = array[3];
|
||||
zz[2] = num9;
|
||||
zz[3] = num9;
|
||||
ulong num10 = array[2];
|
||||
zz[4] = num10;
|
||||
ulong num11 = array[3];
|
||||
zz[5] = num11;
|
||||
SecT163Field.ImplCompactExt(zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600AA5B RID: 43611 RVA: 0x0024D464 File Offset: 0x0024B664
|
||||
[Token(Token = "0x600AA5B")]
|
||||
[Address(RVA = "0x7FC530", Offset = "0x7FB530", VA = "0x1807FC530")]
|
||||
protected static void ImplMulw(ulong x, ulong y, ulong[] z, int zOff)
|
||||
{
|
||||
ulong[] array = new ulong[8];
|
||||
array[1] = y;
|
||||
int length = array.Length;
|
||||
array[2] = typeof(ulong[]).TypeHandle;
|
||||
array[3] = y;
|
||||
int num = array.Length;
|
||||
array[4] = (ulong)num;
|
||||
int length2 = array.Length;
|
||||
array[5] = (ulong)num;
|
||||
num = length2;
|
||||
array[6] = (ulong)num;
|
||||
int length3 = array.Length;
|
||||
array[7] = (ulong)num;
|
||||
ulong num2 = array[(int)x];
|
||||
int num3 = zOff + 1;
|
||||
z[0] = x;
|
||||
z[0] = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA5C RID: 43612 RVA: 0x0024D4F8 File Offset: 0x0024B6F8
|
||||
[Token(Token = "0x600AA5C")]
|
||||
[Address(RVA = "0x7FC880", Offset = "0x7FB880", VA = "0x1807FC880")]
|
||||
protected static void ImplSquare(ulong[] x, ulong[] zz)
|
||||
{
|
||||
ulong num = x[0];
|
||||
int num2 = 0;
|
||||
Interleave.Expand64To128(num, zz, num2);
|
||||
ulong num3 = x[1];
|
||||
Interleave.Expand64To128(num3, zz, 2);
|
||||
ulong num4 = Interleave.Expand32to64((uint)num3);
|
||||
zz[4] = num4;
|
||||
uint num5 = Interleave.Expand8to16((uint)num3);
|
||||
zz[5] = (ulong)num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA5D RID: 43613 RVA: 0x0024D550 File Offset: 0x0024B750
|
||||
[Token(Token = "0x600AA5D")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecT163Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AA5E RID: 43614 RVA: 0x0024D564 File Offset: 0x0024B764
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600AA5E")]
|
||||
[Address(RVA = "0x7FD390", Offset = "0x7FC390", VA = "0x1807FD390")]
|
||||
static SecT163Field()
|
||||
{
|
||||
RuntimeHelpers.InitializeArray(new ulong[3], fieldof(<PrivateImplementationDetails>.BCE617693C33CE2C76FE00F449CA910E4C6E117E).FieldHandle);
|
||||
}
|
||||
|
||||
// Token: 0x04006DB5 RID: 28085
|
||||
[Token(Token = "0x4006DB5")]
|
||||
private const ulong M35 = 34359738367UL;
|
||||
|
||||
// Token: 0x04006DB6 RID: 28086
|
||||
[Token(Token = "0x4006DB6")]
|
||||
private const ulong M55 = 36028797018963967UL;
|
||||
|
||||
// Token: 0x04006DB7 RID: 28087
|
||||
[Token(Token = "0x4006DB7")]
|
||||
private static readonly ulong[] ROOT_Z;
|
||||
}
|
||||
}
|
||||
+598
@@ -0,0 +1,598 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B5E RID: 7006
|
||||
[Token(Token = "0x2001B5E")]
|
||||
internal class SecT163FieldElement : AbstractF2mFieldElement
|
||||
{
|
||||
// Token: 0x0600AA5F RID: 43615 RVA: 0x0024D584 File Offset: 0x0024B784
|
||||
[Token(Token = "0x600AA5F")]
|
||||
[Address(RVA = "0x7FB8C0", Offset = "0x7FA8C0", VA = "0x1807FB8C0")]
|
||||
public SecT163FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA5F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_38:
|
||||
stloc:ArgumentException(var_3_47, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT163FieldElement"), ldstr:string("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.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: 0x0600AA60 RID: 43616 RVA: 0x0024D5D8 File Offset: 0x0024B7D8
|
||||
[Token(Token = "0x600AA60")]
|
||||
[Address(RVA = "0x7F4FF0", Offset = "0x7F3FF0", VA = "0x1807F4FF0")]
|
||||
public SecT163FieldElement()
|
||||
{
|
||||
ulong[] array = Nat192.Create64();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA61 RID: 43617 RVA: 0x0024D5FC File Offset: 0x0024B7FC
|
||||
[Token(Token = "0x600AA61")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecT163FieldElement(ulong[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001AC0 RID: 6848
|
||||
// (get) Token: 0x0600AA62 RID: 43618 RVA: 0x0024D618 File Offset: 0x0024B818
|
||||
[Token(Token = "0x17001AC0")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600AA62")]
|
||||
[Address(RVA = "0x7F5200", Offset = "0x7F4200", VA = "0x1807F5200", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat192.IsOne64(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AC1 RID: 6849
|
||||
// (get) Token: 0x0600AA63 RID: 43619 RVA: 0x0024D630 File Offset: 0x0024B830
|
||||
[Token(Token = "0x17001AC1")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600AA63")]
|
||||
[Address(RVA = "0x7F5210", Offset = "0x7F4210", VA = "0x1807F5210", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat192.IsZero64(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA64 RID: 43620 RVA: 0x0024D648 File Offset: 0x0024B848
|
||||
[Token(Token = "0x600AA64")]
|
||||
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA65 RID: 43621 RVA: 0x0024D664 File Offset: 0x0024B864
|
||||
[Token(Token = "0x600AA65")]
|
||||
[Address(RVA = "0x7F4F30", Offset = "0x7F3F30", VA = "0x1807F4F30", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat192.ToBigInteger64(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001AC2 RID: 6850
|
||||
// (get) Token: 0x0600AA66 RID: 43622 RVA: 0x0024D67C File Offset: 0x0024B87C
|
||||
[Token(Token = "0x17001AC2")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600AA66")]
|
||||
[Address(RVA = "0x7FBA40", Offset = "0x7FAA40", VA = "0x1807FBA40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecT163Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AC3 RID: 6851
|
||||
// (get) Token: 0x0600AA67 RID: 43623 RVA: 0x0024D690 File Offset: 0x0024B890
|
||||
[Token(Token = "0x17001AC3")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AA67")]
|
||||
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return 163;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA68 RID: 43624 RVA: 0x0024D6A4 File Offset: 0x0024B8A4
|
||||
[Token(Token = "0x600AA68")]
|
||||
[Address(RVA = "0x7FABE0", Offset = "0x7F9BE0", VA = "0x1807FABE0", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
ulong[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = Nat192.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecT163FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
if (b != 0)
|
||||
{
|
||||
num = 0;
|
||||
if (b != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
array[0] = (ulong)num;
|
||||
array[1] = (ulong)num;
|
||||
array[2] = (ulong)num;
|
||||
new SecT163FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA69 RID: 43625 RVA: 0x0024D704 File Offset: 0x0024B904
|
||||
[Token(Token = "0x600AA69")]
|
||||
[Address(RVA = "0x7FAAA0", Offset = "0x7F9AA0", VA = "0x1807FAAA0", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
ulong[] array = Nat192.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
ulong num = array2[0];
|
||||
array[0] = num;
|
||||
ulong num2 = array2[1];
|
||||
array[1] = num2;
|
||||
ulong num3 = array2[2];
|
||||
array[2] = num3;
|
||||
new SecT163FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA6A RID: 43626 RVA: 0x0024D764 File Offset: 0x0024B964
|
||||
[Token(Token = "0x600AA6A")]
|
||||
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA6A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT163FieldElement[exp:ECFieldElement](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: 0x0600AA6B RID: 43627 RVA: 0x0024D778 File Offset: 0x0024B978
|
||||
[Token(Token = "0x600AA6B")]
|
||||
[Address(RVA = "0x7FB2E0", Offset = "0x7FA2E0", VA = "0x1807FB2E0", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
ulong[] array;
|
||||
do
|
||||
{
|
||||
array = Nat192.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecT163FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecT163FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA6C RID: 43628 RVA: 0x0024D7C0 File Offset: 0x0024B9C0
|
||||
[Token(Token = "0x600AA6C")]
|
||||
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
|
||||
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA6C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT163FieldElement[exp:ECFieldElement](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: 0x0600AA6D RID: 43629 RVA: 0x0024D7D4 File Offset: 0x0024B9D4
|
||||
[Token(Token = "0x600AA6D")]
|
||||
[Address(RVA = "0x7FB050", Offset = "0x7FA050", VA = "0x1807FB050", Slot = "20")]
|
||||
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
do
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
}
|
||||
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
|
||||
ulong[] array2 = Nat192.CreateExt64();
|
||||
ulong[] array3 = Nat192.Create64();
|
||||
SecT163Field.Reduce(array2, array3);
|
||||
new SecT163FieldElement().x = array3;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA6E RID: 43630 RVA: 0x0024D840 File Offset: 0x0024BA40
|
||||
[Token(Token = "0x600AA6E")]
|
||||
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
ECFieldElement ecfieldElement = b.Square();
|
||||
BigInteger bigInteger = base.ToBigInteger();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA6F RID: 43631 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AA6F")]
|
||||
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AA70 RID: 43632 RVA: 0x0024D860 File Offset: 0x0024BA60
|
||||
[Token(Token = "0x600AA70")]
|
||||
[Address(RVA = "0x7FB7A0", Offset = "0x7FA7A0", VA = "0x1807FB7A0", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA70)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
|
||||
call:void(SecT163Field::Square, ldfld:uint64[](SecT163FieldElement::x, ldloc:SecT163FieldElement(this)), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT163FieldElement::x, newobj:SecT163FieldElement(SecT163FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AA71 RID: 43633 RVA: 0x0024D88C File Offset: 0x0024BA8C
|
||||
[Token(Token = "0x600AA71")]
|
||||
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
|
||||
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA71)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT163FieldElement[exp:ECFieldElement](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: 0x0600AA72 RID: 43634 RVA: 0x0024D8A0 File Offset: 0x0024BAA0
|
||||
[Token(Token = "0x600AA72")]
|
||||
[Address(RVA = "0x7FB4B0", Offset = "0x7FA4B0", VA = "0x1807FB4B0", Slot = "22")]
|
||||
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
ulong[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (x == 0 || x == 0 || y == 0 || y == 0);
|
||||
ulong[] array2 = Nat192.CreateExt64();
|
||||
ulong[] array3 = Nat192.CreateExt64();
|
||||
SecT163Field.ImplSquare(array, array3);
|
||||
SecT163Field.AddExt(array2, array3, array2);
|
||||
ulong[] array4 = Nat192.Create64();
|
||||
SecT163Field.Reduce(array2, array4);
|
||||
new SecT163FieldElement().x = array4;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA73 RID: 43635 RVA: 0x0024D918 File Offset: 0x0024BB18
|
||||
[Token(Token = "0x600AA73")]
|
||||
[Address(RVA = "0x7FB700", Offset = "0x7FA700", VA = "0x1807FB700", Slot = "23")]
|
||||
public override ECFieldElement SquarePow(int pow)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA73)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::SquarePow(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
|
||||
call:void(SecT163Field::SquareN, ldfld:uint64[](SecT163FieldElement::x, ldloc:SecT163FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT163FieldElement::x, newobj:SecT163FieldElement(SecT163FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AA74 RID: 43636 RVA: 0x0024D944 File Offset: 0x0024BB44
|
||||
[Token(Token = "0x600AA74")]
|
||||
[Address(RVA = "0x7FB830", Offset = "0x7FA830", VA = "0x1807FB830", Slot = "28")]
|
||||
public override int Trace()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
int length = array.Length;
|
||||
ulong num = array[2];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA75 RID: 43637 RVA: 0x0024D96C File Offset: 0x0024BB6C
|
||||
[Token(Token = "0x600AA75")]
|
||||
[Address(RVA = "0x7FAFC0", Offset = "0x7F9FC0", VA = "0x1807FAFC0", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA75)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
|
||||
call:void(SecT163Field::Invert, ldfld:uint64[](SecT163FieldElement::x, ldloc:SecT163FieldElement(this)), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT163FieldElement::x, newobj:SecT163FieldElement(SecT163FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AA76 RID: 43638 RVA: 0x0024D998 File Offset: 0x0024BB98
|
||||
[Token(Token = "0x600AA76")]
|
||||
[Address(RVA = "0x7FB420", Offset = "0x7FA420", VA = "0x1807FB420", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA76)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::Sqrt()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat192::Create64))
|
||||
call:void(SecT163Field::Sqrt, ldfld:uint64[](SecT163FieldElement::x, ldloc:SecT163FieldElement(this)), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT163FieldElement::x, newobj:SecT163FieldElement(SecT163FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x17001AC4 RID: 6852
|
||||
// (get) Token: 0x0600AA77 RID: 43639 RVA: 0x0024D9C4 File Offset: 0x0024BBC4
|
||||
[Token(Token = "0x17001AC4")]
|
||||
public virtual int Representation
|
||||
{
|
||||
[Token(Token = "0x600AA77")]
|
||||
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "29")]
|
||||
get
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AC5 RID: 6853
|
||||
// (get) Token: 0x0600AA78 RID: 43640 RVA: 0x0024D9D4 File Offset: 0x0024BBD4
|
||||
[Token(Token = "0x17001AC5")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600AA78")]
|
||||
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "30")]
|
||||
get
|
||||
{
|
||||
return 163;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AC6 RID: 6854
|
||||
// (get) Token: 0x0600AA79 RID: 43641 RVA: 0x0024D9E8 File Offset: 0x0024BBE8
|
||||
[Token(Token = "0x17001AC6")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600AA79")]
|
||||
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "31")]
|
||||
get
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AC7 RID: 6855
|
||||
// (get) Token: 0x0600AA7A RID: 43642 RVA: 0x0024D9F8 File Offset: 0x0024BBF8
|
||||
[Token(Token = "0x17001AC7")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600AA7A")]
|
||||
[Address(RVA = "0x62FA10", Offset = "0x62EA10", VA = "0x18062FA10", Slot = "32")]
|
||||
get
|
||||
{
|
||||
return 6;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AC8 RID: 6856
|
||||
// (get) Token: 0x0600AA7B RID: 43643 RVA: 0x0024DA08 File Offset: 0x0024BC08
|
||||
[Token(Token = "0x17001AC8")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600AA7B")]
|
||||
[Address(RVA = "0x4B30C0", Offset = "0x4B20C0", VA = "0x1804B30C0", Slot = "33")]
|
||||
get
|
||||
{
|
||||
return 7;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA7C RID: 43644 RVA: 0x0024DA18 File Offset: 0x0024BC18
|
||||
[Token(Token = "0x600AA7C")]
|
||||
[Address(RVA = "0x7FAE30", Offset = "0x7F9E30", VA = "0x1807FAE30", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA7C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT163FieldElement[exp:ECFieldElement](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: 0x0600AA7D RID: 43645 RVA: 0x0024DA34 File Offset: 0x0024BC34
|
||||
[Token(Token = "0x600AA7D")]
|
||||
[Address(RVA = "0x7FAEC0", Offset = "0x7F9EC0", VA = "0x1807FAEC0", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA7D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT163FieldElement[exp:ECFieldElement](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: 0x0600AA7E RID: 43646 RVA: 0x0024DA50 File Offset: 0x0024BC50
|
||||
[Token(Token = "0x600AA7E")]
|
||||
[Address(RVA = "0x7F4620", Offset = "0x7F3620", VA = "0x1807F4620", Slot = "34")]
|
||||
public virtual bool Equals(SecT163FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
ulong[] array = other.x;
|
||||
return Nat192.Eq64(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA7F RID: 43647 RVA: 0x0024DA7C File Offset: 0x0024BC7C
|
||||
[Token(Token = "0x600AA7F")]
|
||||
[Address(RVA = "0x7FAF50", Offset = "0x7F9F50", VA = "0x1807FAF50", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 3);
|
||||
}
|
||||
|
||||
// Token: 0x04006DB8 RID: 28088
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DB8")]
|
||||
protected internal readonly ulong[] x;
|
||||
}
|
||||
}
|
||||
+408
@@ -0,0 +1,408 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B5F RID: 7007
|
||||
[Token(Token = "0x2001B5F")]
|
||||
internal class SecT163K1Curve : AbstractF2mCurve
|
||||
{
|
||||
// Token: 0x0600AA80 RID: 43648 RVA: 0x0024DA9C File Offset: 0x0024BC9C
|
||||
[Token(Token = "0x600AA80")]
|
||||
[Address(RVA = "0x7FD9B0", Offset = "0x7FC9B0", VA = "0x1807FD9B0")]
|
||||
public SecT163K1Curve()
|
||||
{
|
||||
int num = 0;
|
||||
ulong num2;
|
||||
base..ctor(163, 3, 6, (int)num2);
|
||||
int num3;
|
||||
int num4;
|
||||
SecT163K1Point secT163K1Point = new SecT163K1Point(this, num3, num4, num != 0);
|
||||
num4 = 0;
|
||||
num3 = 0;
|
||||
this.m_infinity = secT163K1Point;
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
this.m_b = fieldSize;
|
||||
byte[] array = Hex.Decode("04000000000000000000020108A2E0CC0D99F8A5EF");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
this.m_order = bigInteger;
|
||||
BigInteger two = BigInteger.Two;
|
||||
this.m_cofactor = two;
|
||||
this.m_coord = (int)((ulong)6L);
|
||||
}
|
||||
|
||||
// Token: 0x0600AA81 RID: 43649 RVA: 0x0024DB20 File Offset: 0x0024BD20
|
||||
[Token(Token = "0x600AA81")]
|
||||
[Address(RVA = "0x7FD3F0", Offset = "0x7FC3F0", VA = "0x1807FD3F0", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA81)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163K1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_1_01, ldc.i4:int32(0))
|
||||
stloc:SecT163K1Point(var_3_0D, newobj:SecT163K1Point(SecT163K1Point::.ctor, ldloc:SecT163K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
|
||||
stloc:int32(var_4, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecT163K1Point(SecT163K1Curve::m_infinity, ldloc:SecT163K1Curve(var_0), ldloc:SecT163K1Point(var_3_0D))
|
||||
stloc:int32(var_6_21, callvirtgetter:int32(SecT163K1Curve::get_FieldSize, ldloc:SecT163K1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT163K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_21))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT163K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_21))
|
||||
stloc:uint8[](var_7_3D, call:uint8[](Hex::Decode, ldstr:string("04000000000000000000020108A2E0CC0D99F8A5EF")))
|
||||
stloc:BigInteger(var_8_47, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_7_3D)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecT163K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_8_47))
|
||||
stloc:BigInteger(var_9_56, ldsfld:BigInteger(BigInteger::Two))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT163K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_9_56))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecT163K1Curve[exp:ECCurve](var_0), 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: 0x0600AA82 RID: 43650 RVA: 0x0024DB98 File Offset: 0x0024BD98
|
||||
[Token(Token = "0x600AA82")]
|
||||
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 6;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA83 RID: 43651 RVA: 0x0024DBAC File Offset: 0x0024BDAC
|
||||
[Token(Token = "0x600AA83")]
|
||||
[Address(RVA = "0x7FD7D0", Offset = "0x7FC7D0", VA = "0x1807FD7D0", Slot = "15")]
|
||||
protected override ECMultiplier CreateDefaultMultiplier()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA83)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163K1Curve::CreateDefaultMultiplier()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:WTauNafMultiplier(var_0_05, 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: 0x17001AC9 RID: 6857
|
||||
// (get) Token: 0x0600AA84 RID: 43652 RVA: 0x0024DBC0 File Offset: 0x0024BDC0
|
||||
[Token(Token = "0x17001AC9")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600AA84")]
|
||||
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA84)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163K1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT163K1Point(var_0_06, ldfld:SecT163K1Point(SecT163K1Curve::m_infinity, ldloc:SecT163K1Curve(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: 0x17001ACA RID: 6858
|
||||
// (get) Token: 0x0600AA85 RID: 43653 RVA: 0x0024DBD4 File Offset: 0x0024BDD4
|
||||
[Token(Token = "0x17001ACA")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AA85")]
|
||||
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return 163;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA86 RID: 43654 RVA: 0x0024DBE8 File Offset: 0x0024BDE8
|
||||
[Token(Token = "0x600AA86")]
|
||||
[Address(RVA = "0x7FD950", Offset = "0x7FC950", VA = "0x1807FD950", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA86)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT163FieldElement(var_0_06, newobj:SecT163FieldElement(SecT163FieldElement::.ctor, 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: 0x0600AA87 RID: 43655 RVA: 0x0024DBFC File Offset: 0x0024BDFC
|
||||
[Token(Token = "0x600AA87")]
|
||||
[Address(RVA = "0x7FD820", Offset = "0x7FC820", VA = "0x1807FD820", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA87)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163K1Curve::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:SecT163K1Point(var_0_09, newobj:SecT163K1Point(SecT163K1Point::.ctor, ldloc:SecT163K1Curve[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: 0x0600AA88 RID: 43656 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AA88")]
|
||||
[Address(RVA = "0x7FD8B0", Offset = "0x7FC8B0", VA = "0x1807FD8B0", 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: 0x17001ACB RID: 6859
|
||||
// (get) Token: 0x0600AA89 RID: 43657 RVA: 0x0024DC14 File Offset: 0x0024BE14
|
||||
[Token(Token = "0x17001ACB")]
|
||||
public override bool IsKoblitz
|
||||
{
|
||||
[Token(Token = "0x600AA89")]
|
||||
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "39")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001ACC RID: 6860
|
||||
// (get) Token: 0x0600AA8A RID: 43658 RVA: 0x0024DC24 File Offset: 0x0024BE24
|
||||
[Token(Token = "0x17001ACC")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600AA8A")]
|
||||
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "40")]
|
||||
get
|
||||
{
|
||||
return 163;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001ACD RID: 6861
|
||||
// (get) Token: 0x0600AA8B RID: 43659 RVA: 0x0024DC38 File Offset: 0x0024BE38
|
||||
[Token(Token = "0x17001ACD")]
|
||||
public virtual bool IsTrinomial
|
||||
{
|
||||
[Token(Token = "0x600AA8B")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "41")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001ACE RID: 6862
|
||||
// (get) Token: 0x0600AA8C RID: 43660 RVA: 0x0024DC48 File Offset: 0x0024BE48
|
||||
[Token(Token = "0x17001ACE")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600AA8C")]
|
||||
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001ACF RID: 6863
|
||||
// (get) Token: 0x0600AA8D RID: 43661 RVA: 0x0024DC58 File Offset: 0x0024BE58
|
||||
[Token(Token = "0x17001ACF")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600AA8D")]
|
||||
[Address(RVA = "0x62FA10", Offset = "0x62EA10", VA = "0x18062FA10", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return 6;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AD0 RID: 6864
|
||||
// (get) Token: 0x0600AA8E RID: 43662 RVA: 0x0024DC68 File Offset: 0x0024BE68
|
||||
[Token(Token = "0x17001AD0")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600AA8E")]
|
||||
[Address(RVA = "0x4B30C0", Offset = "0x4B20C0", VA = "0x1804B30C0", Slot = "44")]
|
||||
get
|
||||
{
|
||||
return 7;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA8F RID: 43663 RVA: 0x0024DC78 File Offset: 0x0024BE78
|
||||
[Token(Token = "0x600AA8F")]
|
||||
[Address(RVA = "0x7FD570", Offset = "0x7FC570", VA = "0x1807FD570", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
ulong[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new ulong[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 6;
|
||||
IL_49:
|
||||
SecT163K1Curve.SecT163K1LookupTable secT163K1LookupTable;
|
||||
secT163K1LookupTable.m_outer = 0;
|
||||
secT163K1LookupTable.m_table = array;
|
||||
secT163K1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DB9 RID: 28089
|
||||
[Token(Token = "0x4006DB9")]
|
||||
private const int SECT163K1_DEFAULT_COORDS = 6;
|
||||
|
||||
// Token: 0x04006DBA RID: 28090
|
||||
[Token(Token = "0x4006DBA")]
|
||||
private const int SECT163K1_FE_LONGS = 3;
|
||||
|
||||
// Token: 0x04006DBB RID: 28091
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006DBB")]
|
||||
protected readonly SecT163K1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B60 RID: 7008
|
||||
[Token(Token = "0x2001B60")]
|
||||
private class SecT163K1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600AA90 RID: 43664 RVA: 0x0024DCEC File Offset: 0x0024BEEC
|
||||
[Token(Token = "0x600AA90")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecT163K1LookupTable(SecT163K1Curve outer, ulong[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001AD1 RID: 6865
|
||||
// (get) Token: 0x0600AA91 RID: 43665 RVA: 0x0024DD14 File Offset: 0x0024BF14
|
||||
[Token(Token = "0x17001AD1")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600AA91")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA92 RID: 43666 RVA: 0x0024DD28 File Offset: 0x0024BF28
|
||||
[Token(Token = "0x600AA92")]
|
||||
[Address(RVA = "0x7FDB00", Offset = "0x7FCB00", VA = "0x1807FDB00", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
ulong[] array = Nat192.Create64();
|
||||
ulong[] array2 = Nat192.Create64();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
ulong[] table = this.m_table;
|
||||
ulong[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 6;
|
||||
num2++;
|
||||
}
|
||||
SecT163K1Curve outer = this.m_outer;
|
||||
new SecT163FieldElement().x = array;
|
||||
new SecT163FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DBC RID: 28092
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DBC")]
|
||||
private readonly SecT163K1Curve m_outer;
|
||||
|
||||
// Token: 0x04006DBD RID: 28093
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006DBD")]
|
||||
private readonly ulong[] m_table;
|
||||
|
||||
// Token: 0x04006DBE RID: 28094
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006DBE")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+297
@@ -0,0 +1,297 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B61 RID: 7009
|
||||
[Token(Token = "0x2001B61")]
|
||||
internal class SecT163K1Point : AbstractF2mPoint
|
||||
{
|
||||
// Token: 0x0600AA93 RID: 43667 RVA: 0x0024DDA8 File Offset: 0x0024BFA8
|
||||
[Token(Token = "0x600AA93")]
|
||||
[Address(RVA = "0x7FF110", Offset = "0x7FE110", VA = "0x1807FF110")]
|
||||
public SecT163K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AA94 RID: 43668 RVA: 0x0024DDB8 File Offset: 0x0024BFB8
|
||||
[Token(Token = "0x600AA94")]
|
||||
[Address(RVA = "0x7FF130", Offset = "0x7FE130", VA = "0x1807FF130")]
|
||||
public SecT163K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA94)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600AA95 RID: 43669 RVA: 0x0024DDE0 File Offset: 0x0024BFE0
|
||||
[Token(Token = "0x600AA95")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecT163K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AA96 RID: 43670 RVA: 0x0024DDF0 File Offset: 0x0024BFF0
|
||||
[Token(Token = "0x600AA96")]
|
||||
[Address(RVA = "0x7FE4E0", Offset = "0x7FD4E0", VA = "0x1807FE4E0", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA96)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163K1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT163K1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT163K1Point[exp:ECPoint](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: 0x17001AD2 RID: 6866
|
||||
// (get) Token: 0x0600AA97 RID: 43671 RVA: 0x0024DE0C File Offset: 0x0024C00C
|
||||
[Token(Token = "0x17001AD2")]
|
||||
public override ECFieldElement YCoord
|
||||
{
|
||||
[Token(Token = "0x600AA97")]
|
||||
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
|
||||
get
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement y = this.m_y;
|
||||
if (!base.IsInfinity && !x.IsOne)
|
||||
{
|
||||
int fieldSize = y.FieldSize;
|
||||
if (this.m_zs[0].BitLength == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AD3 RID: 6867
|
||||
// (get) Token: 0x0600AA98 RID: 43672 RVA: 0x0024DE5C File Offset: 0x0024C05C
|
||||
[Token(Token = "0x17001AD3")]
|
||||
protected internal override bool CompressionYTilde
|
||||
{
|
||||
[Token(Token = "0x600AA98")]
|
||||
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement;
|
||||
ECFieldElement ecfieldElement2;
|
||||
return ecfieldElement != ecfieldElement2;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AA99 RID: 43673 RVA: 0x0024DE90 File Offset: 0x0024C090
|
||||
[Token(Token = "0x600AA99")]
|
||||
[Address(RVA = "0x7FDCD0", Offset = "0x7FCCD0", VA = "0x1807FDCD0", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
while (!base.IsInfinity && !b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
|
||||
}
|
||||
if (ecfieldElement2.BitLength != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
|
||||
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
|
||||
int fieldSize2 = ecfieldElement5.FieldSize;
|
||||
if (fieldSize2 == 0)
|
||||
{
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
sbyte b3;
|
||||
sbyte b2 = b3;
|
||||
TypeCode typeCode = b2.GetTypeCode();
|
||||
int fieldSize3 = y.FieldSize;
|
||||
}
|
||||
bool flag2 = this.IsNormalized();
|
||||
ushort num;
|
||||
TypeCode typeCode2 = num.GetTypeCode();
|
||||
ushort num2;
|
||||
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
|
||||
short num3;
|
||||
TypeCode typeCode4 = num3.GetTypeCode();
|
||||
sbyte b4;
|
||||
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
|
||||
byte b5;
|
||||
TypeCode typeCode6 = b5.GetTypeCode();
|
||||
BigInteger one = BigInteger.One;
|
||||
int num4 = flag.CompareTo(one);
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
if (ecpoint == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
bool compressionYTilde = b.CompressionYTilde;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA9A RID: 43674 RVA: 0x0024E020 File Offset: 0x0024C220
|
||||
[Token(Token = "0x600AA9A")]
|
||||
[Address(RVA = "0x7FED00", Offset = "0x7FDD00", VA = "0x1807FED00", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
int bitLength = ecfieldElement.BitLength;
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
|
||||
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
|
||||
{
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
int fieldSize = y.FieldSize;
|
||||
ushort num;
|
||||
TypeCode typeCode = num.GetTypeCode().GetTypeCode();
|
||||
ushort num2;
|
||||
num = num2;
|
||||
sbyte b;
|
||||
TypeCode typeCode2 = b.GetTypeCode();
|
||||
sbyte b2;
|
||||
(new ECFieldElement[1])[0] = b2;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AA9B RID: 43675 RVA: 0x0024E0DC File Offset: 0x0024C2DC
|
||||
[Token(Token = "0x600AA9B")]
|
||||
[Address(RVA = "0x7FE730", Offset = "0x7FD730", VA = "0x1807FE730", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECFieldElement[] zs = b.m_zs;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
if (!x2.IsOne && ecfieldElement.BitLength != 0)
|
||||
{
|
||||
ECFieldElement[] zs2 = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement3 = x.Negate();
|
||||
ECFieldElement ecfieldElement4 = y.Negate();
|
||||
ECFieldElement ecfieldElement5 = ecfieldElement2.Negate();
|
||||
ECFieldElement ecfieldElement6 = y.Subtract(ecfieldElement2);
|
||||
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
|
||||
int fieldSize = y2.Subtract(ecfieldElement5).FieldSize;
|
||||
int fieldSize2 = x2.Subtract(ecfieldElement5).FieldSize;
|
||||
decimal num;
|
||||
TypeCode typeCode2 = num.GetTypeCode();
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600AA9C RID: 43676 RVA: 0x0024E200 File Offset: 0x0024C400
|
||||
[Token(Token = "0x600AA9C")]
|
||||
[Address(RVA = "0x7FE580", Offset = "0x7FD580", VA = "0x1807FE580", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
bool flag = this.SatisfiesOrder();
|
||||
int fieldSize = y.FieldSize;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
}
|
||||
array[0] = ecfieldElement;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+390
@@ -0,0 +1,390 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B62 RID: 7010
|
||||
[Token(Token = "0x2001B62")]
|
||||
internal class SecT163R1Curve : AbstractF2mCurve
|
||||
{
|
||||
// Token: 0x0600AA9D RID: 43677 RVA: 0x0024E26C File Offset: 0x0024C46C
|
||||
[Token(Token = "0x600AA9D")]
|
||||
[Address(RVA = "0x7FF7D0", Offset = "0x7FE7D0", VA = "0x1807FF7D0")]
|
||||
public SecT163R1Curve()
|
||||
{
|
||||
int num = 0;
|
||||
ulong num2;
|
||||
base..ctor(163, 3, 6, (int)num2);
|
||||
int num3;
|
||||
int num4;
|
||||
SecT163R1Point secT163R1Point = new SecT163R1Point(this, num3, num4, num != 0);
|
||||
num4 = 0;
|
||||
num3 = 0;
|
||||
this.m_infinity = secT163R1Point;
|
||||
byte[] array = Hex.Decode("07B6882CAAEFA84F9554FF8428BD88E246D2782AE2");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("0713612DCDDCB40AAB946BDA29CA91F73AF958AFD9");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("03FFFFFFFFFFFFFFFFFFFF48AAB689C29CA710279B");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger3;
|
||||
BigInteger two = BigInteger.Two;
|
||||
this.m_cofactor = two;
|
||||
this.m_coord = (int)((ulong)6L);
|
||||
}
|
||||
|
||||
// Token: 0x0600AA9E RID: 43678 RVA: 0x0024E324 File Offset: 0x0024C524
|
||||
[Token(Token = "0x600AA9E")]
|
||||
[Address(RVA = "0x7FF1F0", Offset = "0x7FE1F0", VA = "0x1807FF1F0", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AA9E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_1_01, ldc.i4:int32(0))
|
||||
stloc:SecT163R1Point(var_3_0D, newobj:SecT163R1Point(SecT163R1Point::.ctor, ldloc:SecT163R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
|
||||
stloc:int32(var_4, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecT163R1Point(SecT163R1Curve::m_infinity, ldloc:SecT163R1Curve(var_0), ldloc:SecT163R1Point(var_3_0D))
|
||||
stloc:uint8[](var_6_25, call:uint8[](Hex::Decode, ldstr:string("07B6882CAAEFA84F9554FF8428BD88E246D2782AE2")))
|
||||
stloc:BigInteger(var_7_2F, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_25)))
|
||||
stloc:int32(var_8_37, callvirtgetter:int32(SecT163R1Curve::get_FieldSize, ldloc:SecT163R1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT163R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_37))
|
||||
stloc:uint8[](var_9_4B, call:uint8[](Hex::Decode, ldstr:string("0713612DCDDCB40AAB946BDA29CA91F73AF958AFD9")))
|
||||
stloc:BigInteger(var_10_55, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4B)))
|
||||
stloc:int32(var_11_5D, callvirtgetter:int32(SecT163R1Curve::get_FieldSize, ldloc:SecT163R1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT163R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5D))
|
||||
stloc:uint8[](var_12_71, call:uint8[](Hex::Decode, ldstr:string("03FFFFFFFFFFFFFFFFFFFF48AAB689C29CA710279B")))
|
||||
stloc:BigInteger(var_13_7B, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_71)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecT163R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7B))
|
||||
stloc:BigInteger(var_14_8A, ldsfld:BigInteger(BigInteger::Two))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT163R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8A))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecT163R1Curve[exp:ECCurve](var_0), 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: 0x0600AA9F RID: 43679 RVA: 0x0024E3D0 File Offset: 0x0024C5D0
|
||||
[Token(Token = "0x600AA9F")]
|
||||
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 6;
|
||||
}
|
||||
|
||||
// Token: 0x17001AD4 RID: 6868
|
||||
// (get) Token: 0x0600AAA0 RID: 43680 RVA: 0x0024E3E4 File Offset: 0x0024C5E4
|
||||
[Token(Token = "0x17001AD4")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600AAA0")]
|
||||
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AAA0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT163R1Point(var_0_06, ldfld:SecT163R1Point(SecT163R1Curve::m_infinity, ldloc:SecT163R1Curve(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: 0x17001AD5 RID: 6869
|
||||
// (get) Token: 0x0600AAA1 RID: 43681 RVA: 0x0024E3F8 File Offset: 0x0024C5F8
|
||||
[Token(Token = "0x17001AD5")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AAA1")]
|
||||
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return 163;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AAA2 RID: 43682 RVA: 0x0024E40C File Offset: 0x0024C60C
|
||||
[Token(Token = "0x600AAA2")]
|
||||
[Address(RVA = "0x7FF770", Offset = "0x7FE770", VA = "0x1807FF770", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AAA2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT163FieldElement(var_0_06, newobj:SecT163FieldElement(SecT163FieldElement::.ctor, 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: 0x0600AAA3 RID: 43683 RVA: 0x0024E420 File Offset: 0x0024C620
|
||||
[Token(Token = "0x600AAA3")]
|
||||
[Address(RVA = "0x7FF6E0", Offset = "0x7FE6E0", VA = "0x1807FF6E0", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AAA3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R1Curve::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:SecT163R1Point(var_0_09, newobj:SecT163R1Point(SecT163R1Point::.ctor, ldloc:SecT163R1Curve[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: 0x0600AAA4 RID: 43684 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AAA4")]
|
||||
[Address(RVA = "0x7FF640", Offset = "0x7FE640", VA = "0x1807FF640", 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: 0x17001AD6 RID: 6870
|
||||
// (get) Token: 0x0600AAA5 RID: 43685 RVA: 0x0024E438 File Offset: 0x0024C638
|
||||
[Token(Token = "0x17001AD6")]
|
||||
public override bool IsKoblitz
|
||||
{
|
||||
[Token(Token = "0x600AAA5")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AD7 RID: 6871
|
||||
// (get) Token: 0x0600AAA6 RID: 43686 RVA: 0x0024E448 File Offset: 0x0024C648
|
||||
[Token(Token = "0x17001AD7")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600AAA6")]
|
||||
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "40")]
|
||||
get
|
||||
{
|
||||
return 163;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AD8 RID: 6872
|
||||
// (get) Token: 0x0600AAA7 RID: 43687 RVA: 0x0024E45C File Offset: 0x0024C65C
|
||||
[Token(Token = "0x17001AD8")]
|
||||
public virtual bool IsTrinomial
|
||||
{
|
||||
[Token(Token = "0x600AAA7")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "41")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AD9 RID: 6873
|
||||
// (get) Token: 0x0600AAA8 RID: 43688 RVA: 0x0024E46C File Offset: 0x0024C66C
|
||||
[Token(Token = "0x17001AD9")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600AAA8")]
|
||||
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001ADA RID: 6874
|
||||
// (get) Token: 0x0600AAA9 RID: 43689 RVA: 0x0024E47C File Offset: 0x0024C67C
|
||||
[Token(Token = "0x17001ADA")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600AAA9")]
|
||||
[Address(RVA = "0x62FA10", Offset = "0x62EA10", VA = "0x18062FA10", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return 6;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001ADB RID: 6875
|
||||
// (get) Token: 0x0600AAAA RID: 43690 RVA: 0x0024E48C File Offset: 0x0024C68C
|
||||
[Token(Token = "0x17001ADB")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600AAAA")]
|
||||
[Address(RVA = "0x4B30C0", Offset = "0x4B20C0", VA = "0x1804B30C0", Slot = "44")]
|
||||
get
|
||||
{
|
||||
return 7;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AAAB RID: 43691 RVA: 0x0024E49C File Offset: 0x0024C69C
|
||||
[Token(Token = "0x600AAAB")]
|
||||
[Address(RVA = "0x7FF3E0", Offset = "0x7FE3E0", VA = "0x1807FF3E0", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
ulong[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new ulong[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 6;
|
||||
IL_49:
|
||||
SecT163R1Curve.SecT163R1LookupTable secT163R1LookupTable;
|
||||
secT163R1LookupTable.m_outer = 0;
|
||||
secT163R1LookupTable.m_table = array;
|
||||
secT163R1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DBF RID: 28095
|
||||
[Token(Token = "0x4006DBF")]
|
||||
private const int SECT163R1_DEFAULT_COORDS = 6;
|
||||
|
||||
// Token: 0x04006DC0 RID: 28096
|
||||
[Token(Token = "0x4006DC0")]
|
||||
private const int SECT163R1_FE_LONGS = 3;
|
||||
|
||||
// Token: 0x04006DC1 RID: 28097
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006DC1")]
|
||||
protected readonly SecT163R1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B63 RID: 7011
|
||||
[Token(Token = "0x2001B63")]
|
||||
private class SecT163R1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600AAAC RID: 43692 RVA: 0x0024E510 File Offset: 0x0024C710
|
||||
[Token(Token = "0x600AAAC")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecT163R1LookupTable(SecT163R1Curve outer, ulong[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001ADC RID: 6876
|
||||
// (get) Token: 0x0600AAAD RID: 43693 RVA: 0x0024E538 File Offset: 0x0024C738
|
||||
[Token(Token = "0x17001ADC")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600AAAD")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AAAE RID: 43694 RVA: 0x0024E54C File Offset: 0x0024C74C
|
||||
[Token(Token = "0x600AAAE")]
|
||||
[Address(RVA = "0x7FF990", Offset = "0x7FE990", VA = "0x1807FF990", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
ulong[] array = Nat192.Create64();
|
||||
ulong[] array2 = Nat192.Create64();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
ulong[] table = this.m_table;
|
||||
ulong[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 6;
|
||||
num2++;
|
||||
}
|
||||
SecT163R1Curve outer = this.m_outer;
|
||||
new SecT163FieldElement().x = array;
|
||||
new SecT163FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DC2 RID: 28098
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DC2")]
|
||||
private readonly SecT163R1Curve m_outer;
|
||||
|
||||
// Token: 0x04006DC3 RID: 28099
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006DC3")]
|
||||
private readonly ulong[] m_table;
|
||||
|
||||
// Token: 0x04006DC4 RID: 28100
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006DC4")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+256
@@ -0,0 +1,256 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B64 RID: 7012
|
||||
[Token(Token = "0x2001B64")]
|
||||
internal class SecT163R1Point : AbstractF2mPoint
|
||||
{
|
||||
// Token: 0x0600AAAF RID: 43695 RVA: 0x0024E5CC File Offset: 0x0024C7CC
|
||||
[Token(Token = "0x600AAAF")]
|
||||
[Address(RVA = "0x8010A0", Offset = "0x8000A0", VA = "0x1808010A0")]
|
||||
public SecT163R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AAB0 RID: 43696 RVA: 0x0024E5DC File Offset: 0x0024C7DC
|
||||
[Token(Token = "0x600AAB0")]
|
||||
[Address(RVA = "0x8010C0", Offset = "0x8000C0", VA = "0x1808010C0")]
|
||||
public SecT163R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AAB0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600AAB1 RID: 43697 RVA: 0x0024E604 File Offset: 0x0024C804
|
||||
[Token(Token = "0x600AAB1")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecT163R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AAB2 RID: 43698 RVA: 0x0024E614 File Offset: 0x0024C814
|
||||
[Token(Token = "0x600AAB2")]
|
||||
[Address(RVA = "0x8003A0", Offset = "0x7FF3A0", VA = "0x1808003A0", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AAB2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT163R1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT163R1Point[exp:ECPoint](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: 0x17001ADD RID: 6877
|
||||
// (get) Token: 0x0600AAB3 RID: 43699 RVA: 0x0024E630 File Offset: 0x0024C830
|
||||
[Token(Token = "0x17001ADD")]
|
||||
public override ECFieldElement YCoord
|
||||
{
|
||||
[Token(Token = "0x600AAB3")]
|
||||
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
|
||||
get
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement y = this.m_y;
|
||||
if (!base.IsInfinity && !x.IsOne)
|
||||
{
|
||||
int fieldSize = y.FieldSize;
|
||||
if (this.m_zs[0].BitLength == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001ADE RID: 6878
|
||||
// (get) Token: 0x0600AAB4 RID: 43700 RVA: 0x0024E680 File Offset: 0x0024C880
|
||||
[Token(Token = "0x17001ADE")]
|
||||
protected internal override bool CompressionYTilde
|
||||
{
|
||||
[Token(Token = "0x600AAB4")]
|
||||
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement;
|
||||
ECFieldElement ecfieldElement2;
|
||||
return ecfieldElement != ecfieldElement2;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AAB5 RID: 43701 RVA: 0x0024E6B4 File Offset: 0x0024C8B4
|
||||
[Token(Token = "0x600AAB5")]
|
||||
[Address(RVA = "0x7FFB60", Offset = "0x7FEB60", VA = "0x1807FFB60", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
while (!base.IsInfinity && !b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
|
||||
}
|
||||
if (ecfieldElement2.BitLength != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
|
||||
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
|
||||
int fieldSize2 = ecfieldElement5.FieldSize;
|
||||
if (fieldSize2 == 0)
|
||||
{
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
sbyte b3;
|
||||
sbyte b2 = b3;
|
||||
TypeCode typeCode = b2.GetTypeCode();
|
||||
int fieldSize3 = y.FieldSize;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
short num;
|
||||
TypeCode typeCode2 = num.GetTypeCode();
|
||||
BigInteger one = BigInteger.One;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
if (ecpoint == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
bool compressionYTilde = b.CompressionYTilde;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600AAB6 RID: 43702 RVA: 0x0024E808 File Offset: 0x0024CA08
|
||||
[Token(Token = "0x600AAB6")]
|
||||
[Address(RVA = "0x800C50", Offset = "0x7FFC50", VA = "0x180800C50", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
int bitLength = ecfieldElement.BitLength;
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
|
||||
if (bitLength == 0)
|
||||
{
|
||||
}
|
||||
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
|
||||
{
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement5;
|
||||
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
|
||||
sbyte b;
|
||||
(new ECFieldElement[1])[0] = b;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
SecT163R1Point secT163R1Point;
|
||||
ECFieldElement[] zcoords = secT163R1Point.GetZCoords();
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AAB7 RID: 43703 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AAB7")]
|
||||
[Address(RVA = "0x8005F0", Offset = "0x7FF5F0", VA = "0x1808005F0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AAB8 RID: 43704 RVA: 0x0024E8D0 File Offset: 0x0024CAD0
|
||||
[Token(Token = "0x600AAB8")]
|
||||
[Address(RVA = "0x800440", Offset = "0x7FF440", VA = "0x180800440", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
bool flag = this.SatisfiesOrder();
|
||||
int fieldSize = y.FieldSize;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
}
|
||||
array[0] = ecfieldElement;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+386
@@ -0,0 +1,386 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B65 RID: 7013
|
||||
[Token(Token = "0x2001B65")]
|
||||
internal class SecT163R2Curve : AbstractF2mCurve
|
||||
{
|
||||
// Token: 0x0600AAB9 RID: 43705 RVA: 0x0024E93C File Offset: 0x0024CB3C
|
||||
[Token(Token = "0x600AAB9")]
|
||||
[Address(RVA = "0x801730", Offset = "0x800730", VA = "0x180801730")]
|
||||
public SecT163R2Curve()
|
||||
{
|
||||
int num = 0;
|
||||
ulong num2;
|
||||
base..ctor(163, 3, 6, (int)num2);
|
||||
int num3;
|
||||
int num4;
|
||||
SecT163R2Point secT163R2Point = new SecT163R2Point(this, num3, num4, num != 0);
|
||||
num4 = 0;
|
||||
num3 = 0;
|
||||
this.m_infinity = secT163R2Point;
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array = Hex.Decode("020A601907B8C953CA1481EB10512F78744A3205FD");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array2 = Hex.Decode("040000000000000000000292FE77E70C12A4234C33");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
this.m_order = bigInteger2;
|
||||
BigInteger two = BigInteger.Two;
|
||||
this.m_cofactor = two;
|
||||
this.m_coord = (int)((ulong)6L);
|
||||
}
|
||||
|
||||
// Token: 0x0600AABA RID: 43706 RVA: 0x0024E9DC File Offset: 0x0024CBDC
|
||||
[Token(Token = "0x600AABA")]
|
||||
[Address(RVA = "0x801180", Offset = "0x800180", VA = "0x180801180", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AABA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R2Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_1_01, ldc.i4:int32(0))
|
||||
stloc:SecT163R2Point(var_3_0D, newobj:SecT163R2Point(SecT163R2Point::.ctor, ldloc:SecT163R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
|
||||
stloc:int32(var_4, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecT163R2Point(SecT163R2Curve::m_infinity, ldloc:SecT163R2Curve(var_0), ldloc:SecT163R2Point(var_3_0D))
|
||||
stloc:int32(var_6_21, callvirtgetter:int32(SecT163R2Curve::get_FieldSize, ldloc:SecT163R2Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT163R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_21))
|
||||
stloc:uint8[](var_7_35, call:uint8[](Hex::Decode, ldstr:string("020A601907B8C953CA1481EB10512F78744A3205FD")))
|
||||
stloc:BigInteger(var_8_3F, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_7_35)))
|
||||
stloc:int32(var_9_47, callvirtgetter:int32(SecT163R2Curve::get_FieldSize, ldloc:SecT163R2Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT163R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_9_47))
|
||||
stloc:uint8[](var_10_5B, call:uint8[](Hex::Decode, ldstr:string("040000000000000000000292FE77E70C12A4234C33")))
|
||||
stloc:BigInteger(var_11_65, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_10_5B)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecT163R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_11_65))
|
||||
stloc:BigInteger(var_12_74, ldsfld:BigInteger(BigInteger::Two))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT163R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_12_74))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecT163R2Curve[exp:ECCurve](var_0), 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: 0x0600AABB RID: 43707 RVA: 0x0024EA70 File Offset: 0x0024CC70
|
||||
[Token(Token = "0x600AABB")]
|
||||
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 6;
|
||||
}
|
||||
|
||||
// Token: 0x17001ADF RID: 6879
|
||||
// (get) Token: 0x0600AABC RID: 43708 RVA: 0x0024EA84 File Offset: 0x0024CC84
|
||||
[Token(Token = "0x17001ADF")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600AABC")]
|
||||
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AABC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R2Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT163R2Point(var_0_06, ldfld:SecT163R2Point(SecT163R2Curve::m_infinity, ldloc:SecT163R2Curve(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: 0x17001AE0 RID: 6880
|
||||
// (get) Token: 0x0600AABD RID: 43709 RVA: 0x0024EA98 File Offset: 0x0024CC98
|
||||
[Token(Token = "0x17001AE0")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AABD")]
|
||||
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return 163;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AABE RID: 43710 RVA: 0x0024EAAC File Offset: 0x0024CCAC
|
||||
[Token(Token = "0x600AABE")]
|
||||
[Address(RVA = "0x8016D0", Offset = "0x8006D0", VA = "0x1808016D0", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AABE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R2Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT163FieldElement(var_0_06, newobj:SecT163FieldElement(SecT163FieldElement::.ctor, 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: 0x0600AABF RID: 43711 RVA: 0x0024EAC0 File Offset: 0x0024CCC0
|
||||
[Token(Token = "0x600AABF")]
|
||||
[Address(RVA = "0x801640", Offset = "0x800640", VA = "0x180801640", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AABF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R2Curve::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:SecT163R2Point(var_0_09, newobj:SecT163R2Point(SecT163R2Point::.ctor, ldloc:SecT163R2Curve[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: 0x0600AAC0 RID: 43712 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AAC0")]
|
||||
[Address(RVA = "0x8015A0", Offset = "0x8005A0", VA = "0x1808015A0", 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: 0x17001AE1 RID: 6881
|
||||
// (get) Token: 0x0600AAC1 RID: 43713 RVA: 0x0024EAD8 File Offset: 0x0024CCD8
|
||||
[Token(Token = "0x17001AE1")]
|
||||
public override bool IsKoblitz
|
||||
{
|
||||
[Token(Token = "0x600AAC1")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AE2 RID: 6882
|
||||
// (get) Token: 0x0600AAC2 RID: 43714 RVA: 0x0024EAE8 File Offset: 0x0024CCE8
|
||||
[Token(Token = "0x17001AE2")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600AAC2")]
|
||||
[Address(RVA = "0x7FBA70", Offset = "0x7FAA70", VA = "0x1807FBA70", Slot = "40")]
|
||||
get
|
||||
{
|
||||
return 163;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AE3 RID: 6883
|
||||
// (get) Token: 0x0600AAC3 RID: 43715 RVA: 0x0024EAFC File Offset: 0x0024CCFC
|
||||
[Token(Token = "0x17001AE3")]
|
||||
public virtual bool IsTrinomial
|
||||
{
|
||||
[Token(Token = "0x600AAC3")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "41")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AE4 RID: 6884
|
||||
// (get) Token: 0x0600AAC4 RID: 43716 RVA: 0x0024EB0C File Offset: 0x0024CD0C
|
||||
[Token(Token = "0x17001AE4")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600AAC4")]
|
||||
[Address(RVA = "0x4DB5B0", Offset = "0x4DA5B0", VA = "0x1804DB5B0", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AE5 RID: 6885
|
||||
// (get) Token: 0x0600AAC5 RID: 43717 RVA: 0x0024EB1C File Offset: 0x0024CD1C
|
||||
[Token(Token = "0x17001AE5")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600AAC5")]
|
||||
[Address(RVA = "0x62FA10", Offset = "0x62EA10", VA = "0x18062FA10", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return 6;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AE6 RID: 6886
|
||||
// (get) Token: 0x0600AAC6 RID: 43718 RVA: 0x0024EB2C File Offset: 0x0024CD2C
|
||||
[Token(Token = "0x17001AE6")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600AAC6")]
|
||||
[Address(RVA = "0x4B30C0", Offset = "0x4B20C0", VA = "0x1804B30C0", Slot = "44")]
|
||||
get
|
||||
{
|
||||
return 7;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AAC7 RID: 43719 RVA: 0x0024EB3C File Offset: 0x0024CD3C
|
||||
[Token(Token = "0x600AAC7")]
|
||||
[Address(RVA = "0x801340", Offset = "0x800340", VA = "0x180801340", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
ulong[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new ulong[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 6;
|
||||
IL_49:
|
||||
SecT163R2Curve.SecT163R2LookupTable secT163R2LookupTable;
|
||||
secT163R2LookupTable.m_outer = 0;
|
||||
secT163R2LookupTable.m_table = array;
|
||||
secT163R2LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DC5 RID: 28101
|
||||
[Token(Token = "0x4006DC5")]
|
||||
private const int SECT163R2_DEFAULT_COORDS = 6;
|
||||
|
||||
// Token: 0x04006DC6 RID: 28102
|
||||
[Token(Token = "0x4006DC6")]
|
||||
private const int SECT163R2_FE_LONGS = 3;
|
||||
|
||||
// Token: 0x04006DC7 RID: 28103
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006DC7")]
|
||||
protected readonly SecT163R2Point m_infinity;
|
||||
|
||||
// Token: 0x02001B66 RID: 7014
|
||||
[Token(Token = "0x2001B66")]
|
||||
private class SecT163R2LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600AAC8 RID: 43720 RVA: 0x0024EBB0 File Offset: 0x0024CDB0
|
||||
[Token(Token = "0x600AAC8")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecT163R2LookupTable(SecT163R2Curve outer, ulong[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001AE7 RID: 6887
|
||||
// (get) Token: 0x0600AAC9 RID: 43721 RVA: 0x0024EBD8 File Offset: 0x0024CDD8
|
||||
[Token(Token = "0x17001AE7")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600AAC9")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AACA RID: 43722 RVA: 0x0024EBEC File Offset: 0x0024CDEC
|
||||
[Token(Token = "0x600AACA")]
|
||||
[Address(RVA = "0x8018D0", Offset = "0x8008D0", VA = "0x1808018D0", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
ulong[] array = Nat192.Create64();
|
||||
ulong[] array2 = Nat192.Create64();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num)
|
||||
{
|
||||
int num3 = 0;
|
||||
ulong[] table = this.m_table;
|
||||
ulong[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 6;
|
||||
num2++;
|
||||
}
|
||||
SecT163R2Curve outer = this.m_outer;
|
||||
new SecT163FieldElement().x = array;
|
||||
new SecT163FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DC8 RID: 28104
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DC8")]
|
||||
private readonly SecT163R2Curve m_outer;
|
||||
|
||||
// Token: 0x04006DC9 RID: 28105
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006DC9")]
|
||||
private readonly ulong[] m_table;
|
||||
|
||||
// Token: 0x04006DCA RID: 28106
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006DCA")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+255
@@ -0,0 +1,255 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B67 RID: 7015
|
||||
[Token(Token = "0x2001B67")]
|
||||
internal class SecT163R2Point : AbstractF2mPoint
|
||||
{
|
||||
// Token: 0x0600AACB RID: 43723 RVA: 0x0024EC6C File Offset: 0x0024CE6C
|
||||
[Token(Token = "0x600AACB")]
|
||||
[Address(RVA = "0x802F00", Offset = "0x801F00", VA = "0x180802F00")]
|
||||
public SecT163R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AACC RID: 43724 RVA: 0x0024EC7C File Offset: 0x0024CE7C
|
||||
[Token(Token = "0x600AACC")]
|
||||
[Address(RVA = "0x802F20", Offset = "0x801F20", VA = "0x180802F20")]
|
||||
public SecT163R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AACC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R2Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600AACD RID: 43725 RVA: 0x0024ECA4 File Offset: 0x0024CEA4
|
||||
[Token(Token = "0x600AACD")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecT163R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AACE RID: 43726 RVA: 0x0024ECB4 File Offset: 0x0024CEB4
|
||||
[Token(Token = "0x600AACE")]
|
||||
[Address(RVA = "0x8022C0", Offset = "0x8012C0", VA = "0x1808022C0", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AACE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT163R2Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT163R2Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT163R2Point[exp:ECPoint](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: 0x17001AE8 RID: 6888
|
||||
// (get) Token: 0x0600AACF RID: 43727 RVA: 0x0024ECD0 File Offset: 0x0024CED0
|
||||
[Token(Token = "0x17001AE8")]
|
||||
public override ECFieldElement YCoord
|
||||
{
|
||||
[Token(Token = "0x600AACF")]
|
||||
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
|
||||
get
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement y = this.m_y;
|
||||
if (!base.IsInfinity && !x.IsOne)
|
||||
{
|
||||
int fieldSize = y.FieldSize;
|
||||
if (this.m_zs[0].BitLength == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AE9 RID: 6889
|
||||
// (get) Token: 0x0600AAD0 RID: 43728 RVA: 0x0024ED20 File Offset: 0x0024CF20
|
||||
[Token(Token = "0x17001AE9")]
|
||||
protected internal override bool CompressionYTilde
|
||||
{
|
||||
[Token(Token = "0x600AAD0")]
|
||||
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement;
|
||||
ECFieldElement ecfieldElement2;
|
||||
return ecfieldElement != ecfieldElement2;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AAD1 RID: 43729 RVA: 0x0024ED54 File Offset: 0x0024CF54
|
||||
[Token(Token = "0x600AAD1")]
|
||||
[Address(RVA = "0x801AA0", Offset = "0x800AA0", VA = "0x180801AA0", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
while (!base.IsInfinity && !b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
|
||||
}
|
||||
if (ecfieldElement2.BitLength == 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
|
||||
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
|
||||
int fieldSize2 = ecfieldElement5.FieldSize;
|
||||
if (fieldSize2 == 0)
|
||||
{
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
sbyte b3;
|
||||
sbyte b2 = b3;
|
||||
TypeCode typeCode = b2.GetTypeCode();
|
||||
int fieldSize3 = y.FieldSize;
|
||||
}
|
||||
bool flag2 = this.IsNormalized();
|
||||
ushort num;
|
||||
TypeCode typeCode2 = num.GetTypeCode();
|
||||
ushort num2;
|
||||
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
|
||||
short num3;
|
||||
TypeCode typeCode4 = num3.GetTypeCode();
|
||||
sbyte b4;
|
||||
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
|
||||
byte b5;
|
||||
TypeCode typeCode6 = b5.GetTypeCode();
|
||||
BigInteger one = BigInteger.One;
|
||||
int num4 = flag.CompareTo(one);
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
bool compressionYTilde = b.CompressionYTilde;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600AAD2 RID: 43730 RVA: 0x0024EEF0 File Offset: 0x0024D0F0
|
||||
[Token(Token = "0x600AAD2")]
|
||||
[Address(RVA = "0x802B00", Offset = "0x801B00", VA = "0x180802B00", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
if (ecfieldElement.BitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
|
||||
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
|
||||
{
|
||||
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement5;
|
||||
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
|
||||
sbyte b;
|
||||
(new ECFieldElement[1])[0] = b;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
SecT163R2Point secT163R2Point;
|
||||
ECFieldElement[] zcoords = secT163R2Point.GetZCoords();
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AAD3 RID: 43731 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AAD3")]
|
||||
[Address(RVA = "0x802510", Offset = "0x801510", VA = "0x180802510", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AAD4 RID: 43732 RVA: 0x0024EFA8 File Offset: 0x0024D1A8
|
||||
[Token(Token = "0x600AAD4")]
|
||||
[Address(RVA = "0x802360", Offset = "0x801360", VA = "0x180802360", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
bool flag = this.SatisfiesOrder();
|
||||
int fieldSize = y.FieldSize;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
}
|
||||
array[0] = ecfieldElement;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+352
@@ -0,0 +1,352 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B68 RID: 7016
|
||||
[Token(Token = "0x2001B68")]
|
||||
internal class SecT193Field
|
||||
{
|
||||
// Token: 0x0600AAD5 RID: 43733 RVA: 0x0024F014 File Offset: 0x0024D214
|
||||
[Token(Token = "0x600AAD5")]
|
||||
[Address(RVA = "0x7BA2D0", Offset = "0x7B92D0", VA = "0x1807BA2D0")]
|
||||
public static void Add(ulong[] x, ulong[] y, ulong[] z)
|
||||
{
|
||||
ulong num = y[0];
|
||||
z[0] = num;
|
||||
ulong num2 = y[1];
|
||||
z[1] = num2;
|
||||
ulong num3 = y[2];
|
||||
z[2] = num3;
|
||||
ulong num4 = y[3];
|
||||
z[3] = num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600AAD6 RID: 43734 RVA: 0x0024F068 File Offset: 0x0024D268
|
||||
[Token(Token = "0x600AAD6")]
|
||||
[Address(RVA = "0x7C65A0", Offset = "0x7C55A0", VA = "0x1807C65A0")]
|
||||
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
|
||||
{
|
||||
ulong num = yy[0];
|
||||
zz[0] = num;
|
||||
ulong num2 = yy[1];
|
||||
zz[1] = num2;
|
||||
ulong num3 = yy[2];
|
||||
zz[2] = num3;
|
||||
ulong num4 = yy[3];
|
||||
zz[3] = num4;
|
||||
ulong num5 = yy[4];
|
||||
zz[4] = num5;
|
||||
ulong num6 = yy[5];
|
||||
zz[5] = num6;
|
||||
ulong num7 = yy[6];
|
||||
zz[6] = num7;
|
||||
}
|
||||
|
||||
// Token: 0x0600AAD7 RID: 43735 RVA: 0x0024F0F4 File Offset: 0x0024D2F4
|
||||
[Token(Token = "0x600AAD7")]
|
||||
[Address(RVA = "0x7BA1E0", Offset = "0x7B91E0", VA = "0x1807BA1E0")]
|
||||
public static void AddOne(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong num = x[0];
|
||||
z[0] = num;
|
||||
ulong num2 = x[1];
|
||||
z[1] = num2;
|
||||
ulong num3 = x[2];
|
||||
z[2] = num3;
|
||||
ulong num4 = x[3];
|
||||
z[3] = num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600AAD8 RID: 43736 RVA: 0x0024F148 File Offset: 0x0024D348
|
||||
[Token(Token = "0x600AAD8")]
|
||||
[Address(RVA = "0x803D80", Offset = "0x802D80", VA = "0x180803D80")]
|
||||
public static ulong[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
ulong[] array = Nat256.FromBigInteger64(x);
|
||||
ulong num = array[3];
|
||||
array[0] = num;
|
||||
array[3] = num;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AAD9 RID: 43737 RVA: 0x0024F17C File Offset: 0x0024D37C
|
||||
[Token(Token = "0x600AAD9")]
|
||||
[Address(RVA = "0x804C90", Offset = "0x803C90", VA = "0x180804C90")]
|
||||
public static void Invert(ulong[] x, ulong[] z)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AAD9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193Field::Invert(System.UInt64[],System.UInt64[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_153:
|
||||
stloc:InvalidOperationException(var_22_158, newobj:InvalidOperationException(InvalidOperationException::.ctor))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AADA RID: 43738 RVA: 0x0024F2E4 File Offset: 0x0024D4E4
|
||||
[Token(Token = "0x600AADA")]
|
||||
[Address(RVA = "0x804FA0", Offset = "0x803FA0", VA = "0x180804FA0")]
|
||||
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT193Field.ImplMultiply(x, y, array);
|
||||
SecT193Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AADB RID: 43739 RVA: 0x0024F308 File Offset: 0x0024D508
|
||||
[Token(Token = "0x600AADB")]
|
||||
[Address(RVA = "0x804F40", Offset = "0x803F40", VA = "0x180804F40")]
|
||||
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT193Field.ImplMultiply(x, y, array);
|
||||
SecT193Field.AddExt(zz, array, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600AADC RID: 43740 RVA: 0x0024F330 File Offset: 0x0024D530
|
||||
[Token(Token = "0x600AADC")]
|
||||
[Address(RVA = "0x8050B0", Offset = "0x8040B0", VA = "0x1808050B0")]
|
||||
public static void Reduce(ulong[] xx, ulong[] z)
|
||||
{
|
||||
int length = xx.Length;
|
||||
ulong num = xx[3];
|
||||
ulong num2 = xx[6];
|
||||
z[0] = num2;
|
||||
z[1] = num2;
|
||||
z[2] = num2;
|
||||
z[3] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AADD RID: 43741 RVA: 0x0024F37C File Offset: 0x0024D57C
|
||||
[Token(Token = "0x600AADD")]
|
||||
[Address(RVA = "0x805000", Offset = "0x804000", VA = "0x180805000")]
|
||||
public static void Reduce63(ulong[] z, int zOff)
|
||||
{
|
||||
int length = z.Length;
|
||||
ulong num;
|
||||
z[0] = num;
|
||||
z[0] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AADE RID: 43742 RVA: 0x0024F3A8 File Offset: 0x0024D5A8
|
||||
[Token(Token = "0x600AADE")]
|
||||
[Address(RVA = "0x8052C0", Offset = "0x8042C0", VA = "0x1808052C0")]
|
||||
public static void Sqrt(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong num = Interleave.Unshuffle(x[0]);
|
||||
ulong num2 = x[1];
|
||||
ulong num3 = Interleave.Unshuffle(num2);
|
||||
ulong num4 = x[2];
|
||||
ulong num5 = Interleave.Unshuffle(num4);
|
||||
z[0] = num3;
|
||||
num5 = num;
|
||||
z[1] = num4;
|
||||
z[2] = num;
|
||||
z[3] = num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600AADF RID: 43743 RVA: 0x0024F414 File Offset: 0x0024D614
|
||||
[Token(Token = "0x600AADF")]
|
||||
[Address(RVA = "0x805570", Offset = "0x804570", VA = "0x180805570")]
|
||||
public static void Square(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT193Field.ImplSquare(x, array);
|
||||
SecT193Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AAE0 RID: 43744 RVA: 0x0024F438 File Offset: 0x0024D638
|
||||
[Token(Token = "0x600AAE0")]
|
||||
[Address(RVA = "0x805490", Offset = "0x804490", VA = "0x180805490")]
|
||||
public static void SquareAddToExt(ulong[] x, ulong[] zz)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT193Field.ImplSquare(x, array);
|
||||
SecT193Field.AddExt(zz, array, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600AAE1 RID: 43745 RVA: 0x0024F45C File Offset: 0x0024D65C
|
||||
[Token(Token = "0x600AAE1")]
|
||||
[Address(RVA = "0x8054E0", Offset = "0x8044E0", VA = "0x1808054E0")]
|
||||
public static void SquareN(ulong[] x, int n, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT193Field.ImplSquare(x, array);
|
||||
SecT193Field.Reduce(array, z);
|
||||
if (n - 1 > 0)
|
||||
{
|
||||
SecT193Field.ImplSquare(z, array);
|
||||
SecT193Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AAE2 RID: 43746 RVA: 0x0024F494 File Offset: 0x0024D694
|
||||
[Token(Token = "0x600AAE2")]
|
||||
[Address(RVA = "0x7C80D0", Offset = "0x7C70D0", VA = "0x1807C80D0")]
|
||||
public static uint Trace(ulong[] x)
|
||||
{
|
||||
ulong num = x[0];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AAE3 RID: 43747 RVA: 0x0024F4B0 File Offset: 0x0024D6B0
|
||||
[Token(Token = "0x600AAE3")]
|
||||
[Address(RVA = "0x803E10", Offset = "0x802E10", VA = "0x180803E10")]
|
||||
protected static void ImplCompactExt(ulong[] zz)
|
||||
{
|
||||
int length = zz.Length;
|
||||
ulong num = zz[1];
|
||||
ulong num2 = zz[2];
|
||||
ulong num3 = zz[4];
|
||||
ulong num4 = zz[6];
|
||||
ulong num5 = zz[7];
|
||||
num = num2;
|
||||
zz[1] = num;
|
||||
zz[2] = num2;
|
||||
zz[3] = num;
|
||||
zz[4] = num3;
|
||||
zz[5] = num4;
|
||||
zz[6] = num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600AAE4 RID: 43748 RVA: 0x0024F530 File Offset: 0x0024D730
|
||||
[Token(Token = "0x600AAE4")]
|
||||
[Address(RVA = "0x804060", Offset = "0x803060", VA = "0x180804060")]
|
||||
protected static void ImplExpand(ulong[] x, ulong[] z)
|
||||
{
|
||||
int length = x.Length;
|
||||
ulong num = x[0];
|
||||
ulong num2 = x[1];
|
||||
ulong num3 = x[2];
|
||||
z[0] = num;
|
||||
num = num2;
|
||||
z[1] = num;
|
||||
z[2] = num2;
|
||||
z[3] = num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600AAE5 RID: 43749 RVA: 0x0024F588 File Offset: 0x0024D788
|
||||
[Token(Token = "0x600AAE5")]
|
||||
[Address(RVA = "0x8041B0", Offset = "0x8031B0", VA = "0x1808041B0")]
|
||||
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
|
||||
{
|
||||
ulong[] array = new ulong[4];
|
||||
ulong[] array2 = new ulong[4];
|
||||
SecT193Field.ImplExpand(x, array);
|
||||
SecT193Field.ImplExpand(y, array2);
|
||||
ulong num = array2[0];
|
||||
ulong num2 = array[0];
|
||||
int num3 = 0;
|
||||
SecT193Field.ImplMulwAcc(num2, num, zz, num3);
|
||||
ulong num4 = array2[1];
|
||||
SecT193Field.ImplMulwAcc(array[1], num4, zz, 1);
|
||||
ulong num5 = array2[2];
|
||||
SecT193Field.ImplMulwAcc(array[2], num5, zz, 2);
|
||||
ulong num6 = array2[3];
|
||||
SecT193Field.ImplMulwAcc(array[3], num6, zz, 3);
|
||||
int length = zz.Length;
|
||||
int length2 = array.Length;
|
||||
int length3 = array2.Length;
|
||||
ulong num7 = array[1];
|
||||
ulong num8 = array2[1];
|
||||
uint num9;
|
||||
SecT193Field.ImplMulwAcc(num7, num8, zz, (int)num9);
|
||||
int length4 = array.Length;
|
||||
int length5 = array2.Length;
|
||||
ulong num10 = array[3];
|
||||
ulong num11 = array2[2];
|
||||
uint num12;
|
||||
SecT193Field.ImplMulwAcc(num10, num11, zz, (int)num12);
|
||||
int length6 = zz.Length;
|
||||
uint num13;
|
||||
num13 += (uint)(-2);
|
||||
int length7 = array.Length;
|
||||
ulong num14 = array[2];
|
||||
int length8 = array2.Length;
|
||||
ulong num15 = array2[2];
|
||||
ulong num16 = array2[1];
|
||||
uint num17;
|
||||
SecT193Field.ImplMulwAcc(num14, num16, zz, (int)num17);
|
||||
ulong[] array3 = new ulong[3];
|
||||
int num18 = 0;
|
||||
SecT193Field.ImplMulwAcc(num14, num15, array3, num18);
|
||||
num15 = num16;
|
||||
uint num19;
|
||||
SecT193Field.ImplMulwAcc(num14, num15, array3, (int)num19);
|
||||
int length9 = array3.Length;
|
||||
ulong num20 = zz[3];
|
||||
zz[3] = num20;
|
||||
ulong num21 = zz[4];
|
||||
zz[4] = num21;
|
||||
SecT193Field.ImplCompactExt(zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600AAE6 RID: 43750 RVA: 0x0024F730 File Offset: 0x0024D930
|
||||
[Token(Token = "0x600AAE6")]
|
||||
[Address(RVA = "0x8047B0", Offset = "0x8037B0", VA = "0x1808047B0")]
|
||||
protected static void ImplMulwAcc(ulong x, ulong y, ulong[] z, int zOff)
|
||||
{
|
||||
ulong[] array = new ulong[8];
|
||||
array[1] = y;
|
||||
int num = array.Length;
|
||||
array[2] = (ulong)num;
|
||||
int length = array.Length;
|
||||
array[3] = (ulong)num;
|
||||
num = length;
|
||||
array[4] = (ulong)num;
|
||||
int length2 = array.Length;
|
||||
array[5] = (ulong)num;
|
||||
num = length2;
|
||||
array[6] = (ulong)num;
|
||||
int length3 = array.Length;
|
||||
array[7] = (ulong)num;
|
||||
ulong num2 = array[(int)x];
|
||||
}
|
||||
|
||||
// Token: 0x0600AAE7 RID: 43751 RVA: 0x0024F7AC File Offset: 0x0024D9AC
|
||||
[Token(Token = "0x600AAE7")]
|
||||
[Address(RVA = "0x804BB0", Offset = "0x803BB0", VA = "0x180804BB0")]
|
||||
protected static void ImplSquare(ulong[] x, ulong[] zz)
|
||||
{
|
||||
ulong num = x[0];
|
||||
int num2 = 0;
|
||||
Interleave.Expand64To128(num, zz, num2);
|
||||
Interleave.Expand64To128(x[1], zz, 2);
|
||||
Interleave.Expand64To128(x[2], zz, 4);
|
||||
ulong num3 = x[3];
|
||||
zz[6] = num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600AAE8 RID: 43752 RVA: 0x0024F800 File Offset: 0x0024DA00
|
||||
[Token(Token = "0x600AAE8")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecT193Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006DCB RID: 28107
|
||||
[Token(Token = "0x4006DCB")]
|
||||
private const ulong M01 = 1UL;
|
||||
|
||||
// Token: 0x04006DCC RID: 28108
|
||||
[Token(Token = "0x4006DCC")]
|
||||
private const ulong M49 = 562949953421311UL;
|
||||
}
|
||||
}
|
||||
+597
@@ -0,0 +1,597 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B69 RID: 7017
|
||||
[Token(Token = "0x2001B69")]
|
||||
internal class SecT193FieldElement : AbstractF2mFieldElement
|
||||
{
|
||||
// Token: 0x0600AAE9 RID: 43753 RVA: 0x0024F814 File Offset: 0x0024DA14
|
||||
[Token(Token = "0x600AAE9")]
|
||||
[Address(RVA = "0x803C10", Offset = "0x802C10", VA = "0x180803C10")]
|
||||
public SecT193FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AAE9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_38:
|
||||
stloc:ArgumentException(var_3_47, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT193FieldElement"), ldstr:string("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.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: 0x0600AAEA RID: 43754 RVA: 0x0024F868 File Offset: 0x0024DA68
|
||||
[Token(Token = "0x600AAEA")]
|
||||
[Address(RVA = "0x7B9E30", Offset = "0x7B8E30", VA = "0x1807B9E30")]
|
||||
public SecT193FieldElement()
|
||||
{
|
||||
ulong[] array = Nat256.Create64();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AAEB RID: 43755 RVA: 0x0024F88C File Offset: 0x0024DA8C
|
||||
[Token(Token = "0x600AAEB")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecT193FieldElement(ulong[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001AEA RID: 6890
|
||||
// (get) Token: 0x0600AAEC RID: 43756 RVA: 0x0024F8A8 File Offset: 0x0024DAA8
|
||||
[Token(Token = "0x17001AEA")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600AAEC")]
|
||||
[Address(RVA = "0x7B9EA0", Offset = "0x7B8EA0", VA = "0x1807B9EA0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsOne64(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AEB RID: 6891
|
||||
// (get) Token: 0x0600AAED RID: 43757 RVA: 0x0024F8C0 File Offset: 0x0024DAC0
|
||||
[Token(Token = "0x17001AEB")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600AAED")]
|
||||
[Address(RVA = "0x7B9EB0", Offset = "0x7B8EB0", VA = "0x1807B9EB0", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsZero64(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AAEE RID: 43758 RVA: 0x0024F8D8 File Offset: 0x0024DAD8
|
||||
[Token(Token = "0x600AAEE")]
|
||||
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AAEF RID: 43759 RVA: 0x0024F8F4 File Offset: 0x0024DAF4
|
||||
[Token(Token = "0x600AAEF")]
|
||||
[Address(RVA = "0x7B9C80", Offset = "0x7B8C80", VA = "0x1807B9C80", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat256.ToBigInteger64(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001AEC RID: 6892
|
||||
// (get) Token: 0x0600AAF0 RID: 43760 RVA: 0x0024F90C File Offset: 0x0024DB0C
|
||||
[Token(Token = "0x17001AEC")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600AAF0")]
|
||||
[Address(RVA = "0x803D40", Offset = "0x802D40", VA = "0x180803D40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecT193Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AED RID: 6893
|
||||
// (get) Token: 0x0600AAF1 RID: 43761 RVA: 0x0024F920 File Offset: 0x0024DB20
|
||||
[Token(Token = "0x17001AED")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AAF1")]
|
||||
[Address(RVA = "0x803D70", Offset = "0x802D70", VA = "0x180803D70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return 193;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AAF2 RID: 43762 RVA: 0x0024F934 File Offset: 0x0024DB34
|
||||
[Token(Token = "0x600AAF2")]
|
||||
[Address(RVA = "0x803150", Offset = "0x802150", VA = "0x180803150", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
ulong[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecT193FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecT193FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AAF3 RID: 43763 RVA: 0x0024F97C File Offset: 0x0024DB7C
|
||||
[Token(Token = "0x600AAF3")]
|
||||
[Address(RVA = "0x802FE0", Offset = "0x801FE0", VA = "0x180802FE0", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
ulong[] array = Nat256.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
ulong num = array2[0];
|
||||
array[0] = num;
|
||||
ulong num2 = array2[1];
|
||||
array[1] = num2;
|
||||
ulong num3 = array2[2];
|
||||
array[2] = num3;
|
||||
ulong num4 = array2[3];
|
||||
array[3] = num4;
|
||||
new SecT193FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AAF4 RID: 43764 RVA: 0x0024F9F0 File Offset: 0x0024DBF0
|
||||
[Token(Token = "0x600AAF4")]
|
||||
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AAF4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT193FieldElement[exp:ECFieldElement](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: 0x0600AAF5 RID: 43765 RVA: 0x0024FA04 File Offset: 0x0024DC04
|
||||
[Token(Token = "0x600AAF5")]
|
||||
[Address(RVA = "0x803720", Offset = "0x802720", VA = "0x180803720", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
ulong[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecT193FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
SecT193Field.Reduce(Nat256.CreateExt64(), array);
|
||||
new SecT193FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AAF6 RID: 43766 RVA: 0x0024FA58 File Offset: 0x0024DC58
|
||||
[Token(Token = "0x600AAF6")]
|
||||
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
|
||||
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AAF6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT193FieldElement[exp:ECFieldElement](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: 0x0600AAF7 RID: 43767 RVA: 0x0024FA6C File Offset: 0x0024DC6C
|
||||
[Token(Token = "0x600AAF7")]
|
||||
[Address(RVA = "0x803470", Offset = "0x802470", VA = "0x180803470", Slot = "20")]
|
||||
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
do
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
}
|
||||
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
|
||||
ulong[] array2 = Nat256.CreateExt64();
|
||||
ulong[] array3 = Nat256.CreateExt64();
|
||||
SecT193Field.AddExt(array2, array3, array2);
|
||||
ulong[] array4 = Nat256.CreateExt64();
|
||||
SecT193Field.AddExt(array2, array4, array2);
|
||||
ulong[] array5 = Nat256.Create64();
|
||||
SecT193Field.Reduce(array2, array5);
|
||||
new SecT193FieldElement().x = array5;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AAF8 RID: 43768 RVA: 0x0024FB00 File Offset: 0x0024DD00
|
||||
[Token(Token = "0x600AAF8")]
|
||||
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
ECFieldElement ecfieldElement = b.Square();
|
||||
BigInteger bigInteger = base.ToBigInteger();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AAF9 RID: 43769 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AAF9")]
|
||||
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AAFA RID: 43770 RVA: 0x0024FB20 File Offset: 0x0024DD20
|
||||
[Token(Token = "0x600AAFA")]
|
||||
[Address(RVA = "0x803B70", Offset = "0x802B70", VA = "0x180803B70", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AAFA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
|
||||
stloc:uint64[](var_2_0E, ldfld:uint64[](SecT193FieldElement::x, ldloc:SecT193FieldElement(this)))
|
||||
stloc:uint64[](var_4_16, call:uint64[](Nat256::CreateExt64))
|
||||
call:void(SecT193Field::ImplSquare, ldloc:uint64[](var_2_0E), ldloc:uint64[](var_4_16))
|
||||
call:void(SecT193Field::Reduce, ldloc:uint64[](var_4_16), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT193FieldElement::x, newobj:SecT193FieldElement(SecT193FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AAFB RID: 43771 RVA: 0x0024FB60 File Offset: 0x0024DD60
|
||||
[Token(Token = "0x600AAFB")]
|
||||
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
|
||||
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AAFB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT193FieldElement[exp:ECFieldElement](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: 0x0600AAFC RID: 43772 RVA: 0x0024FB74 File Offset: 0x0024DD74
|
||||
[Token(Token = "0x600AAFC")]
|
||||
[Address(RVA = "0x8038D0", Offset = "0x8028D0", VA = "0x1808038D0", Slot = "22")]
|
||||
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
ulong[] array;
|
||||
do
|
||||
{
|
||||
array = this.x;
|
||||
}
|
||||
while (x == 0 || x == 0 || y == 0 || y == 0);
|
||||
ulong[] array2 = Nat256.CreateExt64();
|
||||
ulong[] array3 = Nat256.CreateExt64();
|
||||
SecT193Field.ImplSquare(array, array3);
|
||||
SecT193Field.AddExt(array2, array3, array2);
|
||||
ulong[] array4 = Nat256.CreateExt64();
|
||||
SecT193Field.AddExt(array2, array4, array2);
|
||||
ulong[] array5 = Nat256.Create64();
|
||||
SecT193Field.Reduce(array2, array5);
|
||||
new SecT193FieldElement().x = array5;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AAFD RID: 43773 RVA: 0x0024FC04 File Offset: 0x0024DE04
|
||||
[Token(Token = "0x600AAFD")]
|
||||
[Address(RVA = "0x803AF0", Offset = "0x802AF0", VA = "0x180803AF0", Slot = "23")]
|
||||
public override ECFieldElement SquarePow(int pow)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AAFD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::SquarePow(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
|
||||
call:void(SecT193Field::SquareN, ldfld:uint64[](SecT193FieldElement::x, ldloc:SecT193FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT193FieldElement::x, newobj:SecT193FieldElement(SecT193FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AAFE RID: 43774 RVA: 0x0024FC30 File Offset: 0x0024DE30
|
||||
[Token(Token = "0x600AAFE")]
|
||||
[Address(RVA = "0x7C6140", Offset = "0x7C5140", VA = "0x1807C6140", Slot = "28")]
|
||||
public override int Trace()
|
||||
{
|
||||
ulong num = this.x[0];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AAFF RID: 43775 RVA: 0x0024FC50 File Offset: 0x0024DE50
|
||||
[Token(Token = "0x600AAFF")]
|
||||
[Address(RVA = "0x803400", Offset = "0x802400", VA = "0x180803400", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AAFF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
|
||||
call:void(SecT193Field::Invert, ldfld:uint64[](SecT193FieldElement::x, ldloc:SecT193FieldElement(this)), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT193FieldElement::x, newobj:SecT193FieldElement(SecT193FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AB00 RID: 43776 RVA: 0x0024FC7C File Offset: 0x0024DE7C
|
||||
[Token(Token = "0x600AB00")]
|
||||
[Address(RVA = "0x803860", Offset = "0x802860", VA = "0x180803860", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB00)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::Sqrt()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
|
||||
call:void(SecT193Field::Sqrt, ldfld:uint64[](SecT193FieldElement::x, ldloc:SecT193FieldElement(this)), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT193FieldElement::x, newobj:SecT193FieldElement(SecT193FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x17001AEE RID: 6894
|
||||
// (get) Token: 0x0600AB01 RID: 43777 RVA: 0x0024FCA8 File Offset: 0x0024DEA8
|
||||
[Token(Token = "0x17001AEE")]
|
||||
public virtual int Representation
|
||||
{
|
||||
[Token(Token = "0x600AB01")]
|
||||
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "29")]
|
||||
get
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AEF RID: 6895
|
||||
// (get) Token: 0x0600AB02 RID: 43778 RVA: 0x0024FCB8 File Offset: 0x0024DEB8
|
||||
[Token(Token = "0x17001AEF")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600AB02")]
|
||||
[Address(RVA = "0x803D70", Offset = "0x802D70", VA = "0x180803D70", Slot = "30")]
|
||||
get
|
||||
{
|
||||
return 193;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AF0 RID: 6896
|
||||
// (get) Token: 0x0600AB03 RID: 43779 RVA: 0x0024FCCC File Offset: 0x0024DECC
|
||||
[Token(Token = "0x17001AF0")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600AB03")]
|
||||
[Address(RVA = "0x72B370", Offset = "0x72A370", VA = "0x18072B370", Slot = "31")]
|
||||
get
|
||||
{
|
||||
return 15;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AF1 RID: 6897
|
||||
// (get) Token: 0x0600AB04 RID: 43780 RVA: 0x0024FCDC File Offset: 0x0024DEDC
|
||||
[Token(Token = "0x17001AF1")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600AB04")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "32")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AF2 RID: 6898
|
||||
// (get) Token: 0x0600AB05 RID: 43781 RVA: 0x0024FCEC File Offset: 0x0024DEEC
|
||||
[Token(Token = "0x17001AF2")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600AB05")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "33")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB06 RID: 43782 RVA: 0x0024FCFC File Offset: 0x0024DEFC
|
||||
[Token(Token = "0x600AB06")]
|
||||
[Address(RVA = "0x803300", Offset = "0x802300", VA = "0x180803300", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB06)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT193FieldElement[exp:ECFieldElement](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: 0x0600AB07 RID: 43783 RVA: 0x0024FD18 File Offset: 0x0024DF18
|
||||
[Token(Token = "0x600AB07")]
|
||||
[Address(RVA = "0x803270", Offset = "0x802270", VA = "0x180803270", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB07)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT193FieldElement[exp:ECFieldElement](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: 0x0600AB08 RID: 43784 RVA: 0x0024FD34 File Offset: 0x0024DF34
|
||||
[Token(Token = "0x600AB08")]
|
||||
[Address(RVA = "0x7B9220", Offset = "0x7B8220", VA = "0x1807B9220", Slot = "34")]
|
||||
public virtual bool Equals(SecT193FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
ulong[] array = other.x;
|
||||
return Nat256.Eq64(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB09 RID: 43785 RVA: 0x0024FD60 File Offset: 0x0024DF60
|
||||
[Token(Token = "0x600AB09")]
|
||||
[Address(RVA = "0x803390", Offset = "0x802390", VA = "0x180803390", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 4);
|
||||
}
|
||||
|
||||
// Token: 0x04006DCD RID: 28109
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DCD")]
|
||||
protected internal readonly ulong[] x;
|
||||
}
|
||||
}
|
||||
+391
@@ -0,0 +1,391 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B6A RID: 7018
|
||||
[Token(Token = "0x2001B6A")]
|
||||
internal class SecT193R1Curve : AbstractF2mCurve
|
||||
{
|
||||
// Token: 0x0600AB0A RID: 43786 RVA: 0x0024FD80 File Offset: 0x0024DF80
|
||||
[Token(Token = "0x600AB0A")]
|
||||
[Address(RVA = "0x805B90", Offset = "0x804B90", VA = "0x180805B90")]
|
||||
public SecT193R1Curve()
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
base..ctor(193, 15, num2, num);
|
||||
int num3;
|
||||
int num4;
|
||||
SecT193R1Point secT193R1Point = new SecT193R1Point(this, num3, num4, num != 0);
|
||||
num4 = 0;
|
||||
num3 = 0;
|
||||
this.m_infinity = secT193R1Point;
|
||||
byte[] array = Hex.Decode("0017858FEB7A98975169E171F77B4087DE098AC8A911DF7B01");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("00FDFB49BFE6C3A89FACADAA7A1E5BBC7CC1C2E5D831478814");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("01000000000000000000000000C7F34A778F443ACC920EBA49");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger3;
|
||||
BigInteger two = BigInteger.Two;
|
||||
this.m_cofactor = two;
|
||||
this.m_coord = (int)((ulong)6L);
|
||||
}
|
||||
|
||||
// Token: 0x0600AB0B RID: 43787 RVA: 0x0024FE3C File Offset: 0x0024E03C
|
||||
[Token(Token = "0x600AB0B")]
|
||||
[Address(RVA = "0x8055C0", Offset = "0x8045C0", VA = "0x1808055C0", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB0B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_1_01, ldc.i4:int32(0))
|
||||
stloc:SecT193R1Point(var_3_0F, newobj:SecT193R1Point(SecT193R1Point::.ctor, ldloc:SecT193R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
|
||||
stloc:int32(var_4, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecT193R1Point(SecT193R1Curve::m_infinity, ldloc:SecT193R1Curve(var_0), ldloc:SecT193R1Point(var_3_0F))
|
||||
stloc:uint8[](var_6_27, call:uint8[](Hex::Decode, ldstr:string("0017858FEB7A98975169E171F77B4087DE098AC8A911DF7B01")))
|
||||
stloc:BigInteger(var_7_31, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_27)))
|
||||
stloc:int32(var_8_39, callvirtgetter:int32(SecT193R1Curve::get_FieldSize, ldloc:SecT193R1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT193R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_39))
|
||||
stloc:uint8[](var_9_4D, call:uint8[](Hex::Decode, ldstr:string("00FDFB49BFE6C3A89FACADAA7A1E5BBC7CC1C2E5D831478814")))
|
||||
stloc:BigInteger(var_10_57, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4D)))
|
||||
stloc:int32(var_11_5F, callvirtgetter:int32(SecT193R1Curve::get_FieldSize, ldloc:SecT193R1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT193R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5F))
|
||||
stloc:uint8[](var_12_73, call:uint8[](Hex::Decode, ldstr:string("01000000000000000000000000C7F34A778F443ACC920EBA49")))
|
||||
stloc:BigInteger(var_13_7D, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_73)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecT193R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7D))
|
||||
stloc:BigInteger(var_14_8C, ldsfld:BigInteger(BigInteger::Two))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT193R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8C))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecT193R1Curve[exp:ECCurve](var_0), 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: 0x0600AB0C RID: 43788 RVA: 0x0024FEE8 File Offset: 0x0024E0E8
|
||||
[Token(Token = "0x600AB0C")]
|
||||
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 6;
|
||||
}
|
||||
|
||||
// Token: 0x17001AF3 RID: 6899
|
||||
// (get) Token: 0x0600AB0D RID: 43789 RVA: 0x0024FEFC File Offset: 0x0024E0FC
|
||||
[Token(Token = "0x17001AF3")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600AB0D")]
|
||||
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB0D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT193R1Point(var_0_06, ldfld:SecT193R1Point(SecT193R1Curve::m_infinity, ldloc:SecT193R1Curve(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: 0x17001AF4 RID: 6900
|
||||
// (get) Token: 0x0600AB0E RID: 43790 RVA: 0x0024FF10 File Offset: 0x0024E110
|
||||
[Token(Token = "0x17001AF4")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AB0E")]
|
||||
[Address(RVA = "0x803D70", Offset = "0x802D70", VA = "0x180803D70", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return 193;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB0F RID: 43791 RVA: 0x0024FF24 File Offset: 0x0024E124
|
||||
[Token(Token = "0x600AB0F")]
|
||||
[Address(RVA = "0x805B30", Offset = "0x804B30", VA = "0x180805B30", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB0F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT193FieldElement(var_0_06, newobj:SecT193FieldElement(SecT193FieldElement::.ctor, 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: 0x0600AB10 RID: 43792 RVA: 0x0024FF38 File Offset: 0x0024E138
|
||||
[Token(Token = "0x600AB10")]
|
||||
[Address(RVA = "0x805A00", Offset = "0x804A00", VA = "0x180805A00", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB10)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R1Curve::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:SecT193R1Point(var_0_09, newobj:SecT193R1Point(SecT193R1Point::.ctor, ldloc:SecT193R1Curve[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: 0x0600AB11 RID: 43793 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB11")]
|
||||
[Address(RVA = "0x805A90", Offset = "0x804A90", VA = "0x180805A90", 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: 0x17001AF5 RID: 6901
|
||||
// (get) Token: 0x0600AB12 RID: 43794 RVA: 0x0024FF50 File Offset: 0x0024E150
|
||||
[Token(Token = "0x17001AF5")]
|
||||
public override bool IsKoblitz
|
||||
{
|
||||
[Token(Token = "0x600AB12")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AF6 RID: 6902
|
||||
// (get) Token: 0x0600AB13 RID: 43795 RVA: 0x0024FF60 File Offset: 0x0024E160
|
||||
[Token(Token = "0x17001AF6")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600AB13")]
|
||||
[Address(RVA = "0x803D70", Offset = "0x802D70", VA = "0x180803D70", Slot = "40")]
|
||||
get
|
||||
{
|
||||
return 193;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AF7 RID: 6903
|
||||
// (get) Token: 0x0600AB14 RID: 43796 RVA: 0x0024FF74 File Offset: 0x0024E174
|
||||
[Token(Token = "0x17001AF7")]
|
||||
public virtual bool IsTrinomial
|
||||
{
|
||||
[Token(Token = "0x600AB14")]
|
||||
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AF8 RID: 6904
|
||||
// (get) Token: 0x0600AB15 RID: 43797 RVA: 0x0024FF84 File Offset: 0x0024E184
|
||||
[Token(Token = "0x17001AF8")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600AB15")]
|
||||
[Address(RVA = "0x72B370", Offset = "0x72A370", VA = "0x18072B370", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return 15;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AF9 RID: 6905
|
||||
// (get) Token: 0x0600AB16 RID: 43798 RVA: 0x0024FF94 File Offset: 0x0024E194
|
||||
[Token(Token = "0x17001AF9")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600AB16")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AFA RID: 6906
|
||||
// (get) Token: 0x0600AB17 RID: 43799 RVA: 0x0024FFA4 File Offset: 0x0024E1A4
|
||||
[Token(Token = "0x17001AFA")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600AB17")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB18 RID: 43800 RVA: 0x0024FFB4 File Offset: 0x0024E1B4
|
||||
[Token(Token = "0x600AB18")]
|
||||
[Address(RVA = "0x8057A0", Offset = "0x8047A0", VA = "0x1808057A0", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
ulong[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new ulong[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 8;
|
||||
IL_49:
|
||||
SecT193R1Curve.SecT193R1LookupTable secT193R1LookupTable;
|
||||
secT193R1LookupTable.m_outer = 0;
|
||||
secT193R1LookupTable.m_table = array;
|
||||
secT193R1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DCE RID: 28110
|
||||
[Token(Token = "0x4006DCE")]
|
||||
private const int SECT193R1_DEFAULT_COORDS = 6;
|
||||
|
||||
// Token: 0x04006DCF RID: 28111
|
||||
[Token(Token = "0x4006DCF")]
|
||||
private const int SECT193R1_FE_LONGS = 4;
|
||||
|
||||
// Token: 0x04006DD0 RID: 28112
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006DD0")]
|
||||
protected readonly SecT193R1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B6B RID: 7019
|
||||
[Token(Token = "0x2001B6B")]
|
||||
private class SecT193R1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600AB19 RID: 43801 RVA: 0x00250028 File Offset: 0x0024E228
|
||||
[Token(Token = "0x600AB19")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecT193R1LookupTable(SecT193R1Curve outer, ulong[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001AFB RID: 6907
|
||||
// (get) Token: 0x0600AB1A RID: 43802 RVA: 0x00250050 File Offset: 0x0024E250
|
||||
[Token(Token = "0x17001AFB")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600AB1A")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB1B RID: 43803 RVA: 0x00250064 File Offset: 0x0024E264
|
||||
[Token(Token = "0x600AB1B")]
|
||||
[Address(RVA = "0x805D50", Offset = "0x804D50", VA = "0x180805D50", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
ulong[] array = Nat256.Create64();
|
||||
ulong[] array2 = Nat256.Create64();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num2)
|
||||
{
|
||||
int num3 = 0;
|
||||
ulong[] table = this.m_table;
|
||||
ulong[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 8;
|
||||
num2++;
|
||||
}
|
||||
SecT193R1Curve outer = this.m_outer;
|
||||
new SecT193FieldElement().x = array;
|
||||
new SecT193FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DD1 RID: 28113
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DD1")]
|
||||
private readonly SecT193R1Curve m_outer;
|
||||
|
||||
// Token: 0x04006DD2 RID: 28114
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006DD2")]
|
||||
private readonly ulong[] m_table;
|
||||
|
||||
// Token: 0x04006DD3 RID: 28115
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006DD3")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+256
@@ -0,0 +1,256 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B6C RID: 7020
|
||||
[Token(Token = "0x2001B6C")]
|
||||
internal class SecT193R1Point : AbstractF2mPoint
|
||||
{
|
||||
// Token: 0x0600AB1C RID: 43804 RVA: 0x002500E4 File Offset: 0x0024E2E4
|
||||
[Token(Token = "0x600AB1C")]
|
||||
[Address(RVA = "0x807520", Offset = "0x806520", VA = "0x180807520")]
|
||||
public SecT193R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AB1D RID: 43805 RVA: 0x002500F4 File Offset: 0x0024E2F4
|
||||
[Token(Token = "0x600AB1D")]
|
||||
[Address(RVA = "0x807460", Offset = "0x806460", VA = "0x180807460")]
|
||||
public SecT193R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB1D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600AB1E RID: 43806 RVA: 0x0025011C File Offset: 0x0024E31C
|
||||
[Token(Token = "0x600AB1E")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecT193R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AB1F RID: 43807 RVA: 0x0025012C File Offset: 0x0024E32C
|
||||
[Token(Token = "0x600AB1F")]
|
||||
[Address(RVA = "0x806760", Offset = "0x805760", VA = "0x180806760", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB1F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT193R1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT193R1Point[exp:ECPoint](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: 0x17001AFC RID: 6908
|
||||
// (get) Token: 0x0600AB20 RID: 43808 RVA: 0x00250148 File Offset: 0x0024E348
|
||||
[Token(Token = "0x17001AFC")]
|
||||
public override ECFieldElement YCoord
|
||||
{
|
||||
[Token(Token = "0x600AB20")]
|
||||
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
|
||||
get
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement y = this.m_y;
|
||||
if (!base.IsInfinity && !x.IsOne)
|
||||
{
|
||||
int fieldSize = y.FieldSize;
|
||||
if (this.m_zs[0].BitLength == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001AFD RID: 6909
|
||||
// (get) Token: 0x0600AB21 RID: 43809 RVA: 0x00250198 File Offset: 0x0024E398
|
||||
[Token(Token = "0x17001AFD")]
|
||||
protected internal override bool CompressionYTilde
|
||||
{
|
||||
[Token(Token = "0x600AB21")]
|
||||
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement;
|
||||
ECFieldElement ecfieldElement2;
|
||||
return ecfieldElement != ecfieldElement2;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB22 RID: 43810 RVA: 0x002501CC File Offset: 0x0024E3CC
|
||||
[Token(Token = "0x600AB22")]
|
||||
[Address(RVA = "0x805F20", Offset = "0x804F20", VA = "0x180805F20", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
while (!base.IsInfinity && !b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
|
||||
}
|
||||
if (ecfieldElement2.BitLength != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
|
||||
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
|
||||
int fieldSize2 = ecfieldElement5.FieldSize;
|
||||
if (fieldSize2 == 0)
|
||||
{
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
sbyte b3;
|
||||
sbyte b2 = b3;
|
||||
TypeCode typeCode = b2.GetTypeCode();
|
||||
int fieldSize3 = y.FieldSize;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
short num;
|
||||
TypeCode typeCode2 = num.GetTypeCode();
|
||||
BigInteger one = BigInteger.One;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
if (ecpoint == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
bool compressionYTilde = b.CompressionYTilde;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB23 RID: 43811 RVA: 0x00250320 File Offset: 0x0024E520
|
||||
[Token(Token = "0x600AB23")]
|
||||
[Address(RVA = "0x807010", Offset = "0x806010", VA = "0x180807010", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
int bitLength = ecfieldElement.BitLength;
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
|
||||
if (bitLength == 0)
|
||||
{
|
||||
}
|
||||
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
|
||||
{
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement5;
|
||||
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
|
||||
sbyte b;
|
||||
(new ECFieldElement[1])[0] = b;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
SecT193R1Point secT193R1Point;
|
||||
ECFieldElement[] zcoords = secT193R1Point.GetZCoords();
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AB24 RID: 43812 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB24")]
|
||||
[Address(RVA = "0x8069B0", Offset = "0x8059B0", VA = "0x1808069B0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AB25 RID: 43813 RVA: 0x002503E8 File Offset: 0x0024E5E8
|
||||
[Token(Token = "0x600AB25")]
|
||||
[Address(RVA = "0x806800", Offset = "0x805800", VA = "0x180806800", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
bool flag = this.SatisfiesOrder();
|
||||
int fieldSize = y.FieldSize;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
}
|
||||
array[0] = ecfieldElement;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+391
@@ -0,0 +1,391 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B6D RID: 7021
|
||||
[Token(Token = "0x2001B6D")]
|
||||
internal class SecT193R2Curve : AbstractF2mCurve
|
||||
{
|
||||
// Token: 0x0600AB26 RID: 43814 RVA: 0x00250454 File Offset: 0x0024E654
|
||||
[Token(Token = "0x600AB26")]
|
||||
[Address(RVA = "0x807B10", Offset = "0x806B10", VA = "0x180807B10")]
|
||||
public SecT193R2Curve()
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
base..ctor(193, 15, num2, num);
|
||||
int num3;
|
||||
int num4;
|
||||
SecT193R2Point secT193R2Point = new SecT193R2Point(this, num3, num4, num != 0);
|
||||
num4 = 0;
|
||||
num3 = 0;
|
||||
this.m_infinity = secT193R2Point;
|
||||
byte[] array = Hex.Decode("0163F35A5137C2CE3EA6ED8667190B0BC43ECD69977702709B");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array2 = Hex.Decode("00C9BB9E8927D4D64C377E2AB2856A5B16E3EFB7F61D4316AE");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array3 = Hex.Decode("010000000000000000000000015AAB561B005413CCD4EE99D5");
|
||||
BigInteger bigInteger3 = new BigInteger(1, array3);
|
||||
this.m_order = bigInteger3;
|
||||
BigInteger two = BigInteger.Two;
|
||||
this.m_cofactor = two;
|
||||
this.m_coord = (int)((ulong)6L);
|
||||
}
|
||||
|
||||
// Token: 0x0600AB27 RID: 43815 RVA: 0x00250510 File Offset: 0x0024E710
|
||||
[Token(Token = "0x600AB27")]
|
||||
[Address(RVA = "0x807540", Offset = "0x806540", VA = "0x180807540", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB27)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R2Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_1_01, ldc.i4:int32(0))
|
||||
stloc:SecT193R2Point(var_3_0F, newobj:SecT193R2Point(SecT193R2Point::.ctor, ldloc:SecT193R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
|
||||
stloc:int32(var_4, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecT193R2Point(SecT193R2Curve::m_infinity, ldloc:SecT193R2Curve(var_0), ldloc:SecT193R2Point(var_3_0F))
|
||||
stloc:uint8[](var_6_27, call:uint8[](Hex::Decode, ldstr:string("0163F35A5137C2CE3EA6ED8667190B0BC43ECD69977702709B")))
|
||||
stloc:BigInteger(var_7_31, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_6_27)))
|
||||
stloc:int32(var_8_39, callvirtgetter:int32(SecT193R2Curve::get_FieldSize, ldloc:SecT193R2Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT193R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_8_39))
|
||||
stloc:uint8[](var_9_4D, call:uint8[](Hex::Decode, ldstr:string("00C9BB9E8927D4D64C377E2AB2856A5B16E3EFB7F61D4316AE")))
|
||||
stloc:BigInteger(var_10_57, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_9_4D)))
|
||||
stloc:int32(var_11_5F, callvirtgetter:int32(SecT193R2Curve::get_FieldSize, ldloc:SecT193R2Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT193R2Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_11_5F))
|
||||
stloc:uint8[](var_12_73, call:uint8[](Hex::Decode, ldstr:string("010000000000000000000000015AAB561B005413CCD4EE99D5")))
|
||||
stloc:BigInteger(var_13_7D, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_12_73)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecT193R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_13_7D))
|
||||
stloc:BigInteger(var_14_8C, ldsfld:BigInteger(BigInteger::Two))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT193R2Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_14_8C))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecT193R2Curve[exp:ECCurve](var_0), 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: 0x0600AB28 RID: 43816 RVA: 0x002505BC File Offset: 0x0024E7BC
|
||||
[Token(Token = "0x600AB28")]
|
||||
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 6;
|
||||
}
|
||||
|
||||
// Token: 0x17001AFE RID: 6910
|
||||
// (get) Token: 0x0600AB29 RID: 43817 RVA: 0x002505D0 File Offset: 0x0024E7D0
|
||||
[Token(Token = "0x17001AFE")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600AB29")]
|
||||
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB29)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R2Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT193R2Point(var_0_06, ldfld:SecT193R2Point(SecT193R2Curve::m_infinity, ldloc:SecT193R2Curve(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: 0x17001AFF RID: 6911
|
||||
// (get) Token: 0x0600AB2A RID: 43818 RVA: 0x002505E4 File Offset: 0x0024E7E4
|
||||
[Token(Token = "0x17001AFF")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AB2A")]
|
||||
[Address(RVA = "0x803D70", Offset = "0x802D70", VA = "0x180803D70", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return 193;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB2B RID: 43819 RVA: 0x002505F8 File Offset: 0x0024E7F8
|
||||
[Token(Token = "0x600AB2B")]
|
||||
[Address(RVA = "0x807AB0", Offset = "0x806AB0", VA = "0x180807AB0", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB2B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R2Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT193FieldElement(var_0_06, newobj:SecT193FieldElement(SecT193FieldElement::.ctor, 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: 0x0600AB2C RID: 43820 RVA: 0x0025060C File Offset: 0x0024E80C
|
||||
[Token(Token = "0x600AB2C")]
|
||||
[Address(RVA = "0x807A20", Offset = "0x806A20", VA = "0x180807A20", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB2C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R2Curve::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:SecT193R2Point(var_0_09, newobj:SecT193R2Point(SecT193R2Point::.ctor, ldloc:SecT193R2Curve[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: 0x0600AB2D RID: 43821 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB2D")]
|
||||
[Address(RVA = "0x807980", Offset = "0x806980", VA = "0x180807980", 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: 0x17001B00 RID: 6912
|
||||
// (get) Token: 0x0600AB2E RID: 43822 RVA: 0x00250624 File Offset: 0x0024E824
|
||||
[Token(Token = "0x17001B00")]
|
||||
public override bool IsKoblitz
|
||||
{
|
||||
[Token(Token = "0x600AB2E")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B01 RID: 6913
|
||||
// (get) Token: 0x0600AB2F RID: 43823 RVA: 0x00250634 File Offset: 0x0024E834
|
||||
[Token(Token = "0x17001B01")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600AB2F")]
|
||||
[Address(RVA = "0x803D70", Offset = "0x802D70", VA = "0x180803D70", Slot = "40")]
|
||||
get
|
||||
{
|
||||
return 193;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B02 RID: 6914
|
||||
// (get) Token: 0x0600AB30 RID: 43824 RVA: 0x00250648 File Offset: 0x0024E848
|
||||
[Token(Token = "0x17001B02")]
|
||||
public virtual bool IsTrinomial
|
||||
{
|
||||
[Token(Token = "0x600AB30")]
|
||||
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B03 RID: 6915
|
||||
// (get) Token: 0x0600AB31 RID: 43825 RVA: 0x00250658 File Offset: 0x0024E858
|
||||
[Token(Token = "0x17001B03")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600AB31")]
|
||||
[Address(RVA = "0x72B370", Offset = "0x72A370", VA = "0x18072B370", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return 15;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B04 RID: 6916
|
||||
// (get) Token: 0x0600AB32 RID: 43826 RVA: 0x00250668 File Offset: 0x0024E868
|
||||
[Token(Token = "0x17001B04")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600AB32")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B05 RID: 6917
|
||||
// (get) Token: 0x0600AB33 RID: 43827 RVA: 0x00250678 File Offset: 0x0024E878
|
||||
[Token(Token = "0x17001B05")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600AB33")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB34 RID: 43828 RVA: 0x00250688 File Offset: 0x0024E888
|
||||
[Token(Token = "0x600AB34")]
|
||||
[Address(RVA = "0x807720", Offset = "0x806720", VA = "0x180807720", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
ulong[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new ulong[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 8;
|
||||
IL_49:
|
||||
SecT193R2Curve.SecT193R2LookupTable secT193R2LookupTable;
|
||||
secT193R2LookupTable.m_outer = 0;
|
||||
secT193R2LookupTable.m_table = array;
|
||||
secT193R2LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DD4 RID: 28116
|
||||
[Token(Token = "0x4006DD4")]
|
||||
private const int SECT193R2_DEFAULT_COORDS = 6;
|
||||
|
||||
// Token: 0x04006DD5 RID: 28117
|
||||
[Token(Token = "0x4006DD5")]
|
||||
private const int SECT193R2_FE_LONGS = 4;
|
||||
|
||||
// Token: 0x04006DD6 RID: 28118
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006DD6")]
|
||||
protected readonly SecT193R2Point m_infinity;
|
||||
|
||||
// Token: 0x02001B6E RID: 7022
|
||||
[Token(Token = "0x2001B6E")]
|
||||
private class SecT193R2LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600AB35 RID: 43829 RVA: 0x002506FC File Offset: 0x0024E8FC
|
||||
[Token(Token = "0x600AB35")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecT193R2LookupTable(SecT193R2Curve outer, ulong[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001B06 RID: 6918
|
||||
// (get) Token: 0x0600AB36 RID: 43830 RVA: 0x00250724 File Offset: 0x0024E924
|
||||
[Token(Token = "0x17001B06")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600AB36")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB37 RID: 43831 RVA: 0x00250738 File Offset: 0x0024E938
|
||||
[Token(Token = "0x600AB37")]
|
||||
[Address(RVA = "0x807CD0", Offset = "0x806CD0", VA = "0x180807CD0", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
ulong[] array = Nat256.Create64();
|
||||
ulong[] array2 = Nat256.Create64();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num2)
|
||||
{
|
||||
int num3 = 0;
|
||||
ulong[] table = this.m_table;
|
||||
ulong[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 8;
|
||||
num2++;
|
||||
}
|
||||
SecT193R2Curve outer = this.m_outer;
|
||||
new SecT193FieldElement().x = array;
|
||||
new SecT193FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DD7 RID: 28119
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DD7")]
|
||||
private readonly SecT193R2Curve m_outer;
|
||||
|
||||
// Token: 0x04006DD8 RID: 28120
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006DD8")]
|
||||
private readonly ulong[] m_table;
|
||||
|
||||
// Token: 0x04006DD9 RID: 28121
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006DD9")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+256
@@ -0,0 +1,256 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B6F RID: 7023
|
||||
[Token(Token = "0x2001B6F")]
|
||||
internal class SecT193R2Point : AbstractF2mPoint
|
||||
{
|
||||
// Token: 0x0600AB38 RID: 43832 RVA: 0x002507B8 File Offset: 0x0024E9B8
|
||||
[Token(Token = "0x600AB38")]
|
||||
[Address(RVA = "0x8093E0", Offset = "0x8083E0", VA = "0x1808093E0")]
|
||||
public SecT193R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AB39 RID: 43833 RVA: 0x002507C8 File Offset: 0x0024E9C8
|
||||
[Token(Token = "0x600AB39")]
|
||||
[Address(RVA = "0x809400", Offset = "0x808400", VA = "0x180809400")]
|
||||
public SecT193R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB39)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R2Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600AB3A RID: 43834 RVA: 0x002507F0 File Offset: 0x0024E9F0
|
||||
[Token(Token = "0x600AB3A")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecT193R2Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AB3B RID: 43835 RVA: 0x00250800 File Offset: 0x0024EA00
|
||||
[Token(Token = "0x600AB3B")]
|
||||
[Address(RVA = "0x8086E0", Offset = "0x8076E0", VA = "0x1808086E0", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB3B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT193R2Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT193R2Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT193R2Point[exp:ECPoint](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: 0x17001B07 RID: 6919
|
||||
// (get) Token: 0x0600AB3C RID: 43836 RVA: 0x0025081C File Offset: 0x0024EA1C
|
||||
[Token(Token = "0x17001B07")]
|
||||
public override ECFieldElement YCoord
|
||||
{
|
||||
[Token(Token = "0x600AB3C")]
|
||||
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
|
||||
get
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement y = this.m_y;
|
||||
if (!base.IsInfinity && !x.IsOne)
|
||||
{
|
||||
int fieldSize = y.FieldSize;
|
||||
if (this.m_zs[0].BitLength == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B08 RID: 6920
|
||||
// (get) Token: 0x0600AB3D RID: 43837 RVA: 0x0025086C File Offset: 0x0024EA6C
|
||||
[Token(Token = "0x17001B08")]
|
||||
protected internal override bool CompressionYTilde
|
||||
{
|
||||
[Token(Token = "0x600AB3D")]
|
||||
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement;
|
||||
ECFieldElement ecfieldElement2;
|
||||
return ecfieldElement != ecfieldElement2;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB3E RID: 43838 RVA: 0x002508A0 File Offset: 0x0024EAA0
|
||||
[Token(Token = "0x600AB3E")]
|
||||
[Address(RVA = "0x807EA0", Offset = "0x806EA0", VA = "0x180807EA0", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
while (!base.IsInfinity && !b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
|
||||
}
|
||||
if (ecfieldElement2.BitLength != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
|
||||
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
|
||||
int fieldSize2 = ecfieldElement5.FieldSize;
|
||||
if (fieldSize2 == 0)
|
||||
{
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
sbyte b3;
|
||||
sbyte b2 = b3;
|
||||
TypeCode typeCode = b2.GetTypeCode();
|
||||
int fieldSize3 = y.FieldSize;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
short num;
|
||||
TypeCode typeCode2 = num.GetTypeCode();
|
||||
BigInteger one = BigInteger.One;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
if (ecpoint == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
bool compressionYTilde = b.CompressionYTilde;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB3F RID: 43839 RVA: 0x002509F4 File Offset: 0x0024EBF4
|
||||
[Token(Token = "0x600AB3F")]
|
||||
[Address(RVA = "0x808F90", Offset = "0x807F90", VA = "0x180808F90", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
int bitLength = ecfieldElement.BitLength;
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
|
||||
if (bitLength == 0)
|
||||
{
|
||||
}
|
||||
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
|
||||
{
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement5;
|
||||
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
|
||||
sbyte b;
|
||||
(new ECFieldElement[1])[0] = b;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
SecT193R2Point secT193R2Point;
|
||||
ECFieldElement[] zcoords = secT193R2Point.GetZCoords();
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AB40 RID: 43840 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB40")]
|
||||
[Address(RVA = "0x808930", Offset = "0x807930", VA = "0x180808930", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AB41 RID: 43841 RVA: 0x00250ABC File Offset: 0x0024ECBC
|
||||
[Token(Token = "0x600AB41")]
|
||||
[Address(RVA = "0x808780", Offset = "0x807780", VA = "0x180808780", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
bool flag = this.SatisfiesOrder();
|
||||
int fieldSize = y.FieldSize;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
}
|
||||
array[0] = ecfieldElement;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+368
@@ -0,0 +1,368 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B70 RID: 7024
|
||||
[Token(Token = "0x2001B70")]
|
||||
internal class SecT233Field
|
||||
{
|
||||
// Token: 0x0600AB42 RID: 43842 RVA: 0x00250B28 File Offset: 0x0024ED28
|
||||
[Token(Token = "0x600AB42")]
|
||||
[Address(RVA = "0x7BA2D0", Offset = "0x7B92D0", VA = "0x1807BA2D0")]
|
||||
public static void Add(ulong[] x, ulong[] y, ulong[] z)
|
||||
{
|
||||
ulong num = y[0];
|
||||
z[0] = num;
|
||||
ulong num2 = y[1];
|
||||
z[1] = num2;
|
||||
ulong num3 = y[2];
|
||||
z[2] = num3;
|
||||
ulong num4 = y[3];
|
||||
z[3] = num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB43 RID: 43843 RVA: 0x00250B7C File Offset: 0x0024ED7C
|
||||
[Token(Token = "0x600AB43")]
|
||||
[Address(RVA = "0x7B9ED0", Offset = "0x7B8ED0", VA = "0x1807B9ED0")]
|
||||
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
|
||||
{
|
||||
ulong num = yy[0];
|
||||
zz[0] = num;
|
||||
ulong num2 = yy[1];
|
||||
zz[1] = num2;
|
||||
ulong num3 = yy[2];
|
||||
zz[2] = num3;
|
||||
ulong num4 = yy[3];
|
||||
zz[3] = num4;
|
||||
ulong num5 = yy[4];
|
||||
zz[4] = num5;
|
||||
ulong num6 = yy[5];
|
||||
zz[5] = num6;
|
||||
ulong num7 = yy[6];
|
||||
zz[6] = num7;
|
||||
ulong num8 = yy[7];
|
||||
zz[7] = num8;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB44 RID: 43844 RVA: 0x00250C18 File Offset: 0x0024EE18
|
||||
[Token(Token = "0x600AB44")]
|
||||
[Address(RVA = "0x7BA1E0", Offset = "0x7B91E0", VA = "0x1807BA1E0")]
|
||||
public static void AddOne(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong num = x[0];
|
||||
z[0] = num;
|
||||
ulong num2 = x[1];
|
||||
z[1] = num2;
|
||||
ulong num3 = x[2];
|
||||
z[2] = num3;
|
||||
ulong num4 = x[3];
|
||||
z[3] = num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB45 RID: 43845 RVA: 0x00250C6C File Offset: 0x0024EE6C
|
||||
[Token(Token = "0x600AB45")]
|
||||
[Address(RVA = "0x80A2C0", Offset = "0x8092C0", VA = "0x18080A2C0")]
|
||||
public static ulong[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
ulong[] array = Nat256.FromBigInteger64(x);
|
||||
ulong num = array[3];
|
||||
array[3] = num;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB46 RID: 43846 RVA: 0x00250C98 File Offset: 0x0024EE98
|
||||
[Token(Token = "0x600AB46")]
|
||||
[Address(RVA = "0x80B040", Offset = "0x80A040", VA = "0x18080B040")]
|
||||
public static void Invert(ulong[] x, ulong[] z)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB46)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233Field::Invert(System.UInt64[],System.UInt64[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1E1:
|
||||
stloc:InvalidOperationException(var_34_1E6, newobj:InvalidOperationException(InvalidOperationException::.ctor))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB47 RID: 43847 RVA: 0x00250E8C File Offset: 0x0024F08C
|
||||
[Token(Token = "0x600AB47")]
|
||||
[Address(RVA = "0x80B410", Offset = "0x80A410", VA = "0x18080B410")]
|
||||
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT233Field.ImplMultiply(x, y, array);
|
||||
SecT233Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AB48 RID: 43848 RVA: 0x00250EB0 File Offset: 0x0024F0B0
|
||||
[Token(Token = "0x600AB48")]
|
||||
[Address(RVA = "0x80B3B0", Offset = "0x80A3B0", VA = "0x18080B3B0")]
|
||||
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT233Field.ImplMultiply(x, y, array);
|
||||
SecT233Field.AddExt(zz, array, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600AB49 RID: 43849 RVA: 0x00250ED8 File Offset: 0x0024F0D8
|
||||
[Token(Token = "0x600AB49")]
|
||||
[Address(RVA = "0x80B520", Offset = "0x80A520", VA = "0x18080B520")]
|
||||
public static void Reduce(ulong[] xx, ulong[] z)
|
||||
{
|
||||
int length = xx.Length;
|
||||
ulong num = xx[3];
|
||||
ulong num2 = xx[7];
|
||||
num2 = num;
|
||||
z[0] = num2;
|
||||
z[1] = num2;
|
||||
z[2] = num2;
|
||||
z[3] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB4A RID: 43850 RVA: 0x00250F24 File Offset: 0x0024F124
|
||||
[Token(Token = "0x600AB4A")]
|
||||
[Address(RVA = "0x80B470", Offset = "0x80A470", VA = "0x18080B470")]
|
||||
public static void Reduce23(ulong[] z, int zOff)
|
||||
{
|
||||
int length = z.Length;
|
||||
ulong num;
|
||||
z[0] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB4B RID: 43851 RVA: 0x00250F48 File Offset: 0x0024F148
|
||||
[Token(Token = "0x600AB4B")]
|
||||
[Address(RVA = "0x80B780", Offset = "0x80A780", VA = "0x18080B780")]
|
||||
public static void Sqrt(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong num = Interleave.Unshuffle(x[0]);
|
||||
ulong num2 = x[1];
|
||||
ulong num3 = Interleave.Unshuffle(num2);
|
||||
ulong num4 = Interleave.Unshuffle(x[2]);
|
||||
ulong num5 = x[3];
|
||||
ulong num6 = Interleave.Unshuffle(num5);
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
int[] array2 = new int[3];
|
||||
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.E0219F11D9EECC43022AA94967780250AC270D4B).FieldHandle);
|
||||
int num7 = 0;
|
||||
int length = array2.Length;
|
||||
if (num7 < length)
|
||||
{
|
||||
int num8 = array2[num7];
|
||||
int num9 = num8 + 1;
|
||||
num8 += 3;
|
||||
num7++;
|
||||
}
|
||||
SecT233Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AB4C RID: 43852 RVA: 0x00251004 File Offset: 0x0024F204
|
||||
[Token(Token = "0x600AB4C")]
|
||||
[Address(RVA = "0x80BB40", Offset = "0x80AB40", VA = "0x18080BB40")]
|
||||
public static void Square(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT233Field.ImplSquare(x, array);
|
||||
SecT233Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600AB4D RID: 43853 RVA: 0x00251028 File Offset: 0x0024F228
|
||||
[Token(Token = "0x600AB4D")]
|
||||
[Address(RVA = "0x7BBEA0", Offset = "0x7BAEA0", VA = "0x1807BBEA0")]
|
||||
public static void SquareAddToExt(ulong[] x, ulong[] zz)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT233Field.ImplSquare(x, array);
|
||||
SecT233Field.AddExt(zz, array, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600AB4E RID: 43854 RVA: 0x0025104C File Offset: 0x0024F24C
|
||||
[Token(Token = "0x600AB4E")]
|
||||
[Address(RVA = "0x80BAB0", Offset = "0x80AAB0", VA = "0x18080BAB0")]
|
||||
public static void SquareN(ulong[] x, int n, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT233Field.Reduce(array, z);
|
||||
if (n - 1 > 0)
|
||||
{
|
||||
SecT233Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB4F RID: 43855 RVA: 0x00251078 File Offset: 0x0024F278
|
||||
[Token(Token = "0x600AB4F")]
|
||||
[Address(RVA = "0x80BB90", Offset = "0x80AB90", VA = "0x18080BB90")]
|
||||
public static uint Trace(ulong[] x)
|
||||
{
|
||||
int length = x.Length;
|
||||
ulong num = x[2];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AB50 RID: 43856 RVA: 0x0025109C File Offset: 0x0024F29C
|
||||
[Token(Token = "0x600AB50")]
|
||||
[Address(RVA = "0x80A350", Offset = "0x809350", VA = "0x18080A350")]
|
||||
protected static void ImplCompactExt(ulong[] zz)
|
||||
{
|
||||
int length = zz.Length;
|
||||
ulong num = zz[1];
|
||||
ulong num2 = zz[2];
|
||||
ulong num3 = zz[3];
|
||||
ulong num4 = zz[4];
|
||||
ulong num5 = zz[5];
|
||||
ulong num6 = zz[6];
|
||||
ulong num7 = zz[7];
|
||||
num = num2;
|
||||
zz[1] = num;
|
||||
zz[2] = num2;
|
||||
zz[3] = num3;
|
||||
zz[4] = num4;
|
||||
zz[5] = num5;
|
||||
zz[6] = num6;
|
||||
zz[7] = num7;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB51 RID: 43857 RVA: 0x00251140 File Offset: 0x0024F340
|
||||
[Token(Token = "0x600AB51")]
|
||||
[Address(RVA = "0x80A5A0", Offset = "0x8095A0", VA = "0x18080A5A0")]
|
||||
protected static void ImplExpand(ulong[] x, ulong[] z)
|
||||
{
|
||||
int length = x.Length;
|
||||
ulong num = x[0];
|
||||
ulong num2 = x[1];
|
||||
ulong num3 = x[2];
|
||||
z[0] = num;
|
||||
num = num2;
|
||||
z[1] = num;
|
||||
z[2] = num2;
|
||||
z[3] = num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB52 RID: 43858 RVA: 0x00251198 File Offset: 0x0024F398
|
||||
[Token(Token = "0x600AB52")]
|
||||
[Address(RVA = "0x80A6F0", Offset = "0x8096F0", VA = "0x18080A6F0")]
|
||||
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
|
||||
{
|
||||
ulong[] array = new ulong[4];
|
||||
ulong[] array2 = new ulong[4];
|
||||
SecT233Field.ImplExpand(x, array);
|
||||
SecT233Field.ImplExpand(y, array2);
|
||||
ulong num = array2[0];
|
||||
ulong num2 = array[0];
|
||||
int num3 = 0;
|
||||
SecT233Field.ImplMulwAcc(num2, num, zz, num3);
|
||||
ulong num4 = array2[1];
|
||||
SecT233Field.ImplMulwAcc(array[1], num4, zz, 1);
|
||||
ulong num5 = array2[2];
|
||||
SecT233Field.ImplMulwAcc(array[2], num5, zz, 2);
|
||||
ulong num6 = array2[3];
|
||||
SecT233Field.ImplMulwAcc(array[3], num6, zz, 3);
|
||||
int length = zz.Length;
|
||||
int length2 = array.Length;
|
||||
int length3 = array2.Length;
|
||||
ulong num7 = array[1];
|
||||
ulong num8 = array2[1];
|
||||
uint num9;
|
||||
SecT233Field.ImplMulwAcc(num7, num8, zz, (int)num9);
|
||||
int length4 = array.Length;
|
||||
int length5 = array2.Length;
|
||||
ulong num10 = array[3];
|
||||
ulong num11 = array2[2];
|
||||
uint num12;
|
||||
SecT233Field.ImplMulwAcc(num10, num11, zz, (int)num12);
|
||||
int length6 = zz.Length;
|
||||
uint num13;
|
||||
num13 += (uint)(-2);
|
||||
int length7 = array.Length;
|
||||
ulong num14 = array[2];
|
||||
int length8 = array2.Length;
|
||||
ulong num15 = array2[2];
|
||||
ulong num16 = array2[1];
|
||||
uint num17;
|
||||
SecT233Field.ImplMulwAcc(num14, num16, zz, (int)num17);
|
||||
ulong[] array3 = new ulong[3];
|
||||
int num18 = 0;
|
||||
SecT233Field.ImplMulwAcc(num14, num15, array3, num18);
|
||||
num15 = num16;
|
||||
uint num19;
|
||||
SecT233Field.ImplMulwAcc(num14, num15, array3, (int)num19);
|
||||
int length9 = array3.Length;
|
||||
ulong num20 = zz[3];
|
||||
zz[3] = num20;
|
||||
ulong num21 = zz[4];
|
||||
zz[4] = num21;
|
||||
SecT233Field.ImplCompactExt(zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600AB53 RID: 43859 RVA: 0x00251340 File Offset: 0x0024F540
|
||||
[Token(Token = "0x600AB53")]
|
||||
[Address(RVA = "0x80ACF0", Offset = "0x809CF0", VA = "0x18080ACF0")]
|
||||
protected static void ImplMulwAcc(ulong x, ulong y, ulong[] z, int zOff)
|
||||
{
|
||||
ulong[] array = new ulong[8];
|
||||
array[1] = y;
|
||||
int num = array.Length;
|
||||
array[2] = (ulong)num;
|
||||
int length = array.Length;
|
||||
array[3] = (ulong)num;
|
||||
num = length;
|
||||
array[4] = (ulong)num;
|
||||
int length2 = array.Length;
|
||||
array[5] = (ulong)num;
|
||||
num = length2;
|
||||
array[6] = (ulong)num;
|
||||
int length3 = array.Length;
|
||||
array[7] = (ulong)num;
|
||||
int num2 = zOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB54 RID: 43860 RVA: 0x002513B8 File Offset: 0x0024F5B8
|
||||
[Token(Token = "0x600AB54")]
|
||||
[Address(RVA = "0x7BB210", Offset = "0x7BA210", VA = "0x1807BB210")]
|
||||
protected static void ImplSquare(ulong[] x, ulong[] zz)
|
||||
{
|
||||
ulong num = x[0];
|
||||
int num2 = 0;
|
||||
Interleave.Expand64To128(num, zz, num2);
|
||||
Interleave.Expand64To128(x[1], zz, 2);
|
||||
ulong num3 = x[2];
|
||||
Interleave.Expand64To128(num3, zz, 4);
|
||||
ulong num4 = Interleave.Expand32to64((uint)num3);
|
||||
zz[6] = num4;
|
||||
uint num5 = Interleave.Expand16to32((uint)num3);
|
||||
zz[7] = (ulong)num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB55 RID: 43861 RVA: 0x0025141C File Offset: 0x0024F61C
|
||||
[Token(Token = "0x600AB55")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecT233Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006DDA RID: 28122
|
||||
[Token(Token = "0x4006DDA")]
|
||||
private const ulong M41 = 2199023255551UL;
|
||||
|
||||
// Token: 0x04006DDB RID: 28123
|
||||
[Token(Token = "0x4006DDB")]
|
||||
private const ulong M59 = 576460752303423487UL;
|
||||
}
|
||||
}
|
||||
+597
@@ -0,0 +1,597 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B71 RID: 7025
|
||||
[Token(Token = "0x2001B71")]
|
||||
internal class SecT233FieldElement : AbstractF2mFieldElement
|
||||
{
|
||||
// Token: 0x0600AB56 RID: 43862 RVA: 0x00251430 File Offset: 0x0024F630
|
||||
[Token(Token = "0x600AB56")]
|
||||
[Address(RVA = "0x80A150", Offset = "0x809150", VA = "0x18080A150")]
|
||||
public SecT233FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB56)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_30:
|
||||
stloc:ArgumentException(var_3_3F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT233FieldElement"), ldstr:string("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.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: 0x0600AB57 RID: 43863 RVA: 0x0025147C File Offset: 0x0024F67C
|
||||
[Token(Token = "0x600AB57")]
|
||||
[Address(RVA = "0x7B9E30", Offset = "0x7B8E30", VA = "0x1807B9E30")]
|
||||
public SecT233FieldElement()
|
||||
{
|
||||
ulong[] array = Nat256.Create64();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB58 RID: 43864 RVA: 0x002514A0 File Offset: 0x0024F6A0
|
||||
[Token(Token = "0x600AB58")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecT233FieldElement(ulong[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001B09 RID: 6921
|
||||
// (get) Token: 0x0600AB59 RID: 43865 RVA: 0x002514BC File Offset: 0x0024F6BC
|
||||
[Token(Token = "0x17001B09")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600AB59")]
|
||||
[Address(RVA = "0x7B9EA0", Offset = "0x7B8EA0", VA = "0x1807B9EA0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsOne64(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B0A RID: 6922
|
||||
// (get) Token: 0x0600AB5A RID: 43866 RVA: 0x002514D4 File Offset: 0x0024F6D4
|
||||
[Token(Token = "0x17001B0A")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600AB5A")]
|
||||
[Address(RVA = "0x7B9EB0", Offset = "0x7B8EB0", VA = "0x1807B9EB0", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsZero64(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB5B RID: 43867 RVA: 0x002514EC File Offset: 0x0024F6EC
|
||||
[Token(Token = "0x600AB5B")]
|
||||
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AB5C RID: 43868 RVA: 0x00251508 File Offset: 0x0024F708
|
||||
[Token(Token = "0x600AB5C")]
|
||||
[Address(RVA = "0x7B9C80", Offset = "0x7B8C80", VA = "0x1807B9C80", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat256.ToBigInteger64(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001B0B RID: 6923
|
||||
// (get) Token: 0x0600AB5D RID: 43869 RVA: 0x00251520 File Offset: 0x0024F720
|
||||
[Token(Token = "0x17001B0B")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600AB5D")]
|
||||
[Address(RVA = "0x80A270", Offset = "0x809270", VA = "0x18080A270", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecT233Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B0C RID: 6924
|
||||
// (get) Token: 0x0600AB5E RID: 43870 RVA: 0x00251534 File Offset: 0x0024F734
|
||||
[Token(Token = "0x17001B0C")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AB5E")]
|
||||
[Address(RVA = "0x80A2A0", Offset = "0x8092A0", VA = "0x18080A2A0", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return 233;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB5F RID: 43871 RVA: 0x00251548 File Offset: 0x0024F748
|
||||
[Token(Token = "0x600AB5F")]
|
||||
[Address(RVA = "0x809630", Offset = "0x808630", VA = "0x180809630", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
ulong[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecT233FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecT233FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AB60 RID: 43872 RVA: 0x00251590 File Offset: 0x0024F790
|
||||
[Token(Token = "0x600AB60")]
|
||||
[Address(RVA = "0x8094C0", Offset = "0x8084C0", VA = "0x1808094C0", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
ulong[] array = Nat256.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
ulong num = array2[0];
|
||||
array[0] = num;
|
||||
ulong num2 = array2[1];
|
||||
array[1] = num2;
|
||||
ulong num3 = array2[2];
|
||||
array[2] = num3;
|
||||
ulong num4 = array2[3];
|
||||
array[3] = num4;
|
||||
new SecT233FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AB61 RID: 43873 RVA: 0x00251604 File Offset: 0x0024F804
|
||||
[Token(Token = "0x600AB61")]
|
||||
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB61)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT233FieldElement[exp:ECFieldElement](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: 0x0600AB62 RID: 43874 RVA: 0x00251618 File Offset: 0x0024F818
|
||||
[Token(Token = "0x600AB62")]
|
||||
[Address(RVA = "0x809C00", Offset = "0x808C00", VA = "0x180809C00", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
ulong[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecT233FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
SecT233Field.Reduce(Nat256.CreateExt64(), array);
|
||||
new SecT233FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AB63 RID: 43875 RVA: 0x0025166C File Offset: 0x0024F86C
|
||||
[Token(Token = "0x600AB63")]
|
||||
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
|
||||
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB63)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT233FieldElement[exp:ECFieldElement](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: 0x0600AB64 RID: 43876 RVA: 0x00251680 File Offset: 0x0024F880
|
||||
[Token(Token = "0x600AB64")]
|
||||
[Address(RVA = "0x809950", Offset = "0x808950", VA = "0x180809950", Slot = "20")]
|
||||
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
do
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
}
|
||||
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
|
||||
ulong[] array2 = Nat256.CreateExt64();
|
||||
ulong[] array3 = Nat256.CreateExt64();
|
||||
SecT233Field.AddExt(array2, array3, array2);
|
||||
ulong[] array4 = Nat256.CreateExt64();
|
||||
SecT233Field.AddExt(array2, array4, array2);
|
||||
ulong[] array5 = Nat256.Create64();
|
||||
SecT233Field.Reduce(array2, array5);
|
||||
new SecT233FieldElement().x = array5;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AB65 RID: 43877 RVA: 0x00251714 File Offset: 0x0024F914
|
||||
[Token(Token = "0x600AB65")]
|
||||
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
ECFieldElement ecfieldElement = b.Square();
|
||||
BigInteger bigInteger = base.ToBigInteger();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AB66 RID: 43878 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB66")]
|
||||
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AB67 RID: 43879 RVA: 0x00251734 File Offset: 0x0024F934
|
||||
[Token(Token = "0x600AB67")]
|
||||
[Address(RVA = "0x80A050", Offset = "0x809050", VA = "0x18080A050", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB67)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
|
||||
stloc:uint64[](var_2_0E, ldfld:uint64[](SecT233FieldElement::x, ldloc:SecT233FieldElement(this)))
|
||||
stloc:uint64[](var_4_16, call:uint64[](Nat256::CreateExt64))
|
||||
call:void(SecT233Field::ImplSquare, ldloc:uint64[](var_2_0E), ldloc:uint64[](var_4_16))
|
||||
call:void(SecT233Field::Reduce, ldloc:uint64[](var_4_16), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT233FieldElement::x, newobj:SecT233FieldElement(SecT233FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AB68 RID: 43880 RVA: 0x00251774 File Offset: 0x0024F974
|
||||
[Token(Token = "0x600AB68")]
|
||||
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
|
||||
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB68)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT233FieldElement[exp:ECFieldElement](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: 0x0600AB69 RID: 43881 RVA: 0x00251788 File Offset: 0x0024F988
|
||||
[Token(Token = "0x600AB69")]
|
||||
[Address(RVA = "0x809DB0", Offset = "0x808DB0", VA = "0x180809DB0", Slot = "22")]
|
||||
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
do
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
}
|
||||
while (x == 0 || x == 0 || y == 0 || y == 0);
|
||||
ulong[] array2 = Nat256.CreateExt64();
|
||||
ulong[] array3 = Nat256.CreateExt64();
|
||||
SecT233Field.AddExt(array2, array3, array2);
|
||||
ulong[] array4 = Nat256.CreateExt64();
|
||||
SecT233Field.AddExt(array2, array4, array2);
|
||||
ulong[] array5 = Nat256.Create64();
|
||||
SecT233Field.Reduce(array2, array5);
|
||||
new SecT233FieldElement().x = array5;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AB6A RID: 43882 RVA: 0x00251810 File Offset: 0x0024FA10
|
||||
[Token(Token = "0x600AB6A")]
|
||||
[Address(RVA = "0x809FD0", Offset = "0x808FD0", VA = "0x180809FD0", Slot = "23")]
|
||||
public override ECFieldElement SquarePow(int pow)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB6A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::SquarePow(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
|
||||
call:void(SecT233Field::SquareN, ldfld:uint64[](SecT233FieldElement::x, ldloc:SecT233FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT233FieldElement::x, newobj:SecT233FieldElement(SecT233FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AB6B RID: 43883 RVA: 0x0025183C File Offset: 0x0024FA3C
|
||||
[Token(Token = "0x600AB6B")]
|
||||
[Address(RVA = "0x80A0F0", Offset = "0x8090F0", VA = "0x18080A0F0", Slot = "28")]
|
||||
public override int Trace()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
int length = array.Length;
|
||||
ulong num = array[2];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AB6C RID: 43884 RVA: 0x00251864 File Offset: 0x0024FA64
|
||||
[Token(Token = "0x600AB6C")]
|
||||
[Address(RVA = "0x8098E0", Offset = "0x8088E0", VA = "0x1808098E0", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB6C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
|
||||
call:void(SecT233Field::Invert, ldfld:uint64[](SecT233FieldElement::x, ldloc:SecT233FieldElement(this)), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT233FieldElement::x, newobj:SecT233FieldElement(SecT233FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600AB6D RID: 43885 RVA: 0x00251890 File Offset: 0x0024FA90
|
||||
[Token(Token = "0x600AB6D")]
|
||||
[Address(RVA = "0x809D40", Offset = "0x808D40", VA = "0x180809D40", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB6D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::Sqrt()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
|
||||
call:void(SecT233Field::Sqrt, ldfld:uint64[](SecT233FieldElement::x, ldloc:SecT233FieldElement(this)), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT233FieldElement::x, newobj:SecT233FieldElement(SecT233FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x17001B0D RID: 6925
|
||||
// (get) Token: 0x0600AB6E RID: 43886 RVA: 0x002518BC File Offset: 0x0024FABC
|
||||
[Token(Token = "0x17001B0D")]
|
||||
public virtual int Representation
|
||||
{
|
||||
[Token(Token = "0x600AB6E")]
|
||||
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "29")]
|
||||
get
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B0E RID: 6926
|
||||
// (get) Token: 0x0600AB6F RID: 43887 RVA: 0x002518CC File Offset: 0x0024FACC
|
||||
[Token(Token = "0x17001B0E")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600AB6F")]
|
||||
[Address(RVA = "0x80A2A0", Offset = "0x8092A0", VA = "0x18080A2A0", Slot = "30")]
|
||||
get
|
||||
{
|
||||
return 233;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B0F RID: 6927
|
||||
// (get) Token: 0x0600AB70 RID: 43888 RVA: 0x002518E0 File Offset: 0x0024FAE0
|
||||
[Token(Token = "0x17001B0F")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600AB70")]
|
||||
[Address(RVA = "0x80A2B0", Offset = "0x8092B0", VA = "0x18080A2B0", Slot = "31")]
|
||||
get
|
||||
{
|
||||
return 74;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B10 RID: 6928
|
||||
// (get) Token: 0x0600AB71 RID: 43889 RVA: 0x002518F0 File Offset: 0x0024FAF0
|
||||
[Token(Token = "0x17001B10")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600AB71")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "32")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B11 RID: 6929
|
||||
// (get) Token: 0x0600AB72 RID: 43890 RVA: 0x00251900 File Offset: 0x0024FB00
|
||||
[Token(Token = "0x17001B11")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600AB72")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "33")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB73 RID: 43891 RVA: 0x00251910 File Offset: 0x0024FB10
|
||||
[Token(Token = "0x600AB73")]
|
||||
[Address(RVA = "0x8097E0", Offset = "0x8087E0", VA = "0x1808097E0", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB73)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT233FieldElement[exp:ECFieldElement](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: 0x0600AB74 RID: 43892 RVA: 0x0025192C File Offset: 0x0024FB2C
|
||||
[Token(Token = "0x600AB74")]
|
||||
[Address(RVA = "0x809750", Offset = "0x808750", VA = "0x180809750", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB74)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT233FieldElement[exp:ECFieldElement](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: 0x0600AB75 RID: 43893 RVA: 0x00251948 File Offset: 0x0024FB48
|
||||
[Token(Token = "0x600AB75")]
|
||||
[Address(RVA = "0x7B9220", Offset = "0x7B8220", VA = "0x1807B9220", Slot = "34")]
|
||||
public virtual bool Equals(SecT233FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
ulong[] array = other.x;
|
||||
return Nat256.Eq64(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB76 RID: 43894 RVA: 0x00251974 File Offset: 0x0024FB74
|
||||
[Token(Token = "0x600AB76")]
|
||||
[Address(RVA = "0x809870", Offset = "0x808870", VA = "0x180809870", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 4);
|
||||
}
|
||||
|
||||
// Token: 0x04006DDC RID: 28124
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DDC")]
|
||||
protected internal readonly ulong[] x;
|
||||
}
|
||||
}
|
||||
+410
@@ -0,0 +1,410 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B72 RID: 7026
|
||||
[Token(Token = "0x2001B72")]
|
||||
internal class SecT233K1Curve : AbstractF2mCurve
|
||||
{
|
||||
// Token: 0x0600AB77 RID: 43895 RVA: 0x00251994 File Offset: 0x0024FB94
|
||||
[Token(Token = "0x600AB77")]
|
||||
[Address(RVA = "0x80C1B0", Offset = "0x80B1B0", VA = "0x18080C1B0")]
|
||||
public SecT233K1Curve()
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
base..ctor(233, 74, num2, num);
|
||||
int num3;
|
||||
int num4;
|
||||
SecT233K1Point secT233K1Point = new SecT233K1Point(this, num3, num4, num != 0);
|
||||
num4 = 0;
|
||||
num3 = 0;
|
||||
this.m_infinity = secT233K1Point;
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array = Hex.Decode("8000000000000000000000000000069D5BB915BCD46EFB1AD5F173ABDF");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
this.m_order = bigInteger;
|
||||
BigInteger bigInteger2;
|
||||
this.m_cofactor = bigInteger2;
|
||||
this.m_coord = (int)((ulong)6L);
|
||||
}
|
||||
|
||||
// Token: 0x0600AB78 RID: 43896 RVA: 0x00251A1C File Offset: 0x0024FC1C
|
||||
[Token(Token = "0x600AB78")]
|
||||
[Address(RVA = "0x80BBE0", Offset = "0x80ABE0", VA = "0x18080BBE0", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB78)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233K1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_1_01, ldc.i4:int32(0))
|
||||
stloc:SecT233K1Point(var_3_0F, newobj:SecT233K1Point(SecT233K1Point::.ctor, ldloc:SecT233K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
|
||||
stloc:int32(var_4, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecT233K1Point(SecT233K1Curve::m_infinity, ldloc:SecT233K1Curve(var_0), ldloc:SecT233K1Point(var_3_0F))
|
||||
stloc:int32(var_6_23, callvirtgetter:int32(SecT233K1Curve::get_FieldSize, ldloc:SecT233K1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT233K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_23))
|
||||
stloc:int32(var_7_33, callvirtgetter:int32(SecT233K1Curve::get_FieldSize, ldloc:SecT233K1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT233K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_7_33))
|
||||
stloc:uint8[](var_8_47, call:uint8[](Hex::Decode, ldstr:string("8000000000000000000000000000069D5BB915BCD46EFB1AD5F173ABDF")))
|
||||
stloc:BigInteger(var_9_51, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_8_47)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecT233K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_9_51))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT233K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_10))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecT233K1Curve[exp:ECCurve](var_0), 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: 0x0600AB79 RID: 43897 RVA: 0x00251A94 File Offset: 0x0024FC94
|
||||
[Token(Token = "0x600AB79")]
|
||||
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 6;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB7A RID: 43898 RVA: 0x00251AA8 File Offset: 0x0024FCA8
|
||||
[Token(Token = "0x600AB7A")]
|
||||
[Address(RVA = "0x80BFD0", Offset = "0x80AFD0", VA = "0x18080BFD0", Slot = "15")]
|
||||
protected override ECMultiplier CreateDefaultMultiplier()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB7A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233K1Curve::CreateDefaultMultiplier()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:WTauNafMultiplier(var_0_05, 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: 0x17001B12 RID: 6930
|
||||
// (get) Token: 0x0600AB7B RID: 43899 RVA: 0x00251ABC File Offset: 0x0024FCBC
|
||||
[Token(Token = "0x17001B12")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AB7B")]
|
||||
[Address(RVA = "0x80A2A0", Offset = "0x8092A0", VA = "0x18080A2A0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return 233;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB7C RID: 43900 RVA: 0x00251AD0 File Offset: 0x0024FCD0
|
||||
[Token(Token = "0x600AB7C")]
|
||||
[Address(RVA = "0x80C150", Offset = "0x80B150", VA = "0x18080C150", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB7C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT233FieldElement(var_0_06, newobj:SecT233FieldElement(SecT233FieldElement::.ctor, 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: 0x0600AB7D RID: 43901 RVA: 0x00251AE4 File Offset: 0x0024FCE4
|
||||
[Token(Token = "0x600AB7D")]
|
||||
[Address(RVA = "0x80C020", Offset = "0x80B020", VA = "0x18080C020", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB7D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233K1Curve::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:SecT233K1Point(var_0_09, newobj:SecT233K1Point(SecT233K1Point::.ctor, ldloc:SecT233K1Curve[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: 0x0600AB7E RID: 43902 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB7E")]
|
||||
[Address(RVA = "0x80C0B0", Offset = "0x80B0B0", VA = "0x18080C0B0", 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: 0x17001B13 RID: 6931
|
||||
// (get) Token: 0x0600AB7F RID: 43903 RVA: 0x00251AFC File Offset: 0x0024FCFC
|
||||
[Token(Token = "0x17001B13")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600AB7F")]
|
||||
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB7F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233K1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT233K1Point(var_0_06, ldfld:SecT233K1Point(SecT233K1Curve::m_infinity, ldloc:SecT233K1Curve(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: 0x17001B14 RID: 6932
|
||||
// (get) Token: 0x0600AB80 RID: 43904 RVA: 0x00251B10 File Offset: 0x0024FD10
|
||||
[Token(Token = "0x17001B14")]
|
||||
public override bool IsKoblitz
|
||||
{
|
||||
[Token(Token = "0x600AB80")]
|
||||
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "39")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B15 RID: 6933
|
||||
// (get) Token: 0x0600AB81 RID: 43905 RVA: 0x00251B20 File Offset: 0x0024FD20
|
||||
[Token(Token = "0x17001B15")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600AB81")]
|
||||
[Address(RVA = "0x80A2A0", Offset = "0x8092A0", VA = "0x18080A2A0", Slot = "40")]
|
||||
get
|
||||
{
|
||||
return 233;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B16 RID: 6934
|
||||
// (get) Token: 0x0600AB82 RID: 43906 RVA: 0x00251B34 File Offset: 0x0024FD34
|
||||
[Token(Token = "0x17001B16")]
|
||||
public virtual bool IsTrinomial
|
||||
{
|
||||
[Token(Token = "0x600AB82")]
|
||||
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B17 RID: 6935
|
||||
// (get) Token: 0x0600AB83 RID: 43907 RVA: 0x00251B44 File Offset: 0x0024FD44
|
||||
[Token(Token = "0x17001B17")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600AB83")]
|
||||
[Address(RVA = "0x80A2B0", Offset = "0x8092B0", VA = "0x18080A2B0", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return 74;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B18 RID: 6936
|
||||
// (get) Token: 0x0600AB84 RID: 43908 RVA: 0x00251B54 File Offset: 0x0024FD54
|
||||
[Token(Token = "0x17001B18")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600AB84")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B19 RID: 6937
|
||||
// (get) Token: 0x0600AB85 RID: 43909 RVA: 0x00251B64 File Offset: 0x0024FD64
|
||||
[Token(Token = "0x17001B19")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600AB85")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB86 RID: 43910 RVA: 0x00251B74 File Offset: 0x0024FD74
|
||||
[Token(Token = "0x600AB86")]
|
||||
[Address(RVA = "0x80BD70", Offset = "0x80AD70", VA = "0x18080BD70", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
ulong[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new ulong[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 8;
|
||||
IL_49:
|
||||
SecT233K1Curve.SecT233K1LookupTable secT233K1LookupTable;
|
||||
secT233K1LookupTable.m_outer = 0;
|
||||
secT233K1LookupTable.m_table = array;
|
||||
secT233K1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DDD RID: 28125
|
||||
[Token(Token = "0x4006DDD")]
|
||||
private const int SECT233K1_DEFAULT_COORDS = 6;
|
||||
|
||||
// Token: 0x04006DDE RID: 28126
|
||||
[Token(Token = "0x4006DDE")]
|
||||
private const int SECT233K1_FE_LONGS = 4;
|
||||
|
||||
// Token: 0x04006DDF RID: 28127
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006DDF")]
|
||||
protected readonly SecT233K1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B73 RID: 7027
|
||||
[Token(Token = "0x2001B73")]
|
||||
private class SecT233K1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600AB87 RID: 43911 RVA: 0x00251BE8 File Offset: 0x0024FDE8
|
||||
[Token(Token = "0x600AB87")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecT233K1LookupTable(SecT233K1Curve outer, ulong[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001B1A RID: 6938
|
||||
// (get) Token: 0x0600AB88 RID: 43912 RVA: 0x00251C10 File Offset: 0x0024FE10
|
||||
[Token(Token = "0x17001B1A")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600AB88")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB89 RID: 43913 RVA: 0x00251C24 File Offset: 0x0024FE24
|
||||
[Token(Token = "0x600AB89")]
|
||||
[Address(RVA = "0x80C320", Offset = "0x80B320", VA = "0x18080C320", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
ulong[] array = Nat256.Create64();
|
||||
ulong[] array2 = Nat256.Create64();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num2)
|
||||
{
|
||||
int num3 = 0;
|
||||
ulong[] table = this.m_table;
|
||||
ulong[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 8;
|
||||
num2++;
|
||||
}
|
||||
SecT233K1Curve outer = this.m_outer;
|
||||
new SecT233FieldElement().x = array;
|
||||
new SecT233FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DE0 RID: 28128
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DE0")]
|
||||
private readonly SecT233K1Curve m_outer;
|
||||
|
||||
// Token: 0x04006DE1 RID: 28129
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006DE1")]
|
||||
private readonly ulong[] m_table;
|
||||
|
||||
// Token: 0x04006DE2 RID: 28130
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006DE2")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+296
@@ -0,0 +1,296 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B74 RID: 7028
|
||||
[Token(Token = "0x2001B74")]
|
||||
internal class SecT233K1Point : AbstractF2mPoint
|
||||
{
|
||||
// Token: 0x0600AB8A RID: 43914 RVA: 0x00251CA4 File Offset: 0x0024FEA4
|
||||
[Token(Token = "0x600AB8A")]
|
||||
[Address(RVA = "0x80DA20", Offset = "0x80CA20", VA = "0x18080DA20")]
|
||||
public SecT233K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AB8B RID: 43915 RVA: 0x00251CB4 File Offset: 0x0024FEB4
|
||||
[Token(Token = "0x600AB8B")]
|
||||
[Address(RVA = "0x80D960", Offset = "0x80C960", VA = "0x18080D960")]
|
||||
public SecT233K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB8B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600AB8C RID: 43916 RVA: 0x00251CDC File Offset: 0x0024FEDC
|
||||
[Token(Token = "0x600AB8C")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecT233K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AB8D RID: 43917 RVA: 0x00251CEC File Offset: 0x0024FEEC
|
||||
[Token(Token = "0x600AB8D")]
|
||||
[Address(RVA = "0x80CCE0", Offset = "0x80BCE0", VA = "0x18080CCE0", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB8D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233K1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT233K1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT233K1Point[exp:ECPoint](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: 0x17001B1B RID: 6939
|
||||
// (get) Token: 0x0600AB8E RID: 43918 RVA: 0x00251D08 File Offset: 0x0024FF08
|
||||
[Token(Token = "0x17001B1B")]
|
||||
public override ECFieldElement YCoord
|
||||
{
|
||||
[Token(Token = "0x600AB8E")]
|
||||
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
|
||||
get
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement y = this.m_y;
|
||||
if (!base.IsInfinity && !x.IsOne)
|
||||
{
|
||||
int fieldSize = y.FieldSize;
|
||||
if (this.m_zs[0].BitLength == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B1C RID: 6940
|
||||
// (get) Token: 0x0600AB8F RID: 43919 RVA: 0x00251D58 File Offset: 0x0024FF58
|
||||
[Token(Token = "0x17001B1C")]
|
||||
protected internal override bool CompressionYTilde
|
||||
{
|
||||
[Token(Token = "0x600AB8F")]
|
||||
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement;
|
||||
ECFieldElement ecfieldElement2;
|
||||
return ecfieldElement != ecfieldElement2;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB90 RID: 43920 RVA: 0x00251D8C File Offset: 0x0024FF8C
|
||||
[Token(Token = "0x600AB90")]
|
||||
[Address(RVA = "0x80C4F0", Offset = "0x80B4F0", VA = "0x18080C4F0", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
while (!base.IsInfinity && !b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
|
||||
}
|
||||
if (ecfieldElement2.BitLength != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
|
||||
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
|
||||
int fieldSize2 = ecfieldElement5.FieldSize;
|
||||
if (fieldSize2 == 0)
|
||||
{
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
sbyte b3;
|
||||
sbyte b2 = b3;
|
||||
TypeCode typeCode = b2.GetTypeCode();
|
||||
int fieldSize3 = y.FieldSize;
|
||||
}
|
||||
bool flag2 = this.IsNormalized();
|
||||
ushort num;
|
||||
TypeCode typeCode2 = num.GetTypeCode();
|
||||
ushort num2;
|
||||
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
|
||||
short num3;
|
||||
TypeCode typeCode4 = num3.GetTypeCode();
|
||||
sbyte b4;
|
||||
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
|
||||
byte b5;
|
||||
TypeCode typeCode6 = b5.GetTypeCode();
|
||||
BigInteger one = BigInteger.One;
|
||||
int num4 = flag.CompareTo(one);
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
if (ecpoint == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
bool compressionYTilde = b.CompressionYTilde;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB91 RID: 43921 RVA: 0x00251F1C File Offset: 0x0025011C
|
||||
[Token(Token = "0x600AB91")]
|
||||
[Address(RVA = "0x80D4F0", Offset = "0x80C4F0", VA = "0x18080D4F0", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
int bitLength = ecfieldElement.BitLength;
|
||||
if (bitLength != 0)
|
||||
{
|
||||
int fieldSize = y.Negate().FieldSize;
|
||||
}
|
||||
ECFieldElement ecfieldElement2 = ecfieldElement.Negate();
|
||||
int fieldSize2 = y.FieldSize;
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
sbyte b2;
|
||||
sbyte b = b2;
|
||||
int fieldSize3 = y.FieldSize;
|
||||
ECFieldElement ecfieldElement3 = ecfieldElement2.Negate();
|
||||
ushort num;
|
||||
TypeCode typeCode = num.GetTypeCode().GetTypeCode();
|
||||
sbyte b3;
|
||||
TypeCode typeCode2 = b3.GetTypeCode().GetTypeCode().GetTypeCode();
|
||||
(new ECFieldElement[1])[0] = b;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AB92 RID: 43922 RVA: 0x00251FE4 File Offset: 0x002501E4
|
||||
[Token(Token = "0x600AB92")]
|
||||
[Address(RVA = "0x80CF30", Offset = "0x80BF30", VA = "0x18080CF30", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECFieldElement[] zs = b.m_zs;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
if (!x2.IsOne && ecfieldElement.BitLength != 0)
|
||||
{
|
||||
ECFieldElement[] zs2 = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement3 = x.Negate();
|
||||
ECFieldElement ecfieldElement4 = y.Negate();
|
||||
ECFieldElement ecfieldElement5 = ecfieldElement2.Negate();
|
||||
ECFieldElement ecfieldElement6 = y.Subtract(ecfieldElement2);
|
||||
int fieldSize = ecfieldElement4.FieldSize;
|
||||
ECFieldElement ecfieldElement7;
|
||||
int fieldSize2 = ecfieldElement7.Subtract(ecfieldElement5).FieldSize;
|
||||
int fieldSize3 = x2.Subtract(ecfieldElement5).FieldSize;
|
||||
decimal num;
|
||||
TypeCode typeCode = num.GetTypeCode();
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB93 RID: 43923 RVA: 0x00252100 File Offset: 0x00250300
|
||||
[Token(Token = "0x600AB93")]
|
||||
[Address(RVA = "0x80CD80", Offset = "0x80BD80", VA = "0x18080CD80", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
bool flag = this.SatisfiesOrder();
|
||||
int fieldSize = y.FieldSize;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
}
|
||||
array[0] = ecfieldElement;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+387
@@ -0,0 +1,387 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B75 RID: 7029
|
||||
[Token(Token = "0x2001B75")]
|
||||
internal class SecT233R1Curve : AbstractF2mCurve
|
||||
{
|
||||
// Token: 0x0600AB94 RID: 43924 RVA: 0x0025216C File Offset: 0x0025036C
|
||||
[Token(Token = "0x600AB94")]
|
||||
[Address(RVA = "0x80DFF0", Offset = "0x80CFF0", VA = "0x18080DFF0")]
|
||||
public SecT233R1Curve()
|
||||
{
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
base..ctor(233, 74, num2, num);
|
||||
int num3;
|
||||
int num4;
|
||||
SecT233R1Point secT233R1Point = new SecT233R1Point(this, num3, num4, num != 0);
|
||||
num4 = 0;
|
||||
num3 = 0;
|
||||
this.m_infinity = secT233R1Point;
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
byte[] array = Hex.Decode("0066647EDE6C332C7F8C0923BB58213B333B20E9CE4281FE115F7D8F90AD");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array2 = Hex.Decode("01000000000000000000000000000013E974E72F8A6922031D2603CFE0D7");
|
||||
BigInteger bigInteger2 = new BigInteger(1, array2);
|
||||
this.m_order = bigInteger2;
|
||||
BigInteger two = BigInteger.Two;
|
||||
this.m_cofactor = two;
|
||||
this.m_coord = (int)((ulong)6L);
|
||||
}
|
||||
|
||||
// Token: 0x0600AB95 RID: 43925 RVA: 0x00252210 File Offset: 0x00250410
|
||||
[Token(Token = "0x600AB95")]
|
||||
[Address(RVA = "0x80DA40", Offset = "0x80CA40", VA = "0x18080DA40", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB95)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233R1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_1_01, ldc.i4:int32(0))
|
||||
stloc:SecT233R1Point(var_3_0F, newobj:SecT233R1Point(SecT233R1Point::.ctor, ldloc:SecT233R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
|
||||
stloc:int32(var_4, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecT233R1Point(SecT233R1Curve::m_infinity, ldloc:SecT233R1Curve(var_0), ldloc:SecT233R1Point(var_3_0F))
|
||||
stloc:int32(var_6_23, callvirtgetter:int32(SecT233R1Curve::get_FieldSize, ldloc:SecT233R1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT233R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_23))
|
||||
stloc:uint8[](var_7_37, call:uint8[](Hex::Decode, ldstr:string("0066647EDE6C332C7F8C0923BB58213B333B20E9CE4281FE115F7D8F90AD")))
|
||||
stloc:BigInteger(var_8_41, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_7_37)))
|
||||
stloc:int32(var_9_49, callvirtgetter:int32(SecT233R1Curve::get_FieldSize, ldloc:SecT233R1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT233R1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_9_49))
|
||||
stloc:uint8[](var_10_5D, call:uint8[](Hex::Decode, ldstr:string("01000000000000000000000000000013E974E72F8A6922031D2603CFE0D7")))
|
||||
stloc:BigInteger(var_11_67, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_10_5D)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecT233R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_11_67))
|
||||
stloc:BigInteger(var_12_76, ldsfld:BigInteger(BigInteger::Two))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT233R1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_12_76))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecT233R1Curve[exp:ECCurve](var_0), 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: 0x0600AB96 RID: 43926 RVA: 0x002522A8 File Offset: 0x002504A8
|
||||
[Token(Token = "0x600AB96")]
|
||||
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 6;
|
||||
}
|
||||
|
||||
// Token: 0x17001B1D RID: 6941
|
||||
// (get) Token: 0x0600AB97 RID: 43927 RVA: 0x002522BC File Offset: 0x002504BC
|
||||
[Token(Token = "0x17001B1D")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600AB97")]
|
||||
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB97)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233R1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT233R1Point(var_0_06, ldfld:SecT233R1Point(SecT233R1Curve::m_infinity, ldloc:SecT233R1Curve(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: 0x17001B1E RID: 6942
|
||||
// (get) Token: 0x0600AB98 RID: 43928 RVA: 0x002522D0 File Offset: 0x002504D0
|
||||
[Token(Token = "0x17001B1E")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600AB98")]
|
||||
[Address(RVA = "0x80A2A0", Offset = "0x8092A0", VA = "0x18080A2A0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return 233;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB99 RID: 43929 RVA: 0x002522E4 File Offset: 0x002504E4
|
||||
[Token(Token = "0x600AB99")]
|
||||
[Address(RVA = "0x80DF90", Offset = "0x80CF90", VA = "0x18080DF90", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB99)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233R1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT233FieldElement(var_0_06, newobj:SecT233FieldElement(SecT233FieldElement::.ctor, 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: 0x0600AB9A RID: 43930 RVA: 0x002522F8 File Offset: 0x002504F8
|
||||
[Token(Token = "0x600AB9A")]
|
||||
[Address(RVA = "0x80DF00", Offset = "0x80CF00", VA = "0x18080DF00", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB9A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233R1Curve::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:SecT233R1Point(var_0_09, newobj:SecT233R1Point(SecT233R1Point::.ctor, ldloc:SecT233R1Curve[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: 0x0600AB9B RID: 43931 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB9B")]
|
||||
[Address(RVA = "0x80DE60", Offset = "0x80CE60", VA = "0x18080DE60", 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: 0x17001B1F RID: 6943
|
||||
// (get) Token: 0x0600AB9C RID: 43932 RVA: 0x00252310 File Offset: 0x00250510
|
||||
[Token(Token = "0x17001B1F")]
|
||||
public override bool IsKoblitz
|
||||
{
|
||||
[Token(Token = "0x600AB9C")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B20 RID: 6944
|
||||
// (get) Token: 0x0600AB9D RID: 43933 RVA: 0x00252320 File Offset: 0x00250520
|
||||
[Token(Token = "0x17001B20")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600AB9D")]
|
||||
[Address(RVA = "0x80A2A0", Offset = "0x8092A0", VA = "0x18080A2A0", Slot = "40")]
|
||||
get
|
||||
{
|
||||
return 233;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B21 RID: 6945
|
||||
// (get) Token: 0x0600AB9E RID: 43934 RVA: 0x00252334 File Offset: 0x00250534
|
||||
[Token(Token = "0x17001B21")]
|
||||
public virtual bool IsTrinomial
|
||||
{
|
||||
[Token(Token = "0x600AB9E")]
|
||||
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B22 RID: 6946
|
||||
// (get) Token: 0x0600AB9F RID: 43935 RVA: 0x00252344 File Offset: 0x00250544
|
||||
[Token(Token = "0x17001B22")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600AB9F")]
|
||||
[Address(RVA = "0x80A2B0", Offset = "0x8092B0", VA = "0x18080A2B0", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return 74;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B23 RID: 6947
|
||||
// (get) Token: 0x0600ABA0 RID: 43936 RVA: 0x00252354 File Offset: 0x00250554
|
||||
[Token(Token = "0x17001B23")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600ABA0")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B24 RID: 6948
|
||||
// (get) Token: 0x0600ABA1 RID: 43937 RVA: 0x00252364 File Offset: 0x00250564
|
||||
[Token(Token = "0x17001B24")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600ABA1")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABA2 RID: 43938 RVA: 0x00252374 File Offset: 0x00250574
|
||||
[Token(Token = "0x600ABA2")]
|
||||
[Address(RVA = "0x80DC00", Offset = "0x80CC00", VA = "0x18080DC00", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
ulong[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new ulong[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 8;
|
||||
IL_49:
|
||||
SecT233R1Curve.SecT233R1LookupTable secT233R1LookupTable;
|
||||
secT233R1LookupTable.m_outer = 0;
|
||||
secT233R1LookupTable.m_table = array;
|
||||
secT233R1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DE3 RID: 28131
|
||||
[Token(Token = "0x4006DE3")]
|
||||
private const int SECT233R1_DEFAULT_COORDS = 6;
|
||||
|
||||
// Token: 0x04006DE4 RID: 28132
|
||||
[Token(Token = "0x4006DE4")]
|
||||
private const int SECT233R1_FE_LONGS = 4;
|
||||
|
||||
// Token: 0x04006DE5 RID: 28133
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006DE5")]
|
||||
protected readonly SecT233R1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B76 RID: 7030
|
||||
[Token(Token = "0x2001B76")]
|
||||
private class SecT233R1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600ABA3 RID: 43939 RVA: 0x002523E8 File Offset: 0x002505E8
|
||||
[Token(Token = "0x600ABA3")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecT233R1LookupTable(SecT233R1Curve outer, ulong[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001B25 RID: 6949
|
||||
// (get) Token: 0x0600ABA4 RID: 43940 RVA: 0x00252410 File Offset: 0x00250610
|
||||
[Token(Token = "0x17001B25")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600ABA4")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABA5 RID: 43941 RVA: 0x00252424 File Offset: 0x00250624
|
||||
[Token(Token = "0x600ABA5")]
|
||||
[Address(RVA = "0x80E190", Offset = "0x80D190", VA = "0x18080E190", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
ulong[] array = Nat256.Create64();
|
||||
ulong[] array2 = Nat256.Create64();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num2)
|
||||
{
|
||||
int num3 = 0;
|
||||
ulong[] table = this.m_table;
|
||||
ulong[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 8;
|
||||
num2++;
|
||||
}
|
||||
SecT233R1Curve outer = this.m_outer;
|
||||
new SecT233FieldElement().x = array;
|
||||
new SecT233FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DE6 RID: 28134
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DE6")]
|
||||
private readonly SecT233R1Curve m_outer;
|
||||
|
||||
// Token: 0x04006DE7 RID: 28135
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006DE7")]
|
||||
private readonly ulong[] m_table;
|
||||
|
||||
// Token: 0x04006DE8 RID: 28136
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006DE8")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+255
@@ -0,0 +1,255 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B77 RID: 7031
|
||||
[Token(Token = "0x2001B77")]
|
||||
internal class SecT233R1Point : AbstractF2mPoint
|
||||
{
|
||||
// Token: 0x0600ABA6 RID: 43942 RVA: 0x002524A4 File Offset: 0x002506A4
|
||||
[Token(Token = "0x600ABA6")]
|
||||
[Address(RVA = "0x80F7C0", Offset = "0x80E7C0", VA = "0x18080F7C0")]
|
||||
public SecT233R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ABA7 RID: 43943 RVA: 0x002524B4 File Offset: 0x002506B4
|
||||
[Token(Token = "0x600ABA7")]
|
||||
[Address(RVA = "0x80F7E0", Offset = "0x80E7E0", VA = "0x18080F7E0")]
|
||||
public SecT233R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABA7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233R1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600ABA8 RID: 43944 RVA: 0x002524DC File Offset: 0x002506DC
|
||||
[Token(Token = "0x600ABA8")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecT233R1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ABA9 RID: 43945 RVA: 0x002524EC File Offset: 0x002506EC
|
||||
[Token(Token = "0x600ABA9")]
|
||||
[Address(RVA = "0x80EB80", Offset = "0x80DB80", VA = "0x18080EB80", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABA9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT233R1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT233R1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT233R1Point[exp:ECPoint](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: 0x17001B26 RID: 6950
|
||||
// (get) Token: 0x0600ABAA RID: 43946 RVA: 0x00252508 File Offset: 0x00250708
|
||||
[Token(Token = "0x17001B26")]
|
||||
public override ECFieldElement YCoord
|
||||
{
|
||||
[Token(Token = "0x600ABAA")]
|
||||
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
|
||||
get
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement y = this.m_y;
|
||||
if (!base.IsInfinity && !x.IsOne)
|
||||
{
|
||||
int fieldSize = y.FieldSize;
|
||||
if (this.m_zs[0].BitLength == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B27 RID: 6951
|
||||
// (get) Token: 0x0600ABAB RID: 43947 RVA: 0x00252558 File Offset: 0x00250758
|
||||
[Token(Token = "0x17001B27")]
|
||||
protected internal override bool CompressionYTilde
|
||||
{
|
||||
[Token(Token = "0x600ABAB")]
|
||||
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement;
|
||||
ECFieldElement ecfieldElement2;
|
||||
return ecfieldElement != ecfieldElement2;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABAC RID: 43948 RVA: 0x0025258C File Offset: 0x0025078C
|
||||
[Token(Token = "0x600ABAC")]
|
||||
[Address(RVA = "0x80E360", Offset = "0x80D360", VA = "0x18080E360", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
while (!base.IsInfinity && !b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
|
||||
}
|
||||
if (ecfieldElement2.BitLength == 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
|
||||
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
|
||||
int fieldSize2 = ecfieldElement5.FieldSize;
|
||||
if (fieldSize2 == 0)
|
||||
{
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
sbyte b3;
|
||||
sbyte b2 = b3;
|
||||
TypeCode typeCode = b2.GetTypeCode();
|
||||
int fieldSize3 = y.FieldSize;
|
||||
}
|
||||
bool flag2 = this.IsNormalized();
|
||||
ushort num;
|
||||
TypeCode typeCode2 = num.GetTypeCode();
|
||||
ushort num2;
|
||||
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
|
||||
short num3;
|
||||
TypeCode typeCode4 = num3.GetTypeCode();
|
||||
sbyte b4;
|
||||
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
|
||||
byte b5;
|
||||
TypeCode typeCode6 = b5.GetTypeCode();
|
||||
BigInteger one = BigInteger.One;
|
||||
int num4 = flag.CompareTo(one);
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
bool compressionYTilde = b.CompressionYTilde;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABAD RID: 43949 RVA: 0x00252728 File Offset: 0x00250928
|
||||
[Token(Token = "0x600ABAD")]
|
||||
[Address(RVA = "0x80F3C0", Offset = "0x80E3C0", VA = "0x18080F3C0", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
if (ecfieldElement.BitLength != 0)
|
||||
{
|
||||
}
|
||||
ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement3 = ecfieldElement.Negate();
|
||||
if (y.Negate().FieldSize.GetTypeCode() == TypeCode.Empty)
|
||||
{
|
||||
ECFieldElement ecfieldElement4 = x.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement5;
|
||||
TypeCode typeCode = ecfieldElement5.FieldSize.GetTypeCode();
|
||||
sbyte b;
|
||||
(new ECFieldElement[1])[0] = b;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
SecT233R1Point secT233R1Point;
|
||||
ECFieldElement[] zcoords = secT233R1Point.GetZCoords();
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABAE RID: 43950 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600ABAE")]
|
||||
[Address(RVA = "0x80EDD0", Offset = "0x80DDD0", VA = "0x18080EDD0", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600ABAF RID: 43951 RVA: 0x002527E0 File Offset: 0x002509E0
|
||||
[Token(Token = "0x600ABAF")]
|
||||
[Address(RVA = "0x80EC20", Offset = "0x80DC20", VA = "0x18080EC20", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
bool flag = this.SatisfiesOrder();
|
||||
int fieldSize = y.FieldSize;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
}
|
||||
array[0] = ecfieldElement;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+370
@@ -0,0 +1,370 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B78 RID: 7032
|
||||
[Token(Token = "0x2001B78")]
|
||||
internal class SecT239Field
|
||||
{
|
||||
// Token: 0x0600ABB0 RID: 43952 RVA: 0x0025284C File Offset: 0x00250A4C
|
||||
[Token(Token = "0x600ABB0")]
|
||||
[Address(RVA = "0x7BA2D0", Offset = "0x7B92D0", VA = "0x1807BA2D0")]
|
||||
public static void Add(ulong[] x, ulong[] y, ulong[] z)
|
||||
{
|
||||
ulong num = y[0];
|
||||
z[0] = num;
|
||||
ulong num2 = y[1];
|
||||
z[1] = num2;
|
||||
ulong num3 = y[2];
|
||||
z[2] = num3;
|
||||
ulong num4 = y[3];
|
||||
z[3] = num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB1 RID: 43953 RVA: 0x002528A0 File Offset: 0x00250AA0
|
||||
[Token(Token = "0x600ABB1")]
|
||||
[Address(RVA = "0x7B9ED0", Offset = "0x7B8ED0", VA = "0x1807B9ED0")]
|
||||
public static void AddExt(ulong[] xx, ulong[] yy, ulong[] zz)
|
||||
{
|
||||
ulong num = yy[0];
|
||||
zz[0] = num;
|
||||
ulong num2 = yy[1];
|
||||
zz[1] = num2;
|
||||
ulong num3 = yy[2];
|
||||
zz[2] = num3;
|
||||
ulong num4 = yy[3];
|
||||
zz[3] = num4;
|
||||
ulong num5 = yy[4];
|
||||
zz[4] = num5;
|
||||
ulong num6 = yy[5];
|
||||
zz[5] = num6;
|
||||
ulong num7 = yy[6];
|
||||
zz[6] = num7;
|
||||
ulong num8 = yy[7];
|
||||
zz[7] = num8;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB2 RID: 43954 RVA: 0x0025293C File Offset: 0x00250B3C
|
||||
[Token(Token = "0x600ABB2")]
|
||||
[Address(RVA = "0x7BA1E0", Offset = "0x7B91E0", VA = "0x1807BA1E0")]
|
||||
public static void AddOne(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong num = x[0];
|
||||
z[0] = num;
|
||||
ulong num2 = x[1];
|
||||
z[1] = num2;
|
||||
ulong num3 = x[2];
|
||||
z[2] = num3;
|
||||
ulong num4 = x[3];
|
||||
z[3] = num4;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB3 RID: 43955 RVA: 0x00252990 File Offset: 0x00250B90
|
||||
[Token(Token = "0x600ABB3")]
|
||||
[Address(RVA = "0x7BA470", Offset = "0x7B9470", VA = "0x1807BA470")]
|
||||
public static ulong[] FromBigInteger(BigInteger x)
|
||||
{
|
||||
ulong[] array = Nat256.FromBigInteger64(x);
|
||||
ulong num = array[3];
|
||||
array[3] = num;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB4 RID: 43956 RVA: 0x002529BC File Offset: 0x00250BBC
|
||||
[Token(Token = "0x600ABB4")]
|
||||
[Address(RVA = "0x7BB330", Offset = "0x7BA330", VA = "0x1807BB330")]
|
||||
public static void Invert(ulong[] x, ulong[] z)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABB4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239Field::Invert(System.UInt64[],System.UInt64[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_24B:
|
||||
stloc:InvalidOperationException(var_42_250, newobj:InvalidOperationException(InvalidOperationException::.ctor))
|
||||
}
|
||||
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
||||
--- End of inner exception stack trace ---
|
||||
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
||||
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB5 RID: 43957 RVA: 0x00252C1C File Offset: 0x00250E1C
|
||||
[Token(Token = "0x600ABB5")]
|
||||
[Address(RVA = "0x7BB7A0", Offset = "0x7BA7A0", VA = "0x1807BB7A0")]
|
||||
public static void Multiply(ulong[] x, ulong[] y, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT239Field.ImplMultiply(x, y, array);
|
||||
SecT239Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB6 RID: 43958 RVA: 0x00252C40 File Offset: 0x00250E40
|
||||
[Token(Token = "0x600ABB6")]
|
||||
[Address(RVA = "0x7BB740", Offset = "0x7BA740", VA = "0x1807BB740")]
|
||||
public static void MultiplyAddToExt(ulong[] x, ulong[] y, ulong[] zz)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT239Field.ImplMultiply(x, y, array);
|
||||
SecT233Field.AddExt(zz, array, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB7 RID: 43959 RVA: 0x00252C68 File Offset: 0x00250E68
|
||||
[Token(Token = "0x600ABB7")]
|
||||
[Address(RVA = "0x7BB8B0", Offset = "0x7BA8B0", VA = "0x1807BB8B0")]
|
||||
public static void Reduce(ulong[] xx, ulong[] z)
|
||||
{
|
||||
int length = xx.Length;
|
||||
ulong num = xx[3];
|
||||
ulong num2 = xx[4];
|
||||
ulong num3 = xx[7];
|
||||
num3 = num2;
|
||||
z[0] = num3;
|
||||
num3 = num2;
|
||||
z[1] = num3;
|
||||
z[2] = num2;
|
||||
z[3] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB8 RID: 43960 RVA: 0x00252CC0 File Offset: 0x00250EC0
|
||||
[Token(Token = "0x600ABB8")]
|
||||
[Address(RVA = "0x7BB800", Offset = "0x7BA800", VA = "0x1807BB800")]
|
||||
public static void Reduce17(ulong[] z, int zOff)
|
||||
{
|
||||
int length = z.Length;
|
||||
ulong num;
|
||||
z[0] = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB9 RID: 43961 RVA: 0x00252CE4 File Offset: 0x00250EE4
|
||||
[Token(Token = "0x600ABB9")]
|
||||
[Address(RVA = "0x7BBB10", Offset = "0x7BAB10", VA = "0x1807BBB10")]
|
||||
public static void Sqrt(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong num = Interleave.Unshuffle(x[0]);
|
||||
ulong num2 = x[1];
|
||||
ulong num3 = Interleave.Unshuffle(num2);
|
||||
ulong num4 = Interleave.Unshuffle(x[2]);
|
||||
ulong num5 = x[3];
|
||||
ulong num6 = Interleave.Unshuffle(num5);
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
int[] array2 = new int[2];
|
||||
array2[0] = (int)((ulong)39L);
|
||||
array2[0] = (int)((ulong)120L);
|
||||
int num7 = 0;
|
||||
int length = array2.Length;
|
||||
if (num7 < length)
|
||||
{
|
||||
int num8 = array2[num7];
|
||||
int num9 = num8 + 1;
|
||||
num8 += 4;
|
||||
num7++;
|
||||
}
|
||||
SecT239Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600ABBA RID: 43962 RVA: 0x00252DAC File Offset: 0x00250FAC
|
||||
[Token(Token = "0x600ABBA")]
|
||||
[Address(RVA = "0x7BBF80", Offset = "0x7BAF80", VA = "0x1807BBF80")]
|
||||
public static void Square(ulong[] x, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT233Field.ImplSquare(x, array);
|
||||
SecT239Field.Reduce(array, z);
|
||||
}
|
||||
|
||||
// Token: 0x0600ABBB RID: 43963 RVA: 0x00252DD0 File Offset: 0x00250FD0
|
||||
[Token(Token = "0x600ABBB")]
|
||||
[Address(RVA = "0x7BBEA0", Offset = "0x7BAEA0", VA = "0x1807BBEA0")]
|
||||
public static void SquareAddToExt(ulong[] x, ulong[] zz)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT233Field.ImplSquare(x, array);
|
||||
SecT233Field.AddExt(zz, array, zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600ABBC RID: 43964 RVA: 0x00252DF4 File Offset: 0x00250FF4
|
||||
[Token(Token = "0x600ABBC")]
|
||||
[Address(RVA = "0x7BBEF0", Offset = "0x7BAEF0", VA = "0x1807BBEF0")]
|
||||
public static void SquareN(ulong[] x, int n, ulong[] z)
|
||||
{
|
||||
ulong[] array = Nat256.CreateExt64();
|
||||
SecT239Field.Reduce(array, z);
|
||||
if (n - 1 > 0)
|
||||
{
|
||||
SecT239Field.Reduce(array, z);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABBD RID: 43965 RVA: 0x00252E20 File Offset: 0x00251020
|
||||
[Token(Token = "0x600ABBD")]
|
||||
[Address(RVA = "0x7BBFD0", Offset = "0x7BAFD0", VA = "0x1807BBFD0")]
|
||||
public static uint Trace(ulong[] x)
|
||||
{
|
||||
int length = x.Length;
|
||||
ulong num = x[2];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABBE RID: 43966 RVA: 0x00252E44 File Offset: 0x00251044
|
||||
[Token(Token = "0x600ABBE")]
|
||||
[Address(RVA = "0x7BA500", Offset = "0x7B9500", VA = "0x1807BA500")]
|
||||
protected static void ImplCompactExt(ulong[] zz)
|
||||
{
|
||||
int length = zz.Length;
|
||||
ulong num = zz[1];
|
||||
ulong num2 = zz[2];
|
||||
ulong num3 = zz[3];
|
||||
ulong num4 = zz[4];
|
||||
ulong num5 = zz[5];
|
||||
ulong num6 = zz[6];
|
||||
ulong num7 = zz[7];
|
||||
num = num2;
|
||||
zz[1] = num;
|
||||
zz[2] = num2;
|
||||
zz[3] = num3;
|
||||
zz[4] = num4;
|
||||
zz[5] = num5;
|
||||
zz[6] = num6;
|
||||
zz[7] = num7;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABBF RID: 43967 RVA: 0x00252EE8 File Offset: 0x002510E8
|
||||
[Token(Token = "0x600ABBF")]
|
||||
[Address(RVA = "0x7BA750", Offset = "0x7B9750", VA = "0x1807BA750")]
|
||||
protected static void ImplExpand(ulong[] x, ulong[] z)
|
||||
{
|
||||
int length = x.Length;
|
||||
ulong num = x[0];
|
||||
ulong num2 = x[1];
|
||||
ulong num3 = x[2];
|
||||
z[0] = num;
|
||||
num = num2;
|
||||
z[1] = num;
|
||||
z[2] = num2;
|
||||
z[3] = num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABC0 RID: 43968 RVA: 0x00252F40 File Offset: 0x00251140
|
||||
[Token(Token = "0x600ABC0")]
|
||||
[Address(RVA = "0x7BA8A0", Offset = "0x7B98A0", VA = "0x1807BA8A0")]
|
||||
protected static void ImplMultiply(ulong[] x, ulong[] y, ulong[] zz)
|
||||
{
|
||||
ulong[] array = new ulong[4];
|
||||
ulong[] array2 = new ulong[4];
|
||||
SecT239Field.ImplExpand(x, array);
|
||||
SecT239Field.ImplExpand(y, array2);
|
||||
ulong num = array2[0];
|
||||
ulong num2 = array[0];
|
||||
int num3 = 0;
|
||||
SecT239Field.ImplMulwAcc(num2, num, zz, num3);
|
||||
ulong num4 = array2[1];
|
||||
SecT239Field.ImplMulwAcc(array[1], num4, zz, 1);
|
||||
ulong num5 = array2[2];
|
||||
SecT239Field.ImplMulwAcc(array[2], num5, zz, 2);
|
||||
ulong num6 = array2[3];
|
||||
SecT239Field.ImplMulwAcc(array[3], num6, zz, 3);
|
||||
int length = zz.Length;
|
||||
int length2 = array.Length;
|
||||
int length3 = array2.Length;
|
||||
ulong num7 = array[1];
|
||||
ulong num8 = array2[1];
|
||||
uint num9;
|
||||
SecT239Field.ImplMulwAcc(num7, num8, zz, (int)num9);
|
||||
int length4 = array.Length;
|
||||
int length5 = array2.Length;
|
||||
ulong num10 = array[3];
|
||||
ulong num11 = array2[2];
|
||||
uint num12;
|
||||
SecT239Field.ImplMulwAcc(num10, num11, zz, (int)num12);
|
||||
int length6 = zz.Length;
|
||||
uint num13;
|
||||
num13 += (uint)(-2);
|
||||
int length7 = array.Length;
|
||||
ulong num14 = array[2];
|
||||
int length8 = array2.Length;
|
||||
ulong num15 = array2[2];
|
||||
ulong num16 = array2[1];
|
||||
uint num17;
|
||||
SecT239Field.ImplMulwAcc(num14, num16, zz, (int)num17);
|
||||
ulong[] array3 = new ulong[3];
|
||||
int num18 = 0;
|
||||
SecT239Field.ImplMulwAcc(num14, num15, array3, num18);
|
||||
num15 = num16;
|
||||
uint num19;
|
||||
SecT239Field.ImplMulwAcc(num14, num15, array3, (int)num19);
|
||||
int length9 = array3.Length;
|
||||
ulong num20 = zz[3];
|
||||
zz[3] = num20;
|
||||
ulong num21 = zz[4];
|
||||
zz[4] = num21;
|
||||
SecT239Field.ImplCompactExt(zz);
|
||||
}
|
||||
|
||||
// Token: 0x0600ABC1 RID: 43969 RVA: 0x002530E8 File Offset: 0x002512E8
|
||||
[Token(Token = "0x600ABC1")]
|
||||
[Address(RVA = "0x7BAEA0", Offset = "0x7B9EA0", VA = "0x1807BAEA0")]
|
||||
protected static void ImplMulwAcc(ulong x, ulong y, ulong[] z, int zOff)
|
||||
{
|
||||
ulong[] array = new ulong[8];
|
||||
array[1] = y;
|
||||
int num = array.Length;
|
||||
array[2] = (ulong)num;
|
||||
int length = array.Length;
|
||||
array[3] = (ulong)num;
|
||||
num = length;
|
||||
array[4] = (ulong)num;
|
||||
int length2 = array.Length;
|
||||
array[5] = (ulong)num;
|
||||
num = length2;
|
||||
array[6] = (ulong)num;
|
||||
int length3 = array.Length;
|
||||
array[7] = (ulong)num;
|
||||
int num2 = zOff + 1;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABC2 RID: 43970 RVA: 0x00253160 File Offset: 0x00251360
|
||||
[Token(Token = "0x600ABC2")]
|
||||
[Address(RVA = "0x7BB210", Offset = "0x7BA210", VA = "0x1807BB210")]
|
||||
protected static void ImplSquare(ulong[] x, ulong[] zz)
|
||||
{
|
||||
ulong num = x[0];
|
||||
int num2 = 0;
|
||||
Interleave.Expand64To128(num, zz, num2);
|
||||
Interleave.Expand64To128(x[1], zz, 2);
|
||||
ulong num3 = x[2];
|
||||
Interleave.Expand64To128(num3, zz, 4);
|
||||
ulong num4 = Interleave.Expand32to64((uint)num3);
|
||||
zz[6] = num4;
|
||||
uint num5 = Interleave.Expand16to32((uint)num3);
|
||||
zz[7] = (ulong)num5;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABC3 RID: 43971 RVA: 0x002531C4 File Offset: 0x002513C4
|
||||
[Token(Token = "0x600ABC3")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SecT239Field()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006DE9 RID: 28137
|
||||
[Token(Token = "0x4006DE9")]
|
||||
private const ulong M47 = 140737488355327UL;
|
||||
|
||||
// Token: 0x04006DEA RID: 28138
|
||||
[Token(Token = "0x4006DEA")]
|
||||
private const ulong M60 = 1152921504606846975UL;
|
||||
}
|
||||
}
|
||||
+597
@@ -0,0 +1,597 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B79 RID: 7033
|
||||
[Token(Token = "0x2001B79")]
|
||||
internal class SecT239FieldElement : AbstractF2mFieldElement
|
||||
{
|
||||
// Token: 0x0600ABC4 RID: 43972 RVA: 0x002531D8 File Offset: 0x002513D8
|
||||
[Token(Token = "0x600ABC4")]
|
||||
[Address(RVA = "0x7B9D10", Offset = "0x7B8D10", VA = "0x1807B9D10")]
|
||||
public SecT239FieldElement(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABC4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_30:
|
||||
stloc:ArgumentException(var_3_3F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT239FieldElement"), ldstr:string("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.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: 0x0600ABC5 RID: 43973 RVA: 0x00253224 File Offset: 0x00251424
|
||||
[Token(Token = "0x600ABC5")]
|
||||
[Address(RVA = "0x7B9E30", Offset = "0x7B8E30", VA = "0x1807B9E30")]
|
||||
public SecT239FieldElement()
|
||||
{
|
||||
ulong[] array = Nat256.Create64();
|
||||
this.x = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABC6 RID: 43974 RVA: 0x00253248 File Offset: 0x00251448
|
||||
[Token(Token = "0x600ABC6")]
|
||||
[Address(RVA = "0x6FC310", Offset = "0x6FB310", VA = "0x1806FC310")]
|
||||
protected internal SecT239FieldElement(ulong[] x)
|
||||
{
|
||||
this.x = x;
|
||||
}
|
||||
|
||||
// Token: 0x17001B28 RID: 6952
|
||||
// (get) Token: 0x0600ABC7 RID: 43975 RVA: 0x00253264 File Offset: 0x00251464
|
||||
[Token(Token = "0x17001B28")]
|
||||
public override bool IsOne
|
||||
{
|
||||
[Token(Token = "0x600ABC7")]
|
||||
[Address(RVA = "0x7B9EA0", Offset = "0x7B8EA0", VA = "0x1807B9EA0", Slot = "17")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsOne64(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B29 RID: 6953
|
||||
// (get) Token: 0x0600ABC8 RID: 43976 RVA: 0x0025327C File Offset: 0x0025147C
|
||||
[Token(Token = "0x17001B29")]
|
||||
public override bool IsZero
|
||||
{
|
||||
[Token(Token = "0x600ABC8")]
|
||||
[Address(RVA = "0x7B9EB0", Offset = "0x7B8EB0", VA = "0x1807B9EB0", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return Nat256.IsZero64(this.x);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABC9 RID: 43977 RVA: 0x00253294 File Offset: 0x00251494
|
||||
[Token(Token = "0x600ABC9")]
|
||||
[Address(RVA = "0x7B9C40", Offset = "0x7B8C40", VA = "0x1807B9C40", Slot = "24")]
|
||||
public override bool TestBitZero()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABCA RID: 43978 RVA: 0x002532B0 File Offset: 0x002514B0
|
||||
[Token(Token = "0x600ABCA")]
|
||||
[Address(RVA = "0x7B9C80", Offset = "0x7B8C80", VA = "0x1807B9C80", Slot = "4")]
|
||||
public override BigInteger ToBigInteger()
|
||||
{
|
||||
return Nat256.ToBigInteger64(this.x);
|
||||
}
|
||||
|
||||
// Token: 0x17001B2A RID: 6954
|
||||
// (get) Token: 0x0600ABCB RID: 43979 RVA: 0x002532C8 File Offset: 0x002514C8
|
||||
[Token(Token = "0x17001B2A")]
|
||||
public override string FieldName
|
||||
{
|
||||
[Token(Token = "0x600ABCB")]
|
||||
[Address(RVA = "0x7B9E60", Offset = "0x7B8E60", VA = "0x1807B9E60", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return "SecT239Field";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B2B RID: 6955
|
||||
// (get) Token: 0x0600ABCC RID: 43980 RVA: 0x002532DC File Offset: 0x002514DC
|
||||
[Token(Token = "0x17001B2B")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600ABCC")]
|
||||
[Address(RVA = "0x7B9E90", Offset = "0x7B8E90", VA = "0x1807B9E90", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return 239;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABCD RID: 43981 RVA: 0x002532F0 File Offset: 0x002514F0
|
||||
[Token(Token = "0x600ABCD")]
|
||||
[Address(RVA = "0x7B90B0", Offset = "0x7B80B0", VA = "0x1807B90B0", Slot = "7")]
|
||||
public override ECFieldElement Add(ECFieldElement b)
|
||||
{
|
||||
ulong[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecT239FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
new SecT239FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABCE RID: 43982 RVA: 0x00253338 File Offset: 0x00251538
|
||||
[Token(Token = "0x600ABCE")]
|
||||
[Address(RVA = "0x7B8F40", Offset = "0x7B7F40", VA = "0x1807B8F40", Slot = "8")]
|
||||
public override ECFieldElement AddOne()
|
||||
{
|
||||
ulong[] array = Nat256.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
ulong num = array2[0];
|
||||
array[0] = num;
|
||||
ulong num2 = array2[1];
|
||||
array[1] = num2;
|
||||
ulong num3 = array2[2];
|
||||
array[2] = num3;
|
||||
ulong num4 = array2[3];
|
||||
array[3] = num4;
|
||||
new SecT239FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABCF RID: 43983 RVA: 0x002533AC File Offset: 0x002515AC
|
||||
[Token(Token = "0x600ABCF")]
|
||||
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
|
||||
public override ECFieldElement Subtract(ECFieldElement b)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABCF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::Subtract(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT239FieldElement[exp:ECFieldElement](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: 0x0600ABD0 RID: 43984 RVA: 0x002533C0 File Offset: 0x002515C0
|
||||
[Token(Token = "0x600ABD0")]
|
||||
[Address(RVA = "0x7B9710", Offset = "0x7B8710", VA = "0x1807B9710", Slot = "10")]
|
||||
public override ECFieldElement Multiply(ECFieldElement b)
|
||||
{
|
||||
ulong[] array;
|
||||
do
|
||||
{
|
||||
array = Nat256.Create64();
|
||||
ulong[] array2 = this.x;
|
||||
if ("{il2cpp array field local3->}" == typeof(SecT239FieldElement).TypeHandle)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (b == 0 || b == 0);
|
||||
SecT239Field.Reduce(Nat256.CreateExt64(), array);
|
||||
new SecT239FieldElement().x = array;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABD1 RID: 43985 RVA: 0x00253414 File Offset: 0x00251614
|
||||
[Token(Token = "0x600ABD1")]
|
||||
[Address(RVA = "0x7B9440", Offset = "0x7B8440", VA = "0x1807B9440", Slot = "19")]
|
||||
public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABD1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::MultiplyMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT239FieldElement[exp:ECFieldElement](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: 0x0600ABD2 RID: 43986 RVA: 0x00253428 File Offset: 0x00251628
|
||||
[Token(Token = "0x600ABD2")]
|
||||
[Address(RVA = "0x7B9460", Offset = "0x7B8460", VA = "0x1807B9460", Slot = "20")]
|
||||
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
do
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
}
|
||||
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
|
||||
ulong[] array2 = Nat256.CreateExt64();
|
||||
ulong[] array3 = Nat256.CreateExt64();
|
||||
SecT233Field.AddExt(array2, array3, array2);
|
||||
ulong[] array4 = Nat256.CreateExt64();
|
||||
SecT233Field.AddExt(array2, array4, array2);
|
||||
ulong[] array5 = Nat256.Create64();
|
||||
SecT239Field.Reduce(array2, array5);
|
||||
new SecT239FieldElement().x = array5;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABD3 RID: 43987 RVA: 0x002534BC File Offset: 0x002516BC
|
||||
[Token(Token = "0x600ABD3")]
|
||||
[Address(RVA = "0x7B91D0", Offset = "0x7B81D0", VA = "0x1807B91D0", Slot = "11")]
|
||||
public override ECFieldElement Divide(ECFieldElement b)
|
||||
{
|
||||
ECFieldElement ecfieldElement = b.Square();
|
||||
BigInteger bigInteger = base.ToBigInteger();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABD4 RID: 43988 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600ABD4")]
|
||||
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "12")]
|
||||
public override ECFieldElement Negate()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600ABD5 RID: 43989 RVA: 0x002534DC File Offset: 0x002516DC
|
||||
[Token(Token = "0x600ABD5")]
|
||||
[Address(RVA = "0x7B9B80", Offset = "0x7B8B80", VA = "0x1807B9B80", Slot = "13")]
|
||||
public override ECFieldElement Square()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABD5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::Square()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
|
||||
stloc:uint64[](var_2_0E, ldfld:uint64[](SecT239FieldElement::x, ldloc:SecT239FieldElement(this)))
|
||||
stloc:uint64[](var_4_16, call:uint64[](Nat256::CreateExt64))
|
||||
call:void(SecT233Field::ImplSquare, ldloc:uint64[](var_2_0E), ldloc:uint64[](var_4_16))
|
||||
call:void(SecT239Field::Reduce, ldloc:uint64[](var_4_16), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT239FieldElement::x, newobj:SecT239FieldElement(SecT239FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600ABD6 RID: 43990 RVA: 0x0025351C File Offset: 0x0025171C
|
||||
[Token(Token = "0x600ABD6")]
|
||||
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
|
||||
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABD6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::SquareMinusProduct(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BigInteger(var_0_06, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT239FieldElement[exp:ECFieldElement](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: 0x0600ABD7 RID: 43991 RVA: 0x00253530 File Offset: 0x00251730
|
||||
[Token(Token = "0x600ABD7")]
|
||||
[Address(RVA = "0x7B98E0", Offset = "0x7B88E0", VA = "0x1807B98E0", Slot = "22")]
|
||||
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
do
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
}
|
||||
while (x == 0 || x == 0 || y == 0 || y == 0);
|
||||
ulong[] array2 = Nat256.CreateExt64();
|
||||
ulong[] array3 = Nat256.CreateExt64();
|
||||
SecT233Field.AddExt(array2, array3, array2);
|
||||
ulong[] array4 = Nat256.CreateExt64();
|
||||
SecT233Field.AddExt(array2, array4, array2);
|
||||
ulong[] array5 = Nat256.Create64();
|
||||
SecT239Field.Reduce(array2, array5);
|
||||
new SecT239FieldElement().x = array5;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABD8 RID: 43992 RVA: 0x002535B8 File Offset: 0x002517B8
|
||||
[Token(Token = "0x600ABD8")]
|
||||
[Address(RVA = "0x7B9B00", Offset = "0x7B8B00", VA = "0x1807B9B00", Slot = "23")]
|
||||
public override ECFieldElement SquarePow(int pow)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABD8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::SquarePow(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
|
||||
call:void(SecT239Field::SquareN, ldfld:uint64[](SecT239FieldElement::x, ldloc:SecT239FieldElement(this)), ldloc:int32(pow), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT239FieldElement::x, newobj:SecT239FieldElement(SecT239FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600ABD9 RID: 43993 RVA: 0x002535E4 File Offset: 0x002517E4
|
||||
[Token(Token = "0x600ABD9")]
|
||||
[Address(RVA = "0x7B9C90", Offset = "0x7B8C90", VA = "0x1807B9C90", Slot = "28")]
|
||||
public override int Trace()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
int length = array.Length;
|
||||
ulong num = array[2];
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABDA RID: 43994 RVA: 0x0025360C File Offset: 0x0025180C
|
||||
[Token(Token = "0x600ABDA")]
|
||||
[Address(RVA = "0x7B93D0", Offset = "0x7B83D0", VA = "0x1807B93D0", Slot = "14")]
|
||||
public override ECFieldElement Invert()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABDA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::Invert()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
|
||||
call:void(SecT239Field::Invert, ldfld:uint64[](SecT239FieldElement::x, ldloc:SecT239FieldElement(this)), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT239FieldElement::x, newobj:SecT239FieldElement(SecT239FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x0600ABDB RID: 43995 RVA: 0x00253638 File Offset: 0x00251838
|
||||
[Token(Token = "0x600ABDB")]
|
||||
[Address(RVA = "0x7B9850", Offset = "0x7B8850", VA = "0x1807B9850", Slot = "15")]
|
||||
public override ECFieldElement Sqrt()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABDB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::Sqrt()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:uint64[](var_1_07, call:uint64[](Nat256::Create64))
|
||||
call:void(SecT239Field::Sqrt, ldfld:uint64[](SecT239FieldElement::x, ldloc:SecT239FieldElement(this)), ldloc:uint64[](var_1_07))
|
||||
stfld:uint64[](SecT239FieldElement::x, newobj:SecT239FieldElement(SecT239FieldElement::.ctor), ldloc:uint64[](var_1_07))
|
||||
}
|
||||
|
||||
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: 0x17001B2C RID: 6956
|
||||
// (get) Token: 0x0600ABDC RID: 43996 RVA: 0x00253664 File Offset: 0x00251864
|
||||
[Token(Token = "0x17001B2C")]
|
||||
public virtual int Representation
|
||||
{
|
||||
[Token(Token = "0x600ABDC")]
|
||||
[Address(RVA = "0x4E86A0", Offset = "0x4E76A0", VA = "0x1804E86A0", Slot = "29")]
|
||||
get
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B2D RID: 6957
|
||||
// (get) Token: 0x0600ABDD RID: 43997 RVA: 0x00253674 File Offset: 0x00251874
|
||||
[Token(Token = "0x17001B2D")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600ABDD")]
|
||||
[Address(RVA = "0x7B9E90", Offset = "0x7B8E90", VA = "0x1807B9E90", Slot = "30")]
|
||||
get
|
||||
{
|
||||
return 239;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B2E RID: 6958
|
||||
// (get) Token: 0x0600ABDE RID: 43998 RVA: 0x00253688 File Offset: 0x00251888
|
||||
[Token(Token = "0x17001B2E")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600ABDE")]
|
||||
[Address(RVA = "0x7B9EC0", Offset = "0x7B8EC0", VA = "0x1807B9EC0", Slot = "31")]
|
||||
get
|
||||
{
|
||||
return 158;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B2F RID: 6959
|
||||
// (get) Token: 0x0600ABDF RID: 43999 RVA: 0x0025369C File Offset: 0x0025189C
|
||||
[Token(Token = "0x17001B2F")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600ABDF")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "32")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B30 RID: 6960
|
||||
// (get) Token: 0x0600ABE0 RID: 44000 RVA: 0x002536AC File Offset: 0x002518AC
|
||||
[Token(Token = "0x17001B30")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600ABE0")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "33")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABE1 RID: 44001 RVA: 0x002536BC File Offset: 0x002518BC
|
||||
[Token(Token = "0x600ABE1")]
|
||||
[Address(RVA = "0x7B9240", Offset = "0x7B8240", VA = "0x1807B9240", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABE1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::Equals(System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT239FieldElement[exp:ECFieldElement](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: 0x0600ABE2 RID: 44002 RVA: 0x002536D8 File Offset: 0x002518D8
|
||||
[Token(Token = "0x600ABE2")]
|
||||
[Address(RVA = "0x7B92D0", Offset = "0x7B82D0", VA = "0x1807B92D0", Slot = "25")]
|
||||
public override bool Equals(ECFieldElement other)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABE2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239FieldElement::Equals(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_04:
|
||||
stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:SecT239FieldElement[exp:ECFieldElement](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: 0x0600ABE3 RID: 44003 RVA: 0x002536F4 File Offset: 0x002518F4
|
||||
[Token(Token = "0x600ABE3")]
|
||||
[Address(RVA = "0x7B9220", Offset = "0x7B8220", VA = "0x1807B9220", Slot = "34")]
|
||||
public virtual bool Equals(SecT239FieldElement other)
|
||||
{
|
||||
if (this != other)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
ulong[] array = other.x;
|
||||
return Nat256.Eq64(this.x, array);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABE4 RID: 44004 RVA: 0x00253720 File Offset: 0x00251920
|
||||
[Token(Token = "0x600ABE4")]
|
||||
[Address(RVA = "0x7B9360", Offset = "0x7B8360", VA = "0x1807B9360", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
ulong[] array = this.x;
|
||||
int num = 0;
|
||||
return Arrays.GetHashCode(array, num, 4);
|
||||
}
|
||||
|
||||
// Token: 0x04006DEB RID: 28139
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DEB")]
|
||||
protected internal readonly ulong[] x;
|
||||
}
|
||||
}
|
||||
+408
@@ -0,0 +1,408 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Raw;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B7A RID: 7034
|
||||
[Token(Token = "0x2001B7A")]
|
||||
internal class SecT239K1Curve : AbstractF2mCurve
|
||||
{
|
||||
// Token: 0x0600ABE5 RID: 44005 RVA: 0x00253740 File Offset: 0x00251940
|
||||
[Token(Token = "0x600ABE5")]
|
||||
[Address(RVA = "0x7BC710", Offset = "0x7BB710", VA = "0x1807BC710")]
|
||||
public SecT239K1Curve()
|
||||
{
|
||||
int num = 0;
|
||||
int num2;
|
||||
int num3;
|
||||
SecT239K1Point secT239K1Point = new SecT239K1Point(this, num2, num3, num != 0);
|
||||
num3 = 0;
|
||||
num2 = 0;
|
||||
this.m_infinity = secT239K1Point;
|
||||
int fieldSize = this.FieldSize;
|
||||
this.m_a = fieldSize;
|
||||
int fieldSize2 = this.FieldSize;
|
||||
this.m_b = fieldSize2;
|
||||
byte[] array = Hex.Decode("2000000000000000000000000000005A79FEC67CB6E91F1C1DA800E478A5");
|
||||
BigInteger bigInteger = new BigInteger(1, array);
|
||||
this.m_order = bigInteger;
|
||||
BigInteger bigInteger2;
|
||||
this.m_cofactor = bigInteger2;
|
||||
this.m_coord = (int)((ulong)6L);
|
||||
}
|
||||
|
||||
// Token: 0x0600ABE6 RID: 44006 RVA: 0x002537B8 File Offset: 0x002519B8
|
||||
[Token(Token = "0x600ABE6")]
|
||||
[Address(RVA = "0x7BC040", Offset = "0x7BB040", VA = "0x1807BC040", Slot = "12")]
|
||||
protected override ECCurve CloneCurve()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABE6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239K1Curve::CloneCurve()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_1_01, ldc.i4:int32(0))
|
||||
stloc:SecT239K1Point(var_3_0F, newobj:SecT239K1Point(SecT239K1Point::.ctor, ldloc:SecT239K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_5), ldloc:int32[exp:ECFieldElement](var_4), ldloc:int32[exp:bool](var_1_01)))
|
||||
stloc:int32(var_4, ldc.i4:int32(0))
|
||||
stloc:int32(var_5, ldc.i4:int32(0))
|
||||
stfld:SecT239K1Point(SecT239K1Curve::m_infinity, ldloc:SecT239K1Curve(var_0), ldloc:SecT239K1Point(var_3_0F))
|
||||
stloc:int32(var_6_23, callvirtgetter:int32(SecT239K1Curve::get_FieldSize, ldloc:SecT239K1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_a, ldloc:SecT239K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_6_23))
|
||||
stloc:int32(var_7_33, callvirtgetter:int32(SecT239K1Curve::get_FieldSize, ldloc:SecT239K1Curve(var_0)))
|
||||
stfld:ECFieldElement(ECCurve::m_b, ldloc:SecT239K1Curve[exp:ECCurve](var_0), ldloc:int32[exp:ECFieldElement](var_7_33))
|
||||
stloc:uint8[](var_8_47, call:uint8[](Hex::Decode, ldstr:string("2000000000000000000000000000005A79FEC67CB6E91F1C1DA800E478A5")))
|
||||
stloc:BigInteger(var_9_51, newobj:BigInteger(BigInteger::.ctor, ldc.i4:int32(1), ldloc:uint8[](var_8_47)))
|
||||
stfld:BigInteger(ECCurve::m_order, ldloc:SecT239K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_9_51))
|
||||
stfld:BigInteger(ECCurve::m_cofactor, ldloc:SecT239K1Curve[exp:ECCurve](var_0), ldloc:BigInteger(var_10))
|
||||
stfld:int32(ECCurve::m_coord, ldloc:SecT239K1Curve[exp:ECCurve](var_0), 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: 0x0600ABE7 RID: 44007 RVA: 0x00253830 File Offset: 0x00251A30
|
||||
[Token(Token = "0x600ABE7")]
|
||||
[Address(RVA = "0x7BC700", Offset = "0x7BB700", VA = "0x1807BC700", Slot = "16")]
|
||||
public override bool SupportsCoordinateSystem(int coord)
|
||||
{
|
||||
return coord == 6;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABE8 RID: 44008 RVA: 0x00253844 File Offset: 0x00251A44
|
||||
[Token(Token = "0x600ABE8")]
|
||||
[Address(RVA = "0x7BC430", Offset = "0x7BB430", VA = "0x1807BC430", Slot = "15")]
|
||||
protected override ECMultiplier CreateDefaultMultiplier()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABE8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239K1Curve::CreateDefaultMultiplier()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:WTauNafMultiplier(var_0_05, 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: 0x17001B31 RID: 6961
|
||||
// (get) Token: 0x0600ABE9 RID: 44009 RVA: 0x00253858 File Offset: 0x00251A58
|
||||
[Token(Token = "0x17001B31")]
|
||||
public override ECPoint Infinity
|
||||
{
|
||||
[Token(Token = "0x600ABE9")]
|
||||
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710", Slot = "22")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABE9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239K1Curve::get_Infinity()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:SecT239K1Point(var_0_06, ldfld:SecT239K1Point(SecT239K1Curve::m_infinity, ldloc:SecT239K1Curve(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: 0x17001B32 RID: 6962
|
||||
// (get) Token: 0x0600ABEA RID: 44010 RVA: 0x0025386C File Offset: 0x00251A6C
|
||||
[Token(Token = "0x17001B32")]
|
||||
public override int FieldSize
|
||||
{
|
||||
[Token(Token = "0x600ABEA")]
|
||||
[Address(RVA = "0x7B9E90", Offset = "0x7B8E90", VA = "0x1807B9E90", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return 239;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABEB RID: 44011 RVA: 0x00253880 File Offset: 0x00251A80
|
||||
[Token(Token = "0x600ABEB")]
|
||||
[Address(RVA = "0x7BC5B0", Offset = "0x7BB5B0", VA = "0x1807BC5B0", Slot = "5")]
|
||||
public override ECFieldElement FromBigInteger(BigInteger x)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABEB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239K1Curve::FromBigInteger(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2F:
|
||||
stloc:ArgumentException(var_4_3E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("value invalid for SecT239FieldElement"), ldstr:string("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: 0x0600ABEC RID: 44012 RVA: 0x002538CC File Offset: 0x00251ACC
|
||||
[Token(Token = "0x600ABEC")]
|
||||
[Address(RVA = "0x7BC520", Offset = "0x7BB520", VA = "0x1807BC520", Slot = "13")]
|
||||
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABEC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239K1Curve::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:SecT239K1Point(var_0_09, newobj:SecT239K1Point(SecT239K1Point::.ctor, ldloc:SecT239K1Curve[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: 0x0600ABED RID: 44013 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600ABED")]
|
||||
[Address(RVA = "0x7BC480", Offset = "0x7BB480", VA = "0x1807BC480", 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: 0x17001B33 RID: 6963
|
||||
// (get) Token: 0x0600ABEE RID: 44014 RVA: 0x002538E4 File Offset: 0x00251AE4
|
||||
[Token(Token = "0x17001B33")]
|
||||
public override bool IsKoblitz
|
||||
{
|
||||
[Token(Token = "0x600ABEE")]
|
||||
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "39")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B34 RID: 6964
|
||||
// (get) Token: 0x0600ABEF RID: 44015 RVA: 0x002538F4 File Offset: 0x00251AF4
|
||||
[Token(Token = "0x17001B34")]
|
||||
public virtual int M
|
||||
{
|
||||
[Token(Token = "0x600ABEF")]
|
||||
[Address(RVA = "0x7B9E90", Offset = "0x7B8E90", VA = "0x1807B9E90", Slot = "40")]
|
||||
get
|
||||
{
|
||||
return 239;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B35 RID: 6965
|
||||
// (get) Token: 0x0600ABF0 RID: 44016 RVA: 0x00253908 File Offset: 0x00251B08
|
||||
[Token(Token = "0x17001B35")]
|
||||
public virtual bool IsTrinomial
|
||||
{
|
||||
[Token(Token = "0x600ABF0")]
|
||||
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "41")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B36 RID: 6966
|
||||
// (get) Token: 0x0600ABF1 RID: 44017 RVA: 0x00253918 File Offset: 0x00251B18
|
||||
[Token(Token = "0x17001B36")]
|
||||
public virtual int K1
|
||||
{
|
||||
[Token(Token = "0x600ABF1")]
|
||||
[Address(RVA = "0x7B9EC0", Offset = "0x7B8EC0", VA = "0x1807B9EC0", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return 158;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B37 RID: 6967
|
||||
// (get) Token: 0x0600ABF2 RID: 44018 RVA: 0x0025392C File Offset: 0x00251B2C
|
||||
[Token(Token = "0x17001B37")]
|
||||
public virtual int K2
|
||||
{
|
||||
[Token(Token = "0x600ABF2")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B38 RID: 6968
|
||||
// (get) Token: 0x0600ABF3 RID: 44019 RVA: 0x0025393C File Offset: 0x00251B3C
|
||||
[Token(Token = "0x17001B38")]
|
||||
public virtual int K3
|
||||
{
|
||||
[Token(Token = "0x600ABF3")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "44")]
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABF4 RID: 44020 RVA: 0x0025394C File Offset: 0x00251B4C
|
||||
[Token(Token = "0x600ABF4")]
|
||||
[Address(RVA = "0x7BC1D0", Offset = "0x7BB1D0", VA = "0x1807BC1D0", Slot = "29")]
|
||||
public override ECLookupTable CreateCacheSafeLookupTable(ECPoint[] points, int off, int len)
|
||||
{
|
||||
ulong[] array;
|
||||
int num;
|
||||
for (;;)
|
||||
{
|
||||
array = new ulong[points];
|
||||
num = 0;
|
||||
if (len <= 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
ECPoint ecpoint = points[off];
|
||||
ECFieldElement x = ecpoint.m_x;
|
||||
if (x != 0 && x != 0)
|
||||
{
|
||||
ECFieldElement y = ecpoint.m_y;
|
||||
if (y != 0 && y != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
num += 8;
|
||||
IL_49:
|
||||
SecT239K1Curve.SecT239K1LookupTable secT239K1LookupTable;
|
||||
secT239K1LookupTable.m_outer = 0;
|
||||
secT239K1LookupTable.m_table = array;
|
||||
secT239K1LookupTable.m_size = len;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DEC RID: 28140
|
||||
[Token(Token = "0x4006DEC")]
|
||||
private const int SECT239K1_DEFAULT_COORDS = 6;
|
||||
|
||||
// Token: 0x04006DED RID: 28141
|
||||
[Token(Token = "0x4006DED")]
|
||||
private const int SECT239K1_FE_LONGS = 4;
|
||||
|
||||
// Token: 0x04006DEE RID: 28142
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006DEE")]
|
||||
protected readonly SecT239K1Point m_infinity;
|
||||
|
||||
// Token: 0x02001B7B RID: 7035
|
||||
[Token(Token = "0x2001B7B")]
|
||||
private class SecT239K1LookupTable : ECLookupTable
|
||||
{
|
||||
// Token: 0x0600ABF5 RID: 44021 RVA: 0x002539C0 File Offset: 0x00251BC0
|
||||
[Token(Token = "0x600ABF5")]
|
||||
[Address(RVA = "0x6E7930", Offset = "0x6E6930", VA = "0x1806E7930")]
|
||||
internal SecT239K1LookupTable(SecT239K1Curve outer, ulong[] table, int size)
|
||||
{
|
||||
this.m_outer = outer;
|
||||
this.m_table = table;
|
||||
this.m_size = size;
|
||||
}
|
||||
|
||||
// Token: 0x17001B39 RID: 6969
|
||||
// (get) Token: 0x0600ABF6 RID: 44022 RVA: 0x002539E8 File Offset: 0x00251BE8
|
||||
[Token(Token = "0x17001B39")]
|
||||
public virtual int Size
|
||||
{
|
||||
[Token(Token = "0x600ABF6")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_size;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABF7 RID: 44023 RVA: 0x002539FC File Offset: 0x00251BFC
|
||||
[Token(Token = "0x600ABF7")]
|
||||
[Address(RVA = "0x7BC880", Offset = "0x7BB880", VA = "0x1807BC880", Slot = "7")]
|
||||
public virtual ECPoint Lookup(int index)
|
||||
{
|
||||
ulong[] array = Nat256.Create64();
|
||||
ulong[] array2 = Nat256.Create64();
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
if (this.m_size > num2)
|
||||
{
|
||||
int num3 = 0;
|
||||
ulong[] table = this.m_table;
|
||||
ulong[] table2 = this.m_table;
|
||||
num3++;
|
||||
num += 8;
|
||||
num2++;
|
||||
}
|
||||
SecT239K1Curve outer = this.m_outer;
|
||||
new SecT239FieldElement().x = array;
|
||||
new SecT239FieldElement().x = array2;
|
||||
ECCurve eccurve = outer.CloneCurve();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006DEF RID: 28143
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006DEF")]
|
||||
private readonly SecT239K1Curve m_outer;
|
||||
|
||||
// Token: 0x04006DF0 RID: 28144
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006DF0")]
|
||||
private readonly ulong[] m_table;
|
||||
|
||||
// Token: 0x04006DF1 RID: 28145
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006DF1")]
|
||||
private readonly int m_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
+296
@@ -0,0 +1,296 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec
|
||||
{
|
||||
// Token: 0x02001B7C RID: 7036
|
||||
[Token(Token = "0x2001B7C")]
|
||||
internal class SecT239K1Point : AbstractF2mPoint
|
||||
{
|
||||
// Token: 0x0600ABF8 RID: 44024 RVA: 0x00253A7C File Offset: 0x00251C7C
|
||||
[Token(Token = "0x600ABF8")]
|
||||
[Address(RVA = "0x7BDF80", Offset = "0x7BCF80", VA = "0x1807BDF80")]
|
||||
public SecT239K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ABF9 RID: 44025 RVA: 0x00253A8C File Offset: 0x00251C8C
|
||||
[Token(Token = "0x600ABF9")]
|
||||
[Address(RVA = "0x7BDEC0", Offset = "0x7BCEC0", VA = "0x1807BDEC0")]
|
||||
public SecT239K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABF9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239K1Point::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,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.
|
||||
{
|
||||
IL_11:
|
||||
stloc:ArgumentException(var_3_1B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Exactly one of the field elements is null")))
|
||||
}
|
||||
|
||||
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: 0x0600ABFA RID: 44026 RVA: 0x00253AB4 File Offset: 0x00251CB4
|
||||
[Token(Token = "0x600ABFA")]
|
||||
[Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")]
|
||||
internal SecT239K1Point(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ABFB RID: 44027 RVA: 0x00253AC4 File Offset: 0x00251CC4
|
||||
[Token(Token = "0x600ABFB")]
|
||||
[Address(RVA = "0x7BD240", Offset = "0x7BC240", VA = "0x1807BD240", Slot = "7")]
|
||||
protected override ECPoint Detach()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABFB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Custom.Sec.SecT239K1Point::Detach()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32(var_0_06, callvirtgetter:int32(ECPoint::get_CurveCoordinateSystem, ldloc:SecT239K1Point[exp:ECPoint](this)))
|
||||
stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:SecT239K1Point[exp:ECPoint](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: 0x17001B3A RID: 6970
|
||||
// (get) Token: 0x0600ABFC RID: 44028 RVA: 0x00253AE0 File Offset: 0x00251CE0
|
||||
[Token(Token = "0x17001B3A")]
|
||||
public override ECFieldElement YCoord
|
||||
{
|
||||
[Token(Token = "0x600ABFC")]
|
||||
[Address(RVA = "0x7BE020", Offset = "0x7BD020", VA = "0x1807BE020", Slot = "12")]
|
||||
get
|
||||
{
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement y = this.m_y;
|
||||
if (!base.IsInfinity && !x.IsOne)
|
||||
{
|
||||
int fieldSize = y.FieldSize;
|
||||
if (this.m_zs[0].BitLength == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B3B RID: 6971
|
||||
// (get) Token: 0x0600ABFD RID: 44029 RVA: 0x00253B30 File Offset: 0x00251D30
|
||||
[Token(Token = "0x17001B3B")]
|
||||
protected internal override bool CompressionYTilde
|
||||
{
|
||||
[Token(Token = "0x600ABFD")]
|
||||
[Address(RVA = "0x7BDFA0", Offset = "0x7BCFA0", VA = "0x1807BDFA0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement;
|
||||
ECFieldElement ecfieldElement2;
|
||||
return ecfieldElement != ecfieldElement2;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABFE RID: 44030 RVA: 0x00253B64 File Offset: 0x00251D64
|
||||
[Token(Token = "0x600ABFE")]
|
||||
[Address(RVA = "0x7BCA50", Offset = "0x7BBA50", VA = "0x1807BCA50", Slot = "26")]
|
||||
public override ECPoint Add(ECPoint b)
|
||||
{
|
||||
while (!base.IsInfinity && !b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
if (!x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
ECFieldElement[] zs2 = b.m_zs;
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
if (ecfieldElement.BitLength == 0)
|
||||
{
|
||||
ECFieldElement ecfieldElement3 = x2.Subtract(ecfieldElement);
|
||||
ECFieldElement ecfieldElement4 = y2.Subtract(ecfieldElement);
|
||||
}
|
||||
if (ecfieldElement2.BitLength != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ECFieldElement ecfieldElement5 = x.Subtract(ecfieldElement2);
|
||||
int fieldSize = y.Subtract(ecfieldElement2).FieldSize;
|
||||
int fieldSize2 = ecfieldElement5.FieldSize;
|
||||
if (fieldSize2 == 0)
|
||||
{
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
sbyte b3;
|
||||
sbyte b2 = b3;
|
||||
TypeCode typeCode = b2.GetTypeCode();
|
||||
int fieldSize3 = y.FieldSize;
|
||||
}
|
||||
bool flag2 = this.IsNormalized();
|
||||
ushort num;
|
||||
TypeCode typeCode2 = num.GetTypeCode();
|
||||
ushort num2;
|
||||
TypeCode typeCode3 = num2.GetTypeCode().GetTypeCode();
|
||||
short num3;
|
||||
TypeCode typeCode4 = num3.GetTypeCode();
|
||||
sbyte b4;
|
||||
TypeCode typeCode5 = b4.GetTypeCode().GetTypeCode();
|
||||
byte b5;
|
||||
TypeCode typeCode6 = b5.GetTypeCode();
|
||||
BigInteger one = BigInteger.One;
|
||||
int num4 = flag.CompareTo(one);
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
ECPoint ecpoint;
|
||||
if (ecpoint == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!x2.IsOne)
|
||||
{
|
||||
bool compressionYTilde = b.CompressionYTilde;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABFF RID: 44031 RVA: 0x00253CF4 File Offset: 0x00251EF4
|
||||
[Token(Token = "0x600ABFF")]
|
||||
[Address(RVA = "0x7BDA50", Offset = "0x7BCA50", VA = "0x1807BDA50", Slot = "30")]
|
||||
public override ECPoint Twice()
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
if (!this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
int bitLength = ecfieldElement.BitLength;
|
||||
if (bitLength != 0)
|
||||
{
|
||||
int fieldSize = y.Negate().FieldSize;
|
||||
}
|
||||
ECFieldElement ecfieldElement2 = ecfieldElement.Negate();
|
||||
int fieldSize2 = y.FieldSize;
|
||||
if (bitLength != 0)
|
||||
{
|
||||
}
|
||||
sbyte b2;
|
||||
sbyte b = b2;
|
||||
int fieldSize3 = y.FieldSize;
|
||||
ECFieldElement ecfieldElement3 = ecfieldElement2.Negate();
|
||||
ushort num;
|
||||
TypeCode typeCode = num.GetTypeCode().GetTypeCode();
|
||||
sbyte b3;
|
||||
TypeCode typeCode2 = b3.GetTypeCode().GetTypeCode().GetTypeCode();
|
||||
(new ECFieldElement[1])[0] = b;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AC00 RID: 44032 RVA: 0x00253DBC File Offset: 0x00251FBC
|
||||
[Token(Token = "0x600AC00")]
|
||||
[Address(RVA = "0x7BD490", Offset = "0x7BC490", VA = "0x1807BD490", Slot = "32")]
|
||||
public override ECPoint TwicePlus(ECPoint b)
|
||||
{
|
||||
if (!base.IsInfinity)
|
||||
{
|
||||
if (!b.IsInfinity)
|
||||
{
|
||||
bool flag = this.SatisfiesOrder();
|
||||
ECFieldElement x = this.m_x;
|
||||
if (x.IsOne)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
ECFieldElement[] zs = b.m_zs;
|
||||
ECFieldElement x2 = b.m_x;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
if (!x2.IsOne && ecfieldElement.BitLength != 0)
|
||||
{
|
||||
ECFieldElement[] zs2 = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement2 = zs2[0];
|
||||
ECFieldElement y2 = b.m_y;
|
||||
ECFieldElement ecfieldElement3 = x.Negate();
|
||||
ECFieldElement ecfieldElement4 = y.Negate();
|
||||
ECFieldElement ecfieldElement5 = ecfieldElement2.Negate();
|
||||
ECFieldElement ecfieldElement6 = y.Subtract(ecfieldElement2);
|
||||
int fieldSize = ecfieldElement4.FieldSize;
|
||||
ECFieldElement ecfieldElement7;
|
||||
int fieldSize2 = ecfieldElement7.Subtract(ecfieldElement5).FieldSize;
|
||||
int fieldSize3 = x2.Subtract(ecfieldElement5).FieldSize;
|
||||
decimal num;
|
||||
TypeCode typeCode = num.GetTypeCode();
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
throw new ArrayTypeMismatchException();
|
||||
}
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC01 RID: 44033 RVA: 0x00253ED8 File Offset: 0x002520D8
|
||||
[Token(Token = "0x600AC01")]
|
||||
[Address(RVA = "0x7BD2E0", Offset = "0x7BC2E0", VA = "0x1807BD2E0", Slot = "28")]
|
||||
public override ECPoint Negate()
|
||||
{
|
||||
if (!base.IsInfinity && !this.m_x.IsOne)
|
||||
{
|
||||
ECFieldElement[] zs = this.m_zs;
|
||||
ECFieldElement y = this.m_y;
|
||||
ECFieldElement ecfieldElement = zs[0];
|
||||
bool flag = this.SatisfiesOrder();
|
||||
int fieldSize = y.FieldSize;
|
||||
ECFieldElement[] array = new ECFieldElement[1];
|
||||
if (ecfieldElement != 0)
|
||||
{
|
||||
}
|
||||
array[0] = ecfieldElement;
|
||||
bool withCompression = this.m_withCompression;
|
||||
}
|
||||
throw new IndexOutOfRangeException();
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user