Function at 0x45fc94
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff174
cmp dword [0x4d27d4], 0
push ebx
push esi
push edi
lea edi, [ebp - 0x30]
mov ebx, eax
je 0x45fcb5
mov edx, str.ArcSort
jmp 0x45fcba
mov edx, str.FileSort
mov eax, 0x4b2263
xor ecx, ecx
call fcn.00463dec
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
and eax, 0x1f
cmp eax, 2
jne 0x45fde7
xor esi, esi
mov dword [edi + 4], esi
xor eax, eax
mov dword [edi + 8], eax
mov dword [edi], 4
push edi
push 0
push 0x1005
push dword [ebx]
call sub.USER32.DLL_SendMessageA
test eax, eax
je 0x45fde7
mov eax, 0x4d48b0
mov edx, dword [edi + 0x20]
call fcn.0046362c
mov dword [eax + 8], esi
cmp dword [0x4d27d4], 0
jne 0x45fde1
mov byte [ebp - 0x80], 0
mov ecx, dword [0x4d27d4]
lea eax, [ebp - 0x80]
add ecx, 2
lea edx, [ebp - 0xa8]
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x90], 0x50
mov dword [ebp - 0x94], eax
push edx
push esi
push 0x102d
push dword [ebx]
call sub.USER32.DLL_SendMessageA
cmp byte [ebp - 0x80], 0
jne 0x45fde1
lea ecx, [ebp - 0xcd8]
mov eax, 0x4d48b0
mov edx, dword [edi + 0x20]
call fcn.00463494
push 0x400
lea ecx, [ebp - 0xe38]
push 0x160
push ecx
lea eax, [ebp - 0xcd8]
push 0
push eax
call sub.SHELL32.DLL_SHGetFileInfoA
test eax, eax
je 0x45fde1
cmp byte [ebp - 0xd28], 0
jne 0x45fdb2
lea ecx, [ebp - 0xd28]
lea edx, [ebp - 0xcd8]
mov eax, ebx
call fcn.0045f93c
mov edx, dword [0x4d27d4]
lea ecx, [ebp - 0xd28]
add edx, 2
lea eax, [ebp - 0xe60]
mov dword [ebp - 0xe58], edx
mov dword [ebp - 0xe4c], ecx
push eax
push esi
push 0x102e
push dword [ebx]
call sub.USER32.DLL_SendMessageA
inc esi
jmp 0x45fcda
mov edx, 0x4b2491
mov eax, 0x4b2263
mov ecx, 1
call fcn.00463dec
test eax, eax
je 0x45fe03
or dword [ebp - 4], 0x40
mov edx, str.FlatView
mov eax, 0x4b2263
xor ecx, ecx
call fcn.00463dec
test eax, eax
je 0x45fe1f
or dword [ebp - 4], 0x80
push 0x45aaeb
push dword [ebp - 4]
push 0x1030
push dword [ebx]
call sub.USER32.DLL_SendMessageA
cmp dword [ebx + 4], 0
je 0x45ff42
test byte [ebp - 4], 0x20
setne dl
and edx, 1
mov byte [ebp - 5], dl
and dword [ebp - 4], 0x1f
or edi, 0xffffffff
xor eax, eax
mov edx, eax
shl edx, 3
sub edx, eax
mov ecx, dword [edx*4 + 0x4b20f0]
cmp ecx, dword [ebp - 4]
jne 0x45fe76
mov edx, eax
shl eax, 3
sub eax, edx
mov edi, dword [eax*4 + 0x4b20ec]
jmp 0x45fe7c
inc eax
cmp eax, 7
jl 0x45fe53
push 0
push edi
push 0x108c
push dword [ebx]
call sub.USER32.DLL_SendMessageA
mov dword [ebp - 0xe8c], 4
xor esi, esi
lea eax, [ebp - 0xe8c]
push eax
push esi
push 0x1203
push dword [ebx + 4]
call sub.USER32.DLL_SendMessageA
test eax, eax
je 0x45fee0
test byte [ebp - 0xe77], 8
je 0x45feda
and dword [ebp - 0xe78], 0xffffe7ff
lea edx, [ebp - 0xe8c]
push edx
push esi
push 0x1204
push dword [ebx + 4]
call sub.USER32.DLL_SendMessageA
jmp 0x45fee0
inc esi
cmp esi, 0x10
jl 0x45fe97
mov dword [ebp - 0xe8c], 0x24
push dword [ebx + 0xc]
push 0
push 0x1208
push dword [ebx + 4]
call sub.USER32.DLL_SendMessageA
lea ecx, [ebp - 0xe8c]
push ecx
push edi
push 0x1203
push dword [ebx + 4]
call sub.USER32.DLL_SendMessageA
or dword [ebp - 0xe78], 0x1800
cmp byte [ebp - 5], 0
mov eax, 1
jne 0x45ff27
dec eax
mov dword [ebp - 0xe70], eax
lea edx, [ebp - 0xe8c]
push edx
push edi
push 0x1204
push dword [ebx + 4]
call sub.USER32.DLL_SendMessageA
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret