using System; using System.Runtime.InteropServices; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC { // Token: 0x02001423 RID: 5155 [Token(Token = "0x2001423")] [StructLayout(3)] public class FpPoint : AbstractFpPoint { // Token: 0x0600854C RID: 34124 RVA: 0x001CFCE8 File Offset: 0x001CDEE8 [Token(Token = "0x600854C")] [Address(RVA = "0x21B0820", Offset = "0x21AF220", VA = "0x1821B0820")] [Obsolete] public FpPoint(ECCurve curve, ECFieldElement x, ECFieldElement y) { } // Token: 0x0600854D RID: 34125 RVA: 0x001CFCF8 File Offset: 0x001CDEF8 [Token(Token = "0x600854D")] [Address(RVA = "0x21B0760", Offset = "0x21AF160", VA = "0x1821B0760")] [Obsolete] public FpPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression) { /* An exception occurred when decompiling this method (0600854D) 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: 0x0600854E RID: 34126 RVA: 0x001CFD20 File Offset: 0x001CDF20 [Token(Token = "0x600854E")] [Address(RVA = "0x21A9D90", Offset = "0x21A8790", VA = "0x1821A9D90")] internal FpPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression) { } // Token: 0x0600854F RID: 34127 RVA: 0x001CFD30 File Offset: 0x001CDF30 [Token(Token = "0x600854F")] [Address(RVA = "0x21ADF40", Offset = "0x21AC940", VA = "0x1821ADF40", Slot = "7")] protected override ECPoint Detach() { /* An exception occurred when decompiling this method (0600854F) 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: 0x06008550 RID: 34128 RVA: 0x001CFD4C File Offset: 0x001CDF4C [Token(Token = "0x6008550")] [Address(RVA = "0x21AE1A0", Offset = "0x21ACBA0", VA = "0x1821AE1A0", 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: 0x06008551 RID: 34129 RVA: 0x001CFD90 File Offset: 0x001CDF90 [Token(Token = "0x6008551")] [Address(RVA = "0x21ACF40", Offset = "0x21AB940", VA = "0x1821ACF40", Slot = "26")] public override ECPoint Add(ECPoint b) { return b; } // Token: 0x06008552 RID: 34130 RVA: 0x001D0050 File Offset: 0x001CE250 [Token(Token = "0x6008552")] [Address(RVA = "0x21AFAD0", Offset = "0x21AE4D0", VA = "0x1821AFAD0", 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: 0x06008553 RID: 34131 RVA: 0x001D0210 File Offset: 0x001CE410 [Token(Token = "0x6008553")] [Address(RVA = "0x21AF540", Offset = "0x21ADF40", VA = "0x1821AF540", 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: 0x06008554 RID: 34132 RVA: 0x001D036C File Offset: 0x001CE56C [Token(Token = "0x6008554")] [Address(RVA = "0x21AE3A0", Offset = "0x21ACDA0", VA = "0x1821AE3A0", 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: 0x06008555 RID: 34133 RVA: 0x001D0478 File Offset: 0x001CE678 [Token(Token = "0x6008555")] [Address(RVA = "0x21AE8B0", Offset = "0x21AD2B0", VA = "0x1821AE8B0", Slot = "29")] public override ECPoint TimesPow2(int e) { /* An exception occurred when decompiling this method (06008555) 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: 0x06008556 RID: 34134 RVA: 0x001D0654 File Offset: 0x001CE854 [Token(Token = "0x6008556")] [Address(RVA = "0x21B0730", Offset = "0x21AF130", VA = "0x1821B0730", Slot = "34")] protected virtual ECFieldElement Two(ECFieldElement x) { BigInteger bigInteger = x.ToBigInteger(); throw new NullReferenceException(); } // Token: 0x06008557 RID: 34135 RVA: 0x001D0670 File Offset: 0x001CE870 [Token(Token = "0x6008557")] [Address(RVA = "0x21AE870", Offset = "0x21AD270", VA = "0x1821AE870", Slot = "35")] protected virtual ECFieldElement Three(ECFieldElement x) { bool flag = this.ThreeTimes().SatisfiesCurveEquation(); throw new NullReferenceException(); } // Token: 0x06008558 RID: 34136 RVA: 0x001D0690 File Offset: 0x001CE890 [Token(Token = "0x6008558")] [Address(RVA = "0x21AE0B0", Offset = "0x21ACAB0", VA = "0x1821AE0B0", Slot = "36")] protected virtual ECFieldElement Four(ECFieldElement x) { /* An exception occurred when decompiling this method (06008558) 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: 0x06008559 RID: 34137 RVA: 0x001D06AC File Offset: 0x001CE8AC [Token(Token = "0x6008559")] [Address(RVA = "0x21AE070", Offset = "0x21ACA70", VA = "0x1821AE070", Slot = "37")] protected virtual ECFieldElement Eight(ECFieldElement x) { /* An exception occurred when decompiling this method (06008559) 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: 0x0600855A RID: 34138 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600855A")] [Address(RVA = "0x21ADFE0", Offset = "0x21AC9E0", VA = "0x1821ADFE0", Slot = "38")] protected virtual ECFieldElement DoubleProductFromSquares(ECFieldElement a, ECFieldElement b, ECFieldElement aSquared, ECFieldElement bSquared) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600855B RID: 34139 RVA: 0x001D06C8 File Offset: 0x001CE8C8 [Token(Token = "0x600855B")] [Address(RVA = "0x21AE240", Offset = "0x21ACC40", VA = "0x1821AE240", 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: 0x0600855C RID: 34140 RVA: 0x001D06FC File Offset: 0x001CE8FC [Token(Token = "0x600855C")] [Address(RVA = "0x21ADDC0", Offset = "0x21AC7C0", VA = "0x1821ADDC0", 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: 0x0600855D RID: 34141 RVA: 0x001D073C File Offset: 0x001CE93C [Token(Token = "0x600855D")] [Address(RVA = "0x21AE0F0", Offset = "0x21ACAF0", VA = "0x1821AE0F0", 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: 0x0600855E RID: 34142 RVA: 0x001D0770 File Offset: 0x001CE970 [Token(Token = "0x600855E")] [Address(RVA = "0x21AF140", Offset = "0x21ADB40", VA = "0x1821AF140", 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; } } }