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

Disassembly:
sub esp, 0x10
movaps xmm0, xmmword [0x1007d110]
movups xmmword [esp], xmm0
call dword [0x1008bf2c]
xor esi, esi
test eax, eax
je 0x1001e43a
mov dword [esp + 8], eax
test eax, 0xfffff
je 0x1001d4c1
push 0x8000
push 0
push dword [esp + 0x10]
call dword [str._configure_narrow_argv]
test eax, eax
je 0x1001ce21
mov edi, dword [0x1008bf2c]
sub esp, 0x10
movaps xmm0, xmmword [0x1007d120]
movups xmmword [esp], xmm0
call edi
test eax, eax
je 0x1001e43a
mov ebx, eax
add ebx, 0xfffff
and ebx, 0xfff00000
push 0x8000
push 0
push eax
call dword [str._configure_narrow_argv]
test eax, eax
je 0x1001ce35
push 4
push 0x3000
push 0x100000
push ebx
call edi
cmp eax, ebx
jne 0x1001ce49
mov dword [esp + 8], ebx
test ebx, ebx
jne 0x1001d4c1
jmp 0x1001c723
mov ecx, dword [esp + 0x24]
mov esi, edx
and esi, 0xfff00000
mov eax, dword [esi + 0xc]
mov dword [esp + 0x44], eax
mov dword [esp + 8], edx
mov eax, edx
mov edx, esi
shr eax, 0xc
movzx ebx, al
lea eax, [ebx*4]
lea eax, [eax + eax*2]
or eax, esi
mov dword [esp + 0x10], eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0x2c], eax
shr ecx, 0xc
xor esi, esi
cmp dword [esp + 0x34], 0
mov dword [esp + 0x24], ecx
mov dword [esp + 4], edx
mov dword [esp + 0xc], ebx
je 0x1001cbd5
cmp ecx, 2
mov eax, 1
cmovae eax, ecx
mov dword [esp + 0x1c], eax
lea eax, [ebx + ebx*2]
lea edi, [edx + eax*4 + 0x18]
lea eax, [edx + eax*4 + 0x24]
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x3c], eax
mov ebx, ecx
mov dword [esp + 0x3c], 0
jmp 0x1001cb0d
mov ecx, 0x100818e2
mov edx, 0x10084958
call fcn.1003f170
jmp 0x1001c71d
mov ecx, 0x100818e2
mov edx, 0x10084958
call fcn.1003f170
jmp 0x1001c75f
test eax, eax
je 0x1001ce5f
push 0x8000
push 0
push eax
call dword [str._configure_narrow_argv]
test eax, eax
je 0x1001ce72
xor ebx, ebx
jmp 0x1001c776
mov ecx, 0x100818e2
mov edx, 0x10084958
call fcn.1003f170
jmp 0x1001ce5f
mov eax, dword [esp + 0x58]
test eax, eax
je 0x1001e124
and byte [eax + 4], 0xfe
mov dword [0x1008e7d4], eax
mov edx, dword [0x1008e7d0]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], 0
test edx, edx
je 0x1001d452
xor ebx, ebx
lea ecx, [esp + 0x58]
mov esi, dword [esp + 8]
mov dword [esp + 0xc], ebx
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x1001d3d3
lea esi, [edx + 8]
mov eax, dword [ebx + 0xc]
test al, 1
je 0x1001d39f
mov edi, dword [ebx + 8]
test edi, edi
je 0x1001d39f
test byte [edi + 0xc], 1
je 0x1001d39f
and eax, 0xfffffffe
mov dword [esi], eax
mov esi, edx
and esi, 0xfffffffe
mov eax, dword [ebx + 8]
mov edi, dword [ebx + 0xc]
and edi, 1
or edi, esi
mov dword [ebx + 0xc], edi
test eax, eax
je 0x1001e124
and byte [eax + 0xc], 0xfe
cmp dword [ecx + 8], edx
mov esi, dword [esp + 8]
je 0x1001d83d
mov edi, ebx
and edi, 0xfffffffe
mov eax, dword [ecx + 0xc]
and eax, 1
lea edx, [eax + edi]
mov dword [ecx + 0xc], edx
test edi, edi
je 0x1001da8b
mov edx, dword [edi + 8]
and edx, 0xfffffffe
or edx, eax
mov dword [ecx + 0xc], edx
mov dword [edi + 8], ecx
mov eax, dword [ecx + 0xc]
and eax, 1
mov edx, dword [edi + 0xc]
and edx, 0xfffffffe
or edx, eax
mov dword [edi + 0xc], edx
or byte [ecx + 0xc], 1
mov edx, dword [esp + 0xc]
test edx, edx
je 0x1001dc34
cmp dword [edx + 8], ecx
je 0x1001d84b
mov eax, dword [edx + 0xc]
and eax, 1
or eax, edi
mov dword [edx + 0xc], eax
mov ecx, dword [edi + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
cmp eax, ecx
jb 0x1001d9af
mov edx, dword [edi + 0xc]
and edx, 0xfffffffe
je 0x1001d857
lea esi, [edx + 8]
mov ebx, dword [edx + 8]
mov ecx, edi
test ebx, ebx
jne 0x1001d2bf
jmp 0x1001d87a
mov ebx, ecx
mov ecx, edx
mov esi, dword [esp + 8]
mov eax, dword [ecx + 0x10]
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0x10]
cmp edi, eax
jb 0x1001d3c3
mov edx, dword [ecx + 0xc]
and edx, 0xfffffffe
jne 0x1001d2ad
jmp 0x1001d3d9
mov edx, dword [ecx + 8]
test edx, edx
jne 0x1001d2ad
jmp 0x1001d45a
mov ebx, ecx
mov ecx, edx
jmp 0x1001d3a7
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x10]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 1
cmp edi, eax
jbe 0x1001d46c
and ebx, 0xfffffffe
mov eax, dword [ecx + 0xc]
and eax, 1
lea edx, [eax + ebx]
mov dword [ecx + 0xc], edx
test ebx, ebx
je 0x1001da8b
mov edx, dword [ebx + 8]
and edx, 0xfffffffe
or edx, eax
mov dword [ecx + 0xc], edx
mov dword [ebx + 8], ecx
mov eax, dword [ecx + 0xc]
and eax, 1
mov edx, dword [ebx + 0xc]
and edx, 0xfffffffe
or edx, eax
mov edi, ebx
mov dword [ebx + 0xc], edx
or byte [ecx + 0xc], 1
mov ebx, dword [esp + 0xc]
cmp dword [ebx + 8], ecx
je 0x1001d835
mov eax, dword [ebx + 0xc]
mov edx, eax
and edx, 0xfffffffe
cmp ecx, edx
jne 0x1001d46f
and eax, 1
or eax, edi
mov dword [ebx + 0xc], eax
jmp 0x1001d46f
lea ecx, [esp + 0x58]
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x10]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 1
mov dword [ecx + 8], ebx
mov eax, dword [esp + 0x60]
test eax, eax
je 0x1001e124
and byte [eax + 0xc], 0xfe
mov dword [0x1008e7d0], eax
lock add dword [0x1008e7b4], 0xfff00000
mov eax, 0x1008e7b8
push eax
call dword [0x1008beb0]
push 4
push 0x1000
push 0x100000
push esi
call dword [0x1008bf2c]
test eax, eax
je 0x1001c6d7
cmp dword [esp + 8], 0
je 0x1001c6d7
push 0x1008e768
call dword [0x1008be30]
mov eax, dword [0x1008e780]
test eax, eax
je 0x1001d9fa
mov esi, dword [esp + 8]
mov ecx, esi
shr ecx, 0x14
mov dword [eax + ecx*4], esi
push 0x1008e768
call dword [0x1008beb0]
mov eax, dword [esp + 0x14]
add dword [eax + 0x24], 0x100000
mov dword [esi], eax
xor eax, eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x24], 0x20
mov dword [esi + 0x30], 0xfd024
mov eax, 0x60
nop dword [eax + eax]
mov dword [esi + eax - 0x24], 0x24
mov dword [esi + eax - 0x18], 0x24
mov dword [esi + eax - 0xc], 0x24
cmp eax, 0xc00
je 0x1001d54b
mov dword [esi + eax], 0x24
add eax, 0x30
jmp 0x1001d520
mov dword [esi + 0xc00], 0xfd024
mov dword [esi + 0xc0c], 0x20
add esi, 0x1000
mov eax, esi
and eax, 0xfffff
mov edi, 0x100000
sub edi, eax
mov ebx, 0xff000
cmp edi, ebx
cmovae edi, ebx
push 0x4000
push edi
push esi
call dword [str._configure_narrow_argv]
test eax, eax
je 0x1001d9db
sub ebx, edi
mov eax, ebx
cmp ebx, 0x100000
jae 0x1001d9f0
add esi, edi
mov edi, eax
test ebx, ebx
jne 0x1001d57d
mov eax, dword [esp + 0x14]
add dword [eax + 0x28], 2
mov edx, dword [esp + 8]
lea esi, [edx + 0x28]
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], 0
test ecx, ecx
je 0x1001d7ba
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
lea edi, [esp + 0x58]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x10], edi
mov edi, dword [ecx]
test edi, edi
je 0x1001d602
mov ebx, dword [edi + 4]
test bl, 1
je 0x1001d602
mov eax, dword [edi]
test eax, eax
je 0x1001d602
test byte [eax + 4], 1
jne 0x1001d664
mov edi, ecx
mov ecx, dword [edx + 0x30]
mov eax, ecx
and eax, 0xfffff000
mov esi, dword [edi + 8]
mov edx, 0xfffff000
and esi, edx
xor edx, edx
cmp eax, esi
seta dl
mov eax, 0xffffffff
cmovb edx, eax
cmp edx, 0xffffffff
jne 0x1001d640
mov ecx, dword [edi]
mov ebx, 0xffffffff
mov edx, dword [esp + 8]
test ecx, ecx
jne 0x1001d5e0
jmp 0x1001d737
test edx, edx
jne 0x1001d69e
mov esi, dword [esp + 0xc]
test cl, 0x10
jne 0x1001d9d4
xor ebx, ebx
cmp esi, edi
seta al
jb 0x1001d62c
mov bl, al
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
jmp 0x1001d633
mov dword [esp + 4], esi
and ebx, 0xfffffffe
mov dword [ecx], ebx
mov eax, ecx
and eax, 0xfffffffe
mov edx, dword [edi]
mov esi, dword [edi + 4]
and esi, 1
or esi, eax
mov dword [edi + 4], esi
test edx, edx
je 0x1001e124
and byte [edx + 4], 0xfe
mov esi, dword [esp + 0x10]
cmp dword [esi], ecx
mov edx, dword [esp + 8]
jne 0x1001d6a5
mov dword [esi], edi
jmp 0x1001d604
mov ebx, 1
jmp 0x1001d65c
and edi, 0xfffffffe
mov ecx, dword [esi + 4]
and ecx, 1
lea eax, [ecx + edi]
mov dword [esi + 4], eax
test edi, edi
je 0x1001da8b
mov eax, dword [edi]
and eax, 0xfffffffe
or eax, ecx
mov dword [esi + 4], eax
mov dword [edi], esi
mov eax, dword [esi + 4]
and eax, 1
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [edi + 4], ecx
or byte [esi + 4], 1
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x1001dc34
cmp dword [ecx], esi
je 0x1001d7fe
jmp 0x1001d805
mov ebx, dword [edx + 0x30]
mov eax, ebx
mov ecx, 0xfffff000
and eax, ecx
mov esi, dword [edi + 8]
and esi, ecx
xor ecx, ecx
cmp eax, esi
seta cl
mov eax, 0xffffffff
cmovb ecx, eax
test ecx, ecx
jne 0x1001d7eb
jmp 0x1001d815
mov esi, dword [esp + 4]
mov dword [esp + 0x10], edi
test ecx, ecx
jne 0x1001d5e8
mov dword [esp + 0x10], esi
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 1
cmp ebx, 1
je 0x1001d772
mov esi, dword [esp + 0xc]
mov dword [edi], esi
mov edi, dword [esp + 0x58]
test edi, edi
je 0x1001e124
and byte [edi + 4], 0xfe
mov eax, dword [esp + 0x14]
mov dword [eax + 0x4c], edi
add edx, 0x2000
jmp 0x1001c915
mov esi, dword [esp + 0xc]
and esi, 0xfffffffe
mov ecx, dword [edi + 4]
and ecx, 1
lea eax, [ecx + esi]
mov dword [edi + 4], eax
test esi, esi
je 0x1001da8b
mov eax, dword [esi]
and eax, 0xfffffffe
or eax, ecx
mov dword [edi + 4], eax
mov dword [esi], edi
mov eax, dword [edi + 4]
and eax, 1
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
or ecx, eax
mov dword [esi + 4], ecx
or byte [edi + 4], 1
mov ebx, dword [esp + 0x10]
cmp dword [ebx], edi
jne 0x1001d7ce
mov dword [ebx], esi
jmp 0x1001d750
lea edi, [esp + 0x58]
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 1
jmp 0x1001d74e
mov ecx, dword [ebx + 4]
mov eax, ecx
and eax, 0xfffffffe
cmp edi, eax
jne 0x1001d750
and ecx, 1
or ecx, esi
mov dword [ebx + 4], ecx
jmp 0x1001d750
xor ebx, ebx
inc ebx
cmp ecx, 0xffffffff
je 0x1001d82b
mov ecx, dword [edi + 4]
and ecx, 0xfffffffe
jmp 0x1001d723
mov dword [ecx], edi
jmp 0x1001d6f6
mov eax, dword [ecx + 4]
and eax, 1
or eax, edi
mov dword [ecx + 4], eax
jmp 0x1001d6f6
test bl, 0x10
mov eax, 0
cmove eax, dword [esp + 0xc]
xor ebx, ebx
cmp eax, edi
seta al
jae 0x1001d853
mov ecx, dword [edi]
xor ebx, ebx
dec ebx
jmp 0x1001d723
mov dword [ebx + 8], edi
jmp 0x1001d46f
mov dword [ecx + 8], ebx
mov eax, ecx
mov ecx, ebx
mov ebx, eax
jmp 0x1001d3a7
mov dword [edx + 8], edi
jmp 0x1001d36c
mov bl, al
jmp 0x1001d7f3
mov ebx, dword [esp + 0x10]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 1
mov edx, ecx
mov ecx, edi
cmp eax, edx
ja 0x1001d3f3
jmp 0x1001d46c
mov ebx, edi
jmp 0x1001d3a1
add byte [eax], al
mov eax, dword [ecx]
and eax, 0xfffffffe
or eax, esi
mov dword [edx + 4], eax
mov dword [ecx], edx
mov eax, dword [edx + 4]
and eax, 1
mov esi, dword [ecx + 4]
and esi, 0xfffffffe
or esi, eax
mov dword [ecx + 4], esi
or byte [edx + 4], 1
mov edi, dword [esp + 4]
cmp dword [edi], edx
jne 0x1001d992
mov dword [edi], ecx
jmp 0x1001d274
mov esi, dword [edi + 4]
mov eax, esi
and eax, 0xfffffffe
cmp edx, eax
jne 0x1001d274
and esi, 1
or esi, ecx
mov dword [edi + 4], esi
jmp 0x1001d274
mov edx, dword [edi + 8]
test edx, edx
jne 0x1001d38a
mov ecx, edi
jmp 0x1001d45a
xor esi, esi
jmp 0x1001d651
mov dword [0x1008f8f4], 0x100837fa
int3
mov eax, 0x100000
jmp 0x1001d5a2
push 0x1008e768
call dword [0x1008beb0]
mov ecx, dword [esp + 8]
mov edx, 0x100000
push 0
call fcn.10002630
add esp, 4
xor esi, esi
jmp 0x1001e43a