Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct NativeRegistrationNew {
- uint64_t nextRegistration1;
- uint64_t nextRegistration2;
- ScriptEngine::NativeHandler handlers[7];
- uint32_t numEntries1;
- uint32_t numEntries2;
- uint64_t hashes;
- inline NativeRegistrationNew* getNextRegistration() {
- uintptr_t result;
- auto v5 = reinterpret_cast<uintptr_t>(&nextRegistration1);
- auto v12 = 2i64;
- auto v13 = v5 ^ nextRegistration2;
- auto v14 = (char *)&result - v5;
- do
- {
- *(DWORD*)&v14[v5] = v13 ^ *(DWORD*)v5;
- v5 += 4i64;
- --v12;
- } while (v12);
- return reinterpret_cast<NativeRegistrationNew*>(result);
- }
- inline uint32_t getNumEntries() {
- return ((uintptr_t)&numEntries1) ^ numEntries1 ^ numEntries2;
- }
- inline uint64_t getHash(uint32_t index) {
- auto naddr = 16 * index + reinterpret_cast<uintptr_t>(&nextRegistration1) + 0x54;
- auto v8 = 2i64;
- uint64_t nResult;
- auto v11 = (char *)&nResult - naddr;
- auto v10 = naddr ^ *(DWORD*)(naddr + 8);
- do
- {
- *(DWORD *)&v11[naddr] = v10 ^ *(DWORD*)(naddr);
- naddr += 4i64;
- --v8;
- } while (v8);
- return nResult;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement