Function at 0x40ec00
Capabilities:
Check if file exists
Link many functions at runtime

Disassembly:
mov eax, dword [0x468c8c]
sub esp, 0x800
push ebx
push ebp
xor ebx, ebx
push esi
push edi
mov edi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
cmp eax, ebx
jne 0x40ecf6
mov eax, dword [0x468ad4]
cmp eax, ebx
je 0x40ec34
cmp dword [0x468ad8], ebx
jne 0x40ecdd
lea eax, [esp + 0x10]
push 0x400
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [esp + 0x10]
push ecx
call edi
mov eax, dword [0x468adc]
xor esi, esi
cmp eax, ebx
jle 0x40ec68
lea edx, [esp + 0x10]
push edx
call edi
mov eax, dword [0x468adc]
inc esi
cmp esi, eax
jl 0x40ec57
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]
push edx
call fcn.00407f40
add esp, 4
test eax, eax
je 0x40ec99
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [0x468ad8], eax
je 0x40ecca
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [0x468ad4], eax
jne 0x40ecdd
mov ecx, dword [0x468ad8]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x468ad8], ebx
pop edi
pop esi
mov dword [0x468c8c], ebx
pop ebp
pop ebx
add esp, 0x800
ret 0x18
call eax
cmp eax, ebx
je 0x40ecca
mov edx, dword [eax]
push eax
call dword [edx + 0x54]
cmp eax, ebx
mov dword [0x468c8c], eax
je 0x40f141
mov ecx, dword [esp + 0x814]
mov ebp, dword [esp + 0x828]
mov edx, dword [eax]
push ebx
and ecx, 0xffff
push ebp
push ecx
push ebx
mov ecx, eax
call dword [edx + 0x1c]
mov eax, dword [0x468c80]
cmp eax, ebx
jne 0x40edf8
mov eax, dword [0x468ad4]
cmp eax, ebx
je 0x40ed37
cmp dword [0x468ad8], ebx
jne 0x40eddf
lea edx, [esp + 0x10]
push 0x400
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x10]
push eax
call edi
mov eax, dword [0x468adc]
xor esi, esi
cmp eax, ebx
jle 0x40ed6b
lea ecx, [esp + 0x10]
push ecx
call edi
mov eax, dword [0x468adc]
inc esi
cmp esi, eax
jl 0x40ed5a
lea edx, [esp + 0x10]
push str.MiniUI.dll
lea eax, [esp + 0x14]
push edx
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea ecx, [esp + 0x10]
push ecx
call fcn.00407f40
add esp, 4
test eax, eax
je 0x40ed9c
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [0x468ad8], eax
je 0x40edcc
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [0x468ad4], eax
jne 0x40eddf
mov eax, dword [0x468ad8]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x468ad8], ebx
pop edi
pop esi
mov dword [0x468c80], ebx
pop ebp
pop ebx
add esp, 0x800
ret 0x18
call eax
cmp eax, ebx
je 0x40edcc
mov ecx, dword [eax]
push eax
call dword [ecx + 0x54]
cmp eax, ebx
mov dword [0x468c80], eax
je 0x40f141
mov ecx, dword [esp + 0x81c]
mov edx, dword [eax]
push ebx
and ecx, 0xffff
push ebp
push ecx
push ebx
mov ecx, eax
call dword [edx + 0x1c]
mov eax, dword [0x468c84]
cmp eax, ebx
jne 0x40eef3
mov eax, dword [0x468ad4]
cmp eax, ebx
je 0x40ee32
cmp dword [0x468ad8], ebx
jne 0x40eeda
lea edx, [esp + 0x10]
push 0x400
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x10]
push eax
call edi
mov eax, dword [0x468adc]
xor esi, esi
cmp eax, ebx
jle 0x40ee66
lea ecx, [esp + 0x10]
push ecx
call edi
mov eax, dword [0x468adc]
inc esi
cmp esi, eax
jl 0x40ee55
lea edx, [esp + 0x10]
push str.MiniUI.dll
lea eax, [esp + 0x14]
push edx
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea ecx, [esp + 0x10]
push ecx
call fcn.00407f40
add esp, 4
test eax, eax
je 0x40ee97
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [0x468ad8], eax
je 0x40eec7
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [0x468ad4], eax
jne 0x40eeda
mov eax, dword [0x468ad8]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x468ad8], ebx
pop edi
pop esi
mov dword [0x468c84], ebx
pop ebp
pop ebx
add esp, 0x800
ret 0x18
call eax
cmp eax, ebx
je 0x40eec7
mov ecx, dword [eax]
push eax
call dword [ecx + 0x54]
cmp eax, ebx
mov dword [0x468c84], eax
je 0x40f141
mov ecx, dword [esp + 0x824]
mov edx, dword [eax]
push ebx
and ecx, 0xffff
push ebp
push ecx
push ebx
mov ecx, eax
call dword [edx + 0x1c]
mov eax, dword [0x468c88]
cmp eax, ebx
jne 0x40efee
mov eax, dword [0x468ad4]
cmp eax, ebx
je 0x40ef2d
cmp dword [0x468ad8], ebx
jne 0x40efd5
lea edx, [esp + 0x10]
push 0x400
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x10]
push eax
call edi
mov eax, dword [0x468adc]
xor esi, esi
cmp eax, ebx
jle 0x40ef61
lea ecx, [esp + 0x10]
push ecx
call edi
mov eax, dword [0x468adc]
inc esi
cmp esi, eax
jl 0x40ef50
lea edx, [esp + 0x10]
push str.MiniUI.dll
lea eax, [esp + 0x14]
push edx
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea ecx, [esp + 0x10]
push ecx
call fcn.00407f40
add esp, 4
test eax, eax
je 0x40ef92
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [0x468ad8], eax
je 0x40efc2
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [0x468ad4], eax
jne 0x40efd5
mov eax, dword [0x468ad8]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x468ad8], ebx
pop edi
pop esi
mov dword [0x468c88], ebx
pop ebp
pop ebx
add esp, 0x800
ret 0x18
call eax
cmp eax, ebx
je 0x40efc2
mov ecx, dword [eax]
push eax
call dword [ecx + 0x54]
cmp eax, ebx
mov dword [0x468c88], eax
je 0x40f141
mov ecx, dword [esp + 0x818]
mov edx, dword [eax]
push ebx
and ecx, 0xffff
push ebp
push ecx
push ebx
mov ecx, eax
call dword [edx + 0x1c]
mov eax, dword [0x468c94]
cmp eax, ebx
jne 0x40f129
mov eax, dword [0x468ad4]
cmp eax, ebx
je 0x40f028
cmp dword [0x468ad8], ebx
jne 0x40f114
lea edx, [esp + 0x10]
push 0x400
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x10]
push eax
call edi
mov eax, dword [0x468adc]
xor esi, esi
cmp eax, ebx
jle 0x40f05c
lea ecx, [esp + 0x10]
push ecx
call edi
mov eax, dword [0x468adc]
inc esi
cmp esi, eax
jl 0x40f04b
lea edx, [esp + 0x10]
push str.MiniUI.dll
lea eax, [esp + 0x14]
push edx
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.004026a0
add esp, 8
test eax, eax
jne 0x40f0c6
lea ecx, [esp + 0x10]
test ecx, ecx
je 0x40f0c2
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x40f0c6
lea eax, [esp + 0x10]
push eax
call fcn.00401e30
add esp, 4
test eax, eax
jne 0x40f0c6
push 1
call fcn.004568c0
lea ecx, [esp + 0x14]
push eax
push ecx
call fcn.00456b50
add esp, 0xc
xor eax, eax
jmp 0x40f0d1
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [0x468ad8], eax
je 0x40f101
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [0x468ad4], eax
jne 0x40f114
mov eax, dword [0x468ad8]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x468ad8], ebx
pop edi
pop esi
mov dword [0x468c94], ebx
pop ebp
pop ebx
add esp, 0x800
ret 0x18
call eax
cmp eax, ebx
je 0x40f101
mov ecx, dword [eax]
push eax
call dword [ecx + 0x54]
cmp eax, ebx
mov dword [0x468c94], eax
je 0x40f141
mov ecx, dword [esp + 0x820]
mov edx, dword [eax]
push ebx
and ecx, 0xffff
push ebp
push ecx
push ebx
mov ecx, eax
call dword [edx + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x800
ret 0x18