CPU Disasm Address Hex dump Command Comments 00401000 /$ 55 PUSH EBP 00401001 |. 8BEC MOV EBP,ESP 00401003 |. 53 PUSH EBX 00401004 |. 8B5D 08 MOV EBX,DWORD PTR SS:[ARG.1] 00401007 |. 57 PUSH EDI 00401008 |. 53 PUSH EBX ; /Arg1 => [ARG.1] 00401009 |. E8 6C000000 CALL ; \MSVCR110.strlen 0040100E |. 8B7D 0C MOV EDI,DWORD PTR SS:[ARG.2] 00401011 |. 59 POP ECX 00401012 |. 8BC8 MOV ECX,EAX 00401014 |. 33D2 XOR EDX,EDX 00401016 |. 85C9 TEST ECX,ECX 00401018 |. 7E 12 JLE SHORT 0040102C 0040101A |. 56 PUSH ESI 0040101B |. 8D77 FF LEA ESI,[EDI-1] 0040101E |. 03F1 ADD ESI,ECX 00401020 |> 8A041A /MOV AL,BYTE PTR DS:[EBX+EDX] 00401023 |. 42 |INC EDX 00401024 |. 8806 |MOV BYTE PTR DS:[ESI],AL 00401026 |. 4E |DEC ESI 00401027 |. 3BD1 |CMP EDX,ECX 00401029 |.^ 7C F5 \JL SHORT 00401020 0040102B |. 5E POP ESI 0040102C |> C60439 00 MOV BYTE PTR DS:[EDI+ECX],0 00401030 |. 5F POP EDI 00401031 |. 5B POP EBX 00401032 |. 5D POP EBP 00401033 \. C3 RETN 00401034 /$ 55 PUSH EBP 00401035 |. 8BEC MOV EBP,ESP 00401037 |. 83EC 40 SUB ESP,40 0040103A |. 56 PUSH ESI 0040103B |. 8B35 98204000 MOV ESI,DWORD PTR DS:[<&MSVCR110.printf>] 00401041 |. 68 C0204000 PUSH OFFSET 004020C0 ; ASCII "What is your name? " 00401046 |. FFD6 CALL ESI 00401048 |. 8D45 E0 LEA EAX,[LOCAL.8] 0040104B |. 50 PUSH EAX 0040104C |. 68 D4204000 PUSH OFFSET 004020D4 ; ASCII "%31s" 00401051 |. FF15 90204000 CALL DWORD PTR DS:[<&MSVCR110.scanf>] 00401057 |. 8D45 C0 LEA EAX,[LOCAL.16] 0040105A |. 50 PUSH EAX 0040105B |. 8D45 E0 LEA EAX,[LOCAL.8] 0040105E |. 50 PUSH EAX 0040105F |. E8 9CFFFFFF CALL 00401000 00401064 |. 68 DC204000 PUSH OFFSET 004020DC ; ASCII "Your secret code is: " 00401069 |. FFD6 CALL ESI 0040106B |. 8D45 C0 LEA EAX,[LOCAL.16] 0040106E |. 50 PUSH EAX 0040106F |. FFD6 CALL ESI 00401071 |. 83C4 1C ADD ESP,1C 00401074 |. 33C0 XOR EAX,EAX 00401076 |. 5E POP ESI 00401077 |. C9 LEAVE 00401078 \. C3 RETN