Function at 0x4ab85c
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe7c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x184], ebx
mov dword [ebp - 0x180], ebx
mov dword [ebp - 0x17c], ebx
mov dword [ebp - 0x178], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x4abaff
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x1100
push 0x160
lea eax, [ebp - 0x174]
push eax
push 0
mov eax, ebx
call fcn.004045fc
push eax
call sub.shell32.dll_SHGetFileInfoA
mov eax, dword [ebp - 4]
lea edx, [ebp - 0x168]
mov ecx, 0x104
call fcn.004043ac
mov eax, dword [ebp - 4]
cmp dword [eax], 0
je 0x4ab8e8
mov eax, dword [ebp - 0x170]
mov dword [esi], eax
jmp 0x4abad4
mov edx, ebx
mov eax, 0x4abb18
call fcn.00404740
test eax, eax
jle 0x4ab91a
lea ecx, [ebp - 0x178]
mov edx, 0x4abb1c
mov eax, ebx
call fcn.004ab720
mov eax, dword [ebp - 0x178]
lea edx, [ebp - 0xc]
call fcn.00409038
jmp 0x4ab924
lea edx, [ebp - 0xc]
mov eax, ebx
call fcn.004ab7a8
mov eax, dword [ebp - 0xc]
call fcn.004043fc
test eax, eax
je 0x4abad4
mov dl, 1
mov eax, dword [0x430dd4]
call fcn.00430ea4
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4abaaf
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000000
mov eax, dword [ebp - 8]
call fcn.00430f80
xor ecx, ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.00430fe4
test al, al
je 0x4ab97c
mov ecx, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00431468
push 0x4abb44
mov eax, dword [ebp - 4]
push dword [eax]
push 0x4abb50
lea eax, [ebp - 0x17c]
mov edx, 3
call fcn.004044bc
mov edx, dword [ebp - 0x17c]
xor ecx, ecx
mov eax, dword [ebp - 8]
call fcn.00430fe4
test al, al
je 0x4ab9bc
mov ecx, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00431468
mov eax, dword [ebp - 4]
mov eax, dword [eax]
call fcn.004043fc
test eax, eax
jle 0x4aba99
mov edx, dword [ebp - 4]
mov edx, dword [edx]
mov eax, 0x4abb68
call fcn.00404740
test eax, eax
jle 0x4ab9eb
mov eax, dword [ebp - 4]
mov edx, ebx
call fcn.00404190
mov edx, dword [ebp - 4]
mov edx, dword [edx]
mov eax, 0x4abb74
call fcn.00404740
mov ebx, eax
lea eax, [ebp - 0x10]
call fcn.0040413c
test ebx, ebx
jle 0x4aba34
lea eax, [ebp - 0x10]
push eax
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, 0x7fffffff
call fcn.0040465c
mov eax, dword [ebp - 4]
push eax
mov ecx, ebx
dec ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov edx, 1
call fcn.0040465c
lea eax, [ebp - 0x14]
call fcn.0040413c
mov eax, dword [ebp - 0x10]
call fcn.004043fc
mov edi, eax
test edi, edi
jle 0x4aba88
mov ebx, 1
mov eax, dword [ebp - 0x10]
mov al, byte [eax + ebx - 1]
mov edx, 0x4abb78
call fcn.0048b080
test al, al
je 0x4aba84
lea eax, [ebp - 0x180]
mov edx, dword [ebp - 0x10]
mov dl, byte [edx + ebx - 1]
call fcn.00404324
mov edx, dword [ebp - 0x180]
lea eax, [ebp - 0x14]
call fcn.00404404
inc ebx
dec edi
jne 0x4aba4f
xor edx, edx
mov eax, dword [ebp - 0x14]
call fcn.00408b50
cdq
xor eax, edx
sub eax, edx
mov dword [esi], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4abab6
mov eax, dword [ebp - 8]
call fcn.0040334c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4abb06
lea eax, [ebp - 0x184]
mov edx, 4
call fcn.00404160
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00404160
ret