Function at 0x14022bf00
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov qword [rbp + 0x18], 0xfffffffffffffffe
mov rbx, r8
mov r10d, edx
mov rsi, rcx
xor r15d, r15d
mov dword [rsp + 0x20], r15d
call fcn.140246d00
nop
lea rax, vtable.juce::FileBrowserListener.0
mov qword [rcx + 0xb0], rax
lea rax, [rcx + 0xb8]
mov qword [rbp + 0xa0], rax
lea r13, [0x1402be078]
mov qword [rbp + 0x20], r13
lea rcx, vtable.juce::FileFilter.0
mov qword [rax], rcx
mov qword [rax + 8], r13
lea r8, vtable.juce::Timer.0
mov qword [rsi + 0xc8], r8
mov r14, 0xffffffffffffffff
mov qword [rsi + 0xd0], r14
mov dword [rsi + 0xd8], r15d
lea r8, vtable.juce::FileBrowserComponent.3.0
mov qword [rsi], r8
lea r8, vtable.juce::FileBrowserComponent.2.0
mov qword [rsi + 0xb0], r8
lea rdx, vtable.juce::FileBrowserComponent.1.0
mov qword [rax], rdx
lea rax, vtable.juce::FileBrowserComponent.0
mov qword [rsi + 0xc8], rax
mov qword [rsi + 0xe0], r15
mov qword [rsi + 0xe8], r9
mov dword [rsi + 0xf0], r10d
lea r12, [rsi + 0xf8]
mov qword [rbp + 0xa0], r12
mov qword [r12], r13
lea rax, [rsi + 0x100]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rax
mov qword [rax], r15
mov qword [rax + 8], r15
lea rax, [rsi + 0x110]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xb0], rax
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rsi + 0x120], r15
mov qword [rsi + 0x128], r15
lea rax, [0x1402c3ef4]
mov qword [rbp - 0x78], rax
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x48]
call fcn.14001b960
nop
lea rdx, [rsp + 0x48]
lea rcx, [rsi + 0x130]
call fcn.1401ebf10
nop
mov rcx, qword [rsp + 0x48]
add rcx, 0xfffffffffffffff0
lea rax, [0x1402be068]
cmp rcx, rax
je 0x14022c089
mov eax, r14d
lock xadd dword [rcx], eax
test eax, eax
jne 0x14022c089
call fcn.14010a370
lea rcx, [rsi + 0x2b8]
mov qword [rbp - 0x70], r13
xor r8d, r8d
lea rdx, [rbp - 0x70]
call fcn.1401e0b60
nop
lea r13, [rsi + 0x5d0]
lea rax, [0x1402c3e3c]
mov qword [rbp - 0x68], rax
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x58]
call fcn.14001b960
nop
lea rax, str.file:
mov qword [rbp - 0x60], rax
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x38]
call fcn.14001b960
nop
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call fcn.140152200
mov eax, 2
mov dword [rsp + 0x20], eax
and eax, 0xfffffffd
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x38]
add rcx, 0xfffffffffffffff0
lea rdi, [0x1402be068]
cmp rcx, rdi
je 0x14022c12d
mov eax, r14d
lock xadd dword [rcx], eax
test eax, eax
jne 0x14022c12d
call fcn.14010a370
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x58]
mov rcx, r13
call fcn.1401e8f80
nop
and dword [rsp + 0x20], 0xfffffffe
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff0
cmp rcx, rdi
je 0x14022c164
mov eax, r14d
lock xadd dword [rcx], eax
test eax, eax
jne 0x14022c164
call fcn.14010a370
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff0
cmp rcx, rdi
je 0x14022c182
mov eax, r14d
lock xadd dword [rcx], eax
test eax, eax
jne 0x14022c182
call fcn.14010a370
mov qword [rsi + 0x7d8], r15
lea rdi, [rsi + 0x7e0]
mov qword [rsp + 0x68], rdi
lea rax, str.JUCE_FileBrowser
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x60]
call fcn.14001b960
nop
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140148690
nop
lea rax, vtable.juce::TimeSliceThread.0
mov qword [rdi], rax
lea rcx, [rdi + 0xc0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
lea rcx, [rdi + 0xec]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
lea rax, [rdi + 0x118]
mov qword [rbp + 8], rax
mov qword [rsp + 0x30], rax
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rdi + 0x128], r15
mov rcx, qword [rsp + 0x60]
add rcx, 0xfffffffffffffff0
lea rax, [0x1402be068]
cmp rcx, rax
je 0x14022c226
mov eax, r14d
lock xadd dword [rcx], eax
test eax, eax
jne 0x14022c226
call fcn.14010a370
mov byte [rsi + 0x910], 1
lea rcx, [0x1402be078]
mov qword [rsp + 0x28], rcx
mov qword [rbp + 0x28], rcx
mov rax, qword [rbx]
cmp rax, rcx
jne 0x14022c24a
mov eax, r15d
jmp 0x14022c260
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x48]
call fcn.14001abc0
nop
test eax, eax
jne 0x14022c285
lea rcx, [rbp - 0x40]
call fcn.140136110
nop
mov rcx, qword [r12]
mov rdx, qword [rax]
mov qword [r12], rdx
mov qword [rax], rcx
mov rcx, qword [rbp - 0x40]
jmp 0x14022c397
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.140018b20
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x14022c2a7
cmp eax, 0xffffffff
je 0x14022c2a7
mov al, 1
jmp 0x14022c2a9
xor al, al
mov rdx, rbx
test al, al
je 0x14022c2bd
mov rcx, r12
call fcn.14015f680
jmp 0x14022c3b7
lea rcx, [rsi + 0x100]
call fcn.140019860
nop
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.14015e8e0
nop
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.14015f720
mov r8, rax
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x20], 8
mov rcx, qword [rbp + 0x10]
add rcx, 0xfffffffffffffff0
lea rax, [0x1402be068]
cmp rcx, rax
je 0x14022c31c
mov edx, r14d
lock xadd dword [rcx], edx
test edx, edx
jne 0x14022c31c
call fcn.14010a370
mov r8, qword [rsp + 0x68]
mov rax, qword [r12]
mov rcx, qword [r8]
mov qword [r12], rcx
mov qword [r8], rax
and dword [rsp + 0x20], 0xfffffff7
mov rcx, qword [rbp - 0x28]
add rcx, 0xfffffffffffffff0
lea rax, [0x1402be068]
cmp rcx, rax
je 0x14022c354
mov eax, r14d
lock xadd dword [rcx], eax
test eax, eax
jne 0x14022c354
call fcn.14010a370
nop
mov edx, 0x5c
mov rcx, rbx
call fcn.14014f7c0
lea r8d, [rax + 1]
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.14014d910
mov edx, 0x20
mov dword [rsp + 0x20], edx
mov rcx, qword [rax]
mov qword [rsp + 0x28], rcx
lea rcx, [0x1402be078]
mov qword [rax], rcx
and edx, 0xffffffdf
mov dword [rsp + 0x20], edx
mov rcx, qword [rbp - 0x20]
lea rax, [0x1402be068]
add rcx, 0xfffffffffffffff0
cmp rcx, rax
je 0x14022c3b7
mov eax, r14d
lock xadd dword [rcx], eax
test eax, eax
jne 0x14022c3b7
call fcn.14010a370
mov ecx, 0xa8
call fcn.14010a334
mov qword [rsp + 0x30], rax
mov r8, rdi
lea rdx, [rsi + 0xb8]
mov rcx, rax
call fcn.14022d7c0
nop
mov rcx, qword [rsi + 0xe0]
mov qword [rsi + 0xe0], rax
test rcx, rcx
je 0x14022c3fd
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rax, qword [rsi + 0xe0]
mov r9b, 1
movzx r8d, r9b
mov rdx, r12
mov rcx, rax
call fcn.14022d4f0
test byte [rsi + 0xf0], 0x20
je 0x14022c538
mov ecx, 0x160
call fcn.14010a334
mov r12, rax
mov qword [rsp + 0x30], rax
mov rbx, qword [rsi + 0xe0]
lea rax, [0x1402be078]
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x18]
mov rcx, r12
call fcn.1401d7690
nop
lea rdi, [r12 + 0x130]
mov qword [rbp + 8], rdi
lea rax, vtable.juce::DirectoryContentsDisplayComponent.0
mov qword [rdi], rax
mov qword [rdi + 8], rbx
lea rax, [rdi + 0x10]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rax
mov qword [rax], r15
mov qword [rax + 8], r15
lea rax, vtable.juce::FileTreeComponent.3.0
mov qword [r12], rax
lea rax, vtable.juce::FileTreeComponent.2.0
mov qword [r12 + 0xb0], rax
lea rax, vtable.juce::FileTreeComponent.1.0
mov qword [r12 + 0xc0], rax
lea rax, vtable.juce::FileTreeComponent.4.0
mov qword [r12 + 0xc8], rax
lea rax, vtable.juce::FileTreeComponent.0
mov qword [rdi], rax
lea rax, [0x1402be078]
mov qword [r12 + 0x150], rax
mov dword [r12 + 0x158], SafeArrayGetElement
mov rcx, r12
call fcn.1401d7360
mov rcx, r12
call fcn.140224990
nop
mov rcx, qword [rsi + 0x120]
mov qword [rsi + 0x120], rdi
test rcx, rcx
je 0x14022c50c
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
test byte [rsi + 0xf0], 0x10
je 0x14022c51e
mov byte [r12 + 0x127], 1
mov r8d, r14d
mov rdx, r12
mov rcx, rsi
call fcn.1402441c0
lea r12, [rsi + 0xf8]
jmp 0x14022c5ba
mov ecx, 0x148
call fcn.14010a334
mov qword [rsp + 0x30], rax
mov rdx, qword [rsi + 0xe0]
mov rcx, rax
call fcn.140227a60
mov rbx, rax
test rax, rax
je 0x14022c566
add rax, 0x108
jmp 0x14022c569
mov rax, r15
mov rcx, qword [rsi + 0x120]
mov qword [rsi + 0x120], rax
test rcx, rcx
je 0x14022c586
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov dword [rbx + 0xfc], 1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x108]
test byte [rsi + 0xf0], 0x10
je 0x14022c5ac
mov byte [rbx + 0x104], 1
mov r8d, r14d
mov rdx, rbx
mov rcx, rsi
call fcn.1402441c0
mov rcx, qword [rsi + 0x120]
add rcx, 0x10
lea rdx, [rsi + 0xb0]
call fcn.14008d3c0
mov rax, qword [rsi + 0x130]
mov dl, 1
lea rcx, [rsi + 0x130]
call qword [rax + 0x58]
mov r8d, r14d
lea rdx, [rsi + 0x130]
mov rcx, rsi
call fcn.140244270
mov dl, 1
lea rcx, [rsi + 0x130]
call fcn.1401ebbe0
mov rcx, rsi
call fcn.14022afd0
mov qword [rbp - 0x38], rsi
lea rcx, [rsi + 0x208]
lea rdx, [rbp - 0x38]
call fcn.140092270
lea rbx, [rsi + 0x2b8]
mov rax, qword [rbx]
mov dl, 1
mov rcx, rbx
call qword [rax + 0x58]
mov r8d, r14d
mov rdx, rbx
mov rcx, rsi
call fcn.140244270
xor edx, edx
mov rcx, rbx
call fcn.1401e0460
mov byte [rbx + 0x1f2], 1
xor r8d, r8d
lea rdx, [rsp + 0x28]
mov rcx, rbx
call fcn.1401df800
mov qword [rbp - 0x30], rsi
lea rcx, [rsi + 0x380]
lea rdx, [rbp - 0x30]
call fcn.1400923e0
mov qword [rsp + 0x70], rsi
lea rcx, [rsi + 0x3c0]
lea rdx, [rsp + 0x70]
call fcn.140092550
mov qword [rsp + 0x78], rsi
lea rcx, [rsi + 0x440]
lea rdx, [rsp + 0x78]
call fcn.1400926c0
test byte [rsi + 0xf0], 0x50
setne dl
mov rcx, rbx
call fcn.1401e0370
mov rax, qword [r13]
mov dl, 1
mov rcx, r13
call qword [rax + 0x58]
mov r8d, r14d
mov rdx, r13
mov rcx, rsi
call fcn.140244270
lea rdi, [r13 + 0x1e0]
mov rax, qword [rdi]
test rax, rax
je 0x14022c6ff
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14022c6ff
lea rdx, [r13 + 0xc8]
test r13, r13
cmove rdx, r15
test rax, rax
cmove rcx, r15
call fcn.140241590
mov rdx, rbx
mov rcx, rdi
call fcn.14008dfa0
mov byte [r13 + 0x203], 1
mov rax, qword [rdi]
test rax, rax
je 0x14022c7a9
cmp qword [rax + 0x10], 0
je 0x14022c7a9
mov rax, qword [r13]
movzx edx, byte [rbx + 0xa8]
shr dl, 1
and dl, 1
mov rcx, r13
call qword [rax + 0x58]
mov rcx, qword [rdi]
test rcx, rcx
je 0x14022c74d
mov rcx, qword [rcx + 0x10]
jmp 0x14022c750
mov rcx, r15
lea rdx, [r13 + 0xc8]
call fcn.140241630
mov rax, qword [r13 + 0xc8]
mov rdx, qword [rdi]
test rdx, rdx
je 0x14022c771
mov rdx, qword [rdx + 0x10]
jmp 0x14022c774
mov rdx, r15
lea rcx, [r13 + 0xc8]
call qword [rax + 0x28]
mov rax, qword [r13 + 0xc8]
mov r10, qword [rax + 8]
mov rax, qword [rdi]
test rax, rax
je 0x14022c795
mov r15, qword [rax + 0x10]
mov r9b, 1
movzx r8d, r9b
mov rdx, r15
lea rcx, [r13 + 0xc8]
call r10
mov rcx, rsi
call fcn.140241f30
lea rcx, [rax + 0x20]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, qword [rsi + 0x7d8]
mov qword [rsi + 0x7d8], rax
test rcx, rcx
je 0x14022c7df
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rax, qword [rsi + 0x7d8]
mov r8d, r14d
mov rdx, rax
mov rcx, rsi
call fcn.1402441c0
mov qword [rsp + 0x40], rsi
mov rcx, qword [rsi + 0x7d8]
add rcx, 0xc0
lea rdx, [rsp + 0x40]
call fcn.140092830
mov rdi, qword [rsi + 0x7d8]
mov rax, qword [rdi + 0xb0]
mov rbx, qword [rax + 0x10]
lea rdx, str.Go_up_to_parent_directory
lea rcx, [rbp - 0x10]
call fcn.140152300
nop
mov rdx, rax
lea rcx, [rdi + 0xb0]
call rbx
nop
mov rcx, qword [rbp - 0x10]
add rcx, 0xfffffffffffffff0
lea r15, [0x1402be068]
cmp rcx, r15
je 0x14022c85e
mov eax, r14d
lock xadd dword [rcx], eax
test eax, eax
jne 0x14022c85e
call fcn.14010a370
mov rdx, qword [rsi + 0x128]
test rdx, rdx
je 0x14022c875
mov r8d, r14d
mov rcx, rsi
call fcn.1402441c0
xor r9d, r9d
mov r8d, 0x1000640
lea rdx, [rbp + 0x98]
mov rcx, rsi
call fcn.140241be0
mov r8d, dword [rax]
mov edx, 0x1000b00
lea rcx, [rsi + 0x130]
call fcn.140241a70
xor r9d, r9d
mov r8d, 0x1000641
lea rdx, [rbp + 0xa0]
mov rcx, rsi
call fcn.140241be0
mov r8d, dword [rax]
mov edx, 0x1000a00
lea rcx, [rsi + 0x130]
call fcn.140241a70
xor r9d, r9d
mov r8d, 0x1000642
lea rdx, [rbp + 0xa8]
mov rcx, rsi
call fcn.140241be0
mov r8d, dword [rax]
mov edx, 0x1000e00
lea rcx, [rsi + 0x130]
call fcn.140241a70
xor r9d, r9d
mov r8d, 0x1000643
lea rdx, [rbp + 0xb0]
mov rcx, rsi
call fcn.140241be0
mov r8d, dword [rax]
mov edx, 0x1000200
lea rcx, [rsi + 0x2b8]
call fcn.140241a70
xor r9d, r9d
mov r8d, 0x1000644
lea rdx, [rbp - 0x80]
mov rcx, rsi
call fcn.140241be0
mov r8d, dword [rax]
mov edx, 0x1000201
lea rcx, [rsi + 0x2b8]
call fcn.140241a70
mov rdx, r12
mov rcx, rsi
call fcn.14022b290
mov rax, qword [rsp + 0x28]
cmp byte [rax], 0
je 0x14022c9c5
mov r8b, 1
lea rdx, [rsp + 0x28]
lea rcx, [rsi + 0x2b8]
call fcn.1401df800
mov rdi, qword [rsi + 0x120]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x28]
mov rax, qword [rsp + 0x28]
mov qword [rbp - 8], rax
lea r8, [rbp - 8]
lea rdx, [rbp]
mov rcx, r12
call fcn.14015df20
nop
mov rdx, rax
mov rcx, rdi
call rbx
nop
mov rcx, qword [rbp]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x14022c9c5
mov eax, r14d
lock xadd dword [rcx], eax
test eax, eax
jne 0x14022c9c5
call fcn.14010a370
mov edx, 4
lea rcx, [rsi + 0x7e0]
call fcn.1401481f0
mov edx, 0x7d0
lea rcx, [rsi + 0xc8]
call fcn.14016aae0
nop
mov rcx, qword [rsp + 0x28]
add rcx, 0xfffffffffffffff0
cmp rcx, r15
je 0x14022ca06
lock xadd dword [rcx], r14d
test r14d, r14d
jne 0x14022ca06
call fcn.14010a370
nop
mov rax, rsi
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret