Function at 0x1009b220
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.101172b0
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.1003c530
test eax, eax
js 0x1009b515
test byte [esp + 0x4c], 1
jne 0x1009b2bd
mov eax, 0xfffff425
jmp 0x1009b515
test ebx, ebx
je 0x1009b2c8
test byte [esp + 0x4c], 0x10
jne 0x1009b2b3
test byte [esp + 0x4c], 4
jne 0x1009b2d6
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.100c9d55
test eax, eax
js 0x1009b515
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.100c9d55
test eax, eax
js 0x1009b515
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.100c9d55
test eax, eax
js 0x1009b515
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.100c9d55
test eax, eax
js 0x1009b515
mov eax, dword [esp + 0x20]
mov dword [ebp + 0xc4], eax
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jae 0x1009b500
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 0x1009b43c
cmp dword [esp + 0x60], 0xffffffff
jne 0x1009b3d1
push 1
push 0x38
lea eax, [esp + 0x64]
push eax
push ecx
push dword [esp + 0x138]
push edi
call fcn.1003c3e0
mov esi, eax
test esi, esi
js 0x1009b513
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x64]
cmp ecx, dword [eax + 0x34]
je 0x1009b3e0
mov esi, 0xfffff240
jmp 0x1009b502
push ecx
push 1
push dword [esp + 0x68]
push edi
call fcn.1003c730
mov esi, eax
test esi, esi
js 0x1009b502
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.1003cac0
mov esi, eax
mov eax, dword [esp + 0x30]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x1009b58d
xor ecx, ecx
lea ebx, [esp + 0x94]
mov word [esp + eax + 0x94], cx
test esi, esi
js 0x1009b502
push ecx
push 0x18
lea eax, [esp + 0x3c]
push eax
push ebx
push dword [esp + 0x138]
push edi
call fcn.1003c3e0
mov esi, eax
test esi, esi
js 0x1009b564
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 0x1009b4b9
mov eax, dword [ebp + 0xb8]
cmp eax, dword [esp + 0x10]
jae 0x1009b4ae
mov ecx, dword [esp + 0x38]
cmp dword [eax], ecx
je 0x1009b530
add eax, 4
cmp eax, dword [esp + 0x10]
jb 0x1009b49d
test byte [esp + 0x48], 0x20
je 0x1009b54a
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
push dword [eax]
push dword [esi]
call fcn.1009c8c3
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 0x1009b385
xor ebx, ebx
mov esi, ebx
cmp dword [esp + 0x60], 0xffffffff
je 0x1009b513
push dword [esp + 0x60]
push edi
call fcn.1003bd20
mov eax, esi
mov ecx, dword [esp + 0x118]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011705d
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.10037730
mov esi, 0xfffff435
jmp 0x1009b502
xor eax, eax
push eax
push eax
push eax
push 0xffffe062
push eax
push eax
push ebx
push edi
call fcn.10037730
mov esi, 0xfffffbe8
jmp 0x1009b502
mov ebp, 0xfffffa1d
cmp esi, ebp
jne 0x1009b502
push edi
call fcn.100370f0
xor eax, eax
push eax
push eax
push eax
push 0xffffe08a
push eax
push eax
push ebx
push edi
call fcn.10037730
mov esi, ebp
jmp 0x1009b502
call fcn.10116cf2
int3