Op, if I understood right... your problem is the addressing changing every time, is that right? Did you got an offset of it? Baseaddr+offset.
Like game.exe+deadbeef, that address is different on every execution, as the basemodule addr from game.exe changes (ASLR).
But what game.exe+deadbeef points doesn't change :} .. At least if it isn't at heap from conditional flow execution, like a pointer stored on a dynamic allocated var, where alloc/dealloc isn't always deterministic.
On this scenario you may have difference between executions, even using offsets.