Function at 0x485560
Capabilities:
Get common file path
Get program files directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4aa531
mov eax, dword fs:[0]
push eax
sub esp, 0x218
mov eax, dword [0x4e3074]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x224], ecx
push 0x20a
push 0
lea eax, [ebp - 0x21c]
push eax
call fcn.00456880
add esp, 0xc
push 0
push 0x26
lea ecx, [ebp - 0x21c]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea edx, [ebp - 0x21c]
push edx
push str.prog
mov ecx, dword [ebp + 8]
call fcn.00409a70
lea eax, [ebp - 0x21c]
push eax
call sym.Install_silent.exe_int___cdecl_GetDesktopPath_wchar_t__
add esp, 4
lea ecx, [ebp - 0x21c]
push ecx
push str.desktop
mov ecx, dword [ebp + 8]
call fcn.00409a70
lea edx, [ebp - 0x21c]
push edx
call sym.Install_silent.exe_int___cdecl_GetProgramsPath_wchar_t__
add esp, 4
push 0x4c5a50
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov ecx, dword [ebp - 0x224]
add ecx, 0xd08
push ecx
lea edx, [ebp - 0x21c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x21c]
push eax
push 0x4c5a54
mov ecx, dword [ebp + 8]
call fcn.00409a70
mov ecx, dword [ebp - 0x224]
add ecx, 0x16b0
call sym.Install_silent.exe_public:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
push str.myapp
mov ecx, dword [ebp + 8]
call fcn.00409a70
push 0
push 0x1c
lea ecx, [ebp - 0x21c]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea edx, [ebp - 0x21c]
push edx
push str.appdata
mov ecx, dword [ebp + 8]
call fcn.00409a70
call sym.Install_silent.exe_int___cdecl_isSys64_void_
test eax, eax
je 0x48574d
push 0x104
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryW]
lea ecx, [ebp - 0x21c]
push ecx
push 0x4c5a90
mov ecx, dword [ebp + 8]
call fcn.00409a70
push 0x104
lea edx, [ebp - 0x21c]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea eax, [ebp - 0x21c]
push eax
push 0x4c5a9c
mov ecx, dword [ebp + 8]
call fcn.00409a70
push 0
push 0x26
lea ecx, [ebp - 0x21c]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea edx, [ebp - 0x21c]
push edx
lea ecx, [ebp - 0x220]
call fcn.00405080
mov dword [ebp - 4], 0
push 0x4c5aac
push str.__x86_
lea ecx, [ebp - 0x220]
call fcn.00409a70
lea ecx, [ebp - 0x220]
call sym.Install_silent.exe_public:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
push 0x4c5ac0
mov ecx, dword [ebp + 8]
call fcn.00409a70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x220]
call fcn.00405060
jmp 0x4857ae
push 0x104
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea ecx, [ebp - 0x21c]
push ecx
push str.sys
mov ecx, dword [ebp + 8]
call fcn.00409a70
lea edx, [ebp - 0x21c]
push edx
push str.sys64
mov ecx, dword [ebp + 8]
call fcn.00409a70
push 0
push 0x26
lea eax, [ebp - 0x21c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea ecx, [ebp - 0x21c]
push ecx
push str.prog64
mov ecx, dword [ebp + 8]
call fcn.00409a70
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042fc0d
mov esp, ebp
pop ebp
ret 4