Function at 0x417920
Capabilities:
Check if file exists

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x45aac9
push eax
mov eax, 0x181c
mov dword fs:[0], esp
call fcn.00456620
push ebx
push ebp
push esi
push edi
mov ebp, ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x1834], 2
call sub.MFC42u.DLL_CString::CString_4
lea ecx, [esp + 0x14]
mov byte [esp + 0x1834], 3
call sub.MFC42u.DLL_CString::CString_4
lea eax, [esp + 0x183c]
lea ecx, [esp + 0x10]
push eax
mov byte [esp + 0x1838], 4
call sub.MFC42u.DLL_CString::operator
mov edx, dword [esp + 0x10]
xor ebx, ebx
cmp edx, ebx
mov esi, edx
je 0x417a8e
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x2c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x2c]
test ecx, ecx
je 0x417a8e
mov ecx, 0x400
lea edi, [esp + 0x82c]
rep stosd dword es:[edi], eax
push edx
mov word [esp + 0x30], bx
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
je 0x417a17
lea edx, [esp + 0x82c]
push 0x800
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x82c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea ecx, [esp + 0x82c]
push esi
lea edx, [esp + 0x830]
push ecx
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [esp + 0x82c]
push 0x400
lea ecx, [esp + 0x30]
push eax
push ecx
jmp 0x417a22
push 0x400
lea edx, [esp + 0x30]
push esi
push edx
call dword [sym.imp.MSVCRT.dll_wcsncpy]
add esp, 0xc
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, ebx
je 0x417a8e
mov edi, dword [ebp + 0xf8]
lea ecx, [esp + 0x183c]
lea esi, [ebp + 0xf4]
push ecx
mov ecx, esi
call fcn.0041cd60
mov ecx, dword [esi + 4]
mov dword [esp + 0x1c], eax
cmp eax, ecx
je 0x417a7f
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x183c]
push eax
push edx
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
cmp eax, ebx
jl 0x417a7f
lea eax, [esp + 0x1c]
jmp 0x417a8a
mov eax, dword [esi + 4]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
cmp dword [eax], edi
je 0x417abd
lea ecx, [esp + 0x14]
mov byte [esp + 0x1834], 3
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x1834], 2
call sub.MFC42u.DLL_CString::CString
mov byte [esp + 0x1834], 1
jmp 0x417b6a
lea eax, [esp + 0x183c]
lea ecx, [esp + 0x1c]
push eax
call fcn.004562c0
mov dword [esp + 0x20], ebx
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x24]
push ecx
push edx
mov ecx, esi
mov byte [esp + 0x183c], 5
call fcn.0041a3d0
mov esi, dword [esp + 0x24]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1834], 4
call sub.MFC42u.DLL_CString::CString
push ecx
lea eax, [esp + 0x1844]
mov ebx, 1
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
mov dword [esi + 0x10], ebx
call fcn.004562c0
mov ecx, 0x473130
call fcn.00405620
test eax, eax
je 0x417b41
lea ecx, [esp + 0x1844]
lea edx, [esp + 0x183c]
push ecx
push edx
mov ecx, ebp
call fcn.00418670
lea ecx, [esp + 0x14]
mov byte [esp + 0x1834], 3
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x1834], 2
call sub.MFC42u.DLL_CString::CString
mov byte [esp + 0x1834], bl
lea ecx, [esp + 0x183c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1840]
mov byte [esp + 0x1834], 0
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1844]
mov dword [esp + 0x1834], 0xffffffff
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [esp + 0x182c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x1828
ret 0xc