So when I call GetObjectByGuid(localPlayerGuid, -1) I get a pointer which is 20051D70 (for example). But in the send movement forward function the ThisCall ECX value passed is 20052540 then move ecx, DWORD...:[20052540(esi)+148] happens and it sets ECX to 20051D70. Which is the value I was passing the func in the first place.
So my question is, does anyone know what + 148 gives you the playerObjectpointer? Or any tips to reverse it?
I guess if no one responds I will have to detour the func and and patch the mov ecx,... at runtime to use the right value. Wish someone could recommend a less hackish way tho.