Files
Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Math/EC/ECAlgorithms.cs
T
2026-04-10 22:50:51 +02:00

689 lines
31 KiB
C#

using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Endo;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Field;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
{
// Token: 0x020019ED RID: 6637
[Token(Token = "0x20019ED")]
public class ECAlgorithms
{
// Token: 0x0600A016 RID: 40982 RVA: 0x00223200 File Offset: 0x00221400
[Token(Token = "0x600A016")]
[Address(RVA = "0x209B680", Offset = "0x209A480", VA = "0x18209B680")]
public static bool IsF2mCurve(ECCurve c)
{
ECPoint infinity = c.Infinity;
if (infinity > (ulong)1L)
{
int num = 0;
if (num < infinity)
{
num += num;
num++;
}
bool flag;
return flag;
}
throw new NullReferenceException();
}
// Token: 0x0600A017 RID: 40983 RVA: 0x00223234 File Offset: 0x00221434
[Token(Token = "0x600A017")]
[Address(RVA = "0x209B7E0", Offset = "0x209A5E0", VA = "0x18209B7E0")]
public static bool IsF2mField(IFiniteField field)
{
int num = 0;
if (num < field)
{
num += num;
num++;
}
bool flag;
return flag;
}
// Token: 0x0600A018 RID: 40984 RVA: 0x00223258 File Offset: 0x00221458
[Token(Token = "0x600A018")]
[Address(RVA = "0x209B920", Offset = "0x209A720", VA = "0x18209B920")]
public static bool IsFpCurve(ECCurve c)
{
return c.Infinity == (ulong)1L;
}
// Token: 0x0600A019 RID: 40985 RVA: 0x00223278 File Offset: 0x00221478
[Token(Token = "0x600A019")]
[Address(RVA = "0x209B990", Offset = "0x209A790", VA = "0x18209B990")]
public static bool IsFpField(IFiniteField field)
{
bool flag;
return flag;
}
// Token: 0x0600A01A RID: 40986 RVA: 0x0022328C File Offset: 0x0022148C
[Token(Token = "0x600A01A")]
[Address(RVA = "0x209BFA0", Offset = "0x209ADA0", VA = "0x18209BFA0")]
public static ECPoint SumOfMultiplies(ECPoint[] ps, BigInteger[] ks)
{
/*
An exception occurred when decompiling this method (0600A01A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECAlgorithms::SumOfMultiplies(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint[],BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_A6:
stloc:ArgumentException(var_13_B0, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("point and scalar arrays should be non-null, and of equal, non-zero, length")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x0600A01B RID: 40987 RVA: 0x0022334C File Offset: 0x0022154C
[Token(Token = "0x600A01B")]
[Address(RVA = "0x209C2C0", Offset = "0x209B0C0", VA = "0x18209C2C0")]
public static ECPoint SumOfTwoMultiplies(ECPoint P, BigInteger a, ECPoint Q, BigInteger b)
{
bool flag = P.SatisfiesOrder();
ECPoint ecpoint3;
if (flag)
{
ECPoint ecpoint = P.Twice();
ECPoint ecpoint2 = ecpoint3.Twice();
bool compressionYTilde = ecpoint.CompressionYTilde;
ECPoint ecpoint4;
return ecpoint4;
}
ECPoint ecpoint5 = ECAlgorithms.ImplShamirsTrickWNaf(P, a, ecpoint3, b);
ECPoint[] array = new ECPoint[2];
array[0] = P;
if (ecpoint3 != 0)
{
}
array[1] = ecpoint3;
BigInteger[] array2 = new BigInteger[2];
if (a != 0)
{
}
array2[0] = a;
if (b != 0)
{
}
array2[1] = b;
throw new NullReferenceException();
}
// Token: 0x0600A01C RID: 40988 RVA: 0x002233D0 File Offset: 0x002215D0
[Token(Token = "0x600A01C")]
[Address(RVA = "0x209BF10", Offset = "0x209AD10", VA = "0x18209BF10")]
public static ECPoint ShamirsTrick(ECPoint P, BigInteger k, ECPoint Q, BigInteger l)
{
bool flag = P.SatisfiesOrder();
ECPoint ecpoint;
return ECAlgorithms.ImplCheckResult(ECAlgorithms.ImplShamirsTrickJsf(P, k, ecpoint, l));
}
// Token: 0x0600A01D RID: 40989 RVA: 0x002233F8 File Offset: 0x002215F8
[Token(Token = "0x600A01D")]
[Address(RVA = "0x209B5C0", Offset = "0x209A3C0", VA = "0x18209B5C0")]
public static ECPoint ImportPoint(ECCurve c, ECPoint p)
{
/*
An exception occurred when decompiling this method (0600A01D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECAlgorithms::ImportPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_16:
stloc:ArgumentException(var_1_20, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Point must be on the same curve")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(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: 0x0600A01E RID: 40990 RVA: 0x00223428 File Offset: 0x00221628
[Token(Token = "0x600A01E")]
[Address(RVA = "0x209BDB0", Offset = "0x209ABB0", VA = "0x18209BDB0")]
public static void MontgomeryTrick(ECFieldElement[] zs, int off, int len)
{
int num = 0;
ECAlgorithms.MontgomeryTrick(zs, off, len, num);
}
// Token: 0x0600A01F RID: 40991 RVA: 0x00223440 File Offset: 0x00221640
[Token(Token = "0x600A01F")]
[Address(RVA = "0x209B9E0", Offset = "0x209A7E0", VA = "0x18209B9E0")]
public static void MontgomeryTrick(ECFieldElement[] zs, int off, int len, ECFieldElement scale)
{
ECFieldElement[] array = new ECFieldElement[off];
ECFieldElement ecfieldElement;
if (ecfieldElement != 0)
{
}
array[0] = ecfieldElement;
ECFieldElement ecfieldElement4;
if (len > 1)
{
ECFieldElement ecfieldElement2 = array[array];
ECFieldElement ecfieldElement3 = zs[off];
ecfieldElement4 = ecfieldElement2.Subtract(ecfieldElement3);
if (ecfieldElement4 != 0)
{
}
array[0] = ecfieldElement4;
}
ECFieldElement ecfieldElement5;
if (scale != 0)
{
ecfieldElement5 = array[ecfieldElement4].Subtract(scale);
if (ecfieldElement5 != 0)
{
}
array[0] = ecfieldElement5;
}
ECFieldElement ecfieldElement6 = array[ecfieldElement4].Square();
if (ecfieldElement4 > 0)
{
ECFieldElement ecfieldElement7 = zs[ecfieldElement5];
ECFieldElement ecfieldElement8 = array[ecfieldElement4].Subtract(ecfieldElement6);
if (ecfieldElement8 != 0)
{
}
zs[0] = ecfieldElement8;
ECFieldElement ecfieldElement9 = ecfieldElement6.Subtract(ecfieldElement7);
}
if (ecfieldElement6 != 0)
{
}
}
// Token: 0x0600A020 RID: 40992 RVA: 0x00223500 File Offset: 0x00221700
[Token(Token = "0x600A020")]
[Address(RVA = "0x209BDD0", Offset = "0x209ABD0", VA = "0x18209BDD0")]
public static ECPoint ReferenceMultiply(ECPoint p, BigInteger k)
{
BigInteger bigInteger = k.Abs();
bool flag = p.SatisfiesOrder();
int bitLength = bigInteger.BitLength;
if (bitLength > 0)
{
int num = 0;
bool flag2 = bigInteger.TestBit(num);
if (bitLength > 1 && bigInteger.TestBit(1))
{
bool compressionYTilde = p.CompressionYTilde;
}
}
if (k.sign < 0)
{
ECPoint ecpoint;
return ecpoint;
}
throw new NullReferenceException();
}
// Token: 0x0600A021 RID: 40993 RVA: 0x0022355C File Offset: 0x0022175C
[Token(Token = "0x600A021")]
[Address(RVA = "0x209C5D0", Offset = "0x209B3D0", VA = "0x18209C5D0")]
public static ECPoint ValidatePoint(ECPoint p)
{
/*
An exception occurred when decompiling this method (0600A021)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECAlgorithms::ValidatePoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_15:
stloc:InvalidOperationException(var_1_1F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Invalid point")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.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: 0x0600A022 RID: 40994 RVA: 0x00223588 File Offset: 0x00221788
[Token(Token = "0x600A022")]
[Address(RVA = "0x20994C0", Offset = "0x20982C0", VA = "0x1820994C0")]
public static ECPoint CleanPoint(ECCurve c, ECPoint p)
{
/*
An exception occurred when decompiling this method (0600A022)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECAlgorithms::CleanPoint(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECCurve,BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_18:
stloc:ArgumentException(var_3_27, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Point must be on the same curve"), ldstr:string("p")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(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: 0x0600A023 RID: 40995 RVA: 0x002235BC File Offset: 0x002217BC
[Token(Token = "0x600A023")]
[Address(RVA = "0x20995A0", Offset = "0x20983A0", VA = "0x1820995A0")]
internal static ECPoint ImplCheckResult(ECPoint p)
{
/*
An exception occurred when decompiling this method (0600A023)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECAlgorithms::ImplCheckResult(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_17:
stloc:InvalidOperationException(var_2_21, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Invalid result")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(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: 0x0600A024 RID: 40996 RVA: 0x002235EC File Offset: 0x002217EC
[Token(Token = "0x600A024")]
[Address(RVA = "0x2099620", Offset = "0x2098420", VA = "0x182099620")]
internal static ECPoint ImplShamirsTrickJsf(ECPoint P, BigInteger k, ECPoint Q, BigInteger l)
{
bool flag = P.SatisfiesOrder();
bool compressionYTilde = P.CompressionYTilde;
ECPoint ecpoint = P.Add(Q);
ECPoint[] array = new ECPoint[4];
if (Q != 0)
{
}
array[0] = Q;
if (ecpoint != 0)
{
}
array[1] = ecpoint;
array[2] = P;
if (compressionYTilde)
{
}
array[3] = compressionYTilde;
ECPoint[] array2 = new ECPoint[9];
ECPoint ecpoint2 = array[3];
ECPoint ecpoint3;
if (ecpoint3 != 0)
{
}
array2[0] = ecpoint3;
ECPoint ecpoint4 = array[2];
ECPoint ecpoint5;
if (ecpoint5 != 0)
{
}
array2[1] = ecpoint5;
ECPoint ecpoint6 = array[1];
ECPoint ecpoint7;
if (ecpoint7 != 0)
{
}
array2[2] = ecpoint7;
ECPoint ecpoint8 = array[0];
ECPoint ecpoint9;
if (ecpoint9 != 0)
{
}
array2[3] = ecpoint9;
object obj;
if (obj != 0)
{
}
array2[4] = obj;
ECPoint ecpoint10 = array[0];
if (ecpoint10 != 0)
{
}
array2[5] = ecpoint10;
ECPoint ecpoint11 = array[1];
if (ecpoint11 != 0)
{
}
array2[6] = ecpoint11;
ECPoint ecpoint12 = array[2];
if (ecpoint12 != 0)
{
}
array2[7] = ecpoint12;
ECPoint ecpoint13 = array[3];
if (ecpoint13 != 0)
{
}
array2[8] = ecpoint13;
byte[] array3;
int length = array3.Length;
throw new NullReferenceException();
}
// Token: 0x0600A025 RID: 40997 RVA: 0x00223738 File Offset: 0x00221938
[Token(Token = "0x600A025")]
[Address(RVA = "0x209A320", Offset = "0x2099120", VA = "0x18209A320")]
internal static ECPoint ImplShamirsTrickWNaf(ECPoint P, BigInteger k, ECPoint Q, BigInteger l)
{
int sign = k.sign;
int sign2 = l.sign;
BigInteger bigInteger = k.Abs();
BigInteger bigInteger2 = l.Abs();
int num = bigInteger.BitLength;
num = WNafUtilities.GetWindowSize(num);
num = Math.Min(16, num);
int num2 = Math.Max(2, num);
num = num2;
int num3 = WNafUtilities.GetWindowSize(bigInteger2.BitLength);
num3 = Math.Min(16, num3);
int num4 = Math.Max(2, num3);
num3 = num;
WNafPreCompInfo wnafPreCompInfo = WNafUtilities.Precompute(P, num3, true);
WNafPreCompInfo wnafPreCompInfo2 = WNafUtilities.Precompute(Q, num4, true);
if (sign != 0)
{
}
string text = wnafPreCompInfo.ToString();
if (sign2 != 0)
{
}
string text2 = wnafPreCompInfo2.ToString();
if (sign != 0)
{
string text3 = wnafPreCompInfo.ToString();
}
if (sign2 != 0)
{
string text4 = wnafPreCompInfo2.ToString();
}
byte[] array = WNafUtilities.GenerateWindowNaf(num2, bigInteger);
byte[] array2 = WNafUtilities.GenerateWindowNaf(num4, bigInteger2);
ECPoint ecpoint;
return ecpoint;
}
// Token: 0x0600A026 RID: 40998 RVA: 0x00223818 File Offset: 0x00221A18
[Token(Token = "0x600A026")]
[Address(RVA = "0x209A070", Offset = "0x2098E70", VA = "0x18209A070")]
internal static ECPoint ImplShamirsTrickWNaf(ECPoint P, BigInteger k, ECPointMap pointMapQ, BigInteger l)
{
int sign = k.sign;
int sign2 = l.sign;
BigInteger bigInteger = k.Abs();
BigInteger bigInteger2 = l.Abs();
int num = bigInteger.BitLength;
int bitLength = bigInteger2.BitLength;
num = Math.Max(num, bitLength);
int num2 = WNafUtilities.GetWindowSize(num);
num2 = Math.Min(16, num2);
int num3 = Math.Max(2, num2);
num2 = num3;
ECPoint ecpoint = WNafUtilities.MapPointWithPrecomp(P, num2, true, pointMapQ);
WNafPreCompInfo wnafPreCompInfo = WNafUtilities.GetWNafPreCompInfo(P);
WNafPreCompInfo wnafPreCompInfo2 = WNafUtilities.GetWNafPreCompInfo(ecpoint);
if (sign != 0)
{
}
string text = wnafPreCompInfo.ToString();
if (sign2 != 0)
{
}
string text2 = wnafPreCompInfo2.ToString();
if (sign != 0)
{
string text3 = wnafPreCompInfo.ToString();
}
if (sign2 != 0)
{
string text4 = wnafPreCompInfo2.ToString();
}
byte[] array = WNafUtilities.GenerateWindowNaf(num3, bigInteger);
byte[] array2 = WNafUtilities.GenerateWindowNaf(num3, bigInteger2);
ECPoint ecpoint2;
return ecpoint2;
}
// Token: 0x0600A027 RID: 40999 RVA: 0x002238EC File Offset: 0x00221AEC
[Token(Token = "0x600A027")]
[Address(RVA = "0x2099D50", Offset = "0x2098B50", VA = "0x182099D50")]
private static ECPoint ImplShamirsTrickWNaf(ECPoint[] preCompP, ECPoint[] preCompNegP, byte[] wnafP, ECPoint[] preCompQ, ECPoint[] preCompNegQ, byte[] wnafQ)
{
int length = wnafP.Length;
bool flag = preCompP[0].SatisfiesOrder();
int num = 0;
int num2;
if (num2 < wnafP.Length)
{
}
int num3 = 0;
int num4 = 0;
if (num3 != 0)
{
}
if (num4 != 0)
{
}
int num5;
if (num > 0)
{
num5 = 0;
}
num5++;
if (num5 > 0)
{
}
throw new NullReferenceException();
}
// Token: 0x0600A028 RID: 41000 RVA: 0x00223944 File Offset: 0x00221B44
[Token(Token = "0x600A028")]
[Address(RVA = "0x209B340", Offset = "0x209A140", VA = "0x18209B340")]
internal static ECPoint ImplSumOfMultiplies(ECPoint[] ps, BigInteger[] ks)
{
int length = ps.Length;
bool[] array = new bool[length];
WNafPreCompInfo[] array2 = new WNafPreCompInfo[length];
byte[][] array3 = new byte[length][];
if (length > 0)
{
BigInteger bigInteger;
int sign = bigInteger.sign;
BigInteger bigInteger2 = bigInteger.Abs();
int num = bigInteger2.BitLength;
num = WNafUtilities.GetWindowSize(num);
num = Math.Min(16, num);
int num2 = Math.Max(2, num);
throw new ArrayTypeMismatchException();
}
return ECAlgorithms.ImplSumOfMultiplies(array, array2, array3);
}
// Token: 0x0600A029 RID: 41001 RVA: 0x002239EC File Offset: 0x00221BEC
[Token(Token = "0x600A029")]
[Address(RVA = "0x209A5E0", Offset = "0x20993E0", VA = "0x18209A5E0")]
internal static ECPoint ImplSumOfMultipliesGlv(ECPoint[] ps, BigInteger[] ks, GlvEndomorphism glvEndomorphism)
{
bool flag = ps[0].SatisfiesOrder();
int length = ps.Length;
BigInteger[] array = new BigInteger[0];
int num = 0;
int num2 = 0;
BigInteger bigInteger = ks[num];
int num3 = 0;
int num4 = 0;
if (num4 < num3)
{
num4 += num4;
num4++;
}
num2++;
if (flag)
{
}
array[0] = flag;
num2++;
if (num4 != 0)
{
}
num++;
array[0] = num4;
num2 += 19;
int num5 = 0;
num5 += num5;
num5++;
num5 += num5;
num5++;
if (num5 == 0)
{
ECPoint[] array2 = new ECPoint[0];
ECPoint ecpoint = ps[num5];
uint num6;
if (num5 < (int)num6)
{
num5 += num5;
num5++;
}
num5++;
if (ecpoint != 0)
{
}
array2[0] = ecpoint;
num5++;
if (num5 != 0)
{
}
num5++;
array2[0] = num5;
num5 += 19;
num5++;
num5 += 19;
num5 += 19;
return ECAlgorithms.ImplSumOfMultiplies(array2, array);
}
throw new NullReferenceException();
}
// Token: 0x0600A02A RID: 41002 RVA: 0x00223B10 File Offset: 0x00221D10
[Token(Token = "0x600A02A")]
[Address(RVA = "0x209AF60", Offset = "0x2099D60", VA = "0x18209AF60")]
internal static ECPoint ImplSumOfMultiplies(ECPoint[] ps, ECPointMap pointMap, BigInteger[] ks)
{
int length = ps.Length;
bool[] array = new bool[ps];
WNafPreCompInfo[] array2 = new WNafPreCompInfo[ps];
byte[][] array3 = new byte[ps][];
if (length > 0)
{
BigInteger bigInteger2;
BigInteger bigInteger = bigInteger2.Abs();
BigInteger bigInteger4;
BigInteger bigInteger3 = bigInteger4.Abs();
int num = bigInteger.BitLength;
int num2 = bigInteger3.BitLength;
num2 = Math.Max(num, num2);
int num3 = WNafUtilities.GetWindowSize(num2);
num3 = Math.Min(16, num3);
num = Math.Max(2, num3);
throw new ArrayTypeMismatchException();
}
return ECAlgorithms.ImplSumOfMultiplies(array, array2, array3);
}
// Token: 0x0600A02B RID: 41003 RVA: 0x00223C04 File Offset: 0x00221E04
[Token(Token = "0x600A02B")]
[Address(RVA = "0x209ABB0", Offset = "0x20999B0", VA = "0x18209ABB0")]
private static ECPoint ImplSumOfMultiplies(bool[] negs, WNafPreCompInfo[] infos, byte[][] wnafs)
{
int num = 0;
int length = wnafs.Length;
int num2 = 0;
int num3;
if (length > 0)
{
int length2 = wnafs[num2].Length;
num3 = Math.Max(num, length2);
num2++;
}
string text = infos[0].ToString();
int num4 = 0;
int num5 = num3 - 1;
int num6 = 0;
int num7;
if (length > 0)
{
byte[] array = wnafs[num6];
if (num5 < array.Length && num3 != 0)
{
bool flag = negs[num6];
if (num3 == (flag ? 1 : 0))
{
}
}
num6++;
if (num4 > 0)
{
num7 = 0;
}
}
num7++;
if (num7 > 0)
{
}
throw new NullReferenceException();
}
// Token: 0x0600A02C RID: 41004 RVA: 0x00223CA8 File Offset: 0x00221EA8
[Token(Token = "0x600A02C")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public ECAlgorithms()
{
}
}
}