Function at 0x1400ce1a0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rsi
push r15
sub rsp, 0x78
mov r15d, dword [rsp + 0xc8]
mov rsi, rcx
mov rcx, qword [rsp + 0xb8]
mov r11, r8
shr rcx, 1
shr rdx, 1
shr r9, 1
test r15d, r15d
je 0x1400ce787
movsxd r10, dword [rsp + 0xc0]
mov qword [rax + 8], rbx
mov qword [rax - 0x18], rbp
mov rbp, qword [rsp + 0xb0]
mov qword [rax - 0x20], rdi
lea rdi, [rdx + rdx]
mov qword [rax - 0x28], r12
lea r12d, [r10 - 4]
mov qword [rax - 0x30], r13
mov r13, r10
mov qword [rax - 0x38], r14
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
lea eax, [r10 - 0x10]
movsxd r14, eax
lea rax, [r9 + r9]
mov qword [rsp + 0xa8], rax
lea rax, [rcx + rcx]
mov qword [rsp], rax
mov qword [rsp + 0xb8], r10
mov qword [rsp + 0x98], rdi
nop dword [rax]
nop word [rax + rax]
movzx eax, sil
dec r15d
or al, r11b
xor r9d, r9d
or al, bpl
xor ecx, ecx
test al, 0xf
jne 0x1400ce3ce
test r14, r14
js 0x1400ce52c
movdqa xmm7, xmmword [0x1401cf290]
lea r9, [r14 + 0x10]
movdqa xmm5, xmmword [0x1401cf2b0]
lea r8, [r11 + 0x10]
movdqa xmm8, xmmword [0x1401cf280]
mov rax, rsi
movdqa xmm6, xmmword [0x1401cf2d0]
mov rdx, rbp
movdqa xmm9, xmmword [0x1401cf2c0]
sub rax, r11
shr r9, 4
sub rdx, r11
mov rcx, r9
mov r10, r9
shl r9d, 4
shl rcx, 4
nop dword [rax]
nop word [rax + rax]
movdqu xmm1, xmmword [r8 - 0x10]
movdqa xmm3, xmm5
lea r8, [r8 + 0x20]
movdqa xmm4, xmm1
pmulhuw xmm1, xmmword [rax + r8 - 0x30]
pmullw xmm4, xmmword [rax + r8 - 0x30]
movdqa xmm2, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm2, xmm1
movdqa xmm1, xmm5
pxor xmm3, xmm2
pxor xmm1, xmm4
pcmpgtd xmm3, xmm6
pcmpgtd xmm1, xmm6
movdqa xmm0, xmm2
pxor xmm0, xmm7
pand xmm3, xmm0
movdqa xmm0, xmm4
pxor xmm3, xmm2
pxor xmm0, xmm7
pand xmm1, xmm0
psubd xmm3, xmm8
pxor xmm1, xmm4
psubd xmm1, xmm8
packssdw xmm3, xmm1
psubw xmm3, xmm9
movdqu xmmword [rdx + r8 - 0x30], xmm3
movdqu xmm1, xmmword [rax + r8 - 0x20]
movdqa xmm4, xmm1
pmulhuw xmm1, xmmword [r8 - 0x20]
pmullw xmm4, xmmword [r8 - 0x20]
movdqa xmm2, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm2, xmm1
movdqa xmm1, xmm4
pxor xmm1, xmm5
movdqa xmm3, xmm2
pxor xmm3, xmm5
pcmpgtd xmm1, xmm6
pcmpgtd xmm3, xmm6
movdqa xmm0, xmm2
pxor xmm0, xmm7
pand xmm3, xmm0
movdqa xmm0, xmm4
pxor xmm3, xmm2
pxor xmm0, xmm7
pand xmm1, xmm0
psubd xmm3, xmm8
pxor xmm1, xmm4
psubd xmm1, xmm8
packssdw xmm3, xmm1
psubw xmm3, xmm9
movdqu xmmword [rdx + r8 - 0x20], xmm3
sub r10, 1
jne 0x1400ce2d0
jmp 0x1400ce52c
test r14, r14
js 0x1400ce52c
movdqa xmm7, xmmword [0x1401cf290]
lea rcx, [r14 + 0x10]
movdqa xmm5, xmmword [0x1401cf2b0]
lea r10, [r11 + 0x10]
movdqa xmm8, xmmword [0x1401cf280]
mov rdx, rsi
movdqa xmm6, xmmword [0x1401cf2d0]
mov r8, rbp
movdqa xmm9, xmmword [0x1401cf2c0]
sub rdx, r11
shr rcx, 4
sub r8, r11
mov r9d, ecx
mov rbx, rcx
shl r9d, 4
shl rcx, 4
nop word [rax + rax]
movdqu xmm0, xmmword [r10 + rdx - 0x10]
movdqu xmm1, xmmword [r10 - 0x10]
lea r10, [r10 + 0x20]
movdqa xmm4, xmm1
pmulhuw xmm1, xmm0
pmullw xmm4, xmm0
movdqa xmm2, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm2, xmm1
movdqa xmm1, xmm4
pxor xmm1, xmm5
movdqa xmm3, xmm2
pxor xmm3, xmm5
pcmpgtd xmm1, xmm6
pcmpgtd xmm3, xmm6
movdqa xmm0, xmm2
pxor xmm0, xmm7
pand xmm3, xmm0
movdqa xmm0, xmm4
pxor xmm3, xmm2
pxor xmm0, xmm7
pand xmm1, xmm0
psubd xmm3, xmm8
pxor xmm1, xmm4
psubd xmm1, xmm8
packssdw xmm3, xmm1
psubw xmm3, xmm9
movdqu xmmword [r10 + r8 - 0x30], xmm3
movdqu xmm0, xmmword [r10 - 0x20]
movdqu xmm1, xmmword [r10 + rdx - 0x20]
movdqa xmm4, xmm1
pmulhuw xmm1, xmm0
pmullw xmm4, xmm0
movdqa xmm2, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm2, xmm1
movdqa xmm1, xmm4
pxor xmm1, xmm5
movdqa xmm3, xmm2
pxor xmm3, xmm5
pcmpgtd xmm1, xmm6
pcmpgtd xmm3, xmm6
movdqa xmm0, xmm2
pxor xmm0, xmm7
pand xmm3, xmm0
movdqa xmm0, xmm4
pxor xmm3, xmm2
pxor xmm0, xmm7
pand xmm1, xmm0
psubd xmm3, xmm8
pxor xmm1, xmm4
psubd xmm1, xmm8
packssdw xmm3, xmm1
psubw xmm3, xmm9
movdqu xmmword [r10 + r8 - 0x20], xmm3
sub rbx, 1
jne 0x1400ce430
cmp r9d, r12d
jg 0x1400ce60d
movdqa xmm5, xmmword [0x1401cf290]
mov r10, rsi
movdqa xmm6, xmmword [0x1401cf2b0]
mov rbx, rbp
movdqa xmm7, xmmword [0x1401cf280]
sub r10, r11
movdqa xmm8, xmmword [0x1401cf2d0]
sub rbx, r11
movdqa xmm9, xmmword [0x1401cf2c0]
movsxd rax, r9d
lea rdx, [r11 + rax*2]
mov eax, r12d
sub eax, r9d
shr eax, 2
inc eax
mov r8d, eax
lea r9d, [r9 + rax*4]
lea rcx, [rcx + rax*4]
nop dword [rax + rax]
movq xmm0, qword [rdx]
movq xmm1, qword [rdx + r10]
lea rdx, [rdx + 8]
movdqa xmm4, xmm1
pmulhuw xmm1, xmm0
pmullw xmm4, xmm0
movdqa xmm0, xmm5
movdqa xmm2, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm2, xmm1
movdqa xmm1, xmm4
pxor xmm1, xmm6
pxor xmm0, xmm2
pcmpgtd xmm1, xmm8
movdqa xmm3, xmm2
pxor xmm3, xmm6
pcmpgtd xmm3, xmm8
pand xmm3, xmm0
movdqa xmm0, xmm5
pxor xmm3, xmm2
pxor xmm0, xmm4
pand xmm1, xmm0
psubd xmm3, xmm7
pxor xmm1, xmm4
psubd xmm1, xmm7
packssdw xmm3, xmm1
psubw xmm3, xmm9
movq qword [rdx + rbx - 8], xmm3
sub r8, 1
jne 0x1400ce590
movsxd r10, r12d
cmp rcx, r10
jg 0x1400ce6ee
sub r10, rcx
lea rax, [rcx + 1]
mov rbx, rsi
shr r10, 2
mov rdi, rbp
lea rax, [r11 + rax*2]
sub rbx, r11
sub rdi, r11
inc r10
mov r13d, 0xffff
lea r9d, [r9 + r10*4]
movzx r8d, word [rbx + rax - 2]
movzx ecx, word [rax - 2]
imul r8d, ecx
cmp r8d, r13d
jbe 0x1400ce662
xor ecx, ecx
test r8d, r8d
cmovg cx, r13w
movzx r8d, cx
movzx edx, word [rax + rbx]
movzx ecx, word [rax]
imul edx, ecx
cmp edx, r13d
jbe 0x1400ce67d
xor ecx, ecx
test edx, edx
cmovg cx, r13w
movzx edx, cx
mov word [rdi + rax - 2], r8w
mov word [rax + rdi], dx
movzx r8d, word [rbx + rax + 2]
movzx ecx, word [rax + 2]
imul r8d, ecx
cmp r8d, r13d
jbe 0x1400ce6a8
xor ecx, ecx
test r8d, r8d
cmovg cx, r13w
movzx r8d, cx
movzx edx, word [rbx + rax + 4]
movzx ecx, word [rax + 4]
imul edx, ecx
cmp edx, r13d
jbe 0x1400ce6c5
xor ecx, ecx
test edx, edx
cmovg cx, r13w
movzx edx, cx
mov word [rdi + rax + 2], r8w
mov word [rdi + rax + 4], dx
add rax, 8
sub r10, 1
jne 0x1400ce641
mov r13, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x98]
movsxd rax, r9d
cmp rax, r13
jge 0x1400ce738
mov r10, rsi
lea rdx, [r11 + rax*2]
mov r9, rbp
sub r10, r11
sub r9, r11
mov r8, r13
sub r8, rax
mov ebx, 0xffff
movzx ecx, word [r10 + rdx]
movzx eax, word [rdx]
imul ecx, eax
cmp ecx, ebx
jbe 0x1400ce729
xor eax, eax
test ecx, ecx
cmovg eax, ebx
mov ecx, eax
mov word [r9 + rdx], cx
add rdx, 2
sub r8, 1
jne 0x1400ce711
add r11, qword [rsp + 0xa8]
add rsi, rdi
add rbp, qword [rsp]
test r15d, r15d
jne 0x1400ce250
movaps xmm9, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm6, xmmword [rsp + 0x40]
mov r14, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x90]
add rsp, 0x78
pop r15
pop rsi
ret