Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uint64_t tsl_decrypt_localplayer(struct Tsl *tsl, uint64_t prop)
- {
- struct uint128_t xmm;
- if (!READ(prop, &xmm, 16))
- {
- return 0;
- }
- uint32_t key = (uint32_t)xmm.low;
- if (!IsValid(xmm.high))
- return 0;
- if (!mem->IsValid(xmm.high) || !mem->IsValid(key))
- return 0;
- int v3 = (unsigned __int16)(key + 107) ^ ((unsigned __int16)(HIWORD(key) + 31) + 59365);
- auto index = ((unsigned __int8)(((key + 107) ^ (BYTE2(key) + 4)) + 67) ^ ((unsigned __int8)~((~BYTE1(v3) - 115) ^ 0x73) + 246))
- % 128;
- uint64_t func = READ64(GET_ADDR(TABLE) + 0x8 * index);
- if (auto encValue = decrypt(tsl, func, (~(~xmm.high ^ key))))
- return ror8(encValue, 81);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement