Function at 0x1400617f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
mov r10, r8
movsxd rdi, r9d
lea rbx, [rcx - 1]
mov r11, rdx
movsxd rcx, dword [rdx + 8]
shr rbx, 0x3f
mov r8, rcx
movsxd rax, dword [r10 + 8]
dec rbx
xor r8, rax
and r8, rbx
mov eax, r8d
xor eax, ecx
movq xmm4, rbx
mov dword [rdx + 8], eax
xor dword [r10 + 8], r8d
lea r8d, [rdi - 1]
punpcklqdq xmm4, xmm4
cmp r8d, 9
ja case.default.0x14006184e
lea rdx, [0x140000000]
movsxd rax, r8d
mov ecx, dword [rdx + rax*4 + 0x61ad4]
add rcx, rdx
jmp rcx
mov edx, 0xa
lea ecx, [rdi - 0xa]
cmp edi, edx
jle 0x14006193d
cmp ecx, 2
jb 0x14006193d
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], r14
mov r14, qword [r10]
movsxd rax, r8d
mov qword [rsp + 0x20], r15
mov r15, qword [r11]
lea rsi, [r14 + 0x50]
lea r8, [r14 + rax*8]
lea rax, [r15 + rax*8]
lea r9, [r15 + 0x50]
cmp rsi, rax
ja 0x14006189f
cmp r8, r9
jae 0x14006192e
cmp rsi, r10
ja 0x1400618ad
cmp r8, r10
jae 0x14006192e
cmp rsi, r11
ja 0x1400618b7
cmp r8, r11
jae 0x14006192e
cmp r9, r10
ja 0x1400618c1
cmp rax, r10
jae 0x14006192e
cmp r9, r11
ja 0x1400618cb
cmp rax, r11
jae 0x14006192e
and ecx, 0x80000001
jge 0x1400618da
dec ecx
or ecx, 0xfffffffe
inc ecx
mov r8d, edi
sub r8d, ecx
mov eax, 0x50
nop word [rax + rax]
movdqu xmm2, xmmword [r14 + rax]
add edx, 2
movdqu xmm1, xmmword [r15 + rax]
lea rax, [rax + 0x10]
movdqa xmm3, xmm2
pxor xmm3, xmm1
pand xmm3, xmm4
movdqa xmm0, xmm3
pxor xmm3, xmm2
pxor xmm0, xmm1
movdqu xmmword [r15 + rax - 0x10], xmm0
movdqu xmmword [r14 + rax - 0x10], xmm3
cmp edx, r8d
jl 0x1400618f0
mov r14, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x10]
mov r15, qword [rsp + 0x20]
movsxd r9, edx
cmp r9, rdi
jge case.0x14006184e.10
nop word [rax + rax]
mov rax, qword [r11]
mov rcx, qword [rax + r9*8]
lea rdx, [rax + r9*8]
mov rax, qword [r10]
mov r8, qword [rax + r9*8]
xor r8, rcx
and r8, rbx
xor rcx, r8
mov qword [rdx], rcx
mov rax, qword [r10]
xor qword [rax + r9*8], r8
inc r9
cmp r9, rdi
jl 0x140061950
mov rax, qword [r10]
mov r8, qword [r11]
mov rdx, qword [rax + 0x48]
mov rcx, qword [r8 + 0x48]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r8 + 0x48], rcx
mov rax, qword [r10]
xor qword [rax + 0x48], rdx
mov rax, qword [r10]
mov r8, qword [r11]
mov rdx, qword [rax + 0x40]
mov rcx, qword [r8 + 0x40]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r8 + 0x40], rcx
mov rax, qword [r10]
xor qword [rax + 0x40], rdx
mov rax, qword [r10]
mov r8, qword [r11]
mov rdx, qword [rax + 0x38]
mov rcx, qword [r8 + 0x38]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r8 + 0x38], rcx
mov rax, qword [r10]
xor qword [rax + 0x38], rdx
mov rax, qword [r10]
mov r8, qword [r11]
mov rdx, qword [rax + 0x30]
mov rcx, qword [r8 + 0x30]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r8 + 0x30], rcx
mov rax, qword [r10]
xor qword [rax + 0x30], rdx
mov rax, qword [r10]
mov r8, qword [r11]
mov rdx, qword [rax + 0x28]
mov rcx, qword [r8 + 0x28]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r8 + 0x28], rcx
mov rax, qword [r10]
xor qword [rax + 0x28], rdx
mov rax, qword [r10]
mov r8, qword [r11]
mov rdx, qword [rax + 0x20]
mov rcx, qword [r8 + 0x20]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r8 + 0x20], rcx
mov rax, qword [r10]
xor qword [rax + 0x20], rdx
mov rax, qword [r10]
mov r8, qword [r11]
mov rdx, qword [rax + 0x18]
mov rcx, qword [r8 + 0x18]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r8 + 0x18], rcx
mov rax, qword [r10]
xor qword [rax + 0x18], rdx
mov rax, qword [r10]
mov r8, qword [r11]
mov rdx, qword [rax + 0x10]
mov rcx, qword [r8 + 0x10]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r8 + 0x10], rcx
mov rax, qword [r10]
xor qword [rax + 0x10], rdx
mov rax, qword [r10]
mov r8, qword [r11]
mov rdx, qword [rax + 8]
mov rcx, qword [r8 + 8]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r8 + 8], rcx
mov rax, qword [r10]
xor qword [rax + 8], rdx
mov rax, qword [r10]
mov r8, qword [r11]
mov rcx, qword [rax]
mov rdx, qword [r8]
xor rcx, rdx
and rcx, rbx
mov rbx, qword [rsp + 0x28]
xor rdx, rcx
mov qword [r8], rdx
mov rax, qword [r10]
xor qword [rax], rcx
pop rdi
ret