Advertisement
Guest User

Untitled

a guest
Apr 26th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. // <Module>
  2. // Token: 0x06000001 RID: 1 RVA: 0x000049D8 File Offset: 0x00002BD8
  3. private static GCHandle Decrypt(uint[] A_0, uint A_1)
  4. {
  5. uint[] array = new uint[16];
  6. uint[] array2 = new uint[16];
  7. ulong num = (ulong)A_1;
  8. for (int i = 0; i < 16; i++)
  9. {
  10. num = num * num % 339722377UL;
  11. array2[i] = (uint)num;
  12. array[i] = (uint)(num * num % 1145919227UL);
  13. }
  14. array[0] = (array[0] ^ array2[0]) + 2032931921u;
  15. array[1] = (array[1] + array2[1]) * 2694679647u;
  16. array[2] = array[2] * array2[2] + 2032931921u;
  17. array[3] = (array[3] + array2[3]) * 2694679647u;
  18. array[4] = (array[4] + array2[4]) * 2694679647u;
  19. array[5] = array[5] * array2[5] + 2032931921u;
  20. array[6] = (array[6] ^ array2[6]) + 2032931921u;
  21. array[7] = (array[7] ^ array2[7]) + 2032931921u;
  22. array[8] = (array[8] ^ array2[8] ^ 3019827417u);
  23. array[9] = array[9] + array2[9] + 2032931921u;
  24. array[10] = (array[10] + array2[10]) * 2694679647u;
  25. array[11] = (array[11] ^ array2[11]) + 2032931921u;
  26. array[12] = (array[12] + array2[12] ^ 3019827417u);
  27. array[13] = (array[13] + array2[13]) * 2694679647u;
  28. array[14] = array[14] * array2[14] + 2032931921u;
  29. array[15] = (array[15] ^ array2[15]) + 2032931921u;
  30. Array.Clear(array2, 0, 16);
  31. byte[] array3 = new byte[A_0.Length << 2];
  32. uint num2 = 0u;
  33. for (int j = 0; j < A_0.Length; j++)
  34. {
  35. uint num3 = A_0[j] ^ array[j & 15];
  36. array[j & 15] = (array[j & 15] ^ num3) + 1037772825u;
  37. array3[(int)((UIntPtr)num2)] = (byte)num3;
  38. array3[(int)((UIntPtr)(num2 + 1u))] = (byte)(num3 >> 8);
  39. array3[(int)((UIntPtr)(num2 + 2u))] = (byte)(num3 >> 16);
  40. array3[(int)((UIntPtr)(num2 + 3u))] = (byte)(num3 >> 24);
  41. num2 += 4u;
  42. }
  43. Array.Clear(array, 0, 16);
  44. byte[] array4 = <Module>.Decompress(array3);
  45. Array.Clear(array3, 0, array3.Length);
  46. GCHandle result = GCHandle.Alloc(array4, GCHandleType.Pinned);
  47. ulong num4 = num % 9067703UL;
  48. for (int k = 0; k < array4.Length; k++)
  49. {
  50. byte[] array5 = array4;
  51. int num5 = k;
  52. array5[num5] ^= (byte)num;
  53. if ((k & 255) == 0)
  54. {
  55. num = num * num % 9067703UL;
  56. }
  57. }
  58. return result;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement