Function at 0x5ffc30
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x338
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x21c], 0
mov eax, dword [ebp + 8]
push eax
call fcn.005ff030
add esp, 4
lea ecx, [ebp - 0x22c]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
mov dword [ebp - 0x220], eax
lea edx, [ebp - 4]
push edx
push 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x54]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
je 0x5ffc8d
mov eax, 1
jmp 0x5ffeb1
lea edx, [ebp - 0x218]
push edx
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListA]
lea ecx, [ebp - 0x224]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetDesktopFolder]
test eax, eax
je 0x5ffccb
mov edx, dword [ebp - 0x22c]
push edx
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, 1
jmp 0x5ffeb1
lea edx, [ebp - 0x114]
push edx
push 1
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x224]
push ecx
mov edx, dword [ebp - 0x224]
mov eax, dword [edx]
call dword [eax + 0x2c]
mov ecx, dword [ebp - 4]
push ecx
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0x330]
push eax
call fcn.005f95a0
add esp, 0xc
lea ecx, [ebp - 0x114]
push ecx
push 0xc000
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 0x224]
push eax
mov ecx, dword [ebp - 0x224]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa8], 1
mov ecx, dword [ebp - 0x224]
push ecx
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x330]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005ff080
add esp, 0x14
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x5ffd6b
mov eax, 1
jmp 0x5ffeb1
mov eax, dword [ebp - 0xc]
mov dword [eax + 8], 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x8d8]
mov dword [ebp - 0x334], edx
lea eax, [ebp - 0x338]
push eax
push 0x20
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x54]
push edx
mov eax, dword [ebp - 0x224]
push eax
mov ecx, dword [ebp - 0x224]
mov edx, dword [ecx]
call dword [edx + 0x10]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa8], 2
mov ecx, 1
test ecx, ecx
je 0x5ffe82
push 0
lea edx, [ebp - 8]
push edx
push 1
mov eax, dword [ebp - 0x338]
push eax
mov ecx, dword [ebp - 0x338]
mov edx, dword [ecx]
call dword [edx + 0xc]
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jne 0x5ffe7b
lea eax, [ebp - 0x114]
push eax
push 1
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0x224]
push edx
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 8]
push edx
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x330]
push ecx
call fcn.005f95a0
add esp, 0xc
lea edx, [ebp - 0x114]
push edx
push 0xc000
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x224]
push ecx
mov edx, dword [ebp - 0x224]
mov eax, dword [edx]
call dword [eax + 0x2c]
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x224]
push ecx
mov edx, dword [ebp - 8]
push edx
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x330]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005ff080
add esp, 0x14
jmp 0x5ffe7d
jmp 0x5ffe82
jmp 0x5ffdb3
mov eax, dword [ebp - 0x334]
push eax
push 0
push 0x1113
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x54]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x22c]
push eax
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ecx]
call dword [edx + 8]
xor eax, eax
mov esp, ebp
pop ebp
ret