Function at 0x518a74
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffa9c
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x564], ecx
mov dword [ebp - 0x560], ecx
mov dword [ebp - 0x55c], ecx
mov dword [ebp - 0x554], ecx
mov dword [ebp - 0x558], ecx
mov dword [ebp - 0x550], ecx
mov dword [ebp - 0x54c], ecx
mov dword [ebp - 0x548], ecx
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push 0x518d64
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x518d3c
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [esi + 0x300]
mov eax, dword [eax + 0x20c]
call fcn.004c6f78
mov eax, dword [esi + 0x308]
call fcn.0043db30
mov eax, dword [0x5281bc]
push dword [eax]
push ebx
push 0x518d7c
lea eax, [ebp - 0x548]
mov edx, 3
call fcn.00403fa0
mov eax, dword [ebp - 0x548]
call fcn.004090f8
test al, al
je 0x518d32
mov eax, dword [0x5281bc]
push dword [eax]
push ebx
push 0x518d7c
lea eax, [ebp - 0x54c]
mov edx, 3
call fcn.00403fa0
mov edx, dword [ebp - 0x54c]
lea eax, [ebp - 0x154]
call fcn.00405e4a
mov edx, 0x28e
lea eax, [ebp - 0x154]
call fcn.00406105
call fcn.004027fc
lea eax, [ebp - 0x154]
call fcn.00405f28
call fcn.004027fc
dec eax
test eax, eax
jl 0x518d22
inc eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x154]
call fcn.0040613c
call fcn.004027fc
lea edx, [ebp - 0x3e2]
lea eax, [ebp - 0x154]
call fcn.00405f68
call fcn.004027fc
mov dl, 1
mov eax, dword [0x41a6c4]
call fcn.004223ec
mov ebx, eax
mov eax, dword [0x528430]
mov eax, dword [eax]
mov eax, dword [eax + 0x88]
call fcn.00422528
mov edx, eax
mov eax, ebx
call fcn.004227bc
mov eax, dword [esi + 0x308]
mov edx, ebx
call fcn.0043d7c0
push pe_nt_image_headers32
push 0x160
lea eax, [ebp - 0x544]
push eax
push 0
lea eax, [ebp - 0x550]
lea edx, [ebp - 0x391]
call fcn.00403e84
mov eax, dword [ebp - 0x550]
call fcn.004040a4
push eax
call sub.shell32.dll_SHGetFileInfoA
mov eax, dword [ebp - 0x544]
test eax, eax
je 0x518c3d
mov edx, eax
mov eax, ebx
call fcn.004227bc
mov eax, dword [esi + 0x308]
mov edx, ebx
call fcn.0043d7c0
mov edi, eax
jmp 0x518c3f
xor edi, edi
mov eax, ebx
call fcn.00402ef8
mov eax, dword [esi + 0x300]
mov eax, dword [eax + 0x20c]
call fcn.004c6e44
mov ebx, eax
lea eax, [ebp - 0x558]
lea edx, [ebp - 0x391]
call fcn.00403e84
mov eax, dword [ebp - 0x558]
lea edx, [ebp - 0x554]
call fcn.00408920
mov edx, dword [ebp - 0x554]
mov eax, 0x518d8c
call fcn.004041cc
test eax, eax
jle 0x518caf
mov eax, dword [esi + 0x320]
mov eax, dword [eax + 0x128]
call fcn.0041e820
mov edx, eax
mov eax, dword [esi + 0x308]
call fcn.0043d7c0
mov edi, eax
mov ecx, edi
xor edx, edx
mov eax, ebx
call fcn.004c6a84
lea eax, [ebp - 0x55c]
lea edx, [ebp - 0x3e2]
call fcn.00403e84
mov edx, dword [ebp - 0x55c]
mov eax, ebx
call fcn.004c68e0
lea eax, [ebp - 0x560]
lea edx, [ebp - 0x391]
call fcn.00403e84
mov edx, dword [ebp - 0x560]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x564]
lea edx, [ebp - 0x291]
call fcn.00403e84
mov edx, dword [ebp - 0x564]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
inc dword [ebp - 4]
dec dword [ebp - 8]
jne 0x518b85
lea eax, [ebp - 0x154]
call fcn.00405eec
call fcn.004027fc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x518d46
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x518d6b
lea eax, [ebp - 0x564]
mov edx, 8
call fcn.00403c84
ret