Function at 0x14001acc0
Capabilities:
Encode data using xor
Read file on windows
Write file on windows

Disassembly:
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
push rbx
push rbp
sub rsp, 0x2c8
mov rbp, rcx
movzx ebx, r8b
add rcx, 0x50
cmp word [rcx], 0
je 0x14001afbb
cmp qword [rbp + 0x30], 0
je 0x14001afbb
cmp dword [rbp + 0x4b8], 0
jne 0x14001ad08
xor eax, eax
add rsp, 0x2c8
pop rbp
pop rbx
ret
lea r8, [rsp + 0x48]
mov qword [rsp + 0x2c0], rdi
sub r8, rcx
mov qword [rsp + 0x2a0], r15
mov byte [rsp + 0x250], 1
mov rdx, rcx
nop dword [rax + rax]
movzx eax, word [rdx]
mov word [r8 + rdx], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x14001ad30
xor edi, edi
mov qword [rsp + 0x2b8], r12
mov qword [rsp + 0x30], rdi
xor r9d, r9d
mov qword [rsp + 0x2b0], r13
mov edx, 0x80000000
mov dword [rsp + 0x28], pe_nt_image_headers64
lea r8d, [rdi + 1]
mov qword [rsp + 0x2a8], r14
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x14001ad95
mov edi, 0x80040203
jmp 0x14001af6e
mov r12d, dword [rbp + 0x38]
mov r13d, ebx
imul r12d, dword [rbp + 0x4a8]
xor r13d, 1
inc r13d
mov eax, 2
mov ecx, r13d
imul ecx, r12d
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400b609c
mov r14, rax
test rax, rax
jne 0x14001addf
mov edi, 0x80040202
jmp 0x14001af6e
mov qword [rsp + 0x2f8], rsi
mov esi, dword [rbp + 0x4a8]
imul esi, dword [rbp + 0x4b8]
test esi, esi
je 0x14001af5e
movaps xmmword [rsp + 0x290], xmm6
movss xmm6, dword [0x14012f494]
movaps xmmword [rsp + 0x280], xmm7
movss xmm7, dword [0x14012bc68]
movaps xmmword [rsp + 0x270], xmm8
movss xmm8, dword [0x14012dfd0]
movaps xmmword [rsp + 0x260], xmm9
xorps xmm9, xmm9
nop dword [rax + rax]
mov rdx, qword [rbp + 0x30]
lea r9, [rsp + 0x2e0]
cmp esi, r12d
mov dword [rsp + 0x2e0], edi
mov ebx, r12d
mov qword [rsp + 0x20], rdi
cmovb ebx, esi
mov rcx, r15
sub esi, ebx
lea r8d, [rbx*8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rdx, r14
mov rcx, qword [rbp + 0x30]
mov r8d, ebx
cmp byte [rsp + 0x2f0], dil
je 0x14001aebc
test ebx, ebx
je 0x14001af04
nop dword [rax]
movss xmm0, dword [rcx + 4]
xorps xmm0, xmm8
maxss xmm0, dword [rcx]
add rcx, 8
mulss xmm0, xmm6
addss xmm0, xmm7
cvttss2si eax, xmm0
mov word [rdx], ax
add rdx, 2
sub r8d, 1
jne 0x14001ae90
jmp 0x14001af04
test ebx, ebx
je 0x14001af04
movss xmm0, dword [rcx]
maxss xmm0, xmm9
mulss xmm0, xmm6
addss xmm0, xmm7
cvttss2si eax, xmm0
mov word [rdx], ax
movss xmm0, dword [rcx + 4]
add rcx, 8
xorps xmm0, xmm8
maxss xmm0, xmm9
mulss xmm0, xmm6
addss xmm0, xmm7
cvttss2si eax, xmm0
mov word [rdx + 2], ax
add rdx, 4
sub r8d, 1
jne 0x14001aec0
mov rax, qword [rsp + 0x2e8]
lea r9, [rsp + 0x2e0]
imul ebx, r13d
mov rdx, r14
mov dword [rsp + 0x2e0], edi
mov qword [rsp + 0x20], rdi
mov rcx, qword [rax]
lea r8d, [rbx + rbx]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test esi, esi
jne 0x14001ae40
movaps xmm9, xmmword [rsp + 0x260]
movaps xmm8, xmmword [rsp + 0x270]
movaps xmm7, xmmword [rsp + 0x280]
movaps xmm6, xmmword [rsp + 0x290]
mov rcx, r14
call fcn.1400b60a4
mov rsi, qword [rsp + 0x2f8]
mov r14, qword [rsp + 0x2a8]
mov r13, qword [rsp + 0x2b0]
mov r12, qword [rsp + 0x2b8]
cmp r15, 0xffffffffffffffff
je 0x14001af9f
cmp byte [rsp + 0x250], 0
je 0x14001af9f
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r15, qword [rsp + 0x2a0]
mov eax, edi
mov rdi, qword [rsp + 0x2c0]
add rsp, 0x2c8
pop rbp
pop rbx
ret
mov eax, 0x80040200
add rsp, 0x2c8
pop rbp
pop rbx
ret