Guest User

Untitled

a guest
Jan 21st, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1. signed int __usercall sub_1E10F020<eax>(int a1<eax>, int a2<esi>)
  2. {
  3. signed int result; // eax@1
  4. int v3; // ecx@1
  5.  
  6. *(_DWORD *)a2 = a1;
  7. result = 1;
  8. v3 = a2;
  9. do
  10. {
  11. *(_DWORD *)(v3 + 4) = result++ + 1812433253 * (*(_DWORD *)v3 ^ (*(_DWORD *)v3 >> 30));
  12. v3 += 4;
  13. }
  14. while ( result < 624 );
  15. *(_DWORD *)(a2 + 2496) = result;
  16. return result;
  17. }
  18.  
  19. int __userpurge sub_1E10F090<eax>(unsigned int *a1<edi>, signed int a2)
  20. {
  21. unsigned int v2; // ebx@1
  22. signed int v3; // ebp@1
  23. int v4; // ecx@1
  24. int v5; // ecx@1
  25. int v6; // ecx@1
  26. int v7; // ecx@1
  27. unsigned int v8; // ecx@2
  28. int v9; // eax@4
  29. unsigned int v10; // eax@4
  30. int v11; // ebp@5
  31. char v12; // zf@6
  32. unsigned int v14; // eax@9
  33. signed int v15; // ebp@9
  34. int v16; // ecx@10
  35. int v17; // esi@10
  36. int v18; // edx@13
  37. int v19; // esi@13
  38. char v20; // zf@13
  39. unsigned int v21; // [sp+Ch] [bp-9E0h]@1
  40. int v22; // [sp+Ch] [bp-9E0h]@9
  41. int v23; // [sp+10h] [bp-9DCh]@4
  42. int v24; // [sp+14h] [bp-9D8h]@3
  43. int v25; // [sp+18h] [bp-9D4h]@1
  44. int v26; // [sp+1Ch] [bp-9D0h]@1
  45. int v27; // [sp+20h] [bp-9CCh]@1
  46. int v28; // [sp+24h] [bp-9C8h]@1
  47. char v29; // [sp+28h] [bp-9C4h]@1
  48. signed int v30; // [sp+9F0h] [bp+4h]@9
  49.  
  50. v2 = *a1;
  51. v3 = a2;
  52. v21 = 0;
  53. sub_1E10F020();
  54. v25 = sub_1E10E2F0(v4, &v29);
  55. v26 = sub_1E10E2F0(v5, &v29);
  56. v27 = sub_1E10E2F0(v6, &v29);
  57. v28 = sub_1E10E2F0(v7, &v29);
  58. if ( a2 <= 1 )
  59. {
  60. if ( a2 < -1 )
  61. {
  62. v15 = -a2;
  63. v30 = v15;
  64. v14 = -1640531527 * (52 / v15 + 6);
  65. v22 = -1640531527 * (52 / v15 + 6);
  66. if ( v14 )
  67. {
  68. do
  69. {
  70. v17 = (v14 >> 2) & 3;
  71. v16 = v15 - 1;
  72. if ( v15 - 1 > 0 )
  73. {
  74. do
  75. {
  76. v17 = (v14 >> 2) & 3;
  77. v2 = a1[v16]
  78. - (((v2 ^ v22) + (a1[v16 - 1] ^ *(&v25 + ((v14 >> 2) & 3 ^ v16 & 3)))) ^ ((4 * v2 ^ (a1[v16 - 1] >> 5))
  79. + (16 * a1[v16 - 1] ^ (v2 >> 3))));
  80. a1[v16--] = v2;
  81. }
  82. while ( v16 > 0 );
  83. v15 = v30;
  84. }
  85. v18 = (4 * v2 ^ (a1[v15 - 1] >> 5)) + (16 * a1[v15 - 1] ^ (v2 >> 3));
  86. v15 = v30;
  87. v19 = *a1 - (((v2 ^ v22) + (a1[v30 - 1] ^ *(&v25 + (v17 ^ v16 & 3)))) ^ v18);
  88. v20 = v22 == -1640531527;
  89. v14 = v22 + 1640531527;
  90. *a1 = v19;
  91. v2 = v19;
  92. v22 += 1640531527;
  93. }
  94. while ( !v20 );
  95. }
  96. }
  97. return 0;
  98. }
  99. v8 = a1[a2 - 1];
  100. if ( 52 / a2 + 6 <= 0 )
  101. return 0;
  102. v24 = 52 / a2 + 6;
  103. do
  104. {
  105. v10 = v21 - 1640531527;
  106. v21 = v10;
  107. v23 = (v10 >> 2) & 3;
  108. v9 = 0;
  109. if ( v3 - 1 > 0 )
  110. {
  111. do
  112. {
  113. v11 = (((a1[v9 + 1] ^ v21) + (v8 ^ *(&v25 + (v23 ^ v9 & 3)))) ^ ((4 * a1[v9 + 1] ^ (v8 >> 5))
  114. + (16 * v8 ^ (a1[v9 + 1] >> 3))))
  115. + a1[v9];
  116. a1[v9] = v11;
  117. v8 = v11;
  118. v3 = a2;
  119. ++v9;
  120. }
  121. while ( v9 < a2 - 1 );
  122. }
  123. v8 = (((*a1 ^ v21) + (v8 ^ *(&v25 + (v23 ^ v9 & 3)))) ^ ((4 * *a1 ^ (v8 >> 5)) + (16 * v8 ^ (*a1 >> 3))))
  124. + a1[v3 - 1];
  125. v12 = v24 == 1;
  126. a1[v3 - 1] = v8;
  127. --v24;
  128. }
  129. while ( !v12 );
  130. return 0;
  131. }
Add Comment
Please, Sign In to add comment