Function at 0x140042f48
Capabilities:
Get file system object information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
sub rsp, 0xc90
mov rax, qword [0x1400e0920]
xor rax, rsp
mov qword [rsp + 0xc80], rax
lea rax, str.ArcSort
mov rsi, rcx
xor ebx, ebx
cmp byte [0x1400fec05], bl
lea rdx, str.FileSort
lea rcx, str.FileList
cmovne rdx, rax
xor r8d, r8d
call fcn.14005c420
mov ecx, eax
mov edi, eax
and cl, 0x1f
cmp cl, 2
jne 0x140043109
mov ebp, ebx
mov dword [rsp + 0x74], ebx
jmp 0x1400430df
mov rdx, qword [rsp + 0x98]
lea rcx, [0x140116170]
call fcn.14003f194
movsxd r12, ebp
lea r9, [rsp + 0xa8]
mov dword [rax + 8], ebp
movzx eax, byte [0x1400fec05]
mov rcx, qword [rsi]
add eax, 2
mov r8, r12
mov edx, 0x1073
mov dword [rsp + 0xb0], eax
lea rax, [rsp + 0xbe0]
mov word [rsp + 0xbe0], bx
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0xc8], 0x50
call qword [sym.imp.USER32.dll_SendMessageW]
cmp word [rsp + 0xbe0], bx
jne 0x1400430d9
mov r8, qword [rsp + 0x98]
lea rdx, [rsp + 0x3a0]
lea rcx, [0x140116170]
call fcn.14003efb8
mov edx, dword [rsp + 0xbb0]
lea r8, [rsp + 0xe0]
lea rcx, [rsp + 0x3a0]
mov r9d, 0x2b8
mov dword [rsp + 0x20], 0x410
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
cmp rax, rbx
je 0x1400430d9
cmp word [rsp + 0x2f8], bx
jne 0x14004309f
lea r8, [rsp + 0x2f8]
lea rdx, [rsp + 0x3a0]
mov r9d, 0x50
mov rcx, rsi
call fcn.14003fe48
movzx eax, byte [0x1400fec05]
mov rcx, qword [rsi]
lea r9, [rsp + 0xa8]
add eax, 2
mov r8, r12
mov edx, 0x1074
mov dword [rsp + 0xb0], eax
lea rax, [rsp + 0x2f8]
mov qword [rsp + 0xc0], rax
call qword [sym.imp.USER32.dll_SendMessageW]
inc ebp
mov dword [rsp + 0x74], ebp
mov rcx, qword [rsi]
lea r9, [rsp + 0x70]
xor r8d, r8d
mov edx, 0x104b
mov dword [rsp + 0x78], ebx
mov dword [rsp + 0x70], 4
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, ebx
jne 0x140042fb6
lea rdx, str.ArchivesFirst
lea rcx, str.FileList
mov r8d, 1
call fcn.14005c420
cmp eax, ebx
je 0x140043129
or edi, 0x40
lea rdx, str.FlatView
lea rcx, str.FileList
xor r8d, r8d
call fcn.14005c420
cmp eax, ebx
je 0x140043147
bts edi, 7
mov rcx, qword [rsi]
lea r9, [0x140042130]
movsxd r8, edi
mov edx, 0x1030
call qword [sym.imp.USER32.dll_SendMessageW]
cmp qword [rsi + 8], rbx
je 0x1400432ac
mov ebp, edi
and edi, 0x1f
mov eax, ebx
shr ebp, 5
lea rcx, [0x1400df1b8]
and bpl, 1
or edx, 0xffffffff
cmp dword [rcx], edi
je 0x140043192
inc eax
add rcx, 0x20
cmp eax, 7
jb 0x140043181
jmp 0x1400431a2
cdqe
lea rcx, [0x1400df1b4]
shl rax, 5
mov edx, dword [rax + rcx]
mov rcx, qword [rsi]
movsxd r12, edx
xor r9d, r9d
mov r8, r12
mov edx, 0x108c
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rsp + 0x30], 4
mov edi, ebx
mov rcx, qword [rsi + 8]
lea r9, [rsp + 0x30]
movsxd r8, edi
mov edx, 0x120b
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, ebx
je 0x140043212
mov eax, dword [rsp + 0x4c]
test eax, 0xe00
jne 0x1400431f2
inc edi
cmp edi, 0x10
jl 0x1400431c3
jmp 0x140043212
mov rcx, qword [rsi + 8]
and eax, 0xffffe1ff
lea r9, [rsp + 0x30]
movsxd r8, edi
mov edx, 0x120c
mov dword [rsp + 0x4c], eax
call qword [sym.imp.USER32.dll_SendMessageW]
call fcn.14003ec88
mov rcx, qword [rsi + 8]
cmp eax, 0x600
jb 0x140043252
lea r9, [rsp + 0x30]
mov r8, r12
mov edx, 0x120b
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 0x140043295
mov r9, qword [rsi + 0x10]
xor r8d, r8d
mov edx, 0x1208
mov dword [rsp + 0x30], 0x24
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsi + 8]
lea r9, [rsp + 0x30]
mov r8, r12
mov edx, 0x120b
call qword [sym.imp.USER32.dll_SendMessageW]
or dword [rsp + 0x4c], 0x1800
cmp bpl, bl
setne bl
mov dword [rsp + 0x58], ebx
mov rcx, qword [rsi + 8]
lea r9, [rsp + 0x30]
mov r8, r12
mov edx, 0x120c
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsp + 0xc80]
xor rcx, rsp
call fcn.1400a8530
lea r11, [rsp + 0xc90]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret