Function at 0x547880
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 - 0x17c], edx
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x170], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00405148
xor eax, eax
push ebp
push 0x547be4
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [0x7251b0]
cmp dword [eax], 0
je 0x547bbe
mov eax, dword [0x7251b0]
mov eax, dword [eax]
cmp dword [eax + 0x308], 0
je 0x547bbe
lea edx, [ebp - 0x170]
mov eax, dword [ebp - 4]
call fcn.00409dac
mov edx, dword [ebp - 0x170]
lea eax, [ebp - 4]
call fcn.00404d20
mov al, byte [0x547bf8]
push eax
lea eax, [ebp - 0x174]
push eax
xor ecx, ecx
mov edx, 0x547c04
mov eax, dword [ebp - 4]
call fcn.0040f7a0
mov edx, dword [ebp - 0x174]
lea eax, [ebp - 4]
call fcn.00404d20
mov al, byte [0x547bf8]
push eax
lea eax, [ebp - 0x178]
push eax
xor ecx, ecx
mov edx, 0x547c10
mov eax, dword [ebp - 4]
call fcn.0040f7a0
mov edx, dword [ebp - 0x178]
lea eax, [ebp - 4]
call fcn.00404d20
lea edx, [ebp - 0x17c]
mov eax, dword [ebp - 4]
call fcn.004099c4
mov ecx, dword [ebp - 0x17c]
lea eax, [ebp - 4]
mov edx, 0x547c10
call fcn.00404fa4
mov eax, dword [ebp - 4]
call fcn.00404f58
dec eax
jle 0x547997
mov eax, dword [ebp - 4]
mov edx, 0x547c10
call fcn.004050a4
jne 0x5479a3
mov dword [ebp - 8], 1
jmp 0x547bbe
mov eax, dword [0x7251b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x308]
xor ecx, ecx
mov edx, dword [ebp - 4]
call fcn.0054770c
test eax, eax
jl 0x5479c6
mov dword [ebp - 8], eax
jmp 0x547bbe
xor eax, eax
push ebp
push 0x547bb4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, 0x547c1c
call fcn.004050a4
jne 0x547a8c
mov dl, 1
mov eax, dword [0x4288d0]
call fcn.00431084
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x547a85
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x7251b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f8]
mov ecx, dword [ebp - 0xc]
mov edx, 0xee
call fcn.0048a9d8
mov eax, dword [0x7251b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
call fcn.0048aa3c
mov dword [ebp - 8], eax
mov eax, dword [0x7251b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, dword [ebp - 0xc]
call fcn.0048a924
mov eax, dword [0x7251b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x308]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x38]
call fcn.0040470c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x547bbe
mov dl, 1
mov eax, dword [0x4288d0]
call fcn.00431084
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x547ba3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, 0x547c34
call fcn.004050a4
jne 0x547ad7
push 0x4111
push 0x160
lea eax, [ebp - 0x16c]
push eax
push 0x10
push 0x547c40
call sub.shell32.dll_SHGetFileInfoA
jmp 0x547b11
push 0x4111
push 0x160
lea eax, [ebp - 0x16c]
push eax
push 0x80
lea eax, [ebp - 0x180]
mov ecx, dword [ebp - 4]
mov edx, 0x547c04
call fcn.00404fa4
mov eax, dword [ebp - 0x180]
call fcn.00405158
push eax
call sub.shell32.dll_SHGetFileInfoA
xor eax, eax
push ebp
push 0x547b86
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0xc]
call fcn.00431490
mov eax, dword [0x7251b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
call fcn.0048aa3c
mov dword [ebp - 8], eax
mov eax, dword [0x7251b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
mov edx, dword [ebp - 0xc]
call fcn.0048a924
mov eax, dword [0x7251b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x308]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x547b8d
mov eax, dword [ebp - 0x16c]
push eax
call fcn.00407f7c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x547beb
lea eax, [ebp - 0x180]
mov edx, 5
call fcn.00404cac
lea eax, [ebp - 4]
call fcn.00404c88
ret