This commit is contained in:
niko
2026-04-08 23:40:05 +02:00
parent d6894bcbc7
commit 18dc73f922
7750 changed files with 1795369 additions and 0 deletions
@@ -0,0 +1,826 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math
{
// Token: 0x020013F8 RID: 5112
[Token(Token = "0x20013F8")]
[StructLayout(3)]
public abstract class Primes
{
// Token: 0x0600828F RID: 33423 RVA: 0x001BEB4C File Offset: 0x001BCD4C
[Token(Token = "0x600828F")]
[Address(RVA = "0x20C1D60", Offset = "0x20C0760", VA = "0x1820C1D60")]
public static Primes.STOutput GenerateSTRandomPrime(IDigest hash, int length, byte[] inputSeed)
{
/*
An exception occurred when decompiling this method (0600828F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes/STOutput BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes::GenerateSTRandomPrime(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest,System.Int32,System.Byte[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_2C:
stloc:ArgumentException(var_2_3B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("cannot be empty"), ldstr:string("inputSeed")))
}
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.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.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: 0x06008290 RID: 33424 RVA: 0x001BEB94 File Offset: 0x001BCD94
[Token(Token = "0x6008290")]
[Address(RVA = "0x20C16E0", Offset = "0x20C00E0", VA = "0x1820C16E0")]
public static Primes.MROutput EnhancedMRProbablePrimeTest(BigInteger candidate, SecureRandom random, int iterations)
{
/*
An exception occurred when decompiling this method (06008290)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes/MROutput BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes::EnhancedMRProbablePrimeTest(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Security.SecureRandom,System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_114:
stloc:ArgumentNullException(var_26_11E, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("random")))
}
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: 0x06008291 RID: 33425 RVA: 0x001BECC0 File Offset: 0x001BCEC0
[Token(Token = "0x6008291")]
[Address(RVA = "0x20C1F00", Offset = "0x20C0900", VA = "0x1820C1F00")]
public static bool HasAnySmallFactors(BigInteger candidate)
{
Primes.CheckCandidate(candidate, "candidate");
return Primes.ImplHasAnySmallFactors(candidate);
}
// Token: 0x06008292 RID: 33426 RVA: 0x001BECE0 File Offset: 0x001BCEE0
[Token(Token = "0x6008292")]
[Address(RVA = "0x20C39C0", Offset = "0x20C23C0", VA = "0x1820C39C0")]
public static bool IsMRProbablePrime(BigInteger candidate, SecureRandom random, int iterations)
{
/*
An exception occurred when decompiling this method (06008292)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes::IsMRProbablePrime(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,BestHTTP.SecureProtocol.Org.BouncyCastle.Security.SecureRandom,System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_81:
stloc:ArgumentException(var_10_90, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("cannot be null"), ldstr:string("random")))
}
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: 0x06008293 RID: 33427 RVA: 0x001BED80 File Offset: 0x001BCF80
[Token(Token = "0x6008293")]
[Address(RVA = "0x20C3810", Offset = "0x20C2210", VA = "0x1820C3810")]
public static bool IsMRProbablePrimeToBase(BigInteger candidate, BigInteger baseValue)
{
Primes.CheckCandidate(candidate, "candidate");
Primes.CheckCandidate(baseValue, "baseValue");
BigInteger one = Primes.One;
BigInteger bigInteger = candidate.Subtract(one);
int num = baseValue.CompareTo(bigInteger);
if (candidate.BitLength != 2)
{
BigInteger one2 = Primes.One;
BigInteger bigInteger2 = candidate.Subtract(one2);
int lowestSetBit = bigInteger2.GetLowestSetBit();
BigInteger bigInteger3 = bigInteger2.ShiftRight(lowestSetBit);
return Primes.ImplMRProbablePrimeToBase(candidate, bigInteger2, bigInteger3, lowestSetBit, baseValue);
}
throw new NullReferenceException();
}
// Token: 0x06008294 RID: 33428 RVA: 0x001BEDF8 File Offset: 0x001BCFF8
[Token(Token = "0x6008294")]
[Address(RVA = "0x20C1650", Offset = "0x20C0050", VA = "0x1820C1650")]
private static void CheckCandidate(BigInteger n, string name)
{
/*
An exception occurred when decompiling this method (06008294)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes::CheckCandidate(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger,System.String)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_0C:
stloc:ArgumentException(var_1_17, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must be non-null and >= 2"), ldloc:string(name)))
}
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: 0x06008295 RID: 33429 RVA: 0x001BEE1C File Offset: 0x001BD01C
[Token(Token = "0x6008295")]
[Address(RVA = "0x20C21E0", Offset = "0x20C0BE0", VA = "0x1820C21E0")]
private static bool ImplHasAnySmallFactors(BigInteger x)
{
uint num;
BigInteger bigInteger = BigInteger.ValueOf((long)num);
int num2 = x.Mod(bigInteger).IntValue;
if (num2 != 1 && num2 != 1)
{
ulong num3;
num3 += num3;
if (num2 != 1)
{
ulong num4;
num4 += num4;
long num5 = (long)(num4 * (ulong)((uint)7));
num2 = (int)((long)num2 - num5);
if (num2 != 1)
{
ulong num6;
num6 += num6;
long num7 = (long)(num6 * (ulong)((uint)11));
num2 = (int)((long)num2 - num7);
if (num2 != 1)
{
ulong num8;
num8 += num8;
long num9 = (long)(num8 * (ulong)((uint)13));
num2 = (int)((long)num2 - num9);
if (num2 != 1)
{
ulong num10;
num10 += num10;
long num11 = (long)(num10 * (ulong)((uint)17));
num2 = (int)((long)num2 - num11);
if (num2 != 1)
{
ulong num12;
num12 += num12;
long num13 = (long)(num12 * (ulong)((uint)19));
num2 = (int)((long)num2 - num13);
if (num2 != 1)
{
ulong num14;
num14 += num14;
long num15 = (long)(num14 * (ulong)((uint)23));
if ((long)num2 != num15)
{
uint num16;
BigInteger bigInteger2 = BigInteger.ValueOf((long)num16);
int num17 = x.Mod(bigInteger2).IntValue;
ulong num18;
num18 += num18;
long num19 = (long)(num18 * (ulong)((uint)29));
if ((long)num17 != num19)
{
ulong num20;
num20 += num20;
long num21 = (long)(num20 * (ulong)((uint)31));
num17 = (int)((long)num17 - num21);
if ((long)num17 != num19)
{
ulong num22;
num22 += num22;
long num23 = (long)(num22 * (ulong)((uint)37));
num17 = (int)((long)num17 - num23);
if ((long)num17 != num19)
{
ulong num24;
num24 += num24;
long num25 = (long)(num24 * (ulong)((uint)41));
num17 = (int)((long)num17 - num25);
if ((long)num17 != num19)
{
ulong num26;
num26 += num26;
long num27 = (long)(num26 * (ulong)((uint)43));
if ((long)num17 != num27)
{
uint num28;
BigInteger bigInteger3 = BigInteger.ValueOf((long)num28);
int num29 = x.Mod(bigInteger3).IntValue;
ulong num30;
num30 += num30;
long num31 = (long)(num30 * (ulong)((uint)47));
if ((long)num29 != num31)
{
ulong num32;
num32 += num32;
long num33 = (long)(num32 * (ulong)((uint)53));
num29 = (int)((long)num29 - num33);
if ((long)num29 != num31)
{
ulong num34;
num34 += num34;
long num35 = (long)(num34 * (ulong)((uint)59));
num29 = (int)((long)num29 - num35);
if ((long)num29 != num31)
{
ulong num36;
num36 += num36;
long num37 = (long)(num36 * (ulong)((uint)61));
num29 = (int)((long)num29 - num37);
if ((long)num29 != num31)
{
ulong num38;
num38 += num38;
long num39 = (long)(num38 * (ulong)((uint)67));
if ((long)num29 != num39)
{
uint num40;
BigInteger bigInteger4 = BigInteger.ValueOf((long)num40);
int num41 = x.Mod(bigInteger4).IntValue;
ulong num42;
num42 += num42;
long num43 = (long)(num42 * (ulong)((uint)71));
if ((long)num41 != num43)
{
ulong num44;
num44 += num44;
long num45 = (long)(num44 * (ulong)((uint)73));
num41 = (int)((long)num41 - num45);
if ((long)num41 != num43)
{
ulong num46;
num46 += num46;
long num47 = (long)(num46 * (ulong)((uint)79));
num41 = (int)((long)num41 - num47);
if ((long)num41 != num43)
{
ulong num48;
num48 += num48;
long num49 = (long)(num48 * (ulong)((uint)83));
if ((long)num41 != num49)
{
uint num50;
BigInteger bigInteger5 = BigInteger.ValueOf((long)num50);
int num51 = x.Mod(bigInteger5).IntValue;
ulong num52;
num52 += num52;
long num53 = (long)(num52 * (ulong)((uint)89));
if ((long)num51 != num53)
{
ulong num54;
num54 += num54;
long num55 = (long)(num54 * (ulong)((uint)97));
num51 = (int)((long)num51 - num55);
if ((long)num51 != num53)
{
ulong num56;
num56 += num56;
long num57 = (long)(num56 * (ulong)((uint)101));
num51 = (int)((long)num51 - num57);
if ((long)num51 != num53)
{
ulong num58;
num58 += num58;
long num59 = (long)(num58 * (ulong)((uint)103));
if ((long)num51 != num59)
{
uint num60;
BigInteger bigInteger6 = BigInteger.ValueOf((long)num60);
int num61 = x.Mod(bigInteger6).IntValue;
ulong num62;
num62 += num62;
long num63 = (long)(num62 * (ulong)((uint)107));
if ((long)num61 != num63)
{
ulong num64;
num64 += num64;
long num65 = (long)(num64 * (ulong)((uint)109));
num61 = (int)((long)num61 - num65);
if ((long)num61 != num63)
{
ulong num66;
num66 += num66;
long num67 = (long)(num66 * (ulong)((uint)113));
num61 = (int)((long)num61 - num67);
if ((long)num61 != num63)
{
ulong num68;
num68 += num68;
long num69 = (long)(num68 * (ulong)((uint)127));
if ((long)num61 != num69)
{
uint num70;
BigInteger bigInteger7 = BigInteger.ValueOf((long)num70);
int num71 = x.Mod(bigInteger7).IntValue;
ulong num72;
num72 += num72;
long num73 = (long)(num72 * (ulong)((uint)131));
if ((long)num71 != num73)
{
ulong num74;
num74 += num74;
long num75 = (long)(num74 * (ulong)((uint)137));
num71 = (int)((long)num71 - num75);
if ((long)num71 != num73)
{
ulong num76;
num76 += num76;
long num77 = (long)(num76 * (ulong)((uint)139));
num71 = (int)((long)num71 - num77);
if ((long)num71 != num73)
{
ulong num78;
num78 += num78;
long num79 = (long)(num78 * (ulong)((uint)149));
if ((long)num71 != num79)
{
uint num80;
BigInteger bigInteger8 = BigInteger.ValueOf((long)num80);
int num81 = x.Mod(bigInteger8).IntValue;
ulong num82;
num82 += num82;
long num83 = (long)(num82 * (ulong)((uint)151));
if ((long)num81 != num83)
{
ulong num84;
num84 += num84;
long num85 = (long)(num84 * (ulong)((uint)157));
num81 = (int)((long)num81 - num85);
if ((long)num81 != num83)
{
ulong num86;
num86 += num86;
long num87 = (long)(num86 * (ulong)((uint)163));
num81 = (int)((long)num81 - num87);
if ((long)num81 != num83)
{
ulong num88;
num88 += num88;
long num89 = (long)(num88 * (ulong)((uint)167));
if ((long)num81 != num89)
{
uint num90;
BigInteger bigInteger9 = BigInteger.ValueOf((long)num90);
int num91 = x.Mod(bigInteger9).IntValue;
ulong num92;
num92 += num92;
long num93 = (long)(num92 * (ulong)((uint)173));
if ((long)num91 != num93)
{
ulong num94;
num94 += num94;
long num95 = (long)(num94 * (ulong)((uint)179));
num91 = (int)((long)num91 - num95);
if ((long)num91 != num93)
{
ulong num96;
num96 += num96;
long num97 = (long)(num96 * (ulong)((uint)181));
num91 = (int)((long)num91 - num97);
if ((long)num91 != num93)
{
ulong num98;
num98 += num98;
long num99 = (long)(num98 * (ulong)((uint)191));
if ((long)num91 != num99)
{
uint num100;
BigInteger bigInteger10 = BigInteger.ValueOf((long)num100);
int num101 = x.Mod(bigInteger10).IntValue;
ulong num102;
num102 += num102;
long num103 = (long)(num102 * (ulong)((uint)193));
if ((long)num101 != num103)
{
ulong num104;
num104 += num104;
long num105 = (long)(num104 * (ulong)((uint)197));
num101 = (int)((long)num101 - num105);
if ((long)num101 != num103)
{
ulong num106;
num106 += num106;
long num107 = (long)(num106 * (ulong)((uint)199));
num101 = (int)((long)num101 - num107);
if ((long)num101 != num103)
{
ulong num108;
num108 += num108;
long num109 = (long)(num108 * (ulong)((uint)211));
if ((long)num101 != num109)
{
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
throw new NullReferenceException();
}
// Token: 0x06008296 RID: 33430 RVA: 0x001BF414 File Offset: 0x001BD614
[Token(Token = "0x6008296")]
[Address(RVA = "0x20C2B20", Offset = "0x20C1520", VA = "0x1820C2B20")]
private static bool ImplMRProbablePrimeToBase(BigInteger w, BigInteger wSubOne, BigInteger m, int a, BigInteger b)
{
if (a > 1)
{
BigInteger two = Primes.Two;
BigInteger bigInteger2;
BigInteger bigInteger = bigInteger2.ModPow(two, w);
}
throw new NullReferenceException();
}
// Token: 0x06008297 RID: 33431 RVA: 0x001BF43C File Offset: 0x001BD63C
[Token(Token = "0x6008297")]
[Address(RVA = "0x20C2CF0", Offset = "0x20C16F0", VA = "0x1820C2CF0")]
private static Primes.STOutput ImplSTRandomPrime(IDigest d, int length, byte[] primeSeed)
{
/*
An exception occurred when decompiling this method (06008297)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes/STOutput BestHTTP.SecureProtocol.Org.BouncyCastle.Math.Primes::ImplSTRandomPrime(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest,System.Int32,System.Byte[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_2F8:
stloc:InvalidOperationException(var_65_302, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Too many iterations in Shawe-Taylor Random_Prime Routine")))
}
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: 0x06008298 RID: 33432 RVA: 0x001BF74C File Offset: 0x001BD94C
[Token(Token = "0x6008298")]
[Address(RVA = "0x20C1C90", Offset = "0x20C0690", VA = "0x1820C1C90")]
private static uint Extract32(byte[] bs)
{
int num = 0;
int length = bs.Length;
int num2 = Math.Min(4, length);
if (num2 > 0)
{
num2 = bs.Length;
num++;
num += 8;
}
throw new NullReferenceException();
}
// Token: 0x06008299 RID: 33433 RVA: 0x001BF784 File Offset: 0x001BD984
[Token(Token = "0x6008299")]
[Address(RVA = "0x20C20D0", Offset = "0x20C0AD0", VA = "0x1820C20D0")]
private static void Hash(IDigest d, byte[] input, byte[] output, int outPos)
{
int length = input.Length;
int num = 0;
if (num < d)
{
num += num;
num++;
}
string algorithmName = d.AlgorithmName;
}
// Token: 0x0600829A RID: 33434 RVA: 0x001BF7B4 File Offset: 0x001BD9B4
[Token(Token = "0x600829A")]
[Address(RVA = "0x20C1F70", Offset = "0x20C0970", VA = "0x1820C1F70")]
private static BigInteger HashGen(IDigest d, byte[] seed, int count)
{
byte[] array = new byte[0];
int num = 0;
if (count > 0)
{
int length = seed.Length;
uint num2;
byte b;
num2 += (uint)b;
num++;
}
return new BigInteger(1, array);
}
// Token: 0x0600829B RID: 33435 RVA: 0x001BF7EC File Offset: 0x001BD9EC
[Token(Token = "0x600829B")]
[Address(RVA = "0x20C37C0", Offset = "0x20C21C0", VA = "0x1820C37C0")]
private static void Inc(byte[] seed, int c)
{
int length = seed.Length;
if (c > 0)
{
}
}
// Token: 0x0600829C RID: 33436 RVA: 0x001BF80C File Offset: 0x001BDA0C
[Token(Token = "0x600829C")]
[Address(RVA = "0x20C3C20", Offset = "0x20C2620", VA = "0x1820C3C20")]
private static bool IsPrime32(uint x)
{
if (x > (uint)5)
{
if (x != (uint)1 && x != (uint)1 && x != (uint)1)
{
uint[] array = new uint[8];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.CF47311491B9DA067CDF3F5F087D7EFAF2B64F97).FieldHandle);
int num = 0;
int length = array.Length;
uint num2;
if (num2 < (uint)length)
{
int num3 = 0;
uint num4 = array[(int)num2];
num4 += (uint)num;
if (num3 == 0)
{
goto IL_64;
}
num2 += (uint)1;
}
num += 30;
if (num == -65536 && num * num < (int)x)
{
}
}
IL_64:;
}
return x == (uint)5;
}
// Token: 0x0600829D RID: 33437 RVA: 0x001BF88C File Offset: 0x001BDA8C
[Token(Token = "0x600829D")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
protected Primes()
{
}
// Token: 0x04005C04 RID: 23556
[Token(Token = "0x4005C04")]
public static readonly int SmallFactorLimit;
// Token: 0x04005C05 RID: 23557
[Token(Token = "0x4005C05")]
private static readonly BigInteger One = BigInteger.One;
// Token: 0x04005C06 RID: 23558
[Token(Token = "0x4005C06")]
private static readonly BigInteger Two = BigInteger.Two;
// Token: 0x04005C07 RID: 23559
[Token(Token = "0x4005C07")]
private static readonly BigInteger Three = BigInteger.Three;
// Token: 0x020013F9 RID: 5113
[Token(Token = "0x20013F9")]
public class MROutput
{
// Token: 0x0600829F RID: 33439 RVA: 0x001BF8CC File Offset: 0x001BDACC
[Token(Token = "0x600829F")]
[Address(RVA = "0x20AFA30", Offset = "0x20AE430", VA = "0x1820AFA30")]
internal static Primes.MROutput ProbablyPrime()
{
Primes.MROutput mroutput;
mroutput.mProvablyComposite = false;
mroutput.mFactor = (ulong)0L;
return mroutput;
}
// Token: 0x060082A0 RID: 33440 RVA: 0x001BF8EC File Offset: 0x001BDAEC
[Token(Token = "0x60082A0")]
[Address(RVA = "0x20AFAD0", Offset = "0x20AE4D0", VA = "0x1820AFAD0")]
internal static Primes.MROutput ProvablyCompositeWithFactor(BigInteger factor)
{
Primes.MROutput mroutput;
mroutput.mProvablyComposite = true;
mroutput.mFactor = factor;
return mroutput;
}
// Token: 0x060082A1 RID: 33441 RVA: 0x001BF908 File Offset: 0x001BDB08
[Token(Token = "0x60082A1")]
[Address(RVA = "0x20AFA80", Offset = "0x20AE480", VA = "0x1820AFA80")]
internal static Primes.MROutput ProvablyCompositeNotPrimePower()
{
Primes.MROutput mroutput;
mroutput.mProvablyComposite = true;
mroutput.mFactor = (ulong)0L;
return mroutput;
}
// Token: 0x060082A2 RID: 33442 RVA: 0x001BF928 File Offset: 0x001BDB28
[Token(Token = "0x60082A2")]
[Address(RVA = "0xB628E0", Offset = "0xB612E0", VA = "0x180B628E0")]
private MROutput(bool provablyComposite, BigInteger factor)
{
this.mProvablyComposite = provablyComposite;
this.mFactor = factor;
}
// Token: 0x1700152A RID: 5418
// (get) Token: 0x060082A3 RID: 33443 RVA: 0x001BF94C File Offset: 0x001BDB4C
[Token(Token = "0x1700152A")]
public BigInteger Factor
{
[Token(Token = "0x60082A3")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
get
{
return this.mFactor;
}
}
// Token: 0x1700152B RID: 5419
// (get) Token: 0x060082A4 RID: 33444 RVA: 0x001BF960 File Offset: 0x001BDB60
[Token(Token = "0x1700152B")]
public bool IsProvablyComposite
{
[Token(Token = "0x60082A4")]
[Address(RVA = "0x559440", Offset = "0x557E40", VA = "0x180559440")]
get
{
return this.mProvablyComposite;
}
}
// Token: 0x1700152C RID: 5420
// (get) Token: 0x060082A5 RID: 33445 RVA: 0x001BF974 File Offset: 0x001BDB74
[Token(Token = "0x1700152C")]
public bool IsNotPrimePower
{
[Token(Token = "0x60082A5")]
[Address(RVA = "0x20AFB30", Offset = "0x20AE530", VA = "0x1820AFB30")]
get
{
if (!this.mProvablyComposite)
{
}
return this.mFactor == (ulong)0L;
}
}
// Token: 0x04005C08 RID: 23560
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4005C08")]
private readonly bool mProvablyComposite;
// Token: 0x04005C09 RID: 23561
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4005C09")]
private readonly BigInteger mFactor;
}
// Token: 0x020013FA RID: 5114
[Token(Token = "0x20013FA")]
public class STOutput
{
// Token: 0x060082A6 RID: 33446 RVA: 0x001BF998 File Offset: 0x001BDB98
[Token(Token = "0x60082A6")]
[Address(RVA = "0x602F40", Offset = "0x601940", VA = "0x180602F40")]
internal STOutput(BigInteger prime, byte[] primeSeed, int primeGenCounter)
{
this.mPrime = prime;
this.mPrimeSeed = primeSeed;
this.mPrimeGenCounter = primeGenCounter;
}
// Token: 0x1700152D RID: 5421
// (get) Token: 0x060082A7 RID: 33447 RVA: 0x001BF9C0 File Offset: 0x001BDBC0
[Token(Token = "0x1700152D")]
public BigInteger Prime
{
[Token(Token = "0x60082A7")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get
{
return this.mPrime;
}
}
// Token: 0x1700152E RID: 5422
// (get) Token: 0x060082A8 RID: 33448 RVA: 0x001BF9D4 File Offset: 0x001BDBD4
[Token(Token = "0x1700152E")]
public byte[] PrimeSeed
{
[Token(Token = "0x60082A8")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
get
{
return this.mPrimeSeed;
}
}
// Token: 0x1700152F RID: 5423
// (get) Token: 0x060082A9 RID: 33449 RVA: 0x001BF9E8 File Offset: 0x001BDBE8
[Token(Token = "0x1700152F")]
public int PrimeGenCounter
{
[Token(Token = "0x60082A9")]
[Address(RVA = "0x4FBD40", Offset = "0x4FA740", VA = "0x1804FBD40")]
get
{
return this.mPrimeGenCounter;
}
}
// Token: 0x04005C0A RID: 23562
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4005C0A")]
private readonly BigInteger mPrime;
// Token: 0x04005C0B RID: 23563
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4005C0B")]
private readonly byte[] mPrimeSeed;
// Token: 0x04005C0C RID: 23564
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4005C0C")]
private readonly int mPrimeGenCounter;
}
}
}