Files
ReSkate/Engine/Game/Build/20260929/entitlement_trace.h
T
2026-10-02 14:40:41 -05:00

50 lines
2.8 KiB
C++

#pragma once
#include "engine.h"
#include <array>
#include <cstdint>
namespace dingosdk::game::build::v20260929::entitlement_trace {
// CheckUsersEntitlements entry.
inline constexpr std::uintptr_t check_entitlements = engine::check_entitlements;
inline constexpr std::array<unsigned char, 40> check_entitlements_prefix{
0x40,0x55,0x57,0x41,0x56,0x41,0x57,0x48,0x8d,0x6c,0x24,0xd8,0x48,0x81,0xec,0x28,
0x01,0x00,0x00,0x48,0x8b,0x05,0x66,0x00,0xa5,0x06,0x48,0x33,0xc4,0x48,0x89,0x45,
0x08,0x4c,0x8b,0xf1,0x4c,0x89,0x44,0x24};
// Progression request builder.
inline constexpr std::uintptr_t request_builder = 0x3912d0;
inline constexpr std::array<unsigned char, 40> request_builder_prefix{
0x48,0x89,0x5c,0x24,0x20,0x55,0x56,0x57,0x41,0x54,0x41,0x55,0x41,0x56,0x41,0x57,
0x48,0x8d,0xac,0x24,0x40,0xff,0xff,0xff,0x48,0x81,0xec,0xc0,0x01,0x00,0x00,0x48,
0x8b,0x05,0xca,0x30,0xe3,0x06,0x48,0x33};
// Entitlement result reducer.
inline constexpr std::uintptr_t result_reducer = 0x76d900;
inline constexpr std::array<unsigned char, 40> result_reducer_prefix{
0x48,0x8b,0xc4,0x53,0x57,0x48,0x81,0xec,0xa8,0x00,0x00,0x00,0x4c,0x89,0x60,0xe0,
0x48,0x8b,0xda,0x4c,0x89,0x70,0xd0,0x4c,0x8b,0xe1,0x48,0x89,0x4c,0x24,0x78,0x48,
0x8d,0x4c,0x24,0x28,0x4c,0x89,0x78,0xc8};
// Entitlement request continuation callback.
inline constexpr std::uintptr_t continuation_callback = 0x76f7f0;
inline constexpr std::array<unsigned char, 40> continuation_callback_prefix{
0x4c,0x8b,0xdc,0x49,0x89,0x5b,0x20,0x57,0x48,0x83,0xec,0x60,0x48,0x8b,0x02,0x4d,
0x8b,0xc8,0x49,0x89,0x43,0xb8,0x4d,0x8d,0x43,0xb8,0x48,0x8b,0x42,0x08,0x48,0x8b,
0xfa,0x49,0x89,0x43,0xc0,0x48,0x8b,0xd9};
// Promise capture inside check_entitlements.
inline constexpr std::uintptr_t entry_promise_capture = 0x774665;
inline constexpr std::array<unsigned char, 48> entry_promise_capture_prefix{
0x48,0x8b,0x54,0x24,0x58,0x48,0x8d,0x4c,0x24,0x38,0xe8,0xcc,0x0e,0x66,0x03,0x48,
0x8d,0x05,0x25,0xb3,0xff,0xff,0x48,0x89,0x45,0xf0,0x48,0x8d,0x54,0x24,0x38,0x48,
0x8d,0x05,0x65,0xb1,0xff,0xff,0x48,0x8d,0x4d,0xe0,0x48,0x89,0x45,0xf8,0xe8,0xa8};
// check_entitlements' call to the request builder and its return address.
inline constexpr std::uintptr_t entry_builder_call = 0x7746fe;
inline constexpr std::uintptr_t entry_builder_return = 0x77470f;
inline constexpr std::array<unsigned char, 17> entry_builder_call_prefix{
0x4c,0x8d,0x45,0xa0,0x49,0x8b,0xcd,0x48,0x8d,0x54,0x24,0x60,0xe8,0xc1,0xcb,0xc1,
0xff};
// The continuation callback's call to the result reducer and its return address.
inline constexpr std::uintptr_t callback_reducer_call = 0x76f846;
inline constexpr std::uintptr_t callback_reducer_return = 0x76f858;
inline constexpr std::array<unsigned char, 18> callback_reducer_call_prefix{
0x49,0x8b,0xc9,0xc5,0xf8,0x11,0x44,0x24,0x40,0x89,0x44,0x24,0x50,0xe8,0xa8,0xe0,
0xff,0xff};
}