Advertisement
MMMonster

GTA V 1.42 NativeRegistrationNew

Jan 11th, 2018
545
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. struct NativeRegistrationNew {
  2. uint64_t nextRegistration1;
  3. uint64_t nextRegistration2;
  4. ScriptEngine::NativeHandler handlers[7];
  5. uint32_t numEntries1;
  6. uint32_t numEntries2;
  7. uint64_t hashes;
  8.  
  9. inline NativeRegistrationNew* getNextRegistration() {
  10. uintptr_t result;
  11. auto v5 = reinterpret_cast<uintptr_t>(&nextRegistration1);
  12. auto v12 = 2i64;
  13. auto v13 = v5 ^ nextRegistration2;
  14. auto v14 = (char *)&result - v5;
  15. do
  16. {
  17. *(DWORD*)&v14[v5] = v13 ^ *(DWORD*)v5;
  18. v5 += 4i64;
  19. --v12;
  20. } while (v12);
  21.  
  22. return reinterpret_cast<NativeRegistrationNew*>(result);
  23. }
  24.  
  25. inline uint32_t getNumEntries() {
  26. return ((uintptr_t)&numEntries1) ^ numEntries1 ^ numEntries2;
  27. }
  28.  
  29. inline uint64_t getHash(uint32_t index) {
  30.  
  31. auto naddr = 16 * index + reinterpret_cast<uintptr_t>(&nextRegistration1) + 0x54;
  32. auto v8 = 2i64;
  33. uint64_t nResult;
  34. auto v11 = (char *)&nResult - naddr;
  35. auto v10 = naddr ^ *(DWORD*)(naddr + 8);
  36. do
  37. {
  38. *(DWORD *)&v11[naddr] = v10 ^ *(DWORD*)(naddr);
  39. naddr += 4i64;
  40. --v8;
  41. } while (v8);
  42.  
  43. return nResult;
  44. }
  45. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement