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

Disassembly:
sub esp, 0xa0
mov eax, dword [0x1013567c]
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.1009c4a4
test eax, eax
js 0x1009aeba
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 0x1009ab98
xor esi, esi
cmp edi, 0xfffff88d
je 0x1009ab29
cmp edi, 0xfffffbf8
jne 0x1009ab3d
push esi
push esi
push esi
push 0xffffe047
push esi
push esi
push dword [esp + 0x3c]
push ebx
call fcn.100377a0
cmp edi, 0xfffffc01
jne 0x1009ab5b
push esi
push esi
push esi
push 0xffffe01f
push esi
push esi
push dword [ebp + 0xa8]
push ebx
call fcn.100377a0
mov ebp, dword [esp + 0x24]
cmp edi, 0xfffffae9
jne 0x1009ab78
push esi
push esi
push esi
push 0xffffe01e
push esi
push esi
push ebp
push ebx
call fcn.100377a0
cmp edi, 0xfffffc16
jne 0x1009ab91
push esi
push esi
push esi
push 0xffffdffa
push esi
push esi
push ebp
push ebx
call fcn.100377a0
mov eax, edi
jmp 0x1009aeba
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 0x1009aeaf
add ecx, 0xffffffec
add eax, 4
mov dword [esp + 0x40], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [edx]
jmp 0x1009abf3
cmp word [eax], 0x2e
jne 0x1009abf0
push 0x5f
pop ecx
mov word [eax], cx
add eax, 2
cmp word [eax], si
jne 0x1009abe4
mov dword [esp + 0x44], 0x18
mov ecx, dword [edi + 4]
mov dword [esp + 0x4c], ecx
cmp dword [edi + 4], 0x10
jne 0x1009ac21
mov ax, word [edi + 0xc]
mov word [esp + 0x50], ax
mov ax, word [edi + 0xe]
mov word [esp + 0x52], ax
jmp 0x1009ac35
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 0x1009ac54
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 0x1009ac5a
mov edx, esi
mov dword [esp + 0x54], esi
cmp edi, dword [esp + 0x40]
je 0x1009ac66
or edx, 0x100
and edx, 0xfffffffb
mov dword [esp + 0x58], edx
cmp ecx, 0xf
jne 0x1009acde
test edx, 0x2800
je 0x1009acde
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.1003c4a0
mov edi, eax
cmp edi, 0xfffffc15
je 0x1009acde
test edi, edi
js 0x1009aeeb
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x14]
push ebx
call fcn.10046850
push dword [esp + 0x78]
mov edi, eax
push ebx
call fcn.1003bde0
test edi, edi
js 0x1009aeeb
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x14]
call fcn.10048490
test byte [esp + 0x28], 4
jne 0x1009aed5
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.1003bd80
mov edx, dword [esp + 0x58]
mov edi, eax
test edi, edi
js 0x1009ad5f
test edx, 0x800
jne 0x1009ad1d
mov ecx, dword [esp + 0x4c]
test edx, 0x2000
je 0x1009ad63
cmp ecx, 0xf
jne 0x1009ad63
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.1003e1d0
mov ecx, dword [esp + 0x4c]
mov edi, eax
cmp ecx, 0xf
jne 0x1009ada0
test edi, edi
js 0x1009ada0
mov eax, dword [esp + 0x28]
or eax, 4
push eax
push dword [esp + 0x14]
mov dword [esp + 0x30], eax
call fcn.1004a190
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x4c]
cmp edi, 0xfffffa19
jne 0x1009adb6
cmp ecx, 7
je 0x1009aeeb
cmp ecx, 0xa
je 0x1009aeeb
cmp ecx, 2
jb 0x1009ad87
cmp ecx, 7
jbe 0x1009ad8c
cmp ecx, 0x10
jne 0x1009ada6
push 7
pop ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x54], 8
jmp 0x1009ac6d
mov edx, dword [esp + 0x58]
jmp 0x1009ad63
push 9
pop ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x54], esi
jmp 0x1009ac6d
cmp edi, 0xfffffa1e
je 0x1009adad
test edi, edi
js 0x1009aeeb
push dword [esp + 0xb8]
push ebx
call fcn.100372e0
test eax, eax
je 0x1009ae86
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.1003c4a0
mov edi, eax
test edi, edi
js 0x1009aeeb
xor eax, eax
inc eax
cmp word [esp + 0x1c], ax
jne 0x1009ae31
push esi
push 0x18
lea eax, [esp + 0x64]
push eax
push 0x1000273c
push dword [esp + 0x24]
push ebx
call fcn.1003c4a0
mov edi, eax
test edi, edi
js 0x1009aedc
mov eax, dword [esp + 0x60]
mov dword [esp + 0x30], eax
push 2
push dword [esp + 0x18]
push ebx
call fcn.1003c9e0
mov edi, eax
test edi, edi
js 0x1009aedc
push esi
push esi
push 2
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x40]
push dword [esp + 0x28]
push ebx
call fcn.1003cda0
mov edi, eax
test edi, edi
js 0x1009aedc
push esi
push esi
push esi
push dword [esp + 0x20]
push ebx
call fcn.1003cfb0
mov edi, eax
test edi, edi
js 0x1009aedc
push dword [esp + 0x14]
push ebx
call fcn.1003bde0
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 0x1009abe0
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.1011720d
add esp, 0xa0
ret 0xc
mov edi, 0xffffb1dc
jmp 0x1009aeeb
push dword [esp + 0x14]
push ebx
call fcn.1003bde0
or dword [esp + 0x14], 0xffffffff
push dword [esp + 0x10]
push ebx
call fcn.1003bde0
or dword [esp + 0x10], 0xffffffff
push esi
push dword [esp + 0x28]
push dword [esp + 0xc0]
push ebx
call fcn.100d5a39
jmp 0x1009ab91