using System; using System.Runtime.InteropServices; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC { // Token: 0x02001419 RID: 5145 [Token(Token = "0x2001419")] [StructLayout(3)] public abstract class ECFieldElement { // Token: 0x060084B0 RID: 33968 [Token(Token = "0x60084B0")] [Address(Slot = "4")] public abstract BigInteger ToBigInteger(); // Token: 0x17001552 RID: 5458 // (get) Token: 0x060084B1 RID: 33969 [Token(Token = "0x17001552")] public abstract string FieldName { [Token(Token = "0x60084B1")] [Address(Slot = "5")] get; } // Token: 0x17001553 RID: 5459 // (get) Token: 0x060084B2 RID: 33970 [Token(Token = "0x17001553")] public abstract int FieldSize { [Token(Token = "0x60084B2")] [Address(Slot = "6")] get; } // Token: 0x060084B3 RID: 33971 [Token(Token = "0x60084B3")] [Address(Slot = "7")] public abstract ECFieldElement Add(ECFieldElement b); // Token: 0x060084B4 RID: 33972 [Token(Token = "0x60084B4")] [Address(Slot = "8")] public abstract ECFieldElement AddOne(); // Token: 0x060084B5 RID: 33973 [Token(Token = "0x60084B5")] [Address(Slot = "9")] public abstract ECFieldElement Subtract(ECFieldElement b); // Token: 0x060084B6 RID: 33974 [Token(Token = "0x60084B6")] [Address(Slot = "10")] public abstract ECFieldElement Multiply(ECFieldElement b); // Token: 0x060084B7 RID: 33975 [Token(Token = "0x60084B7")] [Address(Slot = "11")] public abstract ECFieldElement Divide(ECFieldElement b); // Token: 0x060084B8 RID: 33976 [Token(Token = "0x60084B8")] [Address(Slot = "12")] public abstract ECFieldElement Negate(); // Token: 0x060084B9 RID: 33977 [Token(Token = "0x60084B9")] [Address(Slot = "13")] public abstract ECFieldElement Square(); // Token: 0x060084BA RID: 33978 [Token(Token = "0x60084BA")] [Address(Slot = "14")] public abstract ECFieldElement Invert(); // Token: 0x060084BB RID: 33979 [Token(Token = "0x60084BB")] [Address(Slot = "15")] public abstract ECFieldElement Sqrt(); // Token: 0x17001554 RID: 5460 // (get) Token: 0x060084BC RID: 33980 RVA: 0x001CDB40 File Offset: 0x001CBD40 [Token(Token = "0x17001554")] public virtual int BitLength { [Token(Token = "0x60084BC")] [Address(RVA = "0x21A3EC0", Offset = "0x21A28C0", VA = "0x1821A3EC0", Slot = "16")] get { string text = this.ToString(); int num; return num; } } // Token: 0x17001555 RID: 5461 // (get) Token: 0x060084BD RID: 33981 RVA: 0x001CDB5C File Offset: 0x001CBD5C [Token(Token = "0x17001555")] public virtual bool IsOne { [Token(Token = "0x60084BD")] [Address(RVA = "0x21A3EF0", Offset = "0x21A28F0", VA = "0x1821A3EF0", Slot = "17")] get { return this.Sqrt() == (ulong)1L; } } // Token: 0x17001556 RID: 5462 // (get) Token: 0x060084BE RID: 33982 RVA: 0x001CDB74 File Offset: 0x001CBD74 [Token(Token = "0x17001556")] public virtual bool IsZero { [Token(Token = "0x60084BE")] [Address(RVA = "0x21A3F10", Offset = "0x21A2910", VA = "0x1821A3F10", Slot = "18")] get { string text = this.ToString(); bool flag; return flag; } } // Token: 0x060084BF RID: 33983 RVA: 0x001CDB90 File Offset: 0x001CBD90 [Token(Token = "0x60084BF")] [Address(RVA = "0x21A3C00", Offset = "0x21A2600", VA = "0x1821A3C00", Slot = "19")] public virtual ECFieldElement MultiplyMinusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y) { ECFieldElement ecfieldElement = this.Subtract(b); ECFieldElement ecfieldElement2 = x.Subtract(y); BigInteger bigInteger = ecfieldElement.ToBigInteger(); throw new NullReferenceException(); } // Token: 0x060084C0 RID: 33984 RVA: 0x001CDBBC File Offset: 0x001CBDBC [Token(Token = "0x60084C0")] [Address(RVA = "0x21A3C80", Offset = "0x21A2680", VA = "0x1821A3C80", Slot = "20")] public virtual ECFieldElement MultiplyPlusProduct(ECFieldElement b, ECFieldElement x, ECFieldElement y) { ECFieldElement ecfieldElement = this.Subtract(b); ECFieldElement ecfieldElement2 = x.Subtract(y); BigInteger bigInteger = ecfieldElement.ToBigInteger(); throw new NullReferenceException(); } // Token: 0x060084C1 RID: 33985 RVA: 0x001CDBE8 File Offset: 0x001CBDE8 [Token(Token = "0x60084C1")] [Address(RVA = "0x21A3D00", Offset = "0x21A2700", VA = "0x1821A3D00", Slot = "21")] public virtual ECFieldElement SquareMinusProduct(ECFieldElement x, ECFieldElement y) { ECFieldElement ecfieldElement = this.Negate(); ECFieldElement ecfieldElement2 = x.Subtract(y); BigInteger bigInteger = ecfieldElement.ToBigInteger(); throw new NullReferenceException(); } // Token: 0x060084C2 RID: 33986 RVA: 0x001CDC10 File Offset: 0x001CBE10 [Token(Token = "0x60084C2")] [Address(RVA = "0x21A3D80", Offset = "0x21A2780", VA = "0x1821A3D80", Slot = "22")] public virtual ECFieldElement SquarePlusProduct(ECFieldElement x, ECFieldElement y) { ECFieldElement ecfieldElement = this.Negate(); ECFieldElement ecfieldElement2 = x.Subtract(y); BigInteger bigInteger = ecfieldElement.ToBigInteger(); throw new NullReferenceException(); } // Token: 0x060084C3 RID: 33987 RVA: 0x001CDC38 File Offset: 0x001CBE38 [Token(Token = "0x60084C3")] [Address(RVA = "0x21A3E00", Offset = "0x21A2800", VA = "0x1821A3E00", Slot = "23")] public virtual ECFieldElement SquarePow(int pow) { int num = 0; ECFieldElement ecfieldElement; if (pow > 0) { ecfieldElement = this.Negate(); num++; } return ecfieldElement; } // Token: 0x060084C4 RID: 33988 RVA: 0x001CDC60 File Offset: 0x001CBE60 [Token(Token = "0x60084C4")] [Address(RVA = "0x21A3E50", Offset = "0x21A2850", VA = "0x1821A3E50", Slot = "24")] public virtual bool TestBitZero() { string text = this.ToString(); bool flag; return flag; } // Token: 0x060084C5 RID: 33989 RVA: 0x001CDC80 File Offset: 0x001CBE80 [Token(Token = "0x60084C5")] [Address(RVA = "0x21A3A50", Offset = "0x21A2450", VA = "0x1821A3A50", Slot = "0")] public override bool Equals(object obj) { /* An exception occurred when decompiling this method (060084C5) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.ECFieldElement::Equals(System.Object) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_04: stloc:BigInteger(var_1_0C, call:BigInteger(ECFieldElement::ToBigInteger, ldloc:ECFieldElement(this))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x060084C6 RID: 33990 RVA: 0x001CDC9C File Offset: 0x001CBE9C [Token(Token = "0x60084C6")] [Address(RVA = "0x21A3AE0", Offset = "0x21A24E0", VA = "0x1821A3AE0", Slot = "25")] public virtual bool Equals(ECFieldElement other) { if (this != other) { if (other != 0) { string text = this.ToString(); string text2 = other.ToString(); object obj = ((ICloneable)text).Clone(); } } return true; } // Token: 0x060084C7 RID: 33991 RVA: 0x001CDCD0 File Offset: 0x001CBED0 [Token(Token = "0x60084C7")] [Address(RVA = "0x21A3BC0", Offset = "0x21A25C0", VA = "0x1821A3BC0", Slot = "2")] public override int GetHashCode() { object obj = ((ICloneable)this.ToString()).Clone(); throw new NullReferenceException(); } // Token: 0x060084C8 RID: 33992 RVA: 0x001CDCF0 File Offset: 0x001CBEF0 [Token(Token = "0x60084C8")] [Address(RVA = "0x21A3E80", Offset = "0x21A2880", VA = "0x1821A3E80", Slot = "3")] public override string ToString() { string text = this.ToString(); string text2; return text2; } // Token: 0x060084C9 RID: 33993 RVA: 0x001CDD0C File Offset: 0x001CBF0C [Token(Token = "0x60084C9")] [Address(RVA = "0x21A3B60", Offset = "0x21A2560", VA = "0x1821A3B60", Slot = "26")] public virtual byte[] GetEncoded() { string fieldName = this.FieldName; string text = this.ToString(); byte[] array; return array; } // Token: 0x060084CA RID: 33994 RVA: 0x001CDD28 File Offset: 0x001CBF28 [Token(Token = "0x60084CA")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] protected ECFieldElement() { } } }