Function at 0x140088d00
Capabilities:
Set file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xe0
mov rax, qword [0x140155040]
xor rax, rsp
mov qword [rbp + 0x37], rax
xor r15d, r15d
lea r12, [0x140159390]
cmp qword [0x140159380], r15
je 0x140088d50
mov edi, 0xc0000510
jmp 0x140089244
mov qword [0x140159380], r15
cmp qword [rcx], 0xfffe
movzx edx, word [rcx]
mov r8, qword [rcx + 8]
mov word [rbp - 0x29], dx
mov qword [rbp - 0x21], r8
lea eax, [rdx + 2]
mov word [rbp - 0x27], ax
jbe 0x140088d85
mov edi, 0xc0000106
jmp 0x140089244
mov rcx, qword [0x140159238]
mov qword [rbp + 0x2f], r8
mov r8d, 0x2b
mov word [rbp + 0x27], dx
xor edx, edx
mov word [rbp + 0x29], ax
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov rbx, rax
test rax, rax
je 0x14008923f
mov dword [rax], r15d
lea r9, [rbp + 0x17]
mov qword [rax + 0x18], r15
lea r8, [rbp - 0x19]
mov qword [rax + 0x20], r15
mov ecx, 0x40
mov word [rax + 0x28], r15w
xorps xmm0, xmm0
mov byte [rax + 0x2a], r15b
mov edx, 0x100003
cmp dword [0x140155b08], 0x64
mov dword [rax + 4], 0x180700
movabs rax, 0x54524f50544c46
mov qword [rbx + 8], rax
lea rax, [rbp - 0x29]
mov qword [rbx + 0x10], rax
lea rax, [rbp + 0x27]
mov qword [rbx + 0x18], rax
lea rax, str.FileSystemFiltersFltMgrMsg
mov word [rbx + 0x20], r15w
mov dword [rsp + 0x50], 0x2b
mov qword [rsp + 0x48], rbx
mov qword [rbp - 0x31], rax
mov eax, 0x1040
cmovb eax, ecx
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x38], 3
lea rcx, [0x140159380]
mov dword [rbp - 1], eax
lea rax, [rbp - 0x39]
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r15d
mov qword [rbp - 9], rax
mov dword [rbp - 0x39], 0x3c003a
mov dword [rbp - 0x19], 0x30
mov qword [rbp - 0x11], r15
movdqu xmmword [rbp + 7], xmm0
mov qword [rsp + 0x20], r15
call qword [sym.imp.ntdll.dll_NtCreateFile]
mov rcx, qword [0x140159238]
mov r8, rbx
xor edx, edx
mov edi, eax
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
test edi, edi
js 0x140089244
mov byte [0x140155b0c], r15b
mov qword [0x140159388], r15
mov qword [0x140159c58], r15
test r12b, 0xf
jne 0x1400893a9
movzx eax, word [0x14015924a]
xorps xmm0, xmm0
movaps xmmword [0x140159390], xmm0
mov dword [0x1401593a0], r15d
mov dword [0x1401593a4], 0x10
mov qword [0x1401593a8], 0x1010
cmp eax, 2
jb 0x140088f05
mov ebx, eax
add ebx, ebx
lea eax, [rbx + rbx]
mov dword [0x140159148], eax
cmp eax, 0x400
jbe 0x140088f14
mov dword [0x140159148], 0x400
jmp 0x140088f14
mov ebx, 2
mov dword [0x140159148], 4
xor edx, edx
lea rcx, [0x1401593c0]
call qword [sym.imp.ntdll.dll_TpAllocPool]
mov edi, eax
test eax, eax
js 0x140089244
mov rcx, qword [0x1401593c0]
mov edx, 2
call qword [sym.imp.ntdll.dll_TpSetPoolMinThreads]
mov rcx, qword [0x1401593c0]
mov edx, ebx
call qword [sym.imp.ntdll.dll_TpSetPoolMaxThreads]
test byte [0x140157040], 1
mov rbx, qword [0x1401593c0]
jne 0x140088fd3
lock bts qword [0x140157040], 0x1f
setb al
test al, al
jne 0x140088fbe
lea rax, [0x14013f008]
mov qword [rbp - 0x39], 0x12
lea rdx, [rbp - 0x39]
mov qword [rbp - 0x31], rax
call fcn.1400789e0
test rax, rax
je 0x140088fb0
xor r8d, r8d
lea rdx, str.TpSetPoolThreadBasePriority
mov rcx, rax
call fcn.140078c20
mov qword [0x140159ac8], rax
lea rcx, [0x140157040]
call fcn.140094940
jmp 0x140088fd3
test byte [0x140157040], 1
jne 0x140088fd3
lea rcx, [0x140157040]
call fcn.1400949c0
mov rax, qword [0x140159ac8]
test rax, rax
je 0x140088fed
mov edx, 2
mov rcx, rbx
call qword [case.0x140071b98.0]
mov rax, qword [0x1401593c0]
lea r8, [rbp - 0x29]
mov rcx, qword [0x140159380]
lea rdx, [rbp + 0x17]
mov r9d, 4
mov qword [0x140159c68], rax
mov dword [0x140159c60], 3
mov qword [0x140159c70], r15
mov qword [0x140159c78], r15
mov qword [0x140159c80], r15
mov qword [0x140159c90], r15
mov qword [0x140159c98], r15
mov dword [0x140159ca0], 0x48
mov qword [0x140159c88], 0xffffffffffffffff
mov dword [rbp - 0x29], 2
mov dword [rsp + 0x20], 0x29
call qword [sym.imp.ntdll.dll_NtSetInformationFile]
mov rdx, qword [0x140159380]
lea rax, [0x140159c60]
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [0x140088ac0]
lea rcx, [0x1401593b0]
call qword [sym.imp.ntdll.dll_TpAllocIoCompletion]
mov edi, eax
test eax, eax
js 0x140089244
mov esi, dword [0x140159148]
xor edx, edx
mov rcx, qword [0x140159238]
imul rbx, rsi, 0x1030
mov r8, rbx
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov rdi, rax
test rax, rax
je 0x140089238
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.1400e6910
mov qword [0x1401593b8], rdi
mov ebx, r15d
test esi, esi
je 0x140089230
nop dword [rax + rax]
mov eax, ebx
lea r8, [rbp - 0x19]
imul rsi, rax, 0x1030
xorps xmm0, xmm0
movdqu xmmword [rbp + 7], xmm0
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x19], 0x30
xor r9d, r9d
mov qword [rbp - 0x11], r15
mov edx, 0x1f0003
mov dword [rbp - 1], 0x20
mov qword [rbp - 9], r15
lea r14, [rsi + rdi]
mov byte [rsp + 0x20], r15b
call qword [sym.imp.ntdll.dll_NtCreateEvent]
mov edi, eax
test eax, eax
js 0x140089244
mov rax, qword [rbp - 0x29]
xor ecx, ecx
mov qword [r14 + 0x1028], rax
xorps xmm0, xmm0
mov rax, qword [0x1401593b8]
movups xmmword [rsi + rax + 0x1010], xmm0
mov qword [rsi + rax + 0x1020], rcx
mov rcx, qword [0x1401593b0]
call qword [sym.imp.ntdll.dll_TpStartAsyncIoOperation]
mov rcx, qword [0x1401593b8]
xor r8d, r8d
mov rdi, qword [0x140159380]
add rcx, rsi
mov dword [rsp + 0x48], 0x1010
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x38], r15d
lea rdx, [rcx + 0x1010]
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x8401f
mov rcx, rdi
test rdx, rdx
je 0x1400891d9
mov qword [rdx], 0x103
mov r9, rdx
mov qword [rsp + 0x20], rdx
mov rdx, qword [rdx + 0x18]
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
jmp 0x14008920c
lea rax, [rbp - 0x39]
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
cmp eax, 0x103
jne 0x140089229
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ntdll.dll_NtWaitForSingleObject]
test eax, eax
cmovns eax, dword [rbp - 0x39]
cmp eax, 0x103
jne 0x140089229
inc ebx
cmp ebx, dword [0x140159148]
jae 0x140089230
mov rdi, qword [0x1401593b8]
jmp 0x1400890f0
mov edi, 0xc01c000a
jmp 0x140089244
mov edi, r15d
jmp 0x14008937a
mov qword [0x1401593b8], r15
mov edi, 0xc000009a
cmp qword [0x140159380], r15
je 0x14008937a
mov ebx, 1
xor eax, eax
lock cmpxchg qword [0x140159c58], rbx
cmp rax, 2
jb 0x14008926c
call fcn.140094ae0
mov rcx, qword [0x1401593b0]
test rcx, rcx
je 0x14008929a
mov edx, ebx
call qword [sym.imp.ntdll.dll_TpWaitForIoCompletion]
mov rcx, qword [0x1401593b0]
call qword [sym.imp.ntdll.dll_TpReleaseIoCompletion]
mov qword [0x1401593b0], r15
mov rcx, qword [0x1401593c0]
test rcx, rcx
je 0x1400892b3
call qword [sym.imp.ntdll.dll_TpReleasePool]
mov qword [0x1401593c0], r15
mov rcx, qword [0x140159380]
mov qword [0x140159388], r15
mov byte [0x140155b0c], bl
call qword [sym.imp.ntdll.dll_NtClose]
mov r8, qword [0x1401593b8]
mov qword [0x140159380], r15
nop dword [rax + rax]
test r8, r8
je 0x140089346
mov edx, dword [0x140159148]
mov ebx, r15d
test edx, edx
je 0x140089329
mov eax, ebx
imul rsi, rax, 0x1030
mov rcx, qword [r8 + rsi + 0x1028]
test rcx, rcx
je 0x140089323
call qword [sym.imp.ntdll.dll_NtClose]
mov r8, qword [0x1401593b8]
mov edx, dword [0x140159148]
mov qword [rsi + r8 + 0x1028], r15
inc ebx
cmp ebx, edx
jb 0x1400892f2
mov rcx, qword [0x140159238]
xor edx, edx
mov dword [0x140159148], r15d
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov qword [0x1401593b8], r15
mov rcx, r12
call qword [sym.imp.ntdll.dll_RtlInterlockedFlushSList]
mov rbx, rax
test rax, rax
je 0x14008937a
nop word [rax + rax]
mov rcx, qword [0x140159238]
mov r8, rbx
mov rbx, qword [rbx]
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
test rbx, rbx
jne 0x140089360
mov eax, edi
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1400c6a20
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov ecx, 0x80000002
call qword [sym.imp.ntdll.dll_RtlRaiseStatus]
int3