Might also be a good time to use IsBadReadPtr, but I have little experience with that.
The pointer in question is 0xILTCLIENTADDRESS and the data it points at. If 0xILTCLIENTADDRESS and *0xILTCLIENTADDRESS are valid pointers, chances are you are in the money.
while (IsBadReadPtr(0xILTCLIENTADDRESS) || IsBadReadPtr(0xILTCLIENTADDRESS))
Sleep(100);
cILTClient *ILTClient = *(cILTClient**)0xILTCLIENTADDRESS;
This way, it might not crash when/if RunConsoleCommand's offset changes. (If Nexon were smart, it'd change every update to keep you guys on your toes.
Thanks crash