Function at 0x4b8760
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c0
mov eax, dword [0x5f0524]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
mov dword [esi + 0x90], 0
mov dword [esi + 0x94], 0
mov dword [esi + 0x98], 0
mov byte [esi + 0x9c], 0
mov dword [esi + 0xa0], 0
mov dword [esi + 0xa4], 0
call fcn.00407f70
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, eax
mov dword [ebp - 0x2c0], edi
lea eax, [edi + 0x1c]
push eax
mov dword [ebp - 0x2bc], eax
call ebx
mov eax, dword [edi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4b87ff
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2bc], eax
lea eax, [edi + 0x1c]
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push eax
call edi
mov eax, dword [ebp - 0x2bc]
jmp 0x4b8819
mov eax, dword [ebp - 0x2bc]
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push eax
call edi
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [esi + 0x650], eax
mov dword [esi + 0xa2c], 0
mov dword [esi + 0xa30], 0
mov dword [esi + 0xa34], 0
mov dword [esi + 0xa38], 0
call fcn.00407db0
mov dword [ebp - 0x2bc], eax
add eax, 0x1c
push eax
mov dword [ebp - 0x2c0], eax
call ebx
mov ecx, dword [ebp - 0x2bc]
push dword [ebp - 0x2c0]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4b888f
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2bc], eax
call edi
mov eax, dword [ebp - 0x2bc]
jmp 0x4b889c
call edi
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [esi + 0x688], eax
call fcn.00407db0
mov dword [ebp - 0x2c0], eax
add eax, 0x1c
push eax
mov dword [ebp - 0x2bc], eax
call ebx
mov ecx, dword [ebp - 0x2c0]
push dword [ebp - 0x2bc]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4b88ea
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2c0], eax
call edi
mov eax, dword [ebp - 0x2c0]
jmp 0x4b88f7
call edi
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [esi + 0x838], eax
call fcn.004b79e0
mov dword [ebp - 0x2c0], eax
add eax, 0x1c
push eax
mov dword [ebp - 0x2bc], eax
call ebx
mov ecx, dword [ebp - 0x2c0]
push dword [ebp - 0x2bc]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4b8945
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x2c0], ecx
call edi
mov eax, dword [ebp - 0x2c0]
jmp 0x4b8958
call edi
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [ebp - 0x2c0], eax
lea ecx, [eax + 4]
mov dword [esi + 0xa80], eax
mov edx, dword [ecx]
call dword [edx + 8]
push 0x4101
push 0x2b4
lea eax, [ebp - 0x2b8]
push eax
push 0
push 0x5b9058
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov ecx, dword [ebp - 0x2c0]
mov dword [ecx + 0xc], eax
mov byte [ecx + 0x10], 0
mov dword [esi + 0xa88], 0
call fcn.004d71c0
mov dword [ebp - 0x2bc], eax
add eax, 0x1c
push eax
call ebx
mov edx, dword [ebp - 0x2bc]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4b89db
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2bc], eax
lea eax, [edx + 0x1c]
push eax
call edi
mov eax, dword [ebp - 0x2bc]
jmp 0x4b89ec
lea eax, [edx + 0x1c]
push eax
call edi
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [esi + 0xa90], eax
call fcn.004b1f40
mov dword [esi + 0xa98], eax
mov dword [esi + 0xa9c], 0
mov dword [esi + 0xaa4], 0
mov dword [esi + 0xaa8], 0
call fcn.004b7ca0
mov dword [ebp - 0x2c0], eax
add eax, 0x1c
push eax
mov dword [ebp - 0x2bc], eax
call ebx
mov ecx, dword [ebp - 0x2c0]
push dword [ebp - 0x2bc]
mov eax, dword [ecx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4b8a63
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2c0], eax
call edi
mov eax, dword [ebp - 0x2c0]
jmp 0x4b8a70
call edi
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [esi + 0xacc], eax
mov dword [esi + 0xb2c], 0
mov dword [esi + 0xb60], 0
mov dword [esi + 0x4a0], 0
call fcn.00407db0
mov dword [ebp - 0x2bc], eax
add eax, 0x1c
push eax
mov dword [ebp - 0x2c0], eax
call ebx
mov ebx, dword [ebp - 0x2bc]
mov eax, dword [ebx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4b8ad1
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x2c0]
push eax
call edi
jmp 0x4b8ade
lea eax, [ebx + 0x1c]
push eax
call edi
mov eax, dword [ebx + 0x3c]
call eax
mov ebx, eax
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov dword [esi + 0xb80], ebx
call dword [eax + 8]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0051a19b
mov esp, ebp
pop ebp
ret