Function at 0x401230
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 0x24
push ebx
push ebp
push str.ExternalArgs
mov byte [esp + 0xf], 0
xor ebp, ebp
xor ebx, ebx
call fcn.00408150
add esp, 4
test al, al
je 0x40125f
mov ecx, dword [esp + 0x34]
pop ebp
mov al, 1
mov dword [ecx], ebx
pop ebx
add esp, 0x24
ret 8
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
lea edx, [esp + 0x14]
lea ecx, [esp + 0x18]
push edx
push ecx
push eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
call fcn.0040dde0
test al, al
je 0x40168a
push edi
push str.ExternalArgs
mov dword [esp + 0x24], ebp
call fcn.004080e0
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
lea eax, [esp + 0x20]
not ecx
push eax
push ecx
push edx
call fcn.00422fb0
test al, al
je 0x401650
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x14]
push ebp
push ecx
push ebp
push ebp
push 0x3b
push edx
mov dword [esp + 0x2c], ebp
call fcn.0040e8b0
mov eax, dword [esp + 0x14]
lea ecx, [eax*4]
push ecx
call fcn.00422aa0
mov edi, eax
cmp edi, ebp
mov dword [esp + 0x24], edi
je 0x401627
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
push esi
lea edx, [esp + 0x18]
push ebp
push edx
push eax
push edi
push 0x3b
push ecx
call fcn.0040e8b0
test al, al
je 0x4015f7
mov eax, dword [esp + 0x18]
xor esi, esi
cmp eax, ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x2c], esi
jbe 0x401472
mov ebx, dword [edi + esi*4]
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0xa
push ecx
push ebx
call fcn.0040ef50
test al, al
je 0x401398
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], ebp
push edx
push 0xa
push ebp
push ebx
call fcn.0040eb70
test al, al
je 0x401383
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
cmp eax, ecx
jae 0x401383
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov edi, dword [ecx + eax*4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 1]
mov dword [esp + 0x14], eax
jmp 0x40145b
call fcn.00408170
test al, al
je 0x40145b
push esi
push 0x4e
jmp 0x40141b
mov edi, dword [esp + 0x20]
mov ebp, 1
cmp edi, ebp
jbe 0x4013e4
mov edx, dword [esp + 0x1c]
mov eax, ebx
mov esi, dword [edx + ebp*4]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4013d2
test cl, cl
je 0x4013ce
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4013d2
add eax, 2
add esi, 2
test cl, cl
jne 0x4013ae
xor eax, eax
jmp 0x4013d7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4013e0
inc ebp
cmp ebp, edi
jb 0x4013a5
mov esi, dword [esp + 0x2c]
cmp ebp, edi
jne 0x401408
call fcn.00408170
test al, al
je 0x40145b
mov eax, dword [esp + 0x38]
push esi
push 0x4b
push 0x41b
push eax
call fcn.00401190
add esp, 0x10
jmp 0x40145b
lea eax, [ebp + 1]
cmp eax, edi
jne 0x40142f
call fcn.00408170
test al, al
je 0x40145b
push esi
push 0x56
mov ecx, dword [esp + 0x40]
push 0x41b
push ecx
call fcn.00401190
add esp, 0x10
jmp 0x40145b
mov edx, dword [esp + 0x1c]
or ecx, 0xffffffff
mov edi, dword [edx + eax*4]
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [edx + ebp*4]
not ecx
dec ecx
mov ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x14]
not ecx
dec ecx
add ecx, eax
lea edx, [ecx + ebx + 2]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x28]
inc esi
xor ebp, ebp
cmp esi, eax
mov dword [esp + 0x2c], esi
jb 0x401323
mov eax, dword [esp + 0x14]
inc eax
push eax
call fcn.00422aa0
mov ebx, eax
cmp ebx, ebp
mov dword [esp + 0x30], ebx
je 0x4015c7
mov eax, dword [esp + 0x18]
xor esi, esi
cmp eax, ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x38], ebp
jbe 0x4015a2
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
xor eax, eax
push 0xa
mov ebp, dword [ecx + edx*4]
or ecx, 0xffffffff
mov edi, ebp
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebp
call fcn.0040ef50
test al, al
je 0x40150f
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
push eax
push 0xa
push 0
push ebp
call fcn.0040eb70
test al, al
je 0x40158d
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
cmp eax, ecx
jae 0x40158d
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + eax*4]
lea eax, [esi + ebx]
push edx
push 0x435424
push eax
call fcn.0042b1af
add esp, 0xc
jmp 0x401587
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov edi, 1
cmp ecx, edi
jbe 0x401563
mov esi, dword [edx + edi*4]
mov eax, ebp
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x401549
test cl, cl
je 0x401545
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x401549
add eax, 2
add esi, 2
test cl, cl
jne 0x401525
xor eax, eax
jmp 0x40154e
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x20]
test eax, eax
je 0x40155b
inc edi
cmp edi, ecx
jb 0x401520
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x30]
cmp edi, ecx
je 0x40158d
lea eax, [edi + 1]
cmp eax, ecx
je 0x40158d
mov ecx, dword [edx + eax*4]
mov edx, dword [edx + edi*4]
push ecx
push edx
lea eax, [esi + ebx]
push str._s__s
push eax
call fcn.0042b1af
add esp, 0x10
add esi, eax
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
inc eax
cmp eax, ecx
mov dword [esp + 0x38], eax
jb 0x4014a1
mov edi, dword [esp + 0x28]
mov byte [esp + 0x13], 1
push edi
xor ebp, ebp
call fcn.00422f50
pop esi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], ebp
push eax
call fcn.00422f50
jmp 0x401669
mov ecx, dword [esp + 0x38]
push 0xe0000002
push 0x4d
push 0x41b
push ecx
call fcn.00401190
add esp, 0x10
push edi
call fcn.00422f50
pop esi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], ebp
push eax
call fcn.00422f50
jmp 0x401669
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
push edx
push 0x58
push 0x41b
push eax
call fcn.00401190
add esp, 0x10
push edi
call fcn.00422f50
pop esi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], ebp
push eax
call fcn.00422f50
jmp 0x401669
mov ecx, dword [esp + 0x34]
push 0xe0000002
push 0x54
push 0x41b
push ecx
call fcn.00401190
mov eax, dword [esp + 0x30]
add esp, 0x10
mov dword [esp + 0x20], ebp
push eax
call fcn.00422f50
jmp 0x401669
mov edx, dword [esp + 0x34]
push 0xe0000002
push 0x43
push 0x41b
push edx
call fcn.00401190
add esp, 0x10
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], ebp
push eax
call fcn.00422f50
pop edi
pop ebp
mov eax, dword [esp + 0x30]
mov dword [eax], ebx
mov al, byte [esp + 7]
pop ebx
add esp, 0x24
ret 8
mov ecx, dword [esp + 0x30]
push 0xe0000002
push 0x41
push 0x41b
push ecx
call fcn.00401190
mov edx, dword [esp + 0x44]
mov al, byte [esp + 0x1b]
add esp, 0x10
mov dword [edx], ebx
pop ebp
pop ebx
add esp, 0x24
ret 8