Function at 0x1400dbc50
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push r12
push r13
push r15
sub rsp, 0x160
movaps xmmword [rax - 0x48], xmm7
xor r10d, r10d
mov r13, r9
movss xmm7, dword [rcx]
mov r15, r8
mov r12, rdx
mov r11, rcx
cvtps2pd xmm7, xmm7
cmp dword [rdx], r10d
jbe 0x1400dc0dc
movsd xmm4, qword [0x140202ca0]
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r14
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x58], xmm8
movsd xmm8, qword [0x1402cdfa0]
movaps xmmword [rax - 0x68], xmm9
xorps xmm9, xmm9
movaps xmmword [rax - 0x78], xmm10
movss xmm10, dword [0x1402ce8a0]
nop dword [rax + rax]
lea r14d, [r10 + 1]
xor r9d, r9d
movss xmm0, dword [r11 + r14*4]
xorps xmm3, xmm3
xorps xmm0, xmm10
cvtss2sd xmm3, xmm0
test r10d, r10d
je 0x1400dbe48
cmp r10d, 4
jb 0x1400dbd86
mov eax, r10d
mov ebx, r10d
and eax, 3
xorps xmm5, xmm5
sub ebx, eax
movaps xmm6, xmm5
nop dword [rax]
mov eax, r10d
sub eax, r9d
mov r8d, eax
movss xmm0, dword [r11 + rax*4]
dec eax
movaps xmm2, xmm0
movss xmm0, dword [r11 + rax*4]
lea eax, [r8 - 2]
unpcklps xmm2, xmm0
movups xmm0, xmmword [rsp + r9*8]
cvtps2pd xmm2, xmm2
mulpd xmm2, xmm0
movss xmm0, dword [r11 + rax*4]
lea eax, [r8 - 3]
subpd xmm5, xmm2
movaps xmm2, xmm0
movss xmm0, dword [r11 + rax*4]
unpcklps xmm2, xmm0
lea eax, [r9 + 2]
movups xmm0, xmmword [rsp + rax*8]
add r9d, 4
cvtps2pd xmm2, xmm2
mulpd xmm2, xmm0
subpd xmm6, xmm2
cmp r9d, ebx
jb 0x1400dbd10
addpd xmm5, xmm6
movaps xmm0, xmm5
unpckhpd xmm0, xmm5
addsd xmm5, xmm0
addsd xmm3, xmm5
cmp r9d, r10d
jae 0x1400dbe48
mov eax, r10d
sub eax, r9d
cmp eax, 4
jb 0x1400dbe18
lea r8, [rsp + 8]
lea r8, [r8 + r9*8]
lea ebx, [r10 - 3]
nop word [rax + rax]
mov eax, r10d
sub eax, r9d
add r9d, 4
mov edx, eax
movss xmm0, dword [r11 + rax*4]
dec eax
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r8 - 8]
subsd xmm3, xmm0
movss xmm0, dword [r11 + rax*4]
cvtps2pd xmm0, xmm0
lea eax, [rdx - 2]
mulsd xmm0, qword [r8]
subsd xmm3, xmm0
movss xmm0, dword [r11 + rax*4]
cvtps2pd xmm0, xmm0
lea eax, [rdx - 3]
mulsd xmm0, qword [r8 + 8]
subsd xmm3, xmm0
movss xmm0, dword [r11 + rax*4]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [r8 + 0x10]
add r8, 0x20
subsd xmm3, xmm0
cmp r9d, ebx
jb 0x1400dbdb0
cmp r9d, r10d
jae 0x1400dbe48
lea rcx, [rsp]
lea rcx, [rcx + r9*8]
mov eax, r10d
sub eax, r9d
inc r9d
movss xmm0, dword [r11 + rax*4]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rcx]
add rcx, 8
subsd xmm3, xmm0
cmp r9d, r10d
jb 0x1400dbe25
divsd xmm3, xmm7
mov edi, r10d
mov ebx, r10d
shr ebx, 1
xor r8d, r8d
lea rbp, [rdi*8]
movsd qword [rsp + rbp], xmm3
cmp ebx, 4
jb 0x1400dbf3a
lea esi, [rbx - 3]
lea r9, [rsp + 8]
nop word [rax + rax]
movsd xmm1, qword [r9 - 8]
mov eax, r10d
sub eax, r8d
movaps xmm0, xmm3
mov edx, eax
add r8d, 4
dec eax
mulsd xmm0, qword [rsp + rax*8]
addsd xmm0, xmm1
mulsd xmm1, xmm3
movsd qword [r9 - 8], xmm0
movaps xmm0, xmm3
addsd xmm1, qword [rsp + rax*8]
movsd qword [rsp + rax*8], xmm1
lea eax, [rdx - 2]
mulsd xmm0, qword [rsp + rax*8]
movsd xmm1, qword [r9]
addsd xmm0, xmm1
mulsd xmm1, xmm3
movsd qword [r9], xmm0
movaps xmm0, xmm3
addsd xmm1, qword [rsp + rax*8]
movsd qword [rsp + rax*8], xmm1
lea eax, [rdx - 3]
mulsd xmm0, qword [rsp + rax*8]
movsd xmm2, qword [r9 + 8]
addsd xmm0, xmm2
mulsd xmm2, xmm3
movsd qword [r9 + 8], xmm0
movaps xmm0, xmm3
addsd xmm2, qword [rsp + rax*8]
movsd qword [rsp + rax*8], xmm2
lea eax, [rdx - 4]
movsd xmm1, qword [r9 + 0x10]
mulsd xmm0, qword [rsp + rax*8]
addsd xmm0, xmm1
mulsd xmm1, xmm3
movsd qword [r9 + 0x10], xmm0
add r9, 0x20
addsd xmm1, qword [rsp + rax*8]
movsd qword [rsp + rax*8], xmm1
cmp r8d, esi
jb 0x1400dbe80
cmp r8d, ebx
jae 0x1400dbf7d
lea rdx, [rsp]
lea rdx, [rdx + r8*8]
movsd xmm1, qword [rdx]
mov eax, r10d
sub eax, r8d
movaps xmm0, xmm3
dec eax
inc r8d
mulsd xmm0, qword [rsp + rax*8]
addsd xmm0, xmm1
mulsd xmm1, xmm3
movsd qword [rdx], xmm0
add rdx, 8
addsd xmm1, qword [rsp + rax*8]
movsd qword [rsp + rax*8], xmm1
cmp r8d, ebx
jb 0x1400dbf47
test r10b, 1
je 0x1400dbf97
movaps xmm0, xmm3
addsd xmm0, xmm8
mulsd xmm0, qword [rsp + r8*8]
movsd qword [rsp + r8*8], xmm0
mulsd xmm3, xmm3
movaps xmm0, xmm8
xor r9d, r9d
subsd xmm0, xmm3
mulsd xmm7, xmm0
cmp r14d, 4
jb 0x1400dc02f
mov rcx, rdi
lea r8d, [r10 + 1]
shl rcx, 7
lea rdx, [rsp + 8]
add rcx, r15
shr r8, 2
lea r9d, [r8*4]
nop
movsd xmm0, qword [rdx - 8]
lea rcx, [rcx + 0x10]
movsd xmm1, qword [rdx]
xorps xmm0, xmm4
movsd xmm2, qword [rdx + 8]
xorps xmm1, xmm4
lea rdx, [rdx + 0x20]
xorps xmm2, xmm4
cvtsd2ss xmm0, xmm0
movss dword [rcx - 0x10], xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movsd xmm1, qword [rdx - 0x10]
movss dword [rcx - 0xc], xmm0
xorps xmm0, xmm0
xorps xmm1, xmm4
cvtsd2ss xmm0, xmm2
movss dword [rcx - 8], xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movss dword [rcx - 4], xmm0
sub r8, 1
jne 0x1400dbfd0
cmp r9d, r10d
ja 0x1400dc06c
shl rdi, 5
lea rcx, [rsp]
mov eax, r9d
lea rcx, [rcx + r9*8]
add rdi, rax
mov r8d, r10d
sub r8d, r9d
inc r8d
lea rdx, [r15 + rdi*4]
movsd xmm0, qword [rcx]
lea rdx, [rdx + 4]
lea rcx, [rcx + 8]
xorps xmm0, xmm4
cvtsd2ss xmm0, xmm0
movss dword [rdx - 4], xmm0
sub r8, 1
jne 0x1400dc04e
ucomisd xmm7, xmm9
movsd qword [r13 + rbp], xmm7
je 0x1400dc089
mov r10d, r14d
cmp r14d, dword [r12]
jb 0x1400dbcd0
jmp 0x1400dc091
lea eax, [r10 + 1]
mov dword [r12], eax
movaps xmm9, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm6, xmmword [rsp + 0x140]
mov r14, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x190]
mov rbp, qword [rsp + 0x188]
mov rbx, qword [rsp + 0x180]
movaps xmm10, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x130]
add rsp, 0x160
pop r15
pop r13
pop r12
ret