Function at 0x140102d30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push r14
lea rbx, [rcx - 1]
movsxd r14, r9d
mov ecx, dword [rdx + 8]
mov r10, rdx
mov eax, ecx
shr rbx, 0x3f
xor eax, dword [r8 + 8]
dec rbx
and eax, ebx
lea r9d, [r14 - 1]
xor ecx, eax
mov dword [rdx + 8], ecx
xor dword [r8 + 8], eax
movq xmm4, rbx
mov ecx, dword [rdx + 0x10]
mov eax, ecx
xor eax, dword [r8 + 0x10]
and eax, ebx
punpcklqdq xmm4, xmm4
xor ecx, eax
mov dword [rdx + 0x10], ecx
xor dword [r8 + 0x10], eax
mov ecx, dword [rdx + 0x14]
mov edx, ecx
mov eax, dword [r8 + 0x14]
xor rdx, rax
and edx, 4
and rdx, rbx
mov eax, edx
xor eax, ecx
mov dword [r10 + 0x14], eax
xor dword [r8 + 0x14], edx
cmp r9d, 9
ja case.default.0x140102db5
lea rdx, [0x140000000]
movsxd rax, r9d
mov ecx, dword [rdx + rax*4 + 0x10302c]
add rcx, rdx
jmp rcx
mov edx, 0xa
mov qword [rsp + 0x20], rdi
lea ecx, [r14 - 0xa]
cmp r14d, edx
jle 0x140102e96
cmp ecx, 2
jb 0x140102e96
mov r11, qword [r8]
mov rdi, qword [r10]
movsxd rax, r9d
mov qword [rsp + 0x10], rbp
lea rbp, [r11 + 0x50]
mov qword [rsp + 0x18], rsi
lea rsi, [rdi + 0x50]
lea r9, [r11 + rax*8]
lea rax, [rdi + rax*8]
cmp rbp, rax
ja 0x140102e08
cmp r9, rsi
jae 0x140102e8c
cmp rbp, r8
ja 0x140102e12
cmp r9, r8
jae 0x140102e8c
cmp rbp, r10
ja 0x140102e1c
cmp r9, r10
jae 0x140102e8c
cmp rsi, r8
ja 0x140102e26
cmp rax, r8
jae 0x140102e8c
cmp rsi, r10
ja 0x140102e30
cmp rax, r10
jae 0x140102e8c
and ecx, 0x80000001
jge 0x140102e3f
dec ecx
or ecx, 0xfffffffe
inc ecx
mov r9d, r14d
sub r9d, ecx
mov eax, 0x50
nop word [rax + rax]
movdqu xmm2, xmmword [rax + r11]
add edx, 2
movdqu xmm1, xmmword [rax + rdi]
lea rax, [rax + 0x10]
movdqa xmm3, xmm2
pxor xmm3, xmm1
pand xmm3, xmm4
movdqa xmm0, xmm3
pxor xmm3, xmm2
pxor xmm0, xmm1
movdqu xmmword [rax + rdi - 0x10], xmm0
movdqu xmmword [rax + r11 - 0x10], xmm3
cmp edx, r9d
jl 0x140102e50
mov rsi, qword [rsp + 0x18]
mov rbp, qword [rsp + 0x10]
movsxd r11, edx
cmp r11, r14
jge 0x140102ecd
nop
mov rax, qword [r10]
mov rcx, qword [rax + r11*8]
lea rdx, [rax + r11*8]
mov rax, qword [r8]
mov r9, rcx
xor r9, qword [rax + r11*8]
and r9, rbx
xor rcx, r9
mov qword [rdx], rcx
mov rax, qword [r8]
xor qword [rax + r11*8], r9
inc r11
cmp r11, r14
jl 0x140102ea0
mov rdi, qword [rsp + 0x20]
mov rax, qword [r8]
mov r9, qword [r10]
mov rcx, qword [r9 + 0x48]
mov rdx, rcx
xor rdx, qword [rax + 0x48]
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 [r10]
mov rcx, qword [r9 + 0x40]
mov rdx, rcx
xor rdx, qword [rax + 0x40]
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 [r10]
mov rcx, qword [r9 + 0x38]
mov rdx, rcx
xor rdx, qword [rax + 0x38]
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 [r10]
mov rcx, qword [r9 + 0x30]
mov rdx, rcx
xor rdx, qword [rax + 0x30]
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 [r10]
mov rcx, qword [r9 + 0x28]
mov rdx, rcx
xor rdx, qword [rax + 0x28]
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 [r10]
mov rcx, qword [r9 + 0x20]
mov rdx, rcx
xor rdx, qword [rax + 0x20]
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 [r10]
mov rcx, qword [r9 + 0x18]
mov rdx, rcx
xor rdx, qword [rax + 0x18]
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 [r10]
mov rcx, qword [r9 + 0x10]
mov rdx, rcx
xor rdx, qword [rax + 0x10]
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 [r10]
mov rcx, qword [r9 + 8]
mov rdx, rcx
xor rdx, qword [rax + 8]
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 [r10]
mov rdx, qword [r9]
mov rcx, rdx
xor rcx, qword [rax]
and rcx, rbx
mov rbx, qword [rsp + 0x28]
xor rdx, rcx
mov qword [r9], rdx
mov rax, qword [r8]
xor qword [rax], rcx
pop r14
ret