Function at 0x419990
Capabilities:
Check if file exists
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x43e8a6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc20
push ebx
push esi
push edi
lea ecx, [esp + 0xc]
mov dword [esp + 0x14], 0
call sub.MFC42u.DLL_CString::CString_4
mov eax, dword [0x44fe90]
mov ebx, 1
test eax, eax
mov dword [esp + 0xc34], ebx
je 0x4199e2
mov ecx, dword [0x44fe94]
test ecx, ecx
jne 0x419ab3
lea eax, [esp + 0x1c]
push 0x400
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea ecx, [esp + 0x1c]
push ecx
call edi
mov eax, dword [0x44fe98]
xor esi, esi
test eax, eax
jle 0x419a1d
lea edx, [esp + 0x1c]
push edx
call edi
mov eax, dword [0x44fe98]
inc esi
cmp esi, eax
jl 0x419a0c
lea eax, [esp + 0x1c]
push str.MiniUI.dll
lea ecx, [esp + 0x20]
push eax
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [esp + 0x1c]
test edx, edx
je 0x419a6d
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x419a71
lea ecx, [esp + 0x1c]
push ecx
call fcn.0043a2e0
add esp, 4
test eax, eax
jne 0x419a71
call fcn.0043a1e0
lea edx, [esp + 0x1c]
push eax
push edx
call fcn.0043a1f0
add esp, 8
xor eax, eax
jmp 0x419a7c
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [0x44fe94], eax
je 0x419ab9
push str.GetMiniUI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [0x44fe90], eax
jne 0x419ab3
mov ecx, dword [0x44fe94]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x44fe94], 0
jmp 0x419ab9
call eax
test eax, eax
jne 0x419ad5
mov esi, dword [esp + 0xc3c]
lea edx, [esp + 0xc]
push edx
mov ecx, esi
call sub.MFC42u.DLL_CString::CString_3
mov dword [esp + 0x14], ebx
jmp 0x419be8
mov ecx, dword [eax]
push eax
call dword [ecx + 0x6c]
mov esi, eax
test esi, esi
jne 0x419aeb
lea edx, [esp + 0xc]
push edx
jmp 0x419bd6
mov ax, word [0x44ffe8]
mov ecx, 0x103
mov word [esp + 0x81c], ax
xor eax, eax
lea edi, [esp + 0x81e]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x81c]
push ecx
push 0x208
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea edx, [esp + 0x81c]
lea ecx, [esp + 0xc]
push edx
call fcn.00439862
push str.softmgr.png
lea ecx, [esp + 0x14]
call fcn.004398ec
lea eax, [esp + 0x10]
lea ecx, [esp + 0xc]
push eax
mov byte [esp + 0xc38], 2
call fcn.004398ce
lea ecx, [esp + 0x10]
mov byte [esp + 0xc34], 1
call sub.MFC42u.DLL_CString::CString
cmp dword [esp + 0xc40], ebx
jne 0x419bd1
lea ecx, [esp + 0x18]
push ecx
call fcn.0042ad60
add esp, 4
push str.MainFrameico_softmgr.png
lea edx, [esp + 0x14]
mov bl, 3
push eax
push edx
mov byte [esp + 0xc40], bl
call sub.MFC42u.DLL_operator_1
mov edx, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [esi]
push edx
push eax
push 0
push esi
mov byte [esp + 0xc44], 4
call dword [ecx + 0x18]
lea ecx, [esp + 0x10]
mov byte [esp + 0xc34], bl
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0xc34], 1
call sub.MFC42u.DLL_CString::CString
mov ebx, 1
lea eax, [esp + 0xc]
push eax
mov esi, dword [esp + 0xc40]
mov ecx, esi
call sub.MFC42u.DLL_CString::CString_3
mov dword [esp + 0x14], ebx
lea ecx, [esp + 0xc]
mov byte [esp + 0xc34], 0
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [esp + 0xc2c]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0xc2c
ret 8