Function at 0x42fd4e
Capabilities:
Get file system object information

Disassembly:
push 0x76c
mov eax, 0x49faba
call fcn.00481da3
mov eax, dword [ebp + 8]
mov edi, edx
mov dword [ebp - 0x6e4], eax
mov eax, dword [ebp + 0xc]
xor esi, esi
cmp edi, esi
mov ebx, ecx
mov dword [ebp - 0x6f8], ebx
mov dword [ebp - 0x6f4], edi
mov dword [ebp - 0x6e8], eax
jne 0x42fd8f
mov eax, 0x80004003
jmp 0x4302e9
mov dword [ebp - 0x6f0], esi
lea ecx, [ebp - 0x6f0]
push ecx
push 0xa0
mov dword [ebp - 4], esi
push dword [ebx + 0x20]
mov eax, dword [edi]
push edi
call dword [eax + 0x10]
cmp eax, esi
mov dword [ebp - 0x70c], eax
jl 0x430278
mov dword [ebp - method.CPidl.virtual_0], vtable.CPidl.0
mov dword [ebp - 0x6fc], esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x710], esi
call fcn.0045ee43
mov ecx, dword [eax + 4]
call fcn.004620c7
lea edx, [ebp - 0x710]
push edx
lea edx, [ebp - 0x6fc]
push edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0xc]
test eax, eax
jne 0x42fffd
jmp 0x42fe12
mov edi, dword [ebp - 0x6f4]
mov eax, dword [edi]
lea ecx, [ebp - 0x6ec]
push ecx
lea ecx, [ebp - 0x6fc]
push ecx
push 1
push edi
mov dword [ebp - 0x6ec], 0xf0000000
call dword [eax + 0x24]
push 0x206
lea eax, [ebp - 0x21a]
push esi
push eax
mov word [ebp - 0x21c], si
call fcn.0047e7d0
add esp, 0xc
cmp dword [ebp - 0x6e4], esi
jne 0x42ff51
mov edi, dword [ebp - 0x6fc]
mov esi, dword [ebp - 0x6f4]
lea eax, [ebp - 0x21c]
push eax
push 0x8000
call fcn.0042e41b
test eax, eax
pop ecx
pop ecx
je 0x42ffd7
and dword [ebp - 0x704], 0
mov byte [ebp - 0x6dd], 0
mov dword [ebp - method.CPidl.virtual_0], vtable.CPidl.0
test byte [ebx + 0x78], 2
je 0x42fecd
lea eax, [ebx + 0x2b0]
cmp dword [eax + 0x18], 8
jb 0x42feb0
mov eax, dword [eax + 4]
jmp 0x42feb3
add eax, 4
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0047eb9e
test eax, eax
pop ecx
pop ecx
jne 0x42fecd
mov byte [ebp - 0x6dd], 1
test byte [ebx + 0x78], 1
je 0x42ff01
lea eax, [ebx + 0x2e8]
cmp dword [eax + 0x18], 8
jb 0x42fee4
mov eax, dword [eax + 4]
jmp 0x42fee7
add eax, 4
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0047eb9e
test eax, eax
pop ecx
pop ecx
jne 0x42ff01
mov byte [ebp - 0x6dd], 1
test byte [ebx + 0x78], 4
je 0x42ff35
lea eax, [ebx + 0x2cc]
cmp dword [eax + 0x18], 8
jb 0x42ff18
mov eax, dword [eax + 4]
jmp 0x42ff1b
add eax, 4
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0047eb9e
test eax, eax
pop ecx
pop ecx
jne 0x42ff35
mov byte [ebp - 0x6dd], 1
lea ecx, [ebp - 0x708]
mov byte [ebp - 4], 2
call fcn.0042f5aa
cmp byte [ebp - 0x6dd], 0
je 0x42ffd7
mov edi, dword [ebp - 0x6e4]
mov esi, dword [ebx + 0x54]
lea eax, [ebp - 0x21c]
push eax
push 0x8000
call fcn.0042e41b
test eax, eax
pop ecx
pop ecx
je 0x42ffd7
test dword [ebp - 0x6ec], 0x10000000
jne 0x42ffb0
test dword [ebp - 0x6ec], 0x40000000
je 0x42ffd7
lea eax, [ebx + 0x2cc]
cmp dword [eax + 0x18], 8
jb 0x42ff9a
mov eax, dword [eax + 4]
jmp 0x42ff9d
add eax, 4
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0047eb9e
test eax, eax
pop ecx
pop ecx
je 0x42ffd7
test dword [ebp - 0x6ec], 0x90000000
push dword [ebp - 0x6e8]
setne al
push eax
push dword [ebp - 0x6fc]
push edi
push dword [ebp - 0x6f4]
push ebx
call fcn.004309ab
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [eax]
lea edx, [ebp - 0x710]
push edx
lea edx, [ebp - 0x6fc]
push edx
push 1
push eax
call dword [ecx + 0xc]
xor esi, esi
test eax, eax
je 0x42fe0c
mov eax, dword [ebx + 0x60]
cmp eax, dword [ebp - 0x6e8]
je 0x43025a
cmp dword [ebx + 0x7c], esi
je 0x43025a
mov edi, 0x206
push edi
lea eax, [ebp - 0x21a]
push esi
push eax
mov word [ebp - 0x21c], si
call fcn.0047e7d0
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x6e4]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
cmp eax, esi
mov dword [ebp - 0x70c], eax
jl 0x43025a
lea eax, [ebp - 0x21c]
push eax
call fcn.0047ba0d
test eax, eax
pop ecx
jbe 0x43025a
push edi
lea eax, [ebp - 0x422]
push esi
push eax
mov word [ebp - 0x424], si
call fcn.0047e7d0
add esp, 0xc
push 9
pop ecx
xor eax, eax
lea edi, [ebp - 0x734]
push 0x30
mov dword [ebp - 0x738], esi
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x768]
push esi
push eax
mov dword [ebp - 0x76c], esi
call fcn.0047e7d0
add esp, 0xc
push 8
call fcn.0045d815
mov edi, eax
cmp edi, esi
pop ecx
je 0x43025a
push 0x24
call fcn.0045d815
cmp eax, esi
pop ecx
je 0x4300e9
mov dword [eax + 0x18], 7
mov dword [eax + 0x14], esi
mov word [eax + 4], si
mov dword [eax + 0x1c], vtable.CPidl.0
mov dword [eax + 0x20], esi
mov dword [ebp - 0x6e4], eax
jmp 0x4300ef
mov dword [ebp - 0x6e4], esi
mov eax, dword [ebp - 0x6e4]
cmp eax, esi
jne 0x430105
push edi
call fcn.0045d845
pop ecx
jmp 0x43025a
mov dword [edi + 4], eax
lea eax, [ebp - 0x424]
push eax
mov dword [edi], 1
mov dword [ebp - 0x738], 0x2f
mov dword [ebp - 0x72c], 0xf000
call fcn.0047ba0d
mov esi, dword [ebp - 0x6e4]
pop ecx
lea ecx, [ebp - 0x424]
push ecx
call fcn.0042b9e5
mov eax, 0x4ad078
push eax
mov dword [ebp - 0x728], eax
call fcn.0047ba0d
mov dword [ebp - 0x724], eax
mov eax, dword [0x4e9164]
cmp eax, 0xffffffff
pop ecx
jne 0x4301a8
xor esi, esi
push 0x2b0
lea eax, [ebp - 0x6d8]
push esi
push eax
mov dword [ebp - 0x6dc], esi
call fcn.0047e7d0
add esp, 0xc
push 0x4011
push 0x2b4
lea eax, [ebp - 0x6dc]
push eax
push esi
push 0x4b9940
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 0x6d8]
mov dword [0x4e9164], eax
push 0xa
pop ecx
mov dword [ebp - 0x720], eax
mov dword [ebp - 0x71c], eax
mov eax, dword [ebp - 0x6e8]
mov dword [ebp - 0x714], edi
lea esi, [ebp - 0x738]
lea edi, [ebp - 0x764]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x76c], eax
lea eax, [ebp - 0x76c]
push eax
push 0
push 0x1132
push dword [ebx + 0x20]
mov dword [ebp - 0x768], 0xffff0001
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
mov eax, dword [ebp - 0x6e4]
mov dword [ebp - 0x708], eax
lea eax, [ebp - 0x708]
push eax
lea eax, [ebx + 0x2a4]
lea ebx, [ebp - 0x778]
mov dword [ebp - 0x704], edi
call fcn.00432384
xor eax, eax
cmp dword [ebp - 0x6e8], 0xffff0000
je 0x430243
push dword [ebp - 0x6e8]
push dword [ebp - 0x6f8]
call fcn.004312c6
mov ecx, dword [ebp - 0x6f8]
mov esi, eax
mov eax, edi
call fcn.004312a1
mov ebx, dword [ebp - 0x6f8]
xor esi, esi
lea ecx, [ebp - 0x6dd]
mov byte [ebp - 4], 1
call fcn.00432d6b
lea ecx, [ebp - 0x700]
mov byte [ebp - 4], 0
call fcn.0042f5aa
push dword [ebp - 0x6e8]
push 4
push 0x110a
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne 0x4302cf
push 9
pop ecx
lea edi, [ebp - 0x734]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x6e8]
mov dword [ebp - 0x734], eax
lea eax, [ebp - 0x738]
push eax
push esi
push 0x113f
push dword [ebx + 0x20]
mov dword [ebp - 0x738], 0x40
mov dword [ebp - 0x718], esi
call dword [sym.imp.USER32.dll_SendMessageW]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x6f0]
cmp eax, esi
je 0x4302e3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x70c]
call fcn.00481e26
ret 8