Function at 0x140015f00
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xa8
lea rax, [rdx + 0x100]
mov r14, rdx
xor r12d, r12d
mov qword [rbp - 0x39], rax
and qword [rbp - 0x21], r12
lea r8, [rbp - 0x21]
mov edx, 0x200000
mov dword [rbp + 0x77], r12d
mov ecx, 0x1001a0
xor r15d, r15d
call fcn.140018d54
mov rsi, rax
test rax, rax
jne 0x140015f63
mov eax, 0xc000009a
jmp 0x14001625a
lea r13, [rax + 0x1a0]
xor edx, edx
mov r8d, 0x1a0
lea rdi, [rax + 0x20]
mov rcx, rsi
mov rbx, r13
call fcn.14001cb40
mov rcx, qword [rbp - 0x39]
lea rax, [r14 + 0x70]
mov r14, qword [rax]
and qword [rbp + 0x7f], r12
mov qword [rbp - 0x31], rax
call qword [sym.imp.ntoskrnl.exe_KeAcquireGuardedMutex]
mov rax, qword [rbp - 0x39]
lea rcx, [0x1400162e0]
lea rdx, [0x140018ac0]
cmp dword [rax + 0x194], r12d
cmovne rcx, rdx
mov qword [rbp - 0x29], rcx
cmp r14, qword [rbp - 0x31]
je 0x140016114
mov rax, qword [rbp - 0x31]
cmp byte [r14 + 0x3c2], 0
je 0x140016100
cmp byte [r14 + 0x3c4], 0
je 0x140016100
lea rdx, [r14 + 0x28]
xor r12d, r12d
lea rcx, [rbp - 9]
call fcn.140018b48
mov rdx, qword [rbp - 0x39]
lea rcx, [rbp - 9]
mov rax, qword [rbp - 0x29]
call qword [0x1400214b0]
test eax, eax
je 0x1400160fc
mov eax, dword [rbp + 7]
inc r12d
mov dword [rbx], eax
mov eax, dword [rbp + 0xb]
mov dword [rbx + 4], eax
add rbx, 8
lea rax, [r13 + 0x100000]
cmp rbx, rax
jb 0x1400160bf
lfence
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.ntoskrnl.exe_KeReleaseGuardedMutex]
mov eax, dword [rbp + 0x7f]
mov ecx, 0x1a0
test eax, eax
cmove eax, ecx
and qword [rsp + 0x40], 0
mov rcx, qword [rbp + 0x67]
xor r9d, r9d
mov dword [rbp + 0x7f], eax
xor r8d, r8d
lea rax, [rbp + 0x7f]
xor edx, edx
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x19]
mov dword [rsp + 0x30], 0x100000
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntoskrnl.exe_ZwWriteFile]
mov dword [rbp + 0x77], eax
test eax, eax
js 0x1400161bc
mov eax, 0x100000
cmp dword [rbp - 0x11], eax
jne 0x140016247
mov ecx, dword [rbp + 0x7f]
mov rbx, r13
add ecx, eax
mov dword [rbp + 0x7f], ecx
cmp ecx, 0x20001a0
jae 0x1400161c4
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.ntoskrnl.exe_KeAcquireGuardedMutex]
mov rdx, qword [rbp - 0x39]
lea rcx, [rbp - 9]
mov rax, qword [rbp - 0x29]
call qword [0x1400214b0]
test eax, eax
jne 0x14001600f
mov rax, qword [rbp - 0x31]
test r12d, r12d
je 0x140016100
movups xmm0, xmmword [r14 + 0x10]
mov dword [rdi + 0x14], r15d
add r15d, r12d
mov dword [rdi + 0x10], r12d
movdqu xmmword [rdi], xmm0
add rdi, 0x18
jmp 0x140016100
mov rax, qword [rbp - 0x31]
mov r14, qword [r14]
cmp r14, rax
jne 0x140015fc9
mov r12d, dword [rbp + 0x77]
mov rax, qword [rbp - 0x39]
mov rcx, rax
call qword [sym.imp.ntoskrnl.exe_KeReleaseGuardedMutex]
xor r14d, r14d
test r15d, r15d
je 0x14001624b
mov rax, qword [rbp - 0x39]
sub rdi, rsi
mov dword [rsi], 0x200
sub rdi, 0x20
mov eax, dword [rax + 0x3c]
mov dword [rsi + 4], eax
mov rax, qword [rbp + 0x6f]
mov rax, qword [rax + 0xf8]
movups xmm0, xmmword [rax + 0x10]
movabs rax, 0x2aaaaaaaaaaaaaab
mov dword [rsi + 0x18], r15d
imul rdi
movdqu xmmword [rsi + 8], xmm0
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x1c], edx
cmp dword [rbp + 0x7f], r14d
jne 0x1400161e5
sub rbx, r13
mov qword [rsp + 0x40], r14
sar rbx, 3
lea rcx, [rbp + 0x7f]
mov qword [rsp + 0x38], rcx
lea eax, [rbx*8 + 0x1a0]
mov rcx, qword [rbp + 0x67]
xor r9d, r9d
mov dword [rsp + 0x30], eax
xor r8d, r8d
lea rax, [rbp - 0x19]
mov qword [rsp + 0x28], rsi
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntoskrnl.exe_ZwWriteFile]
mov r12d, eax
jmp 0x14001624b
movups xmm0, xmmword [r14 + 0x10]
mov dword [rdi + 0x14], r15d
add r15d, r12d
mov dword [rdi + 0x10], r12d
mov r12d, dword [rbp + 0x77]
movdqu xmmword [rdi], xmm0
add rdi, 0x18
jmp 0x14001611d
cmp rbx, r13
je 0x14001622b
mov rcx, qword [rbp + 0x67]
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x40], r14
sub rbx, r13
mov qword [rsp + 0x38], rax
and ebx, 0xfffffff8
mov dword [rsp + 0x30], ebx
lea rax, [rbp - 0x19]
mov qword [rsp + 0x28], r13
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_ZwWriteFile]
test eax, eax
js 0x1400161bc
cmp dword [rbp - 0x11], ebx
jne 0x1400161bc
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], rax
mov eax, 0x1a0
mov qword [rbp + 0x7f], r14
jmp 0x140016198
mov r12d, dword [rbp + 0x77]
mov rdx, qword [rbp - 0x21]
mov rcx, rsi
call fcn.140018dfc
mov eax, r12d
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret