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

Disassembly:
push esi
push ebx
push ebp
fldcw word [0x58ac6c]
sub esp, 0x94
mov edx, edi
xor eax, eax
mov edi, esp
mov ecx, 0x25
rep stosd dword es:[edi], eax
mov edi, edx
mov ecx, dword [0x58ac74]
mov ebp, dword fs:[0x2c]
mov ebp, dword [ebp + ecx*4]
xor eax, eax
inc eax
lock xadd dword [ebp + 0x10], eax
push eax
push 0x5bd7c4
push 0
push 0
push dword [ebp]
mov dword [ebp], esp
cmp dword [ebp + 0xc], 0
jne 0x5487eb
push dword [esp + 0xb8]
push dword [esp]
mov eax, dword [esp]
test eax, eax
je 0x40d1d7
mov eax, dword [eax]
mov dword [esp + 0x28], 0x808fffff
call dword [eax + 4]
lea esp, [esp + 4]
push dword [esp + 0xbc]
mov edx, dword [esp]
mov dword [esp + 0x54], edx
lea esp, [esp + 4]
nop dword [eax]
nop dword [eax]
push dword [esp + 0xb8]
lea eax, [esp + 0x68]
push eax
push dword [esp + 4]
mov eax, dword [esp]
test eax, eax
je 0x40d230
mov eax, dword [eax]
mov dword [esp + 0x2c], 0x80c001f6
call dword [eax + 0x29c]
mov dword [esp + 0xc], eax
cmp eax, 0
jl 0x40d21b
push dword [esp + 0x68]
push dword [esp]
mov eax, dword [esp]
test eax, eax
je 0x40d211
mov eax, dword [eax]
mov dword [esp + 0x2c], 0x80c001f6
call dword [eax + 0x34]
mov dword [esp + 0x10], eax
cmp eax, 0
jl 0x40d1ef
lea ecx, [esp + 0x6c]
mov eax, dword [ecx]
mov dword [ecx], 0
test eax, eax
je 0x40cd19
push eax
mov eax, dword [eax]
mov dword [esp + 0x2c], 0x80c001f6
call dword [eax + 8]
lea esp, [esp + 8]
nop dword [eax]
push dword [esp + 0x50]
push dword [esp + 0xbc]
mov eax, dword [esp]
add eax, 0x8c
mov eax, dword [eax]
push eax
mov eax, dword [esp]
test eax, eax
je 0x40cd4f
push eax
mov eax, dword [eax]
mov dword [esp + 0x30], 0x810001f7
call dword [eax + 4]
lea esi, [esp + 0x78]
mov eax, dword [esi]
mov ebx, dword [esp]
mov dword [esi], ebx
push 0
push dword [esp + 0xc]
push 0x149
lea eax, [esp + 0x84]
push eax
mov dword [esp + 0x3c], 0x81c001f7
call fcn.00426dfe
push eax
mov edx, dword [esp]
mov dword [esp + 0x78], edx
mov ecx, dword [ebp + 0x24]
test ecx, ecx
jne 0x40d24b
push dword [esp + 0x78]
mov edx, dword [esp]
mov dword [esp + 0x6c], edx
push dword [esp + 0x80]
push 0x80000030
push dword [esp + 4]
mov eax, dword [esp + 0x18]
add eax, 0x8c
push eax
mov eax, dword [esp + 0x1c]
add eax, 0x8c
add eax, 0xffffff74
push eax
push 0x564738
mov dword [esp + 0x4c], 0x82c001f7
call fcn.0054a071
cmp eax, 0
jl 0x40d23a
lea esp, [esp + 0x18]
nop dword [eax]
push dword [esp + 0x58]
push dword [esp]
push 0
mov dword [esp + 0x2c], 0x80c001f8
call fcn.004c93ef
push eax
lea eax, [esp + 0x78]
mov edx, dword [esp]
mov dword [eax], edx
mov ecx, dword [ebp + 0x24]
test ecx, ecx
jne 0x40d255
push dword [esp + 0x78]
lea ecx, [esp + 0x68]
mov eax, dword [ecx]
mov dword [ecx], 0
test eax, eax
je 0x40ce3c
push eax
mov dword [esp + 0x30], 0x810001f8
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea eax, [esp + 0x68]
mov edx, dword [esp]
mov dword [eax], edx
lea esp, [esp + 0xc]
nop dword [eax]
push dword [esp + 0x5c]
lea eax, [esp + 0x80]
push eax
push dword [esp + 4]
mov dword [esp + 0x2c], 0x80c001f9
call fcn.004c6fd0
cmp eax, 0
jl 0x40d288
push dword [esp + 0x80]
push dword [esp + 0x58]
push dword [esp + 0xc4]
mov eax, dword [esp]
add eax, 0x8c
mov eax, dword [eax]
push eax
mov eax, dword [esp]
test eax, eax
je 0x40cea8
push eax
mov eax, dword [eax]
mov dword [esp + 0x38], 0x818001f9
call dword [eax + 4]
lea esi, [esp + 0x8c]
mov eax, dword [esi]
mov ebx, dword [esp]
mov dword [esi], ebx
push dword [esp + 0xc]
push dword [esp + 0xc]
push 0x148
lea eax, [esp + 0x98]
push eax
mov dword [esp + 0x44], 0x824001f9
call fcn.00426dfe
push eax
mov edx, dword [esp]
mov dword [esp + 0x8c], edx
mov ecx, dword [ebp + 0x24]
test ecx, ecx
jne 0x40d27e
push dword [esp + 0x8c]
mov edx, dword [esp]
mov dword [esp + 0x7c], edx
push dword [esp + 0x94]
push 0x80000030
push dword [esp + 4]
mov eax, dword [esp + 0x18]
add eax, 0x8c
push eax
mov eax, dword [esp + 0x1c]
add eax, 0x8c
add eax, 0xffffff74
push eax
push 0x564748
mov dword [esp + 0x54], 0x834001f9
call fcn.0054a071
cmp eax, 0
jl 0x40d26a
lea esp, [esp + 0x20]
nop dword [eax]
push dword [esp + 0x60]
push dword [esp + 0x5c]
mov eax, dword [esp + 4]
mov edx, dword [esp]
cmp eax, edx
setl al
movzx eax, al
neg eax
test ax, ax
lea esp, [esp + 8]
je 0x40d0ba
push dword [esp + 0x60]
lea eax, [esp + 0x60]
push eax
pop edx
lea eax, [esp + 0x8c]
mov word [eax], 0x4008
mov dword [eax + 8], edx
push dword [esp]
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0xa4]
push eax
mov dword [esp + 0x30], 0x810001fa
call fcn.004c95c7
cmp eax, 0
jl 0x40d29c
lea eax, [esp + 0x9c]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
cmp al, 8
jne 0x40cfee
cmp ah, 0x40
jne 0x40cfdf
mov eax, dword [ecx]
jmp 0x40d028
test ah, ah
jne 0x40cfee
mov eax, ecx
jmp 0x40d028
push 0
push 0
push 0
push 0
lea eax, [esp]
push eax
lea eax, [esp + 0xb0]
push eax
push 8
mov dword [esp + 0x40], 0x820001fa
call fcn.0055dc24
cmp eax, 0
jl 0x40d28b
pop eax
pop eax
pop eax
pop edx
lea edx, [esp + 0x84]
mov dword [edx], eax
push eax
mov eax, dword [esp]
xor edx, edx
test eax, eax
je 0x40d049
mov edx, dword [eax - 4]
push edx
push eax
mov dword [esp + 0x30], 0x810001fa
call dword [sym.imp.OLEAUT32.dll_DllRegisterServer]
lea ecx, [esp + 0x64]
mov edx, dword [ecx]
mov dword [ecx], eax
test edx, edx
je 0x40d064
push edx
mov dword [esp + 0x2c], 0x80c001fa
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
nop
nop
lea edx, [esp + 0x90]
push edx
mov dword [esp + 0x2c], 0x80c001fa
call fcn.005612fc
lea edx, [esp + 0xa0]
push edx
mov dword [esp + 0x2c], 0x80c001fa
call fcn.005612fc
nop
nop
nop
lea ecx, [esp + 0x88]
mov eax, dword [ecx]
mov dword [ecx], 0
test eax, eax
je 0x40d0b6
push eax
mov dword [esp + 0x2c], 0x80c001fa
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea esp, [esp + 8]
nop dword [eax]
push dword [esp + 0x5c]
lea ecx, [esp + 0x58]
mov eax, dword [esp]
mov dword [ecx], eax
lea eax, [esp + 0x60]
mov dword [eax], 0
lea esp, [esp + 4]
jmp 0x40d0e0
lea ecx, [esp + 0x5c]
mov eax, dword [ecx]
test eax, eax
je 0x40d0f9
push eax
mov dword [esp + 0x24], 0x804001fc
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [esp + 0x64]
mov eax, dword [ecx]
test eax, eax
je 0x40d115
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x804001fc
call dword [eax + 8]
lea ecx, [esp + 0x80]
mov eax, dword [ecx]
test eax, eax
je 0x40d131
push eax
mov dword [esp + 0x24], 0x804001fc
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea edx, [esp + 0x88]
mov ecx, dword [edx]
cmp cx, 0x1b
setl al
and ecx, 0xa
cmp cx, 8
setne cl
and al, cl
jne 0x40d15d
push edx
mov dword [esp + 0x24], 0x804001fc
call fcn.005612fc
lea edx, [esp + 0x98]
mov ecx, dword [edx]
cmp cx, 0x1b
setl al
and ecx, 0xa
cmp cx, 8
setne cl
and al, cl
jne 0x40d189
push edx
mov dword [esp + 0x24], 0x804001fc
call fcn.005612fc
push dword [esp + 0x54]
lea eax, [esp + 0xc4]
mov eax, dword [eax]
mov edx, dword [esp]
mov dword [eax], edx
lea esp, [esp + 4]
push dword [esp + 0xb8]
push dword [esp]
mov eax, dword [esp]
test eax, eax
je 0x99da6b4e
mov eax, dword [eax]
mov dword [esp + 0x28], 0x808001fc
call dword [eax + 8]
lea esp, [esp + 4]
pop ecx
mov dword [ebp], ecx
pop eax
add esp, 0xa0
pop ebp
pop ebx
pop esi
ret 0xc
pop edx
pop edx
mov eax, 0x800a005b
push eax
push eax
push 0x15000
push 0x3c001f2
call fcn.00560734
pop edx
pop edx
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 8]
mov dword [ebp + 0x14], eax
mov eax, 0x564728
mov dword [ebp + 0x18], eax
push eax
push eax
push 0x94000
push 0x48001f6
jmp 0x40d1ea
add esp, 0xc
mov eax, 0x800a005b
jmp 0x40d203
pop edx
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 4]
mov dword [ebp + 0x14], eax
mov eax, 0x564718
mov dword [ebp + 0x18], eax
jmp 0x40d203
add esp, 0xc
mov eax, 0x800a005b
jmp 0x40d203
add esp, 0x18
push eax
push eax
push 0xcd000
push 0x92001f7
jmp 0x40d1ea
add esp, 0x10
mov eax, 0xeaeaea02
jmp 0x40d23d
pop edx
pop edx
mov eax, 0xeaeaea02
push eax
push eax
push 0x5f000
push 0xf8801f8
jmp 0x40d1ea
add esp, 0x20
push eax
push eax
push 0x102000
push 0x128001f9
call fcn.00560734
add esp, 0x18
mov eax, 0xeaeaea02
jmp 0x40d26d
pop edx
jmp 0x40d26d
add esp, 0x14
push eax
push eax
push 0x146000
push 0x1bd801fa
jmp 0x40d279
pop edx
jmp 0x40d28e