Function at 0x418870
Capabilities:
Check if file exists

Disassembly:
sub esp, 0x804
mov eax, dword [0x4730e0]
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push esi
push edi
mov edi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
mov dword [esp + 0xc], 0
je 0x4188a4
mov ecx, dword [0x4730e4]
test ecx, ecx
jne 0x418977
lea eax, [esp + 0x10]
push 0x400
push eax
push 0
call ebp
lea ecx, [esp + 0x10]
push ecx
call edi
mov eax, dword [0x4730e8]
xor esi, esi
test eax, eax
jle 0x4188d5
lea edx, [esp + 0x10]
push edx
call edi
mov eax, dword [0x4730e8]
inc esi
cmp esi, eax
jl 0x4188c4
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 0x418925
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x418929
lea ecx, [esp + 0x10]
push ecx
call fcn.00456ce0
add esp, 4
test eax, eax
jne 0x418929
call fcn.00456be0
lea edx, [esp + 0x10]
push eax
push edx
call fcn.00456bf0
add esp, 8
xor eax, eax
jmp 0x418934
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [0x4730e4], eax
je 0x41898b
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [0x4730e0], eax
jne 0x418977
mov ecx, dword [0x4730e4]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
mov dword [0x4730e4], 0
xor eax, eax
pop ebp
add esp, 0x804
ret 4
call eax
test eax, eax
je 0x41898b
mov edx, dword [eax]
push eax
call dword [edx + 0x54]
test eax, eax
mov dword [esp + 0xc], eax
jne 0x418999
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x804
ret 4
mov ecx, dword [esp + 0x814]
mov edx, dword [eax]
push 0
mov ecx, dword [ecx]
push ecx
mov ecx, eax
call dword [edx + 0xc]
test eax, eax
jne 0x418ab1
mov eax, dword [0x4730e0]
test eax, eax
je 0x4189cb
mov ecx, dword [0x4730e4]
test ecx, ecx
jne 0x418aa0
lea eax, [esp + 0x10]
push 0x400
push eax
push 0
call ebp
lea ecx, [esp + 0x10]
push ecx
call edi
mov eax, dword [0x4730e8]
xor esi, esi
test eax, eax
jle 0x4189fc
lea edx, [esp + 0x10]
push edx
call edi
mov eax, dword [0x4730e8]
inc esi
cmp esi, eax
jl 0x4189eb
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 0x418a4c
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x418a50
lea ecx, [esp + 0x10]
push ecx
call fcn.00456ce0
add esp, 4
test eax, eax
jne 0x418a50
call fcn.00456be0
lea edx, [esp + 0x10]
push eax
push edx
call fcn.00456bf0
add esp, 8
xor eax, eax
jmp 0x418a5b
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [0x4730e4], eax
je 0x418ab1
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [0x4730e0], eax
jne 0x418aa0
mov ecx, dword [0x4730e4]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [esp + 0xc]
pop edi
pop esi
mov dword [0x4730e4], 0
pop ebp
add esp, 0x804
ret 4
call eax
test eax, eax
je 0x418ab1
mov edx, dword [eax]
lea ecx, [esp + 0xc]
push ecx
push eax
call dword [edx + 0x58]
mov eax, dword [esp + 0xc]
pop edi
pop esi
pop ebp
add esp, 0x804
ret 4