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

Disassembly:
sub esp, 0x4c0
push ebx
push ebp
push esi
push edi
push dword [0x4bef3c]
call fcn.00412db0
xor ebp, ebp
mov edi, eax
cmp dword [0x4bee5c], ebp
jne 0x407a43
push ebp
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.0043086b
call fcn.00431656
push ebp
call fcn.00431613
push 1
mov dword [0x4bee50], eax
call fcn.00431613
push str.My_Documents
push 0x4bdbf8
mov dword [0x4bee4c], eax
call fcn.004136f0
push str.Name
push 0x4be008
call fcn.004136f0
push str.Size
push 0x4be210
call fcn.004136f0
push str.Type
push 0x4be418
call fcn.004136f0
push str.Attributes
push 0x4be620
call fcn.004136f0
push str.Created
push 0x4be828
call fcn.004136f0
push str.Modified
push 0x4bea30
call fcn.004136f0
push str.Accessed
push 0x4bec38
call fcn.004136f0
add esp, 0x40
xor eax, eax
mov word [esp + 0x2c8], ax
lea eax, [esp + 0x2c8]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov esi, dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
lea eax, [esp + 0x14]
push 0x4001
mov ebx, 0x2b4
push ebx
push eax
push ebp
lea eax, [esp + 0x2d8]
push eax
call esi
test eax, eax
je 0x4077d5
mov eax, dword [esp + 0x18]
mov dword [0x4bee40], eax
lea eax, [esp + 0x10]
push eax
push 5
push ebp
call sub.SHELL32.dll_SHGetSpecialFolderLocation
test eax, eax
jne 0x4078c4
push 0x4bde00
push dword [esp + 0x14]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
mov dword [0x4bca00], eax
test eax, eax
je 0x4078b8
push 0x4009
push ebx
lea eax, [esp + 0x1c]
push eax
push ebp
push dword [esp + 0x20]
call esi
test eax, eax
jne 0x40784a
push 0x4001
push ebx
lea eax, [esp + 0x1c]
push eax
push ebp
push str.::450d8fba_ad25_11d0_98a8_0800361b1103
call esi
test eax, eax
jne 0x40784a
push 0x4001
push ebx
lea eax, [esp + 0x1c]
push eax
push ebp
push 0x4bde00
call esi
test eax, eax
je 0x407855
mov eax, dword [esp + 0x18]
mov dword [0x4bee44], eax
jmp 0x40785b
mov dword [0x4bca00], ebp
push 0x208
push ebx
lea eax, [esp + 0x1c]
push eax
push ebp
push dword [esp + 0x20]
call esi
test eax, eax
jne 0x4078a7
push 0x200
push ebx
lea eax, [esp + 0x1c]
push eax
push ebp
push str.::450d8fba_ad25_11d0_98a8_0800361b1103
call esi
test eax, eax
jne 0x4078a7
push 0x200
push ebx
lea eax, [esp + 0x1c]
push eax
push ebp
push 0x4bde00
call esi
test eax, eax
jne 0x4078a7
mov dword [0x4bca00], ebp
jmp 0x4078b8
lea eax, [esp + 0x20]
push eax
push 0x4bdbf8
call fcn.004136f0
pop ecx
pop ecx
push dword [esp + 0x10]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x4078ca
mov dword [0x4bca00], ebp
push 0x4bde00
call fcn.00413712
pop ecx
cmp word [eax*2 + 0x4bddfe], 0x5c
je 0x4078f1
push 0x48c660
push 0x4bde00
call fcn.00413d6f
pop ecx
pop ecx
push str.shell32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [0x4bee64], eax
test eax, eax
je 0x407957
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
mov ebx, 0x104
push ebx
push 0x4be008
push 0x2310
push eax
call esi
push ebx
push 0x4be210
push 0x2312
push dword [0x4bee64]
call esi
push ebx
push 0x4be418
push 0x2313
push dword [0x4bee64]
call esi
push ebx
push 0x4bea30
push 0x2314
push dword [0x4bee64]
call esi
mov esi, 0xa8
push esi
push ebp
push 0x4bdb50
call fcn.004010c0
add esp, 0xc
mov dword [0x4bdb50], 0x17
mov dword [0x4bdb54], esi
mov dword [0x4bdb58], 0x4092ff
mov dword [0x4bdb5c], 0x40967d
mov dword [0x4bdb6c], 0x4088fe
mov dword [0x4bdb68], 0x4096b8
mov dword [0x4bdb60], 0x4096e1
mov dword [0x4bdb84], 0x4096fa
mov dword [0x4bdb88], 0x40985d
mov dword [0x4bdb8c], 0x4098b7
mov dword [0x4bdb90], 0x409712
mov dword [0x4bdb94], 0x409918
mov dword [0x4bdb78], 0x4098fe
mov dword [0x4bdbb0], 0x409985
mov dword [0x4bdbb4], 0x409ae5
mov dword [0x4bdbc8], 0x409b32
mov dword [0x4bdbcc], 0x409bd5
mov dword [0x4bdbbc], 0x409c5d
mov dword [0x4bdbb8], 0x4087f5
mov dword [0x4bdbc4], 0x409c09
mov dword [0x4bdbc0], 0x409c35
mov dword [0x4bee5c], 1
cmp dword [0x4bee54], ebp
jne 0x407a81
mov eax, dword [edi]
mov esi, dword [sym.imp.USER32.dll_GetParent]
jmp 0x407a5d
push dword [0x4bee54]
call esi
push eax
mov dword [0x4bee54], eax
call esi
test eax, eax
jne 0x407a55
push 0x407ec9
push 0xfffffffffffffffc
push dword [0x4bee54]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [0x4bee58], eax
mov ebx, dword [esp + 0x4ec]
mov esi, ebx
shr esi, 0x15
and esi, 8
or esi, 0x50010141
test ebx, 0x200000
jne 0x407aa1
or esi, 4
test bl, 0x20
je 0x407aac
or esi, 0x8000
lea eax, [esp + 0x4e4]
push eax
lea eax, [esp + 0x4e4]
push eax
lea eax, [esp + 0x4e4]
push eax
lea eax, [esp + 0x4e4]
push eax
call fcn.004306cf
push ebp
push dword [0x4bd358]
mov eax, ebx
push 0xffffffffffffffff
push dword [edi]
shr eax, 0xb
push dword [esp + 0x4f4]
not eax
push dword [esp + 0x4f4]
and eax, 0x200
push dword [esp + 0x4f4]
push dword [esp + 0x4f4]
push esi
push ebp
push str.SysListView32
push eax
call dword [sym.imp.USER32.dll_CreateWindowExW]
push 0x22f4
push 8
push dword [0x4bd354]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebp, eax
test edi, edi
je 0x407c86
test ebp, ebp
je 0x407c86
cmp dword [0x4bc9fc], 0xffffffff
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
jne 0x407b6a
push 0
push 0
push 0x1023
push edi
call esi
push 0
push 0
push 0x1000
push edi
mov dword [0x4bc9fc], eax
call esi
mov dword [0x4bee60], eax
push dword [0x4bee4c]
push 1
push 0x1003
push edi
call esi
push dword [0x4bee50]
push 0
push 0x1003
push edi
call esi
mov eax, ebx
shr eax, 0x16
and eax, 1
or eax, 0x10000
test ebx, 0x800000
je 0x407ba2
or eax, 0x10
test ebx, 0x2000000
je 0x407bad
or eax, 0x20
push eax
push eax
push 0x1036
push edi
call esi
push 0x409cdd
push 0xfffffffffffffffc
push edi
call dword [sym.imp.USER32.dll_SetWindowLongW]
push dword [esp + 0x4d4]
mov dword [0x4bee68], eax
push dword [0x4bef38]
call fcn.00413e63
mov esi, eax
mov eax, dword [esp + 0x4d4]
or dword [esi + 0x14], 0xffffffff
or dword [esi + 0x18], 0xffffffff
or dword [esi + 0x1c], 0xffffffff
mov dword [esi + 0x10], ebp
mov dword [ebp], edi
mov dword [ebp + 8], ebx
mov dword [ebp + 4], eax
test bl, 0x40
je 0x407c13
and dword [ebp + 0x22f0], 0
mov dword [ebp + 0x22ec], 1
lea eax, [ebp + 0x214]
push 0x48d34c
push eax
call fcn.004136f0
pop ecx
pop ecx
push 0x4bdb50
push edi
push esi
push dword [esp + 0x4e0]
call fcn.00430541
push 0x96
push str.PB_Explorer_Column_Name
or ebx, 0xffffffff
mov edi, eax
push ebx
push esi
call fcn.00409985
push 0x50
push str.PB_Explorer_Column_Size
push ebx
push esi
call fcn.00409985
push 0x50
push str.PB_Explorer_Column_Type
push ebx
push esi
call fcn.00409985
push 0x50
push str.PB_Explorer_Column_Modified
push ebx
push esi
call fcn.00409985
push dword [esp + 0x4e8]
push esi
call fcn.004088fe
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c0
ret 0x1c