Function at 0x140195620
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 [0x1402bf040]
xor rax, rsp
mov qword [rbp + 0x37], rax
cmp qword [0x1402cac08], 0
mov rsi, rdx
je 0x140195665
mov ebx, 0xc0000510
jmp 0x140195bb5
xor r15d, r15d
mov qword [0x1402cac08], 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 0x140195698
mov ebx, 0xc0000106
jmp 0x140195bb5
mov rcx, qword [0x1402caaf0]
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 0x140195bb0
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 [0x1402bff40], 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, [0x1402cac08]
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 [0x1402caaf0]
mov r8, rdi
xor edx, edx
mov ebx, eax
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
test ebx, ebx
js 0x140195bb5
lea rax, [0x1402cac20]
mov byte [0x1402bfe32], r15b
mov qword [0x1402cac10], rsi
mov qword [0x1402cec98], r15
test al, 0xf
jne 0x140195be5
movzx eax, word [0x1402ca9ba]
xorps xmm0, xmm0
movaps xmmword [0x1402cac20], xmm0
mov dword [0x1402cac30], r15d
mov dword [0x1402cac34], 0x10
mov qword [0x1402cac38], 0x1010
cmp eax, 2
jb 0x140195825
mov edi, eax
add edi, edi
lea eax, [rdi + rdi]
mov dword [0x1402ca9cc], eax
cmp eax, 0x400
jbe 0x140195834
mov dword [0x1402ca9cc], 0x400
jmp 0x140195834
mov edi, 2
mov dword [0x1402ca9cc], 4
xor edx, edx
lea rcx, [0x1402cac40]
call qword [sym.imp.ntdll.dll_TpAllocPool]
mov ebx, eax
test eax, eax
js 0x140195bb5
mov rcx, qword [0x1402cac40]
mov edx, 2
call qword [sym.imp.ntdll.dll_TpSetPoolMinThreads]
mov rcx, qword [0x1402cac40]
mov edx, edi
call qword [sym.imp.ntdll.dll_TpSetPoolMaxThreads]
test byte [0x1402c6ce8], 1
mov rbx, qword [0x1402cac40]
jne 0x140195945
lock bts qword [0x1402c6ce8], 0x1f
setb al
test al, al
jne 0x14019592b
lea rax, [0x14023ec90]
mov qword [rbp - 0x39], 0x12
lea rdx, [rbp - 0x39]
mov qword [rbp - 0x31], rax
call fcn.14017e120
test rax, rax
je 0x14019591d
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140195913
mov edx, dword [rax + 0x3c]
lea ecx, [rdx - 1]
cmp ecx, 0x7ffffffd
ja 0x140195913
cmp dword ds:[rdx + rax], 0x4550
jne 0x140195913
add rdx, 0x88
add rdx, rax
mov ecx, dword [rdx]
test ecx, ecx
je 0x140195913
cmp dword [rdx + 4], r15d
je 0x140195913
lea r8, [rax + rcx]
mov word [rsp + 0x20], r15w
mov rcx, rax
lea r9, str.TpSetPoolThreadBasePriority
call fcn.14017e4c0
jmp 0x140195916
mov rax, r15
mov qword [0x1402ceb58], rax
lea rcx, [0x1402c6ce8]
call sym.SystemInformer.exe_PhfSetEvent
jmp 0x140195945
test byte [0x1402c6ce8], 1
jne 0x140195945
xor edx, edx
lea rcx, [0x1402c6ce8]
call sym.SystemInformer.exe_PhfWaitForEvent
mov rax, qword [0x1402ceb58]
test rax, rax
je 0x14019595f
mov edx, 2
mov rcx, rbx
call qword [case.0x14013d84a.0]
mov rax, qword [0x1402cac40]
lea r8, [rbp - 0x29]
mov rcx, qword [0x1402cac08]
lea rdx, [rbp + 0x17]
mov r9d, 4
mov qword [0x1402ceca8], rax
mov dword [0x1402ceca0], 3
mov qword [0x1402cecb0], r15
mov qword [0x1402cecb8], r15
mov qword [0x1402cecc0], r15
mov qword [0x1402cecd0], r15
mov qword [0x1402cecd8], r15
mov dword [0x1402cece0], 0x48
mov qword [0x1402cecc8], 0xffffffffffffffff
mov dword [rbp - 0x29], 2
mov dword [rsp + 0x20], 0x29
call qword [sym.imp.ntdll.dll_NtSetInformationFile]
mov rdx, qword [0x1402cac08]
lea rax, [0x1402ceca0]
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [0x1401953e0]
lea rcx, [0x1402cac18]
call qword [sym.imp.ntdll.dll_TpAllocIoCompletion]
mov ebx, eax
test eax, eax
js 0x140195bb5
mov eax, dword [0x1402ca9cc]
xor edx, edx
mov rcx, qword [0x1402caaf0]
imul rdi, rax, 0x1030
mov r8, rdi
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov rbx, rax
test rax, rax
je 0x140195ba9
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.14020ab40
cmp dword [0x1402ca9cc], r15d
mov edi, r15d
mov qword [0x1402cac48], rbx
jbe 0x140195ba4
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 0x140195bb5
mov rax, qword ds:[rbp - 0x29]
xor ecx, ecx
mov qword [r14 + 0x1028], rax
xorps xmm0, xmm0
mov rax, qword [0x1402cac48]
movups xmmword [rsi + rax + 0x1010], xmm0
mov qword [rsi + rax + 0x1020], rcx
mov rcx, qword [0x1402cac18]
call qword [sym.imp.ntdll.dll_TpStartAsyncIoOperation]
mov rcx, qword [0x1402cac48]
xor r8d, r8d
mov rbx, qword [0x1402cac08]
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 0x140195b48
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 0x140195b7b
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 0x140195b9d
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 0x140195b9d
inc edi
cmp edi, dword [0x1402ca9cc]
jae 0x140195ba4
mov rbx, qword [0x1402cac48]
jmp 0x140195a60
mov ebx, 0xc01c000a
jmp 0x140195bb5
mov ebx, r15d
jmp 0x140195bba
mov qword [0x1402cac48], r15
mov ebx, 0xc000009a
call fcn.140195c00
mov eax, ebx
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1401e4a20
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