Function at 0x436880
Capabilities:
Get file system object information

Disassembly:
sub esp, 0xc
push ebx
mov ebx, dword [esp + 0x14]
push ebp
push esi
push edi
push ebx
call fcn.004146fc
pop ecx
lea esi, [ebx + eax*2]
jmp 0x4368a0
cmp word [esi], 0x2e
je 0x4368a4
sub esi, 2
cmp esi, ebx
jae 0x436897
add esi, 2
push esi
call fcn.004146fc
pop ecx
cmp eax, 4
ja 0x436afb
lea eax, [esp + 0x10]
push esi
push eax
call fcn.004c6fd3
pop ecx
pop ecx
lea edi, [esp + 0x10]
movzx esi, word [edi]
mov ecx, esi
cmp esi, 0x61
lea eax, [ecx - 0x20]
movzx edx, ax
mov eax, ecx
cmovb edx, eax
lea eax, [esp + 0x16]
mov word [edi], dx
add edi, 2
cmp edi, eax
jbe 0x4368c8
lea eax, [esp + 0x10]
push 0x4f6fcc
push eax
call fcn.004d3e0c
pop ecx
pop ecx
test eax, eax
je 0x436afb
lea eax, [esp + 0x10]
push 0x4f6fd4
push eax
call fcn.004d3e0c
pop ecx
pop ecx
test eax, eax
je 0x436afb
lea eax, [esp + 0x10]
push 0x4f6fdc
push eax
call fcn.004d3e0c
pop ecx
pop ecx
test eax, eax
je 0x436afb
lea eax, [esp + 0x10]
push 0x4f6fe4
push eax
call fcn.004d3e0c
pop ecx
pop ecx
test eax, eax
je 0x436afb
mov ecx, dword [0x52d3a8]
xor esi, esi
mov edi, esi
test ecx, ecx
jle 0x436983
mov ebp, esi
mov eax, dword [0x52d3b4]
add eax, ebp
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004d3e0c
pop ecx
pop ecx
test eax, eax
je 0x4369c1
mov ecx, dword [0x52d3a8]
inc edi
add ebp, 0x10
cmp edi, ecx
jl 0x43695d
mov edx, dword [0x52d3a4]
lea eax, [ecx + 1]
shl eax, 4
cmp eax, edx
jbe 0x4369e4
add edx, 0x640
push edx
push dword [0x52d3b4]
mov dword [0x52d3a4], edx
push 8
push dword [0x529ae8]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov ecx, dword [0x52d3a8]
mov dword [0x52d3b4], eax
jmp 0x4369e9
mov edx, dword [0x52d3b4]
add edi, edi
mov eax, dword [0x52d3b0]
mov ecx, dword [edx + edi*8 + 8]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x24]
mov dword [eax], ecx
mov eax, dword [edx + edi*8 + 0xc]
jmp 0x436b3e
mov eax, dword [0x52d3b4]
push 8
lea edx, [esp + 0x14]
shl ecx, 4
push edx
add ecx, eax
push ecx
call fcn.00422c20
mov edi, 0x2b4
mov ebp, 0x52d0f0
push edi
push esi
push ebp
call fcn.0041f4a0
add esp, 0x18
push 0x4401
push edi
push ebp
push esi
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov edx, dword [0x52d3a8]
mov edi, 0x52d304
mov eax, dword [0x52d3b4]
add edx, edx
mov ecx, dword [0x52d0f4]
push edi
mov dword [eax + edx*8 + 0xc], ecx
call fcn.004146fc
pop ecx
test eax, eax
jne 0x436a5e
mov edx, dword [0x52d3a8]
mov ecx, edx
mov eax, dword [0x52d3b4]
add ecx, ecx
mov dword [eax + ecx*8 + 8], esi
jmp 0x436aec
push edi
call fcn.004146fc
mov edx, dword [0x52cee4]
mov esi, dword [0x52d3ac]
add eax, esi
pop ecx
lea ecx, [edx - 1]
cmp eax, ecx
jbe 0x436aae
add edx, 0x1f4
mov dword [0x52cee4], edx
lea eax, [edx + edx]
push eax
push dword [0x52d3b0]
push 8
push dword [0x529ae8]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov esi, dword [0x52d3ac]
mov edx, eax
mov dword [0x52d3b0], edx
jmp 0x436ab4
mov edx, dword [0x52d3b0]
mov ecx, dword [0x52d3a8]
mov eax, dword [0x52d3b4]
add ecx, ecx
push edi
mov dword [eax + ecx*8 + 8], esi
lea eax, [edx + esi*2]
push eax
call fcn.004c6fd3
push edi
call fcn.004146fc
mov ecx, dword [0x52d3ac]
add esp, 0xc
mov edx, dword [0x52d3a8]
inc ecx
add eax, ecx
mov dword [0x52d3ac], eax
mov eax, dword [esp + 0x24]
inc edx
mov dword [0x52d3a8], edx
mov dword [eax], edi
jmp 0x436b39
mov edi, 0x2b4
xor esi, esi
push edi
push esi
mov ebp, 0x52d0f0
push ebp
call fcn.0041f4a0
add esp, 0xc
push 0x4401
push edi
push ebp
push esi
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
push 0x52d304
mov esi, 0x52cee8
push esi
call fcn.004c6fd3
mov eax, dword [esp + 0x2c]
pop ecx
pop ecx
mov dword [eax], esi
mov eax, dword [0x52d0f4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8