Function at 0x40f370
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x428ad9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x108
push ebx
push ebp
push esi
xor ebx, ebx
push edi
mov dword [esp + 0x18], ebx
mov esi, ecx
xor edi, edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], ebx
mov ecx, dword [esp + 0x12c]
mov eax, dword [esi + 0x18]
push ebx
push ecx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x24], eax
call fcn.004183a0
mov ebp, eax
add esp, 8
cmp ebp, 0xffffffff
je 0x40f859
jmp 0x40f3e0
mov esi, dword [esp + 0x24]
lea esp, [esp]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x12c]
push edx
push ebp
lea eax, [esp + 0xcc]
push eax
call fcn.00405a70
cmp dword [esi + 0x1c], 0x10
mov edi, dword [esi + 0x18]
mov dword [esp + 0x20], edi
jb 0x40f410
mov ecx, dword [esi + 8]
mov dword [esp + 0x10], ecx
jmp 0x40f417
lea edx, [esi + 8]
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0x14]
mov ecx, edx
cmp ecx, edx
jae 0x40f420
cmp edx, ebx
je 0x40f457
cmp edx, edi
mov ecx, edx
jb 0x40f42c
mov ecx, edi
cmp dword [eax + 0x18], 0x10
jb 0x40f437
mov eax, dword [eax + 4]
jmp 0x40f43a
add eax, 4
mov edi, dword [esp + 0x10]
mov esi, eax
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x40f44b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
mov esi, dword [esp + 0x24]
jne 0x40f469
mov edi, dword [esp + 0x20]
cmp edx, edi
jae 0x40f460
or eax, 0xffffffff
jmp 0x40f467
xor eax, eax
cmp edx, edi
setne al
cmp eax, ebx
mov eax, dword [esp + 0xdc]
sete byte [esp + 0x17]
cmp eax, 0x10
mov byte [esp + 0x120], bl
jb 0x40f491
mov eax, dword [esp + 0xc8]
push eax
call fcn.0041aebd
add esp, 4
cmp byte [esp + 0x17], bl
mov dword [esp + 0xdc], 0xf
mov dword [esp + 0xd8], ebx
mov byte [esp + 0xc8], bl
je 0x40f4f0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi + 0x18]
lea edi, [ecx + ebp]
cmp dword [esi + 0x1c], 0x10
jb 0x40f4c5
mov esi, dword [esi + 8]
jmp 0x40f4c8
add esi, 8
mov ecx, dword [esp + 0x12c]
push eax
push edi
push esi
call fcn.0040f1a0
mov ecx, dword [esp + 0x1c]
mov esi, eax
sub esi, ebp
sub esi, ecx
cmp eax, 0xffffffff
jne 0x40f4ec
mov dword [esp + 0x10], eax
jmp 0x40f545
add eax, ecx
jmp 0x40f541
mov edx, dword [esp + 0x12c]
push ebp
push edx
call fcn.004183d0
mov ecx, dword [esi + 0x1c]
mov edi, eax
mov eax, dword [esi + 0x18]
add esp, 8
cmp ecx, 0x10
mov dword [esp + 0x10], edi
jb 0x40f517
mov esi, dword [esi + 8]
jmp 0x40f51a
add esi, 8
mov ecx, dword [esp + 0x12c]
push eax
push ebp
push esi
call fcn.0040f1a0
mov dword [esp + 0x20], eax
cmp eax, edi
lea eax, [esp + 0x20]
jb 0x40f539
lea eax, [esp + 0x10]
mov eax, dword [eax]
mov esi, eax
mov edi, ebp
sub esi, ebp
mov dword [esp + 0x10], eax
push 0x25
mov ebp, 0xf
push str.CommandLineSplitter::parse__:_nOffset
lea ecx, [esp + 0x5c]
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
call fcn.00401890
lea eax, [esp + 0x54]
push edi
push eax
mov byte [esp + 0x128], 2
call fcn.00412420
mov eax, dword [esp + 0x74]
add esp, 8
cmp eax, 0x10
mov byte [esp + 0x120], bl
jb 0x40f599
mov ecx, dword [esp + 0x58]
push ecx
call fcn.0041aebd
add esp, 4
push 0x25
push str.CommandLineSplitter::parse__:_nLength
lea ecx, [esp + 0x78]
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
mov dword [esp + 0x90], ebp
mov dword [esp + 0x8c], ebx
mov byte [esp + 0x7c], bl
call fcn.00401890
lea edx, [esp + 0x70]
push esi
push edx
mov byte [esp + 0x128], 3
call fcn.00412420
mov eax, dword [esp + 0x90]
add esp, 8
cmp eax, 0x10
mov byte [esp + 0x120], bl
jb 0x40f5fd
mov eax, dword [esp + 0x74]
push eax
call fcn.0041aebd
add esp, 4
push esi
push edi
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.00405a70
push 0x24
push str.CommandLineSplitter::parse__:_sToken
lea ecx, [esp + 0xb0]
mov byte [esp + 0x128], 4
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xc4], ebx
mov byte [esp + 0xb4], bl
call fcn.00401890
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0xac]
push eax
mov byte [esp + 0x128], 5
call fcn.00412300
mov eax, dword [esp + 0xc8]
add esp, 8
cmp eax, 0x10
mov byte [esp + 0x120], 4
jb 0x40f696
mov ecx, dword [esp + 0xac]
push ecx
call fcn.0041aebd
add esp, 4
push 0x44
push str.CommandLineSplitter::parse__:_trim_sToken__lTrimTokens__rTrimTokens_
lea ecx, [esp + 0x94]
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xc4], ebx
mov byte [esp + 0xb4], bl
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa8], ebx
mov byte [esp + 0x98], bl
call fcn.00401890
mov edi, dword [esp + 0x134]
mov esi, dword [esp + 0x130]
push edi
push esi
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0xec]
push eax
mov byte [esp + 0x130], 6
call fcn.00418400
push eax
lea ecx, [esp + 0xa0]
push ecx
mov byte [esp + 0x138], 7
call fcn.00412300
mov eax, dword [esp + 0x110]
add esp, 0x18
cmp eax, 0x10
jb 0x40f732
mov edx, dword [esp + 0xe4]
push edx
call fcn.0041aebd
add esp, 4
cmp dword [esp + 0xa4], 0x10
mov dword [esp + 0xf8], ebp
mov dword [esp + 0xf4], ebx
mov byte [esp + 0xe4], bl
mov byte [esp + 0x120], 4
jb 0x40f769
mov eax, dword [esp + 0x90]
push eax
call fcn.0041aebd
add esp, 4
cmp esi, ebx
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
jne 0x40f78c
cmp edi, ebx
jne 0x40f78c
lea eax, [esp + 0x28]
jmp 0x40f7b6
push edi
push esi
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x108]
push edx
call fcn.00418400
add esp, 0x10
mov ecx, dword [esp + 0x18]
or ecx, 1
mov byte [esp + 0x120], 8
mov dword [esp + 0x18], ecx
push eax
lea ecx, [esp + 0x48]
call fcn.0040c6d0
test byte [esp + 0x18], 1
mov dword [esp + 0x120], 4
je 0x40f80e
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x114]
and ecx, 0xfffffffe
cmp eax, 0x10
mov dword [esp + 0x18], ecx
jb 0x40f7f9
mov eax, dword [esp + 0x100]
push eax
call fcn.0041aebd
add esp, 4
mov dword [esp + 0x114], ebp
mov dword [esp + 0x110], ebx
mov byte [esp + 0x100], bl
cmp dword [esp + 0x40], 0x10
mov byte [esp + 0x120], bl
jb 0x40f829
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0041aebd
add esp, 4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x12c]
push edx
push eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
call fcn.004183a0
mov ebp, eax
add esp, 8
cmp ebp, 0xffffffff
jne 0x40f3d5
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, edi
je 0x40f8ca
push 0x30
mov ebp, 0xf
push str.CommandLineSplitter::parse__:_Command_line_token
lea ecx, [esp + 0x30]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
call fcn.00401890
lea ecx, [esp + 0x28]
push esi
push ecx
mov byte [esp + 0x128], 9
call fcn.00412300
mov eax, dword [esp + 0x48]
add esp, 8
cmp eax, 0x10
mov byte [esp + 0x120], bl
jb 0x40f8b5
mov edx, dword [esp + 0x2c]
push edx
call fcn.0041aebd
add esp, 4
add esi, 0x1c
cmp esi, edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
jne 0x40f861
jmp 0x40f8cf
mov ebp, 0xf
mov esi, dword [esp + 0x128]
lea eax, [esp + 0x44]
push eax
mov ecx, esi
call fcn.0040bcb0
mov eax, dword [esp + 0x48]
cmp eax, ebx
je 0x40f928
cmp eax, edi
je 0x40f91f
lea esi, [eax + 0x18]
cmp dword [esi], 0x10
jb 0x40f906
mov ecx, dword [esi - 0x14]
push ecx
call fcn.0041aebd
mov eax, dword [esp + 0x4c]
add esp, 4
mov dword [esi], ebp
mov dword [esi - 4], ebx
mov byte [esi - 0x14], bl
add esi, 0x1c
lea edx, [esi - 0x18]
cmp edx, edi
jne 0x40f8f1
mov esi, dword [esp + 0x128]
push eax
call fcn.0041aebd
add esp, 4
mov ecx, dword [esp + 0x118]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x114
ret 0x10