Function at 0x1401e8760
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.0x1401e87be
lea rdx, [0x140000000]
movsxd rax, r8d
mov ecx, dword [rdx + rax*4 + 0x1e8a44]
add rcx, rdx
jmp rcx
mov edx, 0xa
lea ecx, [rdi - 0xa]
cmp edi, edx
jle 0x1401e88ad
cmp ecx, 2
jb 0x1401e88ad
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 0x1401e880f
cmp r8, r9
jae 0x1401e889e
cmp rsi, r10
ja 0x1401e881d
cmp r8, r10
jae 0x1401e889e
cmp rsi, r11
ja 0x1401e8827
cmp r8, r11
jae 0x1401e889e
cmp r9, r10
ja 0x1401e8831
cmp rax, r10
jae 0x1401e889e
cmp r9, r11
ja 0x1401e883b
cmp rax, r11
jae 0x1401e889e
and ecx, 0x80000001
jge 0x1401e884a
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 0x1401e8860
mov r14, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x10]
mov r15, qword [rsp + 0x20]
movsxd r9, edx
cmp r9, rdi
jge case.0x1401e87be.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, rcx
xor r8, qword [rax + r9*8]
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 0x1401e88c0
mov rax, qword [r10]
mov r8, qword [r11]
mov rcx, qword [r8 + 0x48]
mov rdx, rcx
xor rdx, qword [rax + 0x48]
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 rcx, qword [r8 + 0x40]
mov rdx, rcx
xor rdx, qword [rax + 0x40]
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 rcx, qword [r8 + 0x38]
mov rdx, rcx
xor rdx, qword [rax + 0x38]
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 rcx, qword [r8 + 0x30]
mov rdx, rcx
xor rdx, qword [rax + 0x30]
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 rcx, qword [r8 + 0x28]
mov rdx, rcx
xor rdx, qword [rax + 0x28]
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 rcx, qword [r8 + 0x20]
mov rdx, rcx
xor rdx, qword [rax + 0x20]
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 rcx, qword [r8 + 0x18]
mov rdx, rcx
xor rdx, qword [rax + 0x18]
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 rcx, qword [r8 + 0x10]
mov rdx, rcx
xor rdx, qword [rax + 0x10]
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 rcx, qword [r8 + 8]
mov rdx, rcx
xor rdx, qword [rax + 8]
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 rdx, qword [r8]
mov rcx, rdx
xor rcx, qword [rax]
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