Created
January 14, 2022 15:36
-
-
Save Softanics/e67c8b52064cae2c02a9af598ea40a0d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// MonoObfuscation | |
// Token: 0x0600000D RID: 13 RVA: 0x00002F94 File Offset: 0x00001194 | |
public unsafe static bool CheckPassword(string text) | |
{ | |
int num = 1; | |
int num2 = num; | |
int num3 = num2 * 4; | |
int num4 = num2 * 8; | |
byte[] array = new byte[3]; | |
object[] array2 = new object[3]; | |
int[] array3 = new int[3]; | |
sbyte[] array5; | |
fixed (sbyte[] array4 = array5 = new sbyte[1]) | |
{ | |
long[] array7; | |
fixed (long[] array6 = array7 = new long[3]) | |
{ | |
object[] array8 = new object[3]; | |
array8[0] = text; | |
int[] array9 = new int[1]; | |
int[] array10 = new int[1]; | |
Exception[] array11 = new Exception[1]; | |
byte* ptr = (byte*)(&ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency); | |
byte* ptr2 = ptr; | |
IL_DC: | |
int num5; | |
int num6; | |
while (num5 != 1) | |
{ | |
try | |
{ | |
ptr2 = ptr; | |
byte b = (byte)(*(sbyte*)ptr); | |
ptr++; | |
int num8; | |
int num13; | |
int num16; | |
Exception ex; | |
Type[] array12; | |
RuntimeTypeHandle[] array13; | |
if (b >= 1 && b <= 23) | |
{ | |
if (12 >= b) | |
{ | |
if (12 <= b) | |
{ | |
*(int*)(&array7[num6 - 2]) = (int)((byte[])((byte[])array2[num6 - 2]))[*(int*)(&array7[num6 - 1])]; | |
array[num6 - 2] = 0; | |
num6--; | |
continue; | |
} | |
if (6 >= b) | |
{ | |
if (6 <= b) | |
{ | |
array2[num6] = array8[*(int*)(ptr + num3)]; | |
array[num6] = 5; | |
num6++; | |
ptr += 8; | |
continue; | |
} | |
if (3 >= b) | |
{ | |
if (3 <= b) | |
{ | |
array8[*(int*)(ptr + num3)] = array2[num6 - 1]; | |
ptr += 8; | |
num6--; | |
continue; | |
} | |
if (1 >= b) | |
{ | |
if (1 <= b) | |
{ | |
continue; | |
} | |
} | |
else if (2 >= b) | |
{ | |
if (2 <= b) | |
{ | |
array[num6] = 5; | |
array2[num6] = calli(System.Security.Cryptography.SHA256(), MonoObfuscation.FromEventKeywordsFindIndex[*(int*)(ptr + num3)]); | |
num6++; | |
ptr += 8; | |
continue; | |
} | |
} | |
} | |
else if (4 >= b) | |
{ | |
if (4 <= b) | |
{ | |
array[num6] = 5; | |
array2[num6] = array8[*(int*)(ptr + num3)]; | |
num6++; | |
ptr += 8; | |
continue; | |
} | |
} | |
else if (5 >= b) | |
{ | |
if (5 <= b) | |
{ | |
array[num6] = 5; | |
array2[num6] = calli(System.Text.Encoding(), MonoObfuscation.FromEventKeywordsFindIndex[*(int*)(ptr + num3)]); | |
num6++; | |
ptr += 8; | |
continue; | |
} | |
} | |
} | |
else if (9 >= b) | |
{ | |
if (9 <= b) | |
{ | |
array8[*(int*)(ptr + num3)] = array2[num6 - 1]; | |
ptr += 8; | |
num6--; | |
continue; | |
} | |
if (7 >= b) | |
{ | |
if (7 <= b) | |
{ | |
array[num6 - 2] = 5; | |
array2[num6 - 2] = calli(System.Byte[](System.Text.Encoding,System.String), (Encoding)array2[num6 - 2], (string)array2[num6 - 1], MonoObfuscation.FromEventKeywordsFindIndex[*(int*)(ptr + num3)]); | |
num6--; | |
ptr += 8; | |
continue; | |
} | |
} | |
else if (8 >= b) | |
{ | |
if (8 <= b) | |
{ | |
array[num6 - 2] = 5; | |
array2[num6 - 2] = calli(System.Byte[](System.Security.Cryptography.HashAlgorithm,System.Byte[]), (SHA256)array2[num6 - 2], (byte[])array2[num6 - 1], MonoObfuscation.FromEventKeywordsFindIndex[*(int*)(ptr + num3)]); | |
num6--; | |
ptr += 8; | |
continue; | |
} | |
} | |
} | |
else if (10 >= b) | |
{ | |
if (10 <= b) | |
{ | |
array[num6] = 5; | |
array2[num6] = array8[*(int*)(ptr + num3)]; | |
num6++; | |
ptr += 8; | |
continue; | |
} | |
} | |
else if (11 >= b) | |
{ | |
if (11 <= b) | |
{ | |
*(int*)(&array7[num6]) = *(int*)(ptr + num3); | |
array[num6] = 0; | |
num6++; | |
ptr += 8; | |
continue; | |
} | |
} | |
} | |
else if (18 >= b) | |
{ | |
if (18 <= b) | |
{ | |
ptr = ((array2[num6 - 1] == null) ? 1 : 0) * (*(int*)(ptr + num3) - *(int*)(ptr + 8 + num3)) + *(int*)(ptr + 8 + num3) + ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency; | |
num6--; | |
continue; | |
} | |
if (15 >= b) | |
{ | |
if (15 <= b) | |
{ | |
ptr = ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(int*)(ptr + num3); | |
continue; | |
} | |
if (13 >= b) | |
{ | |
if (13 <= b) | |
{ | |
ptr = (((*(int*)(&array7[num6 - 2]) == *(int*)(&array7[num6 - 1])) ? 1 : 0) + -1) * -1 * (*(int*)(ptr + num3) - *(int*)(ptr + 8 + num3)) + *(int*)(ptr + 8 + num3) + ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency; | |
num6 -= 2; | |
continue; | |
} | |
} | |
else if (14 >= b) | |
{ | |
if (14 <= b) | |
{ | |
*(int*)(&array7[num6 - 2]) = ((*(int*)(&array7[num6 - 2]) == *(int*)(&array7[num6 - 1])) ? 1 : 0); | |
array[num6 - 2] = 0; | |
num6--; | |
continue; | |
} | |
} | |
} | |
else if (16 >= b) | |
{ | |
if (16 <= b) | |
{ | |
array5[*(int*)(ptr + num3)] = (sbyte)(*(int*)(&array7[num6 - 1])); | |
ptr += 8; | |
num6--; | |
continue; | |
} | |
} | |
else if (17 >= b) | |
{ | |
if (17 <= b) | |
{ | |
num6 = 0; | |
byte* ptr3 = ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(int*)(ptr + num3); | |
int num7 = ptr2 - ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency; | |
num8 = 0; | |
int num9 = 2; | |
int num10; | |
for (;;) | |
{ | |
num10 = (num8 + num9) / 2; | |
int num11 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num10 * 24 + num3); | |
int num12 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num10 * 24 + 8 + num3); | |
if (num7 < num11 + num12) | |
{ | |
if (num11 <= num7) | |
{ | |
break; | |
} | |
num9 = num10 - 1; | |
} | |
else | |
{ | |
num8 = num10 + 1; | |
} | |
} | |
num13 = num10; | |
int num14 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num13 * 24 + 16 + num3); | |
int num15 = num14; | |
if (-1 != ptr3) | |
{ | |
if (ptr2 != ptr3) | |
{ | |
num14 = ptr3 - ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency; | |
while (num16 != 0) | |
{ | |
num16--; | |
int num11 = num14; | |
num10 = 0; | |
num9 = 2; | |
for (;;) | |
{ | |
num8 = (num10 + num9) / 2; | |
num7 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1753 + num8 * 24 + num3); | |
int num17 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1753 + num8 * 24 + 8 + num3); | |
if (num11 < num7 + num17) | |
{ | |
if (num7 <= num11) | |
{ | |
break; | |
} | |
num9 = num8 - 1; | |
} | |
else | |
{ | |
num10 = num8 + 1; | |
} | |
} | |
int num18 = num8; | |
int num12 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1753 + num18 * 24 + 16 + num3); | |
if (num12 == array10[num16]) | |
{ | |
num16++; | |
break; | |
} | |
} | |
for (num13 = num15; num13 != -1; num13 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num13 + num3)) | |
{ | |
int num19 = num14; | |
int num17 = 0; | |
num7 = 2; | |
for (;;) | |
{ | |
num8 = (num17 + num7) / 2; | |
num9 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num8 * 24 + num3); | |
num10 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num8 * 24 + 8 + num3); | |
if (num19 < num9 + num10) | |
{ | |
if (num9 <= num19) | |
{ | |
break; | |
} | |
num7 = num8 - 1; | |
} | |
else | |
{ | |
num17 = num8 + 1; | |
} | |
} | |
int num12 = num8; | |
int num18 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num12 * 24 + 16 + num3); | |
if (num18 == num13) | |
{ | |
break; | |
} | |
num18 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num13 + 16 + num3); | |
if (num18 != -1) | |
{ | |
num12 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num18 + 24 + num3); | |
num6 = 0; | |
ptr = ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num18 + 24 + num3); | |
array11[num16] = null; | |
array10[num16] = num18; | |
array9[num16] = 0; | |
num16++; | |
goto IL_1190; | |
} | |
} | |
} | |
ptr = ptr3; | |
ptr3 = -1; | |
} | |
IL_1190: | |
continue; | |
} | |
} | |
} | |
else if (21 >= b) | |
{ | |
if (21 <= b) | |
{ | |
array[num6] = 0; | |
*(int*)(&array7[num6]) = (int)array5[*(int*)(ptr + num3)]; | |
array2[num6] = null; | |
num6++; | |
ptr += 8; | |
continue; | |
} | |
if (19 >= b) | |
{ | |
if (19 <= b) | |
{ | |
calli(System.Void(System.IDisposable), (SHA256)array2[num6 - 1], MonoObfuscation.FromEventKeywordsFindIndex[*(int*)(ptr + num3)]); | |
num6--; | |
ptr += 8; | |
continue; | |
} | |
} | |
else if (20 >= b) | |
{ | |
if (20 <= b) | |
{ | |
num6 = 0; | |
num16--; | |
ex = array11[num16]; | |
if (ex != null) | |
{ | |
if (num16 != 0 && array9[num16 - 1] == 1) | |
{ | |
num6 = 1; | |
array[num6] = 0; | |
*(int*)(&array7[num6]) = 0; | |
goto IL_495; | |
} | |
int num11 = ptr2 - ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency; | |
int num10 = 0; | |
int num9 = 2; | |
for (;;) | |
{ | |
num8 = (num10 + num9) / 2; | |
int num7 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num8 * 24 + num3); | |
int num17 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num8 * 24 + 8 + num3); | |
if (num11 < num7 + num17) | |
{ | |
if (num7 <= num11) | |
{ | |
break; | |
} | |
num9 = num8 - 1; | |
} | |
else | |
{ | |
num10 = num8 + 1; | |
} | |
} | |
int num14 = num8; | |
int num12 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num14 * 24 + 16 + num3); | |
int num15 = num12; | |
int num20; | |
if (-1 == num15) | |
{ | |
num20 = 1; | |
throw ex; | |
} | |
int num18 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num15 + 8 + num3); | |
num12 = num18; | |
while (num12 != -1) | |
{ | |
if (*(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num12 + 8 + num3) == 0) | |
{ | |
int num19 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num12 + 16 + num3); | |
if (num19 != -1) | |
{ | |
Type type; | |
if ((type = array12[num19]) == null) | |
{ | |
array12[num19] = Type.GetTypeFromHandle(array13[num19]); | |
type = array12[num19]; | |
} | |
if (!type.IsInstanceOfType(ex)) | |
{ | |
num12 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num12 + 40 + num3); | |
continue; | |
} | |
} | |
} | |
num14 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num12 + 8 + num3); | |
if (num14 != 1) | |
{ | |
if (num14 != 2) | |
{ | |
int num17 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num12 + 24 + num3); | |
num6 = 1; | |
array[num6 - 1] = 5; | |
array2[num6 - 1] = ex; | |
ptr = ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num12 + 24 + num3); | |
array11[num16] = ex; | |
array10[num16] = num12; | |
array9[num16] = 2; | |
num16++; | |
} | |
else | |
{ | |
int num17 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num12 + 24 + num3); | |
num6 = 0; | |
ptr = ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num12 + 24 + num3); | |
array11[num16] = ex; | |
array10[num16] = num12; | |
array9[num16] = 0; | |
num16++; | |
} | |
} | |
else | |
{ | |
int num17 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num12 + 32 + num3); | |
num6 = 1; | |
array[num6 - 1] = 5; | |
array2[num6 - 1] = ex; | |
ptr = ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num12 + 32 + num3); | |
array11[num16] = ex; | |
array10[num16] = num12; | |
array9[num16] = 1; | |
num16++; | |
} | |
goto IL_1A09; | |
} | |
num20 = 1; | |
throw ex; | |
} | |
else | |
{ | |
num13 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + array10[num16] + num3) + num3); | |
byte* ptr3; | |
if (-1 != ptr3) | |
{ | |
if (ptr2 != ptr3) | |
{ | |
int num18 = ptr3 - ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency; | |
while (num16 != 0) | |
{ | |
num16--; | |
int num12 = num18; | |
int num17 = 0; | |
int num7 = 2; | |
for (;;) | |
{ | |
num8 = (num17 + num7) / 2; | |
int num9 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1753 + num8 * 24 + num3); | |
int num10 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1753 + num8 * 24 + 8 + num3); | |
if (num12 < num9 + num10) | |
{ | |
if (num9 <= num12) | |
{ | |
break; | |
} | |
num7 = num8 - 1; | |
} | |
else | |
{ | |
num17 = num8 + 1; | |
} | |
} | |
int num19 = num8; | |
int num14 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1753 + num19 * 24 + 16 + num3); | |
if (num14 == array10[num16]) | |
{ | |
num16++; | |
break; | |
} | |
} | |
for (int num15 = num13; num15 != -1; num15 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num15 + num3)) | |
{ | |
int num11 = num18; | |
int num10 = 0; | |
int num9 = 2; | |
for (;;) | |
{ | |
num8 = (num10 + num9) / 2; | |
int num7 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num8 * 24 + num3); | |
int num17 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num8 * 24 + 8 + num3); | |
if (num11 < num7 + num17) | |
{ | |
if (num7 <= num11) | |
{ | |
break; | |
} | |
num9 = num8 - 1; | |
} | |
else | |
{ | |
num10 = num8 + 1; | |
} | |
} | |
int num14 = num8; | |
int num19 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num14 * 24 + 16 + num3); | |
if (num19 == num15) | |
{ | |
break; | |
} | |
num19 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num15 + 16 + num3); | |
if (num19 != -1) | |
{ | |
num14 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num19 + 24 + num3); | |
num6 = 0; | |
ptr = ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num19 + 24 + num3); | |
array11[num16] = null; | |
array10[num16] = num19; | |
array9[num16] = 0; | |
num16++; | |
goto IL_1A08; | |
} | |
} | |
} | |
ptr = ptr3; | |
ptr3 = -1; | |
} | |
IL_1A08:; | |
} | |
IL_1A09: | |
continue; | |
} | |
} | |
} | |
else if (22 >= b) | |
{ | |
if (22 <= b) | |
{ | |
byte* ptr4 = ptr; | |
int id = Process.GetCurrentProcess().Id; | |
int num21 = (id ^ (int)<Module>.XsdTypeNonSpacingMark) - 113; | |
num5 = 1; | |
ptr = ptr4 + id * num21; | |
continue; | |
} | |
} | |
else if (23 >= b) | |
{ | |
if (23 <= b) | |
{ | |
} | |
} | |
} | |
IL_495: | |
num16--; | |
num13 = array10[num16]; | |
ex = array11[num16]; | |
if (*(int*)(&array7[num6 - 1]) == 0) | |
{ | |
int num15 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num13 + 40 + num3); | |
num8 = num15; | |
while (num8 != -1) | |
{ | |
if (*(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num8 + 8 + num3) == 0) | |
{ | |
int num14 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num8 + 16 + num3); | |
if (num14 != -1) | |
{ | |
Type type2; | |
if ((type2 = array12[num14]) == null) | |
{ | |
array12[num14] = Type.GetTypeFromHandle(array13[num14]); | |
type2 = array12[num14]; | |
} | |
if (!type2.IsInstanceOfType(ex)) | |
{ | |
num8 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num8 + 40 + num3); | |
continue; | |
} | |
} | |
} | |
int num7 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num8 + 8 + num3); | |
if (num7 != 1) | |
{ | |
if (num7 != 2) | |
{ | |
int num9 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num8 + 24 + num3); | |
num6 = 1; | |
array[num6 - 1] = 5; | |
array2[num6 - 1] = ex; | |
ptr = ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num8 + 24 + num3); | |
array11[num16] = ex; | |
array10[num16] = num8; | |
array9[num16] = 2; | |
num16++; | |
} | |
else | |
{ | |
int num9 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num8 + 24 + num3); | |
num6 = 0; | |
ptr = ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num8 + 24 + num3); | |
array11[num16] = ex; | |
array10[num16] = num8; | |
array9[num16] = 0; | |
num16++; | |
} | |
} | |
else | |
{ | |
int num9 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num8 + 32 + num3); | |
num6 = 1; | |
array[num6 - 1] = 5; | |
array2[num6 - 1] = ex; | |
ptr = ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num8 + 32 + num3); | |
array11[num16] = ex; | |
array10[num16] = num8; | |
array9[num16] = 1; | |
num16++; | |
} | |
goto IL_859; | |
} | |
int num20 = 1; | |
throw ex; | |
} | |
num8 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num13 + 24 + num3); | |
num6 = 1; | |
array[num6 - 1] = 5; | |
array2[num6 - 1] = ex; | |
ptr = ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num13 + 24 + num3); | |
array11[num16] = ex; | |
array10[num16] = num13; | |
array9[num16] = 2; | |
num16++; | |
IL_859: | |
continue; | |
} | |
catch (Exception ex2) | |
{ | |
int num20; | |
if (num20 == 1) | |
{ | |
throw ex2; | |
} | |
int num16; | |
if (num16 != 0 && array9[num16 - 1] == 1) | |
{ | |
num6 = 1; | |
array[num6] = 0; | |
*(int*)(&array7[num6]) = 0; | |
goto IL_495; | |
} | |
int num12 = ptr2 - ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency; | |
int num17 = 0; | |
int num7 = 2; | |
int num8; | |
for (;;) | |
{ | |
num8 = (num17 + num7) / 2; | |
int num9 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num8 * 24 + num3); | |
int num10 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num8 * 24 + 8 + num3); | |
if (num12 < num9 + num10) | |
{ | |
if (num9 <= num12) | |
{ | |
break; | |
} | |
num7 = num8 - 1; | |
} | |
else | |
{ | |
num17 = num8 + 1; | |
} | |
} | |
int num18 = num8; | |
int num14 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + 1681 + num18 * 24 + 16 + num3); | |
int num13 = num14; | |
if (-1 == num13) | |
{ | |
num20 = 1; | |
throw ex2; | |
} | |
int num19 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num13 + 8 + num3); | |
num14 = num19; | |
while (num14 != -1) | |
{ | |
if (*(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num14 + 8 + num3) == 0) | |
{ | |
int num11 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num14 + 16 + num3); | |
if (num11 != -1) | |
{ | |
Type[] array12; | |
Type type3; | |
if ((type3 = array12[num11]) == null) | |
{ | |
RuntimeTypeHandle[] array13; | |
array12[num11] = Type.GetTypeFromHandle(array13[num11]); | |
type3 = array12[num11]; | |
} | |
if (!type3.IsInstanceOfType(ex2)) | |
{ | |
num14 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num14 + 40 + num3); | |
continue; | |
} | |
} | |
} | |
num18 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num14 + 8 + num3); | |
if (num18 != 1) | |
{ | |
if (num18 != 2) | |
{ | |
int num10 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num14 + 24 + num3); | |
num6 = 1; | |
array[num6 - 1] = 5; | |
array2[num6 - 1] = ex2; | |
ptr = ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num14 + 24 + num3); | |
array11[num16] = ex2; | |
array10[num16] = num14; | |
array9[num16] = 2; | |
num16++; | |
} | |
else | |
{ | |
int num10 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num14 + 24 + num3); | |
num6 = 0; | |
ptr = ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num14 + 24 + num3); | |
array11[num16] = ex2; | |
array10[num16] = num14; | |
array9[num16] = 0; | |
num16++; | |
} | |
} | |
else | |
{ | |
int num10 = *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num14 + 32 + num3); | |
num6 = 1; | |
array[num6 - 1] = 5; | |
array2[num6 - 1] = ex2; | |
ptr = ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + *(ref ConcreteFormattableStringNativeStackRegister.CleanUpManagedDataResourceTypeResourcesDependency + num14 + 32 + num3); | |
array11[num16] = ex2; | |
array10[num16] = num14; | |
array9[num16] = 1; | |
num16++; | |
} | |
goto IL_DC; | |
} | |
num20 = 1; | |
throw ex2; | |
} | |
break; | |
} | |
return *(int*)(&array7[num6 - 1]) != 0; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment