Function at 0x140103ca0
Capabilities:
Encode data using xor

Disassembly:
mov r8, qword [rcx + 0xab0]
mov rax, rdx
mov edx, dword [0x14021b898]
mov rcx, rax
jmp 0x140107c00
mov rax, rsp
sub rsp, 0x68
movdqu xmm3, xmmword [rcx]
lea r11, [rdx + r8]
movdqu xmm4, xmmword [rcx + 0x10]
movdqu xmm5, xmmword [rcx + 0x20]
movaps xmmword [rax - 0x18], xmm6
movdqu xmm6, xmmword [rcx + 0x30]
movaps xmmword [rax - 0x28], xmm7
movdqa xmm7, xmmword [0x1401801b0]
movaps xmmword [rax - 0x38], xmm8
movdqa xmm8, xmmword [0x140180160]
movaps xmmword [rax - 0x48], xmm9
movdqa xmm9, xmmword [0x140180170]
movaps xmmword [rax - 0x58], xmm10
movdqa xmm10, xmmword [0x140180180]
cmp r8, r11
jae 0x14010806d
mov qword [rax + 8], rbx
lea rbx, [r8 + 0x20]
mov qword [rax - 8], rdi
lea rdi, [0x140000000]
movdqu xmmword [rsp], xmm3
movzx eax, byte [rsp]
mov r10d, dword [rdi + rax*4 + 0x21db40]
movzx eax, byte [rsp + 4]
mov r9d, dword [rdi + rax*4 + 0x21db40]
movzx eax, byte [rsp + 8]
mov r8d, dword [rdi + rax*4 + 0x21db40]
movzx eax, byte [rsp + 0xc]
mov edx, dword [rdi + rax*4 + 0x21db40]
movzx eax, byte [rsp + 0xd]
xor r10d, dword [rdi + rax*4 + 0x21df40]
movzx eax, byte [rsp + 1]
xor r9d, dword [rdi + rax*4 + 0x21df40]
movzx eax, byte [rsp + 5]
xor r8d, dword [rdi + rax*4 + 0x21df40]
movzx eax, byte [rsp + 9]
xor edx, dword [rdi + rax*4 + 0x21df40]
movzx eax, byte [rsp + 0xa]
xor r10d, dword [rdi + rax*4 + 0x21e340]
movzx eax, byte [rsp + 0xe]
xor r9d, dword [rdi + rax*4 + 0x21e340]
movzx eax, byte [rsp + 2]
xor r8d, dword [rdi + rax*4 + 0x21e340]
movzx eax, byte [rsp + 6]
xor edx, dword [rdi + rax*4 + 0x21e340]
movzx eax, byte [rsp + 7]
xor r10d, dword [rdi + rax*4 + 0x21e740]
movzx eax, byte [rsp + 0xb]
movd xmm3, r10d
xor r9d, dword [rdi + rax*4 + 0x21e740]
movzx eax, byte [rsp + 0xf]
movd xmm0, r9d
xor r8d, dword [rdi + rax*4 + 0x21e740]
movzx eax, byte [rsp + 3]
movdqu xmmword [rsp], xmm4
movd xmm2, r8d
xor edx, dword [rdi + rax*4 + 0x21e740]
movzx eax, byte [rsp]
punpckldq xmm3, xmm0
movd xmm1, edx
mov r10d, dword [rdi + rax*4 + 0x21cb40]
movzx eax, byte [rsp + 4]
punpckldq xmm2, xmm1
punpcklqdq xmm3, xmm2
xorps xmm3, xmm7
mov r9d, dword [rdi + rax*4 + 0x21cb40]
movzx eax, byte [rsp + 8]
mov r8d, dword [rdi + rax*4 + 0x21cb40]
movzx eax, byte [rsp + 0xc]
mov edx, dword [rdi + rax*4 + 0x21cb40]
movzx eax, byte [rsp + 5]
xor r10d, dword [rdi + rax*4 + 0x21cf40]
movzx eax, byte [rsp + 9]
xor r9d, dword [rdi + rax*4 + 0x21cf40]
movzx eax, byte [rsp + 0xd]
xor r8d, dword [rdi + rax*4 + 0x21cf40]
movzx eax, byte [rsp + 1]
xor edx, dword [rdi + rax*4 + 0x21cf40]
movzx eax, byte [rsp + 0xa]
xor r10d, dword [rdi + rax*4 + 0x21d340]
movzx eax, byte [rsp + 0xe]
xor r9d, dword [rdi + rax*4 + 0x21d340]
movzx eax, byte [rsp + 2]
xor r8d, dword [rdi + rax*4 + 0x21d340]
movzx eax, byte [rsp + 6]
xor edx, dword [rdi + rax*4 + 0x21d340]
movzx eax, byte [rsp + 0xf]
xor r10d, dword [rdi + rax*4 + 0x21d740]
movzx eax, byte [rsp + 3]
movd xmm4, r10d
xor r9d, dword [rdi + rax*4 + 0x21d740]
movzx eax, byte [rsp + 7]
movd xmm0, r9d
xor r8d, dword [rdi + rax*4 + 0x21d740]
movzx eax, byte [rsp + 0xb]
punpckldq xmm4, xmm0
movd xmm2, r8d
xor edx, dword [rdi + rax*4 + 0x21d740]
movd xmm1, edx
punpckldq xmm2, xmm1
punpcklqdq xmm4, xmm2
movdqu xmmword [rsp], xmm5
movzx eax, byte [rsp]
xorps xmm4, xmm8
mov r10d, dword [rdi + rax*4 + 0x21db40]
movzx eax, byte [rsp + 4]
mov r9d, dword [rdi + rax*4 + 0x21db40]
movzx eax, byte [rsp + 8]
mov r8d, dword [rdi + rax*4 + 0x21db40]
movzx eax, byte [rsp + 0xc]
mov edx, dword [rdi + rax*4 + 0x21db40]
movzx eax, byte [rsp + 0xd]
xor r10d, dword [rdi + rax*4 + 0x21df40]
movzx eax, byte [rsp + 1]
xor r9d, dword [rdi + rax*4 + 0x21df40]
movzx eax, byte [rsp + 5]
xor r8d, dword [rdi + rax*4 + 0x21df40]
movzx eax, byte [rsp + 9]
xor edx, dword [rdi + rax*4 + 0x21df40]
movzx eax, byte [rsp + 0xa]
xor r10d, dword [rdi + rax*4 + 0x21e340]
movzx eax, byte [rsp + 0xe]
xor r9d, dword [rdi + rax*4 + 0x21e340]
movzx eax, byte [rsp + 2]
xor r8d, dword [rdi + rax*4 + 0x21e340]
movzx eax, byte [rsp + 6]
xor edx, dword [rdi + rax*4 + 0x21e340]
movzx eax, byte [rsp + 7]
xor r10d, dword [rdi + rax*4 + 0x21e740]
movzx eax, byte [rsp + 0xb]
movd xmm5, r10d
xor r9d, dword [rdi + rax*4 + 0x21e740]
movzx eax, byte [rsp + 0xf]
movd xmm0, r9d
xor r8d, dword [rdi + rax*4 + 0x21e740]
movzx eax, byte [rsp + 3]
movdqu xmmword [rsp], xmm6
movd xmm2, r8d
xor edx, dword [rdi + rax*4 + 0x21e740]
movzx eax, byte [rsp]
punpckldq xmm5, xmm0
movd xmm1, edx
mov r10d, dword [rdi + rax*4 + 0x21cb40]
movzx eax, byte [rsp + 4]
punpckldq xmm2, xmm1
punpcklqdq xmm5, xmm2
xorps xmm5, xmm9
mov r9d, dword [rdi + rax*4 + 0x21cb40]
movzx eax, byte [rsp + 8]
mov r8d, dword [rdi + rax*4 + 0x21cb40]
movzx eax, byte [rsp + 0xc]
mov edx, dword [rdi + rax*4 + 0x21cb40]
movzx eax, byte [rsp + 5]
xor r10d, dword [rdi + rax*4 + 0x21cf40]
movzx eax, byte [rsp + 9]
xor r9d, dword [rdi + rax*4 + 0x21cf40]
movzx eax, byte [rsp + 0xd]
xor r8d, dword [rdi + rax*4 + 0x21cf40]
movzx eax, byte [rsp + 1]
xor edx, dword [rdi + rax*4 + 0x21cf40]
movzx eax, byte [rsp + 0xa]
xor r10d, dword [rdi + rax*4 + 0x21d340]
movzx eax, byte [rsp + 0xe]
xor r9d, dword [rdi + rax*4 + 0x21d340]
movzx eax, byte [rsp + 2]
xor r8d, dword [rdi + rax*4 + 0x21d340]
movzx eax, byte [rsp + 6]
xor edx, dword [rdi + rax*4 + 0x21d340]
movzx eax, byte [rsp + 0xf]
xor r10d, dword [rdi + rax*4 + 0x21d740]
movzx eax, byte [rsp + 3]
movd xmm6, r10d
xor r9d, dword [rdi + rax*4 + 0x21d740]
movzx eax, byte [rsp + 7]
movd xmm0, r9d
xor r8d, dword [rdi + rax*4 + 0x21d740]
movzx eax, byte [rsp + 0xb]
punpckldq xmm6, xmm0
movd xmm2, r8d
xor edx, dword [rdi + rax*4 + 0x21d740]
movd xmm1, edx
punpckldq xmm2, xmm1
punpcklqdq xmm6, xmm2
movdqu xmmword [rbx - 0x20], xmm3
xorps xmm6, xmm10
movdqu xmmword [rbx + 0x10], xmm6
movdqu xmmword [rbx - 0x10], xmm4
movdqu xmmword [rbx], xmm5
lea rbx, [rbx + 0x40]
lea rax, [rbx - 0x20]
cmp rax, r11
jb 0x140107c74
mov rdi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x20]
movaps xmm10, xmmword [rsp + 0x10]
movdqu xmmword [rcx + 0x30], xmm6
movaps xmm6, xmmword [rsp + 0x50]
movdqu xmmword [rcx], xmm3
movdqu xmmword [rcx + 0x10], xmm4
movdqu xmmword [rcx + 0x20], xmm5
add rsp, 0x68
ret