Function at 0x52a138
Capabilities:
Get file system object information

Disassembly:
push 0x2f8
mov eax, 0x55b82b
call fcn.00531203
mov esi, ecx
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2e4], ecx
test eax, eax
je 0x52a3d5
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
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 - 0x2d4]
mov ecx, dword [0x5d097c]
call fcn.004068a9
test eax, eax
je 0x52a354
push 0xa
lea ecx, [ebp - 0x304]
call fcn.005293dc
push dword [ebp - 0x2d4]
mov ecx, dword [0x5d097c]
and dword [ebp - 4], 0
call fcn.00406809
push eax
lea ecx, [ebp - 0x304]
call fcn.0052951b
lea eax, [ebp - 0x2d8]
push eax
push dword [ebp - 0x2d4]
jmp 0x52a1f5
push dword [ebp - 0x2d8]
lea ecx, [ebp - 0x304]
call fcn.0052951b
lea eax, [ebp - 0x2d8]
push eax
push dword [ebp - 0x2d8]
mov ecx, dword [0x5d097c]
call fcn.00406920
test eax, eax
jg 0x52a1d7
mov ecx, dword [ebp - 0x300]
jmp 0x52a330
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [ebp - 0x2e8], ecx
mov dword [ebp - 0x2e0], eax
test ebx, ebx
je 0x52a31e
push ebx
push 4
push 0x110a
push dword [esi + 0x20]
call edi
test eax, eax
jne 0x52a246
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 - 0x2dc], eax
call edi
mov ecx, eax
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x2d4], ecx
test ecx, ecx
je 0x52a312
push ecx
mov ecx, esi
call fcn.004b8038
test eax, eax
je 0x52a2e9
push 0x208
push 0x160
lea ecx, [ebp - 0x2d0]
push ecx
push 0
push dword [eax + 4]
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
test eax, eax
je 0x52a2e9
push 0x208
push 0x160
lea eax, [ebp - 0x170]
push eax
push 0
push dword [ebp - 0x2e0]
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
test eax, eax
je 0x52a2e9
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x2c4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x52a2e9
inc eax
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x2d4]
mov ebx, eax
jmp 0x52a2ef
mov eax, dword [ebp - 0x2d4]
push eax
push 1
push 0x110a
push dword [esi + 0x20]
call edi
mov ecx, eax
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2dc]
test eax, eax
je 0x52a269
neg eax
sbb eax, eax
and ebx, eax
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [0x5d097c]
push eax
call fcn.00406886
mov ecx, dword [ebp - 0x2e8]
test ecx, ecx
jne 0x52a20f
lea ecx, [ebp - 0x304]
mov dword [ebp - 4], 1
mov dword [ebp - method.CList_class_IControlSiteFactory___class_IControlSiteFactory__.virtual_0], vtable.CList_struct__ITEMIDLIST___struct__ITEMIDLIST__.0
call fcn.004eac9b
test ebx, ebx
je 0x52a3b3
push ebx
push 9
push 0x110b
push dword [esi + 0x20]
mov dword [esi + 0x84], 1
call edi
cmp dword [ebp + 0xc], 0
je 0x52a393
push ebx
push 4
push 0x110a
push dword [esi + 0x20]
call edi
test eax, eax
jne 0x52a393
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 - 0x2e4], 1
jmp 0x52a3b5
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 - 0x2e4]
call fcn.005311ad
ret 8