Function at 0x460590
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x558178
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5b3890]
xor eax, esp
push eax
lea eax, [esp + 0x5c]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x14], edi
push 0x104
lea ecx, [esp + 0x1c]
call fcn.0049f020
mov dword [esp + 0x18], vtable.cWCStr.0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
push eax
xor ebx, ebx
push ecx
mov dword [esp + 0x6c], ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov dword [esp + 0x38], str._sSoftwareDistribution
mov dword [esp + 0x3c], str._sMicrosoft.NET
mov dword [esp + 0x40], str._sSystem32poqexec.exe
mov dword [esp + 0x44], str._s_servicingTrustedInstaller.exe
mov dword [esp + 0x48], str._sSystem32msiexec.exe
mov dword [esp + 0x4c], str._s_sysWOW64msiexec.exe
mov dword [esp + 0x50], str._sWinSxS
mov esi, 7
add edi, 0x308
mov ebp, vtable.cWCS.0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x30]
dec esi
call fcn.0049eff0
mov dword [esp + 0x28], vtable.cWCSF.0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + esi*4 + 0x38]
push edx
push eax
lea ecx, [esp + 0x30]
push ecx
mov byte [esp + 0x70], 1
call fcn.00403e80
push eax
push edi
call fcn.00460270
add esp, 0x14
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], bl
mov dword [esp + 0x28], ebp
call fcn.0049ee80
cmp esi, ebx
jne 0x460631
push str.SetupHost.exe
push edi
call fcn.00460270
mov edi, dword [esp + 0x1c]
add esp, 8
mov dword [esp + 0x38], str._sAppPatch
mov dword [esp + 0x3c], str._s_assembly
mov dword [esp + 0x40], str._sinf
mov dword [esp + 0x44], str._sinstaller
mov dword [esp + 0x48], str._sMicrosoft.NET
mov dword [esp + 0x4c], str._s_servicing
mov dword [esp + 0x50], str._sSystem32
mov dword [esp + 0x54], str._s_rescache
mov dword [esp + 0x58], str._sCbsTemp
mov esi, 9
add edi, 0x260
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x30]
dec esi
call fcn.0049eff0
mov dword [esp + 0x28], vtable.cWCSF.0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + esi*4 + 0x38]
push edx
push eax
lea ecx, [esp + 0x30]
push ecx
mov byte [esp + 0x70], 2
call fcn.00403e80
push eax
push edi
call fcn.00460270
add esp, 0x14
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], bl
mov dword [esp + 0x28], ebp
call fcn.0049ee80
cmp esi, ebx
jne 0x4606e3
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x30]
call fcn.0049eff0
mov esi, vtable.cWCSF.0
mov dword [esp + 0x28], esi
mov edx, dword [esp + 0x1c]
movzx eax, word [edx]
push eax
lea ecx, [esp + 0x2c]
push str._c:Windows.old
push ecx
mov byte [esp + 0x70], 3
call fcn.00403e80
push eax
push edi
call fcn.00460270
add esp, 0x14
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], bl
mov dword [esp + 0x28], ebp
call fcn.0049ee80
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x30]
call fcn.0049eff0
mov dword [esp + 0x28], esi
mov edx, dword [esp + 0x1c]
movzx eax, word [edx]
push eax
lea ecx, [esp + 0x2c]
push str._c:_Windows
push ecx
mov byte [esp + 0x70], 4
call fcn.00403e80
push eax
push edi
call fcn.00460270
add esp, 0x14
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], bl
mov dword [esp + 0x28], ebp
call fcn.0049ee80
lea ecx, [esp + 0x18]
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x18], ebp
call fcn.0049ee80
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret