289 lines
11 KiB
C#
289 lines
11 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Reflection;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Text;
|
|
|
|
namespace UnitTestProject.RefVm
|
|
{
|
|
// Token: 0x02000063 RID: 99
|
|
internal static class SdMetadataTokens // \u000F\u2009
|
|
{
|
|
// Token: 0x06000399 RID: 921 RVA: 0x00015D18 File Offset: 0x00013F18
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
internal static long GetLong() // \u0002
|
|
{
|
|
if (Assembly.GetCallingAssembly() != typeof(SdMetadataTokens).Assembly || !CheckStack())
|
|
{
|
|
return 0L;
|
|
}
|
|
long result;
|
|
lock (Obj)
|
|
{
|
|
var num = Obj.GetLong7();
|
|
if (num == 0L)
|
|
{
|
|
var executingAssembly = Assembly.GetExecutingAssembly();
|
|
var list = new List<byte>();
|
|
AssemblyName assemblyName;
|
|
try
|
|
{
|
|
assemblyName = executingAssembly.GetName();
|
|
}
|
|
catch
|
|
{
|
|
assemblyName = new AssemblyName(executingAssembly.FullName);
|
|
}
|
|
var array = assemblyName.GetPublicKeyToken();
|
|
if (array != null && array.Length == 0)
|
|
{
|
|
array = null;
|
|
}
|
|
if (array != null)
|
|
{
|
|
list.AddRange(array);
|
|
}
|
|
list.AddRange(Encoding.Unicode.GetBytes(assemblyName.Name));
|
|
var num2 = 0x02000063; //GetMdt(typeof(SdMetadataTokens));
|
|
var num3 = Class1.M();
|
|
list.Add((byte)(num2 >> 24));
|
|
list.Add((byte)(num3 >> 16));
|
|
list.Add((byte)(num2 >> 8));
|
|
list.Add((byte)num3);
|
|
list.Add((byte)(num2 >> 16));
|
|
list.Add((byte)(num3 >> 8));
|
|
list.Add((byte)num2);
|
|
list.Add((byte)(num3 >> 24));
|
|
var count = list.Count;
|
|
var num4 = 0uL;
|
|
for (var num5 = 0; num5 != count; num5++)
|
|
{
|
|
num4 += list[num5];
|
|
num4 += num4 << 20;
|
|
num4 ^= num4 >> 12;
|
|
list[num5] = 0;
|
|
}
|
|
num4 += num4 << 6;
|
|
num4 ^= num4 >> 22;
|
|
num4 += num4 << 30;
|
|
num = (long)num4;
|
|
num ^= 7895633081549295753L;
|
|
Obj.SetLong(num);
|
|
}
|
|
result = num;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
// Token: 0x0600039A RID: 922 RVA: 0x00015EE0 File Offset: 0x000140E0
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private static bool CheckStack() // \u0002
|
|
{
|
|
return CheckStackImpl();
|
|
}
|
|
|
|
// Token: 0x0600039B RID: 923 RVA: 0x00015EEC File Offset: 0x000140EC
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private static bool CheckStackImpl() // \u0003
|
|
{
|
|
var stackTrace = new StackTrace();
|
|
var frame = stackTrace.GetFrame(3);
|
|
var methodBase = frame?.GetMethod();
|
|
var type = methodBase?.DeclaringType;
|
|
return type != typeof(RuntimeMethodHandle) && type != null && type.Assembly == typeof(SdMetadataTokens).Assembly;
|
|
}
|
|
|
|
// Token: 0x0600039C RID: 924 RVA: 0x00015F50 File Offset: 0x00014150
|
|
// ReSharper disable once UnusedMember.Local
|
|
private static int GetMdt(Type t) // \u0002
|
|
{
|
|
return t.MetadataToken;
|
|
}
|
|
|
|
// Token: 0x0400019A RID: 410
|
|
// \u0002
|
|
private static readonly Class7 Obj = new Class7();
|
|
|
|
// Token: 0x02000064 RID: 100
|
|
public sealed class Class1 // \u0002\u2007\u2007\u2009\u2002\u2006\u2003\u2003\u2002\u2004\u2007\u200A\u2009\u200A\u2008\u200A\u2000\u2003\u200B\u2007\u200A\u2008\u200A\u2003\u2006\u200B
|
|
{
|
|
// Token: 0x0600039E RID: 926 RVA: 0x00015F60 File Offset: 0x00014160
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
internal static int M()
|
|
{
|
|
return Class2.M3(Class2.M2(0x02000067 /*GetMdt(typeof(Class4))*/, Class2.M3(0x02000064 /*GetMdt(typeof(Class1))*/, 0x02000066 /*GetMdt(typeof(Class3))*/)), Class5.M1());
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000065 RID: 101
|
|
private static class Class2 // \u0002\u200A\u2003\u2000\u2002\u2000\u2007\u2008\u2004\u2006\u2007\u2003\u2007\u2004\u2000\u2003\u2009\u2007\u2003\u2006\u2007\u2008\u200A
|
|
{
|
|
// Token: 0x0600039F RID: 927 RVA: 0x00015FB0 File Offset: 0x000141B0
|
|
internal static int M1(int p1, int p2) // \u0002
|
|
{
|
|
return p1 ^ p2 - -~~- -~~- -~~-1683504797;
|
|
}
|
|
|
|
// Token: 0x060003A0 RID: 928 RVA: 0x00015FC8 File Offset: 0x000141C8
|
|
internal static int M2(int p1, int p2) // \u0003
|
|
{
|
|
return p1 - -~-~-~~- -~~-1670271084 ^ p2 + -~-~-~~-~-~699406271;
|
|
}
|
|
|
|
// Token: 0x060003A1 RID: 929 RVA: 0x00015FF0 File Offset: 0x000141F0
|
|
internal static int M3(int p1, int p2) // \u0005
|
|
{
|
|
return p1 ^ p2 - -~~-~-~- -~~-1466097638 ^ p1 - p2;
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000066 RID: 102
|
|
public sealed class Class3 // \u0003\u2001\u2003\u2009\u2009\u2008\u2006\u2006\u2006\u200A\u2003\u2006\u2005\u2005\u2009\u200B\u2009\u200A\u2003\u2007
|
|
{
|
|
// Token: 0x060003A3 RID: 931 RVA: 0x00016014 File Offset: 0x00014214
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
internal static int M1() // \u0002
|
|
{
|
|
return Class2.M2(Class2.M2(Class6.M1(), Class2.M1(0x02000066 /*GetMdt(typeof(Class3))*/, Class4.M1())), 0x02000068 /*GetMdt(typeof(Class5))*/);
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000067 RID: 103
|
|
public sealed class Class4 // \u0003\u2007\u2006\u2000\u2001\u2003\u2006\u200B\u2003\u2009\u200B\u2008\u200A\u2008\u2004\u2005\u2006\u200A\u2008\u2000\u2000\u200B\u2008\u200A
|
|
{
|
|
// Token: 0x060003A5 RID: 933 RVA: 0x00016058 File Offset: 0x00014258
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
internal static int M1() // \u0002
|
|
{
|
|
return Class2.M1(0x02000069 /*GetMdt(typeof(Class6))*/, 0x0200006B /*GetMdt(typeof(Class8))*/ ^ Class2.M2(0x02000067 /*GetMdt(typeof(Class4))*/, Class2.M3(0x02000068 /*GetMdt(typeof(Class5))*/, Class8.M1())));
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000068 RID: 104
|
|
public sealed class Class5 // \u0005\u2006\u200A\u2004\u200B\u2005\u200B\u2004\u2005\u2002\u2000\u2001\u2002\u2004\u2000\u2002\u2007\u2003\u2009\u200B\u2007\u200A\u200B\u2000\u2008\u2002\u2003\u2002
|
|
{
|
|
// Token: 0x060003A7 RID: 935 RVA: 0x000160C0 File Offset: 0x000142C0
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
internal static int M1() // \u0002
|
|
{
|
|
return Class2.M1(0x02000068 /*GetMdt(typeof(Class5))*/, Class2.M3(Class2.M2(0x02000066 /*GetMdt(typeof(Class3))*/, 0x02000064 /*GetMdt(typeof(Class1))*/), Class2.M3(0x02000069 /*GetMdt(typeof(Class6))*/ ^ -~-~~- -~~-1251689633, Class3.M1())));
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000069 RID: 105
|
|
public sealed class Class6 // \u0008\u2007\u2007\u2004\u2006\u2006\u200A\u2009\u2005\u2006\u2008\u200A\u2000\u200A\u2008\u2002\u2009\u2003\u2006\u2008\u2000\u2005\u2004\u200A\u2004\u2008\u2008\u2001\u2004\u200B
|
|
{
|
|
// Token: 0x060003A9 RID: 937 RVA: 0x0001613C File Offset: 0x0001433C
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
internal static int M1() // \u0002
|
|
{
|
|
return Class2.M3(Class2.M1(Class4.M1() ^ ~-~- -~~- -~~-527758448, 0x0200006B /*GetMdt(typeof(Class8))*/), Class2.M2(0x02000064 /*GetMdt(typeof(Class1))*/ ^ 0x02000068 /*GetMdt(typeof(Class5))*/, -~~- -~-~~1892236202));
|
|
}
|
|
}
|
|
|
|
// Token: 0x0200006A RID: 106
|
|
internal sealed class Class7 // \u000F\u2005\u2007\u2007\u2009\u2009\u2002\u2004\u2008\u2009\u2002\u2000\u2000\u2009\u2009\u200B\u2008\u2004\u2003\u200B\u200A\u2002\u2002\u2003\u2006\u2007\u2000\u2006\u2002\u2003
|
|
{
|
|
// Token: 0x060003AA RID: 938 RVA: 0x000161AC File Offset: 0x000143AC
|
|
internal Class7()
|
|
{
|
|
SetLong(0L);
|
|
}
|
|
|
|
// Token: 0x060003AB RID: 939 RVA: 0x000161BC File Offset: 0x000143BC
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
public long GetLong7() // \u0002
|
|
{
|
|
if (Assembly.GetCallingAssembly() != typeof(Class7).Assembly)
|
|
{
|
|
return 2918384L;
|
|
}
|
|
if (!CheckStack())
|
|
{
|
|
return 2918384L;
|
|
}
|
|
var array = new[]
|
|
{
|
|
0,
|
|
0,
|
|
0,
|
|
-~~- -~-~~1688528055
|
|
};
|
|
array[1] = ~-~- -~~-~1937298816;
|
|
array[2] = ~-~- -~-~~-~-2131774929;
|
|
array[0] = ~-~-~- -~~-~859851913;
|
|
var num = _i1;
|
|
var num2 = _i2;
|
|
var num3 = -~-~-~~-~1640531528;
|
|
var num4 = -~-~~- -~~-~957401312;
|
|
for (var num5 = 0; num5 != 32; num5++)
|
|
{
|
|
num2 -= (num << 4 ^ num >> 5) + num ^ num4 + array[num4 >> 11 & 3];
|
|
num4 -= num3;
|
|
num -= (num2 << 4 ^ num2 >> 5) + num2 ^ num4 + array[num4 & 3];
|
|
}
|
|
for (var num6 = 0; num6 != 4; num6++)
|
|
{
|
|
array[num6] = 0;
|
|
}
|
|
var num7 = ((ulong)num2 << 32);
|
|
var n = (ulong)_i1;
|
|
return (long)(num7 | n);
|
|
}
|
|
|
|
// Token: 0x060003AC RID: 940 RVA: 0x000162D8 File Offset: 0x000144D8
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
internal void SetLong(long p) // \u0002
|
|
{
|
|
if (Assembly.GetCallingAssembly() != typeof(Class7).Assembly)
|
|
{
|
|
return;
|
|
}
|
|
if (!CheckStack())
|
|
{
|
|
return;
|
|
}
|
|
var array = new int[4];
|
|
array[1] = -~~-~- -~~-~1937298817;
|
|
array[0] = -~~-~-~-~859851914;
|
|
array[2] = ~-~- -~~-~-2131774930;
|
|
array[3] = -~-~~-~- -~~1688528054;
|
|
var num = -~-~~- -~-~~1640531529;
|
|
var num2 = (int)p;
|
|
var num3 = (int)(p >> 32);
|
|
var num4 = 0;
|
|
for (var num5 = 0; num5 != 32; num5++)
|
|
{
|
|
num2 += (num3 << 4 ^ num3 >> 5) + num3 ^ num4 + array[num4 & 3];
|
|
num4 += num;
|
|
num3 += (num2 << 4 ^ num2 >> 5) + num2 ^ num4 + array[num4 >> 11 & 3];
|
|
}
|
|
for (var num6 = 0; num6 != 4; num6++)
|
|
{
|
|
array[num6] = 0;
|
|
}
|
|
_i1 = num2;
|
|
_i2 = num3;
|
|
}
|
|
|
|
// Token: 0x0400019B RID: 411
|
|
private int _i1; // \u0002
|
|
|
|
// Token: 0x0400019C RID: 412
|
|
private int _i2; // \u0003
|
|
}
|
|
|
|
// Token: 0x0200006B RID: 107
|
|
public sealed class Class8 // \u000F\u200A\u2002\u2009\u2000\u2009\u2003\u200A\u2005\u2001\u2002\u2002\u2003\u200B\u2000\u2009\u2003\u2009\u2009\u2001\u2002\u200B\u2000\u200A
|
|
{
|
|
// Token: 0x060003AE RID: 942 RVA: 0x000163DC File Offset: 0x000145DC
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
internal static int M1()
|
|
{
|
|
return Class2.M3(0x0200006B /*GetMdt(typeof(Class8))*/, Class2.M1(0x02000064 /*GetMdt(typeof(Class1))*/, Class2.M2(0x02000067 /*GetMdt(typeof(Class4))*/, Class2.M3(0x02000069 /*GetMdt(typeof(Class6))*/, Class2.M1(0x02000066 /*GetMdt(typeof(Class3))*/, 0x02000068 /*GetMdt(typeof(Class5))*/)))));
|
|
}
|
|
}
|
|
}
|
|
}
|