Function at 0x14004f66c
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, 0x14e0
call fcn.1400d8110
sub rsp, rax
mov rax, qword [0x1401006f0]
xor rax, rsp
mov qword [rsp + 0x14d0], rax
lea rax, str.ArcSort
mov rsi, rcx
xor ebx, ebx
cmp byte [0x140148965], bl
lea rdx, str.FileSort
lea rcx, str.FileList
cmovne rdx, rax
xor r8d, r8d
call fcn.14006d3c4
mov ecx, eax
mov edi, eax
and cl, 0x1f
cmp cl, 2
jne 0x14004f83b
mov ebp, ebx
mov dword [rsp + 0x74], ebx
jmp 0x14004f811
mov rdx, qword [rsp + 0x98]
lea rcx, [0x1401756e0]
call fcn.14004b5b8
movsxd r12, ebp
lea r9, [rsp + 0xc0]
mov dword [rax + 8], ebp
movzx eax, byte [0x140148965]
mov rcx, qword [rsi]
add eax, 2
mov r8, r12
mov edx, 0x1073
mov dword [rsp + 0xc8], eax
lea rax, [rsp + 0x1430]
mov word [rsp + 0x1430], bx
mov qword [rsp + 0xd8], rax
mov dword [rsp + 0xe0], 0x50
call qword [sym.imp.USER32.dll_SendMessageW]
cmp word [rsp + 0x1430], bx
jne 0x14004f80b
mov r8, qword [rsp + 0x98]
lea rdx, [rsp + 0x3d0]
lea rcx, [0x1401756e0]
call fcn.14004b388
lea rcx, [rsp + 0x3d0]
call fcn.1400615e8
mov edx, dword [rsp + 0x13e0]
lea r8, [rsp + 0x110]
mov rcx, rax
mov r9d, 0x2b8
mov dword [rsp + 0x20], 0x410
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
cmp rax, rbx
je 0x14004f80b
cmp word [rsp + 0x328], bx
jne 0x14004f7d1
lea r8, [rsp + 0x328]
lea rdx, [rsp + 0x3d0]
mov r9d, 0x50
mov rcx, rsi
call fcn.14004c630
movzx eax, byte [0x140148965]
mov rcx, qword [rsi]
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]
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 0x14004f6e0
lea rdx, str.ArchivesFirst
lea rcx, str.FileList
mov r8d, 1
call fcn.14006d3c4
cmp eax, ebx
je 0x14004f85b
or edi, 0x40
lea rdx, str.FlatView
lea rcx, str.FileList
xor r8d, r8d
call fcn.14006d3c4
cmp eax, ebx
je 0x14004f879
bts edi, 7
mov rcx, qword [rsi]
lea r9, [0x14004e7e4]
movsxd r8, edi
mov edx, 0x1030
call qword [sym.imp.USER32.dll_SendMessageW]
cmp qword [rsi + 8], rbx
je 0x14004f9de
mov ebp, edi
and edi, 0x1f
mov eax, ebx
shr ebp, 5
lea rcx, [0x1400fea58]
and bpl, 1
or edx, 0xffffffff
cmp dword [rcx], edi
je 0x14004f8c4
inc eax
add rcx, 0x20
cmp eax, 7
jb 0x14004f8b3
jmp 0x14004f8d4
cdqe
lea rcx, [0x1400fea54]
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 0x14004f944
mov eax, dword [rsp + 0x4c]
test eax, 0xe00
jne 0x14004f924
inc edi
cmp edi, 0x10
jl 0x14004f8f5
jmp 0x14004f944
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.14004b0ac
mov rcx, qword [rsi + 8]
cmp eax, 0x600
jb 0x14004f984
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 0x14004f9c7
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 + 0x14d0]
xor rcx, rsp
call fcn.1400c6350
lea r11, [rsp + 0x14e0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret