Function at 0x403990
Capabilities:
Check if file exists

Disassembly:
push 0xffffffffffffffff
push 0x43c8bb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x804
push ebx
mov ebx, ecx
push ebp
push esi
push edi
mov dword [esp + 0x10], ebx
mov dword [ebx], 0x441b40
mov eax, dword [ebx + 0x64]
mov ebp, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea esi, [ebx + 0x64]
mov dword [esp + 0x81c], 0
test eax, eax
je 0x403ac9
mov eax, dword [0x44fe90]
test eax, eax
je 0x4039f1
mov ecx, dword [0x44fe94]
test ecx, ecx
jne 0x403abc
lea eax, [esp + 0x14]
push 0x400
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [esp + 0x14]
push ecx
call ebp
mov eax, dword [0x44fe98]
xor edi, edi
test eax, eax
jle 0x403a26
lea edx, [esp + 0x14]
push edx
call ebp
mov eax, dword [0x44fe98]
inc edi
cmp edi, eax
jl 0x403a15
lea eax, [esp + 0x14]
push str.MiniUI.dll
lea ecx, [esp + 0x18]
push eax
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [esp + 0x14]
test edx, edx
je 0x403a76
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x403a7a
lea ecx, [esp + 0x14]
push ecx
call fcn.0043a2e0
add esp, 4
test eax, eax
jne 0x403a7a
call fcn.0043a1e0
lea edx, [esp + 0x14]
push eax
push edx
call fcn.0043a1f0
add esp, 8
xor eax, eax
jmp 0x403a85
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [0x44fe94], eax
je 0x403ac9
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [0x44fe90], eax
jne 0x403abc
mov ecx, dword [0x44fe94]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x44fe94], 0
jmp 0x403ac9
call eax
test eax, eax
je 0x403ac9
mov edx, dword [eax]
push esi
push eax
call dword [edx + 0x58]
mov eax, dword [ebx + 0x68]
lea edi, [ebx + 0x68]
test eax, eax
mov dword [esi], 0
je 0x403bcc
mov eax, dword [0x44fe90]
test eax, eax
je 0x403af4
mov ecx, dword [0x44fe94]
test ecx, ecx
jne 0x403bbf
lea eax, [esp + 0x14]
push 0x400
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [esp + 0x14]
push ecx
call ebp
mov eax, dword [0x44fe98]
xor esi, esi
test eax, eax
jle 0x403b29
lea edx, [esp + 0x14]
push edx
call ebp
mov eax, dword [0x44fe98]
inc esi
cmp esi, eax
jl 0x403b18
lea eax, [esp + 0x14]
push str.MiniUI.dll
lea ecx, [esp + 0x18]
push eax
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [esp + 0x14]
test edx, edx
je 0x403b79
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x403b7d
lea ecx, [esp + 0x14]
push ecx
call fcn.0043a2e0
add esp, 4
test eax, eax
jne 0x403b7d
call fcn.0043a1e0
lea edx, [esp + 0x14]
push eax
push edx
call fcn.0043a1f0
add esp, 8
xor eax, eax
jmp 0x403b88
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [0x44fe94], eax
je 0x403bcc
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [0x44fe90], eax
jne 0x403bbf
mov ecx, dword [0x44fe94]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x44fe94], 0
jmp 0x403bcc
call eax
test eax, eax
je 0x403bcc
mov edx, dword [eax]
push edi
push eax
call dword [edx + 0x58]
mov eax, dword [ebx + 0x60]
mov dword [edi], 0
lea edi, [ebx + 0x60]
test eax, eax
je 0x403ccf
mov eax, dword [0x44fe90]
test eax, eax
je 0x403bf7
mov ecx, dword [0x44fe94]
test ecx, ecx
jne 0x403cc2
lea eax, [esp + 0x14]
push 0x400
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [esp + 0x14]
push ecx
call ebp
mov eax, dword [0x44fe98]
xor esi, esi
test eax, eax
jle 0x403c2c
lea edx, [esp + 0x14]
push edx
call ebp
mov eax, dword [0x44fe98]
inc esi
cmp esi, eax
jl 0x403c1b
lea eax, [esp + 0x14]
push str.MiniUI.dll
lea ecx, [esp + 0x18]
push eax
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [esp + 0x14]
test edx, edx
je 0x403c7c
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x403c80
lea ecx, [esp + 0x14]
push ecx
call fcn.0043a2e0
add esp, 4
test eax, eax
jne 0x403c80
call fcn.0043a1e0
lea edx, [esp + 0x14]
push eax
push edx
call fcn.0043a1f0
add esp, 8
xor eax, eax
jmp 0x403c8b
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [0x44fe94], eax
je 0x403ccf
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [0x44fe90], eax
jne 0x403cc2
mov ecx, dword [0x44fe94]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x44fe94], 0
jmp 0x403ccf
call eax
test eax, eax
je 0x403ccf
mov edx, dword [eax]
push edi
push eax
call dword [edx + 0x58]
mov ecx, ebx
mov dword [edi], 0
mov dword [esp + 0x81c], 0xffffffff
call sub.MFC42u.DLL_CDialog::CDialog
mov ecx, dword [esp + 0x814]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x810
ret