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

Disassembly:
sub esp, 0x298
mov eax, dword [0x1013567c]
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.10117460
or dword [esi], 0xffffffff
add esp, 0xc
or dword [esp + 0x70], 0xffffffff
push dword [esp + 0x2ac]
call fcn.10037280
test eax, eax
jne 0x100d74c4
mov eax, 0xfffffbb0
jmp 0x100d7667
mov ebp, dword [esp + 0x2b8]
push ebp
call fcn.10037280
test eax, eax
je 0x100d74ba
mov edi, dword [esp + 0x2bc]
push edi
push dword [esp + 0x2b0]
call fcn.1003bb80
test eax, eax
jne 0x100d74fc
cmp edi, 0xffffffff
je 0x100d74fc
mov eax, 0xfffffc0e
jmp 0x100d7667
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x2b8]
push dword [esp + 0x2b4]
call fcn.1003d200
test eax, eax
js 0x100d7667
cmp dword [esp + 0x44], 0x1000ca30
je 0x100d7530
mov eax, 0xfffffae0
jmp 0x100d7667
xor eax, eax
push eax
push ebp
call fcn.100961db
test eax, eax
js 0x100d7667
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x2b8]
push dword [esp + 0x2b4]
call fcn.1003d240
mov esi, eax
test esi, esi
js 0x100d762c
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.100d6e6c
mov esi, eax
test esi, esi
js 0x100d762c
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 0x28]
push dword [eax]
push ebp
call fcn.1003d240
mov esi, eax
test esi, esi
js 0x100d762c
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 0x100d761c
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x100d76d7
xor edx, edx
cmp word [ecx], dx
je 0x100d76d7
mov eax, 0xfffffc15
jmp 0x100d7667
push edi
push ebp
call fcn.1003bb80
test eax, eax
jne 0x100d7682
mov esi, 0xfffffc0e
mov ebx, dword [esp + 0x24]
or edi, 0xffffffff
cmp dword [ebx], edi
je 0x100d7641
push dword [ebx]
push ebp
call fcn.1003bdc0
mov dword [ebx], edi
cmp dword [esp + 0x70], edi
je 0x100d765b
push dword [esp + 0x70]
push dword [esp + 0x2b0]
call fcn.1003bdc0
mov dword [esp + 0x70], edi
xor eax, eax
push eax
push eax
push ebp
call fcn.100962a7
mov eax, esi
mov ecx, dword [esp + 0x2a4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011720d
add esp, 0x298
ret 0x20
push edi
push dword [esp + 0x2b0]
call fcn.100372c0
test eax, eax
jne 0x100d769a
mov esi, 0xfffffc17
jmp 0x100d762c
push 8
push 4
lea eax, [esp + 0x18]
push eax
push edi
push ebp
call fcn.1003b6c0
mov esi, eax
test esi, esi
js 0x100d762c
cmp dword [esp + 0x10], 0x10000
je 0x100d76c8
cmp dword [esp + 0x10], 0x10001
jne 0x100d76d3
mov eax, dword [esp + 0x34]
mov dword [eax + 0x64], 1
mov eax, dword [esp + 0x18]
push eax
push dword [esp + 0x20]
call fcn.10029ae0
mov esi, eax
cmp esi, 0xfffffa1d
je 0x100d77bc
test esi, esi
js 0x100d762c
mov eax, dword [esp + 0x28]
xor ecx, ecx
cmp dword [eax + 0x70], ecx
je 0x100d77be
mov edi, 0x800
push edi
call fcn.101174f0
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x100d7722
mov esi, 0xfffffc0d
jmp 0x100d762c
xor eax, eax
push eax
push eax
push eax
push eax
mov byte [ebx], al
lea eax, [esp + 0x30]
push eax
push 0x400
jmp 0x100d7766
push ebx
call fcn.1011741a
add edi, edi
pop ecx
cmp edi, 0x10000
jae 0x100d77b2
push edi
call fcn.101174f0
mov ebx, eax
pop ecx
test ebx, ebx
je 0x100d7718
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.100fe10e
mov esi, eax
cmp esi, 0xfffff245
je 0x100d7736
test esi, esi
js 0x100d7bbb
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.10102277
mov esi, eax
test esi, esi
js 0x100d7bbb
jmp 0x100d7b99
mov esi, 0xfffff401
jmp 0x100d762c
xor ecx, ecx
mov edi, dword [esp + 0x2c8]
test edi, edi
je 0x100d77f7
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 0x100d762c
xor eax, eax
push eax
push Ordinal_2
jmp 0x100d7b25
xor eax, eax
push eax
push dword [esp + 0x1c]
push ebp
call fcn.100d52d4
mov esi, eax
test esi, esi
js 0x100d762c
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.100d4de6
mov esi, eax
test esi, esi
js 0x100d762c
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.100d557c
mov esi, eax
test esi, esi
js 0x100d762c
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.100d4de6
mov esi, eax
test esi, esi
js 0x100d762c
cmp esi, 0x3ec
je 0x100d78dc
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.100d557c
mov esi, eax
test esi, esi
js 0x100d762c
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.100d4de6
mov esi, eax
test esi, esi
js 0x100d762c
cmp esi, 0x3ec
je 0x100d7940
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.100d557c
mov esi, eax
test esi, esi
js 0x100d762c
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.100d4de6
mov esi, eax
test esi, esi
js 0x100d762c
cmp esi, 0x3ee
jne 0x100d79c8
mov eax, dword [esp + 0x10]
add eax, 2
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x3c]
call fcn.100d6a24
mov esi, eax
test esi, esi
js 0x100d762c
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.1009a53f
jmp 0x100d79ee
cmp esi, 0x3ec
je 0x100d79f8
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.100d557c
mov esi, eax
test esi, esi
js 0x100d762c
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.100d4de6
mov esi, eax
test esi, esi
js 0x100d762c
cmp esi, 0x3ec
je 0x100d7a6a
cmp byte [esp + 0x17], 3
jne 0x100d7a47
mov ax, word [esp + 0x28]
test al, 1
je 0x100d7a47
test edi, edi
je 0x100d7a47
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.100d557c
mov esi, eax
test esi, esi
js 0x100d762c
mov eax, dword [esp + 0x50]
cmp eax, 0xffffffff
je 0x100d7ad2
cmp dword [esp + 0x30], 0xffffffff
je 0x100d7ad2
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.100d4de6
mov esi, eax
test esi, esi
js 0x100d762c
cmp esi, 0x3ec
je 0x100d7ad2
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.100d557c
mov esi, eax
test esi, esi
js 0x100d762c
cmp dword [esp + 0x60], ebx
je 0x100d7b07
test edi, edi
je 0x100d7b07
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 0x100d7b03
test esi, esi
js 0x100d762c
dec dword [esp + 0x74]
xor eax, eax
push eax
push eax
push eax
push dword [esp + 0x24]
push ebp
call fcn.100d4d92
mov esi, eax
test esi, esi
js 0x100d762c
xor eax, eax
push eax
inc eax
push eax
push dword [esp + 0x24]
push dword [esp + 0x2b8]
call fcn.100d4b10
mov esi, eax
test esi, esi
jns 0x100d7804
cmp esi, 0xfffff9bd
jne 0x100d762c
test edi, edi
je 0x100d7ba8
cmp dword [esp + 0x74], ebx
jbe 0x100d7ba8
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.100d57f3
mov esi, eax
test esi, esi
js 0x100d762c
push dword [esp + 0x70]
push dword [esp + 0x2b0]
call fcn.1003bdc0
or dword [esp + 0x70], 0xffffffff
xor edi, edi
test ebx, ebx
je 0x100d7baa
push ebx
call fcn.1011741a
pop ecx
mov ebx, edi
jmp 0x100d7baa
xor edi, edi
xor eax, eax
push edi
inc eax
push eax
push ebp
call fcn.1009623a
mov esi, eax
test esi, esi
jns 0x100d7bcf
test ebx, ebx
je 0x100d762c
push ebx
call fcn.1011741a
pop ecx
jmp 0x100d762c
xor eax, eax
jmp 0x100d7667