Function at 0x6064e0
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
mov dword [ebp - 0x21c], ebx
mov dword [ebp - 0x218], esi
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
call fcn.00408320
lea ecx, [ebp - 0x1d0]
lea edx, [ebp - 0x1e8]
mov eax, 1
call fcn.0040d0e0
call fcn.0040f290
push eax
test eax, eax
jne 0x606a77
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x178], 0
mov byte [ebp - 0x1bc], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x54]
cmp eax, 0x10
jg 0x606597
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4c]
cmp eax, 0x10
jg 0x606597
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc0]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x54]
cmp eax, 0x10
jne 0x60657e
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4c]
cmp eax, 0x10
jne 0x60657e
mov byte [ebp - 0x1bc], 0
mov dword [ebp - 0x198], 0x10
mov dword [ebp - 0x19c], 0x10
jmp 0x60669f
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x54]
cmp eax, 0x20
jg 0x6065ef
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4c]
cmp eax, 0x20
jg 0x6065ef
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xbc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x54]
cmp eax, 0x20
jne 0x6065d6
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4c]
cmp eax, 0x20
jne 0x6065d6
mov byte [ebp - 0x1bc], 0
mov dword [ebp - 0x198], 0x20
mov dword [ebp - 0x19c], 0x20
jmp 0x60669f
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x54]
cmp eax, 0x30
jg 0x606644
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4c]
cmp eax, 0x30
jg 0x606644
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xb8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x54]
cmp eax, 0x30
jne 0x60662e
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4c]
cmp eax, 0x30
jne 0x60662e
mov byte [ebp - 0x1bc], 0
mov dword [ebp - 0x198], 0x30
mov dword [ebp - 0x19c], 0x30
jmp 0x60669f
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x54]
cmp eax, 0x100
jg 0x60669f
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4c]
cmp eax, 0x100
jg 0x60669f
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xb4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x54]
cmp eax, 0x100
jne 0x60668b
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4c]
cmp eax, 0x100
jne 0x60668b
mov byte [ebp - 0x1bc], 0
mov dword [ebp - 0x198], 0x100
mov dword [ebp - 0x19c], 0x100
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x6066ef
mov byte [ebp - 0x1bc], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xb8]
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x6066c9
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xbc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x6066dc
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc0]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x6066ef
mov dword [ebp - 0xc], 0
jmp 0x606a77
mov dword [ebp - 0x194], 0xffffffff
mov eax, dword [ebp - 0x178]
or eax, 0x4000
or eax, 0x10
mov dword [ebp - 0x178], eax
push dword [ebp - 0x178]
push 0x160
lea eax, [ebp - 0x174]
push eax
push pe_nt_image_headers32
mov eax, dword [ebp - 4]
test eax, eax
jne 0x606730
mov eax, 0x7cbe60
push eax
call sub.shell32.dll_SHGetFileInfoA
test eax, eax
je 0x606746
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x194]
cmp eax, 0xffffffff
je 0x606a77
lea ecx, [ebp - 0x1f8]
lea edx, [ebp - 0x210]
mov eax, 1
call fcn.0040d0e0
call fcn.0040f290
push eax
test eax, eax
jne 0x606a50
push 0
push dword [ebp - 0x194]
push dword [ebp - 0x14]
call sub.comctl32.dll_ImageList_GetIcon
mov dword [ebp - 0x1a8], eax
test eax, eax
jbe 0x606a50
lea edx, [ebp - 0x18c]
mov eax, dword [ebp - 0x1a8]
call fcn.004d3f60
test al, al
je 0x606a50
mov edx, 0x73100c
mov eax, 0
mov ecx, 0x73100c
call dword [ecx + 0xbc]
mov dword [ebp - 0x190], eax
push 0
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x190]
call fcn.004e2670
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp - 0x190]
mov edx, dword [edx]
call dword [edx + 0x98]
cmp eax, 0x100
jne 0x606952
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp - 0x190]
mov edx, dword [edx]
call dword [edx + 0x88]
cmp eax, 0x100
jne 0x606952
mov byte [ebp - 0x1c0], 0
mov eax, dword [ebp - 0x190]
call fcn.004e25a0
mov ebx, eax
mov ecx, 0x30
mov edx, 0
mov esi, dword [ebx]
call dword [esi + 0x138]
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1a4], 0x30
dec dword [ebp - 0x1a4]
nop
inc dword [ebp - 0x1a4]
mov dword [ebp - 0x1a0], 0
dec dword [ebp - 0x1a0]
mov esi, esi
inc dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x190]
call fcn.004e25a0
mov ebx, eax
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x1a0]
mov eax, ebx
mov esi, dword [ebx]
call dword [esi + 0x138]
cmp eax, dword [ebp - 0x1c4]
je 0x6068ba
mov byte [ebp - 0x1c0], 1
jmp 0x6068c6
cmp dword [ebp - 0x1a0], 0xff
jl 0x606880
cmp byte [ebp - 0x1c0], 0
jne 0x6068d8
cmp dword [ebp - 0x1a4], 0x31
jl 0x606868
mov al, byte [ebp - 0x1c0]
test al, al
jne 0x606952
push 0
push dword [ebp - 0x194]
mov eax, dword [ebp - 8]
push dword [eax + 0xb8]
call sub.comctl32.dll_ImageList_GetIcon
mov dword [ebp - 0x1a8], eax
test eax, eax
jbe 0x606952
lea edx, [ebp - 0x18c]
mov eax, dword [ebp - 0x1a8]
call fcn.004d3f60
test al, al
je 0x606952
mov edx, 0x73100c
mov eax, 0
mov ecx, 0x73100c
call dword [ecx + 0xbc]
mov dword [ebp - 0x190], eax
push 0
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x190]
call fcn.004e2670
mov byte [ebp - 0x1bc], 1
cmp byte [ebp - 0x1bc], 0
je 0x606a14
mov eax, dword [ebp - 8]
cmp byte [eax + 0xa4], 0
je 0x606a14
mov edx, 0x73100c
mov eax, 0
mov ecx, 0x73100c
call dword [ecx + 0xbc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x4c]
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 0xc]
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx]
call dword [ebx + 0x158]
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x54]
dec eax
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4c]
dec eax
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0xc]
call fcn.004e25a0
mov ebx, eax
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0xa8]
mov eax, ebx
call fcn.004ebe20
mov eax, dword [ebp - 0xc]
call fcn.004e25a0
mov ebx, eax
mov ecx, dword [ebp - 0x190]
lea edx, [ebp - 0x1b8]
mov eax, ebx
mov esi, dword [ebx]
call dword [esi + 0x1b8]
mov eax, dword [ebp - 0x190]
call fcn.0040c5c0
cmp dword [ebp - 0xc], 0
je 0x606a50
mov eax, dword [ebp - 0xc]
call fcn.004e25a0
mov ebx, eax
mov ecx, 0
mov edx, 0
mov esi, dword [ebx]
call dword [esi + 0x138]
mov edx, eax
mov eax, dword [ebp - 0xc]
call fcn.004e2880
mov eax, dword [ebp - 0xc]
mov dl, 1
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx]
call dword [ecx + 0x148]
call fcn.0040d3b0
mov eax, dword [ebp - 0x1a8]
test eax, eax
jbe 0x606a6a
push dword [ebp - 0x1a8]
call sub.user32.dll_DestroyIcon
pop eax
test eax, eax
je 0x606a77
dec eax
test eax, eax
call fcn.0040d520
call fcn.0040d3b0
lea eax, [ebp - 4]
call fcn.00404c10
pop eax
test eax, eax
je 0x606a8e
call fcn.0040d520
mov eax, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x218]
leave
ret