Function at 0x4a5e65
Capabilities:
Get common file path
Get startup folder

Disassembly:
push 0x65c
mov eax, 0x55ee46
call fcn.00539a44
xor eax, eax
xor ebx, ebx
mov esi, 0x206
push esi
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push ebx
push eax
mov dword [ebp - 0x648], ebx
mov dword [ebp - 0x650], ebx
call fcn.00537010
xor eax, eax
push esi
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push ebx
push eax
call fcn.00537010
add esp, 0x18
lea eax, [ebp - 0x650]
push eax
push 0x5791cc
push 0x15
push ebx
push 0x5791bc
mov dword [ebp - 0x654], ebx
mov dword [ebp - 0x64c], ebx
mov dword [ebp - 0x658], ebx
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebx
jne 0x4a60b6
cmp dword [ebp - 0x650], ebx
je 0x4a60b6
push ebx
lea ecx, [ebp - 0x644]
mov dword [ebp - 0x62c], 7
call fcn.004056b6
xor eax, eax
mov dword [ebp - 4], ebx
push esi
mov word [ebp - 0x628], ax
lea eax, [ebp - 0x626]
push ebx
push eax
call fcn.00537010
add esp, 0xc
lea eax, [ebp - 0x628]
push eax
push ebx
push ebx
push 0x1a
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jl 0x4a5f85
lea eax, [ebp - 0x628]
push eax
lea ecx, [ebp - 0x644]
call fcn.00406430
cmp dword [ebp + 8], 0x150b
jne 0x4a5f6c
push str.MicrosoftInternet_ExplorerQuick_LaunchUser_PinnedTaskBar
lea ecx, [ebp - 0x644]
call fcn.0040a9e6
cmp dword [ebp + 8], 0xc8c2
jne 0x4a5f85
push str.MicrosoftInternet_ExplorerQuick_LaunchUser_PinnedStartMenu
lea ecx, [ebp - 0x644]
call fcn.0040a9e6
push 0x104
lea eax, [ebp - 0x218]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push 0x5c
push eax
call fcn.00532331
pop ecx
pop ecx
lea ecx, [eax + 2]
lea esi, [ebp - 0x420]
sub esi, ecx
movzx edx, word [ecx]
mov word [esi + ecx], dx
inc ecx
inc ecx
cmp dx, bx
jne 0x4a5fb3
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x668]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp dword [ebp + 8], 0x150b
je 0x4a5fed
cmp dword [ebp + 8], 0xc8c2
je 0x4a5fed
lea eax, [ebp - 0x218]
jmp 0x4a6002
cmp dword [ebp - 0x62c], 8
mov eax, dword [ebp - 0x640]
jae 0x4a6002
lea eax, [ebp - 0x640]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push 8
mov dword [ebp - 0x648], eax
pop eax
mov word [ebp - 0x668], ax
mov eax, dword [ebp - 0x648]
lea edx, [ebp - 0x654]
push edx
mov dword [ebp - 0x660], eax
mov eax, dword [ebp - 0x650]
mov ecx, dword [eax]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x668]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x24]
cmp eax, ebx
jl 0x4a60a4
mov eax, dword [ebp - 0x654]
cmp eax, ebx
je 0x4a60a4
cmp dword [ebp + 8], 0x150b
je 0x4a6077
cmp dword [ebp + 8], 0xc8c2
je 0x4a6077
lea edx, [ebp - 0x64c]
push edx
lea edx, [ebp - 0x420]
push edx
jmp 0x4a6083
lea edx, [ebp - 0x64c]
push edx
push 0x583ed0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
cmp eax, ebx
jl 0x4a60a4
mov eax, dword [ebp - 0x64c]
cmp eax, ebx
je 0x4a60a4
mov ecx, dword [eax]
lea edx, [ebp - 0x658]
push edx
push eax
call dword [ecx + 0x58]
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp - 0x644]
call fcn.004053e5
mov eax, dword [ebp - 0x650]
cmp eax, ebx
je 0x4a60c6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x648], ebx
je 0x4a60da
push dword [ebp - 0x648]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x654]
cmp eax, ebx
je 0x4a60ea
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x64c]
cmp eax, ebx
je 0x4a60fa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x658]
call fcn.00539ac7
ret