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

Disassembly:
sub esp, 0x10c
mov eax, dword [0x1013567c]
xor eax, esp
mov dword [esp + 0x108], eax
push ebx
push ebp
mov ebp, dword [esp + 0x11c]
xor ebx, ebx
push esi
push edi
push 0x34
mov esi, dword [ebp + 0x60]
cmp dword [ebp + 0xa4], 3
mov dword [esp + 0x30], esi
sete bl
xor edi, edi
mov ecx, dword [esi + 0x49c]
mov eax, dword [esi + 0x34]
push edi
mov dword [esp + 0x2c], ecx
lea eax, [ecx + eax*4]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0x68], edi
call fcn.10117460
or dword [esp + 0x6c], 0xffffffff
lea eax, [esp + 0x40]
add esp, 0xc
push edi
mov edi, dword [esp + 0x124]
push 0x28
push eax
push dword [esp + 0x134]
push edi
call fcn.1003c5d0
test eax, eax
js 0x1009b715
test byte [esp + 0x4c], 1
jne 0x1009b4bd
mov eax, 0xfffff425
jmp 0x1009b715
test ebx, ebx
je 0x1009b4c8
test byte [esp + 0x4c], 0x10
jne 0x1009b4b3
test byte [esp + 0x4c], 4
jne 0x1009b4d6
or dword [ebp + 0x1c], 0x100
lea eax, [esp + 0x10]
xor ebx, ebx
push eax
mov eax, dword [esi + 0x34]
push ebx
shl eax, 2
push eax
push ebp
call fcn.100c9f55
test eax, eax
js 0x1009b715
mov eax, dword [esp + 0x10]
mov dword [ebp + 0xb8], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esi + 0x34]
push ebx
shl eax, 2
push eax
push ebp
call fcn.100c9f55
test eax, eax
js 0x1009b715
mov eax, dword [esp + 0x14]
mov dword [ebp + 0xbc], eax
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esi + 0x34]
push ebx
shl eax, 2
push eax
push ebp
call fcn.100c9f55
test eax, eax
js 0x1009b715
mov eax, dword [esp + 0x1c]
mov dword [ebp + 0xc0], eax
lea eax, [esp + 0x20]
push eax
mov eax, dword [esi + 0x34]
push ebx
shl eax, 2
push eax
push ebp
call fcn.100c9f55
test eax, eax
js 0x1009b715
mov eax, dword [esp + 0x20]
mov dword [ebp + 0xc4], eax
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jae 0x1009b700
mov ecx, dword [esp + 0x18]
add ecx, 4
mov dword [esp + 0x18], ecx
mov ebx, dword [eax]
xor ecx, ecx
cmp word [ebx], cx
jne 0x1009b63c
cmp dword [esp + 0x60], 0xffffffff
jne 0x1009b5d1
push 1
push 0x38
lea eax, [esp + 0x64]
push eax
push ecx
push dword [esp + 0x138]
push edi
call fcn.1003c480
mov esi, eax
test esi, esi
js 0x1009b713
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x64]
cmp ecx, dword [eax + 0x34]
je 0x1009b5e0
mov esi, 0xfffff240
jmp 0x1009b702
push ecx
push 1
push dword [esp + 0x68]
push edi
call fcn.1003c7d0
mov esi, eax
test esi, esi
js 0x1009b702
push 0
push 0
lea eax, [esp + 0x38]
push eax
push 0x80
lea eax, [esp + 0xa4]
push eax
push dword [esp + 0x80]
push dword [esp + 0x78]
push edi
call fcn.1003cb60
mov esi, eax
mov eax, dword [esp + 0x30]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x1009b78d
xor ecx, ecx
lea ebx, [esp + 0x94]
mov word [esp + eax + 0x94], cx
test esi, esi
js 0x1009b702
push ecx
push 0x18
lea eax, [esp + 0x3c]
push eax
push ebx
push dword [esp + 0x138]
push edi
call fcn.1003c480
mov esi, eax
test esi, esi
js 0x1009b764
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
mov dword [ecx], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
mov dword [ecx], eax
mov eax, 0x1fe
mov ecx, dword [esp + 0x44]
test ecx, ecx
cmove ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [eax], ecx
cmp dword [ebp + 0xa4], 3
jne 0x1009b6b9
mov eax, dword [ebp + 0xb8]
cmp eax, dword [esp + 0x10]
jae 0x1009b6ae
mov ecx, dword [esp + 0x38]
cmp dword [eax], ecx
je 0x1009b730
add eax, 4
cmp eax, dword [esp + 0x10]
jb 0x1009b69d
test byte [esp + 0x48], 0x20
je 0x1009b74a
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
push dword [eax]
push dword [esi]
call fcn.1009cac3
mov ecx, dword [esp + 0x20]
add esi, 0x14
push 4
pop edx
mov dword [esp + 0x18], esi
mov dword [ecx], eax
mov eax, dword [esp + 0x24]
add dword [esp + 0x10], edx
add eax, edx
add dword [esp + 0x14], edx
add dword [esp + 0x1c], edx
add dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x28]
jb 0x1009b585
xor ebx, ebx
mov esi, ebx
cmp dword [esp + 0x60], 0xffffffff
je 0x1009b713
push dword [esp + 0x60]
push edi
call fcn.1003bdc0
mov eax, esi
mov ecx, dword [esp + 0x118]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011720d
add esp, 0x10c
ret 0xc
xor eax, eax
push eax
push eax
push eax
push 0xffffe05f
push eax
push ebx
push eax
push edi
call fcn.10037780
mov esi, 0xfffff435
jmp 0x1009b702
xor eax, eax
push eax
push eax
push eax
push 0xffffe062
push eax
push eax
push ebx
push edi
call fcn.10037780
mov esi, 0xfffffbe8
jmp 0x1009b702
mov ebp, 0xfffffa1d
cmp esi, ebp
jne 0x1009b702
push edi
call fcn.10037140
xor eax, eax
push eax
push eax
push eax
push 0xffffe08a
push eax
push eax
push ebx
push edi
call fcn.10037780
mov esi, ebp
jmp 0x1009b702
call fcn.10116ea2
int3