Function at 0x40f8a0
Capabilities:
Check if file exists

Disassembly:
push 0xffffffffffffffff
push 0x45a260
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x800
push ebx
push esi
mov esi, dword [esp + 0x818]
xor ebx, ebx
cmp esi, ebx
mov dword [esp + 0x810], 1
jne 0x40f904
lea ecx, [esp + 0x81c]
mov byte [esp + 0x810], bl
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x820]
mov dword [esp + 0x810], 0xffffffff
call sub.MFC42u.DLL_CString::CString
jmp 0x40fc21
push ebp
lea eax, [esp + 0x820]
push edi
push eax
lea ecx, [esi + 8]
call sub.MFC42u.DLL_CString::operator
mov eax, dword [esi + 0x18]
mov ebp, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
cmp eax, ebx
jne 0x40f9d5
mov eax, dword [0x473260]
cmp eax, ebx
je 0x40f93c
cmp dword [0x4730e4], ebx
jne 0x40f9bf
lea ecx, [esp + 0x10]
push 0x400
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [esp + 0x10]
push edx
call ebp
mov eax, dword [0x4730e8]
xor edi, edi
cmp eax, ebx
jle 0x40f970
lea eax, [esp + 0x10]
push eax
call ebp
mov eax, dword [0x4730e8]
inc edi
cmp edi, eax
jl 0x40f95f
lea ecx, [esp + 0x10]
push str.MiniUI.dll
lea edx, [esp + 0x14]
push ecx
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [esp + 0x10]
push eax
call fcn.00401560
add esp, 4
test eax, eax
je 0x40f9a1
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [0x4730e4], eax
je 0x40f9d0
push str.GetMiniUI2
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [0x473260], eax
je 0x40f9d0
call eax
cmp eax, ebx
je 0x40f9d0
mov edx, dword [eax]
push eax
call dword [edx + 0x84]
jmp 0x40f9d2
xor eax, eax
mov dword [esi + 0x18], eax
mov ecx, dword [esi + 0x18]
cmp ecx, ebx
je 0x40f9e9
mov edx, dword [esp + 0x824]
mov eax, dword [ecx]
push edx
call dword [eax + 0x18]
mov eax, dword [esi + 0x1c]
lea edi, [esi + 0x1c]
cmp eax, ebx
jne 0x40fad8
mov eax, dword [0x4730e0]
cmp eax, ebx
je 0x40fa0c
cmp dword [0x4730e4], ebx
jne 0x40fb95
lea eax, [esp + 0x10]
push 0x400
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [esp + 0x10]
push ecx
call ebp
mov eax, dword [0x4730e8]
xor esi, esi
cmp eax, ebx
jle 0x40fa40
lea edx, [esp + 0x10]
push edx
call ebp
mov eax, dword [0x4730e8]
inc esi
cmp esi, eax
jl 0x40fa2f
lea eax, [esp + 0x10]
push str.MiniUI.dll
lea ecx, [esp + 0x14]
push eax
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [esp + 0x10]
test edx, edx
je 0x40fa90
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x40fa94
lea ecx, [esp + 0x10]
push ecx
call fcn.00456ce0
add esp, 4
test eax, eax
jne 0x40fa94
call fcn.00456be0
lea edx, [esp + 0x10]
push eax
push edx
call fcn.00456bf0
add esp, 8
xor eax, eax
jmp 0x40fa9f
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [0x4730e4], eax
je 0x40fad4
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [0x4730e0], eax
jne 0x40fb95
mov ecx, dword [0x4730e4]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x4730e4], ebx
xor eax, eax
mov dword [edi], eax
mov ecx, dword [edi]
cmp ecx, ebx
je 0x40fbf5
mov edx, dword [esp + 0x828]
mov eax, dword [ecx]
push ebx
push edx
call dword [eax + 0xc]
test eax, eax
jne 0x40fbf5
mov eax, dword [0x4730e0]
cmp eax, ebx
je 0x40fb0d
cmp dword [0x4730e4], ebx
jne 0x40fbe8
lea eax, [esp + 0x10]
push 0x400
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [esp + 0x10]
push ecx
call ebp
mov eax, dword [0x4730e8]
xor esi, esi
cmp eax, ebx
jle 0x40fb41
lea edx, [esp + 0x10]
push edx
call ebp
mov eax, dword [0x4730e8]
inc esi
cmp esi, eax
jl 0x40fb30
lea eax, [esp + 0x10]
push str.MiniUI.dll
lea ecx, [esp + 0x14]
push eax
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [esp + 0x10]
test edx, edx
je 0x40fb91
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x40fbaa
lea ecx, [esp + 0x10]
push ecx
call fcn.00456ce0
add esp, 4
test eax, eax
jne 0x40fbaa
call fcn.00456be0
lea edx, [esp + 0x10]
push eax
push edx
call fcn.00456bf0
add esp, 8
xor eax, eax
jmp 0x40fbb5
call eax
cmp eax, ebx
je 0x40fad4
mov edx, dword [eax]
push eax
call dword [edx + 0x54]
jmp 0x40fad6
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [0x4730e4], eax
je 0x40fbf5
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [0x4730e0], eax
jne 0x40fbe8
mov ecx, dword [0x4730e4]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x4730e4], ebx
jmp 0x40fbf5
call eax
cmp eax, ebx
je 0x40fbf5
mov edx, dword [eax]
push edi
push eax
call dword [edx + 0x58]
lea ecx, [esp + 0x824]
mov byte [esp + 0x818], bl
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x828]
mov dword [esp + 0x818], 0xffffffff
call sub.MFC42u.DLL_CString::CString
pop edi
pop ebp
mov ecx, dword [esp + 0x808]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x80c
ret 0x10