Function at 0x5a08c4
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 6
push 0
push 0
dec ecx
jne 0x5a08cc
push ecx
push ebx
push esi
mov eax, 0x597080
call fcn.0040abf8
mov ebx, dword [0x5a8824]
mov esi, dword [0x5a8628]
xor eax, eax
push ebp
push 0x5a0be8
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00404674
test eax, eax
jne 0x5a090d
mov eax, 1
call fcn.004061ec
mov eax, dword [0x5a8200]
xor edx, edx
call fcn.00406ee8
lea edx, [ebp - 0x18]
mov eax, dword [esi]
call fcn.004bfc8c
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x14]
call fcn.00414f1c
mov edx, dword [ebp - 0x14]
mov eax, ebx
call fcn.00406ee8
mov eax, dword [0x5a8494]
mov edx, 0x5a0c04
call fcn.00406ee8
mov edx, dword [ebx]
lea eax, [ebp - 0x1c]
mov ecx, 0x5a0c3c
call fcn.004073cc
mov eax, dword [ebp - 0x1c]
call fcn.004149ac
test al, al
je 0x5a0982
mov edx, dword [ebx]
mov eax, dword [0x5a8200]
mov ecx, 0x5a0c3c
call fcn.004073cc
mov eax, dword [0x5a898c]
mov edx, 0x5a0c5c
call fcn.00406ee8
mov edx, dword [ebx]
lea eax, [ebp - 0x20]
mov ecx, 0x5a0c94
call fcn.004073cc
mov eax, dword [ebp - 0x20]
call fcn.004149ac
test al, al
je 0x5a09bd
mov edx, dword [ebx]
mov eax, dword [0x5a8200]
mov ecx, 0x5a0c94
call fcn.004073cc
mov eax, dword [0x5a898c]
mov edx, 0x5a0cb0
call fcn.00406ee8
mov edx, dword [ebx]
lea eax, [ebp - 0x24]
mov ecx, 0x5a0cec
call fcn.004073cc
mov eax, dword [ebp - 0x24]
call fcn.004149ac
test al, al
je 0x5a09f8
mov edx, dword [ebx]
mov eax, dword [0x5a8200]
mov ecx, 0x5a0cec
call fcn.004073cc
mov eax, dword [0x5a898c]
mov edx, 0x5a0d08
call fcn.00406ee8
mov edx, dword [ebx]
lea eax, [ebp - 0x28]
mov ecx, 0x5a0d4c
call fcn.004073cc
mov eax, dword [ebp - 0x28]
call fcn.004149ac
test al, al
je 0x5a0adc
mov edx, dword [ebx]
mov eax, dword [0x5a8200]
mov ecx, 0x5a0d4c
call fcn.004073cc
mov eax, dword [0x5a898c]
mov edx, 0x5a0d68
call fcn.00406ee8
mov eax, dword [0x5a8494]
mov edx, 0x5a0d90
call fcn.00406ee8
lea eax, [ebp - 0x2c]
push eax
mov edx, dword [ebx]
lea eax, [ebp - 0x30]
mov ecx, 0x5a0dd4
call fcn.004073cc
mov eax, dword [ebp - 0x30]
mov ecx, 0x5a0dfc
mov edx, 0x5a0e10
call fcn.004f4478
mov edx, dword [ebp - 0x2c]
mov eax, 0x5ae598
call fcn.00406ee8
mov edx, dword [0x5ae598]
mov eax, 0x5a0e40
call fcn.00407950
test eax, eax
jle 0x5a0aaa
mov eax, dword [0x5a8494]
mov edx, 0x5a0e68
call fcn.00406ee8
mov eax, dword [0x5a898c]
mov edx, 0x5a0eac
call fcn.00406ee8
mov edx, dword [0x5ae598]
mov eax, 0x5a0ef0
call fcn.00407950
test eax, eax
jle 0x5a0adc
mov eax, dword [0x5a8494]
mov edx, 0x5a0f0c
call fcn.00406ee8
mov eax, dword [0x5a898c]
mov edx, 0x5a0f44
call fcn.00406ee8
mov edx, dword [ebx]
lea eax, [ebp - 0x34]
mov ecx, 0x5a0f7c
call fcn.004073cc
mov eax, dword [ebp - 0x34]
call fcn.004149ac
test al, al
je 0x5a0b17
mov edx, dword [ebx]
mov eax, dword [0x5a8200]
mov ecx, 0x5a0f7c
call fcn.004073cc
mov eax, dword [0x5a898c]
mov edx, 0x5a0f98
call fcn.00406ee8
push 0x5ae594
push 0x23
push 0
call sub.shell32.dll_SHGetSpecialFolderLocation
cmp dword [0x5ae594], 0
je 0x5a0b83
push 0x5ae59c
mov eax, dword [0x5ae594]
push eax
call sub.shell32.dll_SHGetPathFromIDListW
mov eax, dword [0x5a80dc]
mov edx, 0x5ae59c
mov ecx, 0x105
call fcn.004070f8
mov eax, dword [0x5a80dc]
push dword [eax]
push 0x5a0fc8
mov eax, dword [0x5a898c]
push dword [eax]
push 0x5a0fc8
mov eax, dword [0x5a8a4c]
mov edx, 4
call fcn.004074b0
mov eax, dword [0x5ae594]
call fcn.0040cb30
push 0
push 0x5a0fcc
call sub.user32.dll_FindWindowW
test eax, eax
jbe 0x5a0b9d
mov eax, 2
call fcn.004061ec
mov eax, dword [esi]
call fcn.004bf234
mov eax, dword [esi]
xor edx, edx
call fcn.004c0f70
mov ecx, dword [0x5a89f4]
mov eax, dword [esi]
mov edx, dword [0x5948f8]
call fcn.004bf24c
mov eax, dword [esi]
mov byte [eax + 0x5b], 0
mov eax, dword [esi]
call fcn.004bf39c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5a0bef
lea eax, [ebp - 0x34]
mov edx, 9
call fcn.00406ee0
ret