Function at 0x100d725b
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.101172b0
or dword [esi], 0xffffffff
add esp, 0xc
or dword [esp + 0x70], 0xffffffff
push dword [esp + 0x2ac]
call fcn.10037230
test eax, eax
jne 0x100d72c1
mov eax, 0xfffffbb0
jmp 0x100d7464
mov ebp, dword [esp + 0x2b8]
push ebp
call fcn.10037230
test eax, eax
je 0x100d72b7
mov edi, dword [esp + 0x2bc]
push edi
push dword [esp + 0x2b0]
call fcn.1003bae0
test eax, eax
jne 0x100d72f9
cmp edi, 0xffffffff
je 0x100d72f9
mov eax, 0xfffffc0e
jmp 0x100d7464
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x2b8]
push dword [esp + 0x2b4]
call fcn.1003d150
test eax, eax
js 0x100d7464
cmp dword [esp + 0x44], 0x1000ca10
je 0x100d732d
mov eax, 0xfffffae0
jmp 0x100d7464
xor eax, eax
push eax
push ebp
call fcn.10095fdb
test eax, eax
js 0x100d7464
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x2b8]
push dword [esp + 0x2b4]
call fcn.1003d190
mov esi, eax
test esi, esi
js 0x100d7429
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.100d6c69
mov esi, eax
test esi, esi
js 0x100d7429
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 0x28]
push dword [eax]
push ebp
call fcn.1003d190
mov esi, eax
test esi, esi
js 0x100d7429
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 0x100d7419
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x100d74d4
xor edx, edx
cmp word [ecx], dx
je 0x100d74d4
mov eax, 0xfffffc15
jmp 0x100d7464
push edi
push ebp
call fcn.1003bae0
test eax, eax
jne 0x100d747f
mov esi, 0xfffffc0e
mov ebx, dword [esp + 0x24]
or edi, 0xffffffff
cmp dword [ebx], edi
je 0x100d743e
push dword [ebx]
push ebp
call fcn.1003bd20
mov dword [ebx], edi
cmp dword [esp + 0x70], edi
je 0x100d7458
push dword [esp + 0x70]
push dword [esp + 0x2b0]
call fcn.1003bd20
mov dword [esp + 0x70], edi
xor eax, eax
push eax
push eax
push ebp
call fcn.100960a7
mov eax, esi
mov ecx, dword [esp + 0x2a4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011705d
add esp, 0x298
ret 0x20
push edi
push dword [esp + 0x2b0]
call fcn.10037270
test eax, eax
jne 0x100d7497
mov esi, 0xfffffc17
jmp 0x100d7429
push 8
push 4
lea eax, [esp + 0x18]
push eax
push edi
push ebp
call fcn.1003b620
mov esi, eax
test esi, esi
js 0x100d7429
cmp dword [esp + 0x10], 0x10000
je 0x100d74c5
cmp dword [esp + 0x10], 0x10001
jne 0x100d74d0
mov eax, dword [esp + 0x34]
mov dword [eax + 0x64], 1
mov eax, dword [esp + 0x18]
push eax
push dword [esp + 0x20]
call fcn.10029aa0
mov esi, eax
cmp esi, 0xfffffa1d
je 0x100d75b9
test esi, esi
js 0x100d7429
mov eax, dword [esp + 0x28]
xor ecx, ecx
cmp dword [eax + 0x70], ecx
je 0x100d75bb
mov edi, 0x800
push edi
call fcn.10117340
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x100d751f
mov esi, 0xfffffc0d
jmp 0x100d7429
xor eax, eax
push eax
push eax
push eax
push eax
mov byte [ebx], al
lea eax, [esp + 0x30]
push eax
push 0x400
jmp 0x100d7563
push ebx
call fcn.1011726a
add edi, edi
pop ecx
cmp edi, 0x10000
jae 0x100d75af
push edi
call fcn.10117340
mov ebx, eax
pop ecx
test ebx, ebx
je 0x100d7515
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.100fdf0b
mov esi, eax
cmp esi, 0xfffff245
je 0x100d7533
test esi, esi
js 0x100d79b8
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.10102074
mov esi, eax
test esi, esi
js 0x100d79b8
jmp 0x100d7996
mov esi, 0xfffff401
jmp 0x100d7429
xor ecx, ecx
mov edi, dword [esp + 0x2c8]
test edi, edi
je 0x100d75f4
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 0x100d7429
xor eax, eax
push eax
push Ordinal_2
jmp 0x100d7922
xor eax, eax
push eax
push dword [esp + 0x1c]
push ebp
call fcn.100d50d1
mov esi, eax
test esi, esi
js 0x100d7429
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.100d4be3
mov esi, eax
test esi, esi
js 0x100d7429
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.100d5379
mov esi, eax
test esi, esi
js 0x100d7429
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.100d4be3
mov esi, eax
test esi, esi
js 0x100d7429
cmp esi, 0x3ec
je 0x100d76d9
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.100d5379
mov esi, eax
test esi, esi
js 0x100d7429
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.100d4be3
mov esi, eax
test esi, esi
js 0x100d7429
cmp esi, 0x3ec
je 0x100d773d
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.100d5379
mov esi, eax
test esi, esi
js 0x100d7429
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.100d4be3
mov esi, eax
test esi, esi
js 0x100d7429
cmp esi, 0x3ee
jne 0x100d77c5
mov eax, dword [esp + 0x10]
add eax, 2
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x3c]
call fcn.100d6821
mov esi, eax
test esi, esi
js 0x100d7429
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.1009a33f
jmp 0x100d77eb
cmp esi, 0x3ec
je 0x100d77f5
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.100d5379
mov esi, eax
test esi, esi
js 0x100d7429
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.100d4be3
mov esi, eax
test esi, esi
js 0x100d7429
cmp esi, 0x3ec
je 0x100d7867
cmp byte [esp + 0x17], 3
jne 0x100d7844
mov ax, word [esp + 0x28]
test al, 1
je 0x100d7844
test edi, edi
je 0x100d7844
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.100d5379
mov esi, eax
test esi, esi
js 0x100d7429
mov eax, dword [esp + 0x50]
cmp eax, 0xffffffff
je 0x100d78cf
cmp dword [esp + 0x30], 0xffffffff
je 0x100d78cf
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.100d4be3
mov esi, eax
test esi, esi
js 0x100d7429
cmp esi, 0x3ec
je 0x100d78cf
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.100d5379
mov esi, eax
test esi, esi
js 0x100d7429
cmp dword [esp + 0x60], ebx
je 0x100d7904
test edi, edi
je 0x100d7904
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 0x100d7900
test esi, esi
js 0x100d7429
dec dword [esp + 0x74]
xor eax, eax
push eax
push eax
push eax
push dword [esp + 0x24]
push ebp
call fcn.100d4b8f
mov esi, eax
test esi, esi
js 0x100d7429
xor eax, eax
push eax
inc eax
push eax
push dword [esp + 0x24]
push dword [esp + 0x2b8]
call fcn.100d490d
mov esi, eax
test esi, esi
jns 0x100d7601
cmp esi, 0xfffff9bd
jne 0x100d7429
test edi, edi
je 0x100d79a5
cmp dword [esp + 0x74], ebx
jbe 0x100d79a5
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.100d55f0
mov esi, eax
test esi, esi
js 0x100d7429
push dword [esp + 0x70]
push dword [esp + 0x2b0]
call fcn.1003bd20
or dword [esp + 0x70], 0xffffffff
xor edi, edi
test ebx, ebx
je 0x100d79a7
push ebx
call fcn.1011726a
pop ecx
mov ebx, edi
jmp 0x100d79a7
xor edi, edi
xor eax, eax
push edi
inc eax
push eax
push ebp
call fcn.1009603a
mov esi, eax
test esi, esi
jns 0x100d79cc
test ebx, ebx
je 0x100d7429
push ebx
call fcn.1011726a
pop ecx
jmp 0x100d7429
xor eax, eax
jmp 0x100d7464