using System; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC { // Token: 0x02001AE0 RID: 6880 [Token(Token = "0x2001AE0")] public class FpPoint : AbstractFpPoint { // Token: 0x0600A4F4 RID: 42228 RVA: 0x0023036C File Offset: 0x0022E56C [Token(Token = "0x600A4F4")] [Address(RVA = "0x7E24E0", Offset = "0x7E14E0", VA = "0x1807E24E0")] [Obsolete] public FpPoint(ECCurve curve, ECFieldElement x, ECFieldElement y) { } // Token: 0x0600A4F5 RID: 42229 RVA: 0x0023037C File Offset: 0x0022E57C [Token(Token = "0x600A4F5")] [Address(RVA = "0x7E2420", Offset = "0x7E1420", VA = "0x1807E2420")] [Obsolete] public FpPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression) { /* An exception occurred when decompiling this method (0600A4F5) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.FpPoint::.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: 0x0600A4F6 RID: 42230 RVA: 0x002303A4 File Offset: 0x0022E5A4 [Token(Token = "0x600A4F6")] [Address(RVA = "0x6FE5B0", Offset = "0x6FD5B0", VA = "0x1806FE5B0")] internal FpPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression) { } // Token: 0x0600A4F7 RID: 42231 RVA: 0x002303B4 File Offset: 0x0022E5B4 [Token(Token = "0x600A4F7")] [Address(RVA = "0x7DFC00", Offset = "0x7DEC00", VA = "0x1807DFC00", Slot = "7")] protected override ECPoint Detach() { /* An exception occurred when decompiling this method (0600A4F7) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.FpPoint::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:FpPoint[exp:ECPoint](this))) stloc:ECFieldElement(var_1_0D, callvirtgetter:ECFieldElement(ECPoint::get_AffineXCoord, ldloc:FpPoint[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: 0x0600A4F8 RID: 42232 RVA: 0x002303D0 File Offset: 0x0022E5D0 [Token(Token = "0x600A4F8")] [Address(RVA = "0x7DFE60", Offset = "0x7DEE60", VA = "0x1807DFE60", Slot = "13")] public override ECFieldElement GetZCoord(int index) { if (index == 1 && this.Detach() == (ulong)4L) { bool flag = base.SatisfiesCurveEquation(); } ECFieldElement[] zs = this.m_zs; int length = zs.Length; if (index < length) { return zs[index]; } throw new IndexOutOfRangeException(); } // Token: 0x0600A4F9 RID: 42233 RVA: 0x00230414 File Offset: 0x0022E614 [Token(Token = "0x600A4F9")] [Address(RVA = "0x7DEC00", Offset = "0x7DDC00", VA = "0x1807DEC00", Slot = "26")] public override ECPoint Add(ECPoint b) { return b; } // Token: 0x0600A4FA RID: 42234 RVA: 0x002306D4 File Offset: 0x0022E8D4 [Token(Token = "0x600A4FA")] [Address(RVA = "0x7E1790", Offset = "0x7E0790", VA = "0x1807E1790", Slot = "30")] public override ECPoint Twice() { bool flag = this.SatisfiesOrder(); ECFieldElement y = this.m_y; if (!y.IsOne) { ECFieldElement x = this.m_x; ECFieldElement jacobianModifiedW = this.GetJacobianModifiedW(); ECFieldElement ecfieldElement = this.m_zs[0]; int bitLength = ecfieldElement.BitLength; ECFieldElement ecfieldElement2 = y.Negate(); ECFieldElement ecfieldElement3 = ecfieldElement2.Negate(); ushort num; string text = num.ToString(); BigInteger bigInteger; if (bigInteger == 0) { ECFieldElement ecfieldElement4 = x.Negate(); ECFieldElement ecfieldElement5 = this.Two(ecfieldElement4); if (ecfieldElement5 == 0) { ECFieldElement ecfieldElement6 = ecfieldElement.Negate().Negate(); int fieldSize = ecfieldElement5.FieldSize; } } ECFieldElement ecfieldElement7 = ecfieldElement.Negate(); int fieldSize2 = x.FieldSize; ECFieldElement ecfieldElement8 = x.AddOne(); ECFieldElement ecfieldElement9 = ecfieldElement2.Subtract(x); ECFieldElement ecfieldElement10 = this.Three(ecfieldElement9); ECFieldElement ecfieldElement12; ECFieldElement ecfieldElement11 = ecfieldElement12.Negate(); ECPoint ecpoint = this.ThreeTimes(); ECFieldElement ecfieldElement13 = ecfieldElement11.AddOne(); ECFieldElement ecfieldElement14 = ecfieldElement10.AddOne().Subtract(ecfieldElement12); ECFieldElement ecfieldElement15 = this.Four(ecfieldElement3); ECFieldElement ecfieldElement16 = ecfieldElement14.AddOne(); ECFieldElement affineXCoord = this.ThreeTimes().AffineXCoord; ECFieldElement[] array = new ECFieldElement[1]; throw new ArrayTypeMismatchException(); } throw new NullReferenceException(); } // Token: 0x0600A4FB RID: 42235 RVA: 0x00230894 File Offset: 0x0022EA94 [Token(Token = "0x600A4FB")] [Address(RVA = "0x7E1200", Offset = "0x7E0200", VA = "0x1807E1200", Slot = "32")] public override ECPoint TwicePlus(ECPoint b) { if (this != b) { if (b.m_x == (ulong)0L && b.m_y == (ulong)0L) { ECPoint ecpoint; return ecpoint; } if (!this.m_y.IsOne) { if (this.SatisfiesOrder()) { goto IL_131; } ECFieldElement x = b.m_x; ECFieldElement y = b.m_y; ECFieldElement x2 = this.m_x; ECFieldElement ecfieldElement = x.AddOne(); ECFieldElement ecfieldElement2 = y.AddOne(); if (ecfieldElement.IsOne) { goto IL_12C; } ECFieldElement ecfieldElement3 = ecfieldElement.Negate(); ECFieldElement ecfieldElement4 = ecfieldElement2.Negate(); ECCurve curve = this.ThreeTimes().Curve; ECFieldElement ecfieldElement6; ECFieldElement ecfieldElement5 = ecfieldElement6.AddOne(); if (!ecfieldElement5.IsOne) { ECFieldElement ecfieldElement7 = ecfieldElement5.Subtract(ecfieldElement).Square(); ECFieldElement ecfieldElement8 = ecfieldElement5.Subtract(ecfieldElement7).Subtract(ecfieldElement2); ECFieldElement ecfieldElement9 = this.ThreeTimes().AffineXCoord.Subtract(ecfieldElement).Subtract(ecfieldElement7).AddOne(); ECFieldElement ecfieldElement10 = ecfieldElement9.AddOne(); int fieldSize = ecfieldElement8.FieldSize; ECFieldElement ecfieldElement11; int fieldSize2 = ecfieldElement11.FieldSize; ECFieldElement ecfieldElement12 = x2.AddOne().Subtract(ecfieldElement9).AddOne(); bool flag = this.SatisfiesOrder(); bool withCompression = this.m_withCompression; } } bool flag2 = this.SatisfiesOrder(); IL_12C: ECPoint ecpoint2; if (ecpoint2 == 0) { } IL_131: if (this == (ulong)4L) { ECFieldElement jacobianModifiedW = this.GetJacobianModifiedW(); } } bool flag3 = base.SatisfiesCurveEquation(); throw new NullReferenceException(); } // Token: 0x0600A4FC RID: 42236 RVA: 0x002309F0 File Offset: 0x0022EBF0 [Token(Token = "0x600A4FC")] [Address(RVA = "0x7E0060", Offset = "0x7DF060", VA = "0x1807E0060", Slot = "33")] public override ECPoint ThreeTimes() { ECFieldElement y = this.m_y; if (y != 0 && !y.IsOne) { bool flag = this.SatisfiesOrder(); if (!flag) { ECFieldElement x = this.m_x; ECFieldElement ycoord = this.ThreeTimes().YCoord; ECFieldElement ecfieldElement = x.Negate(); ECFieldElement ecfieldElement2 = this.Two(ecfieldElement); bool flag2 = this.SatisfiesOrder(); int fieldSize = ecfieldElement2.FieldSize; ECFieldElement ecfieldElement3 = this.Two(x).Subtract(ycoord).AddOne(); if (!ecfieldElement3.IsOne) { ECFieldElement ecfieldElement5; ECFieldElement ecfieldElement4 = ecfieldElement5.Square(); ECFieldElement ecfieldElement6 = ecfieldElement3.Subtract(ecfieldElement4); ECFieldElement ecfieldElement7 = ycoord.Negate().Subtract(ecfieldElement4).AddOne(); ECFieldElement ecfieldElement8 = ecfieldElement7.AddOne(); ECFieldElement ecfieldElement9; int fieldSize2 = ecfieldElement9.FieldSize; ECFieldElement ecfieldElement10; int fieldSize3 = ecfieldElement10.FieldSize; ECFieldElement ecfieldElement11 = x.AddOne().Subtract(ecfieldElement7).AddOne(); bool flag3 = this.SatisfiesOrder(); bool withCompression = this.m_withCompression; } bool flag4 = this.SatisfiesOrder(); } if (flag) { ECFieldElement jacobianModifiedW = this.GetJacobianModifiedW(); } } throw new NullReferenceException(); } // Token: 0x0600A4FD RID: 42237 RVA: 0x00230AFC File Offset: 0x0022ECFC [Token(Token = "0x600A4FD")] [Address(RVA = "0x7E0570", Offset = "0x7DF570", VA = "0x1807E0570", Slot = "29")] public override ECPoint TimesPow2(int e) { /* An exception occurred when decompiling this method (0600A4FD) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.FpPoint::TimesPow2(System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_1B0: stloc:ArgumentException(var_52_1BF, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("cannot be negative"), ldstr:string("e"))) stloc:InvalidOperationException(var_53_1CB, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("unsupported coordinate system"))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x0600A4FE RID: 42238 RVA: 0x00230CD8 File Offset: 0x0022EED8 [Token(Token = "0x600A4FE")] [Address(RVA = "0x7E23F0", Offset = "0x7E13F0", VA = "0x1807E23F0", Slot = "34")] protected virtual ECFieldElement Two(ECFieldElement x) { BigInteger bigInteger = x.ToBigInteger(); throw new NullReferenceException(); } // Token: 0x0600A4FF RID: 42239 RVA: 0x00230CF4 File Offset: 0x0022EEF4 [Token(Token = "0x600A4FF")] [Address(RVA = "0x7E0530", Offset = "0x7DF530", VA = "0x1807E0530", Slot = "35")] protected virtual ECFieldElement Three(ECFieldElement x) { bool flag = this.ThreeTimes().SatisfiesCurveEquation(); throw new NullReferenceException(); } // Token: 0x0600A500 RID: 42240 RVA: 0x00230D14 File Offset: 0x0022EF14 [Token(Token = "0x600A500")] [Address(RVA = "0x7DFD70", Offset = "0x7DED70", VA = "0x1807DFD70", Slot = "36")] protected virtual ECFieldElement Four(ECFieldElement x) { /* An exception occurred when decompiling this method (0600A500) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.FpPoint::Four(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:ECPoint(var_0_06, callvirt:ECPoint(FpPoint::ThreeTimes, ldloc:FpPoint(this))) stloc:bool(var_1_0D, call:bool(ECPoint::SatisfiesCurveEquation, ldloc:FpPoint[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: 0x0600A501 RID: 42241 RVA: 0x00230D30 File Offset: 0x0022EF30 [Token(Token = "0x600A501")] [Address(RVA = "0x7DFD30", Offset = "0x7DED30", VA = "0x1807DFD30", Slot = "37")] protected virtual ECFieldElement Eight(ECFieldElement x) { /* An exception occurred when decompiling this method (0600A501) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.FpPoint::Eight(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:ECPoint(var_0_06, callvirt:ECPoint(FpPoint::ThreeTimes, ldloc:FpPoint(this))) stloc:bool(var_1_0D, call:bool(ECPoint::SatisfiesCurveEquation, ldloc:FpPoint[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: 0x0600A502 RID: 42242 RVA: 0x00230D4C File Offset: 0x0022EF4C [Token(Token = "0x600A502")] [Address(RVA = "0x7DFCA0", Offset = "0x7DECA0", VA = "0x1807DFCA0", Slot = "38")] protected virtual ECFieldElement DoubleProductFromSquares(ECFieldElement a, ECFieldElement b, ECFieldElement aSquared, ECFieldElement bSquared) { int fieldSize = a.FieldSize; char c; TypeCode typeCode = ((IConvertible)c).GetTypeCode(); throw new NullReferenceException(); } // Token: 0x0600A503 RID: 42243 RVA: 0x00230D6C File Offset: 0x0022EF6C [Token(Token = "0x600A503")] [Address(RVA = "0x7DFF00", Offset = "0x7DEF00", VA = "0x1807DFF00", Slot = "28")] public override ECPoint Negate() { bool flag = this.SatisfiesOrder(); ECFieldElement y = this.m_y; if (!flag) { bool withCompression = this.m_withCompression; } FpPoint fpPoint; ECFieldElement xcoord = fpPoint.XCoord; throw new NullReferenceException(); } // Token: 0x0600A504 RID: 42244 RVA: 0x00230DA0 File Offset: 0x0022EFA0 [Token(Token = "0x600A504")] [Address(RVA = "0x7DFA80", Offset = "0x7DEA80", VA = "0x1807DFA80", Slot = "39")] protected virtual ECFieldElement CalculateJacobianModifiedW(ECFieldElement Z, ECFieldElement ZSquared) { bool flag = this.SatisfiesOrder(); bool flag2; if (!flag2 && Z.BitLength == 0) { if (ZSquared == 0) { ECFieldElement ecfieldElement = Z.Negate(); } ECFieldElement ecfieldElement2 = ZSquared.Negate(); ECFieldElement ecfieldElement3; return ecfieldElement3; } throw new NullReferenceException(); } // Token: 0x0600A505 RID: 42245 RVA: 0x00230DE0 File Offset: 0x0022EFE0 [Token(Token = "0x600A505")] [Address(RVA = "0x7DFDB0", Offset = "0x7DEDB0", VA = "0x1807DFDB0", Slot = "40")] protected virtual ECFieldElement GetJacobianModifiedW() { ECFieldElement[] zs = this.m_zs; ECFieldElement ecfieldElement = zs[1]; if (ecfieldElement == 0) { ECFieldElement ecfieldElement2; if (ecfieldElement2 != 0) { } zs[1] = ecfieldElement2; } return ecfieldElement; } // Token: 0x0600A506 RID: 42246 RVA: 0x00230E14 File Offset: 0x0022F014 [Token(Token = "0x600A506")] [Address(RVA = "0x7E0E00", Offset = "0x7DFE00", VA = "0x1807E0E00", Slot = "41")] protected virtual FpPoint TwiceJacobianModified(bool calculateW) { ECFieldElement[] zs = this.m_zs; ECFieldElement x = this.m_x; ECFieldElement ecfieldElement = zs[0]; ECFieldElement ecfieldElement2 = x.Negate(); int fieldSize = this.Two(ecfieldElement2).FieldSize; ECPoint ecpoint = this.ThreeTimes(); ECFieldElement affineXCoord = ecpoint.AffineXCoord; ECFieldElement ecfieldElement3 = x.Subtract(affineXCoord); ECPoint ecpoint2 = this.ThreeTimes(); ECPoint ecpoint3 = this.ThreeTimes(); ECFieldElement ecfieldElement4 = affineXCoord.Negate(); ECPoint ecpoint4 = this.ThreeTimes(); int curveCoordinateSystem = ecpoint2.CurveCoordinateSystem; ECFieldElement affineXCoord2 = ecpoint4.AffineXCoord; ECPoint ecpoint5 = this.ThreeTimes(); int num = 0; ECFieldElement affineXCoord3; if (ecfieldElement.BitLength == 0) { affineXCoord3 = ecpoint.AffineXCoord; } bool flag = this.SatisfiesOrder(); ECFieldElement[] array = new ECFieldElement[2]; if (affineXCoord3 != 0) { } array[0] = affineXCoord3; if (num != 0) { } array[1] = num; bool withCompression = this.m_withCompression; FpPoint fpPoint; return fpPoint; } } }