using System; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC { // Token: 0x0200141D RID: 5149 [Token(Token = "0x200141D")] [StructLayout(3)] public class F2mFieldElement : AbstractF2mFieldElement { // Token: 0x060084F0 RID: 34032 RVA: 0x001CEA84 File Offset: 0x001CCC84 [Token(Token = "0x60084F0")] [Address(RVA = "0x21A75B0", Offset = "0x21A5FB0", VA = "0x1821A75B0")] [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: 0x060084F1 RID: 34033 RVA: 0x001CEB00 File Offset: 0x001CCD00 [Token(Token = "0x60084F1")] [Address(RVA = "0x21A7520", Offset = "0x21A5F20", VA = "0x1821A7520")] [Obsolete] public F2mFieldElement(int m, int k, BigInteger x) { } // Token: 0x060084F2 RID: 34034 RVA: 0x001CEB14 File Offset: 0x001CCD14 [Token(Token = "0x60084F2")] [Address(RVA = "0x21A7550", Offset = "0x21A5F50", VA = "0x1821A7550")] 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: 0x1700155A RID: 5466 // (get) Token: 0x060084F3 RID: 34035 RVA: 0x001CEB58 File Offset: 0x001CCD58 [Token(Token = "0x1700155A")] public override int BitLength { [Token(Token = "0x60084F3")] [Address(RVA = "0x21A77E0", Offset = "0x21A61E0", VA = "0x1821A77E0", Slot = "16")] get { return this.x.Degree(); } } // Token: 0x1700155B RID: 5467 // (get) Token: 0x060084F4 RID: 34036 RVA: 0x001CEB78 File Offset: 0x001CCD78 [Token(Token = "0x1700155B")] public override bool IsOne { [Token(Token = "0x60084F4")] [Address(RVA = "0x21A7830", Offset = "0x21A6230", VA = "0x1821A7830", Slot = "17")] get { return this.x.IsOne(); } } // Token: 0x1700155C RID: 5468 // (get) Token: 0x060084F5 RID: 34037 RVA: 0x001CEB98 File Offset: 0x001CCD98 [Token(Token = "0x1700155C")] public override bool IsZero { [Token(Token = "0x60084F5")] [Address(RVA = "0x21A7850", Offset = "0x21A6250", VA = "0x1821A7850", Slot = "18")] get { return this.x.IsZero(); } } // Token: 0x060084F6 RID: 34038 RVA: 0x001CEBB8 File Offset: 0x001CCDB8 [Token(Token = "0x60084F6")] [Address(RVA = "0x21A74E0", Offset = "0x21A5EE0", VA = "0x1821A74E0", Slot = "24")] public override bool TestBitZero() { return this.x.TestBitZero(); } // Token: 0x060084F7 RID: 34039 RVA: 0x001CEBD8 File Offset: 0x001CCDD8 [Token(Token = "0x60084F7")] [Address(RVA = "0x21A7500", Offset = "0x21A5F00", VA = "0x1821A7500", Slot = "4")] public override BigInteger ToBigInteger() { return this.x.ToBigInteger(); } // Token: 0x1700155D RID: 5469 // (get) Token: 0x060084F8 RID: 34040 RVA: 0x001CEBF8 File Offset: 0x001CCDF8 [Token(Token = "0x1700155D")] public override string FieldName { [Token(Token = "0x60084F8")] [Address(RVA = "0x21A7800", Offset = "0x21A6200", VA = "0x1821A7800", Slot = "5")] get { return "F2m"; } } // Token: 0x1700155E RID: 5470 // (get) Token: 0x060084F9 RID: 34041 RVA: 0x001CEC0C File Offset: 0x001CCE0C [Token(Token = "0x1700155E")] public override int FieldSize { [Token(Token = "0x60084F9")] [Address(RVA = "0x55D550", Offset = "0x55BF50", VA = "0x18055D550", Slot = "6")] get { return this.m; } } // Token: 0x060084FA RID: 34042 RVA: 0x001CEC20 File Offset: 0x001CCE20 [Token(Token = "0x60084FA")] [Address(RVA = "0x21A66F0", Offset = "0x21A50F0", VA = "0x1821A66F0")] public static void CheckFieldElements(ECFieldElement a, ECFieldElement b) { /* An exception occurred when decompiling this method (060084FA) 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: 0x060084FB RID: 34043 RVA: 0x001CEC60 File Offset: 0x001CCE60 [Token(Token = "0x60084FB")] [Address(RVA = "0x21A65C0", Offset = "0x21A4FC0", VA = "0x1821A65C0", 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: 0x060084FC RID: 34044 RVA: 0x001CECC4 File Offset: 0x001CCEC4 [Token(Token = "0x60084FC")] [Address(RVA = "0x21A6510", Offset = "0x21A4F10", VA = "0x1821A6510", 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: 0x060084FD RID: 34045 RVA: 0x001CED24 File Offset: 0x001CCF24 [Token(Token = "0x60084FD")] [Address(RVA = "0x199F810", Offset = "0x199E210", VA = "0x18199F810", Slot = "9")] public override ECFieldElement Subtract(ECFieldElement b) { /* An exception occurred when decompiling this method (060084FD) 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: 0x060084FE RID: 34046 RVA: 0x001CED38 File Offset: 0x001CCF38 [Token(Token = "0x60084FE")] [Address(RVA = "0x21A6F50", Offset = "0x21A5950", VA = "0x1821A6F50", 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: 0x060084FF RID: 34047 RVA: 0x001CEDA0 File Offset: 0x001CCFA0 [Token(Token = "0x60084FF")] [Address(RVA = "0x21A6C40", Offset = "0x21A5640", VA = "0x1821A6C40", Slot = "19")] public override ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y) { /* An exception occurred when decompiling this method (060084FF) 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: 0x06008500 RID: 34048 RVA: 0x001CEDB4 File Offset: 0x001CCFB4 [Token(Token = "0x6008500")] [Address(RVA = "0x21A6C60", Offset = "0x21A5660", VA = "0x1821A6C60", 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: 0x06008501 RID: 34049 RVA: 0x001CEE74 File Offset: 0x001CD074 [Token(Token = "0x6008501")] [Address(RVA = "0x21A6920", Offset = "0x21A5320", VA = "0x1821A6920", Slot = "11")] public override ECFieldElement Divide(ECFieldElement b) { ECFieldElement ecfieldElement = b.Square(); BigInteger bigInteger = base.ToBigInteger(); throw new NullReferenceException(); } // Token: 0x06008502 RID: 34050 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6008502")] [Address(RVA = "0x518E70", Offset = "0x517870", VA = "0x180518E70", Slot = "12")] public override ECFieldElement Negate() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06008503 RID: 34051 RVA: 0x001CEE94 File Offset: 0x001CD094 [Token(Token = "0x6008503")] [Address(RVA = "0x21A7430", Offset = "0x21A5E30", VA = "0x1821A7430", 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: 0x06008504 RID: 34052 RVA: 0x001CEEF4 File Offset: 0x001CD0F4 [Token(Token = "0x6008504")] [Address(RVA = "0x21A7100", Offset = "0x21A5B00", VA = "0x1821A7100", Slot = "21")] public override ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y) { /* An exception occurred when decompiling this method (06008504) 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: 0x06008505 RID: 34053 RVA: 0x001CEF08 File Offset: 0x001CD108 [Token(Token = "0x6008505")] [Address(RVA = "0x21A7120", Offset = "0x21A5B20", VA = "0x1821A7120", 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: 0x06008506 RID: 34054 RVA: 0x001CEFD4 File Offset: 0x001CD1D4 [Token(Token = "0x6008506")] [Address(RVA = "0x21A7360", Offset = "0x21A5D60", VA = "0x1821A7360", 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: 0x06008507 RID: 34055 RVA: 0x001CF03C File Offset: 0x001CD23C [Token(Token = "0x6008507")] [Address(RVA = "0x21A6B90", Offset = "0x21A5590", VA = "0x1821A6B90", 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: 0x06008508 RID: 34056 RVA: 0x001CF09C File Offset: 0x001CD29C [Token(Token = "0x6008508")] [Address(RVA = "0x21A70A0", Offset = "0x21A5AA0", VA = "0x1821A70A0", Slot = "15")] public override ECFieldElement Sqrt() { if (!this.x.IsZero() && !this.x.IsOne()) { BigInteger bigInteger = base.ToBigInteger(); } throw new NullReferenceException(); } // Token: 0x1700155F RID: 5471 // (get) Token: 0x06008509 RID: 34057 RVA: 0x001CF0D4 File Offset: 0x001CD2D4 [Token(Token = "0x1700155F")] public int Representation { [Token(Token = "0x6008509")] [Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50")] get { return this.representation; } } // Token: 0x17001560 RID: 5472 // (get) Token: 0x0600850A RID: 34058 RVA: 0x001CF0E8 File Offset: 0x001CD2E8 [Token(Token = "0x17001560")] public int M { [Token(Token = "0x600850A")] [Address(RVA = "0x55D550", Offset = "0x55BF50", VA = "0x18055D550")] get { return this.m; } } // Token: 0x17001561 RID: 5473 // (get) Token: 0x0600850B RID: 34059 RVA: 0x001CF0FC File Offset: 0x001CD2FC [Token(Token = "0x17001561")] public int K1 { [Token(Token = "0x600850B")] [Address(RVA = "0x21A7870", Offset = "0x21A6270", VA = "0x1821A7870")] get { return this.ks[0]; } } // Token: 0x17001562 RID: 5474 // (get) Token: 0x0600850C RID: 34060 RVA: 0x001CF11C File Offset: 0x001CD31C [Token(Token = "0x17001562")] public int K2 { [Token(Token = "0x600850C")] [Address(RVA = "0x21A78B0", Offset = "0x21A62B0", VA = "0x1821A78B0")] get { int[] array = this.ks; int length = array.Length; return array[0]; } } // Token: 0x17001563 RID: 5475 // (get) Token: 0x0600850D RID: 34061 RVA: 0x001CF148 File Offset: 0x001CD348 [Token(Token = "0x17001563")] public int K3 { [Token(Token = "0x600850D")] [Address(RVA = "0x21A7900", Offset = "0x21A6300", VA = "0x1821A7900")] get { int[] array = this.ks; int length = array.Length; return array[1]; } } // Token: 0x0600850E RID: 34062 RVA: 0x001CF174 File Offset: 0x001CD374 [Token(Token = "0x600850E")] [Address(RVA = "0x21A6970", Offset = "0x21A5370", VA = "0x1821A6970", Slot = "0")] public override bool Equals(object obj) { if (obj != this) { if (obj != 0 && obj != 0) { BigInteger bigInteger = base.ToBigInteger(); } } return true; } // Token: 0x0600850F RID: 34063 RVA: 0x001CF19C File Offset: 0x001CD39C [Token(Token = "0x600850F")] [Address(RVA = "0x21A6A20", Offset = "0x21A5420", VA = "0x1821A6A20", 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: 0x06008510 RID: 34064 RVA: 0x001CF1F0 File Offset: 0x001CD3F0 [Token(Token = "0x6008510")] [Address(RVA = "0x21A6AF0", Offset = "0x21A54F0", VA = "0x1821A6AF0", Slot = "2")] public override int GetHashCode() { this.x.Finalize(); return Arrays.GetHashCode(this.ks); } // Token: 0x04005C45 RID: 23621 [Token(Token = "0x4005C45")] public const int Gnb = 1; // Token: 0x04005C46 RID: 23622 [Token(Token = "0x4005C46")] public const int Tpb = 2; // Token: 0x04005C47 RID: 23623 [Token(Token = "0x4005C47")] public const int Ppb = 3; // Token: 0x04005C48 RID: 23624 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4005C48")] private int representation; // Token: 0x04005C49 RID: 23625 [global::Cpp2IlInjected.FieldOffset(Offset = "0x14")] [Token(Token = "0x4005C49")] private int m; // Token: 0x04005C4A RID: 23626 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4005C4A")] private int[] ks; // Token: 0x04005C4B RID: 23627 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4005C4B")] internal LongArray x; } }