Function at 0x1400915ac
Capabilities:
Get file system object information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
mov eax, 0x1570
call fcn.1400fe810
sub rsp, rax
mov rax, qword [0x140132350]
xor rax, rsp
mov qword [rsp + 0x1560], rax
lea rax, str.ArcSort
mov rsi, rcx
xor edi, edi
cmp byte [0x1401561c5], dil
lea rdx, str.FileSort
lea rcx, str.FileList
cmovne rdx, rax
xor r8d, r8d
call fcn.14009b908
mov ecx, eax
mov ebx, eax
and cl, 0x1f
cmp cl, 2
jne 0x14009177f
mov ebp, edi
mov dword [rsp + 0x74], edi
jmp 0x140091754
mov rdx, qword [rsp + 0x98]
lea rcx, [0x140182eb0]
call fcn.14008e5e0
movsxd r12, ebp
lea r9, [rsp + 0xc0]
mov dword [rax + 8], ebp
movzx eax, byte [0x1401561c5]
mov rcx, qword [rsi + 0x50]
add eax, 2
mov r8, r12
mov edx, 0x1073
mov dword [rsp + 0xc8], eax
lea rax, [rsp + 0x14c0]
mov word [rsp + 0x14c0], di
mov qword [rsp + 0xd8], rax
mov dword [rsp + 0xe0], 0x50
call qword [sym.imp.USER32.dll_SendMessageW]
cmp word [rsp + 0x14c0], di
jne 0x14009174e
mov r8, qword [rsp + 0x98]
lea rdx, [rsp + 0x3d0]
lea rcx, [0x140182eb0]
call fcn.14008e734
lea rcx, [rsp + 0x3d0]
call fcn.140050ce8
mov edx, dword [rsp + 0x1468]
lea r8, [rsp + 0x110]
mov rcx, rax
mov r9d, 0x2b8
mov dword [rsp + 0x20], 0x410
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
cmp rax, rdi
je 0x14009174e
cmp word [rsp + 0x328], di
jne 0x140091713
lea r8, [rsp + 0x328]
lea rdx, [rsp + 0x3d0]
mov r9d, 0x50
mov rcx, rsi
call fcn.14008f66c
movzx eax, byte [0x1401561c5]
mov rcx, qword [rsi + 0x50]
lea r9, [rsp + 0xc0]
add eax, 2
mov r8, r12
mov edx, 0x1074
mov dword [rsp + 0xc8], eax
lea rax, [rsp + 0x328]
mov qword [rsp + 0xd8], rax
call qword [sym.imp.USER32.dll_SendMessageW]
inc ebp
mov dword [rsp + 0x74], ebp
mov rcx, qword [rsi + 0x50]
lea r9, [rsp + 0x70]
xor r8d, r8d
mov edx, 0x104b
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x70], 4
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, edi
jne 0x140091621
lea rdx, str.ArchivesFirst
lea rcx, str.FileList
mov r8d, 1
call fcn.14009b908
cmp eax, edi
je 0x14009179f
or ebx, 0x40
lea rdx, str.FlatView
lea rcx, str.FileList
xor r8d, r8d
call fcn.14009b908
cmp eax, edi
je 0x1400917bd
bts ebx, 7
mov rcx, qword [rsi + 0x50]
lea r9, [0x1400909fc]
movsxd r8, ebx
mov edx, 0x1030
call qword [sym.imp.USER32.dll_SendMessageW]
cmp qword [rsi + 0x58], rdi
je 0x140091946
mov ebp, ebx
and ebx, 0x1f
mov eax, edi
shr ebp, 5
lea rcx, [0x14012fe98]
and bpl, 1
or r12d, 0xffffffff
cmp dword [rcx], ebx
je 0x14009180a
inc eax
add rcx, 0x20
cmp eax, 7
jb 0x1400917f9
jmp 0x14009181b
cdqe
lea rcx, [0x14012fe94]
shl rax, 5
mov r12d, dword [rax + rcx]
mov rcx, qword [rsi + 0x50]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1000
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, 0xffffff
je 0x14009184c
mov rcx, qword [rsi + 0x50]
movsxd r8, r12d
xor r9d, r9d
mov edx, 0x108c
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rsp + 0x30], 4
mov ebx, edi
mov rcx, qword [rsi + 0x58]
lea r9, [rsp + 0x30]
movsxd r8, ebx
mov edx, 0x120b
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, edi
je 0x1400918a5
mov eax, dword [rsp + 0x4c]
test eax, 0xe00
jne 0x140091885
inc ebx
cmp ebx, 0x10
jl 0x140091856
jmp 0x1400918a5
mov rcx, qword [rsi + 0x58]
and eax, 0xffffe1ff
lea r9, [rsp + 0x30]
movsxd r8, ebx
mov edx, 0x120c
mov dword [rsp + 0x4c], eax
call qword [sym.imp.USER32.dll_SendMessageW]
call fcn.140044e44
mov rcx, qword [rsi + 0x58]
cmp eax, 0x600
jb 0x1400918e8
movsxd rbx, r12d
lea r9, [rsp + 0x30]
mov edx, 0x120b
mov r8, rbx
mov dword [rsp + 0x30], 4
call qword [sym.imp.USER32.dll_SendMessageW]
neg bpl
sbb eax, eax
and eax, 0xfffffe00
add eax, 0x400
or dword [rsp + 0x4c], eax
jmp 0x14009192f
mov r9, qword [rsi + 0x60]
xor r8d, r8d
mov edx, 0x1208
mov dword [rsp + 0x30], 0x24
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsi + 0x58]
movsxd rbx, r12d
lea r9, [rsp + 0x30]
mov edx, 0x120b
mov r8, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
or dword [rsp + 0x4c], 0x1800
cmp bpl, dil
setne dil
mov dword [rsp + 0x58], edi
mov rcx, qword [rsi + 0x58]
lea r9, [rsp + 0x30]
mov r8, rbx
mov edx, 0x120c
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsp + 0x1560]
xor rcx, rsp
call fcn.1400e9d80
lea r11, [rsp + 0x1570]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret