Function at 0x140016654
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
xor r15d, r15d
mov rbx, rcx
cmp byte [0x14004f698], r15b
mov esi, r15d
mov qword [rbp + 0x77], r15
mov edi, r15d
mov qword [rbp + 0x7f], r15
je 0x1400169aa
mov r8, qword [rcx + 8]
lea r14d, [r15 + 2]
mov ecx, r14d
lea rdx, str.Attempting_to_determine_owner_of_file__ws.
call fcn.14000d7c8
xorps xmm0, xmm0
mov dword [rsp + 0x28], 0x4020
lea r9, [rbp - 0x39]
mov dword [rbp - 0x29], 0x30
lea r8, [rbp - 0x29]
mov qword [rbp - 0x21], r15
mov edx, 0x100080
mov dword [rbp - 0x11], 0x40
lea rcx, [rbp + 0x7f]
mov qword [rbp - 0x19], rbx
movdqu xmmword [rbp - 9], xmm0
mov dword [rsp + 0x20], 7
call qword [sym.imp.ntdll.dll_ZwOpenFile]
nop dword [rax + rax]
test eax, eax
jns 0x140016710
lea rdx, str.Failed_to_open_file_attributes._Status:__x
mov ecx, 4
mov r8d, eax
call fcn.14000d7c8
jmp 0x14001693a
mov r8d, 0x400
xor edx, edx
mov dword [rbp + 0x6f], r8d
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
jne 0x140016753
lea rdx, str.Failed_to_allocate_process_ID_buffer.
mov ecx, 4
call fcn.14000d7c8
jmp 0x14001693a
mov r9d, dword [rbp + 0x6f]
lea rdx, [rbp - 0x39]
mov rcx, qword [rbp + 0x7f]
mov r8, rsi
mov dword [rsp + 0x20], 0x2f
call qword [sym.imp.ntdll.dll_ZwQueryInformationFile]
nop dword [rax + rax]
test eax, eax
jns 0x140016786
lea rdx, str.Failed_to_query_processes._Status:__x
jmp 0x1400166fe
mov r8d, dword [rsi]
test r8d, r8d
jne 0x140016797
lea rdx, str.No_processes_are_using_this_file.
jmp 0x140016744
lea rdx, str.Found__d_processes_using_this_file.
mov ecx, r14d
call fcn.14000d7c8
mov r14d, r15d
cmp dword [rsi], r15d
jbe 0x140016972
mov ebx, 4
mov eax, r14d
lea r9, [rbp - 0x49]
mov qword [rbp - 0x41], r15
lea r8, [rbp + 7]
xorps xmm0, xmm0
mov edx, 0x1000
mov rcx, qword [rsi + rax*8 + 8]
mov qword [rbp - 0x49], rcx
lea rcx, [rbp + 0x77]
mov dword [rbp + 7], 0x30
mov qword [rbp + 0xf], r15
mov dword [rbp + 0x1f], r15d
mov qword [rbp + 0x17], r15
movdqu xmmword [rbp + 0x27], xmm0
call qword [sym.imp.ntdll.dll_ZwOpenProcess]
nop dword [rax + rax]
test eax, eax
js 0x140016926
mov rcx, qword [rbp + 0x77]
lea rax, [rbp + 0x6f]
xor r9d, r9d
mov dword [rbp + 0x6f], r15d
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea edx, [r9 + 0x1b]
call qword [sym.imp.ntdll.dll_ZwQueryInformationProcess]
nop dword [rax + rax]
cmp eax, 0x80000005
je 0x140016847
cmp eax, 0xc0000023
je 0x140016847
cmp eax, 0xc0000004
jne 0x140016901
mov rcx, qword gs:[0x60]
xor edx, edx
mov r8d, dword [rbp + 0x6f]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
je 0x140016918
mov r9d, dword [rbp + 0x6f]
lea rax, [rbp + 0x6f]
mov rcx, qword [rbp + 0x77]
mov r8, rdi
mov edx, 0x1b
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntdll.dll_ZwQueryInformationProcess]
nop dword [rax + rax]
test eax, eax
js 0x14001690a
cmp word [rdi], r15w
jbe 0x1400168a7
mov r9, qword [rdi + 8]
jmp 0x1400168ae
lea r9, str.System
mov r8d, r14d
lea rdx, str.Process_Name___d_:__ws
mov ecx, ebx
call fcn.14000d7c8
mov rcx, qword [rbp + 0x77]
call qword [sym.imp.ntdll.dll_ZwClose]
nop dword [rax + rax]
mov qword [rbp + 0x77], r15
mov r8, rdi
mov rcx, qword gs:[0x60]
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
inc r14d
mov rdi, r15
cmp r14d, dword [rsi]
jae 0x14001693a
jmp 0x1400167b7
lea rdx, str.Failed_to_query_process_information_for_size._Status:__x
jmp 0x14001692d
lea rdx, str.Failed_to_query_process_info._Status:__x
mov ecx, ebx
jmp 0x140016703
lea rdx, str.Failed_to_allocate_memory_for_space_for_process_name.
mov ecx, ebx
jmp 0x140016749
lea rdx, str.Failed_to_open_process._Status:__x
mov r8d, eax
mov ecx, ebx
call fcn.14000d7c8
mov rdi, r15
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x14001694f
call qword [sym.imp.ntdll.dll_ZwClose]
nop dword [rax + rax]
test rdi, rdi
je 0x140016972
mov rcx, qword gs:[0x60]
mov r8, rdi
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
test rsi, rsi
je 0x140016995
mov rcx, qword gs:[0x60]
mov r8, rsi
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x1400169aa
call qword [sym.imp.ntdll.dll_ZwClose]
nop dword [rax + rax]
mov rbx, qword [rsp + 0xe0]
add rsp, 0xb0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret