Advertisement
Guest User

Untitled

a guest
Dec 13th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.70 KB | None | 0 0
  1. UINT64 ThePupa(UINT64 GName)
  2. {
  3. __int64 v3;
  4. v3 = GName;
  5.  
  6. int v30; // eax@15
  7. int v31; // ecx@15
  8. int v32; // eax@15
  9. int v33; // ecx@15
  10. int v34; // eax@15
  11. int v35; // edx@15
  12. int v36; // eax@15
  13. int v37; // edx@15
  14. int v38; // er8^4@15
  15. unsigned int v39; // edx@15
  16. unsigned int v40; // eax@15
  17. unsigned __int16 v41; // r8@15
  18. unsigned int v42; // edx@15
  19. unsigned __int64 v55; // [sp+30h] [bp+8h]@15
  20.  
  21. v30 = __ROL4__(v3, 16);
  22. v31 = __ROR4__(HIDWORD(v3), 8);
  23. v32 = __ROL4__(v30 + 210525236, 16);
  24. v33 = __ROR4__(v31 + 196283316, 8);
  25. LODWORD(v55) = v32 ^ 0xC8C5C34;
  26. HIDWORD(v55) = v33 ^ 0xF44CF44C;
  27. v34 = __ROL4__(READ64(v55) + 514196413, 16);
  28. v35 = __ROR4__((READ64(v55) >> 32) - 2083141912, 8);
  29. v36 = __ROL4__(v34 + 855603444, 16);
  30. v37 = __ROR4__(v35 + 397197183, 8);
  31. LODWORD(v55) = v36 ^ 0x79597537;
  32. HIDWORD(v55) = v37 ^ 0x7290769;
  33. v38 = (((READ64(v55) >> 32) ^ 0x232A3917) + 1861381746) ^ 0xE6D85765;
  34. LOWORD(v36) = __ROL2__(((((unsigned int)READ64(v55) ^ 0x8859FC42) + 1840117042) ^ 0x417570EE) >> 16, 8);
  35. v39 = (((unsigned __int16)v36 << 16) | (unsigned __int16)v36 ^ (unsigned __int16)(((READ64(v55) ^ 0xFC42) - 2766) ^ 0x70EE))
  36. - 1048479330;
  37. v40 = ((((READ64(v55) >> 32) ^ 0x232A3917) + 1861381746) ^ 0x2406953B) >> 16;
  38. LODWORD(v55) = v39 & 0xFFFF0000 | (unsigned __int16)v39 ^ (v39 >> 16);
  39. v41 = __ROL2__(v38 ^ 0xC25E, 8);
  40. v42 = (((v38 ^ 0xC2DEC25E) >> 16 << 16) | v40 ^ v41) - 1025588642;
  41. LOWORD(v42) = __ROL2__((v40 ^ v41) - 15778, 8);
  42. LOWORD(v40) = __ROL2__(HIWORD(v42), 8);
  43. HIDWORD(v55) = ((unsigned __int16)v40 << 16) | (unsigned __int16)v40 ^ (unsigned __int16)v42;
  44.  
  45.  
  46. return v55;
  47. }
  48. UINT64 TheLupa(UINT64 GName)
  49. {
  50. int v5; // edx@1
  51. int v6; // ecx@1
  52. unsigned __int16 v7; // ax@1
  53. int v8; // er8@1
  54. unsigned __int16 v9; // ax@1
  55. int v10; // edx@1
  56. unsigned __int16 v11; // ax@1
  57. __int64 v12; // rcx@1
  58. unsigned int v18; // eax@3
  59. unsigned int v19; // ecx@3
  60. __int64 v20; // rdx@4
  61. unsigned __int64 v28; // [sp+30h] [bp+8h]@1
  62. unsigned __int64 v29; // [sp+38h] [bp+10h]@1
  63.  
  64. v28 = GName;
  65.  
  66. v5 = ((v28 & 0xFFFF0000 | ((unsigned int)v28 >> 16) ^ (unsigned __int16)v28) + 1048479330) >> 16;
  67. v6 = v5 ^ (unsigned __int16)((WORD1(v28) ^ v28) - 31134);
  68. v7 = __ROR2__(v5, 8);
  69. v8 = v7;
  70. v9 = __ROR2__(WORD3(v28), 8);
  71. LOWORD(v5) = __ROR2__((v28 >> 32) ^ WORD3(v28), 8);
  72. LODWORD(v29) = (v6 | (v8 << 16)) ^ 0x3E7E8662;
  73. v10 = ((v9 << 16) | (unsigned __int16)v5) + 1025588642;
  74. v11 = __ROR2__(v10 ^ HIWORD(v10), 8);
  75. HIDWORD(v29) = (v10 & 0xFFFF0000 | v11) ^ 0xC2DEC25E;
  76.  
  77. v12 = READ64(v29 + 8); //*(_QWORD *)(v29 + 8);
  78.  
  79. v18 = (v12 + 537126414) ^ 0x1010D0F0;
  80. v19 = (HIDWORD(v12) + 19184352) ^ 0xF010F010;
  81. v29 = __PAIR__(v19, v18);
  82.  
  83. return v29;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement