Files
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

613 lines
26 KiB
C#

using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
{
// Token: 0x02001ADA RID: 6874
[Token(Token = "0x2001ADA")]
public class F2mFieldElement : AbstractF2mFieldElement
{
// Token: 0x0600A498 RID: 42136 RVA: 0x0022F0BC File Offset: 0x0022D2BC
[Token(Token = "0x600A498")]
[Address(RVA = "0x7D9290", Offset = "0x7D8290", VA = "0x1807D9290")]
[Obsolete]
public F2mFieldElement(int m, int k1, int k2, int k3, BigInteger x)
{
do
{
base..ctor();
int num = 0;
if (k2 == 0)
{
this.representation = (int)((ulong)2L);
(new int[num])[0] = k1;
}
}
while (k2 <= 0);
this.representation = (int)((ulong)3L);
int[] array = new int[3];
array[0] = k1;
array[0] = k2;
this.ks = array;
this.m = m;
LongArray longArray;
this.x = longArray;
}
// Token: 0x0600A499 RID: 42137 RVA: 0x0022F138 File Offset: 0x0022D338
[Token(Token = "0x600A499")]
[Address(RVA = "0x7D9200", Offset = "0x7D8200", VA = "0x1807D9200")]
[Obsolete]
public F2mFieldElement(int m, int k, BigInteger x)
{
}
// Token: 0x0600A49A RID: 42138 RVA: 0x0022F14C File Offset: 0x0022D34C
[Token(Token = "0x600A49A")]
[Address(RVA = "0x7D9230", Offset = "0x7D8230", VA = "0x1807D9230")]
internal F2mFieldElement(int m, int[] ks, LongArray x)
{
this.m = m;
bool flag = ks.Length != 1;
this.representation = (flag ? 1 : 0);
this.ks = ks;
this.x = x;
}
// Token: 0x170019F8 RID: 6648
// (get) Token: 0x0600A49B RID: 42139 RVA: 0x0022F190 File Offset: 0x0022D390
[Token(Token = "0x170019F8")]
public override int BitLength
{
[Token(Token = "0x600A49B")]
[Address(RVA = "0x7D94C0", Offset = "0x7D84C0", VA = "0x1807D94C0", Slot = "16")]
get
{
return this.x.Degree();
}
}
// Token: 0x170019F9 RID: 6649
// (get) Token: 0x0600A49C RID: 42140 RVA: 0x0022F1B0 File Offset: 0x0022D3B0
[Token(Token = "0x170019F9")]
public override bool IsOne
{
[Token(Token = "0x600A49C")]
[Address(RVA = "0x7D9510", Offset = "0x7D8510", VA = "0x1807D9510", Slot = "17")]
get
{
return this.x.IsOne();
}
}
// Token: 0x170019FA RID: 6650
// (get) Token: 0x0600A49D RID: 42141 RVA: 0x0022F1D0 File Offset: 0x0022D3D0
[Token(Token = "0x170019FA")]
public override bool IsZero
{
[Token(Token = "0x600A49D")]
[Address(RVA = "0x7D9530", Offset = "0x7D8530", VA = "0x1807D9530", Slot = "18")]
get
{
return this.x.IsZero();
}
}
// Token: 0x0600A49E RID: 42142 RVA: 0x0022F1F0 File Offset: 0x0022D3F0
[Token(Token = "0x600A49E")]
[Address(RVA = "0x7D91C0", Offset = "0x7D81C0", VA = "0x1807D91C0", Slot = "24")]
public override bool TestBitZero()
{
return this.x.TestBitZero();
}
// Token: 0x0600A49F RID: 42143 RVA: 0x0022F210 File Offset: 0x0022D410
[Token(Token = "0x600A49F")]
[Address(RVA = "0x7D91E0", Offset = "0x7D81E0", VA = "0x1807D91E0", Slot = "4")]
public override BigInteger ToBigInteger()
{
return this.x.ToBigInteger();
}
// Token: 0x170019FB RID: 6651
// (get) Token: 0x0600A4A0 RID: 42144 RVA: 0x0022F230 File Offset: 0x0022D430
[Token(Token = "0x170019FB")]
public override string FieldName
{
[Token(Token = "0x600A4A0")]
[Address(RVA = "0x7D94E0", Offset = "0x7D84E0", VA = "0x1807D94E0", Slot = "5")]
get
{
return "F2m";
}
}
// Token: 0x170019FC RID: 6652
// (get) Token: 0x0600A4A1 RID: 42145 RVA: 0x0022F244 File Offset: 0x0022D444
[Token(Token = "0x170019FC")]
public override int FieldSize
{
[Token(Token = "0x600A4A1")]
[Address(RVA = "0x4936D0", Offset = "0x4926D0", VA = "0x1804936D0", Slot = "6")]
get
{
return this.m;
}
}
// Token: 0x0600A4A2 RID: 42146 RVA: 0x0022F258 File Offset: 0x0022D458
[Token(Token = "0x600A4A2")]
[Address(RVA = "0x7D8460", Offset = "0x7D7460", VA = "0x1807D8460")]
public static void CheckFieldElements(ECFieldElement a, ECFieldElement b)
{
/*
An exception occurred when decompiling this method (0600A4A2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mFieldElement::CheckFieldElements(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_26:
stloc:ArgumentException(var_5_30, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("Field elements are not elements of the same field F2m")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(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: 0x0600A4A3 RID: 42147 RVA: 0x0022F298 File Offset: 0x0022D498
[Token(Token = "0x600A4A3")]
[Address(RVA = "0x7D8330", Offset = "0x7D7330", VA = "0x1807D8330", Slot = "7")]
public override ECFieldElement Add(ECFieldElement b)
{
LongArray longArray;
do
{
longArray = this.x.Copy();
}
while (b == 0);
int num = this.m;
int[] array = this.ks;
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num;
bool flag = array.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.x = longArray;
f2mFieldElement.ks = array;
throw new NullReferenceException();
}
// Token: 0x0600A4A4 RID: 42148 RVA: 0x0022F2FC File Offset: 0x0022D4FC
[Token(Token = "0x600A4A4")]
[Address(RVA = "0x7D8280", Offset = "0x7D7280", VA = "0x1807D8280", Slot = "8")]
public override ECFieldElement AddOne()
{
LongArray longArray = this.x;
int num = this.m;
int[] array = this.ks;
LongArray longArray2 = longArray.AddOne();
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num;
bool flag = array.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.x = longArray2;
f2mFieldElement.ks = array;
throw new NullReferenceException();
}
// Token: 0x0600A4A5 RID: 42149 RVA: 0x0022F35C File Offset: 0x0022D55C
[Token(Token = "0x600A4A5")]
[Address(RVA = "0x7B9C20", Offset = "0x7B8C20", VA = "0x1807B9C20", Slot = "9")]
public override ECFieldElement Subtract(ECFieldElement b)
{
/*
An exception occurred when decompiling this method (0600A4A5)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mFieldElement::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:F2mFieldElement[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: 0x0600A4A6 RID: 42150 RVA: 0x0022F370 File Offset: 0x0022D570
[Token(Token = "0x600A4A6")]
[Address(RVA = "0x7D8C50", Offset = "0x7D7C50", VA = "0x1807D8C50", Slot = "10")]
public override ECFieldElement Multiply(ECFieldElement b)
{
int num;
int[] array;
do
{
num = this.m;
array = this.ks;
LongArray longArray = this.x;
}
while (b == 0 || b == 0);
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num;
bool flag = array.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.ks = array;
LongArray longArray2;
f2mFieldElement.x = longArray2;
throw new NullReferenceException();
}
// Token: 0x0600A4A7 RID: 42151 RVA: 0x0022F3D8 File Offset: 0x0022D5D8
[Token(Token = "0x600A4A7")]
[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 (0600A4A7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mFieldElement::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:F2mFieldElement[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: 0x0600A4A8 RID: 42152 RVA: 0x0022F3EC File Offset: 0x0022D5EC
[Token(Token = "0x600A4A8")]
[Address(RVA = "0x7D8960", Offset = "0x7D7960", VA = "0x1807D8960", Slot = "20")]
public override ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y)
{
LongArray longArray;
do
{
longArray = this.x;
}
while (b == 0 || b == 0 || x == 0 || x == 0 || y == 0 || y == 0);
LongArray longArray2;
if (longArray2 != longArray)
{
}
LongArray longArray3 = longArray2.Copy();
int num = 0;
LongArray longArray4;
longArray3.AddShiftedByWords(longArray4, num);
int[] array = this.ks;
int num2 = this.m;
longArray3.Reduce(num2, array);
int num3 = this.m;
int[] array2 = this.ks;
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num3;
bool flag = array2.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.ks = array2;
f2mFieldElement.x = longArray3;
throw new NullReferenceException();
}
// Token: 0x0600A4A9 RID: 42153 RVA: 0x0022F4AC File Offset: 0x0022D6AC
[Token(Token = "0x600A4A9")]
[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: 0x0600A4AA RID: 42154 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600A4AA")]
[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: 0x0600A4AB RID: 42155 RVA: 0x0022F4CC File Offset: 0x0022D6CC
[Token(Token = "0x600A4AB")]
[Address(RVA = "0x7D9110", Offset = "0x7D8110", VA = "0x1807D9110", Slot = "13")]
public override ECFieldElement Square()
{
LongArray longArray = this.x;
int num = this.m;
int[] array = this.ks;
LongArray longArray2 = longArray.ModSquare(num, array);
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num;
bool flag = array.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.x = longArray2;
f2mFieldElement.ks = array;
throw new NullReferenceException();
}
// Token: 0x0600A4AC RID: 42156 RVA: 0x0022F52C File Offset: 0x0022D72C
[Token(Token = "0x600A4AC")]
[Address(RVA = "0x7B98C0", Offset = "0x7B88C0", VA = "0x1807B98C0", Slot = "21")]
public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y)
{
/*
An exception occurred when decompiling this method (0600A4AC)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mFieldElement::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:F2mFieldElement[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: 0x0600A4AD RID: 42157 RVA: 0x0022F540 File Offset: 0x0022D740
[Token(Token = "0x600A4AD")]
[Address(RVA = "0x7D8E00", Offset = "0x7D7E00", VA = "0x1807D8E00", Slot = "22")]
public override ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y)
{
LongArray longArray;
do
{
longArray = this.x;
}
while (x == 0 || x == 0 || y == 0 || y == 0);
int[] array = this.ks;
int num = this.m;
LongArray longArray2 = longArray.Square(num, array);
LongArray longArray3;
if (longArray2 == longArray)
{
longArray3 = longArray2.Copy();
}
int num2 = 0;
LongArray longArray4;
longArray3.AddShiftedByWords(longArray4, num2);
int[] array2 = this.ks;
int num3 = this.m;
longArray3.Reduce(num3, array2);
int num4 = this.m;
int[] array3 = this.ks;
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num4;
bool flag = array3.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.ks = array3;
f2mFieldElement.x = longArray3;
throw new NullReferenceException();
}
// Token: 0x0600A4AE RID: 42158 RVA: 0x0022F60C File Offset: 0x0022D80C
[Token(Token = "0x600A4AE")]
[Address(RVA = "0x7D9040", Offset = "0x7D8040", VA = "0x1807D9040", Slot = "23")]
public override ECFieldElement SquarePow(int pow)
{
if (pow < 1)
{
}
LongArray longArray = this.x;
int[] array = this.ks;
int num = this.m;
LongArray longArray2 = longArray.ModSquareN(pow, num, array);
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num;
bool flag = array.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.ks = array;
f2mFieldElement.x = longArray2;
throw new NullReferenceException();
}
// Token: 0x0600A4AF RID: 42159 RVA: 0x0022F674 File Offset: 0x0022D874
[Token(Token = "0x600A4AF")]
[Address(RVA = "0x7D88B0", Offset = "0x7D78B0", VA = "0x1807D88B0", Slot = "14")]
public override ECFieldElement Invert()
{
LongArray longArray = this.x;
int num = this.m;
int[] array = this.ks;
LongArray longArray2 = longArray.ModInverse(num, array);
F2mFieldElement f2mFieldElement;
f2mFieldElement.m = num;
bool flag = array.Length != 1;
f2mFieldElement.representation = (flag ? 1 : 0);
f2mFieldElement.x = longArray2;
f2mFieldElement.ks = array;
throw new NullReferenceException();
}
// Token: 0x0600A4B0 RID: 42160 RVA: 0x0022F6D4 File Offset: 0x0022D8D4
[Token(Token = "0x600A4B0")]
[Address(RVA = "0x7D8DA0", Offset = "0x7D7DA0", VA = "0x1807D8DA0", Slot = "15")]
public override ECFieldElement Sqrt()
{
if (!this.x.IsZero() && !this.x.IsOne())
{
BigInteger bigInteger = base.ToBigInteger();
}
throw new NullReferenceException();
}
// Token: 0x170019FD RID: 6653
// (get) Token: 0x0600A4B1 RID: 42161 RVA: 0x0022F70C File Offset: 0x0022D90C
[Token(Token = "0x170019FD")]
public int Representation
{
[Token(Token = "0x600A4B1")]
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000")]
get
{
return this.representation;
}
}
// Token: 0x170019FE RID: 6654
// (get) Token: 0x0600A4B2 RID: 42162 RVA: 0x0022F720 File Offset: 0x0022D920
[Token(Token = "0x170019FE")]
public int M
{
[Token(Token = "0x600A4B2")]
[Address(RVA = "0x4936D0", Offset = "0x4926D0", VA = "0x1804936D0")]
get
{
return this.m;
}
}
// Token: 0x170019FF RID: 6655
// (get) Token: 0x0600A4B3 RID: 42163 RVA: 0x0022F734 File Offset: 0x0022D934
[Token(Token = "0x170019FF")]
public int K1
{
[Token(Token = "0x600A4B3")]
[Address(RVA = "0x7D9550", Offset = "0x7D8550", VA = "0x1807D9550")]
get
{
return this.ks[0];
}
}
// Token: 0x17001A00 RID: 6656
// (get) Token: 0x0600A4B4 RID: 42164 RVA: 0x0022F754 File Offset: 0x0022D954
[Token(Token = "0x17001A00")]
public int K2
{
[Token(Token = "0x600A4B4")]
[Address(RVA = "0x7D9590", Offset = "0x7D8590", VA = "0x1807D9590")]
get
{
int[] array = this.ks;
int length = array.Length;
return array[0];
}
}
// Token: 0x17001A01 RID: 6657
// (get) Token: 0x0600A4B5 RID: 42165 RVA: 0x0022F780 File Offset: 0x0022D980
[Token(Token = "0x17001A01")]
public int K3
{
[Token(Token = "0x600A4B5")]
[Address(RVA = "0x7D95E0", Offset = "0x7D85E0", VA = "0x1807D95E0")]
get
{
int[] array = this.ks;
int length = array.Length;
return array[1];
}
}
// Token: 0x0600A4B6 RID: 42166 RVA: 0x0022F7AC File Offset: 0x0022D9AC
[Token(Token = "0x600A4B6")]
[Address(RVA = "0x7D8690", Offset = "0x7D7690", VA = "0x1807D8690", Slot = "0")]
public override bool Equals(object obj)
{
if (obj != this)
{
if (obj != 0 && obj != 0)
{
BigInteger bigInteger = base.ToBigInteger();
}
}
return true;
}
// Token: 0x0600A4B7 RID: 42167 RVA: 0x0022F7D4 File Offset: 0x0022D9D4
[Token(Token = "0x600A4B7")]
[Address(RVA = "0x7D8740", Offset = "0x7D7740", VA = "0x1807D8740", Slot = "29")]
public virtual bool Equals(F2mFieldElement other)
{
int num = other.m;
if (this.m == num)
{
int num2 = other.representation;
if (this.representation == num2)
{
int[] array = other.ks;
if (Arrays.AreEqual(this.ks, array))
{
LongArray longArray = this.x;
}
}
}
throw new NullReferenceException();
}
// Token: 0x0600A4B8 RID: 42168 RVA: 0x0022F828 File Offset: 0x0022DA28
[Token(Token = "0x600A4B8")]
[Address(RVA = "0x7D8810", Offset = "0x7D7810", VA = "0x1807D8810", Slot = "2")]
public override int GetHashCode()
{
this.x.Finalize();
return Arrays.GetHashCode(this.ks);
}
// Token: 0x04006C41 RID: 27713
[Token(Token = "0x4006C41")]
public const int Gnb = 1;
// Token: 0x04006C42 RID: 27714
[Token(Token = "0x4006C42")]
public const int Tpb = 2;
// Token: 0x04006C43 RID: 27715
[Token(Token = "0x4006C43")]
public const int Ppb = 3;
// Token: 0x04006C44 RID: 27716
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006C44")]
private int representation;
// Token: 0x04006C45 RID: 27717
[FieldOffset(Offset = "0x14")]
[Token(Token = "0x4006C45")]
private int m;
// Token: 0x04006C46 RID: 27718
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006C46")]
private int[] ks;
// Token: 0x04006C47 RID: 27719
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006C47")]
internal LongArray x;
}
}