Function at 0x418ed3
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push 0x403486
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x8c
push ebx
push esi
push edi
mov dword [ebp - 0xc], esp
mov dword [ebp - 8], 0x401948
mov edx, dword [ebp + 8]
xor ebx, ebx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x94], ebx
call sub.MSVBVM60.DLL___vbaStrCopy
push dword [ebp - 0x28]
call sub.SHLWAPI.DLL_PathFileExistsW
test eax, eax
je 0x41923c
push 0xa
pop esi
lea eax, [ebp - 0x4c]
mov edi, 0x80020004
push eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x4c], esi
call sub.MSVBVM60.DLL_rtcFreeFile
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x2c], eax
call sub.MSVBVM60.DLL___vbaFreeVar
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push 0xffffffffffffffff
push 0x4120
call sub.MSVBVM60.DLL___vbaFileOpen
push dword [ebp - 0x2c]
call sub.MSVBVM60.DLL_rtcFileLength
cmp eax, ebx
mov dword [ebp - 0x1c], eax
je 0x419217
push eax
call sub.MSVBVM60.DLL_rtcSpaceBstr
mov edx, eax
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaStrMove
push dword [ebp - 0x2c]
lea eax, [ebp - 0x24]
push 1
push eax
push ebx
call sub.MSVBVM60.DLL___vbaGet4
cmp dword [ebp - 0x1c], 2
jle 0x4191b3
lea eax, [ebp - 0x88]
push eax
push dword [ebp - 0x24]
call sub.MSVBVM60.DLL_VarPtr_1
push eax
call sub.MSVBVM60.DLL_GetMem4_1
cmp eax, ebx
jge 0x418fe7
push eax
call sub.MSVBVM60.DLL___vbaHresultCheck
cmp dword [ebp - 0x88], 0x3d003d
jne 0x4191b3
mov eax, dword [0x44804c]
mov ecx, dword [eax]
lea edx, [ebp - 0x3c]
push edx
push eax
call dword [ecx + 0x2c]
fnclex
cmp eax, ebx
jge 0x41901f
push 0x2c
push 0x40a00c
push dword [0x44804c]
push eax
call sub.MSVBVM60.DLL___vbaHresultCheckObj
mov ebx, 0x40aa44
push ebx
push dword [ebp - 0x3c]
call sub.MSVBVM60.DLL___vbaCastObj
push eax
lea eax, [ebp - 0x18]
push eax
call sub.MSVBVM60.DLL___vbaObjSet
lea ecx, [ebp - 0x3c]
call sub.MSVBVM60.DLL___vbaFreeObj
lea eax, [ebp - 0x4c]
push eax
push 3
push dword [ebp - 0x24]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x4c], esi
call sub.MSVBVM60.DLL_rtcMidCharBstr
mov edx, eax
lea ecx, [ebp - 0x38]
call sub.MSVBVM60.DLL___vbaStrMove
mov edx, dword [ebp - 0x38]
and dword [ebp - 0x38], 0
lea ecx, [ebp - 0x34]
call sub.MSVBVM60.DLL___vbaStrMove
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
lea edx, [ebp - 0x5c]
push edx
push 0xffffffffffffffff
lea edx, [ebp - 0x34]
push edx
push eax
call dword [ecx + 0x8c]
fnclex
test eax, eax
jge 0x419097
push 0x8c
push ebx
push dword [ebp - 0x18]
push eax
call sub.MSVBVM60.DLL___vbaHresultCheckObj
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x60]
push eax
call sub.MSVBVM60.DLL___vbaVar2Vec
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x20]
push eax
call sub.MSVBVM60.DLL___vbaAryMove
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x34]
push eax
push 2
call sub.MSVBVM60.DLL___vbaFreeStrList
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x4c]
push eax
push 2
call sub.MSVBVM60.DLL___vbaFreeVarList
add esp, 0x18
push 0x4a2d
push 0x5254abb
push 0x5b82e3e5
call fcn.004094f4
mov edx, eax
lea ecx, [ebp - 0x34]
call sub.MSVBVM60.DLL___vbaStrMove
call sub.MSVBVM60.DLL___vbaSetSystemError
push dword [ebp - 0x34]
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x5c], esi
call sub.MSVBVM60.DLL___vbaStrToUnicode
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x70], 8
call sub.MSVBVM60.DLL___vbaVarDup
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
lea edx, [ebp - 0x84]
push edx
push 0xffffffffffffffff
lea edx, [ebp - 0x5c]
push edx
push 0x100
lea edx, [ebp - 0x4c]
push edx
lea edx, [ebp - 0x20]
push edx
push eax
call dword [ecx + 0xb0]
fnclex
test eax, eax
jge 0x419157
push 0xb0
push ebx
push dword [ebp - 0x18]
push eax
call sub.MSVBVM60.DLL___vbaHresultCheckObj
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x34]
push eax
push 2
call sub.MSVBVM60.DLL___vbaFreeStrList
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x4c]
push eax
push 2
call sub.MSVBVM60.DLL___vbaFreeVarList
add esp, 0x18
push 0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x68], eax
push 0x40
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x4c]
push eax
mov dword [ebp - 0x70], 0x6011
call sub.MSVBVM60.DLL_rtcStrConvVar2
lea eax, [ebp - 0x4c]
push eax
call sub.MSVBVM60.DLL___vbaStrVarMove
mov edx, eax
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaStrMove
lea ecx, [ebp - 0x4c]
call sub.MSVBVM60.DLL___vbaFreeVar
xor ebx, ebx
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x68], 0x40a884
mov dword [ebp - 0x70], 8
call sub.MSVBVM60.DLL___vbaVarDup
push ebx
push 0xffffffffffffffff
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x24]
lea eax, [ebp - 0x5c]
push eax
call sub.MSVBVM60.DLL_rtcSplit
lea eax, [ebp - 0x5c]
push eax
push 0x2008
call sub.MSVBVM60.DLL___vbaAryVar
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x30]
push eax
call sub.MSVBVM60.DLL___vbaAryCopy
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x4c]
push eax
push 2
call sub.MSVBVM60.DLL___vbaFreeVarList
add esp, 0xc
jmp 0x419232
call fcn.00418e82
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x30]
push eax
call sub.MSVBVM60.DLL___vbaAryMove
push dword [ebp - 0x2c]
call sub.MSVBVM60.DLL___vbaFileClose
jmp 0x419257
call fcn.00418e82
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x30]
push eax
call sub.MSVBVM60.DLL___vbaAryMove
push 0x4192e6
jmp 0x4192a7
lea eax, [ebp - 0x90]
push eax
xor esi, esi
push esi
call sub.MSVBVM60.DLL___vbaAryDestruct
lea eax, [ebp - 0x94]
push eax
push esi
call sub.MSVBVM60.DLL___vbaAryDestruct
lea ecx, [ebp - 0x18]
call sub.MSVBVM60.DLL___vbaFreeObj
lea eax, [ebp - 0x20]
push eax
push esi
call sub.MSVBVM60.DLL___vbaAryDestruct
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaFreeStr
lea ecx, [ebp - 0x28]
call sub.MSVBVM60.DLL___vbaFreeStr
ret