Function at 0x401280
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.004081c0
add esp, 4
test al, al
je 0x4012af
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.0040dfe0
test al, al
je 0x4016da
push edi
push str.ExternalArgs
mov dword [esp + 0x24], ebp
call fcn.00408150
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.004238e0
test al, al
je 0x4016a0
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.0040eab0
mov eax, dword [esp + 0x14]
lea ecx, [eax*4]
push ecx
call fcn.004233b0
mov edi, eax
cmp edi, ebp
mov dword [esp + 0x24], edi
je 0x401677
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.0040eab0
test al, al
je 0x401647
mov eax, dword [esp + 0x18]
xor esi, esi
cmp eax, ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x2c], esi
jbe 0x4014c2
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.0040f180
test al, al
je 0x4013e8
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], ebp
push edx
push 0xa
push ebp
push ebx
call fcn.0040eda0
test al, al
je 0x4013d3
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
cmp eax, ecx
jae 0x4013d3
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 0x4014ab
call fcn.004081e0
test al, al
je 0x4014ab
push esi
push 0x4e
jmp 0x40146b
mov edi, dword [esp + 0x20]
mov ebp, 1
cmp edi, ebp
jbe 0x401434
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 0x401422
test cl, cl
je 0x40141e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401422
add eax, 2
add esi, 2
test cl, cl
jne 0x4013fe
xor eax, eax
jmp 0x401427
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x401430
inc ebp
cmp ebp, edi
jb 0x4013f5
mov esi, dword [esp + 0x2c]
cmp ebp, edi
jne 0x401458
call fcn.004081e0
test al, al
je 0x4014ab
mov eax, dword [esp + 0x38]
push esi
push 0x4b
push 0x41b
push eax
call fcn.00401260
add esp, 0x10
jmp 0x4014ab
lea eax, [ebp + 1]
cmp eax, edi
jne 0x40147f
call fcn.004081e0
test al, al
je 0x4014ab
push esi
push 0x56
mov ecx, dword [esp + 0x40]
push 0x41b
push ecx
call fcn.00401260
add esp, 0x10
jmp 0x4014ab
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 0x401373
mov eax, dword [esp + 0x14]
inc eax
push eax
call fcn.004233b0
mov ebx, eax
cmp ebx, ebp
mov dword [esp + 0x30], ebx
je 0x401617
mov eax, dword [esp + 0x18]
xor esi, esi
cmp eax, ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x38], ebp
jbe 0x4015f2
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.0040f180
test al, al
je 0x40155f
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
push eax
push 0xa
push 0
push ebp
call fcn.0040eda0
test al, al
je 0x4015dd
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
cmp eax, ecx
jae 0x4015dd
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + eax*4]
lea eax, [esi + ebx]
push edx
push 0x435424
push eax
call fcn.0042bbef
add esp, 0xc
jmp 0x4015d7
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov edi, 1
cmp ecx, edi
jbe 0x4015b3
mov esi, dword [edx + edi*4]
mov eax, ebp
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x401599
test cl, cl
je 0x401595
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x401599
add eax, 2
add esi, 2
test cl, cl
jne 0x401575
xor eax, eax
jmp 0x40159e
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x20]
test eax, eax
je 0x4015ab
inc edi
cmp edi, ecx
jb 0x401570
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x30]
cmp edi, ecx
je 0x4015dd
lea eax, [edi + 1]
cmp eax, ecx
je 0x4015dd
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.0042bbef
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 0x4014f1
mov edi, dword [esp + 0x28]
mov byte [esp + 0x13], 1
push edi
xor ebp, ebp
call fcn.00423880
pop esi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], ebp
push eax
call fcn.00423880
jmp 0x4016b9
mov ecx, dword [esp + 0x38]
push 0xe0000002
push 0x4d
push 0x41b
push ecx
call fcn.00401260
add esp, 0x10
push edi
call fcn.00423880
pop esi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], ebp
push eax
call fcn.00423880
jmp 0x4016b9
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
push edx
push 0x58
push 0x41b
push eax
call fcn.00401260
add esp, 0x10
push edi
call fcn.00423880
pop esi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], ebp
push eax
call fcn.00423880
jmp 0x4016b9
mov ecx, dword [esp + 0x34]
push 0xe0000002
push 0x54
push 0x41b
push ecx
call fcn.00401260
mov eax, dword [esp + 0x30]
add esp, 0x10
mov dword [esp + 0x20], ebp
push eax
call fcn.00423880
jmp 0x4016b9
mov edx, dword [esp + 0x34]
push 0xe0000002
push 0x43
push 0x41b
push edx
call fcn.00401260
add esp, 0x10
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], ebp
push eax
call fcn.00423880
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.00401260
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