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

Disassembly:
sub esp, 0x298
mov eax, dword [0x101366b4]
xor eax, esp
mov dword [esp + 0x294], eax
mov eax, dword [esp + 0x2b0]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x2c0]
xor ebx, ebx
push edi
push 0x34
mov dword [esp + 0x14], eax
lea eax, [esp + 0x74]
push ebx
push eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x78], ebx
call fcn.10117f50
or dword [esi], 0xffffffff
add esp, 0xc
or dword [esp + 0x70], 0xffffffff
push dword [esp + 0x2ac]
call fcn.100373e0
test eax, eax
jne 0x100d7fb2
mov eax, 0xfffffbb0
jmp 0x100d8155
mov ebp, dword [esp + 0x2b8]
push ebp
call fcn.100373e0
test eax, eax
je 0x100d7fa8
mov edi, dword [esp + 0x2bc]
push edi
push dword [esp + 0x2b0]
call fcn.1003bed0
test eax, eax
jne 0x100d7fea
cmp edi, 0xffffffff
je 0x100d7fea
mov eax, 0xfffffc0e
jmp 0x100d8155
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x2b8]
push dword [esp + 0x2b4]
call fcn.1003d550
test eax, eax
js 0x100d8155
cmp dword [esp + 0x44], 0x1000caa8
je 0x100d801e
mov eax, 0xfffffae0
jmp 0x100d8155
xor eax, eax
push eax
push ebp
call fcn.10096bbb
test eax, eax
js 0x100d8155
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x2b8]
push dword [esp + 0x2b4]
call fcn.1003d590
mov esi, eax
test esi, esi
js 0x100d811a
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x68], ecx
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x50], ecx
xor ecx, ecx
push ecx
push dword [eax + 0x5c]
push dword [esp + 0x2c]
push dword [esp + 0x1c]
push edi
push ebp
call fcn.100d795a
mov esi, eax
test esi, esi
js 0x100d811a
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 0x28]
push dword [eax]
push ebp
call fcn.1003d590
mov esi, eax
test esi, esi
js 0x100d811a
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x4c], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x54], ecx
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x48], ecx
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x30], ecx
cmp edi, 0xffffffff
jne 0x100d810a
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x100d81c5
xor edx, edx
cmp word [ecx], dx
je 0x100d81c5
mov eax, 0xfffffc15
jmp 0x100d8155
push edi
push ebp
call fcn.1003bed0
test eax, eax
jne 0x100d8170
mov esi, 0xfffffc0e
mov ebx, dword [esp + 0x24]
or edi, 0xffffffff
cmp dword [ebx], edi
je 0x100d812f
push dword [ebx]
push ebp
call fcn.1003c120
mov dword [ebx], edi
cmp dword [esp + 0x70], edi
je 0x100d8149
push dword [esp + 0x70]
push dword [esp + 0x2b0]
call fcn.1003c120
mov dword [esp + 0x70], edi
xor eax, eax
push eax
push eax
push ebp
call fcn.10096c87
mov eax, esi
mov ecx, dword [esp + 0x2a4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10117cfd
add esp, 0x298
ret 0x20
push edi
push dword [esp + 0x2b0]
call fcn.10037420
test eax, eax
jne 0x100d8188
mov esi, 0xfffffc17
jmp 0x100d811a
push 8
push 4
lea eax, [esp + 0x18]
push eax
push edi
push ebp
call fcn.1003ba10
mov esi, eax
test esi, esi
js 0x100d811a
cmp dword [esp + 0x10], 0x10000
je 0x100d81b6
cmp dword [esp + 0x10], 0x10001
jne 0x100d81c1
mov eax, dword [esp + 0x34]
mov dword [eax + 0x64], 1
mov eax, dword [esp + 0x18]
push eax
push dword [esp + 0x20]
call fcn.10029be0
mov esi, eax
cmp esi, 0xfffffa1d
je 0x100d82aa
test esi, esi
js 0x100d811a
mov eax, dword [esp + 0x28]
xor ecx, ecx
cmp dword [eax + 0x70], ecx
je 0x100d82ac
mov edi, 0x800
push edi
call fcn.10117fe0
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x100d8210
mov esi, 0xfffffc0d
jmp 0x100d811a
xor eax, eax
push eax
push eax
push eax
push eax
mov byte [ebx], al
lea eax, [esp + 0x30]
push eax
push 0x400
jmp 0x100d8254
push ebx
call fcn.10117f0a
add edi, edi
pop ecx
cmp edi, 0x10000
jae 0x100d82a0
push edi
call fcn.10117fe0
mov ebx, eax
pop ecx
test ebx, ebx
je 0x100d8206
xor eax, eax
push eax
push eax
push eax
push eax
mov byte [ebx], al
lea eax, [esp + 0x30]
push eax
mov eax, edi
shr eax, 1
push eax
push ebx
push dword [esp + 0x2d0]
push dword [esp + 0x2cc]
call fcn.100febfc
mov esi, eax
cmp esi, 0xfffff245
je 0x100d8224
test esi, esi
js 0x100d86a9
mov eax, dword [esp + 0x24]
xor edi, edi
push edi
push edi
push dword [esp + 0x28]
push ebx
push dword [eax]
push 0xffffffffffffffff
push ebp
call fcn.10102d65
mov esi, eax
test esi, esi
js 0x100d86a9
jmp 0x100d8687
mov esi, 0xfffff401
jmp 0x100d811a
xor ecx, ecx
mov edi, dword [esp + 0x2c8]
test edi, edi
je 0x100d82e5
push 2
push 0x38
lea eax, [esp + 0x74]
push eax
push ecx
push dword [esp + 0x2c4]
push dword [esp + 0x2c4]
push dword [esp + 0x2c4]
call sym.msjet40.dll_Ordinal_311
mov esi, eax
test esi, esi
js 0x100d811a
xor eax, eax
push eax
push Ordinal_2
jmp 0x100d8613
xor eax, eax
push eax
push dword [esp + 0x1c]
push ebp
call fcn.100d5dc2
mov esi, eax
test esi, esi
js 0x100d811a
xor eax, eax
push eax
push eax
push eax
push 1
lea eax, [esp + 0x27]
push eax
push dword [esp + 0x50]
push dword [esp + 0x34]
push dword [esp + 0x2c8]
call fcn.100d58d4
mov esi, eax
test esi, esi
js 0x100d811a
push 1
pop edx
xor ecx, ecx
cmp byte [esp + 0x17], 6
push ecx
push ecx
mov eax, ecx
cmove eax, edx
push edx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x23]
push eax
push dword [esp + 0x48]
push dword [esp + 0x2c]
push ebp
call fcn.100d606a
mov esi, eax
test esi, esi
js 0x100d811a
xor eax, eax
push eax
push eax
lea eax, [esp + 0x18]
push eax
push 0x1fe
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x70]
push dword [esp + 0x34]
push dword [esp + 0x2c8]
call fcn.100d58d4
mov esi, eax
test esi, esi
js 0x100d811a
cmp esi, 0x3ec
je 0x100d83ca
xor eax, eax
push eax
push eax
push dword [esp + 0x18]
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x5c]
push dword [esp + 0x2c]
push ebp
call fcn.100d606a
mov esi, eax
test esi, esi
js 0x100d811a
xor eax, eax
push eax
push eax
lea eax, [esp + 0x18]
push eax
push 0x1fe
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x7c]
push dword [esp + 0x34]
push dword [esp + 0x2c8]
call fcn.100d58d4
mov esi, eax
test esi, esi
js 0x100d811a
cmp esi, 0x3ec
je 0x100d842e
xor eax, eax
push eax
push eax
push dword [esp + 0x18]
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x64]
push dword [esp + 0x2c]
push ebp
call fcn.100d606a
mov esi, eax
test esi, esi
js 0x100d811a
xor eax, eax
push eax
push eax
lea eax, [esp + 0x18]
push eax
push 0x1fe
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x40]
push dword [esp + 0x34]
push dword [esp + 0x2c8]
call fcn.100d58d4
mov esi, eax
test esi, esi
js 0x100d811a
cmp esi, 0x3ee
jne 0x100d84b6
mov eax, dword [esp + 0x10]
add eax, 2
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x3c]
call fcn.100d7512
mov esi, eax
test esi, esi
js 0x100d811a
xor eax, eax
push eax
push dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
push dword [eax]
push ebp
push dword [esp + 0x3c]
push dword [esp + 0x2c8]
push dword [esp + 0x28]
push dword [esp + 0x80]
push ebp
call fcn.1009af1f
jmp 0x100d84dc
cmp esi, 0x3ec
je 0x100d84e6
xor eax, eax
push eax
push eax
push dword [esp + 0x18]
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x30]
push dword [esp + 0x2c]
push ebp
call fcn.100d606a
mov esi, eax
test esi, esi
js 0x100d811a
xor eax, eax
push eax
push eax
push eax
push 2
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x54]
push dword [esp + 0x34]
push dword [esp + 0x2c8]
call fcn.100d58d4
mov esi, eax
test esi, esi
js 0x100d811a
cmp esi, 0x3ec
je 0x100d8558
cmp byte [esp + 0x17], 3
jne 0x100d8535
mov ax, word [esp + 0x28]
test al, 1
je 0x100d8535
test edi, edi
je 0x100d8535
and ax, 0xfffe
mov word [esp + 0x28], ax
xor eax, eax
push eax
push eax
push 2
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x58]
push dword [esp + 0x2c]
push ebp
call fcn.100d606a
mov esi, eax
test esi, esi
js 0x100d811a
mov eax, dword [esp + 0x50]
cmp eax, 0xffffffff
je 0x100d85c0
cmp dword [esp + 0x30], 0xffffffff
je 0x100d85c0
xor ecx, ecx
push ecx
push ecx
lea ecx, [esp + 0x18]
push ecx
push 4
lea ecx, [esp + 0x68]
push ecx
push eax
push dword [esp + 0x34]
push dword [esp + 0x2c8]
call fcn.100d58d4
mov esi, eax
test esi, esi
js 0x100d811a
cmp esi, 0x3ec
je 0x100d85c0
xor eax, eax
push eax
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x40]
push dword [esp + 0x2c]
push ebp
call fcn.100d606a
mov esi, eax
test esi, esi
js 0x100d811a
cmp dword [esp + 0x60], ebx
je 0x100d85f5
test edi, edi
je 0x100d85f5
xor eax, eax
push eax
inc eax
push eax
push dword [esp + 0x78]
push dword [esp + 0x2b8]
call sym.msjet40.dll_Ordinal_156
mov esi, eax
cmp esi, 0xfffff9bd
je 0x100d85f1
test esi, esi
js 0x100d811a
dec dword [esp + 0x74]
xor eax, eax
push eax
push eax
push eax
push dword [esp + 0x24]
push ebp
call fcn.100d5880
mov esi, eax
test esi, esi
js 0x100d811a
xor eax, eax
push eax
inc eax
push eax
push dword [esp + 0x24]
push dword [esp + 0x2b8]
call fcn.100d55fe
mov esi, eax
test esi, esi
jns 0x100d82f2
cmp esi, 0xfffff9bd
jne 0x100d811a
test edi, edi
je 0x100d8696
cmp dword [esp + 0x74], ebx
jbe 0x100d8696
sub esp, 0x38
lea esi, [esp + 0xa4]
push 0xe
pop ecx
mov edi, esp
push dword [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
push dword [esp + 0x5c]
push dword [esp + 0x58]
push ebp
call fcn.100d62e1
mov esi, eax
test esi, esi
js 0x100d811a
push dword [esp + 0x70]
push dword [esp + 0x2b0]
call fcn.1003c120
or dword [esp + 0x70], 0xffffffff
xor edi, edi
test ebx, ebx
je 0x100d8698
push ebx
call fcn.10117f0a
pop ecx
mov ebx, edi
jmp 0x100d8698
xor edi, edi
xor eax, eax
push edi
inc eax
push eax
push ebp
call fcn.10096c1a
mov esi, eax
test esi, esi
jns 0x100d86bd
test ebx, ebx
je 0x100d811a
push ebx
call fcn.10117f0a
pop ecx
jmp 0x100d811a
xor eax, eax
jmp 0x100d8155