I am very new in assembly language, and i can't understand this code.
mov byte [esp + 0x1], al
I'm not sure, but this line set the al value at esp+0x1 byte position right? In my case, al is never used with:
'mov al, <value>'
What is the value set in the first line if al doesn't have value?