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

Disassembly:
sub esp, 0x4c4
push ebx
push ebp
push esi
push edi
push dword [0x43dc30]
call fcn.00430655
xor edi, edi
mov ebx, eax
mov dword [esp + 0x14], ebx
cmp dword [0x43d5d4], edi
jne 0x4286d3
push edi
call dword [sym.imp.OLE32.DLL_CoInitialize]
call fcn.004292a4
call fcn.00429fa4
push edi
call fcn.004299bb
push 1
mov dword [0x43c2d4], eax
call fcn.004299bb
push str.My_Documents
push 0x43c2e8
mov dword [0x43c2d8], eax
call sub.MSVCRT.dll_wcscpy
push 0x433640
push 0x43c6f8
call sub.MSVCRT.dll_wcscpy
push str.Size
push 0x43c900
call sub.MSVCRT.dll_wcscpy
push 0x433628
push 0x43cb08
call sub.MSVCRT.dll_wcscpy
push str.Attributes
push 0x43cd10
call sub.MSVCRT.dll_wcscpy
push str.Created
push 0x43cf18
call sub.MSVCRT.dll_wcscpy
push str.Modified
push 0x43d120
call sub.MSVCRT.dll_wcscpy
push str.Accessed
push 0x43d328
call sub.MSVCRT.dll_wcscpy
xor eax, eax
add esp, 0x40
mov word [esp + 0x2cc], ax
mov esi, 0x104
push esi
lea eax, [esp + 0x2d0]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov ebx, 0x4001
push ebx
mov ebp, 0x2b4
push ebp
lea eax, [esp + 0x20]
push eax
push edi
mov edi, dword [sym.imp.SHELL32.DLL_SHGetFileInfoW]
lea eax, [esp + 0x2dc]
push eax
call edi
test eax, eax
je 0x428429
mov eax, dword [esp + 0x1c]
mov dword [0x43c2dc], eax
lea eax, [esp + 0x10]
push eax
push 5
push 0
call dword [sym.imp.SHELL32.DLL_SHGetSpecialFolderLocation]
test eax, eax
jne 0x428517
push 0x43c4f0
push dword [esp + 0x14]
call dword [sym.imp.SHELL32.DLL_SHGetPathFromIDListW]
mov dword [0x438f88], eax
test eax, eax
je 0x42850b
push 0x4009
push ebp
lea eax, [esp + 0x20]
push eax
push 0
push dword [esp + 0x20]
call edi
test eax, eax
jne 0x42849b
push ebx
push ebp
lea eax, [esp + 0x20]
push eax
push 0
push str.::450d8fba_ad25_11d0_98a8_0800361b1103
call edi
test eax, eax
jne 0x42849b
push ebx
push ebp
lea eax, [esp + 0x20]
push eax
push 0
push 0x43c4f0
call edi
test eax, eax
je 0x4284a6
mov eax, dword [esp + 0x1c]
mov dword [0x43c2e0], eax
jmp 0x4284ad
and dword [0x438f88], 0
push 0x208
push ebp
lea eax, [esp + 0x20]
push eax
push 0
push dword [esp + 0x20]
call edi
test eax, eax
jne 0x4284f1
mov ebx, 0x200
push ebx
push ebp
lea eax, [esp + 0x20]
push eax
push 0
push str.::450d8fba_ad25_11d0_98a8_0800361b1103
call edi
test eax, eax
jne 0x4284f1
push ebx
push ebp
lea eax, [esp + 0x20]
push eax
push 0
push 0x43c4f0
call edi
test eax, eax
je 0x428504
lea eax, [esp + 0x24]
push eax
push 0x43c2e8
call sub.MSVCRT.dll_wcscpy
pop ecx
pop ecx
jmp 0x42850b
and dword [0x438f88], 0
push dword [esp + 0x10]
call dword [sym.imp.OLE32.DLL_CoTaskMemFree]
jmp 0x42851e
and dword [0x438f88], 0
mov edi, 0x43c4f0
push edi
call sub.MSVCRT.dll_wcslen
cmp word [eax*2 + 0x43c4ee], 0x5c
pop ecx
je 0x428542
push 0x43331c
push edi
call sub.MSVCRT.dll_wcscat
pop ecx
pop ecx
push 0x4335c0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [0x43c2c4], eax
test eax, eax
je 0x4285e0
mov edi, dword [sym.imp.USER32.DLL_LoadStringW]
push esi
push 0x43c6f8
push 0x2310
push eax
call edi
push esi
push 0x43c900
push 0x2312
push dword [0x43c2c4]
call edi
push esi
push 0x43cb08
push 0x2313
push dword [0x43c2c4]
call edi
push esi
push 0x43cd10
push 0x231b
push dword [0x43c2c4]
call edi
push esi
push 0x43cf18
push 0x2324
push dword [0x43c2c4]
call edi
push esi
push 0x43d120
push 0x2314
push dword [0x43c2c4]
call edi
push esi
push 0x43d328
push 0x2325
push dword [0x43c2c4]
call edi
mov esi, 0xa4
push esi
push 0
push 0x43d530
call sub.MSVCRT.dll_memset
mov ebx, dword [esp + 0x20]
add esp, 0xc
mov dword [0x43d530], 0x17
mov dword [0x43d534], esi
mov dword [0x43d538], 0x427fab
mov dword [0x43d53c], 0x426938
mov dword [0x43d54c], 0x4274e2
mov dword [0x43d548], 0x426973
mov dword [0x43d540], 0x42699c
mov dword [0x43d564], 0x4269b4
mov dword [0x43d568], 0x426af1
mov dword [0x43d56c], 0x426b4b
mov dword [0x43d570], 0x4269cc
mov dword [0x43d574], 0x426bac
mov dword [0x43d558], 0x426b92
mov dword [0x43d590], 0x426c1f
mov dword [0x43d594], 0x426d7a
mov dword [0x43d5a8], 0x426dc5
mov dword [0x43d5ac], 0x426e68
mov dword [0x43d59c], 0x426f21
mov dword [0x43d598], 0x426ee3
mov dword [0x43d5a4], 0x426e9c
mov dword [0x43d5a0], 0x426ec1
mov dword [0x43d5d4], 1
xor edi, edi
cmp dword [0x43c2d0], edi
jne 0x428711
mov eax, dword [ebx]
mov esi, dword [sym.imp.USER32.DLL_GetParent]
jmp 0x4286ed
push dword [0x43c2d0]
call esi
push eax
mov dword [0x43c2d0], eax
call esi
test eax, eax
jne 0x4286e5
push 0x427e70
push 0xfffffffffffffffc
push dword [0x43c2d0]
call dword [sym.imp.USER32.DLL_SetWindowLongW]
mov dword [0x43c2cc], eax
mov ecx, dword [esp + 0x4f0]
mov esi, 0x50000141
test ecx, 0x1000000
je 0x428728
add esi, 8
test ecx, 0x200000
jne 0x428733
or esi, 4
test cl, 0x20
je 0x42873e
or esi, 0x8000
xor eax, eax
test ecx, 0x100000
jne 0x42874d
mov eax, 0x200
push edi
push dword [0x43b090]
push 0xffffffffffffffff
push dword [ebx]
push dword [esp + 0x4f8]
push dword [esp + 0x4f8]
push dword [esp + 0x4f8]
push dword [esp + 0x4f8]
push esi
push edi
push str.SysListView32
push eax
call dword [sym.imp.USER32.DLL_CreateWindowExW]
push 0x22f4
push 8
push dword [0x43b08c]
mov ebp, eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
xor ebx, ebx
mov edi, eax
cmp ebp, ebx
je 0x4288ee
cmp edi, ebx
je 0x4288ee
cmp dword [0x438f84], 0xffffffff
mov esi, dword [sym.imp.USER32.DLL_SendMessageW]
jne 0x4287d8
push ebx
push ebx
push 0x1023
push ebp
call esi
push ebx
push ebx
push 0x1000
push ebp
mov dword [0x438f84], eax
call esi
mov dword [0x43c2c8], eax
push dword [0x43c2d8]
mov ebx, 0x1003
push 1
push ebx
push ebp
call esi
push dword [0x43c2d4]
push 0
push ebx
push ebp
call esi
mov ecx, dword [esp + 0x4f0]
mov eax, 0x10000
test ecx, 0x400000
je 0x42880a
inc eax
test ecx, 0x800000
je 0x428815
or eax, 0x10
test ecx, 0x2000000
je 0x428820
or eax, 0x20
push eax
push eax
push 0x1036
push ebp
call esi
push 0x426f79
push 0xfffffffffffffffc
push ebp
call dword [sym.imp.USER32.DLL_SetWindowLongW]
mov ebx, dword [esp + 0x4d8]
push ebx
push dword [0x43dc2c]
mov dword [0x43c2c0], eax
call fcn.0043049a
mov esi, eax
or dword [esi + 0x14], 0xffffffff
or dword [esi + 0x18], 0xffffffff
or dword [esi + 0x1c], 0xffffffff
mov eax, dword [esp + 0x4f0]
mov dword [esi + 0x10], edi
mov dword [edi], ebp
mov dword [edi + 8], eax
mov dword [edi + 4], ebx
test al, 0x40
je 0x428885
and dword [edi + 0x22f0], 0
mov dword [edi + 0x22ec], 1
push 0x4335b8
add edi, 0x214
push edi
call sub.MSVCRT.dll_wcscpy
pop ecx
pop ecx
push 0x43d530
push ebp
push esi
push ebx
call fcn.00428adb
push 0x64
pop edi
push edi
push str.PB_Explorer_Column_Name
or ebx, 0xffffffff
push ebx
push esi
mov ebp, eax
call fcn.00426c1f
push edi
push str.PB_Explorer_Column_Size
push ebx
push esi
call fcn.00426c1f
push edi
push str.PB_Explorer_Column_Type
push ebx
push esi
call fcn.00426c1f
push edi
push str.PB_Explorer_Column_Modified
push ebx
push esi
call fcn.00426c1f
push dword [esp + 0x4ec]
push esi
call fcn.004274e2
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x4c4
ret 0x1c