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

Disassembly:
sub esp, 0x500
mov eax, dword [0x1013567c]
xor eax, esp
mov dword [esp + 0x4fc], eax
mov eax, dword [esp + 0x508]
and dword [esp + 4], 0
mov edx, dword [esp + 0x504]
mov dword [esp + 0x18], edx
mov ecx, dword [eax + 0xf8]
mov dword [esp], eax
test ecx, ecx
je 0x100aaa01
xor eax, eax
cmp ecx, 2
sete al
jmp 0x100aae06
mov ecx, dword [eax + 0xf0]
push ebx
mov ebx, dword [eax + 0xac]
push esi
mov esi, dword [edx + 0x28]
push edi
or edi, 0xffffffff
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x1c], ecx
cmp ebx, 0xffffffff
jne 0x100aaa28
mov ebx, dword [edx + 0x30]
push ebp
mov ebp, dword [ecx + 0xac]
cmp ebp, 0xffffffff
jne 0x100aaa37
mov ebp, dword [edx + 0x30]
cmp ebx, ebp
je 0x100aaa9a
push 0
push 0x20a
lea eax, [esp + 0x308]
push eax
push ebx
push esi
call fcn.1003b620
test eax, eax
js 0x100aaddf
push 0
push 0x20a
lea eax, [esp + 0xfc]
push eax
push ebp
push esi
call fcn.1003b620
test eax, eax
js 0x100aaddf
push dword [0x10135544]
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x308]
push eax
call fcn.10091d7d
test eax, eax
je 0x100aaddf
push 9
push 8
lea eax, [esp + 0x70]
push eax
push ebx
push esi
call fcn.1003b620
test eax, eax
js 0x100aaddf
cmp dword [esp + 0x68], 1
je 0x100aaac4
cmp dword [esp + 0x68], 0x15
jne 0x100aaddf
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x10]
mov eax, dword [ecx + 0xbc]
mov edx, dword [ebp + 0xbc]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
mov eax, dword [eax + 0x8c]
mov edx, dword [ebp + eax*4 + 0x28]
mov eax, dword [ecx + eax*4 + 0x28]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
test edx, edx
je 0x100aade3
push 0x2c
pop eax
push eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
push eax
push 0
push edx
push ebx
push esi
call sym.msjet40.dll_Ordinal_912
test eax, eax
js 0x100aade3
mov edi, dword [esp + 0x40]
xor ebx, ebx
push ebx
push 0xffffffffffffffff
push edi
push esi
call fcn.1003c730
push ebx
push 1
push edi
push esi
call fcn.1003c730
test eax, eax
js 0x100aade3
push ebx
push ebx
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x68]
push edi
push esi
call fcn.1003cac0
test eax, eax
js 0x100aade3
cmp dword [esp + 0x18], 0
ja 0x100aadac
push ebx
push ebx
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x60]
push edi
push esi
call fcn.1003cac0
test eax, eax
js 0x100aade3
test byte [esp + 0x20], 2
jne 0x100aadac
push ebx
push ebx
lea eax, [esp + 0x18]
push eax
push 0x82
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x74]
push edi
push esi
call fcn.1003cac0
test eax, eax
js 0x100aade3
mov eax, dword [esp + 0x10]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x100aae1d
push dword [0x10135544]
xor ecx, ecx
push dword [esp + 0x30]
mov word [esp + eax + 0x78], cx
lea eax, [esp + 0x78]
push eax
call fcn.10091d7d
test eax, eax
je 0x100aadac
push ebx
push ebx
lea eax, [esp + 0x18]
push eax
push 0x82
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x6c]
push edi
push esi
call fcn.1003cac0
test eax, eax
js 0x100aade3
mov eax, dword [esp + 0x10]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x100aae1d
push dword [0x10135544]
xor ecx, ecx
push dword [esp + 0x3c]
mov word [esp + eax + 0x78], cx
lea eax, [esp + 0x78]
push eax
call fcn.10091d7d
test eax, eax
je 0x100aadac
cmp dword [esp + 0x14], 0
jne 0x100aade3
test dword [esp + 0x20], 0x100
je 0x100aade3
push ebx
push ebx
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x64]
push edi
push esi
call fcn.1003cac0
test eax, eax
js 0x100aade3
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 8]
and eax, 0x3f
cmp dword [esp + 0x1c], eax
jne 0x100aade3
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x18], ebx
jbe 0x100aada3
mov ebx, dword [esp + 0x28]
push 0
push 0
lea eax, [esp + 0x18]
push eax
push 0x82
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x70]
push edi
push esi
call fcn.1003cac0
test eax, eax
js 0x100aade3
mov eax, dword [esp + 0x10]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x100aae1d
xor ecx, ecx
mov word [esp + eax + 0x70], cx
lea eax, [esp + 0x70]
push eax
push dword [ebp + 0xf4]
push dword [esp + 0x3c]
push ebx
call fcn.100aae23
test eax, eax
je 0x100aade3
push 0
push 0
lea eax, [esp + 0x18]
push eax
push 0x82
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x78]
push edi
push esi
call fcn.1003cac0
test eax, eax
js 0x100aade3
mov eax, dword [esp + 0x10]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x100aae1d
xor ecx, ecx
mov word [esp + eax + 0x70], cx
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x28]
push dword [esp + 0x38]
push ebx
call fcn.100aae23
test eax, eax
je 0x100aade3
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
lea eax, [edx - 1]
cmp ecx, eax
jae 0x100aad96
push 0
push 1
push edi
push esi
call fcn.1003c730
test eax, eax
js 0x100aade3
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x18], ecx
cmp ecx, edx
jb 0x100aacb8
xor ebx, ebx
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x100aadb0
mov ebx, dword [esp + 0x14]
push 0
push 1
push edi
push esi
call fcn.1003c730
test eax, eax
js 0x100aadc6
xor ebx, ebx
jmp 0x100aab47
test ebx, ebx
je 0x100aade3
push edi
push esi
call fcn.1003bd20
mov dword [ebp + 0xf8], 1
xor eax, eax
jmp 0x100aae02
mov ebp, dword [esp + 0x10]
mov dword [ebp + 0xf8], 2
cmp edi, 0xffffffff
je 0x100aadf9
push edi
push esi
call fcn.1003bd20
push esi
call fcn.100370f0
xor eax, eax
inc eax
pop ebp
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4fc]
xor ecx, esp
call fcn.1011705d
add esp, 0x500
ret 0xc
call fcn.10116cf2
int3