Function at 0x4fbca0
Capabilities:
Get common file path
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x583384]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x582b30]
mov edx, str.SysListView32
push ebx
push esi
push edi
push dword [ebp - 0x208]
mov ebx, ecx
test eax, eax
cmovne edx, eax
mov esi, dword [ebx + 4]
lea eax, [ebx + 0x60]
push eax
push 0x582b00
push 0x58c7d0
push 0x58d480
mov dword [0x582b30], edx
call fcn.00412380
add esp, 0x14
movzx eax, ax
lea ecx, [ebx + 0x40]
push 0
push eax
push 0
push 0
push 0x56000001
push 0
push 0x57ebdc
push esi
call fcn.004d2ae0
push 0x160
mov dword [ebx + 0x2c], eax
lea eax, [ebp - 0x204]
push 0
push eax
call fcn.00517590
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
push 0x11
push dword [ebx + 4]
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
js 0x4fbd82
push 0x4009
push 0x160
lea eax, [ebp - 0x204]
push eax
push 0
push dword [ebp - 0x20c]
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
push 1
push eax
mov dword [ebx + 0x9c], eax
lea ecx, [ebx + 0x44]
lea eax, [ebp - 0x208]
push eax
call fcn.00440230
push dword [ebp - 0x20c]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
lea ecx, [ebx + 0x40]
call fcn.004fdea0
mov ecx, ebx
mov dword [ebx + 0x3c], 0
call fcn.004fce20
mov edi, dword [ebx + 4]
lea eax, [ebp - 0x84]
push 0x80
push 0
push eax
call fcn.00517590
add esp, 0xc
lea eax, [ebp - 0x84]
push 0x80
push eax
push 0xe001
push dword [0x58d488]
call dword [sym.imp.USER32.dll_LoadStringA]
call fcn.00418870
cmp dword [eax + 0x30], 0
jne 0x4fbde5
call fcn.00418870
mov dword [eax + 0x30], str.msctls_statusbar32
call fcn.00418870
push dword [ebp - 0x208]
lea ecx, [ebx + 0x1f4]
push ecx
push eax
push 0x58c7d0
push 0x58d480
call fcn.00412380
add esp, 0x14
movzx eax, ax
lea ecx, [ebx + 0x1d4]
push 0
push eax
push 0xe801
push 0
push 0x56000100
lea eax, [ebp - 0x84]
push eax
push 0x57ebdc
push edi
call fcn.004d2ae0
push dword [ebx + 0x1d8]
mov dword [ebx + 0x28], eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4fbe5d
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00513512
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x94]
xorps xmm0, xmm0
push eax
push dword [ebx + 4]
movups xmmword [ebp - 0x94], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebx + 0x24]
mov esi, dword [sym.imp.USER32.dll_GetWindowLongA]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x4fbeda
push 0xfffffffffffffff0
push eax
call esi
test eax, 0x10000000
je 0x4fbeda
push 0
push 0
push 5
push dword [ebx + 0x24]
call edi
push 1
push 0
push dword [ebx + 0x24]
call dword [sym.imp.USER32.dll_InvalidateRect]
lea eax, [ebp - 0xa4]
xorps xmm0, xmm0
push eax
push dword [ebx + 0x24]
movups xmmword [ebp - 0xa4], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x98]
sub eax, dword [ebp - 0xa0]
add dword [ebp - 0x90], eax
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x4fbf24
push 0xfffffffffffffff0
push eax
call esi
test eax, 0x10000000
je 0x4fbf24
push 0
push 0
push 5
push dword [ebx + 0x28]
call edi
lea eax, [ebp - 0xa4]
xorps xmm0, xmm0
push eax
push dword [ebx + 0x28]
movups xmmword [ebp - 0xa4], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0xa0]
sub eax, dword [ebp - 0x98]
add dword [ebp - 0x88], eax
mov esi, dword [ebx + 0x2c]
test esi, esi
je 0x4fbf56
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x90]
sub eax, edx
mov ecx, dword [ebp - 0x94]
push 0x14
push eax
mov eax, dword [ebp - 0x8c]
sub eax, ecx
push eax
push edx
push ecx
push 0
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, dword [0x58c7c8]
add esi, 0x10
mov dword [ebp - 0x208], eax
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [0x58cadc]
lea eax, [ebp - 0x208]
push eax
call fcn.00408100
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [ebx + 0x34]
lea eax, [ebp - 0x208]
mov dword [ebp - 0x208], ecx
push eax
lea ecx, [edi + 4]
call fcn.004c0ca0
lea eax, [ebx + 0x38]
mov dword [ebp - 0x208], eax
lea ecx, [edi + 0x10]
lea eax, [ebp - 0x208]
push eax
call fcn.004c0ca0
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00513512
mov esp, ebp
pop ebp
ret 0x10