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

Disassembly:
sub esp, 0x500
mov eax, dword [0x101366b4]
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 0x100ab622
xor eax, eax
cmp ecx, 2
sete al
jmp 0x100aba27
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 0x100ab649
mov ebx, dword [edx + 0x30]
push ebp
mov ebp, dword [ecx + 0xac]
cmp ebp, 0xffffffff
jne 0x100ab658
mov ebp, dword [edx + 0x30]
cmp ebx, ebp
je 0x100ab6bb
push 0
push 0x20a
lea eax, [esp + 0x308]
push eax
push ebx
push esi
call fcn.1003ba10
test eax, eax
js 0x100aba00
push 0
push 0x20a
lea eax, [esp + 0xfc]
push eax
push ebp
push esi
call fcn.1003ba10
test eax, eax
js 0x100aba00
push dword [0x1013657c]
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0x308]
push eax
call fcn.1009295d
test eax, eax
je 0x100aba00
push 9
push 8
lea eax, [esp + 0x70]
push eax
push ebx
push esi
call fcn.1003ba10
test eax, eax
js 0x100aba00
cmp dword [esp + 0x68], 1
je 0x100ab6e5
cmp dword [esp + 0x68], 0x15
jne 0x100aba00
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 0x100aba04
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 0x100aba04
mov edi, dword [esp + 0x40]
xor ebx, ebx
push ebx
push 0xffffffffffffffff
push edi
push esi
call fcn.1003cb30
push ebx
push 1
push edi
push esi
call fcn.1003cb30
test eax, eax
js 0x100aba04
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.1003cec0
test eax, eax
js 0x100aba04
cmp dword [esp + 0x18], 0
ja 0x100ab9cd
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.1003cec0
test eax, eax
js 0x100aba04
test byte [esp + 0x20], 2
jne 0x100ab9cd
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.1003cec0
test eax, eax
js 0x100aba04
mov eax, dword [esp + 0x10]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x100aba3e
push dword [0x1013657c]
xor ecx, ecx
push dword [esp + 0x30]
mov word [esp + eax + 0x78], cx
lea eax, [esp + 0x78]
push eax
call fcn.1009295d
test eax, eax
je 0x100ab9cd
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.1003cec0
test eax, eax
js 0x100aba04
mov eax, dword [esp + 0x10]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x100aba3e
push dword [0x1013657c]
xor ecx, ecx
push dword [esp + 0x3c]
mov word [esp + eax + 0x78], cx
lea eax, [esp + 0x78]
push eax
call fcn.1009295d
test eax, eax
je 0x100ab9cd
cmp dword [esp + 0x14], 0
jne 0x100aba04
test dword [esp + 0x20], 0x100
je 0x100aba04
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.1003cec0
test eax, eax
js 0x100aba04
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 8]
and eax, 0x3f
cmp dword [esp + 0x1c], eax
jne 0x100aba04
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x18], ebx
jbe 0x100ab9c4
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.1003cec0
test eax, eax
js 0x100aba04
mov eax, dword [esp + 0x10]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x100aba3e
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.100aba44
test eax, eax
je 0x100aba04
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.1003cec0
test eax, eax
js 0x100aba04
mov eax, dword [esp + 0x10]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x100aba3e
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.100aba44
test eax, eax
je 0x100aba04
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
lea eax, [edx - 1]
cmp ecx, eax
jae 0x100ab9b7
push 0
push 1
push edi
push esi
call fcn.1003cb30
test eax, eax
js 0x100aba04
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x18], ecx
cmp ecx, edx
jb 0x100ab8d9
xor ebx, ebx
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x100ab9d1
mov ebx, dword [esp + 0x14]
push 0
push 1
push edi
push esi
call fcn.1003cb30
test eax, eax
js 0x100ab9e7
xor ebx, ebx
jmp 0x100ab768
test ebx, ebx
je 0x100aba04
push edi
push esi
call fcn.1003c120
mov dword [ebp + 0xf8], 1
xor eax, eax
jmp 0x100aba23
mov ebp, dword [esp + 0x10]
mov dword [ebp + 0xf8], 2
cmp edi, 0xffffffff
je 0x100aba1a
push edi
push esi
call fcn.1003c120
push esi
call fcn.100372a0
xor eax, eax
inc eax
pop ebp
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4fc]
xor ecx, esp
call fcn.10117cfd
add esp, 0x500
ret 0xc
call fcn.10117992
int3