Function at 0x10031703
Capabilities:
Get file system object information

Disassembly:
push 0x5a0
mov eax, 0x1014123b
call fcn.101237d7
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 0x100319a0
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.100746f8
test eax, eax
je 0x1003191f
push 0xa
lea ecx, [ebp - 0x5ac]
call fcn.100309d4
push dword [ebp - 0x57c]
mov ecx, dword [0x101a3e24]
and dword [ebp - 4], 0
call fcn.10074658
push eax
lea ecx, [ebp - 0x5ac]
call fcn.1002a8f4
lea eax, [ebp - 0x580]
push eax
push dword [ebp - 0x57c]
jmp 0x100317c0
push dword [ebp - 0x580]
lea ecx, [ebp - 0x5ac]
call fcn.1002a8f4
lea eax, [ebp - 0x580]
push eax
push dword [ebp - 0x580]
mov ecx, dword [0x101a3e24]
call fcn.1007476f
test eax, eax
jg 0x100317a2
mov ecx, dword [ebp - 0x5a8]
jmp 0x100318fb
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [ebp - 0x590], ecx
mov dword [ebp - 0x588], eax
test ebx, ebx
je 0x100318e9
push ebx
push 4
push 0x110a
push dword [esi + 0x20]
call edi
test eax, eax
jne 0x10031811
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 0x100318dd
push ecx
mov ecx, esi
call fcn.10033c0c
test eax, eax
je 0x100318b4
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 0x100318b4
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 0x100318b4
lea eax, [ebp - 0x2b8]
push eax
lea eax, [ebp - 0x56c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x100318b4
inc eax
mov dword [ebp - 0x584], eax
mov eax, dword [ebp - 0x57c]
mov ebx, eax
jmp 0x100318ba
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 0x10031834
neg eax
sbb eax, eax
and ebx, eax
mov eax, dword [ebp - 0x588]
mov ecx, dword [0x101a3e24]
push eax
call fcn.100746d5
mov ecx, dword [ebp - 0x590]
test ecx, ecx
jne 0x100317da
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.10025852
test ebx, ebx
je 0x1003197e
push ebx
push 9
push 0x110b
push dword [esi + 0x20]
mov dword [esi + 0x84], 1
call edi
cmp dword [ebp + 0xc], 0
je 0x1003195e
push ebx
push 4
push 0x110a
push dword [esi + 0x20]
call edi
test eax, eax
jne 0x1003195e
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 0x10031980
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.10123781
ret 8