Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Math/EC/LongArray.cs
T
2026-04-08 23:40:05 +02:00

1336 lines
44 KiB
C#

using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC
{
// Token: 0x02001427 RID: 5159
[Token(Token = "0x2001427")]
[StructLayout(3)]
internal class LongArray
{
// Token: 0x06008573 RID: 34163 RVA: 0x001D12C4 File Offset: 0x001CF4C4
[Token(Token = "0x6008573")]
[Address(RVA = "0x20940B0", Offset = "0x2092AB0", VA = "0x1820940B0")]
public LongArray(int intLen)
{
long[] array = new long[intLen];
this.m_ints = array;
}
// Token: 0x06008574 RID: 34164 RVA: 0x001D12E8 File Offset: 0x001CF4E8
[Token(Token = "0x6008574")]
[Address(RVA = "0x3C3A30", Offset = "0x3C2430", VA = "0x1803C3A30")]
public LongArray(long[] ints)
{
this.m_ints = ints;
}
// Token: 0x06008575 RID: 34165 RVA: 0x001D1304 File Offset: 0x001CF504
[Token(Token = "0x6008575")]
[Address(RVA = "0x2093DB0", Offset = "0x20927B0", VA = "0x182093DB0")]
public LongArray(long[] ints, int off, int len)
{
if (off == 0 && len == ints.Length)
{
this.m_ints = ints;
}
long[] array = new long[len];
int num = 0;
this.m_ints = array;
Array.Copy(ints, len, array, num, len);
}
// Token: 0x06008576 RID: 34166 RVA: 0x001D134C File Offset: 0x001CF54C
[Token(Token = "0x6008576")]
[Address(RVA = "0x2093E60", Offset = "0x2092860", VA = "0x182093E60")]
public LongArray(BigInteger bigInt)
{
/*
An exception occurred when decompiling this method (06008576)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.LongArray::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Math.BigInteger)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_A8:
stloc:ArgumentException(var_15_B7, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("invalid F2m field value"), ldstr:string("bigInt")))
}
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: 0x06008577 RID: 34167 RVA: 0x001D1414 File Offset: 0x001CF614
[Token(Token = "0x6008577")]
[Address(RVA = "0x208E320", Offset = "0x208CD20", VA = "0x18208E320")]
internal void CopyTo(long[] z, int zOff)
{
long[] ints = this.m_ints;
int length = ints.Length;
int num = 0;
Array.Copy(ints, num, z, zOff, length);
}
// Token: 0x06008578 RID: 34168 RVA: 0x001D1444 File Offset: 0x001CF644
[Token(Token = "0x6008578")]
[Address(RVA = "0x208FDF0", Offset = "0x208E7F0", VA = "0x18208FDF0")]
public bool IsOne()
{
int length = this.m_ints.Length;
if ("{il2cpp array field local1->}" == (ulong)1L && ((uint)1 >= (uint)length || "{il2cpp array field local1->}" == (ulong)0L))
{
return true;
}
throw new NullReferenceException();
}
// Token: 0x06008579 RID: 34169 RVA: 0x001D1480 File Offset: 0x001CF680
[Token(Token = "0x6008579")]
[Address(RVA = "0x208FE60", Offset = "0x208E860", VA = "0x18208FE60")]
public bool IsZero()
{
long[] ints = this.m_ints;
int num = 0;
int length = ints.Length;
if (num < length)
{
if ("{il2cpp array field local1->}" == (ulong)0L)
{
num++;
}
}
return true;
}
// Token: 0x0600857A RID: 34170 RVA: 0x001D14B8 File Offset: 0x001CF6B8
[Token(Token = "0x600857A")]
[Address(RVA = "0x208EBC0", Offset = "0x208D5C0", VA = "0x18208EBC0")]
public int GetUsedLength()
{
int num = this.m_ints.Length;
long[] ints = this.m_ints;
int num2 = ints.Length;
num = Math.Min(num, num2);
int length = ints.Length;
if ("{il2cpp array field local3->}" == (ulong)0L)
{
int num3 = num - 1;
num2 = num;
if ("{il2cpp array field local3->}" == (ulong)0L)
{
}
return num2;
}
int num4 = num - 1;
num2 = num;
while ("{il2cpp array field local3->}" == (ulong)0L)
{
}
return num2;
}
// Token: 0x0600857B RID: 34171 RVA: 0x001D1534 File Offset: 0x001CF734
[Token(Token = "0x600857B")]
[Address(RVA = "0x208EAB0", Offset = "0x208D4B0", VA = "0x18208EAB0")]
public int GetUsedLengthFrom(int from)
{
long[] ints = this.m_ints;
int num = ints.Length;
int num2 = Math.Min(from, num);
num = num2;
int length = ints.Length;
if ("{il2cpp array field local2->}" != (ulong)0L)
{
int num3 = num - 1;
num2 = num;
while ("{il2cpp array field local2->}" == (ulong)0L)
{
}
return num2;
}
int num4 = num - 1;
if ("{il2cpp array field local2->}" == (ulong)0L)
{
return 0;
}
return from;
}
// Token: 0x0600857C RID: 34172 RVA: 0x001D15A0 File Offset: 0x001CF7A0
[Token(Token = "0x600857C")]
[Address(RVA = "0x208E4B0", Offset = "0x208CEB0", VA = "0x18208E4B0")]
public int Degree()
{
long[] ints = this.m_ints;
int length = ints.Length;
if (length != 0)
{
int num = LongArray.BitLength(ints[length]);
return num + length;
}
return 0;
}
// Token: 0x0600857D RID: 34173 RVA: 0x001D15DC File Offset: 0x001CF7DC
[Token(Token = "0x600857D")]
[Address(RVA = "0x208E3F0", Offset = "0x208CDF0", VA = "0x18208E3F0")]
private int DegreeFrom(int limit)
{
if (limit != 0)
{
int num = LongArray.BitLength(this.m_ints[limit]);
return num + limit;
}
return 0;
}
// Token: 0x0600857E RID: 34174 RVA: 0x001D160C File Offset: 0x001CF80C
[Token(Token = "0x600857E")]
[Address(RVA = "0x208E110", Offset = "0x208CB10", VA = "0x18208E110")]
private static int BitLength(long w)
{
byte[] bitLengths = LongArray.BitLengths;
byte[] bitLengths2 = LongArray.BitLengths;
byte[] bitLengths3 = LongArray.BitLengths;
byte[] bitLengths4 = LongArray.BitLengths;
throw new NullReferenceException();
}
// Token: 0x0600857F RID: 34175 RVA: 0x001D1638 File Offset: 0x001CF838
[Token(Token = "0x600857F")]
[Address(RVA = "0x2093260", Offset = "0x2091C60", VA = "0x182093260")]
private long[] ResizedInts(int newLen)
{
long[] array = new long[newLen];
long[] ints = this.m_ints;
int num = Math.Min(ints.Length, newLen);
int num2 = 0;
int num3 = 0;
Array.Copy(ints, num3, array, num2, num);
return array;
}
// Token: 0x06008580 RID: 34176 RVA: 0x001D1678 File Offset: 0x001CF878
[Token(Token = "0x6008580")]
[Address(RVA = "0x20937E0", Offset = "0x20921E0", VA = "0x1820937E0")]
public BigInteger ToBigInteger()
{
int num = this.GetUsedLength();
if (num != 0)
{
long[] ints = this.m_ints;
num--;
long num2 = ints[num];
byte[] array = new byte[8];
int num3 = 0;
int num4 = 0;
if (num4 == 0)
{
}
num3++;
byte[] array2 = new byte[0];
if (num3 > 0)
{
num3++;
}
long num5 = this.m_ints[num4];
num3++;
return new BigInteger(1, array2);
}
return BigInteger.Zero;
}
// Token: 0x06008581 RID: 34177 RVA: 0x001D16F8 File Offset: 0x001CF8F8
[Token(Token = "0x6008581")]
[Address(RVA = "0x2093310", Offset = "0x2091D10", VA = "0x182093310")]
private static long ShiftUp(long[] x, int xOff, int count, int shift)
{
long num;
if (count > 0)
{
num = x[shift];
x[0] = num;
}
return num;
}
// Token: 0x06008582 RID: 34178 RVA: 0x001D1720 File Offset: 0x001CF920
[Token(Token = "0x6008582")]
[Address(RVA = "0x20933B0", Offset = "0x2091DB0", VA = "0x1820933B0")]
private static long ShiftUp(long[] x, int xOff, long[] z, int zOff, int count, int shift)
{
long num;
z[0] = num;
return num;
}
// Token: 0x06008583 RID: 34179 RVA: 0x001D173C File Offset: 0x001CF93C
[Token(Token = "0x6008583")]
[Address(RVA = "0x208DAD0", Offset = "0x208C4D0", VA = "0x18208DAD0")]
public LongArray AddOne()
{
if (this.m_ints.Length != 0)
{
int num = this.GetUsedLength();
num = Math.Max(1, num);
long[] array = this.ResizedInts(num);
}
LongArray longArray;
longArray.m_ints = new long[] { (long)((ulong)1L) };
return longArray;
}
// Token: 0x06008584 RID: 34180 RVA: 0x001D1790 File Offset: 0x001CF990
[Token(Token = "0x6008584")]
[Address(RVA = "0x208DBE0", Offset = "0x208C5E0", VA = "0x18208DBE0")]
private void AddShiftedByBitsSafe(LongArray other, int otherDegree, int bits)
{
long[] ints = this.m_ints;
long[] ints2 = other.m_ints;
int num = 0;
long num2 = LongArray.AddShiftedUp(ints, bits, ints2, num, otherDegree, bits);
long[] ints3 = this.m_ints;
}
// Token: 0x06008585 RID: 34181 RVA: 0x001D17C8 File Offset: 0x001CF9C8
[Token(Token = "0x6008585")]
[Address(RVA = "0x208DED0", Offset = "0x208C8D0", VA = "0x18208DED0")]
private static long AddShiftedUp(long[] x, int xOff, long[] y, int yOff, int count, int shift)
{
return y[x];
}
// Token: 0x06008586 RID: 34182 RVA: 0x001D17E4 File Offset: 0x001CF9E4
[Token(Token = "0x6008586")]
[Address(RVA = "0x208DE00", Offset = "0x208C800", VA = "0x18208DE00")]
private static long AddShiftedDown(long[] x, int xOff, long[] y, int yOff, int count, int shift)
{
return y[x];
}
// Token: 0x06008587 RID: 34183 RVA: 0x001D1800 File Offset: 0x001CFA00
[Token(Token = "0x6008587")]
[Address(RVA = "0x208DD20", Offset = "0x208C720", VA = "0x18208DD20")]
public void AddShiftedByWords(LongArray other, int words)
{
int num = 0;
int usedLength = other.GetUsedLength();
if (usedLength != 0)
{
long[] ints = this.m_ints;
if (num > ints.Length)
{
long[] array = this.ResizedInts(num);
this.m_ints = array;
}
long[] ints2 = other.m_ints;
int num2 = 0;
LongArray.Add(ints, words, ints2, num2, usedLength);
}
}
// Token: 0x06008588 RID: 34184 RVA: 0x001D1858 File Offset: 0x001CFA58
[Token(Token = "0x6008588")]
[Address(RVA = "0x208E080", Offset = "0x208CA80", VA = "0x18208E080")]
private static void Add(long[] x, int xOff, long[] y, int yOff, int count)
{
}
// Token: 0x06008589 RID: 34185 RVA: 0x001D186C File Offset: 0x001CFA6C
[Token(Token = "0x6008589")]
[Address(RVA = "0x208DFA0", Offset = "0x208C9A0", VA = "0x18208DFA0")]
private static void Add(long[] x, int xOff, long[] y, int yOff, long[] z, int zOff, int count)
{
}
// Token: 0x0600858A RID: 34186 RVA: 0x001D1880 File Offset: 0x001CFA80
[Token(Token = "0x600858A")]
[Address(RVA = "0x208D9F0", Offset = "0x208C3F0", VA = "0x18208D9F0")]
private static void AddBoth(long[] x, int xOff, long[] y1, int y1Off, long[] y2, int y2Off, int count)
{
}
// Token: 0x0600858B RID: 34187 RVA: 0x001D1894 File Offset: 0x001CFA94
[Token(Token = "0x600858B")]
[Address(RVA = "0x208E560", Offset = "0x208CF60", VA = "0x18208E560")]
private static void Distribute(long[] x, int src, int dst1, int dst2, int count)
{
int num = x.Length;
num = dst1 - dst1;
}
// Token: 0x17001574 RID: 5492
// (get) Token: 0x0600858C RID: 34188 RVA: 0x001D18B8 File Offset: 0x001CFAB8
[Token(Token = "0x17001574")]
public int Length
{
[Token(Token = "0x600858C")]
[Address(RVA = "0x5FE710", Offset = "0x5FD110", VA = "0x1805FE710")]
get
{
return this.m_ints.Length;
}
}
// Token: 0x0600858D RID: 34189 RVA: 0x001D18D8 File Offset: 0x001CFAD8
[Token(Token = "0x600858D")]
[Address(RVA = "0x208E9A0", Offset = "0x208D3A0", VA = "0x18208E9A0")]
private static void FlipWord(long[] buf, int off, int bit, long word)
{
if (bit != 0)
{
int num = off + 1;
}
}
// Token: 0x0600858E RID: 34190 RVA: 0x001D18F4 File Offset: 0x001CFAF4
[Token(Token = "0x600858E")]
[Address(RVA = "0x2093730", Offset = "0x2092130", VA = "0x182093730")]
public bool TestBitZero()
{
if (this.m_ints.Length == 0)
{
}
throw new NullReferenceException();
}
// Token: 0x0600858F RID: 34191 RVA: 0x001D1918 File Offset: 0x001CFB18
[Token(Token = "0x600858F")]
[Address(RVA = "0x2093780", Offset = "0x2092180", VA = "0x182093780")]
private static bool TestBit(long[] buf, int off, int n)
{
throw new NullReferenceException();
}
// Token: 0x06008590 RID: 34192 RVA: 0x001D192C File Offset: 0x001CFB2C
[Token(Token = "0x6008590")]
[Address(RVA = "0x208E760", Offset = "0x208D160", VA = "0x18208E760")]
private static void FlipBit(long[] buf, int off, int n)
{
}
// Token: 0x06008591 RID: 34193 RVA: 0x001D1940 File Offset: 0x001CFB40
[Token(Token = "0x6008591")]
[Address(RVA = "0x2091D40", Offset = "0x2090740", VA = "0x182091D40")]
private static void MultiplyWord(long a, long[] b, int bLen, long[] c, int cOff)
{
while (c != c.Length)
{
}
}
// Token: 0x06008592 RID: 34194 RVA: 0x001D1960 File Offset: 0x001CFB60
[Token(Token = "0x6008592")]
[Address(RVA = "0x2090CF0", Offset = "0x208F6F0", VA = "0x182090CF0")]
public LongArray ModMultiplyLD(LongArray other, int m, int[] ks)
{
int num = this.Degree();
if (num != 0)
{
int num2 = other.Degree();
if (num2 != 0)
{
if (num > num2)
{
num = num2;
}
long[] ints2;
if (other != (ulong)1L)
{
int[] array = new int[16];
long[] array2 = new long[num];
array[0] = num;
long[] ints = other.m_ints;
int num3 = 0;
int num4 = 0;
Array.Copy(ints, num4, array2, num, ks);
num += num;
array[0] = num;
uint num5;
if (num5 != (uint)1)
{
LongArray.Add(array2, num, array2, num, array2, num, num);
}
if ("{il2cpp array field local10->}" == (ulong)2L || "{il2cpp array field local10->}" == num3)
{
}
ulong num7;
long num6 = LongArray.ShiftUp(array2, num, array2, num, num, (int)num7);
num5 += (uint)1;
long[] array3 = new long[array2.Length];
int length = array2.Length;
int num8 = 0;
int num9 = 0;
ulong num11;
long num10 = LongArray.ShiftUp(array2, num9, array3, num8, length, (int)num11);
ints2 = this.m_ints;
long[] array4 = new long[0];
uint num12;
if (other > num12)
{
int length2 = array.Length;
long num13 = ints2[(int)num12];
int num14 = array[(int)num13];
int num15 = array[(int)num13];
uint num16 = num12 - 1U;
LongArray.AddBoth(array4, (int)num16, array2, num14, array3, num15, num);
num12 += (uint)2;
}
if (other != 0)
{
int length3 = array.Length;
long num17 = ints2[num3];
int num18 = array[(int)num17];
int num19 = array[(int)num17];
LongArray.AddBoth(array4, num3, array2, num18, array3, num19, num);
num3 += 2;
}
uint num20;
if (num20 > (uint)0)
{
}
LongArray longArray;
return longArray;
}
if (ints2 != (ulong)1L)
{
long[] array5 = new long[0];
}
}
}
return this;
}
// Token: 0x06008593 RID: 34195 RVA: 0x001D1B08 File Offset: 0x001CFD08
[Token(Token = "0x6008593")]
[Address(RVA = "0x2091360", Offset = "0x208FD60", VA = "0x182091360")]
public LongArray ModMultiply(LongArray other, int m, int[] ks)
{
int num = this.Degree();
if (num != 0)
{
int num2 = other.Degree();
if (num2 != 0)
{
if (num > num2)
{
num = num2;
}
int length3;
if (other != (ulong)1L)
{
int[] array = new int[16];
long[] array2 = new long[num];
array[0] = num;
long[] ints = other.m_ints;
int num3 = 0;
Array.Copy(ints, num3, array2, num, ks);
num += num;
array[0] = num;
uint num4;
if (num4 != (uint)1)
{
LongArray.Add(array2, num, array2, num, array2, num, num);
}
if ("{il2cpp array field local10->}" == (ulong)2L || "{il2cpp array field local10->}" == (ulong)0L)
{
}
int num5 = 0;
ulong num7;
long num6 = LongArray.ShiftUp(array2, num, array2, num, num, (int)num7);
num4 += (uint)1;
long[] array3 = new long[array2.Length];
int length = array2.Length;
int num8 = 0;
int num9 = 0;
ulong num11;
long num10 = LongArray.ShiftUp(array2, num9, array3, num8, length, (int)num11);
long[] ints2 = this.m_ints;
long[] array4 = new long[num9];
long num12 = ints2[num5];
int length2 = array.Length;
int num13 = array[(int)num12];
int num14 = array[(int)num12];
LongArray.AddBoth(array4, num5, array2, num13, array3, num14, num);
num5++;
length3 = array4.Length;
if (array4 != 0)
{
while (length3 != 0)
{
}
}
LongArray longArray;
return longArray;
}
if (length3 != 1)
{
long[] array5 = new long[0];
}
}
}
return this;
}
// Token: 0x06008594 RID: 34196 RVA: 0x001D1C78 File Offset: 0x001CFE78
[Token(Token = "0x6008594")]
[Address(RVA = "0x2090600", Offset = "0x208F000", VA = "0x182090600")]
public LongArray ModMultiplyAlt(LongArray other, int m, int[] ks)
{
int num = this.Degree();
if (num != 0)
{
int num2 = other.Degree();
if (num2 != 0)
{
if (num > num2)
{
}
int[] array = new int[16];
uint num3;
array[0] = (int)num3;
int length = array.Length;
num3 += this;
uint num4;
if (num4 < (uint)length)
{
num4 += (uint)1;
array[0] = (int)num3;
}
num3 += (uint)1;
long[] array2 = new long[16];
long[] ints = this.m_ints;
int num5 = 0;
int num6 = 0;
ulong num7;
LongArray.Interleave(ints, num6, array2, num5, ks, (int)num7);
long[] ints2 = other.m_ints;
int num8 = 0;
Array.Copy(ints2, num8, array2, num5, ks);
int num9 = 0;
int num10 = 0;
long num11 = array2[num10];
if (num10 != array2.Length)
{
int num12 = array[(int)num11];
int length2 = array2.Length;
}
if (1UL != (ulong)8L)
{
}
num9 += 32;
if (num9 < 64)
{
long num13;
array2[0] = num13;
}
int length3 = array.Length;
int num14 = length3 - 1;
if (num14 > 1)
{
int length4 = array.Length;
if (num14 != 1)
{
}
int length5 = array.Length;
}
int num15 = array[0];
LongArray longArray;
return longArray;
}
}
return this;
}
// Token: 0x06008595 RID: 34197 RVA: 0x001D1DD0 File Offset: 0x001CFFD0
[Token(Token = "0x6008595")]
[Address(RVA = "0x20918A0", Offset = "0x20902A0", VA = "0x1820918A0")]
public LongArray ModReduce(int m, int[] ks)
{
long[] array = Arrays.Clone(this.m_ints);
int length = array.Length;
int num = 0;
int num2 = LongArray.ReduceInPlace(array, num, length, m, ks);
LongArray longArray;
if (m != array.Length)
{
long[] array2 = new long[m];
int num3 = 0;
longArray.m_ints = array2;
int num4 = 0;
Array.Copy(array, num4, array2, num3, m);
return longArray;
}
longArray.m_ints = array;
return longArray;
}
// Token: 0x06008596 RID: 34198 RVA: 0x001D1E40 File Offset: 0x001D0040
[Token(Token = "0x6008596")]
[Address(RVA = "0x2091E70", Offset = "0x2090870", VA = "0x182091E70")]
public LongArray Multiply(LongArray other, int m, int[] ks)
{
int num = this.Degree();
if (num != 0)
{
int num2 = other.Degree();
if (num2 != 0)
{
if (num > num2)
{
num = num2;
}
if (other == (ulong)1L)
{
while (this == (ulong)1L)
{
}
long[] array = new long[0];
long[] array2 = new long[0];
LongArray longArray;
longArray.m_ints = array2;
longArray.m_ints = array;
return this;
}
int[] array3 = new int[16];
long[] array4 = new long[num];
array3[0] = num;
long[] ints = other.m_ints;
num += num;
array3[0] = num;
uint num3;
if (num3 != (uint)1)
{
LongArray.Add(array4, num, array4, num, array4, num, num);
}
if ("{il2cpp array field local10->}" == (ulong)2L || "{il2cpp array field local10->}" == (ulong)0L)
{
}
int num4 = 0;
ulong num6;
long num5 = LongArray.ShiftUp(array4, num, array4, num, num, (int)num6);
num3 += (uint)1;
long[] array5 = new long[array4.Length];
int length = array4.Length;
int num7 = 0;
int num8 = 0;
ulong num10;
long num9 = LongArray.ShiftUp(array4, num8, array5, num7, length, (int)num10);
long[] ints2 = this.m_ints;
long[] array6 = new long[num8];
long num11 = ints2[num4];
int length2 = array3.Length;
int num12 = array3[(int)num11];
int num13 = array3[(int)num11];
LongArray.AddBoth(array6, num4, array4, num12, array5, num13, num);
num4++;
int length3 = array6.Length;
if (array6 != 0)
{
num12 = length3;
while (length3 != 0)
{
}
}
int num14;
LongArray longArray2 = new LongArray(array6, num14, num12);
num14 = 0;
}
return other;
}
return this;
}
// Token: 0x06008597 RID: 34199 RVA: 0x001D1FC8 File Offset: 0x001D01C8
[Token(Token = "0x6008597")]
[Address(RVA = "0x2093180", Offset = "0x2091B80", VA = "0x182093180")]
public void Reduce(int m, int[] ks)
{
long[] ints = this.m_ints;
int length = ints.Length;
int num = 0;
int num2 = LongArray.ReduceInPlace(ints, num, length, m, ks);
if (num2 < ints.Length)
{
long[] array = new long[num2];
int num3 = 0;
this.m_ints = array;
int num4 = 0;
Array.Copy(ints, num4, array, num3, num2);
}
}
// Token: 0x06008598 RID: 34200 RVA: 0x001D2028 File Offset: 0x001D0228
[Token(Token = "0x6008598")]
[Address(RVA = "0x2092C20", Offset = "0x2091620", VA = "0x182092C20")]
private static LongArray ReduceResult(long[] buf, int off, int len, int m, int[] ks)
{
return new LongArray(buf, len, m);
}
// Token: 0x06008599 RID: 34201 RVA: 0x001D2040 File Offset: 0x001D0240
[Token(Token = "0x6008599")]
[Address(RVA = "0x2092690", Offset = "0x2091090", VA = "0x182092690")]
private static int ReduceInPlace(long[] buf, int off, int len, int m, int[] ks)
{
int num = Math.Min(len, off);
num = len;
int num2 = len - 1;
if (len > 1)
{
}
int num3 = 0;
num2 += 64;
int num4 = Math.Max(m, num2);
num2 = m - num3;
int num5 = Math.Min(m, num2);
num5 += len;
if (num5 > 1)
{
num = len - num5;
num -= m;
num += num;
LongArray.FlipVector(buf, off, buf, m, len, num);
int num6 = 0;
LongArray.FlipVector(buf, off, buf, m, len, num);
if (len > num)
{
int num7 = len - 1;
buf[0] = (long)num6;
}
}
if (num > num4)
{
num = num4;
if (len - 1 > num)
{
long num8 = buf[len];
}
long num9 = buf[m];
buf[0] = num9;
}
if (num4 <= m || LongArray.TestBit(buf, off, num4))
{
}
return len;
}
// Token: 0x0600859A RID: 34202 RVA: 0x001D210C File Offset: 0x001D030C
[Token(Token = "0x600859A")]
[Address(RVA = "0x2092400", Offset = "0x2090E00", VA = "0x182092400")]
private static void ReduceBitWise(long[] buf, int off, int BitLength, int m, int[] ks)
{
if (LongArray.TestBit(buf, off, BitLength))
{
}
while (BitLength >= m)
{
}
}
// Token: 0x0600859B RID: 34203 RVA: 0x001D212C File Offset: 0x001D032C
[Token(Token = "0x600859B")]
[Address(RVA = "0x20924E0", Offset = "0x2090EE0", VA = "0x1820924E0")]
private static void ReduceBit(long[] buf, int off, int bit, int m, int[] ks)
{
long num = buf[bit];
buf[0] = num;
}
// Token: 0x0600859C RID: 34204 RVA: 0x001D2150 File Offset: 0x001D0350
[Token(Token = "0x600859C")]
[Address(RVA = "0x2092E30", Offset = "0x2091830", VA = "0x182092E30")]
private static void ReduceWordWise(long[] buf, int off, int len, int toBit, int m, int[] ks)
{
if (len > toBit)
{
long num = buf[toBit];
}
long num2 = buf[off];
buf[0] = num2;
}
// Token: 0x0600859D RID: 34205 RVA: 0x001D2180 File Offset: 0x001D0380
[Token(Token = "0x600859D")]
[Address(RVA = "0x2092FF0", Offset = "0x20919F0", VA = "0x182092FF0")]
private static void ReduceWord(long[] buf, int off, int bit, long word, int m, int[] ks)
{
LongArray.FlipWord(buf, off, bit, word);
if (bit != 0)
{
int num = off + 1;
}
}
// Token: 0x0600859E RID: 34206 RVA: 0x001D21A8 File Offset: 0x001D03A8
[Token(Token = "0x600859E")]
[Address(RVA = "0x2092CE0", Offset = "0x20916E0", VA = "0x182092CE0")]
private static void ReduceVectorWise(long[] buf, int off, int len, int words, int m, int[] ks)
{
}
// Token: 0x0600859F RID: 34207 RVA: 0x001D21BC File Offset: 0x001D03BC
[Token(Token = "0x600859F")]
[Address(RVA = "0x208E7B0", Offset = "0x208D1B0", VA = "0x18208E7B0")]
private static void FlipVector(long[] x, int xOff, long[] y, int yOff, int yLen, int bits)
{
}
// Token: 0x060085A0 RID: 34208 RVA: 0x001D21D0 File Offset: 0x001D03D0
[Token(Token = "0x60085A0")]
[Address(RVA = "0x2091B40", Offset = "0x2090540", VA = "0x182091B40")]
public LongArray ModSquare(int m, int[] ks)
{
int num = 0;
if (this.GetUsedLength() != 0)
{
long[] array = new long[num];
int num2 = 0;
long num3 = this.m_ints[num2];
num2++;
long num4 = LongArray.Interleave2_32to64((int)num3);
array[0] = num4;
num2++;
long num5 = LongArray.Interleave2_32to64((int)num3);
array[0] = num5;
int length = array.Length;
int num6 = 0;
int num7 = LongArray.ReduceInPlace(array, num6, length, m, ks);
int num8;
LongArray longArray = new LongArray(array, num8, m);
num8 = 0;
return longArray;
}
return this;
}
// Token: 0x060085A1 RID: 34209 RVA: 0x001D225C File Offset: 0x001D045C
[Token(Token = "0x60085A1")]
[Address(RVA = "0x20919F0", Offset = "0x20903F0", VA = "0x1820919F0")]
public LongArray ModSquareN(int n, int m, int[] ks)
{
int num = 0;
int num2 = this.GetUsedLength();
if (num2 != 0)
{
long[] array = new long[num];
long[] ints = this.m_ints;
int num3 = 0;
int num4 = 0;
Array.Copy(ints, num4, array, num3, num2);
int num5 = n - 1;
LongArray.SquareInPlace(array, num2, m, ks);
int length = array.Length;
int num6 = 0;
num2 = LongArray.ReduceInPlace(array, num6, length, m, ks);
int num7;
LongArray longArray = new LongArray(array, num7, m);
num7 = 0;
return longArray;
}
throw new NullReferenceException();
}
// Token: 0x060085A2 RID: 34210 RVA: 0x001D22D8 File Offset: 0x001D04D8
[Token(Token = "0x60085A2")]
[Address(RVA = "0x2093580", Offset = "0x2091F80", VA = "0x182093580")]
public LongArray Square(int m, int[] ks)
{
int num = 0;
if (this.GetUsedLength() != 0)
{
long[] array = new long[num];
int num2 = 0;
long num3 = this.m_ints[num2];
num2++;
long num4 = LongArray.Interleave2_32to64((int)num3);
array[0] = num4;
num2++;
long num5 = LongArray.Interleave2_32to64((int)num3);
array[0] = num5;
int num6;
int length;
LongArray longArray = new LongArray(array, num6, length);
length = array.Length;
num6 = 0;
return longArray;
}
return this;
}
// Token: 0x060085A3 RID: 34211 RVA: 0x001D2354 File Offset: 0x001D0554
[Token(Token = "0x60085A3")]
[Address(RVA = "0x2093480", Offset = "0x2091E80", VA = "0x182093480")]
private static void SquareInPlace(long[] x, int xLen, int m, int[] ks)
{
long num = x[xLen];
long num2 = LongArray.Interleave2_32to64((int)num);
x[0] = num2;
long num3 = LongArray.Interleave2_32to64((int)num);
x[0] = num3;
}
// Token: 0x060085A4 RID: 34212 RVA: 0x001D2390 File Offset: 0x001D0590
[Token(Token = "0x60085A4")]
[Address(RVA = "0x208F960", Offset = "0x208E360", VA = "0x18208F960")]
private static void Interleave(long[] x, int xOff, long[] z, int zOff, int count, int width)
{
long num2;
long num = LongArray.Interleave7(num2);
z[0] = num;
long num3 = LongArray.Interleave5(x[zOff]);
z[0] = num3;
byte[] bitLengths = LongArray.BitLengths;
byte b2;
byte b = b2 - 1;
long num5;
long num4 = LongArray.Interleave2_n(num5, (int)b);
z[0] = num4;
long num6 = LongArray.Interleave3(x[zOff]);
z[0] = num6;
}
// Token: 0x060085A5 RID: 34213 RVA: 0x001D2400 File Offset: 0x001D0600
[Token(Token = "0x60085A5")]
[Address(RVA = "0x208F2B0", Offset = "0x208DCB0", VA = "0x18208F2B0")]
private static void Interleave3(long[] x, int xOff, long[] z, int zOff, int count)
{
long num2;
long num = LongArray.Interleave3(num2);
z[0] = num;
}
// Token: 0x060085A6 RID: 34214 RVA: 0x001D2424 File Offset: 0x001D0624
[Token(Token = "0x60085A6")]
[Address(RVA = "0x208F1F0", Offset = "0x208DBF0", VA = "0x18208F1F0")]
private static long Interleave3(long x)
{
long num = LongArray.Interleave3_21to63((int)x);
long num2 = LongArray.Interleave3_21to63((int)x);
long num3 = LongArray.Interleave3_21to63((int)x);
num3 += num3;
return num3 + num3;
}
// Token: 0x060085A7 RID: 34215 RVA: 0x001D2450 File Offset: 0x001D0650
[Token(Token = "0x60085A7")]
[Address(RVA = "0x208F110", Offset = "0x208DB10", VA = "0x18208F110")]
private static long Interleave3_21to63(int x)
{
int[] interleave3_TABLE = LongArray.INTERLEAVE3_TABLE;
int length = interleave3_TABLE.Length;
int num = interleave3_TABLE[x];
throw new NullReferenceException();
}
// Token: 0x060085A8 RID: 34216 RVA: 0x001D2478 File Offset: 0x001D0678
[Token(Token = "0x60085A8")]
[Address(RVA = "0x208F460", Offset = "0x208DE60", VA = "0x18208F460")]
private static void Interleave5(long[] x, int xOff, long[] z, int zOff, int count)
{
long num2;
long num = LongArray.Interleave5(num2);
z[0] = num;
}
// Token: 0x060085A9 RID: 34217 RVA: 0x001D249C File Offset: 0x001D069C
[Token(Token = "0x60085A9")]
[Address(RVA = "0x208F560", Offset = "0x208DF60", VA = "0x18208F560")]
private static long Interleave5(long x)
{
long num = LongArray.Interleave3_13to65((int)x);
long num2 = LongArray.Interleave3_13to65((int)x);
long num3 = LongArray.Interleave3_13to65((int)x);
long num4 = LongArray.Interleave3_13to65((int)x);
long num5 = LongArray.Interleave3_13to65((int)x);
num5 += num5;
num5 += num5;
num5 += num5;
return num5 + num5;
}
// Token: 0x060085AA RID: 34218 RVA: 0x001D24EC File Offset: 0x001D06EC
[Token(Token = "0x60085AA")]
[Address(RVA = "0x208F060", Offset = "0x208DA60", VA = "0x18208F060")]
private static long Interleave3_13to65(int x)
{
int[] interleave5_TABLE = LongArray.INTERLEAVE5_TABLE;
int length = interleave5_TABLE.Length;
int num = interleave5_TABLE[x];
throw new NullReferenceException();
}
// Token: 0x060085AB RID: 34219 RVA: 0x001D2514 File Offset: 0x001D0714
[Token(Token = "0x60085AB")]
[Address(RVA = "0x208F860", Offset = "0x208E260", VA = "0x18208F860")]
private static void Interleave7(long[] x, int xOff, long[] z, int zOff, int count)
{
long num2;
long num = LongArray.Interleave7(num2);
z[0] = num;
}
// Token: 0x060085AC RID: 34220 RVA: 0x001D2538 File Offset: 0x001D0738
[Token(Token = "0x60085AC")]
[Address(RVA = "0x208F650", Offset = "0x208E050", VA = "0x18208F650")]
private static long Interleave7(long x)
{
long[] interleave7_TABLE = LongArray.INTERLEAVE7_TABLE;
int length = interleave7_TABLE.Length;
long num = interleave7_TABLE[(int)x];
num += num;
num += num;
num += num;
num += num;
num += num;
return num + num;
}
// Token: 0x060085AD RID: 34221 RVA: 0x001D257C File Offset: 0x001D077C
[Token(Token = "0x60085AD")]
[Address(RVA = "0x208EE00", Offset = "0x208D800", VA = "0x18208EE00")]
private static void Interleave2_n(long[] x, int xOff, long[] z, int zOff, int count, int rounds)
{
long num;
z[0] = num;
}
// Token: 0x060085AE RID: 34222 RVA: 0x001D2598 File Offset: 0x001D0798
[Token(Token = "0x60085AE")]
[Address(RVA = "0x208EF10", Offset = "0x208D910", VA = "0x18208EF10")]
private static long Interleave2_n(long x, int rounds)
{
if (rounds > 1)
{
long num = LongArray.Interleave4_16to64((int)x);
long num2 = LongArray.Interleave4_16to64((int)x);
long num3 = LongArray.Interleave4_16to64((int)x);
long num4 = LongArray.Interleave4_16to64((int)x);
}
if (rounds > 0)
{
long num5 = LongArray.Interleave2_32to64((int)x);
long num6 = LongArray.Interleave2_32to64((int)x);
return num6 + num6;
}
return x;
}
// Token: 0x060085AF RID: 34223 RVA: 0x001D25E8 File Offset: 0x001D07E8
[Token(Token = "0x60085AF")]
[Address(RVA = "0x208F3B0", Offset = "0x208DDB0", VA = "0x18208F3B0")]
private static long Interleave4_16to64(int x)
{
int[] interleave4_TABLE = LongArray.INTERLEAVE4_TABLE;
int length = interleave4_TABLE.Length;
int num = interleave4_TABLE[x];
throw new NullReferenceException();
}
// Token: 0x060085B0 RID: 34224 RVA: 0x001D2610 File Offset: 0x001D0810
[Token(Token = "0x60085B0")]
[Address(RVA = "0x208ECE0", Offset = "0x208D6E0", VA = "0x18208ECE0")]
private static long Interleave2_32to64(int x)
{
ushort[] interleave2_TABLE = LongArray.INTERLEAVE2_TABLE;
int length = interleave2_TABLE.Length;
ushort num = interleave2_TABLE[x];
throw new NullReferenceException();
}
// Token: 0x060085B1 RID: 34225 RVA: 0x001D2638 File Offset: 0x001D0838
[Token(Token = "0x60085B1")]
[Address(RVA = "0x208FEC0", Offset = "0x208E8C0", VA = "0x18208FEC0")]
public LongArray ModInverse(int m, int[] ks)
{
/*
An exception occurred when decompiling this method (060085B1)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.LongArray BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.LongArray::ModInverse(System.Int32,System.Int32[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_17B:
stloc:InvalidOperationException(var_39_180, newobj:InvalidOperationException(InvalidOperationException::.ctor))
}
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: 0x060085B2 RID: 34226 RVA: 0x001D27C8 File Offset: 0x001D09C8
[Token(Token = "0x60085B2")]
[Address(RVA = "0x208E610", Offset = "0x208D010", VA = "0x18208E610", Slot = "0")]
public override bool Equals(object obj)
{
if (obj == 0)
{
return;
}
}
// Token: 0x060085B3 RID: 34227 RVA: 0x001D27DC File Offset: 0x001D09DC
[Token(Token = "0x60085B3")]
[Address(RVA = "0x208E6A0", Offset = "0x208D0A0", VA = "0x18208E6A0", Slot = "4")]
public virtual bool Equals(LongArray other)
{
if (this != other)
{
if (other != 0)
{
int usedLength = this.GetUsedLength();
if (other.GetUsedLength() == usedLength)
{
int num = 0;
if (usedLength <= 0)
{
return true;
}
long[] ints = this.m_ints;
long num2 = other.m_ints[num];
if ("{il2cpp array field local7->}" == num2)
{
num++;
return true;
}
}
}
throw new IndexOutOfRangeException();
}
return true;
}
// Token: 0x060085B4 RID: 34228 RVA: 0x001D2834 File Offset: 0x001D0A34
[Token(Token = "0x60085B4")]
[Address(RVA = "0x208EA40", Offset = "0x208D440", VA = "0x18208EA40", Slot = "2")]
public override int GetHashCode()
{
int usedLength = this.GetUsedLength();
int num = 0;
if (usedLength > 0)
{
long[] ints = this.m_ints;
num++;
long num2 = (long)(1U * (uint)31);
}
throw new NullReferenceException();
}
// Token: 0x060085B5 RID: 34229 RVA: 0x001D2864 File Offset: 0x001D0A64
[Token(Token = "0x60085B5")]
[Address(RVA = "0x208E360", Offset = "0x208CD60", VA = "0x18208E360")]
public LongArray Copy()
{
long[] array = Arrays.Clone(this.m_ints);
LongArray longArray;
longArray.m_ints = array;
return longArray;
}
// Token: 0x060085B6 RID: 34230 RVA: 0x001D2888 File Offset: 0x001D0A88
[Token(Token = "0x60085B6")]
[Address(RVA = "0x2093A60", Offset = "0x2092460", VA = "0x182093A60", Slot = "3")]
public override string ToString()
{
int num = this.GetUsedLength();
if (num != 0)
{
long[] ints = this.m_ints;
int num2 = num - 1;
num = num2;
StringBuilder stringBuilder = new StringBuilder(Convert.ToString(ints[num], 2));
int num3 = num2 - 1;
string text = Convert.ToString(this.m_ints[num3], 2);
if (text.m_stringLength < 64)
{
string text2;
StringBuilder stringBuilder2 = stringBuilder.Append(text2);
}
StringBuilder stringBuilder3 = stringBuilder.Append(text);
}
return "0";
}
// Token: 0x060085B7 RID: 34231 RVA: 0x001D2904 File Offset: 0x001D0B04
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x60085B7")]
[Address(RVA = "0x2093C30", Offset = "0x2092630", VA = "0x182093C30")]
static LongArray()
{
ushort[] array = new ushort[256];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.CA1986CBA4E4F0DFA3BF6A654EF8A36E6077AD99).FieldHandle);
LongArray.INTERLEAVE2_TABLE = array;
int[] array2 = new int[128];
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.239B59488F1CE7EBE225785FDC22A8E3102A2E82).FieldHandle);
LongArray.INTERLEAVE3_TABLE = array2;
int[] array3 = new int[256];
RuntimeHelpers.InitializeArray(array3, fieldof(<PrivateImplementationDetails>.310EFB639F3C7677A2A82B54EEED1124ED69E9A3).FieldHandle);
LongArray.INTERLEAVE4_TABLE = array3;
int[] array4 = new int[128];
RuntimeHelpers.InitializeArray(array4, fieldof(<PrivateImplementationDetails>.428007959831954B0C2DCFAF9DD641D629B00DBF).FieldHandle);
LongArray.INTERLEAVE5_TABLE = array4;
long[] array5 = new long[512];
RuntimeHelpers.InitializeArray(array5, fieldof(<PrivateImplementationDetails>.FA5B1C8B2F287078ED719C15595DB729BDB85911).FieldHandle);
LongArray.INTERLEAVE7_TABLE = array5;
byte[] array6 = new byte[256];
RuntimeHelpers.InitializeArray(array6, fieldof(<PrivateImplementationDetails>.C95356610D5583976B69017BED7048EB50121B90).FieldHandle);
LongArray.BitLengths = array6;
}
// Token: 0x04005C56 RID: 23638
[Token(Token = "0x4005C56")]
private static readonly ushort[] INTERLEAVE2_TABLE;
// Token: 0x04005C57 RID: 23639
[Token(Token = "0x4005C57")]
private static readonly int[] INTERLEAVE3_TABLE;
// Token: 0x04005C58 RID: 23640
[Token(Token = "0x4005C58")]
private static readonly int[] INTERLEAVE4_TABLE;
// Token: 0x04005C59 RID: 23641
[Token(Token = "0x4005C59")]
private static readonly int[] INTERLEAVE5_TABLE;
// Token: 0x04005C5A RID: 23642
[Token(Token = "0x4005C5A")]
private static readonly long[] INTERLEAVE7_TABLE;
// Token: 0x04005C5B RID: 23643
[Token(Token = "0x4005C5B")]
private const string ZEROES = "0000000000000000000000000000000000000000000000000000000000000000";
// Token: 0x04005C5C RID: 23644
[Token(Token = "0x4005C5C")]
internal static readonly byte[] BitLengths;
// Token: 0x04005C5D RID: 23645
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4005C5D")]
private long[] m_ints;
}
}