Function at 0x140196300
Capabilities:
Parse pe header
Set file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xe0
mov rax, qword [0x1402c0040]
xor rax, rsp
mov qword [rbp + 0x37], rax
cmp qword [0x1402cbb30], 0
mov rsi, rdx
je 0x140196345
mov ebx, 0xc0000510
jmp 0x140196895
xor r15d, r15d
mov qword [0x1402cbb30], 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 0x140196378
mov ebx, 0xc0000106
jmp 0x140196895
mov rcx, qword [0x1402cba10]
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 rdi, rax
test rax, rax
je 0x140196890
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 [0x1402c0f40], 0x64
mov dword [rax + 4], 0x180700
movabs rax, 0x54524f50544c46
mov qword [rdi + 8], rax
lea rax, [rbp - 0x29]
mov qword [rdi + 0x10], rax
lea rax, [rbp + 0x27]
mov qword [rdi + 0x18], rax
lea rax, str.FileSystemFiltersFltMgrMsg
mov word [rdi + 0x20], r15w
mov dword [rsp + 0x50], 0x2b
mov qword [rsp + 0x48], rdi
mov qword [rbp - 0x31], rax
mov eax, 0x1040
cmovb eax, ecx
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x38], 3
lea rcx, [0x1402cbb30]
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 [0x1402cba10]
mov r8, rdi
xor edx, edx
mov ebx, eax
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
test ebx, ebx
js 0x140196895
lea rax, [0x1402cbb50]
mov byte [0x1402c0e32], r15b
mov qword [0x1402cbb38], rsi
mov qword [0x1402cfbc8], r15
test al, 0xf
jne 0x1401968c5
movzx eax, word [0x1402cb8e2]
xorps xmm0, xmm0
movaps xmmword [0x1402cbb50], xmm0
mov dword [0x1402cbb60], r15d
mov dword [0x1402cbb64], 0x10
mov qword [0x1402cbb68], 0x1010
cmp eax, 2
jb 0x140196505
mov edi, eax
add edi, edi
lea eax, [rdi + rdi]
mov dword [0x1402cbb2c], eax
cmp eax, 0x400
jbe 0x140196514
mov dword [0x1402cbb2c], 0x400
jmp 0x140196514
mov edi, 2
mov dword [0x1402cbb2c], 4
xor edx, edx
lea rcx, [0x1402cbb78]
call qword [sym.imp.ntdll.dll_TpAllocPool]
mov ebx, eax
test eax, eax
js 0x140196895
mov rcx, qword [0x1402cbb78]
mov edx, 2
call qword [sym.imp.ntdll.dll_TpSetPoolMinThreads]
mov rcx, qword [0x1402cbb78]
mov edx, edi
call qword [sym.imp.ntdll.dll_TpSetPoolMaxThreads]
test byte [0x1402c7c28], 1
mov rbx, qword [0x1402cbb78]
jne 0x140196625
lock bts qword [0x1402c7c28], 0x1f
setb al
test al, al
jne 0x14019660b
lea rax, [0x14023fe60]
mov qword [rbp - 0x39], 0x12
lea rdx, [rbp - 0x39]
mov qword [rbp - 0x31], rax
call fcn.14017ede0
test rax, rax
je 0x1401965fd
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1401965f3
mov edx, dword [rax + 0x3c]
lea ecx, [rdx - 1]
cmp ecx, 0x7ffffffd
ja 0x1401965f3
cmp dword ds:[rdx + rax], 0x4550
jne 0x1401965f3
add rdx, 0x88
add rdx, rax
mov ecx, dword [rdx]
test ecx, ecx
je 0x1401965f3
cmp dword [rdx + 4], r15d
je 0x1401965f3
lea r8, [rax + rcx]
mov word [rsp + 0x20], r15w
mov rcx, rax
lea r9, str.TpSetPoolThreadBasePriority
call fcn.14017f180
jmp 0x1401965f6
mov rax, r15
mov qword [0x1402cfa88], rax
lea rcx, [0x1402c7c28]
call sym.SystemInformer.exe_PhfSetEvent
jmp 0x140196625
test byte [0x1402c7c28], 1
jne 0x140196625
xor edx, edx
lea rcx, [0x1402c7c28]
call sym.SystemInformer.exe_PhfWaitForEvent
mov rax, qword [0x1402cfa88]
test rax, rax
je 0x14019663f
mov edx, 2
mov rcx, rbx
call qword [case.0x14013dbaa.0]
mov rax, qword [0x1402cbb78]
lea r8, [rbp - 0x29]
mov rcx, qword [0x1402cbb30]
lea rdx, [rbp + 0x17]
mov r9d, 4
mov qword [0x1402cfbe8], rax
mov dword [0x1402cfbe0], 3
mov qword [0x1402cfbf0], r15
mov qword [0x1402cfbf8], r15
mov qword [0x1402cfc00], r15
mov qword [0x1402cfc10], r15
mov qword [0x1402cfc18], r15
mov dword [0x1402cfc20], 0x48
mov qword [0x1402cfc08], 0xffffffffffffffff
mov dword [rbp - 0x29], 2
mov dword [rsp + 0x20], 0x29
call qword [sym.imp.ntdll.dll_NtSetInformationFile]
mov rdx, qword [0x1402cbb30]
lea rax, [0x1402cfbe0]
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [0x1401960c0]
lea rcx, [0x1402cbb40]
call qword [sym.imp.ntdll.dll_TpAllocIoCompletion]
mov ebx, eax
test eax, eax
js 0x140196895
mov eax, dword [0x1402cbb2c]
xor edx, edx
mov rcx, qword [0x1402cba10]
imul rdi, rax, 0x1030
mov r8, rdi
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov rbx, rax
test rax, rax
je 0x140196889
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.14020ba80
cmp dword [0x1402cbb2c], r15d
mov edi, r15d
mov qword [0x1402cbb70], rbx
jbe 0x140196884
nop
mov eax, edi
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], r15d
mov qword [rbp - 9], r15
lea r14, [rsi + rbx]
mov byte [rsp + 0x20], r15b
call qword [sym.imp.ntdll.dll_NtCreateEvent]
mov ebx, eax
test eax, eax
js 0x140196895
mov rax, qword ds:[rbp - 0x29]
xor ecx, ecx
mov qword [r14 + 0x1028], rax
xorps xmm0, xmm0
mov rax, qword [0x1402cbb70]
movups xmmword [rsi + rax + 0x1010], xmm0
mov qword [rsi + rax + 0x1020], rcx
mov rcx, qword [0x1402cbb40]
call qword [sym.imp.ntdll.dll_TpStartAsyncIoOperation]
mov rcx, qword [0x1402cbb70]
xor r8d, r8d
mov rbx, qword [0x1402cbb30]
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, rbx
test rdx, rdx
je 0x140196828
mov qword ds:[rdx], 0x103
mov r9, rdx
mov qword [rsp + 0x20], rdx
mov rdx, qword [rdx + 0x18]
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
jmp 0x14019685b
lea rax, [rbp - 0x39]
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
nop dword [rax]
cmp eax, 0x103
jne 0x14019687d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.ntdll.dll_NtWaitForSingleObject]
test eax, eax
cmovns eax, dword [rbp - 0x39]
nop dword [rax + rax]
cmp eax, 0x103
jne 0x14019687d
inc edi
cmp edi, dword [0x1402cbb2c]
jae 0x140196884
mov rbx, qword [0x1402cbb70]
jmp 0x140196740
mov ebx, 0xc01c000a
jmp 0x140196895
mov ebx, r15d
jmp 0x14019689a
mov qword [0x1402cbb70], r15
mov ebx, 0xc000009a
call fcn.1401968e0
mov eax, ebx
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1401e5e20
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov ecx, 0x80000002
call qword [sym.imp.ntdll.dll_RtlRaiseStatus]
int3