I try to understand code reversed using IDA. Some parts below:
.text:00401510 Destination= byte ptr -0Fh
.text:00401510 argc= dword ptr 8
.text:00401510 argv= dword ptr 0Ch
.text:00401510 envp= dword ptr 10h
...
.text:0040151E mov dword ptr [esp+2Bh], 35706635h
.text:00401526 mov word ptr [esp+2Fh], 73h ; 's'
.text:0040152D mov dword ptr [esp+1Fh], 6866234Ah
.text:00401535 mov dword ptr [esp+23h], 7667236Fh
.text:0040153D mov dword ptr [esp+27h], 776C21h
.text:00401545 mov dword ptr [esp+1Ah], 37333331h
My problem is:
- what is "h" in the end of the offset (eg 0Ch)? Variable argc is assigned to offset 8, argv to 0C and envp to 10, am I wrong?
- how its possible to set negative offset in variable "Destination"?
- how can I get values of that variables?
- in mov functions is "h" used for something? I assume that some ascii is assigned to offset. 73(h) is "s"