I still can't figure out why you're trying to call all these functions using asm?
It seems like hard work, and you often get it wrong.

If (and I stress "IF") you get the types right, and the address right, then there is no reason for the function pointer approach to fail.

For example, how do you know that ZPostShotMelee begins at 00480C70 ?
Is that address even in the same address space as your program?
Is it in a DLL, which may relocate to another address?
Do you have the correct calling convention. There are several on a win32 platform.

Another question is why don't you have the source code for all of these asm functions you keep posting.

Also, how do you know you're getting the right setup/teardown sequence? It seems to me you're just calling things at random. It's a bit like calling fread() without calling fopen() first kinda thing.

Are you trying to hack a game to give yourself some magic powers which normal people won't have? That's what I read into the snippets you've posted so far.