Function at 0x14002a440
Capabilities:
Get file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
mov rax, qword [0x1400a3310]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov rbx, rcx
mov sil, 1
xor r15d, r15d
mov rcx, qword [rbx + 0x50]
test rcx, rcx
jne 0x14002a4f0
lea rdi, [rbx + 0x60]
mov byte [rsp + 0x50], r15b
mov qword [rsp + 0x48], r15
mov byte [rsp + 0x40], r15b
mov dword [rsp + 0x38], 0x26
mov dword [rsp + 0x30], 0x10000
mov qword [rsp + 0x28], rdi
lea rax, [rbp + 0x2f]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbx + 0x48]
call qword [sym.imp.ntdll.dll_NtQueryDirectoryFile]
test eax, eax
js 0x14002a4d2
cmp qword [rbp + 0x37], r15
je 0x14002a4d2
mov qword [rbx + 0x50], rdi
jmp 0x14002a504
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx + 0xc], eax
mov sil, r15b
jmp 0x14002a504
cmp dword [rcx], r15d
je 0x14002a500
mov eax, dword [rcx]
add rax, rcx
mov qword [rbx + 0x50], rax
jmp 0x14002a504
mov qword [rbx + 0x50], r15
test sil, sil
je 0x14002a63e
mov rdx, qword [rbx + 0x50]
test rdx, rdx
je 0x14002a5d5
mov r8d, dword [rdx + 0x3c]
shr r8, 1
add rdx, 0x50
mov qword [rbp - 1], r15
mov qword [rbp + 0xf], r15
mov qword [rbp + 0x17], r15
lea rcx, [rbp - 1]
call fcn.140004600
lea rdi, [rbx + 0x10]
lea rax, [rbp - 1]
cmp rdi, rax
je 0x14002a56f
mov rcx, rdi
call fcn.140004738
movups xmm0, xmmword [rbp - 1]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp + 0xf]
movups xmmword [rdi + 0x10], xmm1
mov qword [rbp + 0xf], r15
mov qword [rbp + 0x17], 7
mov word [rbp - 1], r15w
lea rcx, [rbp - 1]
call fcn.140004738
mov eax, dword [rbx + 0x58]
mov qword [rbp + 0x1f], rax
mov rax, qword [rbx + 0x50]
mov rcx, qword [rax + 0x48]
mov qword [rbp + 0x27], rcx
movups xmm0, xmmword [rbp + 0x1f]
movdqu xmmword [rbx + 0x30], xmm0
call qword [sym.imp.UpdateRingSettings.dll_class_IUpdateRingSettingsManager____ptr64___cdecl_GetUpdateRingSettingsManager_void_]
mov rcx, rax
mov rax, qword [rax]
mov edx, 0x7da
mov rax, qword [rax + 0xa8]
call qword [case.0x140023da2.8]
test al, al
je 0x14002a5cb
cmp qword [rbx + 0x10078], r15
je 0x14002a5cb
lea rdx, [rbx + 0x30]
mov rcx, rbx
call fcn.14002a8c8
mov rcx, rbx
call fcn.14002b7c0
jmp 0x14002a5d9
lea rdi, [rbx + 0x10]
mov rcx, qword [rbx + 0x50]
test rcx, rcx
je 0x14002a476
cmp qword [rdi + 0x18], 8
jb 0x14002a5f0
mov rdi, qword [rdi]
cmp word [rdi], 0x2e
jne 0x14002a613
cmp word [rdi + 2], r15w
je 0x14002a476
cmp word [rdi + 2], 0x2e
jne 0x14002a613
cmp word [rdi + 4], r15w
je 0x14002a476
cmp byte [rbx + 9], r15b
je 0x14002a629
mov eax, dword [rcx + 0x38]
shr eax, 4
not al
test al, 1
je 0x14002a476
cmp byte [rbx + 8], r15b
je 0x14002a63e
mov ecx, dword [rcx + 0x38]
shr ecx, 4
test cl, 1
je 0x14002a476
mov al, sil
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.1400652d0
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret