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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1021b19d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x90
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, ecx
mov ecx, ebx
push edi
mov eax, dword [ebx]
mov dword [esp + 0x10], esi
call dword [eax + 8]
mov edi, dword [ebp + 8]
mov ecx, edi
mov byte [esp + 0xf], al
lea eax, [esp + 0x58]
push eax
mov edx, dword [edi]
call dword [edx + 0x10]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x1009eafe
mov eax, dword [eax - 4]
mov dword [esp + 0x2c], eax
jmp 0x1009eb03
and dword [esp + 0x2c], 0
lea ecx, [esi + 0xdc]
call fcn.100226e0
test al, al
je 0x1009eb1d
cmp dword [esp + 0x2c], 0
je 0x1009efc7
push esi
mov edx, ebx
lea ecx, [esp + 0x20]
call fcn.1009e8a5
mov eax, dword [esp + 0x20]
pop ecx
cmp eax, dword [esp + 0x24]
jg 0x1009efc7
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x28]
jg 0x1009efc7
mov ecx, dword [esi + 0x2c]
lea ecx, [ecx + 0x98]
call fcn.1008ff20
push dword [ebp + 0xc]
mov edx, dword [esi]
mov bl, al
lea eax, [esp + 0x64]
mov ecx, esi
push eax
call dword [edx + 0x480]
mov edx, dword [ebp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add dword [esp + 0x1c], edx
add dword [esp + 0x24], edx
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x14]
add dword [esp + 0x20], eax
add dword [esp + 0x28], eax
mov dword [esp + 0x34], ecx
test bl, bl
je 0x1009eb99
cmp byte [ebp + 0x18], 0
je 0x1009eb99
mov al, 1
jmp 0x1009eb9b
xor al, al
mov dword [esp + 0x70], edi
mov byte [esp + 0x74], 0
mov byte [esp + 0x75], al
test al, al
je 0x1009ebc2
mov eax, dword [edi]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call dword [eax + 0xc4]
mov edx, dword [ebp + 0x10]
mov byte [esp + 0x74], al
and dword [esp + 0xa4], 0
push ecx
push ecx
mov ecx, esp
mov dword [ecx], edx
mov eax, dword [ebp + 0x14]
mov dword [ecx + 4], eax
lea ecx, [esp + 0x1c]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x48c]
mov ebx, dword [ebp + 0xc]
push ecx
push ecx
mov edx, dword [eax]
mov ecx, esp
mov dword [ebp + 0x10], edx
mov eax, dword [eax + 4]
add edx, dword [esp + 0x3c]
add eax, dword [esp + 0x38]
push 0
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x10], edx
push esi
mov dword [ecx], edx
mov eax, dword [ebp + 0x14]
push ebx
mov dword [ecx + 4], eax
lea ecx, [esi + 0xdc]
push edi
call fcn.1008ff49
mov eax, dword [edi]
lea ecx, [esp + 0x38]
push ecx
mov ecx, edi
call dword [eax + 0xac]
mov eax, dword [esp + 0x38]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x60]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x64]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [esp + 0x3c]
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x48]
mov dword [ecx + 0xc], eax
call fcn.1003cdf7
add esp, 0x20
test al, al
je 0x1009eed4
xor ecx, ecx
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x2c], ecx
jle 0x1009eeaf
mov ebx, dword [ebp + 8]
mov eax, dword [esi + 0xcc]
mov edi, dword [eax + ecx*4]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x1d4]
test eax, eax
jne 0x1009ee97
mov eax, dword [edi]
mov ecx, edi
push dword [ebp + 0xc]
call dword [eax + 0x3e4]
test eax, eax
jne 0x1009ecc4
cmp dword [edi + 0xc8], eax
je 0x1009ee97
mov ecx, edi
call fcn.100135d9
test al, al
je 0x1009ed22
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x470]
mov dword [esp + 0x30], eax
test eax, eax
je 0x1009ee97
add eax, 0xdc
push edi
mov ecx, eax
mov dword [esp + 0x18], eax
call fcn.10096d57
test al, al
jne 0x1009ee97
mov ecx, dword [esp + 0x14]
push edi
push dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
push edi
call fcn.100909c5
mov ecx, dword [esp + 0x30]
push edi
mov eax, dword [ecx]
call dword [eax + 0x268]
jmp 0x1009ee97
push dword [edi + 0x74]
push dword [edi + 0x70]
push 0
push 0x400000
call fcn.100022cf
add esp, 0x10
test al, al
jne 0x1009ee97
push dword [edi + 0x74]
push dword [edi + 0x70]
push 0
push 0x800000
call fcn.100022cf
add esp, 0x10
test al, al
jne 0x1009ee97
mov ecx, edi
call fcn.1006d534
test al, al
je 0x1009ee97
push ecx
push ecx
push esp
mov ecx, edi
call fcn.100303e8
lea eax, [esp + 0x50]
push eax
mov eax, dword [edi]
lea ecx, [esp + 0x84]
push ecx
mov ecx, edi
call dword [eax + 0x224]
mov ecx, eax
call fcn.1000e8ff
mov eax, dword [esp + 0x50]
add eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
add ecx, dword [ebp + 0x10]
add edx, dword [ebp + 0x14]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x54]
add eax, dword [ebp + 0x14]
cmp byte [esp + 0xf], 0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x54], eax
je 0x1009ee2c
push ecx
push ecx
push esp
mov ecx, edi
call fcn.100303e8
lea eax, [esp + 0x68]
push eax
mov eax, dword [edi]
lea ecx, [esp + 0x94]
push ecx
mov ecx, edi
call dword [eax + 0x21c]
mov ecx, eax
call fcn.1000e8ff
mov eax, dword [ebp + 0x10]
add dword [esp + 0x60], eax
add dword [esp + 0x68], eax
mov ecx, dword [esp + 0x64]
add ecx, dword [ebp + 0x14]
mov eax, dword [esp + 0x6c]
add eax, dword [ebp + 0x14]
cmp ecx, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x64], ecx
cmovg eax, ecx
cmp dword [esp + 0x58], ecx
cmovg ecx, dword [esp + 0x58]
cmp dword [esp + 0x5c], eax
cmovl eax, dword [esp + 0x5c]
cmp ecx, eax
jg 0x1009ee97
jmp 0x1009ee70
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0xc], ecx
mov ecx, esp
mov eax, dword [esp + 0x58]
mov dword [ecx], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x60]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x64]
mov dword [ecx + 0xc], eax
call fcn.1003cdf7
add esp, 0x20
test al, al
je 0x1009ee97
mov edx, dword [edi + 0x7c]
mov eax, dword [edi + 0x78]
add eax, dword [ebp + 0x10]
add edx, dword [ebp + 0x14]
push ecx
push ecx
mov esi, esp
mov ecx, edi
push dword [ebp + 0xc]
push ebx
mov dword [esi], eax
mov dword [esi + 4], edx
mov eax, dword [edi]
call dword [eax + 0x28c]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
inc ecx
mov dword [esp + 0x34], ecx
cmp ecx, dword [esp + 0x2c]
jl 0x1009ec8c
mov edi, ebx
mov ebx, dword [ebp + 0xc]
cmp dword [esi + 0xec], 0
je 0x1009eed4
mov eax, dword [ebp + 0x10]
push ecx
push ecx
mov ecx, esp
push ebx
push edi
mov dword [ecx], eax
mov eax, dword [ebp + 0x14]
mov dword [ecx + 4], eax
mov ecx, dword [esi + 0xec]
call fcn.100ca5bf
push dword [esi + 0x74]
push dword [esi + 0x70]
push 0
push 0x8000000
call fcn.100022cf
add esp, 0x10
test al, al
jne 0x1009ef72
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 0x4f8]
cmp eax, 0x80000000
je 0x1009ef09
test eax, eax
jne 0x1009ef8f
lea eax, [esp + 0x14]
add ecx, 0x98
push eax
call fcn.1001b9bf
cmp dword [eax], 0x80000000
je 0x1009ef8f
cmp dword [eax], 2
jl 0x1009ef8f
mov eax, dword [esp + 0x38]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov dword [ecx], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x60]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x64]
mov dword [ecx + 0xc], eax
mov ecx, esp
mov eax, dword [esp + 0x3c]
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x48]
mov dword [ecx + 0xc], eax
call fcn.1003cdf7
add esp, 0x20
test al, al
je 0x1009ef8f
mov eax, dword [ebp + 0x10]
push 0
push ecx
push ecx
mov ecx, esp
push ebx
push edi
mov dword [ecx], eax
mov eax, dword [ebp + 0x14]
mov dword [ecx + 4], eax
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x2b0]
mov eax, dword [ebp + 0x10]
push ecx
push ecx
mov edx, esp
lea ecx, [esi + 0xdc]
push 1
push esi
push ebx
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
push edi
mov dword [edx + 4], eax
call fcn.1008ff49
or dword [esp + 0xa4], 0xffffffff
cmp byte [esp + 0x74], 0
je 0x1009efc7
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc8]
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x14