Function at 0x40fa31
Capabilities:
Accept command line arguments

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0x46a010]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x46aed8], 0
mov eax, dword [0x401470]
mov dword [ebp - 0xc], eax
mov ax, word [0x401474]
push esi
push edi
mov word [ebp - 8], ax
je 0x40faa0
mov eax, dword [0x46a020]
cmp eax, 0x46a020
je 0x40fa96
test byte [eax + 0x1c], 1
je 0x40fa96
cmp byte [eax + 0x19], 2
jb 0x40fa96
call fcn.00411040
push eax
mov eax, dword [0x46a020]
mov edx, 0x401728
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xa
pop ecx
call fcn.004110b1
mov esi, 0x80004005
jmp 0x40fb20
and dword [0x46aff8], 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea edx, [ebp - 0xc]
mov ecx, eax
call fcn.00410ff4
mov esi, eax
test esi, esi
je 0x40fb1e
xor edi, edi
inc edi
mov edx, 0x401478
mov ecx, esi
call fcn.00410f47
test eax, eax
je 0x40fd76
mov edx, 0x4014c4
mov ecx, esi
call fcn.00410f47
test eax, eax
je 0x40fcd1
mov edx, 0x401508
mov ecx, esi
call fcn.00410f47
test eax, eax
jne 0x40fafe
mov dword [0x46aff8], edi
mov edx, 0x40151c
mov ecx, esi
call fcn.00410f47
test eax, eax
je 0x40fb32
lea edx, [ebp - 0xc]
mov ecx, esi
call fcn.00410ff4
mov esi, eax
test esi, esi
jne 0x40fac0
xor esi, esi
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
xor ecx, ebp
pop esi
call fcn.00468719
mov esp, ebp
pop ebp
ret
mov ecx, 0x46b000
call fcn.00410ea0
mov esi, eax
test esi, esi
jns 0x40fb78
mov eax, dword [0x46a020]
cmp eax, 0x46a020
je 0x40fb20
test byte [eax + 0x1c], 8
je 0x40fb20
cmp byte [eax + 0x19], 2
jb 0x40fb20
push esi
push 0x401530
call fcn.00411040
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xf
jmp 0x40fcb6
cmp dword [0x46aff8], 0
jne 0x40fc49
push 0x224
call dword [sym.imp.msvcrt.dll_void____cdecl_operator_new_unsigned_int_]
pop ecx
test eax, eax
je 0x40fb9e
mov ecx, eax
call fcn.00414739
jmp 0x40fba0
xor eax, eax
push eax
mov ecx, 0x46aff4
call fcn.004102d7
mov ecx, dword [0x46aff4]
test ecx, ecx
jne 0x40fbfc
mov eax, dword [0x46a020]
cmp eax, 0x46a020
je 0x40fbf2
test byte [eax + 0x1c], 8
je 0x40fbf2
cmp byte [eax + 0x19], 2
jb 0x40fbf2
push 0x401554
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
mov edx, 0x401728
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x10
pop ecx
call fcn.0040f9dc
mov esi, 0x8007000e
jmp 0x40fb20
add ecx, 4
call fcn.004148d4
mov esi, eax
test esi, esi
jns 0x40fc49
mov eax, dword [0x46a020]
cmp eax, 0x46a020
je 0x40fb20
test byte [eax + 0x1c], 8
je 0x40fb20
cmp byte [eax + 0x19], 2
jb 0x40fb20
push esi
push 0x401570
call fcn.00411040
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x11
jmp 0x40fcb6
push ecx
push ecx
call fcn.0040fe2a
mov esi, eax
test esi, esi
jne 0x40fc6e
cmp byte [0x46afec], al
je 0x40fc75
call fcn.00410533
test eax, eax
jne 0x40fc75
mov esi, 0x80004005
jmp 0x40fc75
mov byte [0x46afec], 0
test esi, esi
jns 0x40fcc6
mov eax, dword [0x46a020]
cmp eax, 0x46a020
je 0x40fb20
test byte [eax + 0x1c], 8
je 0x40fb20
cmp byte [eax + 0x19], 2
jb 0x40fb20
push esi
push 0x4015a0
call fcn.00411040
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x12
mov edx, 0x401728
pop ecx
call fcn.00410eec
jmp 0x40fb20
mov dword [0x46affc], edi
jmp 0x40fb20
mov ecx, edi
call fcn.0040f945
mov esi, eax
test esi, esi
jns 0x40fd1d
mov eax, dword [0x46a020]
cmp eax, 0x46a020
je 0x40fb20
test byte [eax + 0x1c], 8
je 0x40fb20
cmp byte [eax + 0x19], 2
jb 0x40fb20
push esi
push 0x4014d8
call fcn.00411040
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xd
jmp 0x40fcb6
push ecx
push ecx
call fcn.0041049d
mov esi, eax
test esi, esi
jns 0x40fd6c
mov eax, dword [0x46a020]
cmp eax, 0x46a020
je 0x40fb20
test byte [eax + 0x1c], 8
je 0x40fb20
cmp byte [eax + 0x19], 2
jb 0x40fb20
push esi
push 0x4014f0
call fcn.00411040
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xe
jmp 0x40fcb6
mov esi, 0x40200
jmp 0x40fb20
mov eax, dword [0x46aef4]
test eax, eax
je 0x40fd87
call eax
mov esi, eax
test esi, esi
js 0x40fd94
push ecx
push ecx
call fcn.004106c9
mov esi, eax
test esi, esi
jns 0x40fdd6
mov eax, dword [0x46a020]
cmp eax, 0x46a020
je 0x40fb20
test byte [eax + 0x1c], 8
je 0x40fb20
cmp byte [eax + 0x19], 2
jb 0x40fb20
push esi
push 0x401490
call fcn.00411040
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xb
jmp 0x40fcb6
xor ecx, ecx
call fcn.0040f945
mov esi, eax
test esi, esi
jns 0x40fd6c
mov eax, dword [0x46a020]
cmp eax, 0x46a020
je 0x40fb20
test byte [eax + 0x1c], 8
je 0x40fb20
cmp byte [eax + 0x19], 2
jb 0x40fb20
push esi
push 0x4014ac
call fcn.00411040
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xc
jmp 0x40fcb6