Function at 0x14010fbe0
Capabilities:
Encode data using xor

Disassembly:
push rbx
movsxd r10, dword [rdx + 8]
lea rbx, [rcx - 1]
movsxd rax, dword [r8 + 8]
mov r11, rdx
mov rcx, r10
shr rbx, 0x3f
xor rcx, rax
dec rbx
and rcx, rbx
xor r10d, ecx
mov dword [rdx + 8], r10d
lea r10d, [r9 - 1]
xor dword [r8 + 8], ecx
movq xmm3, rbx
movsxd rdx, dword [rdx + 0x10]
movsxd rax, dword [r8 + 0x10]
mov rcx, rdx
xor rcx, rax
punpcklqdq xmm3, xmm3
and rcx, rbx
xor edx, ecx
mov dword [r11 + 0x10], edx
xor dword [r8 + 0x10], ecx
mov edx, dword [r11 + 0x14]
mov ecx, edx
mov eax, dword [r8 + 0x14]
xor rcx, rax
and ecx, 4
and rcx, rbx
xor edx, ecx
mov dword [r11 + 0x14], edx
xor dword [r8 + 0x14], ecx
cmp r10d, 9
ja case.default.0x14010fc6b
lea rdx, [0x140000000]
movsxd rax, r10d
mov ecx, dword [rdx + rax*4 + 0x10ff38]
add rcx, rdx
jmp rcx
mov edx, 0xa
mov qword [rsp + 0x18], rdi
lea ecx, [r9 - 0xa]
cmp r9d, edx
jle 0x14010fda6
cmp ecx, 4
jb 0x14010fda6
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], r14
mov r14, qword [r8]
movsxd rax, r10d
mov qword [rsp + 0x28], r15
mov r15, qword [r11]
lea rsi, [r14 + 0x50]
lea r10, [r14 + rax*8]
lea rax, [r15 + rax*8]
lea rdi, [r15 + 0x50]
cmp rsi, rax
ja 0x14010fcc3
cmp r10, rdi
jae 0x14010fd97
cmp rsi, r8
ja 0x14010fcd1
cmp r10, r8
jae 0x14010fd97
cmp rsi, r11
ja 0x14010fcdf
cmp r10, r11
jae 0x14010fd97
cmp rdi, r8
ja 0x14010fced
cmp rax, r8
jae 0x14010fd97
cmp rdi, r11
ja 0x14010fcfb
cmp rax, r11
jae 0x14010fd97
and ecx, 0x80000003
jge 0x14010fd0a
dec ecx
or ecx, 0xfffffffc
inc ecx
mov eax, r9d
sub eax, ecx
mov ecx, 0x50
nop dword [rax]
nop dword [rax + rax]
movdqu xmm1, xmmword [r15 + rcx]
add edx, 4
movdqu xmm2, xmmword [r14 + rcx]
lea rcx, [rcx + 0x20]
pxor xmm2, xmm1
pand xmm2, xmm3
movdqa xmm0, xmm2
pxor xmm0, xmm1
movdqu xmmword [r15 + rcx - 0x20], xmm0
movdqu xmm1, xmmword [r14 + rcx - 0x20]
pxor xmm1, xmm2
movdqu xmmword [r14 + rcx - 0x20], xmm1
movdqu xmm1, xmmword [r15 + rcx - 0x10]
movdqu xmm2, xmmword [r14 + rcx - 0x10]
pxor xmm2, xmm1
pand xmm2, xmm3
movdqa xmm0, xmm2
pxor xmm0, xmm1
movdqu xmmword [r15 + rcx - 0x10], xmm0
movdqu xmm1, xmmword [r14 + rcx - 0x10]
pxor xmm1, xmm2
movdqu xmmword [r14 + rcx - 0x10], xmm1
cmp edx, eax
jl 0x14010fd20
mov r14, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x10]
mov r15, qword [rsp + 0x28]
movsxd r10, edx
movsxd rdi, r9d
cmp r10, rdi
jge 0x14010fdde
mov rax, qword [r11]
mov rcx, qword [rax + r10*8]
lea rdx, [rax + r10*8]
mov rax, qword [r8]
mov r9, qword [rax + r10*8]
xor r9, rcx
and r9, rbx
xor rcx, r9
mov qword [rdx], rcx
mov rax, qword [r8]
xor qword [rax + r10*8], r9
inc r10
cmp r10, rdi
jl 0x14010fdb1
mov rdi, qword [rsp + 0x18]
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x48]
mov rcx, qword [r9 + 0x48]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x48], rcx
mov rax, qword [r8]
xor qword [rax + 0x48], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x40]
mov rcx, qword [r9 + 0x40]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x40], rcx
mov rax, qword [r8]
xor qword [rax + 0x40], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x38]
mov rcx, qword [r9 + 0x38]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x38], rcx
mov rax, qword [r8]
xor qword [rax + 0x38], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x30]
mov rcx, qword [r9 + 0x30]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x30], rcx
mov rax, qword [r8]
xor qword [rax + 0x30], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x28]
mov rcx, qword [r9 + 0x28]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x28], rcx
mov rax, qword [r8]
xor qword [rax + 0x28], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x20]
mov rcx, qword [r9 + 0x20]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x20], rcx
mov rax, qword [r8]
xor qword [rax + 0x20], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x18]
mov rcx, qword [r9 + 0x18]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x18], rcx
mov rax, qword [r8]
xor qword [rax + 0x18], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 0x10]
mov rcx, qword [r9 + 0x10]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 0x10], rcx
mov rax, qword [r8]
xor qword [rax + 0x10], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rdx, qword [rax + 8]
mov rcx, qword [r9 + 8]
xor rdx, rcx
and rdx, rbx
xor rcx, rdx
mov qword [r9 + 8], rcx
mov rax, qword [r8]
xor qword [rax + 8], rdx
mov rax, qword [r8]
mov r9, qword [r11]
mov rcx, qword [rax]
mov rdx, qword [r9]
xor rcx, rdx
and rcx, rbx
xor rdx, rcx
mov qword [r9], rdx
mov rax, qword [r8]
xor qword [rax], rcx
pop rbx
ret