Function at 0x100316dd
Capabilities:
Get file system object information

Disassembly:
push 0x5a0
mov eax, 0x10141218
call fcn.101237ae
mov esi, ecx
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x57c], eax
mov dword [ebp - 0x58c], ecx
test eax, eax
je 0x1003197a
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push ecx
push ecx
push 0x110a
push dword [esi + 0x20]
call edi
push 0
push 0
push 0xb
push dword [esi + 0x20]
mov ebx, eax
call edi
push dword [ebp - 0x57c]
mov ecx, dword [0x101a3e24]
call fcn.100746d7
test eax, eax
je 0x100318f9
push 0xa
lea ecx, [ebp - 0x5ac]
call fcn.100309ae
push dword [ebp - 0x57c]
mov ecx, dword [0x101a3e24]
and dword [ebp - 4], 0
call fcn.10074637
push eax
lea ecx, [ebp - 0x5ac]
call fcn.1002a8ce
lea eax, [ebp - 0x580]
push eax
push dword [ebp - 0x57c]
jmp 0x1003179a
push dword [ebp - 0x580]
lea ecx, [ebp - 0x5ac]
call fcn.1002a8ce
lea eax, [ebp - 0x580]
push eax
push dword [ebp - 0x580]
mov ecx, dword [0x101a3e24]
call fcn.1007474e
test eax, eax
jg 0x1003177c
mov ecx, dword [ebp - 0x5a8]
jmp 0x100318d5
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [ebp - 0x590], ecx
mov dword [ebp - 0x588], eax
test ebx, ebx
je 0x100318c3
push ebx
push 4
push 0x110a
push dword [esi + 0x20]
call edi
test eax, eax
jne 0x100317eb
push ebx
push 2
push 0x1102
push dword [esi + 0x20]
call edi
push ebx
push 4
push 0x110a
push dword [esi + 0x20]
xor eax, eax
mov dword [ebp - 0x584], eax
call edi
mov ecx, eax
mov eax, dword [ebp - 0x584]
mov dword [ebp - 0x57c], ecx
test ecx, ecx
je 0x100318b7
push ecx
mov ecx, esi
call fcn.10033be6
test eax, eax
je 0x1003188e
push 0x208
push 0x2b4
lea ecx, [ebp - 0x578]
push ecx
push 0
push dword [eax + 4]
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test eax, eax
je 0x1003188e
push 0x208
push 0x2b4
lea eax, [ebp - 0x2c4]
push eax
push 0
push dword [ebp - 0x588]
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test eax, eax
je 0x1003188e
lea eax, [ebp - 0x2b8]
push eax
lea eax, [ebp - 0x56c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1003188e
inc eax
mov dword [ebp - 0x584], eax
mov eax, dword [ebp - 0x57c]
mov ebx, eax
jmp 0x10031894
mov eax, dword [ebp - 0x57c]
push eax
push 1
push 0x110a
push dword [esi + 0x20]
call edi
mov ecx, eax
mov dword [ebp - 0x57c], eax
mov eax, dword [ebp - 0x584]
test eax, eax
je 0x1003180e
neg eax
sbb eax, eax
and ebx, eax
mov eax, dword [ebp - 0x588]
mov ecx, dword [0x101a3e24]
push eax
call fcn.100746b4
mov ecx, dword [ebp - 0x590]
test ecx, ecx
jne 0x100317b4
lea ecx, [ebp - 0x5ac]
mov dword [ebp - 4], 1
mov dword [ebp - method.CMap_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____wchar_t_const___class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____wchar_t_const__.virtual_0], vtable.CList_struct__ITEMIDLIST___struct__ITEMIDLIST__.0
call fcn.1002582c
test ebx, ebx
je 0x10031958
push ebx
push 9
push 0x110b
push dword [esi + 0x20]
mov dword [esi + 0x84], 1
call edi
cmp dword [ebp + 0xc], 0
je 0x10031938
push ebx
push 4
push 0x110a
push dword [esi + 0x20]
call edi
test eax, eax
jne 0x10031938
push ebx
push 2
push 0x1102
push dword [esi + 0x20]
call edi
push ebx
xor ebx, ebx
push ebx
push 0x1114
push dword [esi + 0x20]
call edi
mov dword [esi + 0x84], ebx
mov dword [ebp - 0x58c], 1
jmp 0x1003195a
xor ebx, ebx
push ebx
push 1
push 0xb
push dword [esi + 0x20]
call edi
push 0x105
push ebx
push ebx
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_RedrawWindow]
mov eax, dword [ebp - 0x58c]
call fcn.10123758
ret 8