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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x58a710]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x589de0]
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 0x589db0
push 0x593dd4
push 0x594af8
mov dword [0x589de0], edx
call fcn.00411840
add esp, 0x14
movzx eax, ax
lea ecx, [ebx + 0x40]
push 0
push eax
push 0
push 0
push 0x56000001
push 0
push 0x585bbc
push esi
call fcn.004d6f00
push 0x160
mov dword [ebx + 0x2c], eax
lea eax, [ebp - 0x204]
push 0
push eax
call fcn.0051d400
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 0x503362
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.00440d70
push dword [ebp - 0x20c]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
lea ecx, [ebx + 0x40]
call fcn.00504f70
mov ecx, ebx
mov dword [ebx + 0x3c], 0
call fcn.005043a0
mov edi, dword [ebx + 4]
lea eax, [ebp - 0x84]
push 0x80
push 0
push eax
call fcn.0051d400
add esp, 0xc
lea eax, [ebp - 0x84]
push 0x80
push eax
push 0xe001
push dword [0x594b00]
call dword [sym.imp.USER32.dll_LoadStringA]
call fcn.00418770
cmp dword [eax + 0x30], 0
jne 0x5033c5
call fcn.00418770
mov dword [eax + 0x30], str.msctls_statusbar32
call fcn.00418770
push dword [ebp - 0x208]
lea ecx, [ebx + 0x1f4]
push ecx
push eax
push 0x593dd4
push 0x594af8
call fcn.00411840
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 0x585bbc
push edi
call fcn.004d6f00
push dword [ebx + 0x1d8]
mov dword [ebx + 0x28], eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x50343d
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005193a0
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 0x5034ba
push 0xfffffffffffffff0
push eax
call esi
test eax, 0x10000000
je 0x5034ba
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 0x503504
push 0xfffffffffffffff0
push eax
call esi
test eax, 0x10000000
je 0x503504
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 0x503536
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 [0x593dcc]
add esi, 0x10
mov dword [ebp - 0x208], eax
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [0x59412c]
lea eax, [ebp - 0x208]
push eax
call fcn.00406710
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.004c59c0
lea eax, [ebx + 0x38]
mov dword [ebp - 0x208], eax
lea ecx, [edi + 0x10]
lea eax, [ebp - 0x208]
push eax
call fcn.004c59c0
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005193a0
mov esp, ebp
pop ebp
ret 0x10