Function at 0x444be0
Capabilities:
Get file system object information

Disassembly:
mov eax, 0x14d8
call fcn.004ebbf0
mov eax, dword [0x528af4]
xor eax, esp
mov dword [esp + 0x14d4], eax
cmp byte [0x53898c], 0
mov eax, str.ArcSort
push ebx
push ebp
push esi
push edi
mov esi, ecx
jne 0x444c11
mov eax, str.FileSort
push 0
push eax
push str.FileList
call fcn.0049fd30
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
mov ebp, eax
mov ecx, ebp
and cl, 0x1f
cmp cl, 2
jne 0x444d86
lea eax, [esp + 0x40]
mov dword [esp + 0x40], 4
push eax
xor edi, edi
push edi
push 0x104b
push dword [esi + 0x28]
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
call ebx
test eax, eax
je 0x444d86
mov edi, edi
push dword [esp + 0x60]
mov ecx, 0x562e30
call fcn.0043d380
mov dword [esp + 0x8c], 0x50
mov dword [eax + 4], edi
xor eax, eax
mov word [esp + 0x1444], ax
movzx eax, byte [0x53898c]
add eax, 2
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x1444]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x74]
push eax
push edi
push 0x1073
push dword [esi + 0x28]
call ebx
cmp word [esp + 0x1444], 0
jne 0x444d58
push dword [esp + 0x60]
lea eax, [esp + 0x360]
mov ecx, 0x562e30
push eax
call fcn.0043d1b0
push 0x410
push 0x2b4
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x1400]
lea eax, [esp + 0x36c]
push eax
call fcn.00478eb0
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test eax, eax
je 0x444d58
cmp word [esp + 0x2bc], 0
jne 0x444d2c
push 0x50
lea eax, [esp + 0x2c0]
mov ecx, esi
push eax
lea eax, [esp + 0x364]
push eax
call fcn.0043fbc0
movzx eax, byte [0x53898c]
add eax, 2
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x2bc]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x74]
push eax
push edi
push 0x1074
push dword [esi + 0x28]
call ebx
lea eax, [esp + 0x40]
mov dword [esp + 0x48], 0
push eax
push 0
push 0x104b
push dword [esi + 0x28]
inc edi
mov dword [esp + 0x50], 4
mov dword [esp + 0x54], edi
call ebx
test eax, eax
jne 0x444c60
push 1
push str.ArchivesFirst
push str.FileList
call fcn.0049fd30
test eax, eax
je 0x444d9e
or ebp, 0x40
push 0
push 0x50c6e8
push str.FileList
call fcn.0049fd30
test eax, eax
je 0x444db9
or ebp, 0x80
push 0x43e520
push ebp
push 0x1030
push dword [esi + 0x28]
call ebx
cmp dword [esi + 0x2c], 0
je 0x444f0d
mov eax, ebp
xor ecx, ecx
shr eax, 5
and ebp, 0x1f
and eax, 0xffffff01
mov dword [esp + 0x10], eax
xor eax, eax
cmp dword [eax + 0x525e84], ebp
je 0x444e00
add eax, 0x1c
inc ecx
cmp eax, 0xc4
jb 0x444de8
or ebp, 0xffffffff
jmp 0x444e10
lea eax, [ecx*8]
sub eax, ecx
mov ebp, dword [eax*4 + 0x525e80]
push 0
push 0
push 0x1000
push dword [esi + 0x28]
call ebx
test eax, 0xffffff
je 0x444e32
push 0
push ebp
push 0x108c
push dword [esi + 0x28]
call ebx
mov dword [esp + 0x14], 4
xor edi, edi
lea esp, [esp]
lea eax, [esp + 0x14]
push eax
push edi
push 0x120b
push dword [esi + 0x2c]
call ebx
test eax, eax
je 0x444e80
mov eax, dword [esp + 0x28]
test eax, 0xe00
jne 0x444e67
inc edi
cmp edi, 0x10
jl 0x444e40
jmp 0x444e80
and eax, 0xffffe1ff
mov dword [esp + 0x28], eax
lea eax, [esp + 0x14]
push eax
push edi
push 0x120c
push dword [esi + 0x2c]
call ebx
call fcn.0046bee0
cmp eax, 0x600
jb 0x444ebf
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 4
push eax
push ebp
push 0x120b
push dword [esi + 0x2c]
call ebx
mov ecx, dword [esp + 0x10]
movzx eax, cl
neg eax
sbb eax, eax
and eax, 0xfffffe00
add eax, 0x400
or dword [esp + 0x28], eax
jmp 0x444efd
push dword [esi + 0x30]
mov dword [esp + 0x18], 0x24
push 0
push 0x1208
push dword [esi + 0x2c]
call ebx
lea eax, [esp + 0x14]
push eax
push ebp
push 0x120b
push dword [esi + 0x2c]
call ebx
or dword [esp + 0x28], 0x1800
xor eax, eax
mov ecx, dword [esp + 0x10]
test cl, cl
setne al
mov dword [esp + 0x30], eax
lea eax, [esp + 0x14]
push eax
push ebp
push 0x120c
push dword [esi + 0x2c]
call ebx
mov ecx, dword [esp + 0x14e4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004ebbd8
add esp, 0x14d8
ret