Function at 0x401830
Capabilities:
Accept command line arguments

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x8c
mov ebx, dword [esp + 0xa0]
mov dword [esp], 0xfde9
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
sub esp, 4
mov dword [esp], 0xfde9
call dword [sym.imp.KERNEL32.dll_SetConsoleCP]
sub esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [esp], 0xfffffff5
call edi
sub esp, 4
mov esi, eax
mov dword [esp + 0x14], eax
mov dword [esp], 0xfffffff4
call edi
sub esp, 4
mov ebp, eax
mov dword [esp], str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
sub esp, 4
test eax, eax
je 0x4018bb
mov edx, esi
mov edi, eax
call fcn.00401760
mov edx, ebp
mov esi, eax
mov eax, edi
call fcn.00401760
mov edx, eax
mov eax, esi
or eax, edx
jne 0x4019a5
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [esp + 4], ebx
mov dword [esp], eax
xor edi, edi
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebp, eax
mov eax, dword [ebx]
sub esp, 8
lea eax, [eax*4 + 4]
mov dword [esp], eax
call fcn.00405830
mov edx, dword [ebx]
mov ecx, dword [esp + 0xa4]
test edx, edx
mov dword [ecx], eax
jle 0x401919
lea esi, [eax + edi*4]
mov eax, dword [ebp + edi*4]
add edi, 1
mov dword [esp], eax
call fcn.00404820
cmp dword [ebx], edi
mov dword [esi], eax
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
jg 0x4018f5
shl edi, 2
mov dword [eax + edi], 0
mov eax, dword [eax]
mov dword [esp], eax
call fcn.00404fe0
test eax, eax
mov ebx, eax
mov dword [0x41f024], eax
je 0x401aa2
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
lea eax, [ebx + eax - 1]
cmp eax, ebx
jb 0x401964
lea esi, [esi]
movzx edx, byte [eax]
cmp dl, 0x2f
je 0x4019a0
cmp dl, 0x5c
je 0x4019a0
sub eax, 1
cmp eax, ebx
jae 0x401950
mov dword [esp + 4], ebx
mov dword [esp + 8], str.locale
mov dword [esp], 2
call fcn.00404520
mov dword [0x41f020], eax
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0040b9ac
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov byte [eax], 0
jmp 0x401964
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 0x18], edx
mov dword [esp + 4], str.SetCurrentConsoleFontEx
mov dword [esp], edi
mov dword [esp + 0x1c], eax
call eax
sub esp, 8
test eax, eax
mov ecx, eax
mov edx, dword [esp + 0x18]
je 0x401ac1
mov eax, 0xc
mov edi, 7
test esi, esi
mov word [esp + 0x36], ax
mov eax, dword [str.Lucida_Console]
mov dword [esp + 0x2c], 0x54
mov dword [esp + 0x30], 0xc
mov word [esp + 0x34], di
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], eax
mov eax, dword [0x41b27e]
mov dword [esp + 0x3c], 0x190
mov dword [esp + 0x44], eax
mov eax, dword [0x41b282]
mov dword [esp + 0x48], eax
mov eax, dword [0x41b286]
mov dword [esp + 0x4c], eax
mov eax, dword [0x41b28a]
mov dword [esp + 0x50], eax
mov eax, dword [0x41b28e]
mov dword [esp + 0x54], eax
mov eax, dword [0x41b292]
mov dword [esp + 0x58], eax
movzx eax, word [0x41b296]
mov word [esp + 0x5c], ax
jne 0x401a78
test edx, edx
je 0x4018bb
lea eax, [esp + 0x2c]
mov dword [esp + 4], 0
mov dword [esp], ebp
mov dword [esp + 8], eax
call ecx
sub esp, 0xc
jmp 0x4018bb
lea eax, [esp + 0x2c]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
mov dword [esp], eax
call ecx
sub esp, 0xc
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x401a53
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004058a0
mov ebx, eax
mov dword [0x41f024], eax
jmp 0x401939
mov dword [esp], edi
mov dword [esp + 0x18], edx
mov dword [esp + 4], str.SetConsoleFont
call dword [esp + 0x1c]
sub esp, 8
test eax, eax
mov edi, eax
je 0x4018bb
test esi, esi
mov edx, dword [esp + 0x18]
jne 0x401b06
test edx, edx
je 0x4018bb
mov dword [esp + 4], 0xc
mov dword [esp], ebp
call edi
sub esp, 8
jmp 0x4018bb
mov eax, dword [esp + 0x14]
mov dword [esp + 4], 0xc
mov dword [esp], eax
call edi
sub esp, 8
mov edx, dword [esp + 0x18]
jmp 0x401ae9