I was writing a program in Nasm and I found out that while winapi functions like CreateProcessA
or GetModuleFileNameA
do pop their arguments from the stack once they have finished, printf
is not doing that.
Is there a reason for that? And more importently: are there any other winapi functions who do not pop the elements from the stack? Because my program is misbehaving and I want to be sure that none of it is caused by not pop'd values.