using System; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC { // Token: 0x02001A02 RID: 6658 [Token(Token = "0x2001A02")] public class F2mPoint : AbstractF2mPoint { // Token: 0x0600A142 RID: 41282 RVA: 0x002282CC File Offset: 0x002264CC [Token(Token = "0x600A142")] [Address(RVA = "0x20A43A0", Offset = "0x20A31A0", VA = "0x1820A43A0")] [Obsolete] public F2mPoint(ECCurve curve, ECFieldElement x, ECFieldElement y) { } // Token: 0x0600A143 RID: 41283 RVA: 0x002282DC File Offset: 0x002264DC [Token(Token = "0x600A143")] [Address(RVA = "0x20A43C0", Offset = "0x20A31C0", VA = "0x1820A43C0")] [Obsolete] public F2mPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression) { /* An exception occurred when decompiling this method (0600A143) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mPoint::.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_27: stloc:ArgumentException(var_4_31, 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 1660 */; } // Token: 0x0600A144 RID: 41284 RVA: 0x0022831C File Offset: 0x0022651C [Token(Token = "0x600A144")] [Address(RVA = "0x1EE6BE0", Offset = "0x1EE59E0", VA = "0x181EE6BE0")] internal F2mPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression) { } // Token: 0x0600A145 RID: 41285 RVA: 0x0022832C File Offset: 0x0022652C [Token(Token = "0x600A145")] [Address(RVA = "0x20A2E20", Offset = "0x20A1C20", VA = "0x1820A2E20", Slot = "7")] protected override ECPoint Detach() { /* An exception occurred when decompiling this method (0600A145) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.F2mPoint::Detach() ---> System.Exception: Basic block has to end with unconditional control flow. { IL_22: stloc:ArgumentException(var_5_2C, 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.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 1660 */; } // Token: 0x17001973 RID: 6515 // (get) Token: 0x0600A146 RID: 41286 RVA: 0x00228368 File Offset: 0x00226568 [Token(Token = "0x17001973")] public override ECFieldElement YCoord { [Token(Token = "0x600A146")] [Address(RVA = "0x20A45C0", Offset = "0x20A33C0", VA = "0x1820A45C0", Slot = "12")] get { ECPoint ecpoint = this.Detach(); if (0UL > (ulong)1L) { return this.m_y; } ECFieldElement y = this.m_y; ECFieldElement x = this.m_x; if ((x != 0 || y != 0) && !x.IsOne) { int fieldSize = y.FieldSize; if (ecpoint != (ulong)6L || this.m_zs[0].BitLength == 0) { } } throw new NullReferenceException(); } } // Token: 0x17001974 RID: 6516 // (get) Token: 0x0600A147 RID: 41287 RVA: 0x002283D0 File Offset: 0x002265D0 [Token(Token = "0x17001974")] protected internal override bool CompressionYTilde { [Token(Token = "0x600A147")] [Address(RVA = "0x20A44C0", Offset = "0x20A32C0", VA = "0x1820A44C0", Slot = "25")] get { ECFieldElement x = this.m_x; if (!x.IsOne) { ECFieldElement y = this.m_y; if (this.Detach() > (ulong)1L) { BigInteger bigInteger = y.Multiply(x).ToBigInteger(); } ECFieldElement ecfieldElement; ECFieldElement ecfieldElement2; return ecfieldElement != ecfieldElement2; } throw new NullReferenceException(); } } // Token: 0x0600A148 RID: 41288 RVA: 0x00228420 File Offset: 0x00226620 [Token(Token = "0x600A148")] [Address(RVA = "0x20A1F80", Offset = "0x20A0D80", VA = "0x1820A1F80", Slot = "26")] public override ECPoint Add(ECPoint b) { return b; } // Token: 0x0600A149 RID: 41289 RVA: 0x00228644 File Offset: 0x00226844 [Token(Token = "0x600A149")] [Address(RVA = "0x20A38D0", Offset = "0x20A26D0", VA = "0x1820A38D0", Slot = "30")] public override ECPoint Twice() { F2mPoint f2mPoint; ECFieldElement ecfieldElement5; for (;;) { bool flag = this.SatisfiesOrder(); ECFieldElement x = this.m_x; if (x.IsOne) { goto IL_1F2; } int fieldSize = this.m_y.Multiply(x).FieldSize; ushort num; TypeCode typeCode = num.GetTypeCode(); bool flag2 = flag.Equals(fieldSize != 0); TypeCode typeCode2 = typeCode.GetTypeCode(); bool withCompression = this.m_withCompression; if (f2mPoint == (ulong)1L) { break; } F2mPoint f2mPoint2; if (f2mPoint2 == (ulong)6L) { ECFieldElement[] zs = f2mPoint.m_zs; ECFieldElement y = f2mPoint.m_y; ECFieldElement ecfieldElement = zs[0]; int bitLength = ecfieldElement.BitLength; if (bitLength != 0) { } ECFieldElement ecfieldElement2 = y.Subtract(ecfieldElement); ECFieldElement ecfieldElement3 = ecfieldElement.Negate(); if (bitLength != 0) { } ECFieldElement ecfieldElement4 = ecfieldElement5.Subtract(ecfieldElement5); if (y.Negate().FieldSize.GetTypeCode() != TypeCode.Empty) { goto IL_1E0; } ECFieldElement affineXCoord = f2mPoint2.AffineXCoord; ECFieldElement ecfieldElement6; TypeCode typeCode3 = ecfieldElement6.FieldSize.GetTypeCode(); ushort num2; TypeCode typeCode4 = num2.GetTypeCode(); ushort num3; num2 = num3; ulong num4; if (num4 == (ulong)0L) { ECFieldElement ecfieldElement7 = ecfieldElement3.Negate(); } int fieldSize2 = ecfieldElement4.FieldSize; TypeCode typeCode5 = num2.GetTypeCode().GetTypeCode(); ushort num5; num2 = num5; sbyte b; TypeCode typeCode6 = b.GetTypeCode().GetTypeCode(); if (!ecfieldElement5.IsOne) { goto Block_5; } } } ECFieldElement[] zs2 = f2mPoint.m_zs; ECFieldElement y2 = f2mPoint.m_y; ECFieldElement ecfieldElement8 = zs2[0]; int num6 = ecfieldElement8.BitLength; if (num6 != 0) { } ECFieldElement ecfieldElement9 = y2.Subtract(ecfieldElement8); ECFieldElement ecfieldElement10; int fieldSize3 = ecfieldElement10.FieldSize; num6 = fieldSize3; TypeCode typeCode7 = num6.GetTypeCode(); ECFieldElement ecfieldElement11 = ecfieldElement10.Negate(); ECFieldElement[] array = new ECFieldElement[1]; throw new ArrayTypeMismatchException(); Block_5: if (ecfieldElement5.BitLength == 0) { TypeCode typeCode6; TypeCode typeCode8 = typeCode6.GetTypeCode().GetTypeCode(); } ECFieldElement[] array2 = new ECFieldElement[1]; throw new ArrayTypeMismatchException(); IL_1E0: F2mPoint f2mPoint3; ECFieldElement[] zcoords = f2mPoint3.GetZCoords(); bool withCompression2 = f2mPoint.m_withCompression; IL_1F2: throw new NullReferenceException(); } // Token: 0x0600A14A RID: 41290 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600A14A")] [Address(RVA = "0x20A3250", Offset = "0x20A2050", VA = "0x1820A3250", Slot = "32")] public override ECPoint TwicePlus(ECPoint b) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600A14B RID: 41291 RVA: 0x00228848 File Offset: 0x00226A48 [Token(Token = "0x600A14B")] [Address(RVA = "0x20A2F40", Offset = "0x20A1D40", VA = "0x1820A2F40", Slot = "28")] public override ECPoint Negate() { do { ECFieldElement x = this.m_x; if (x == 0) { } if (x.IsOne) { goto IL_6F; } } while (this.SatisfiesOrder() > true); int fieldSize = this.m_y.FieldSize; bool withCompression = this.m_withCompression; F2mPoint f2mPoint; ECFieldElement y = f2mPoint.m_y; ECCurve curve = f2mPoint.Curve; ECFieldElement[] array = new ECFieldElement[1]; throw new ArrayTypeMismatchException(); IL_6F: throw new NullReferenceException(); } } }