Function at 0x412520
Capabilities:
Execute command

Disassembly:
sub esp, 0x1f8
push ebx
push dword [0x4352b8]
call fcn.00402ea1
push dword [0x43239c]
mov ebx, dword [eax]
mov dword [esp + 8], ebx
call sub.MSVCRT.dll__fileno
push eax
call sub.MSVCRT.dll__isatty
add esp, 8
test eax, eax
jne 0x4125b5
push str._n_Debugger_Error___Cannot_call_Debugger_because_STDIN_is_not_connected_to
push dword [0x441654]
call sub.MSVCRT.dll_fprintf
mov ecx, dword [ebx + 0x14]
add esp, 8
mov eax, ecx
and eax, 0xfffff
inc eax
push eax
push ecx
call fcn.0040be60
push eax
push str._n_Debugger_Error___a_terminal_device__File:__s__Line:__d_
push dword [0x441654]
call sub.MSVCRT.dll_fprintf
push str._n_Debugger_Error___Program_execution_continues..._n
push dword [0x441654]
call sub.MSVCRT.dll_fprintf
push dword [0x441654]
call sub.MSVCRT.dll_fflush
add esp, 0x1c
mov dword [ebx + 0x20], 0
pop ebx
add esp, 0x1f8
ret 4
mov eax, dword [ebx + 4]
cmp eax, 3
je 0x4125c2
cmp eax, 0xffffffff
jne 0x4125e5
push str._n_n_PureBasic_Console_Debugger
push dword [0x4323a0]
call sub.MSVCRT.dll_fprintf
push str._n_n_nType_help_for_command_options._n
push dword [0x4323a0]
call sub.MSVCRT.dll_fprintf
add esp, 0x10
push ebp
mov ebp, dword [esp + 8]
push esi
push edi
lea esp, [esp]
push str.DEBUGGER::
push dword [0x4323a0]
call sub.MSVCRT.dll_fprintf
push dword [0x43239c]
lea eax, [esp + 0x20]
mov byte [esp + 0x20], 0
push 0x1f4
push eax
call sub.MSVCRT.dll_fgets
add esp, 0x14
test eax, eax
je 0x412a4c
cmp byte [esp + 0x14], 0
lea eax, [esp + 0x14]
je 0x412645
mov cl, byte [eax]
cmp cl, 0xd
je 0x41263c
cmp cl, 0xa
jne 0x41263f
mov byte [eax], 0
inc eax
cmp byte [eax], 0
jne 0x412630
lea ebx, [esp + 0x14]
mov eax, ebx
push 0x20
push eax
call sub.MSVCRT.dll_strchr
mov edi, eax
add esp, 8
test edi, edi
je 0x41266d
mov byte [edi], 0
inc edi
cmp byte [edi], 0x20
jne 0x412672
inc edi
cmp byte [edi], 0x20
je 0x412665
jmp 0x412672
mov edi, 0x4253da
cmp byte [esp + 0x14], 0
lea esi, [esp + 0x14]
je 0x412696
lea ecx, [ecx]
movsx eax, byte [esi]
push eax
call sub.MSVCRT.dll_tolower
mov byte [esi], al
lea esi, [esi + 1]
add esp, 4
cmp byte [esi], 0
jne 0x412680
mov ecx, str.file
lea eax, [esp + 0x14]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4126c0
test dl, dl
je 0x4126bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4126c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4126a0
xor eax, eax
jmp 0x4126c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41273c
mov ecx, dword [0x441654]
mov eax, dword [0x4323a0]
cmp ecx, eax
jne 0x4126ef
push str.__There_is_no_redirection_set._n_n
push eax
call sub.MSVCRT.dll_fprintf
mov ebx, 0x4253da
add esp, 8
mov edi, ebx
jmp 0x412742
push 0x20
push edi
mov ebp, ecx
mov ebx, edi
call sub.MSVCRT.dll_strchr
mov edi, eax
add esp, 8
test edi, edi
je 0x412718
mov byte [edi], 0
inc edi
cmp byte [edi], 0x20
jne 0x41271d
lea ecx, [ecx]
inc edi
cmp byte [edi], 0x20
je 0x412710
jmp 0x41271d
mov edi, 0x4253da
cmp byte [ebx], 0
mov esi, ebx
je 0x412742
movsx eax, byte [esi]
push eax
call sub.MSVCRT.dll_tolower
mov byte [esi], al
lea esi, [esi + 1]
add esp, 4
cmp byte [esi], 0
jne 0x412724
jmp 0x412742
mov ebp, dword [0x4323a0]
mov ecx, 0x426130
mov eax, ebx
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x412770
test dl, dl
je 0x41276c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x412770
add eax, 2
add ecx, 2
test dl, dl
jne 0x412750
xor eax, eax
jmp 0x412775
sbb eax, eax
or eax, 1
test eax, eax
je 0x412a73
mov ecx, str.quit
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4127a4
test dl, dl
je 0x4127a0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4127a4
add eax, 2
add ecx, 2
test dl, dl
jne 0x412784
xor eax, eax
jmp 0x4127a9
sbb eax, eax
or eax, 1
test eax, eax
je 0x412a73
mov ecx, 0x4278a0
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4127d8
test dl, dl
je 0x4127d4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4127d8
add eax, 2
add ecx, 2
test dl, dl
jne 0x4127b8
xor eax, eax
jmp 0x4127dd
sbb eax, eax
or eax, 1
test eax, eax
je 0x412a2d
mov ecx, str.step
mov eax, ebx
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x412810
test dl, dl
je 0x41280c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x412810
add eax, 2
add ecx, 2
test dl, dl
jne 0x4127f0
xor eax, eax
jmp 0x412815
sbb eax, eax
or eax, 1
test eax, eax
je 0x4129f6
mov ecx, str.line
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x412844
test dl, dl
je 0x412840
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x412844
add eax, 2
add ecx, 2
test dl, dl
jne 0x412824
xor eax, eax
jmp 0x412849
sbb eax, eax
or eax, 1
test eax, eax
jne 0x412877
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx + 0x14]
mov eax, ecx
and eax, 0xfffff
inc eax
push eax
push ecx
call fcn.0040be60
push eax
push str.File:__s_nLine:__d_n_n
push ebp
call sub.MSVCRT.dll_fprintf
add esp, 0x10
jmp 0x4129dc
mov ecx, str.files
mov eax, ebx
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4128a0
test dl, dl
je 0x41289c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4128a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x412880
xor eax, eax
jmp 0x4128a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4128f8
push str._Included_Source_files__n
push ebp
call sub.MSVCRT.dll_fprintf
xor esi, esi
add esp, 8
cmp dword [0x430081], esi
jl 0x4128e5
mov eax, esi
shl eax, 0x14
push eax
call fcn.0040be60
push eax
push esi
push str.___d____s_n
push ebp
call sub.MSVCRT.dll_fprintf
inc esi
add esp, 0x10
cmp esi, dword [0x430081]
jle 0x4128c1
push 0x4257a0
push ebp
call sub.MSVCRT.dll_fprintf
add esp, 8
jmp 0x4129d8
mov ecx, str.shell
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x412920
test dl, dl
je 0x41291c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x412920
add eax, 2
add ecx, 2
test dl, dl
jne 0x412900
xor eax, eax
jmp 0x412925
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41293b
push 0x430550
call sub.MSVCRT.dll_system
add esp, 4
jmp 0x4129d8
xor esi, esi
lea ecx, [ecx]
mov ecx, dword [esi*8 + 0x425888]
mov eax, ebx
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x412970
test dl, dl
je 0x41296c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x412970
add eax, 2
add ecx, 2
test dl, dl
jne 0x412950
xor eax, eax
jmp 0x412975
sbb eax, eax
or eax, 1
test eax, eax
je 0x4129c2
inc esi
cmp esi, 0x1d
jb 0x412940
mov eax, 0x4253da
mov cl, byte [ebx]
cmp cl, byte [eax]
jne 0x4129a4
test cl, cl
je 0x4129a0
mov cl, byte [ebx + 1]
cmp cl, byte [eax + 1]
jne 0x4129a4
add ebx, 2
add eax, 2
test cl, cl
jne 0x412984
xor eax, eax
jmp 0x4129a9
sbb eax, eax
or eax, 1
test eax, eax
je 0x4129d8
push str.__Unknown_command._n_n
push dword [0x4323a0]
call sub.MSVCRT.dll_fprintf
add esp, 8
jmp 0x4129d8
push dword [esp + 0x20c]
mov eax, dword [esi*8 + 0x42588c]
push edi
push ebx
push ebp
call eax
add esp, 0x10
mov ebx, dword [esp + 0x10]
cmp ebp, dword [0x4323a0]
je 0x4125f0
push ebp
call sub.MSVCRT.dll_fflush
add esp, 4
jmp 0x4125f0
mov esi, dword [esp + 0x10]
lea eax, [esi + 8]
mov dword [eax], 0
push eax
push 0x42830c
push edi
mov dword [esi + 4], 1
call sub.MSVCRT.dll_sscanf
add esp, 0xc
mov dword [esi + 0x20], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1f8
ret 4
mov esi, dword [esp + 0x10]
pop edi
mov dword [esi + 4], 0
mov dword [esi + 0x20], 0
pop esi
pop ebp
pop ebx
add esp, 0x1f8
ret 4
push str._n_r_Debugger_Error___Input_error_from_stdin__program_is_exiting._n_n
push dword [0x4323a0]
call sub.MSVCRT.dll_fprintf
add esp, 8
mov dword [ebx + 0x20], 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1f8
ret 4
mov esi, dword [esp + 0x10]
mov dword [esi + 0x20], 0
mov dword [esi + 4], 0
call fcn.004010c2
push 1
call sub.MSVCRT.dll_exit
int3