Function at 0x4bc944
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe80
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x180], edx
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x17c], edx
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x170], edx
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x168], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x4bcca2
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4bcc78
push dword fs:[eax]
mov dword fs:[eax], esp
cmp bl, 1
jne 0x4bc9aa
mov eax, dword [ebp + 8]
mov word [eax - 2], 1
jmp 0x4bc9b3
mov eax, dword [ebp + 8]
mov word [eax - 2], 0
mov eax, dword [ebp + 8]
mov edx, dword [eax - 8]
mov eax, 0x4bccbc
call fcn.00404e04
test eax, eax
jg 0x4bc9db
mov eax, dword [ebp + 8]
mov edx, dword [eax - 8]
mov eax, 0x4bccc8
call fcn.00404e04
test eax, eax
jle 0x4bc9fd
lea edx, [ebp - 0x168]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 8]
call fcn.00409bc4
mov edx, dword [ebp - 0x168]
mov eax, dword [ebp + 8]
add eax, 0xfffffff8
call fcn.00404898
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc], 0
jle 0x4bca5e
test bl, bl
je 0x4bca34
push 1
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 8]
call fcn.00404cc0
push eax
call sub.shell32.dll_ExtractIconExA
jmp 0x4bcc55
push 1
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x164]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 8]
call fcn.00404cc0
push eax
call sub.shell32.dll_ExtractIconExA
jmp 0x4bcc55
lea edx, [ebp - 0x16c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 8]
call fcn.00408c4c
mov eax, dword [ebp - 0x16c]
mov edx, 0x4bccd4
call fcn.00404c0c
jne 0x4bcacd
test bl, bl
je 0x4bcaa0
push 1
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 4]
push eax
push 0x55
push 0x4bccdc
call sub.shell32.dll_ExtractIconExA
jmp 0x4bcab9
push 1
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x164]
push eax
push 0x55
push 0x4bccdc
call sub.shell32.dll_ExtractIconExA
mov esi, 0x4bcd00
lea edi, [ebp - 0x54]
mov ecx, 0x14
rep movsd dword es:[edi], dword [esi]
jmp 0x4bcc55
lea edx, [ebp - 0x170]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 8]
call fcn.00408c4c
mov eax, dword [ebp - 0x170]
mov edx, 0x4bcd58
call fcn.00404c0c
je 0x4bcb13
lea edx, [ebp - 0x174]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 8]
call fcn.00408c4c
mov eax, dword [ebp - 0x174]
mov edx, 0x4bcd68
call fcn.00404c0c
jne 0x4bcb51
mov eax, dword [ebp + 8]
mov ax, word [eax - 2]
or ax, 0x100
or ax, 0x400
or ax, 0x10
movzx eax, ax
push eax
push 0x160
lea eax, [ebp - 0x164]
push eax
push 0x80
mov eax, dword [ebp + 8]
mov eax, dword [eax - 8]
call fcn.00404cc0
push eax
call sub.shell32.dll_SHGetFileInfoA
jmp 0x4bcc55
lea edx, [ebp - 0x17c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 8]
call fcn.00409b7c
mov eax, dword [ebp - 0x17c]
lea edx, [ebp - 0x178]
call fcn.00408c4c
mov eax, dword [ebp - 0x178]
mov edx, 0x4bcd78
call fcn.00404c0c
je 0x4bcc1e
mov eax, dword [ebp + 8]
mov ax, word [eax - 2]
or ax, 0x100
or ax, 0x400
movzx eax, ax
push eax
push 0x160
lea eax, [ebp - 0x164]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 8]
call fcn.00404cc0
push eax
call sub.shell32.dll_SHGetFileInfoA
lea eax, [ebp - 0x180]
lea edx, [ebp - 0x54]
mov ecx, 0x50
call fcn.00404a70
mov eax, dword [ebp - 0x180]
mov edx, 0x4bcd88
call fcn.00404c0c
jne 0x4bcc55
mov eax, dword [ebp + 8]
mov ax, word [eax - 2]
or ax, 0x8100
or ax, 0x400
movzx eax, ax
push eax
push 0x160
lea eax, [ebp - 0x164]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 8]
call fcn.00404cc0
push eax
call sub.shell32.dll_SHGetFileInfoA
jmp 0x4bcc55
mov eax, dword [ebp + 8]
mov ax, word [eax - 2]
or ax, 0x8100
or ax, 0x400
movzx eax, ax
push eax
push 0x160
lea eax, [ebp - 0x164]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 8]
call fcn.00404cc0
push eax
call sub.shell32.dll_SHGetFileInfoA
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
lea edx, [ebp - 0x54]
mov ecx, 0x50
call fcn.00404a70
mov ebx, dword [ebp - 0x164]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4bcc84
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bcca9
lea eax, [ebp - 0x180]
mov edx, 7
call fcn.00404824
ret