Function at 0x1401bbea0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x90
lea rbp, [rsp + 0x20]
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0xa8], rsi
mov qword [rbp + 0xb0], rdi
movaps xmmword [rbp + 0x60], xmm6
mov rax, qword [0x1402e0068]
xor rax, rbp
mov qword [rbp + 0x58], rax
mov r13, rdx
mov qword [rbp + 0x48], rdx
movsxd rdx, dword [rbp + 0xc0]
mov r15, rcx
mov qword [rbp + 0x50], rcx
lea rcx, [rdx*4]
lea rax, [rcx + 0xf]
mov qword [rbp + 0x18], r8
mov dword [rbp], r9d
mov rbx, rdx
mov qword [rbp + 0x38], rdx
movabs r8, 0xffffffffffffff0
cmp rax, rcx
ja 0x1401bbf1f
mov rax, r8
and rax, 0xfffffffffffffff0
call fcn.140232c50
sub rsp, rax
lea r14d, [r9 + rdx]
movsxd rax, r14d
lea rdi, [rsp + 0x20]
shl rax, 2
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1401bbf47
mov rcx, r8
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.140232c50
sub rsp, rcx
xor esi, esi
cmp rdx, 4
lea r12, [rsp + 0x20]
mov r8, rsi
mov qword [rbp + 0x40], r12
jl 0x1401bbfb6
lea r9, [rbx - 4]
lea rcx, [rdi + 8]
lea rdx, [r13 + rdx*4 - 8]
shr r9, 2
inc r9
lea r8, [r9*4]
nop word [rax + rax]
mov eax, dword [rdx + 4]
add rcx, 0x10
sub rdx, 0x10
sub r9, 1
mov dword [rcx - 0x18], eax
mov eax, dword [rdx + 0x10]
mov dword [rcx - 0x14], eax
mov eax, dword [rdx + 0xc]
mov dword [rcx - 0x10], eax
mov eax, dword [rdx + 8]
mov dword [rcx - 0xc], eax
jne 0x1401bbf90
cmp r8, rbx
jge 0x1401bbfd9
mov rax, rbx
sub rax, r8
lea rcx, [r13 + rax*4 - 4]
mov eax, dword [rcx]
inc r8
sub rcx, 4
cmp r8, rbx
mov dword [rdi + r8*4 - 4], eax
jl 0x1401bbfc6
cmp rbx, 4
mov r13, qword [rbp + 0xc8]
movss xmm6, dword [0x1402abc60]
mov r9d, esi
mov r8, rsi
jl 0x1401bc062
lea rax, [rbx - 4]
lea rcx, [r12 + 8]
lea rdx, [r13 + rbx*4 - 8]
shr rax, 2
inc rax
lea r9d, [rax*4]
lea r8, [rax*4]
nop dword [rax]
movss xmm0, dword [rdx + 4]
add rcx, 0x10
sub rdx, 0x10
sub rax, 1
xorps xmm0, xmm6
movss dword [rcx - 0x18], xmm0
movss xmm1, dword [rdx + 0x10]
xorps xmm1, xmm6
movss dword [rcx - 0x14], xmm1
movss xmm0, dword [rdx + 0xc]
xorps xmm0, xmm6
movss dword [rcx - 0x10], xmm0
movss xmm1, dword [rdx + 8]
xorps xmm1, xmm6
movss dword [rcx - 0xc], xmm1
jne 0x1401bc020
cmp r8, rbx
jge 0x1401bc08f
mov rax, rbx
sub rax, r8
add r9d, eax
lea rcx, [r13 + rax*4 - 4]
movss xmm0, dword [rcx]
inc r8
sub rcx, 4
cmp r8, rbx
xorps xmm0, xmm6
movss dword [r12 + r8*4 - 4], xmm0
jl 0x1401bc075
cmp r9d, r14d
movsxd rax, r9d
jge 0x1401bc0ac
sub r14d, r9d
lea rcx, [r12 + rax*4]
xor edx, edx
mov r8d, r14d
shl r8, 2
call fcn.1401e6750
mov eax, dword [rbp]
mov ecx, esi
add eax, 0xfffffffd
test eax, eax
jle 0x1401bc221
mov r8, qword [rbp + 0x18]
mov rdx, r12
lea r13, [r12 + rbx*4 + 4]
mov rbx, qword [rbp + 0x48]
lea rcx, [r8 + 0xc]
mov r14, r8
sub r14, r15
dec eax
mov qword [rbp + 8], rcx
mov r12, qword [rbp + 8]
shr eax, 2
lea rcx, [r15 + 8]
inc eax
mov qword [rbp + 0x28], rdx
mov r15, rcx
mov esi, eax
lea eax, [rax*4]
mov dword [rbp + 0x20], eax
nop dword [rax]
movss xmm0, dword [r15 - 8]
movss xmm1, dword [r15 - 4]
mov r9d, dword [rbp + 0xc0]
lea r8, [rbp + 8]
mov rcx, rdi
movss dword [rbp + 8], xmm0
movss xmm0, dword [r15]
movss dword [rbp + 0xc], xmm1
movss xmm1, dword [r15 + 4]
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm1
call fcn.1401a5c60
movss xmm1, dword [rbp + 8]
mov rdx, qword [rbp + 0x28]
add rdx, 0x10
add r12, 0x10
add r15, 0x10
movaps xmm0, xmm1
add r13, 0x10
sub rsi, 1
xorps xmm0, xmm6
mov qword [rbp + 0x28], rdx
movss dword [r13 - 0x14], xmm0
movss dword [r12 - 0x1c], xmm1
movss xmm2, dword [rbx]
mulss xmm2, dword [r13 - 0x14]
addss xmm2, dword [rbp + 0xc]
movaps xmm0, xmm2
xorps xmm0, xmm6
movss dword [r13 - 0x10], xmm0
movss dword [r12 - 0x18], xmm2
movss xmm0, dword [rbx + 4]
mulss xmm0, dword [r13 - 0x14]
movss xmm1, dword [r13 - 0x10]
mulss xmm1, dword [rbx]
addss xmm1, dword [rbp + 0x10]
addss xmm1, xmm0
movaps xmm0, xmm1
xorps xmm0, xmm6
movss dword [r13 - 0xc], xmm0
movss dword [r14 + r15 - 0x10], xmm1
movss xmm2, dword [r13 - 0xc]
mulss xmm2, dword [rbx]
movss xmm0, dword [r13 - 0x10]
movss xmm1, dword [rbx + 8]
mulss xmm0, dword [rbx + 4]
addss xmm2, dword [rbp + 0x14]
mulss xmm1, dword [r13 - 0x14]
addss xmm2, xmm0
addss xmm2, xmm1
movaps xmm0, xmm2
xorps xmm0, xmm6
movss dword [r13 - 8], xmm0
movss dword [r12 - 0x10], xmm2
jne 0x1401bc100
mov rbx, qword [rbp + 0x38]
mov r12, qword [rbp + 0x40]
mov r13, qword [rbp + 0xc8]
mov r15, qword [rbp + 0x50]
mov ecx, dword [rbp + 0x20]
movsxd r11, dword [rbp]
movsxd r8, ecx
cmp r8, r11
jge 0x1401bc2db
mov r14, qword [rbp + 0x18]
xorps xmm5, xmm5
lea rax, [rbx + r8]
sub r15, r12
lea rdx, [r12 + r8*4]
lea r10, [r12 + rax*4]
sub r14, r12
nop word [rax + rax]
cmp rbx, 2
movss xmm4, dword [r15 + rdx]
movaps xmm3, xmm5
movaps xmm2, xmm5
mov rcx, rsi
jl 0x1401bc29a
lea r9, [rbx - 1]
mov rax, rdx
nop dword [rax]
movss xmm0, dword [rdi + rcx*4]
movss xmm1, dword [rdi + rcx*4 + 4]
add rcx, 2
add rax, 8
cmp rcx, r9
mulss xmm0, dword [rax - 8]
mulss xmm1, dword [rax - 4]
subss xmm3, xmm0
subss xmm2, xmm1
jl 0x1401bc270
cmp rcx, rbx
jge 0x1401bc2b2
lea rax, [r8 + rcx]
movss xmm0, dword [r12 + rax*4]
mulss xmm0, dword [rdi + rcx*4]
subss xmm4, xmm0
addss xmm2, xmm3
inc r8
add rdx, 4
addss xmm4, xmm2
add r10, 4
cmp r8, r11
movss dword [r10 - 4], xmm4
movss dword [r14 + rdx - 4], xmm4
jl 0x1401bc250
cmp rbx, 4
mov r9, qword [rbp + 0x18]
jl 0x1401bc327
lea r8, [rbx - 4]
lea rcx, [r13 + 8]
lea rdx, [r9 + r11*4 - 8]
shr r8, 2
inc r8
lea rsi, [r8*4]
mov eax, dword [rdx + 4]
add rcx, 0x10
sub rdx, 0x10
sub r8, 1
mov dword [rcx - 0x18], eax
mov eax, dword [rdx + 0x10]
mov dword [rcx - 0x14], eax
mov eax, dword [rdx + 0xc]
mov dword [rcx - 0x10], eax
mov eax, dword [rdx + 8]
mov dword [rcx - 0xc], eax
jne 0x1401bc301
cmp rsi, rbx
jge 0x1401bc347
sub r11, rsi
lea rcx, [r9 + r11*4 - 4]
mov eax, dword [rcx]
inc rsi
sub rcx, 4
cmp rsi, rbx
mov dword [r13 + rsi*4 - 4], eax
jl 0x1401bc334
mov rcx, qword [rbp + 0x58]
xor rcx, rbp
call fcn.1401e6720
mov rbx, qword [rbp + 0xa0]
mov rsi, qword [rbp + 0xa8]
mov rdi, qword [rbp + 0xb0]
movaps xmm6, xmmword [rbp + 0x60]
lea rsp, [rbp + 0x70]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret