Function at 0x46879c
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.configcoverinstall_serviceitem
call fcn.00422b0c
jmp 0x4687e5
push esi
call fcn.004664cc
test eax, eax
pop ecx
je 0x4687f8
mov edi, dword [ebp + 8]
mov dword [eax + 4], 2
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
add edi, 0xc
call fcn.004681db
xor eax, eax
call fcn.00422cb8
test eax, eax
jne 0x4687ba
mov eax, str.configcoverinstall_regitem
call fcn.00422b0c
xor ebx, ebx
inc ebx
jmp 0x468829
push str.CreateExecService_fail
jmp 0x468a0d
push esi
call fcn.0046633b
test eax, eax
pop ecx
je 0x468839
mov edi, dword [ebp + 8]
mov dword [eax + 0x1c], ebx
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
add edi, 0xc
call fcn.004681db
xor eax, eax
call fcn.00422cb8
test eax, eax
jne 0x468802
mov eax, str.configcoverinstall_fileitem
call fcn.00422b0c
jmp 0x46886b
push str.CreateExecReg_fail
jmp 0x468a0d
push esi
call fcn.00466795
test eax, eax
pop ecx
je 0x468a01
mov edi, dword [ebp + 8]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
add edi, 0xc
call fcn.004681db
xor eax, eax
call fcn.00422cb8
test eax, eax
jne 0x468843
mov eax, str.configcoverinstalldesktopitem
call fcn.00422b0c
test eax, eax
je 0x4688ec
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 0x468a08
lea eax, [ebp - 0x214]
push eax
mov eax, edi
mov dword [edi + 4], ebx
call fcn.0046699b
mov dword [ebp - 8], edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 8]
push eax
add edi, 0xc
call fcn.004681db
xor eax, eax
call fcn.00422cb8
test eax, eax
jne 0x4688ad
mov eax, str.configcoverinstall_startmenuitem
call fcn.00422b0c
test eax, eax
je 0x468969
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 0x468a08
lea eax, [ebp - 0x214]
push eax
mov eax, edi
mov dword [edi + 4], ebx
call fcn.0046699b
mov dword [ebp - 8], edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 8]
push eax
add edi, 0xc
call fcn.004681db
xor eax, eax
call fcn.00422cb8
test eax, eax
jne 0x46892a
mov eax, str.configcoverinstall_startmenupinitem
call fcn.00422b0c
test eax, eax
je 0x4689f4
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 0x468a08
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 0x4689b9
mov dword [ebp - 0xc], ebx
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret 4
push str.CreateExecFile_fail
jmp 0x468a0d
push str.CreateExecLink_fail
mov esi, 0x4ce834
call fcn.00426876
pop ecx
jmp 0x4689f7