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

Disassembly:
sub esp, 0xa0
mov eax, dword [0x101366b4]
xor eax, esp
mov dword [esp + 0x9c], eax
push ebx
push ebp
mov ebp, dword [esp + 0xac]
push esi
mov esi, dword [esp + 0xb8]
push edi
mov eax, dword [ebp + 0x60]
mov ebx, dword [ebp + 0x28]
mov edi, dword [ebp + 0xb0]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0x28], edi
push eax
push dword [esp + 0xc0]
push ebx
call fcn.1009cec5
test eax, eax
js 0x1009b89a
lea eax, [esp + 0x10]
push eax
push 0x5a
push 4
push edi
push dword [esp + 0xc8]
push ebx
call sym.msjet40.dll_Ordinal_118
mov edi, eax
test edi, edi
jns 0x1009b578
xor esi, esi
cmp edi, 0xfffff88d
je 0x1009b509
cmp edi, 0xfffffbf8
jne 0x1009b51d
push esi
push esi
push esi
push 0xffffe047
push esi
push esi
push dword [esp + 0x3c]
push ebx
call fcn.100378e0
cmp edi, 0xfffffc01
jne 0x1009b53b
push esi
push esi
push esi
push 0xffffe01f
push esi
push esi
push dword [ebp + 0xa8]
push ebx
call fcn.100378e0
mov ebp, dword [esp + 0x24]
cmp edi, 0xfffffae9
jne 0x1009b558
push esi
push esi
push esi
push 0xffffe01e
push esi
push esi
push ebp
push ebx
call fcn.100378e0
cmp edi, 0xfffffc16
jne 0x1009b571
push esi
push esi
push esi
push 0xffffdffa
push esi
push esi
push ebp
push ebx
call fcn.100378e0
mov eax, edi
jmp 0x1009b89a
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov dword [esi], eax
xor eax, eax
inc eax
xor esi, esi
imul ecx, dword [ebp + 0x34], 0x14
mov edi, dword [ebp + 0x30]
mov edx, dword [ebp + 0x40]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x50]
add ecx, edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], ecx
cmp edi, ecx
jae 0x1009b88f
add ecx, 0xffffffec
add eax, 4
mov dword [esp + 0x40], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [edx]
jmp 0x1009b5d3
cmp word [eax], 0x2e
jne 0x1009b5d0
push 0x5f
pop ecx
mov word [eax], cx
add eax, 2
cmp word [eax], si
jne 0x1009b5c4
mov dword [esp + 0x44], 0x18
mov ecx, dword [edi + 4]
mov dword [esp + 0x4c], ecx
cmp dword [edi + 4], 0x10
jne 0x1009b601
mov ax, word [edi + 0xc]
mov word [esp + 0x50], ax
mov ax, word [edi + 0xe]
mov word [esp + 0x52], ax
jmp 0x1009b615
mov eax, dword [esp + 0x50]
mov edx, 0x409
cmp dword [esp + 0x38], esi
cmovne eax, edx
mov dword [esp + 0x50], eax
mov eax, dword [edi]
and eax, 0x1ff
cmp eax, 2
jne 0x1009b634
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 4]
mov dword [esp + 0x58], edx
mov eax, dword [eax]
mov dword [esp + 0x54], eax
jmp 0x1009b63a
mov edx, esi
mov dword [esp + 0x54], esi
cmp edi, dword [esp + 0x40]
je 0x1009b646
or edx, 0x100
and edx, 0xfffffffb
mov dword [esp + 0x58], edx
cmp ecx, 0xf
jne 0x1009b6be
test edx, 0x2800
je 0x1009b6be
xor eax, eax
inc eax
push eax
push 0x38
lea eax, [esp + 0x7c]
push eax
push esi
push dword [esp + 0x20]
push ebx
call fcn.1003c7e0
mov edi, eax
cmp edi, 0xfffffc15
je 0x1009b6be
test edi, edi
js 0x1009b8cb
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x14]
push ebx
call fcn.10046bf0
push dword [esp + 0x78]
mov edi, eax
push ebx
call fcn.1003c120
test edi, edi
js 0x1009b8cb
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x14]
call fcn.10048830
test byte [esp + 0x28], 4
jne 0x1009b8b5
lea eax, [esp + 0x3c]
push eax
push esi
push esi
lea eax, [esp + 0x50]
push eax
mov eax, dword [esp + 0x28]
push dword [eax]
push dword [esp + 0x24]
push ebx
call fcn.1003c0c0
mov edx, dword [esp + 0x58]
mov edi, eax
test edi, edi
js 0x1009b73f
test edx, 0x800
jne 0x1009b6fd
mov ecx, dword [esp + 0x4c]
test edx, 0x2000
je 0x1009b743
cmp ecx, 0xf
jne 0x1009b743
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
mov eax, dword [esp + 0x20]
push dword [eax]
push dword [esp + 0x1c]
push ebx
call fcn.1003e510
mov ecx, dword [esp + 0x4c]
mov edi, eax
cmp ecx, 0xf
jne 0x1009b780
test edi, edi
js 0x1009b780
mov eax, dword [esp + 0x28]
or eax, 4
push eax
push dword [esp + 0x14]
mov dword [esp + 0x30], eax
call fcn.1004a530
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x4c]
cmp edi, 0xfffffa19
jne 0x1009b796
cmp ecx, 7
je 0x1009b8cb
cmp ecx, 0xa
je 0x1009b8cb
cmp ecx, 2
jb 0x1009b767
cmp ecx, 7
jbe 0x1009b76c
cmp ecx, 0x10
jne 0x1009b786
push 7
pop ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x54], 8
jmp 0x1009b64d
mov edx, dword [esp + 0x58]
jmp 0x1009b743
push 9
pop ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x54], esi
jmp 0x1009b64d
cmp edi, 0xfffffa1e
je 0x1009b78d
test edi, edi
js 0x1009b8cb
push dword [esp + 0xb8]
push ebx
call fcn.10037420
test eax, eax
je 0x1009b866
push 3
push 4
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x24]
push dword [eax]
push dword [esp + 0x20]
push ebx
call fcn.1003c7e0
mov edi, eax
test edi, edi
js 0x1009b8cb
xor eax, eax
inc eax
cmp word [esp + 0x1c], ax
jne 0x1009b811
push esi
push 0x18
lea eax, [esp + 0x64]
push eax
push 0x1000277c
push dword [esp + 0x24]
push ebx
call fcn.1003c7e0
mov edi, eax
test edi, edi
js 0x1009b8bc
mov eax, dword [esp + 0x60]
mov dword [esp + 0x30], eax
push 2
push dword [esp + 0x18]
push ebx
call fcn.1003cd20
mov edi, eax
test edi, edi
js 0x1009b8bc
push esi
push esi
push 2
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x40]
push dword [esp + 0x28]
push ebx
call fcn.1003d0e0
mov edi, eax
test edi, edi
js 0x1009b8bc
push esi
push esi
push esi
push dword [esp + 0x20]
push ebx
call fcn.1003d2f0
mov edi, eax
test edi, edi
js 0x1009b8bc
push dword [esp + 0x14]
push ebx
call fcn.1003c120
or dword [esp + 0x14], 0xffffffff
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
add edi, 0x14
add dword [esp + 0x2c], 0x10
add edx, 4
inc dword [esp + 0x1c]
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], edx
cmp edi, dword [esp + 0x34]
jb 0x1009b5c0
mov eax, dword [ebp + 0x40]
mov dword [ebp + 0x49c], eax
xor eax, eax
mov ecx, dword [esp + 0xac]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10117cfd
add esp, 0xa0
ret 0xc
mov edi, 0xffffb1dc
jmp 0x1009b8cb
push dword [esp + 0x14]
push ebx
call fcn.1003c120
or dword [esp + 0x14], 0xffffffff
push dword [esp + 0x10]
push ebx
call fcn.1003c120
or dword [esp + 0x10], 0xffffffff
push esi
push dword [esp + 0x28]
push dword [esp + 0xc0]
push ebx
call fcn.100d6527
jmp 0x1009b571