About you not understanding calling conventions it's just that functions HookedSetExperience
and HookedPushLetter
have __stdcall instead of __cdecl but I don't know if this is your doing or just someone edited it because there's /*_cdecl */
infront of them(or maybe you corrected it inside your client.exe). The other function that have different calling convention that should have is AddContextMenu
because it have __cdecl and the real convention is __thiscall so it should be declared as __stdcall or __fastcall which allows you to access ecx and edx registers directly from c++ code(that is probably the reason for commenting //HookAsmCall(ADD_CONTEXT_MENU_EX_CALL_SET_OUTFIT_FUNCTION_ADDRESS, (DWORD)&HookedAddSetOutfitContextMenu);
). So as you can see my words aren't empty but I don't know either if it's your fucks up or someone after you made it, anyway I understand what you wanted to achieve with asm calls but they are simply broken.