Function at 0x1402fccb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x10
xor eax, eax
movsxd r14, ecx
mov ebp, edx
mov r13d, eax
mov rdi, rax
mov ecx, r14d
mov r11, r9
mov r9d, eax
lea eax, [r14 + r14]
imul ecx, edx
cmp ebp, 4
movsxd r15, ecx
cdqe
mov rbx, r8
mov dword [rsp + 0x50], ecx
mov qword [rsp + 8], r15
mov rdx, r15
mov qword [rsp], rax
jl 0x1402fce30
lea r15, [rax*4]
lea eax, [rbp - 4]
lea r12, [r14*8]
shr eax, 2
mov rsi, r15
lea r8, [r15 + r11 - 4]
inc eax
mov ebp, eax
lea r13d, [rax*4]
nop word [rax + rax]
movss xmm0, dword [rbx + rdx*4]
lea eax, [r9 + r9]
add r9d, r14d
addss xmm0, dword [rbx + rdi*4]
movsxd rcx, eax
lea eax, [r9 + r9]
add r8, r12
add r9d, r14d
add rsi, r12
movss dword [r11 + rcx*4], xmm0
movss xmm0, dword [rbx + rdi*4]
add rdi, r14
movsxd rcx, eax
lea eax, [r9 + r9]
subss xmm0, dword [rbx + rdx*4]
add rdx, r14
add r9d, r14d
add rsi, r12
movss dword [r15 + r11 - 4], xmm0
add rsi, r12
mov r15, rsi
add rsi, r12
movss xmm0, dword [rbx + rdx*4]
addss xmm0, dword [rbx + rdi*4]
movss dword [r11 + rcx*4], xmm0
movss xmm0, dword [rbx + rdi*4]
add rdi, r14
movsxd rcx, eax
lea eax, [r9 + r9]
add r9d, r14d
subss xmm0, dword [rbx + rdx*4]
add rdx, r14
movss dword [r8], xmm0
movss xmm0, dword [rbx + rdx*4]
add r8, r12
addss xmm0, dword [rbx + rdi*4]
movss dword [r11 + rcx*4], xmm0
movss xmm0, dword [rbx + rdi*4]
add rdi, r14
movsxd rcx, eax
subss xmm0, dword [rbx + rdx*4]
add rdx, r14
movss dword [r8], xmm0
movss xmm0, dword [rbx + rdx*4]
add r8, r12
addss xmm0, dword [rbx + rdi*4]
movss dword [r11 + rcx*4], xmm0
movss xmm0, dword [rbx + rdi*4]
add rdi, r14
subss xmm0, dword [rbx + rdx*4]
add rdx, r14
movss dword [r8], xmm0
add r8, r12
sub rbp, 1
jne 0x1402fcd40
mov ebp, dword [rsp + 0x58]
mov rax, qword [rsp]
mov r15, qword [rsp + 8]
cmp r13d, ebp
jge 0x1402fce92
lea rax, [rax + rdi*2]
lea r8, [rbx + rdi*4]
lea rsi, [r14*4]
lea rdx, [rbx + rdx*4]
lea r12, [r14*8]
sub ebp, r13d
lea rdi, [r11 + rax*4 - 4]
movss xmm0, dword [rdx]
lea eax, [r9 + r9]
add r9d, r14d
addss xmm0, dword [r8]
movsxd rcx, eax
movss dword [r11 + rcx*4], xmm0
movss xmm0, dword [r8]
add r8, rsi
subss xmm0, dword [rdx]
add rdx, rsi
movss dword [rdi], xmm0
add rdi, r12
sub rbp, 1
jne 0x1402fce59
mov ebp, dword [rsp + 0x58]
cmp r14d, 2
jl 0x1402fd058
je 0x1402fcfbd
test ebp, ebp
jle 0x1402fcfa9
mov ecx, dword [rsp + 0x58]
lea rsi, [rbx + r15*4]
lea r15, [r14*8]
mov rbp, r11
lea r13, [r15 + r11]
mov r11, qword [rsp + 0x70]
lea rax, [r14*4]
mov r12, rbx
mov qword [rsp], rcx
cmp r14, 2
jle 0x1402fcf86
lea rcx, [r14 - 3]
mov rdx, r13
mov rax, r12
shr rcx, 1
mov r8, rbp
lea r9, [r11 + 4]
inc rcx
mov rdi, rsi
nop dword [rax]
movss xmm4, dword [r9 - 4]
movss xmm1, dword [rdi + 8]
movss xmm3, dword [r9]
add rax, 8
add rdi, 8
add r8, 8
sub rdx, 8
add r9, 8
sub rcx, 1
movaps xmm5, xmm4
mulss xmm4, xmm1
movaps xmm0, xmm1
mulss xmm5, dword [rdi - 4]
mulss xmm0, xmm3
mulss xmm3, dword [rdi - 4]
addss xmm5, xmm0
subss xmm4, xmm3
movaps xmm0, xmm4
addss xmm0, dword [rax]
movss dword [r8], xmm0
subss xmm4, dword [rax]
movaps xmm0, xmm5
movss dword [rdx], xmm4
addss xmm0, dword [rax - 4]
movss dword [r8 - 4], xmm0
movss xmm1, dword [rax - 4]
subss xmm1, xmm5
movss dword [rdx - 4], xmm1
jne 0x1402fcf00
mov rcx, qword [rsp]
lea rax, [r14*4]
add r12, rax
add rbp, r15
add r13, r15
add rsi, rax
sub rcx, 1
mov qword [rsp], rcx
jne 0x1402fced5
mov r11, qword [rsp + 0x68]
mov ebp, dword [rsp + 0x58]
mov eax, r14d
cdq
and eax, 1
xor eax, edx
sub eax, edx
cmp eax, 1
je 0x1402fd058
mov eax, dword [rsp + 0x50]
movss xmm1, dword [0x1403392e0]
lea ecx, [r14 - 1]
add eax, ecx
cmp ebp, 2
mov rdx, r14
movsxd r8, eax
movsxd r9, ecx
jl 0x1402fd03a
lea eax, [rbp - 2]
lea rdi, [r14 + r14]
shr eax, 1
inc eax
mov ecx, eax
lea esi, [rax + rax]
nop dword [rax]
movss xmm0, dword [rbx + r8*4]
add r8, r14
xorps xmm0, xmm1
movss dword [r11 + rdx*4], xmm0
mov eax, dword [rbx + r9*4]
add r9, r14
mov dword [r11 + rdx*4 - 4], eax
add rdx, rdi
movss xmm0, dword [rbx + r8*4]
add r8, r14
xorps xmm0, xmm1
movss dword [r11 + rdx*4], xmm0
mov eax, dword [rbx + r9*4]
add r9, r14
mov dword [r11 + rdx*4 - 4], eax
add rdx, rdi
sub rcx, 1
jne 0x1402fcff0
jmp 0x1402fd03c
xor esi, esi
cmp esi, ebp
jge 0x1402fd058
movss xmm0, dword [rbx + r8*4]
xorps xmm0, xmm1
movss dword [r11 + rdx*4], xmm0
mov eax, dword [rbx + r9*4]
mov dword [r11 + rdx*4 - 4], eax
mov rbx, qword [rsp + 0x60]
add rsp, 0x10
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret