Function at 0x45e9da
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0xdc0]
sub esp, 0xe40
mov eax, dword [0x61dc40]
xor eax, ebp
mov dword [ebp + 0xdbc], eax
and dword [ebp - 0x80], 0
push ebx
push esi
push edi
mov ebx, ecx
push 0x63c060
lea eax, [ebx + 0x3c]
push eax
call fcn.0040878d
push 0x63c268
lea esi, [ebx + 0x20]
push esi
call fcn.0040878d
cmp dword [esi + 0x18], 8
jb 0x45ea25
mov esi, dword [esi + 4]
jmp 0x45ea28
add esi, 4
test esi, esi
je 0x45ea37
mov edi, esi
call fcn.0045ef7d
mov edi, eax
jmp 0x45ea3a
xor edi, edi
inc edi
xor eax, eax
mov esi, 0x206
push esi
push eax
mov word [ebp + 0x9ac], ax
lea eax, [ebp + 0x9ae]
push eax
call fcn.00596530
add esp, 0xc
mov eax, edi
neg eax
sbb eax, eax
and eax, 0xffffffeb
push 0
add eax, 0x17
push eax
lea eax, [ebp + 0x9ac]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x45ec31
lea eax, [ebp + 0x9ac]
push eax
lea eax, [ebx + 0x74]
push eax
call fcn.0040878d
xor eax, eax
push esi
push eax
mov word [ebp + 0x7a4], ax
lea eax, [ebp + 0x7a6]
push eax
call fcn.00596530
add esp, 0xc
push 0x5db9c8
lea eax, [ebp + 0x9ac]
push eax
lea eax, [ebp + 0x7a4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp + 0x7a4]
push eax
lea eax, [ebx + 0x90]
push eax
call fcn.0040878d
xor eax, eax
push esi
push eax
mov word [ebp + 0x394], ax
lea eax, [ebp + 0x396]
push eax
call fcn.00596530
add esp, 0xc
mov eax, edi
neg eax
sbb eax, eax
and eax, 0xfffffff5
push 0
add eax, 0x16
push eax
lea eax, [ebp + 0x394]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x45ec31
lea eax, [ebp + 0x394]
push eax
lea eax, [ebx + 0xac]
push eax
call fcn.0040878d
xor eax, eax
push esi
push eax
mov word [ebp + 0x59c], ax
lea eax, [ebp + 0x59e]
push eax
call fcn.00596530
add esp, 0xc
neg edi
sbb edi, edi
push 0
and edi, 0xfffffff7
add edi, 0x19
push edi
mov edi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp + 0x59c]
push eax
push 0
call edi
test eax, eax
je 0x45ec31
lea eax, [ebp + 0x59c]
push eax
lea eax, [ebx + 0xc8]
push eax
call fcn.0040878d
xor eax, eax
push esi
push eax
mov word [ebp + 0xbb4], ax
lea eax, [ebp + 0xbb6]
push eax
call fcn.00596530
add esp, 0xc
push 0
push 0x1a
lea eax, [ebp + 0xbb4]
push eax
push 0
call edi
test eax, eax
je 0x45ec31
xor eax, eax
push esi
push eax
mov word [ebp - 0x7c], ax
lea eax, [ebp - 0x7a]
push eax
call fcn.00596530
mov edi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
add esp, 0xc
push str.MicrosoftInternet_ExplorerQuick_Launch
lea eax, [ebp + 0xbb4]
push eax
lea eax, [ebp - 0x7c]
push eax
call edi
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebx + 0xe4]
push eax
call fcn.0040878d
xor eax, eax
push esi
push eax
mov word [ebp + 0x18c], ax
lea eax, [ebp + 0x18e]
push eax
call fcn.00596530
add esp, 0xc
push str.MicrosoftInternet_ExplorerQuick_LaunchUser_PinnedTaskBar
lea eax, [ebp + 0xbb4]
push eax
lea eax, [ebp + 0x18c]
push eax
call edi
lea eax, [ebp + 0x18c]
push eax
add ebx, 0x100
push ebx
call fcn.0040878d
mov dword [ebp - 0x80], 1
mov ecx, dword [ebp + 0xdbc]
mov eax, dword [ebp - 0x80]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0058f3cf
add ebp, 0xdc0
leave
ret