Function at 0x446370
Capabilities:
Check if file exists

Disassembly:
sub esp, 0x800
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ebx, ebx
cmp dword [edi + 0x74], ebx
jne 0x446456
mov eax, dword [0x468ad4]
cmp eax, ebx
je 0x44639c
cmp dword [0x468ad8], ebx
jne 0x44643f
lea eax, [esp + 0x10]
push 0x400
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ebp, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea ecx, [esp + 0x10]
push ecx
call ebp
mov eax, dword [0x468adc]
xor esi, esi
cmp eax, ebx
jle 0x4463d6
lea edx, [esp + 0x10]
push edx
call ebp
mov eax, dword [0x468adc]
inc esi
cmp esi, eax
jl 0x4463c5
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 0x446407
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [0x468ad8], eax
je 0x446438
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [0x468ad4], eax
jne 0x446445
mov ecx, dword [0x468ad8]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x468ad8], ebx
xor eax, eax
mov dword [edi + 0x74], eax
jmp 0x44645c
mov ebp, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
call eax
cmp eax, ebx
je 0x446438
mov edx, dword [eax]
push eax
call dword [edx + 0x54]
mov dword [edi + 0x74], eax
jmp 0x44645c
mov ebp, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov ecx, dword [edi + 0x74]
cmp ecx, ebx
je 0x446803
mov edx, dword [esp + 0x824]
mov eax, dword [ecx]
push 0x1a
push edx
mov edx, dword [esp + 0x81c]
and edx, 0xffff
push edx
push ebx
call dword [eax + 0x1c]
cmp dword [edi + 0x78], ebx
jne 0x446542
mov eax, dword [0x468ad4]
cmp eax, ebx
je 0x4464a3
cmp dword [0x468ad8], ebx
jne 0x446636
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 [0x468adc]
xor esi, esi
cmp eax, ebx
jle 0x4464d7
lea edx, [esp + 0x10]
push edx
call ebp
mov eax, dword [0x468adc]
inc esi
cmp esi, eax
jl 0x4464c6
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 0x446508
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [0x468ad8], eax
je 0x44653d
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [0x468ad4], eax
jne 0x446636
mov ecx, dword [0x468ad8]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x468ad8], ebx
xor eax, eax
mov dword [edi + 0x78], eax
mov ecx, dword [edi + 0x78]
cmp ecx, ebx
je 0x446803
mov edx, dword [esp + 0x824]
mov eax, dword [ecx]
push 0x1a
push edx
mov edx, dword [esp + 0x820]
and edx, 0xffff
push edx
push ebx
call dword [eax + 0x1c]
mov eax, dword [edi + 0xa0]
mov ebp, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp eax, ebx
jne 0x446693
mov eax, dword [0x468ad4]
cmp eax, ebx
je 0x446594
cmp dword [0x468ad8], ebx
jne 0x446782
lea eax, [esp + 0x10]
push 0x400
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov eax, dword [0x468adc]
xor esi, esi
cmp eax, ebx
jle 0x4465d0
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov eax, dword [0x468adc]
inc esi
cmp esi, eax
jl 0x4465bb
lea eax, [esp + 0x10]
push str.MiniUI.dll
lea ecx, [esp + 0x14]
push eax
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push ebx
call ebp
push eax
call fcn.004026a0
add esp, 8
test eax, eax
jne 0x44664b
lea edx, [esp + 0x10]
test edx, edx
je 0x446632
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x44664b
lea ecx, [esp + 0x10]
push ecx
call fcn.00401e30
add esp, 4
test eax, eax
jne 0x44664b
push 1
call fcn.004568c0
lea edx, [esp + 0x14]
push eax
push edx
call fcn.00456b50
add esp, 0xc
xor eax, eax
jmp 0x446656
call eax
cmp eax, ebx
je 0x44653d
mov edx, dword [eax]
push eax
call dword [edx + 0x54]
jmp 0x44653f
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [0x468ad8], eax
je 0x44668b
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [0x468ad4], eax
jne 0x446782
mov ecx, dword [0x468ad8]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x468ad8], ebx
xor eax, eax
mov dword [edi + 0xa0], eax
mov ecx, dword [edi + 0xa0]
cmp ecx, ebx
je 0x446803
mov edx, dword [esp + 0x824]
mov eax, dword [ecx]
push 0x1a
push edx
mov edx, dword [esp + 0x824]
and edx, 0xffff
push edx
push ebx
call dword [eax + 0x1c]
cmp dword [edi + 0x9c], ebx
jne 0x4467db
mov eax, dword [0x468ad4]
cmp eax, ebx
je 0x4466e0
cmp dword [0x468ad8], ebx
jne 0x446810
lea eax, [esp + 0x10]
push 0x400
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov eax, dword [0x468adc]
xor esi, esi
cmp eax, ebx
jle 0x44671c
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov eax, dword [0x468adc]
inc esi
cmp esi, eax
jl 0x446707
lea eax, [esp + 0x10]
push str.MiniUI.dll
lea ecx, [esp + 0x14]
push eax
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push ebx
call ebp
push eax
call fcn.004026a0
add esp, 8
test eax, eax
jne 0x446797
lea edx, [esp + 0x10]
test edx, edx
je 0x44677e
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x446797
lea ecx, [esp + 0x10]
push ecx
call fcn.00401e30
add esp, 4
test eax, eax
jne 0x446797
push 1
call fcn.004568c0
lea edx, [esp + 0x14]
push eax
push edx
call fcn.00456b50
add esp, 0xc
xor eax, eax
jmp 0x4467a2
call eax
cmp eax, ebx
je 0x44668b
mov edx, dword [eax]
push eax
call dword [edx + 0x54]
jmp 0x44668d
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [0x468ad8], eax
je 0x4467d3
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [0x468ad4], eax
jne 0x446810
mov ecx, dword [0x468ad8]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x468ad8], ebx
xor eax, eax
mov dword [edi + 0x9c], eax
mov ecx, dword [edi + 0x9c]
cmp ecx, ebx
je 0x446803
mov edx, dword [esp + 0x824]
mov eax, dword [ecx]
push 0x2d
push edx
mov edx, dword [esp + 0x828]
and edx, 0xffff
push edx
push ebx
call dword [eax + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x800
ret 0x14
call eax
cmp eax, ebx
je 0x4467d3
mov edx, dword [eax]
push eax
call dword [edx + 0x54]
jmp 0x4467d5