Function at 0x1400cb420
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 0x1400cb77e
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 0x1400cb57d
test r15, r15
js 0x1400cb60a
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 xmm2, xmmword [rax - 0x10]
movdqu xmm3, xmmword [rdx + rax - 0x10]
movdqa xmm0, xmm2
pxor xmm0, xmmword [rdx + rax - 0x10]
pcmpgtd xmm3, xmm2
lea rax, [rax + 0x20]
pand xmm3, xmm0
pxor xmm3, xmm2
movdqu xmmword [r8 + rax - 0x30], xmm3
movdqu xmm1, xmmword [rax - 0x20]
movdqu xmm0, xmmword [rdx + rax - 0x20]
movdqa xmm2, xmm0
pxor xmm0, xmm1
pcmpgtd xmm2, xmm1
pand xmm2, xmm0
pxor xmm2, xmm1
movdqu xmmword [r8 + rax - 0x20], xmm2
sub rcx, 1
jne 0x1400cb520
jmp 0x1400cb60a
test r15, r15
js 0x1400cb60a
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
movdqu xmm2, xmmword [rax - 0x10]
movdqu xmm1, xmmword [rax + rdx - 0x10]
lea rax, [rax + 0x20]
movdqa xmm0, xmm2
pxor xmm0, xmm1
movdqa xmm3, xmm1
pcmpgtd xmm3, xmm2
pand xmm3, xmm0
pxor xmm3, xmm2
movdqu xmmword [rax + r8 - 0x30], xmm3
movdqu xmm1, xmmword [rax - 0x20]
movdqu xmm0, xmmword [rax + rdx - 0x20]
movdqa xmm2, xmm0
pxor xmm0, xmm1
pcmpgtd xmm2, xmm1
pand xmm2, xmm0
pxor xmm2, xmm1
movdqu xmmword [rax + r8 - 0x20], xmm2
sub rcx, 1
jne 0x1400cb5b0
cmp r10d, edi
jg 0x1400cb66f
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 xmm1, qword [rcx]
movq xmm2, qword [rcx + r8]
lea rcx, [rcx + 8]
movdqa xmm0, xmm2
pxor xmm2, xmm1
pcmpgtd xmm0, xmm1
pand xmm0, xmm2
pxor xmm0, xmm1
movq qword [rcx + r9 - 8], xmm0
sub rdx, 1
jne 0x1400cb640
cmp r14, rsi
jg 0x1400cb705
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]
mov r8d, dword [rdi + r9]
mov eax, dword [r9 - 4]
cmp eax, dword [r9 + rdi - 4]
mov edx, dword [r9]
cmovl eax, dword [r9 + rdi - 4]
cmp edx, r8d
mov dword [r9 + rsi - 4], eax
cmovl edx, r8d
mov dword [rsi + r9], edx
mov eax, dword [r9 + 4]
cmp eax, dword [rdi + r9 + 4]
mov r8d, dword [rdi + r9 + 8]
cmovl eax, dword [rdi + r9 + 4]
mov edx, dword [r9 + 8]
cmp edx, r8d
mov dword [r9 + rsi + 4], eax
lea r9, [r9 + 0x10]
cmovl edx, r8d
mov dword [r9 + rsi - 8], edx
sub r14, 1
jne 0x1400cb6a0
mov edi, dword [rsp + 0x88]
mov rsi, qword [rsp + 0x78]
movsxd rcx, r10d
cmp rcx, r13
jge 0x1400cb749
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 ecx, dword [r9 + rax]
cmovl ecx, dword [r9 + rax]
mov dword [r10 + rax], ecx
lea rax, [rax + 4]
sub r8, 1
jne 0x1400cb730
add rbx, qword [rsp + 0x58]
add r11, qword [rsp + 0x68]
add rbp, qword [rsp]
test r12d, r12d
jne 0x1400cb4d0
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