
using handle = std::unique_ptr<std::remove_pointer_t<HANDLE>, decltype(&CloseHandle)>;
handle h_game(OpenProcess(game's pid, false, PROCESS_ALL_ACCESS), &CloseHandle);
std::uintptr_t& deref_address = 0;
ReadProcessMemory(h_game.get(), reinterpret_cast<void*>(0x00FBAAC0), &deref_address, sizeof(std::uintptr_t), nullptr);
double& health = 0;
ReadProcessMemory(h_game.get(), reinterpret_cast<void*>(deref_address + 0x388), &health, sizeof(double), nullptr);
std::printf("health: %d\n", health);