00401000 >/$ E8 D9000000 CALL <JMP.&kernel32;.AllocConsole> ; [AllocConsole
00401005 |. 68 51304000 PUSH In16_out.00403051 ; /Title = "Sample"
0040100A |. E8 E7000000 CALL <JMP.&kernel32;.SetConsoleTitleA> ; SetConsoleTitleA
0040100F |. 6A F5 PUSH -0B ; /DevType = STD_OUTPUT_HANDLE
00401011 |. E8 D4000000 CALL <JMP.&kernel32;.GetStdHandle> ; GetStdHandle
00401016 |. A3 44304000 MOV DWORD PTR DS:[403044],EAX
0040101B |. 6A F6 PUSH -0A ; /DevType = STD_INPUT_HANDLE
0040101D |. E8 C8000000 CALL <JMP.&kernel32;.GetStdHandle> ; GetStdHandle
00401022 |. A3 40304000 MOV DWORD PTR DS:[403040],EAX
00401027 |. 6A 00 PUSH 0 ; /pReserved = NULL
00401029 |. 68 5C304000 PUSH In16_out.0040305C ; |pWritten = In16_out.0040305C
0040102E |. 6A 04 PUSH 4 ; |CharsToWrite = 4
00401030 |. 68 48304000 PUSH In16_out.00403048 ; |Buffer = In16_out.00403048
00401035 |. FF35 44304000 PUSH DWORD PTR DS:[403044] ; |hConsole = 00000007
0040103B |. E8 C2000000 CALL <JMP.&kernel32;.WriteConsoleA> ; WriteConsoleA
00401040 |. 6A 00 PUSH 0 ; /pReserved = NULL
00401042 |. 68 58304000 PUSH In16_out.00403058 ; |pRead = In16_out.00403058
00401047 |. 6A 10 PUSH 10 ; |ToRead = 10 (16.)
00401049 |. 68 00304000 PUSH In16_out.00403000 ; |Buffer = In16_out.00403000
0040104E |. FF35 40304000 PUSH DWORD PTR DS:[403040] ; |hConsole = NULL
00401054 |. E8 97000000 CALL <JMP.&kernel32;.ReadConsoleA> ; ReadConsoleA
00401059 |. 33C0 XOR EAX,EAX
0040105B |. 33DB XOR EBX,EBX
0040105D |. 8D35 00304000 LEA ESI,DWORD PTR DS:[403000]
00401063 |> 8A1E /MOV BL,BYTE PTR DS:[ESI]
00401065 |. 80FB 0D |CMP BL,0D
00401068 |. 74 18 |JE SHORT In16_out.00401082
0040106A |. 80FB 0A |CMP BL,0A
0040106D |. 74 13 |JE SHORT In16_out.00401082
0040106F |. 80EB 30 |SUB BL,30
00401072 |. 80FB 09 |CMP BL,9
00401075 |. 7E 03 |JLE SHORT In16_out.0040107A
00401077 |. 80EB 07 |SUB BL,7
0040107A |> C1E0 04 |SHL EAX,4
0040107D |. 0BC3 |OR EAX,EBX
0040107F |. 46 |INC ESI
00401080 |.^EB E1 JMP SHORT In16_out.00401063
00401082 |> 8D35 20304000 LEA ESI,DWORD PTR DS:[403020]
00401088 |. B9 20000000 MOV ECX,20
0040108D |> 33DB XOR EBX,EBX
0040108F |. D1E0 SHL EAX,1
00401091 |. D1D3 RCL EBX,1
00401093 |. 80C3 30 ADD BL,30
00401096 |. 881E MOV BYTE PTR DS:[ESI],BL
00401098 |. 46 INC ESI
00401099 |.^E2 F2 LOOPD SHORT In16_out.0040108D
0040109B |. 6A 00 PUSH 0 ; /pReserved = NULL
0040109D |. 68 5C304000 PUSH In16_out.0040305C ; |pWritten = In16_out.0040305C
004010A2 |. 6A 05 PUSH 5 ; |CharsToWrite = 5
004010A4 |. 68 4C304000 PUSH In16_out.0040304C ; |Buffer = In16_out.0040304C
004010A9 |. FF35 44304000 PUSH DWORD PTR DS:[403044] ; |hConsole = 00000007
004010AF |. E8 4E000000 CALL <JMP.&kernel32;.WriteConsoleA> ; WriteConsoleA
004010B4 |. 6A 00 PUSH 0 ; /pReserved = NULL
004010B6 |. 68 5C304000 PUSH In16_out.0040305C ; |pWritten = In16_out.0040305C
004010BB |. 6A 20 PUSH 20 ; |CharsToWrite = 20 (32.)
004010BD |. 68 20304000 PUSH In16_out.00403020 ; |Buffer = In16_out.00403020
004010C2 |. FF35 44304000 PUSH DWORD PTR DS:[403044] ; |hConsole = 00000007
004010C8 |. E8 35000000 CALL <JMP.&kernel32;.WriteConsoleA> ; WriteConsoleA
004010CD |. 68 60EA0000 PUSH 0EA60 ; /Timeout = 60000. ms
004010D2 |. E8 25000000 CALL <JMP.&kernel32;.Sleep> ; Sleep
004010D7 |. 6A 00 PUSH 0 ; /ExitCode = 0
004010D9 . E8 06000000 CALL <JMP.&kernel32;.ExitProcess> ; ExitProcessAdd a code snippet to your website: www.paste.org