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

Disassembly:
sub esp, 0x120
mov eax, dword [0x1013567c]
xor eax, esp
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x12c]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x130]
mov dword [esp + 0x14], eax
push edi
mov edi, dword [esp + 0x138]
mov eax, dword [esi + 0x80]
mov ebx, dword [esi + 0x48]
shr eax, 6
mov ebp, dword [edi + 0xe0]
and eax, 1
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x98]
push ebp
push ebx
mov dword [esp + 0x30], ebp
mov eax, dword [eax + 0x9c]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0xb0]
mov dword [esp + 0x1c], eax
call fcn.10037270
test eax, eax
je 0x100c79c3
test byte [esi + 0xa0], 0x10
je 0x100c7949
mov eax, 0xfc
mov dword [esp + 0x10], eax
jmp 0x100c7997
lea eax, [esp + 0x2c]
push eax
push dword [edi + 0xc8]
push 0x10002410
push ebp
push ebx
call fcn.1003b720
test eax, eax
js 0x100c7f8e
xor ecx, ecx
lea eax, [esp + 0x10]
push ecx
push eax
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x20]
push dword [ecx + eax*8 + 4]
push dword [ecx + eax*8]
push dword [esp + 0x40]
push ebp
push ebx
call fcn.10033b80
test eax, eax
js 0x100c7f8e
mov eax, dword [esp + 0x10]
test al, 0xd0
jne 0x100c79bd
xor eax, eax
push eax
push eax
push eax
push 0xffffe049
push eax
push eax
push dword [edi + 0xc8]
push ebx
call fcn.10037730
push 0xfffff88d
jmp 0x100c7f8f
mov dword [edi + 0xa0], eax
and dword [edi + 0xdc], 0xffffffef
mov eax, dword [esi + 0x40]
test eax, eax
je 0x100c79d9
mov dword [eax + 0xf0], edi
jmp 0x100c79dc
mov dword [esi + 0x3c], edi
push 5
xor eax, eax
mov dword [esi + 0x40], edi
cmp dword [esp + 0x38], 0
pop edx
push 2
mov dword [edi + 0xf0], eax
pop eax
je 0x100c79fd
test byte [edi + 0xdc], 8
je 0x100c7a09
cmp dword [edi + 0xc0], eax
jne 0x100c7b00
cmp ebp, 0xffffffff
je 0x100c7aac
push ebp
call fcn.100ed77f
test eax, eax
je 0x100c7aac
mov ecx, dword [edi + 0xc8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [esp + 0x30]
jne 0x100c7a29
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
cmp eax, 0x82
jb 0x100c7a4e
mov ebp, 0xfffffae7
jmp 0x100c7add
lea eax, [esp + 0x14]
push eax
xor eax, eax
push eax
push 0x104
push esi
call fcn.100c9d55
test eax, eax
js 0x100c7f8e
mov eax, dword [esp + 0x14]
xor ecx, ecx
push 0x82
mov word [eax + 0x102], cx
push dword [edi + 0xc8]
push dword [esp + 0x1c]
call fcn.1011701d
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0xc
cmp word [eax + 0x102], cx
je 0x100c7aa6
push 0xfffffbf2
jmp 0x100c7f8f
mov dword [edi + 0xc8], eax
push 1
lea eax, [esp + 0x74]
mov dword [esp + 0x3c], 0x38
mov dword [esp + 0x48], eax
lea eax, [esp + 0x3c]
push eax
xor eax, eax
push eax
push dword [edi + 0xc8]
push ebp
push ebx
call fcn.1003b540
mov ebp, eax
test ebp, ebp
jns 0x100c7c00
xor eax, eax
push eax
push eax
push eax
push 0xffffe0bd
push eax
push dword [edi + 0xc8]
push dword [esi + 0xa4]
push ebx
call fcn.10037730
push ebp
jmp 0x100c7f8f
mov ecx, dword [esi + 0x9c]
push 4
pop eax
test cl, 1
je 0x100c7b14
test cl, 0x10
cmove eax, edx
test byte [edi + 0xdc], 8
je 0x100c7b6b
test dword [esi + 0x80], 0x100000
je 0x100c7b33
push 0xfffff3fa
jmp 0x100c7f8f
push dword [esp + 0x18]
lea ecx, [esp + 0x20]
push ecx
push eax
push dword [edi + 0xc8]
push ebp
push esi
call fcn.100c9a47
mov eax, dword [esi + 0x80]
test al, 0x40
jne 0x100c7c2d
or eax, 1
xor ebp, ebp
mov dword [esi + 0x80], eax
mov dword [edi + 0xc4], ebp
jmp 0x100c7bdc
test dword [edi + 0xa0], 0x100
je 0x100c7b7c
or eax, sym.msjet40.dll_Ordinal_60
mov edx, 0x400000
test edx, ecx
je 0x100c7b87
or eax, edx
push eax
push dword [edi + 0xc8]
lea eax, [esp + 0x24]
push eax
push ebp
push ebx
call fcn.1003b7d0
push dword [edi + 0xc8]
mov ebp, eax
push ebp
push ebx
call fcn.10030820
cmp ebp, 0xfffffc01
jne 0x100c7bd2
mov eax, dword [edi + 0xd0]
test eax, eax
je 0x100c7afa
xor ecx, ecx
push ecx
push ecx
push ecx
push 0xffffe01f
push ecx
push ecx
push eax
push ebx
call fcn.10037730
test ebp, ebp
js 0x100c7afa
xor ebp, ebp
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x70]
push 1
push 0x38
push ecx
push ebp
push eax
push ebx
mov dword [edi + 0xe4], eax
call fcn.1003c3e0
test eax, eax
jns 0x100c7c02
jmp 0x100c7f8e
xor ebp, ebp
mov eax, dword [esp + 0x78]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100c7c48
push dword [esp + 0x74]
mov dword [edi + 8], ebp
push ebx
call fcn.1003bd20
or dword [esp + 0x74], 0xffffffff
lea eax, [edi + 4]
push eax
push 1
push ebp
push esi
call fcn.100c9ca3
mov ecx, dword [esp + 0x12c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011705d
add esp, 0x120
ret 0xc
lea ecx, [eax + 1]
mov dword [edi + 8], eax
mov dword [esp + 0x30], ecx
mov dword [edi + 0xc], ecx
lea ecx, [esp + 0x20]
shl eax, 4
push ecx
mov dword [esp + 0x30], eax
add eax, 0x10
push ebp
push eax
push esi
call fcn.100c9e0c
mov ebp, eax
test ebp, ebp
js 0x100c7f7a
imul eax, dword [esp + 0x18], 0x34
lea ecx, [edi + 4]
push ecx
push 1
mov dword [esp + 0x20], eax
add eax, 0x34
push eax
push esi
call fcn.100c9e0c
mov ebp, eax
test ebp, ebp
js 0x100c7f7a
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov dword [edi + 0x8c], eax
lea eax, [edi + 0x84]
push eax
mov eax, dword [esp + 0x30]
push ecx
add eax, 0x10
mov dword [edi + 0x88], ecx
push eax
push esi
call fcn.100c9d55
mov ebp, eax
test ebp, ebp
js 0x100c7f7a
mov eax, dword [edi + 4]
xor edx, edx
mov ecx, dword [esp + 0x18]
add ecx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], ecx
cmp eax, ecx
jmp 0x100c7d81
lea eax, [esp + 0x48]
push eax
push 0x41
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x7c]
push eax
push ebx
push edi
push esi
call fcn.100c6ca6
mov ebp, eax
test ebp, ebp
js 0x100c7f7a
xor eax, eax
push eax
push 1
push dword [esp + 0x7c]
push ebx
call fcn.1003c730
mov ebp, eax
test ebp, ebp
jns 0x100c7d3d
cmp ebp, 0xfffff9bd
jne 0x100c7f7a
mov eax, dword [esp + 0x24]
add eax, 0xffffffcc
cmp dword [esp + 0x14], eax
jb 0x100c7f7a
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x4c]
mov dword [ecx], eax
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x28]
push dword [esp + 0x1c]
push edi
push esi
call fcn.100c6b71
mov ebp, eax
test ebp, ebp
js 0x100c7f7a
mov eax, dword [esp + 0x14]
add dword [esp + 0x20], 0x10
add eax, 0x34
inc dword [esp + 0x10]
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
jb 0x100c7ce5
push dword [esp + 0x74]
push ebx
call fcn.1003bd20
or dword [esp + 0x74], 0xffffffff
cmp dword [esp + 0x34], 0
mov ebp, dword [esp + 0x28]
jne 0x100c7e5f
push 2
pop eax
cmp dword [edi + 0xc0], eax
jne 0x100c7dd3
push edi
push esi
push ebp
push ebx
call fcn.100ee1b5
mov eax, dword [esi + 0x9c]
test eax, 0x2000
je 0x100c7dd3
and eax, 0xffffffef
mov dword [esi + 0x9c], eax
cmp ebp, 0xffffffff
je 0x100c7de2
push ebp
call fcn.100ed77f
test eax, eax
jne 0x100c7e2a
push 5
lea eax, [esp + 0x4c]
mov dword [esp + 0x3c], 0x28
mov dword [esp + 0x48], eax
lea eax, [esp + 0x3c]
push eax
push dword [edi + 0xc8]
xor eax, eax
push 0x10002410
push eax
push ebp
push ebx
call fcn.1003b6c0
test eax, eax
js 0x100c7f8e
mov eax, dword [esp + 0x58]
mov dword [edi + 0xb0], eax
mov eax, dword [esp + 0x5c]
mov dword [edi + 0xb4], eax
push 2
pop ecx
cmp dword [edi + 0xc0], ecx
jne 0x100c7ee9
movzx eax, word [esi + 0x88]
cmp ax, cx
je 0x100c7e5f
cmp eax, 3
je 0x100c7e5f
push edi
push esi
call fcn.100eddba
test eax, eax
jne 0x100c7e5f
or dword [esi + 0x80], 0x2000
cmp ebp, 0xffffffff
je 0x100c7c2d
push ebp
call fcn.100ed77f
test eax, eax
je 0x100c7c2d
xor esi, esi
test dword [edi + 0xdc], 0x1000
jne 0x100c7e99
push esi
push ebp
push ebx
call fcn.1003b290
test eax, eax
jns 0x100c7e99
push 1
push ebp
push ebx
call fcn.1003b290
or dword [edi + 0xe0], 0xffffffff
mov ebx, 0x1000cdf8
or dword [edi + 0xdc], 0x800
mov ecx, ebx
push 2
pop ebp
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, ebp
cmp ax, si
jne 0x100c7eb7
sub ecx, edx
sar ecx, 1
push ecx
push ebx
push dword [edi + 0xd4]
call fcn.101155f0
add esp, 0xc
test eax, eax
jne 0x100c7c2d
add dword [edi + 0xd4], 0xa
jmp 0x100c7c2d
xor eax, eax
push eax
push 0x28
lea eax, [esp + 0x50]
push eax
push dword [esp + 0x28]
push ebx
call fcn.1003c530
test eax, eax
js 0x100c7f8e
test byte [esp + 0x60], 2
jne 0x100c7f1e
or dword [edi + 0xdc], 0x20
push 2
pop eax
or dword [esi + 0x80], eax
jmp 0x100c7f54
push 0xa
push 4
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x28]
push ebx
call fcn.1003c530
test eax, eax
js 0x100c7f8e
cmp dword [esp + 0x10], 0xa
je 0x100c7f4a
cmp dword [esp + 0x10], 0xb
je 0x100c7f4a
cmp dword [esp + 0x10], 0xc
jne 0x100c7f54
or dword [edi + 0xdc], 0x8000
movzx eax, word [esi + 0x88]
push 2
pop ecx
cmp ax, cx
je 0x100c7e5f
cmp eax, 3
je 0x100c7e5f
test byte [esp + 0x60], 4
jmp 0x100c7e53
push dword [esp + 0x74]
push ebx
call fcn.1003bd20
or dword [esp + 0x74], 0xffffffff
jmp 0x100c7afa
push eax
push esi
call fcn.100c493b
int3