Function at 0x46840e
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
and dword [ebp - 0xc], 0
push ebx
push esi
mov esi, eax
push edi
mov eax, str.configinstall_serviceitem
call fcn.00422b0c
jmp 0x468454
push esi
call fcn.004664cc
test eax, eax
pop ecx
je 0x468467
mov edi, dword [ebp + 8]
mov dword [eax + 4], 2
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
call fcn.004681db
xor eax, eax
call fcn.00422cb8
test eax, eax
jne 0x46842c
mov eax, str.configinstall_regitem
call fcn.00422b0c
xor ebx, ebx
inc ebx
jmp 0x468495
push str.CreateExecService_fail
jmp 0x46878f
push esi
call fcn.0046633b
test eax, eax
pop ecx
je 0x4684a5
mov edi, dword [ebp + 8]
mov dword [eax + 0x1c], ebx
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
call fcn.004681db
xor eax, eax
call fcn.00422cb8
test eax, eax
jne 0x468471
mov eax, str.configinstall_fileitem
call fcn.00422b0c
jmp 0x4684d4
push str.CreateExecReg_fail
jmp 0x46878f
push esi
call fcn.00466795
test eax, eax
pop ecx
je 0x468783
mov edi, dword [ebp + 8]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
call fcn.004681db
xor eax, eax
call fcn.00422cb8
test eax, eax
jne 0x4684af
mov eax, str.configinstalldesktopitem
call fcn.00422b0c
test eax, eax
je 0x468552
xor edi, edi
push 0x206
lea eax, [ebp - 0x212]
push edi
push eax
mov word [ebp - 0x214], di
call fcn.0046eea0
add esp, 0xc
lea eax, [ebp - 0x214]
push eax
push edi
push edi
push 0x19
push edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push esi
call fcn.0046683c
mov edi, eax
test edi, edi
pop ecx
je 0x46878a
lea eax, [ebp - 0x214]
push eax
mov eax, edi
mov dword [edi + 4], ebx
call fcn.0046699b
lea eax, [ebp - 8]
mov dword [ebp - 8], edi
mov edi, dword [ebp + 8]
push eax
call fcn.004681db
xor eax, eax
call fcn.00422cb8
test eax, eax
jne 0x468516
mov eax, str.configinstall_startmenuitem
call fcn.00422b0c
test eax, eax
je 0x4685cc
xor edi, edi
push 0x206
lea eax, [ebp - 0x212]
push edi
push eax
mov word [ebp - 0x214], di
call fcn.0046eea0
add esp, 0xc
lea eax, [ebp - 0x214]
push eax
push ebx
push edi
push 0x17
push edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push esi
call fcn.0046683c
mov edi, eax
test edi, edi
pop ecx
je 0x46878a
lea eax, [ebp - 0x214]
push eax
mov eax, edi
mov dword [edi + 4], ebx
call fcn.0046699b
lea eax, [ebp - 8]
mov dword [ebp - 8], edi
mov edi, dword [ebp + 8]
push eax
call fcn.004681db
xor eax, eax
call fcn.00422cb8
test eax, eax
jne 0x468590
mov eax, str.configinstallquicklaunchitem
call fcn.00422b0c
test eax, eax
je 0x468658
xor edi, edi
push 0x206
lea eax, [ebp - 0x212]
push edi
push eax
mov word [ebp - 0x214], di
call fcn.0046eea0
add esp, 0xc
lea eax, [ebp - 0x214]
push eax
push ebx
push edi
push 0x1a
push edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push str.MicrosoftInternet_ExplorerQuick_Launch
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push esi
call fcn.0046683c
mov edi, eax
test edi, edi
pop ecx
je 0x46878a
lea eax, [ebp - 0x214]
push eax
mov eax, edi
mov dword [edi + 4], ebx
call fcn.0046699b
lea eax, [ebp - 8]
mov dword [ebp - 8], edi
mov edi, dword [ebp + 8]
push eax
call fcn.004681db
xor eax, eax
call fcn.00422cb8
test eax, eax
jne 0x46861c
mov eax, str.configinstall_taskbarpinitem
call fcn.00422b0c
test eax, eax
je 0x4686eb
xor edi, edi
push 0x206
lea eax, [ebp - 0x212]
push edi
push eax
mov word [ebp - 0x214], di
call fcn.0046eea0
add esp, 0xc
lea eax, [ebp - 0x214]
push eax
push ebx
push edi
push 0x1a
push edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push str.MicrosoftInternet_ExplorerQuick_LaunchUser_PinnedTaskBar
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push esi
call fcn.0046683c
mov edi, eax
test edi, edi
pop ecx
je 0x46878a
lea eax, [ebp - 0x214]
push eax
mov eax, edi
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
call fcn.0046699b
lea eax, [ebp - 8]
mov dword [ebp - 8], edi
mov edi, dword [ebp + 8]
push eax
call fcn.004681db
xor eax, eax
call fcn.00422cb8
test eax, eax
jne 0x4686ac
mov eax, str.configinstall_startmenupinitem
call fcn.00422b0c
test eax, eax
je 0x468776
xor edi, edi
push 0x206
lea eax, [ebp - 0x212]
push edi
push eax
mov word [ebp - 0x214], di
call fcn.0046eea0
add esp, 0xc
lea eax, [ebp - 0x214]
push eax
push ebx
push edi
push 0x1a
push edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push str.MicrosoftInternet_ExplorerQuick_LaunchUser_PinnedStartMenu
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push esi
call fcn.0046683c
mov edi, eax
test edi, edi
pop ecx
je 0x46878a
lea eax, [ebp - 0x214]
push eax
mov eax, edi
mov dword [edi + 4], ebx
mov dword [edi + 0xc], ebx
call fcn.0046699b
lea eax, [ebp - 8]
mov dword [ebp - 8], edi
mov edi, dword [ebp + 8]
push eax
call fcn.004681db
xor eax, eax
call fcn.00422cb8
test eax, eax
jne 0x46873b
mov dword [ebp - 0xc], ebx
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret 4
push str.CreateExecFile_fail
jmp 0x46878f
push str.CreateExecLink_fail
mov esi, 0x4ce834
call fcn.00426876
pop ecx
jmp 0x468779