Function at 0x402329
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov eax, 0x40ab73
call fcn.00409d50
sub esp, 0x10c
push esi
mov esi, ecx
mov dword [ebp - 0x20], esi
cmp dword [esi + 0x44], 0xffffffff
jne 0x4025c6
push ebx
push edi
mov edi, 0x80000001
push 1
xor ebx, ebx
push edi
push str.SoftwareMicrosoftOfficeExcelAddInsLockXLSRuntime.Connect
lea ecx, [ebp - 0x88]
mov dword [esi + 0x44], ebx
call fcn.0040216c
cmp dword [ebp - 0x88], ebx
mov dword [ebp - 4], ebx
je 0x4025af
push 4
mov esi, str.LoadBehavior
pop eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push esi
push dword [ebp - 0x88]
call dword [ebp - 0x78]
cmp dword [ebp - 0x14], 3
jne 0x4025ac
push 1
push edi
push str.SoftwareMicrosoftVBAVBE6.0AddinsLockXLSRuntime.ConnectVBE
lea ecx, [ebp - 0x64]
call fcn.0040216c
cmp dword [ebp - 0x64], ebx
mov byte [ebp - 4], 1
je 0x40259e
push 4
mov dword [ebp - 0x14], ebx
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
push ebx
push esi
push dword [ebp - 0x64]
call dword [ebp - 0x54]
cmp dword [ebp - 0x14], 3
jne 0x40259e
mov esi, 0x80000000
push 1
push esi
push str.LockXLSRuntime.Connect
lea ecx, [ebp - 0x118]
call fcn.0040216c
cmp dword [ebp - 0x118], ebx
mov byte [ebp - 4], 2
je 0x402586
push 1
push esi
push str.LockXLSRuntime.ConnectVBE
lea ecx, [ebp - 0xf4]
call fcn.0040216c
cmp dword [ebp - 0xf4], ebx
mov byte [ebp - 4], 3
je 0x40256e
push 1
push esi
push str.CLSID36CFCB02_788B_41D9_A9A6_FCBCEC7FF987InprocServer32
lea ecx, [ebp - 0xd0]
call fcn.0040216c
mov al, byte [ebp - 0xd]
push ebx
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 4
mov byte [ebp - 0x30], al
call fcn.004010d6
mov al, byte [ebp - 0xd]
push ebx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 5
mov byte [ebp - 0x40], al
call fcn.004010d6
cmp dword [ebp - 0xd0], ebx
mov byte [ebp - 4], 6
je 0x40253a
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0xd0]
push eax
push 0x4112d0
call fcn.0040223a
test eax, eax
je 0x40253a
cmp dword [ebp - 0x28], ebx
je 0x40253a
mov eax, dword [ebp - 0x2c]
mov edi, 0x40c1bc
cmp eax, ebx
jne 0x4024b7
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x40253a
push 1
push esi
push str.CLSID14C61EBA_0397_43f8_9D4B_11AE1E53DE32InprocServer32
lea ecx, [ebp - 0xac]
call fcn.0040216c
cmp dword [ebp - 0xac], ebx
mov byte [ebp - 4], 7
je 0x402522
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0xac]
push eax
push 0x4112d0
call fcn.0040223a
test eax, eax
je 0x402522
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
jne 0x402503
mov eax, edi
cmp dword [ebp - 0x3c], ebx
je 0x40250b
mov edi, dword [ebp - 0x3c]
push eax
push edi
call sub.MSVCRT.dll__mbsicmp
pop ecx
test eax, eax
pop ecx
jne 0x402522
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x44], 1
cmp dword [ebp - 0xac], ebx
mov byte [ebp - 4], 6
je 0x40253a
push dword [ebp - 0xac]
call dword [ebp - 0xa0]
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 5
call fcn.004010d6
push 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 4
call fcn.004010d6
cmp dword [ebp - 0xd0], ebx
mov byte [ebp - 4], 3
je 0x40256e
push dword [ebp - 0xd0]
call dword [ebp - 0xc4]
cmp dword [ebp - 0xf4], ebx
mov byte [ebp - 4], 2
je 0x402586
push dword [ebp - 0xf4]
call dword [ebp - 0xe8]
cmp dword [ebp - 0x118], ebx
mov byte [ebp - 4], 1
je 0x40259e
push dword [ebp - 0x118]
call dword [ebp - 0x10c]
cmp dword [ebp - 0x64], ebx
mov byte [ebp - 4], bl
je 0x4025ac
push dword [ebp - 0x64]
call dword [ebp - 0x58]
mov esi, dword [ebp - 0x20]
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x88], ebx
pop edi
pop ebx
je 0x4025c6
push dword [ebp - 0x88]
call dword [ebp - 0x7c]
mov ecx, dword [ebp - 0xc]
xor eax, eax
cmp dword [esi + 0x44], 1
pop esi
mov dword fs:[0], ecx
sete al
leave
ret