Function at 0x1400cca90
Capabilities:
Encode data using xor

Disassembly:
push rbx
push r12
sub rsp, 0x38
mov r12d, dword [rsp + 0x88]
mov rbx, rcx
mov rcx, qword [rsp + 0x78]
mov r11, r8
shr rcx, 2
shr rdx, 2
shr r9, 2
test r12d, r12d
je 0x1400ccdfe
movsxd r10, dword [rsp + 0x80]
mov qword [rsp + 0x50], rbp
mov rbp, qword [rsp + 0x70]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rdi
lea eax, [r10 - 8]
mov qword [rsp + 0x20], r13
lea edi, [r10 - 2]
mov qword [rsp + 0x18], r14
mov r13, r10
mov qword [rsp + 0x10], r15
movsxd r15, eax
lea eax, [r10 - 4]
movsxd rsi, eax
lea rax, [rdx*4]
mov qword [rsp + 0x58], rax
lea rax, [r9*4]
mov qword [rsp + 0x68], rax
lea rax, [rcx*4]
mov qword [rsp], rax
mov dword [rsp + 0x88], edi
mov qword [rsp + 0x78], rsi
nop dword [rax]
nop word [rax + rax]
movzx eax, bl
dec r12d
or al, r11b
xor r10d, r10d
or al, bpl
xor r14d, r14d
test al, 0xf
jne 0x1400ccbec
test r15, r15
js 0x1400ccc7a
mov rdx, rbx
lea rcx, [r15 + 8]
mov r8, rbp
lea rax, [r11 + 0x10]
sub rdx, r11
sub r8, r11
shr rcx, 3
lea r10d, [rcx*8]
lea r14, [rcx*8]
nop dword [rax + rax]
movdqu xmm1, xmmword [rdx + rax - 0x10]
movdqu xmm0, xmmword [rax - 0x10]
movdqa xmm2, xmm1
lea rax, [rax + 0x20]
pcmpgtd xmm2, xmm0
pxor xmm0, xmm1
pand xmm2, xmm0
pxor xmm2, xmm1
movdqu xmmword [r8 + rax - 0x30], xmm2
movdqu xmm3, xmmword [rdx + rax - 0x20]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
pcmpgtd xmm2, xmmword [rax - 0x20]
pxor xmm0, xmmword [rax - 0x20]
pand xmm2, xmm0
pxor xmm2, xmm3
movdqu xmmword [r8 + rax - 0x20], xmm2
sub rcx, 1
jne 0x1400ccb90
jmp 0x1400ccc7a
test r15, r15
js 0x1400ccc7a
mov rdx, rbx
lea rcx, [r15 + 8]
mov r8, rbp
lea rax, [r11 + 0x10]
sub rdx, r11
sub r8, r11
shr rcx, 3
lea r10d, [rcx*8]
lea r14, [rcx*8]
nop dword [rax]
movdqu xmm1, xmmword [rax + rdx - 0x10]
movdqu xmm0, xmmword [rax - 0x10]
lea rax, [rax + 0x20]
movdqa xmm2, xmm1
pcmpgtd xmm2, xmm0
pxor xmm0, xmm1
pand xmm2, xmm0
pxor xmm2, xmm1
movdqu xmmword [rax + r8 - 0x30], xmm2
movdqu xmm3, xmmword [rax + rdx - 0x20]
movdqu xmm1, xmmword [rax - 0x20]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
pcmpgtd xmm2, xmm1
pxor xmm0, xmm1
pand xmm2, xmm0
pxor xmm2, xmm3
movdqu xmmword [rax + r8 - 0x20], xmm2
sub rcx, 1
jne 0x1400ccc20
cmp r10d, edi
jg 0x1400ccce3
movsxd rax, r10d
mov r8, rbx
mov r9, rbp
sub r8, r11
sub r9, r11
lea rcx, [r11 + rax*4]
mov eax, edi
sub eax, r10d
shr eax, 1
inc eax
mov edx, eax
lea r10d, [r10 + rax*2]
lea r14, [r14 + rax*2]
nop word [rax + rax]
movq xmm3, qword [rcx + r8]
movq xmm1, qword [rcx]
movdqa xmm2, xmm3
lea rcx, [rcx + 8]
pcmpgtd xmm2, xmm1
movdqa xmm0, xmm3
pxor xmm0, xmm1
pand xmm2, xmm0
pxor xmm2, xmm3
movq qword [rcx + r9 - 8], xmm2
sub rdx, 1
jne 0x1400cccb0
cmp r14, rsi
jg 0x1400ccd85
mov rax, qword [rsp + 0x78]
lea r9, [r14 + 1]
sub rax, r14
lea r9, [rbx + r9*4]
mov rdi, r11
mov rsi, rbp
sub rdi, rbx
sub rsi, rbx
shr rax, 2
lea r14, [rax + 1]
lea r10d, [r10 + r14*4]
nop dword [rax]
nop dword [rax + rax]
mov r8d, dword [rdi + r9]
mov eax, dword [r9 - 4]
cmp dword [r9 + rdi - 4], eax
mov edx, dword [r9]
cmovl eax, dword [r9 + rdi - 4]
cmp r8d, edx
mov dword [r9 + rsi - 4], eax
cmovl edx, r8d
mov dword [rsi + r9], edx
mov eax, dword [r9 + 4]
cmp dword [rdi + r9 + 4], eax
mov r8d, dword [rdi + r9 + 8]
cmovl eax, dword [rdi + r9 + 4]
mov edx, dword [r9 + 8]
cmp r8d, edx
mov dword [r9 + rsi + 4], eax
lea r9, [r9 + 0x10]
cmovl edx, r8d
mov dword [r9 + rsi - 8], edx
sub r14, 1
jne 0x1400ccd20
mov edi, dword [rsp + 0x88]
mov rsi, qword [rsp + 0x78]
movsxd rcx, r10d
cmp rcx, r13
jge 0x1400ccdc9
mov r9, r11
lea rax, [rbx + rcx*4]
mov r10, rbp
sub r9, rbx
sub r10, rbx
mov r8, r13
sub r8, rcx
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [rax]
cmp dword [r9 + rax], ecx
cmovl ecx, dword [r9 + rax]
mov dword [r10 + rax], ecx
lea rax, [rax + 4]
sub r8, 1
jne 0x1400ccdb0
add rbx, qword [rsp + 0x58]
add r11, qword [rsp + 0x68]
add rbp, qword [rsp]
test r12d, r12d
jne 0x1400ccb40
mov r15, qword [rsp + 0x10]
mov r14, qword [rsp + 0x18]
mov r13, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x50]
add rsp, 0x38
pop r12
pop rbx
ret