Why following codes works vary?
IncorrectWindowBorder:
start:
push ebp
mov ebp, esp
sub esp, 0x0A
push dword 0x00000000
push sz_caption
push sz_msg
push dword 0x00000000
call [user32.MessageBoxA]
push 0x00000000 ; return winmain result
call [kernel32.ExitProcess]
CorrectWindowBorder
start:
push ebp
mov ebp, esp
;sub esp, 0x0A why esp substraction (for local vars) changes msgBox?
push dword 0x00000000
push sz_caption
push sz_msg
push dword 0x00000000
call [user32.MessageBoxA]
push 0x00000000 ; return winmain result
call [kernel32.ExitProcess]