So if I would have something like this
rout:
pop eax
pop ecx
add ecx,2
push ecx
ret
Then just
push 3
call rout
I've noticed that the first time to pop isn't going to give me the value 3 as I thought it would, instead I get it after the first pop.
My question is, what is the last value pushed to the stack while I'm calling it? (In register eax in this example)