This code calls fmod._FSOUND_Stream_PlayEx@16 with 4 parameters, am i correct? 1002D321 > 6A 00 PUSH 0 1002D323 6A 00 PUSH 0 1002D325 FF7424 10 PUSH DWORD PTR SS:[ESP+10] 1002D329 FF7424 10 PUSH DWORD PTR SS:[ESP+10] 1002D32D E8 03000000 CALL fmod._FSOUND_Stream_PlayEx@16 But so dos this code, 4 parameters to messagebox........ 00381000 > 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+10] 00381004 8B4C24 0C MOV ECX,DWORD PTR SS:[ESP+C] 00381008 8B5424 08 MOV EDX,DWORD PTR SS:[ESP+8] 0038100C 56 PUSH ESI 0038100D 8B35 F0803800 MOV ESI,DWORD PTR DS:[<&USER32.MessageBo>; USER32.MessageBoxA Why is the way to pass parameters so different, or is the push command not at all to pass parameters?