using System; using System.Collections; using System.Runtime.InteropServices; using System.Text; using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Multiplier; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC { // Token: 0x0200141F RID: 5151 [Token(Token = "0x200141F")] [StructLayout(3)] public abstract class ECPoint { // Token: 0x06008513 RID: 34067 RVA: 0x001CF21C File Offset: 0x001CD41C [Token(Token = "0x6008513")] [Address(RVA = "0x21A4A20", Offset = "0x21A3420", VA = "0x1821A4A20")] protected static ECFieldElement[] GetInitialZCoords(ECCurve curve) { while (curve != 0) { BigInteger cofactor = curve.Cofactor; if (cofactor == 0 || cofactor == (ulong)5L) { break; } BigInteger one = BigInteger.One; int fieldSize = curve.FieldSize; if (cofactor <= (ulong)5L) { ECFieldElement[] array = new ECFieldElement[3]; throw new ArrayTypeMismatchException(); } } return ECPoint.EMPTY_ZS; } // Token: 0x06008514 RID: 34068 RVA: 0x001CF2D8 File Offset: 0x001CD4D8 [Token(Token = "0x6008514")] [Address(RVA = "0x21A58D0", Offset = "0x21A42D0", VA = "0x1821A58D0")] protected ECPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, bool withCompression) { ECFieldElement[] initialZCoords = ECPoint.GetInitialZCoords(curve); base..ctor(); this.m_curve = curve; this.m_y = y; this.m_zs = initialZCoords; this.m_withCompression = false; this.m_x = x; } // Token: 0x06008515 RID: 34069 RVA: 0x001CF318 File Offset: 0x001CD518 [Token(Token = "0x6008515")] [Address(RVA = "0x21A5870", Offset = "0x21A4270", VA = "0x1821A5870")] internal ECPoint(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, bool withCompression) { this.m_zs = 0; this.m_curve = curve; this.m_y = y; this.m_withCompression = false; this.m_x = x; } // Token: 0x06008516 RID: 34070 [Token(Token = "0x6008516")] [Address(Slot = "4")] protected abstract bool SatisfiesCurveEquation(); // Token: 0x06008517 RID: 34071 RVA: 0x001CF350 File Offset: 0x001CD550 [Token(Token = "0x6008517")] [Address(RVA = "0x21A5230", Offset = "0x21A3C30", VA = "0x1821A5230", Slot = "5")] protected virtual bool SatisfiesOrder() { BigInteger one = BigInteger.One; if (!this.SatisfiesOrder() && this.SatisfiesOrder()) { bool flag = this.SatisfiesOrder(); BigInteger bigInteger; int bitLength = bigInteger.BitLength; if (bitLength > 0) { int num = 0; bool flag2 = bigInteger.TestBit(num); if (bitLength > 1 && bigInteger.TestBit(1)) { bool compressionYTilde = this.CompressionYTilde; } } ECPoint ecpoint; if (ecpoint.m_x != (ulong)0L) { } } throw new NullReferenceException(); } // Token: 0x06008518 RID: 34072 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6008518")] [Address(RVA = "0x21A48D0", Offset = "0x21A32D0", VA = "0x1821A48D0")] public ECPoint GetDetachedPoint() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x17001565 RID: 5477 // (get) Token: 0x06008519 RID: 34073 RVA: 0x001CF3C4 File Offset: 0x001CD5C4 [Token(Token = "0x17001565")] public virtual ECCurve Curve { [Token(Token = "0x6008519")] [Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "6")] get { return this.m_curve; } } // Token: 0x0600851A RID: 34074 [Token(Token = "0x600851A")] [Address(Slot = "7")] protected abstract ECPoint Detach(); // Token: 0x17001566 RID: 5478 // (get) Token: 0x0600851B RID: 34075 RVA: 0x001CF3D8 File Offset: 0x001CD5D8 [Token(Token = "0x17001566")] protected virtual int CurveCoordinateSystem { [Token(Token = "0x600851B")] [Address(RVA = "0x21A5A00", Offset = "0x21A4400", VA = "0x1821A5A00", Slot = "8")] get { ECCurve curve = this.m_curve; if (curve == 0) { return 0; } return curve.FieldSize; } } // Token: 0x17001567 RID: 5479 // (get) Token: 0x0600851C RID: 34076 RVA: 0x001CF3F8 File Offset: 0x001CD5F8 [Token(Token = "0x17001567")] public virtual ECFieldElement AffineXCoord { [Token(Token = "0x600851C")] [Address(RVA = "0x21A5980", Offset = "0x21A4380", VA = "0x1821A5980", Slot = "9")] get { /* An exception occurred when decompiling this method (0600851C) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint::get_AffineXCoord() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:class BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement[](var_0_06, callvirt:class BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement[](ECPoint::GetZCoords, ldloc:ECPoint(this))) stloc:bool(var_1_0D, call:bool(ECPoint::SatisfiesCurveEquation, ldloc: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: 0x17001568 RID: 5480 // (get) Token: 0x0600851D RID: 34077 RVA: 0x001CF414 File Offset: 0x001CD614 [Token(Token = "0x17001568")] public virtual ECFieldElement AffineYCoord { [Token(Token = "0x600851D")] [Address(RVA = "0x21A59C0", Offset = "0x21A43C0", VA = "0x1821A59C0", Slot = "10")] get { /* An exception occurred when decompiling this method (0600851D) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint::get_AffineYCoord() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:class BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement[](var_0_06, callvirt:class BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement[](ECPoint::GetZCoords, ldloc:ECPoint(this))) stloc:bool(var_1_0D, call:bool(ECPoint::SatisfiesCurveEquation, ldloc: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: 0x17001569 RID: 5481 // (get) Token: 0x0600851E RID: 34078 RVA: 0x001CF430 File Offset: 0x001CD630 [Token(Token = "0x17001569")] public virtual ECFieldElement XCoord { [Token(Token = "0x600851E")] [Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240", Slot = "11")] get { return this.m_x; } } // Token: 0x1700156A RID: 5482 // (get) Token: 0x0600851F RID: 34079 RVA: 0x001CF444 File Offset: 0x001CD644 [Token(Token = "0x1700156A")] public virtual ECFieldElement YCoord { [Token(Token = "0x600851F")] [Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220", Slot = "12")] get { return this.m_y; } } // Token: 0x06008520 RID: 34080 RVA: 0x001CF458 File Offset: 0x001CD658 [Token(Token = "0x6008520")] [Address(RVA = "0x21A4D10", Offset = "0x21A3710", VA = "0x1821A4D10", Slot = "13")] public virtual ECFieldElement GetZCoord(int index) { ECFieldElement[] zs = this.m_zs; int length = zs.Length; if (index < length) { return zs[index]; } throw new IndexOutOfRangeException(); } // Token: 0x06008521 RID: 34081 RVA: 0x001CF488 File Offset: 0x001CD688 [Token(Token = "0x6008521")] [Address(RVA = "0x21A4D60", Offset = "0x21A3760", VA = "0x1821A4D60", Slot = "14")] public virtual ECFieldElement[] GetZCoords() { ECFieldElement[] zs = this.m_zs; int length = zs.Length; if (length != 0) { ECFieldElement[] array = new ECFieldElement[length]; ECFieldElement[] zs2 = this.m_zs; int num = 0; int num2 = 0; Array.Copy(zs2, num2, array, num, length); } return zs; } // Token: 0x1700156B RID: 5483 // (get) Token: 0x06008522 RID: 34082 RVA: 0x001CF4D0 File Offset: 0x001CD6D0 [Token(Token = "0x1700156B")] protected internal ECFieldElement RawXCoord { [Token(Token = "0x6008522")] [Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")] get { return this.m_x; } } // Token: 0x1700156C RID: 5484 // (get) Token: 0x06008523 RID: 34083 RVA: 0x001CF4E4 File Offset: 0x001CD6E4 [Token(Token = "0x1700156C")] protected internal ECFieldElement RawYCoord { [Token(Token = "0x6008523")] [Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")] get { return this.m_y; } } // Token: 0x1700156D RID: 5485 // (get) Token: 0x06008524 RID: 34084 RVA: 0x001CF4F8 File Offset: 0x001CD6F8 [Token(Token = "0x1700156D")] protected internal ECFieldElement[] RawZCoords { [Token(Token = "0x6008524")] [Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230")] get { return this.m_zs; } } // Token: 0x06008525 RID: 34085 RVA: 0x001CF50C File Offset: 0x001CD70C [Token(Token = "0x6008525")] [Address(RVA = "0x21A43F0", Offset = "0x21A2DF0", VA = "0x1821A43F0", Slot = "15")] protected virtual void CheckNormalized() { this.CheckNormalized(); } // Token: 0x06008526 RID: 34086 RVA: 0x001CF52C File Offset: 0x001CD72C [Token(Token = "0x6008526")] [Address(RVA = "0x21A4F90", Offset = "0x21A3990", VA = "0x1821A4F90", Slot = "16")] public virtual bool IsNormalized() { ECPoint ecpoint = this.Detach(); if (ecpoint != 0 && ecpoint != (ulong)5L && (this.m_x != (ulong)0L || this.m_y != (ulong)0L)) { BigInteger bigInteger = this.m_zs[0].ToBigInteger(); } return true; } // Token: 0x06008527 RID: 34087 RVA: 0x001CF57C File Offset: 0x001CD77C [Token(Token = "0x6008527")] [Address(RVA = "0x21A5170", Offset = "0x21A3B70", VA = "0x1821A5170", Slot = "17")] public virtual ECPoint Normalize() { if (this.m_x != (ulong)0L || this.m_y != (ulong)0L) { ECPoint ecpoint = this.Detach(); if (ecpoint != 0 && ecpoint != (ulong)5L) { ECFieldElement ecfieldElement = this.m_zs[0]; if (ecfieldElement.BitLength == 0) { ECFieldElement ecfieldElement2 = ecfieldElement.Square(); bool flag = this.SatisfiesCurveEquation(); } } } return this; } // Token: 0x06008528 RID: 34088 RVA: 0x001CF5DC File Offset: 0x001CD7DC [Token(Token = "0x6008528")] [Address(RVA = "0x21A5030", Offset = "0x21A3A30", VA = "0x1821A5030", Slot = "18")] internal virtual ECPoint Normalize(ECFieldElement zInv) { /* An exception occurred when decompiling this method (06008528) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint::Normalize(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_26: stloc:InvalidOperationException(var_3_30, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("not a projective 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: 0x06008529 RID: 34089 RVA: 0x001CF61C File Offset: 0x001CD81C [Token(Token = "0x6008529")] [Address(RVA = "0x21A4470", Offset = "0x21A2E70", VA = "0x1821A4470", Slot = "19")] protected virtual ECPoint CreateScaledPoint(ECFieldElement sx, ECFieldElement sy) { bool flag = this.SatisfiesOrder(); ECFieldElement ecfieldElement = this.m_x.Subtract(sx); ECFieldElement ecfieldElement2 = this.m_y.Subtract(sy); throw new NullReferenceException(); } // Token: 0x1700156E RID: 5486 // (get) Token: 0x0600852A RID: 34090 RVA: 0x001CF650 File Offset: 0x001CD850 [Token(Token = "0x1700156E")] public bool IsInfinity { [Token(Token = "0x600852A")] [Address(RVA = "0x21A5A20", Offset = "0x21A4420", VA = "0x1821A5A20")] get { if (this.m_x != (ulong)0L) { } return this.m_y == (ulong)0L; } } // Token: 0x1700156F RID: 5487 // (get) Token: 0x0600852B RID: 34091 RVA: 0x001CF678 File Offset: 0x001CD878 [Token(Token = "0x1700156F")] public bool IsCompressed { [Token(Token = "0x600852B")] [Address(RVA = "0x4CB2D0", Offset = "0x4C9CD0", VA = "0x1804CB2D0")] get { return this.m_withCompression; } } // Token: 0x0600852C RID: 34092 RVA: 0x001CF68C File Offset: 0x001CD88C [Token(Token = "0x600852C")] [Address(RVA = "0x21A5020", Offset = "0x21A3A20", VA = "0x1821A5020")] public bool IsValid() { int num = 0; return this.ImplIsValid(num != 0, true); } // Token: 0x0600852D RID: 34093 RVA: 0x001CF6A4 File Offset: 0x001CD8A4 [Token(Token = "0x600852D")] [Address(RVA = "0x21A5010", Offset = "0x21A3A10", VA = "0x1821A5010")] internal bool IsValidPartial() { int num = 0; int num2 = 0; return this.ImplIsValid(num2 != 0, num != 0); } // Token: 0x0600852E RID: 34094 RVA: 0x001CF6C0 File Offset: 0x001CD8C0 [Token(Token = "0x600852E")] [Address(RVA = "0x21A4DF0", Offset = "0x21A37F0", VA = "0x1821A4DF0")] internal bool ImplIsValid(bool decompressed, bool checkOrder) { if (this.m_x == (ulong)0L && this.m_y == (ulong)0L) { return true; } ECPoint.ValidityCallback validityCallback; validityCallback.m_outer = this; validityCallback.m_decompressed = decompressed; validityCallback.m_checkOrder = checkOrder; bool flag = this.SatisfiesOrder(); return "{il2cpp field on System.Boolean.System.IConvertible.ToDecimal, offset 0x10}" == (ulong)0L; } // Token: 0x0600852F RID: 34095 RVA: 0x001CF718 File Offset: 0x001CD918 [Token(Token = "0x600852F")] [Address(RVA = "0x21A5460", Offset = "0x21A3E60", VA = "0x1821A5460", Slot = "20")] public virtual ECPoint ScaleX(ECFieldElement scale) { if (this.m_x == (ulong)0L && this.m_y == (ulong)0L) { return this; } bool flag = this.SatisfiesOrder(); ECFieldElement ecfieldElement = this.m_x.Subtract(scale); bool withCompression = this.m_withCompression; throw new NullReferenceException(); } // Token: 0x06008530 RID: 34096 RVA: 0x001CF760 File Offset: 0x001CD960 [Token(Token = "0x6008530")] [Address(RVA = "0x21A5510", Offset = "0x21A3F10", VA = "0x1821A5510", Slot = "21")] public virtual ECPoint ScaleY(ECFieldElement scale) { if (this.m_x == (ulong)0L && this.m_y == (ulong)0L) { return this; } bool flag = this.SatisfiesOrder(); ECFieldElement ecfieldElement = this.m_y.Subtract(scale); bool withCompression = this.m_withCompression; throw new NullReferenceException(); } // Token: 0x06008531 RID: 34097 RVA: 0x001CF7A8 File Offset: 0x001CD9A8 [Token(Token = "0x6008531")] [Address(RVA = "0x21A4840", Offset = "0x21A3240", VA = "0x1821A4840", Slot = "0")] public override bool Equals(object obj) { if (obj == 0) { } return this.SatisfiesCurveEquation(); } // Token: 0x06008532 RID: 34098 RVA: 0x001CF7C4 File Offset: 0x001CD9C4 [Token(Token = "0x6008532")] [Address(RVA = "0x21A4530", Offset = "0x21A2F30", VA = "0x1821A4530", Slot = "22")] public virtual bool Equals(ECPoint other) { if (this != other && other != 0) { bool flag = this.SatisfiesOrder(); bool flag2 = !flag; bool flag3 = !flag; if (this.m_x != (ulong)0L) { } if (other.m_x != (ulong)0L) { } if (other.m_y == (ulong)0L) { if (flag2 == flag3) { if (!flag2) { if (!flag3) { ECPoint[] array = new ECPoint[2]; throw new ArrayTypeMismatchException(); } ECPoint ecpoint; bool flag4 = ecpoint.IsNormalized(); } ECPoint ecpoint2; bool flag5 = ecpoint2.IsNormalized(); } short num; short num2; if (num.Equals(num2)) { ushort num3; ushort num4; return num3.Equals(num4); } } } throw new IndexOutOfRangeException(); } // Token: 0x06008533 RID: 34099 RVA: 0x001CF89C File Offset: 0x001CDA9C [Token(Token = "0x6008533")] [Address(RVA = "0x21A4930", Offset = "0x21A3330", VA = "0x1821A4930", Slot = "2")] public override int GetHashCode() { bool flag = this.SatisfiesOrder(); if (!flag) { } flag.Finalize(); if (this.m_x != (ulong)0L || this.m_y != (ulong)0L) { bool flag2 = this.IsNormalized(); short num; num.Finalize(); ushort num2; num2.Finalize(); long num3 = (long)((uint)num2 * (uint)257); } throw new NullReferenceException(); } // Token: 0x06008534 RID: 34100 RVA: 0x001CF8F4 File Offset: 0x001CDAF4 [Token(Token = "0x6008534")] [Address(RVA = "0x21A5690", Offset = "0x21A4090", VA = "0x1821A5690", Slot = "3")] public override string ToString() { if (this.m_x == (ulong)0L && this.m_y == (ulong)0L) { return "INF"; } StringBuilder stringBuilder = new StringBuilder(); ECFieldElement x = this.m_x; StringBuilder stringBuilder2 = stringBuilder.Append(x); ECFieldElement y = this.m_y; StringBuilder stringBuilder3 = stringBuilder.Append(y); ECFieldElement[] zs = this.m_zs; int num = 0; if (num < zs.Length) { ECFieldElement ecfieldElement = this.m_zs[num]; StringBuilder stringBuilder4 = stringBuilder.Append(ecfieldElement); ECFieldElement[] zs2 = this.m_zs; num++; } throw new NullReferenceException(); } // Token: 0x06008535 RID: 34101 RVA: 0x001CF988 File Offset: 0x001CDB88 [Token(Token = "0x6008535")] [Address(RVA = "0x21A4910", Offset = "0x21A3310", VA = "0x1821A4910", Slot = "23")] public virtual byte[] GetEncoded() { /* An exception occurred when decompiling this method (06008535) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint::GetEncoded() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:bool(var_0_06, call:bool(ECPoint::SatisfiesCurveEquation, ldloc: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: 0x06008536 RID: 34102 [Token(Token = "0x6008536")] [Address(Slot = "24")] public abstract byte[] GetEncoded(bool compressed); // Token: 0x17001570 RID: 5488 // (get) Token: 0x06008537 RID: 34103 [Token(Token = "0x17001570")] protected internal abstract bool CompressionYTilde { [Token(Token = "0x6008537")] [Address(Slot = "25")] get; } // Token: 0x06008538 RID: 34104 [Token(Token = "0x6008538")] [Address(Slot = "26")] public abstract ECPoint Add(ECPoint b); // Token: 0x06008539 RID: 34105 [Token(Token = "0x6008539")] [Address(Slot = "27")] public abstract ECPoint Subtract(ECPoint b); // Token: 0x0600853A RID: 34106 [Token(Token = "0x600853A")] [Address(Slot = "28")] public abstract ECPoint Negate(); // Token: 0x0600853B RID: 34107 RVA: 0x001CF99C File Offset: 0x001CDB9C [Token(Token = "0x600853B")] [Address(RVA = "0x21A55F0", Offset = "0x21A3FF0", VA = "0x1821A55F0", Slot = "29")] public virtual ECPoint TimesPow2(int e) { ECPoint ecpoint; return ecpoint; } // Token: 0x0600853C RID: 34108 [Token(Token = "0x600853C")] [Address(Slot = "30")] public abstract ECPoint Twice(); // Token: 0x0600853D RID: 34109 [Token(Token = "0x600853D")] [Address(Slot = "31")] public abstract ECPoint Multiply(BigInteger b); // Token: 0x0600853E RID: 34110 RVA: 0x001CF9BC File Offset: 0x001CDBBC [Token(Token = "0x600853E")] [Address(RVA = "0x21A57E0", Offset = "0x21A41E0", VA = "0x1821A57E0", Slot = "32")] public virtual ECPoint TwicePlus(ECPoint b) { ECPoint ecpoint; bool flag = ecpoint.SatisfiesCurveEquation(); throw new NullReferenceException(); } // Token: 0x0600853F RID: 34111 RVA: 0x001CF9D8 File Offset: 0x001CDBD8 [Token(Token = "0x600853F")] [Address(RVA = "0x21A55D0", Offset = "0x21A3FD0", VA = "0x1821A55D0", Slot = "33")] public virtual ECPoint ThreeTimes() { /* An exception occurred when decompiling this method (0600853F) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECPoint::ThreeTimes() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:bool(var_0_06, call:bool(ECPoint::SatisfiesCurveEquation, ldloc: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: 0x04005C4C RID: 23628 [Token(Token = "0x4005C4C")] protected static ECFieldElement[] EMPTY_ZS = new ECFieldElement[0]; // Token: 0x04005C4D RID: 23629 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4005C4D")] protected internal readonly ECCurve m_curve; // Token: 0x04005C4E RID: 23630 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4005C4E")] protected internal readonly ECFieldElement m_x; // Token: 0x04005C4F RID: 23631 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4005C4F")] protected internal readonly ECFieldElement m_y; // Token: 0x04005C50 RID: 23632 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4005C50")] protected internal readonly ECFieldElement[] m_zs; // Token: 0x04005C51 RID: 23633 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4005C51")] protected internal readonly bool m_withCompression; // Token: 0x04005C52 RID: 23634 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4005C52")] protected internal IDictionary m_preCompTable; // Token: 0x02001420 RID: 5152 [Token(Token = "0x2001420")] private class ValidityCallback : IPreCompCallback { // Token: 0x06008541 RID: 34113 RVA: 0x001CFA04 File Offset: 0x001CDC04 [Token(Token = "0x6008541")] [Address(RVA = "0x21B2FF0", Offset = "0x21B19F0", VA = "0x1821B2FF0")] internal ValidityCallback(ECPoint outer, bool decompressed, bool checkOrder) { this.m_outer = outer; this.m_decompressed = decompressed; this.m_checkOrder = checkOrder; } // Token: 0x06008542 RID: 34114 RVA: 0x001CFA2C File Offset: 0x001CDC2C [Token(Token = "0x6008542")] [Address(RVA = "0x21B2EB0", Offset = "0x21B18B0", VA = "0x1821B2EB0", Slot = "4")] public PreCompInfo Precompute(PreCompInfo existing) { ValidityPreCompInfo validityPreCompInfo; if (existing == 0 || existing == 0) { validityPreCompInfo = new ValidityPreCompInfo(); } if (!validityPreCompInfo.failed) { if (!validityPreCompInfo.curveEquationPassed) { if (!this.m_decompressed && this.m_outer.ToString() == 0) { goto IL_65; } validityPreCompInfo.ReportCurveEquationPassed(); } if (this.m_checkOrder && !validityPreCompInfo.orderPassed && this.m_outer.SatisfiesCurveEquation()) { validityPreCompInfo.ReportOrderPassed(); } } IL_65: throw new NullReferenceException(); } // Token: 0x04005C53 RID: 23635 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4005C53")] private readonly ECPoint m_outer; // Token: 0x04005C54 RID: 23636 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4005C54")] private readonly bool m_decompressed; // Token: 0x04005C55 RID: 23637 [global::Cpp2IlInjected.FieldOffset(Offset = "0x19")] [Token(Token = "0x4005C55")] private readonly bool m_checkOrder; } } }