Function at 0x14006a980
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov r15, rdx
mov r13, rcx
cmp rdx, 0x11
jae 0x14006aa81
cmp r15, 2
jb 0x14006b010
lea rax, [r15 + r15*4]
lea rsi, [rax*8]
add rsi, r13
lea rdi, [r13 + 0x28]
xor r14d, r14d
lea rbx, [rbp - 0x40]
jmp 0x14006aa0b
mov rcx, r13
mov rax, qword [rbp - 0x20]
mov qword [rcx + 0x20], rax
movaps xmm0, xmmword [rbp - 0x40]
movaps xmm1, xmmword [rbp - 0x30]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
add rdi, 0x28
add r14, 0xffffffffffffffd8
cmp rdi, rsi
je 0x14006b010
lea rdx, [rdi - 0x28]
mov rcx, rdi
call fcn.140067cb0
test al, al
je 0x14006a9fa
mov rax, qword [rdi + 0x20]
mov qword [rbp - 0x20], rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movaps xmmword [rbp - 0x30], xmm1
movaps xmmword [rbp - 0x40], xmm0
mov r15, r14
mov rcx, rdi
nop dword [rax + rax]
mov rax, qword [rcx - 8]
mov qword [rcx + 0x20], rax
movups xmm0, xmmword [rcx - 0x28]
movups xmm1, xmmword [rcx - 0x18]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
test r15, r15
je 0x14006a9e0
mov qword [rbp + 0x38], rcx
lea rdx, [rcx - 0x50]
mov rcx, rbx
call fcn.140067cb0
mov rcx, qword [rbp + 0x38]
add rcx, 0xffffffffffffffd8
add r15, 0x28
test al, al
jne 0x14006aa40
jmp 0x14006a9e3
mov r14, r9
mov rbx, r8
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x30], rax
mov r12d, dword [rbp + 0xb0]
lea rax, [r8 - 0x28]
mov qword [rbp + 8], rax
mov qword [rbp], r9
mov rdx, r15
mov qword [rbp - 8], r13
nop dword [rax]
sub r12d, 1
jb 0x14006aff1
mov r9, rdx
shr r9, 3
lea rsi, [r9 + r9*4]
shl rsi, 5
add rsi, r13
imul rdi, r9, 0x118
add rdi, r13
mov qword [rbp + 0x38], rdx
mov rcx, r13
cmp rdx, 0x40
jae 0x14006ab20
mov rdx, rsi
call fcn.140067cb0
mov r15d, eax
mov rcx, r13
mov rdx, rdi
call fcn.140067cb0
mov ecx, eax
mov rax, r13
cmp r15b, cl
jne 0x14006ab2b
mov rcx, rsi
mov rdx, rdi
call fcn.140067cb0
xor r15b, al
cmovne rsi, rdi
mov rax, rsi
jmp 0x14006ab2b
mov rdx, rsi
mov r8, rdi
call fcn.140068130
sub rax, r13
movabs rcx, 0xcccccccccccccccd
mul rcx
mov rcx, rdx
shr rcx, 5
cmp qword [rbp + 0x30], 0
mov r11, qword [rbp + 0x38]
mov dword [rbp + 0x24], r12d
je 0x14006ab7b
lea rax, [rcx + rcx*4]
lea rdx, [rax*8]
add rdx, r13
mov rsi, rcx
mov rcx, qword [rbp + 0x30]
call fcn.14006a500
mov rcx, rsi
mov r11, qword [rbp + 0x38]
test al, al
je 0x14006add0
cmp r11, r14
ja 0x14006b025
lea rax, [rcx + rcx*4]
lea rdi, [rax*8]
add rdi, r13
lea rax, [r11 + r11*4]
mov qword [rbp - 0x48], rax
lea r12, [rbx + rax*8]
xor r15d, r15d
mov rsi, r13
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x10], rcx
mov r14, rcx
xor eax, eax
mov qword [rbp + 0x28], rax
nop word cs:[rax + rax]
lea rax, [r14 + r14*4]
lea r13, [r13 + rax*8]
cmp rsi, r13
jae 0x14006ac14
nop
mov rcx, rsi
mov rdx, rdi
call fcn.14006a500
add r12, 0xffffffffffffffd8
test al, al
mov rcx, r12
cmovne rcx, rbx
lea rdx, [r15 + r15*4]
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rcx + rdx*8], xmm0
movups xmmword [rcx + rdx*8 + 0x10], xmm1
mov r8, qword [rsi + 0x20]
mov qword [rcx + rdx*8 + 0x20], r8
movzx eax, al
add r15, rax
add rsi, 0x28
cmp rsi, r13
jb 0x14006abd0
mov rdx, qword [rbp + 0x38]
cmp r14, rdx
je 0x14006ac60
lea rax, [r15 + r15*4]
lea rcx, [r12 + rax*8]
add rcx, 0xffffffffffffffd8
mov qword [rbp + 0x28], rcx
mov rcx, qword [rsi + 0x20]
mov qword [r12 + rax*8 - 8], rcx
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [r12 + rax*8 - 0x18], xmm1
movups xmmword [r12 + rax*8 - 0x28], xmm0
add r12, 0xffffffffffffffd8
add rsi, 0x28
mov r14, rdx
mov r13, qword [rbp - 8]
jmp 0x14006abc0
mov rax, qword [rdi + 0x20]
mov rcx, qword [rbp + 0x28]
mov qword [rcx + 0x20], rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
lea rax, [r15*8]
lea r8, [rax + rax*4]
mov r13, qword [rbp - 8]
mov rcx, r13
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r11, qword [rbp + 0x38]
mov rdx, r11
sub rdx, r15
mov r14, qword [rbp]
mov r12d, dword [rbp + 0x24]
mov rsi, qword [rbp + 0x18]
je 0x14006ad76
lea rax, [r15 + r15*4]
lea rax, [rax*8]
add rax, r13
lea rcx, [r15 + 1]
cmp r11, rcx
jne 0x14006acd0
xor r10d, r10d
jmp 0x14006ad44
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov r8, qword [rbp + 8]
mov r9, qword [rbp - 0x48]
lea r8, [r8 + r9*8]
mov r9, rax
xor r11d, r11d
nop dword [rax]
mov r10, qword [r8 + 0x20]
mov qword [r9 + 0x20], r10
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
lea r10, [r11 + 2]
xor r11, 0xfffffffffffffffe
lea r11, [r11 + r11*4]
movups xmm0, xmmword [rsi + r11*8]
movups xmm1, xmmword [rsi + r11*8 + 0x10]
movups xmmword [r9 + 0x28], xmm0
movups xmmword [r9 + 0x38], xmm1
mov r11, qword [rsi + r11*8 + 0x20]
mov qword [r9 + 0x48], r11
add r9, 0x50
add r8, 0xffffffffffffffb0
mov r11, r10
cmp rcx, r10
jne 0x14006acf0
test dl, 1
mov r11, qword [rbp + 0x38]
je 0x14006ad76
lea rcx, [r10 + r10*4]
not r10
lea r8, [r10 + r10*4]
mov r9, qword [rsi + r8*8 + 0x20]
mov qword [rax + rcx*8 + 0x20], r9
movups xmm0, xmmword [rsi + r8*8]
movups xmm1, xmmword [rsi + r8*8 + 0x10]
movups xmmword [rax + rcx*8 + 0x10], xmm1
movups xmmword [rax + rcx*8], xmm0
test r15, r15
mov rcx, qword [rbp + 0x10]
je 0x14006add0
cmp r11, r15
jb 0x14006b027
lea rax, [r15 + r15*4]
lea rcx, [rax*8]
add rcx, r13
mov rax, qword [rbp + 0xc0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], r12d
mov qword [rsp + 0x28], 0
mov r8, rbx
mov r9, r14
call fcn.14006a980
mov rdx, r15
cmp r15, 0x11
jae 0x14006aab0
jmp 0x14006a9b3
cmp r11, r14
ja 0x14006b025
lea rax, [rcx + rcx*4]
lea r15, [rax*8]
add r15, r13
lea rax, [r11 + r11*4]
mov qword [rbp + 0x30], rax
lea rsi, [rbx + rax*8]
xor r12d, r12d
mov rdi, r13
mov qword [rbp + 0x18], rsi
xor eax, eax
mov qword [rbp + 0x28], rax
nop word cs:[rax + rax]
mov qword [rbp + 0x10], rcx
lea rax, [rcx + rcx*4]
lea r14, [rax*8]
add r14, r13
cmp rdi, r14
jae 0x14006ae79
nop dword [rax + rax]
mov rcx, r15
mov rdx, rdi
call fcn.14006a500
mov ecx, eax
xor cl, 1
add rsi, 0xffffffffffffffd8
test al, al
mov rax, rbx
cmovne rax, rsi
lea rdx, [r12 + r12*4]
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rax + rdx*8], xmm0
movups xmmword [rax + rdx*8 + 0x10], xmm1
mov r8, qword [rdi + 0x20]
mov qword [rax + rdx*8 + 0x20], r8
movzx eax, cl
add r12, rax
add rdi, 0x28
cmp rdi, r14
jb 0x14006ae30
mov rdx, qword [rbp + 0x38]
cmp qword [rbp + 0x10], rdx
je 0x14006aec0
add rsi, 0xffffffffffffffd8
lea rax, [r12 + r12*4]
lea rcx, [rbx + rax*8]
mov qword [rbp + 0x28], rcx
mov rcx, qword [rdi + 0x20]
mov qword [rbx + rax*8 + 0x20], rcx
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + rax*8 + 0x10], xmm1
movups xmmword [rbx + rax*8], xmm0
inc r12
add rdi, 0x28
mov rcx, rdx
jmp 0x14006ae10
mov rax, qword [r15 + 0x20]
mov rcx, qword [rbp + 0x28]
mov qword [rcx + 0x20], rax
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
lea rax, [r12*8]
lea r8, [rax + rax*4]
mov rcx, r13
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r11, qword [rbp + 0x38]
mov r15, r11
sub r15, r12
mov rsi, qword [rbp + 0x18]
je 0x14006afbf
lea rax, [r12 + r12*4]
lea rax, [rax*8]
add rax, r13
lea rcx, [r12 + 1]
cmp r11, rcx
jne 0x14006af25
xor r9d, r9d
jmp 0x14006af92
mov rcx, r15
and rcx, 0xfffffffffffffffe
mov rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x30]
lea rdx, [rdx + r8*8]
mov r8, rax
xor r10d, r10d
nop
mov r9, qword [rdx + 0x20]
mov qword [r8 + 0x20], r9
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
lea r9, [r10 + 2]
xor r10, 0xfffffffffffffffe
lea r10, [r10 + r10*4]
movups xmm0, xmmword [rsi + r10*8]
movups xmm1, xmmword [rsi + r10*8 + 0x10]
movups xmmword [r8 + 0x28], xmm0
movups xmmword [r8 + 0x38], xmm1
mov r10, qword [rsi + r10*8 + 0x20]
mov qword [r8 + 0x48], r10
add r8, 0x50
add rdx, 0xffffffffffffffb0
mov r10, r9
cmp rcx, r9
jne 0x14006af40
test r15b, 1
je 0x14006afbf
lea rcx, [r9 + r9*4]
not r9
lea rdx, [r9 + r9*4]
mov r8, qword [rsi + rdx*8 + 0x20]
mov qword [rax + rcx*8 + 0x20], r8
movups xmm0, xmmword [rsi + rdx*8]
movups xmm1, xmmword [rsi + rdx*8 + 0x10]
movups xmmword [rax + rcx*8 + 0x10], xmm1
movups xmmword [rax + rcx*8], xmm0
cmp r11, r12
jb 0x14006b059
lea rax, [r12 + r12*4]
lea r13, [r13 + rax*8]
mov eax, 0
mov qword [rbp + 0x30], rax
cmp r15, 0x11
mov r14, qword [rbp]
mov r12d, dword [rbp + 0x24]
jae 0x14006aaa5
jmp 0x14006a9b3
mov rax, qword [rbp + 0xc0]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
mov rcx, r13
mov r8, rbx
mov r9, r14
call fcn.140069d40
nop
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
lea rax, [0x1402272c0]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], 1
mov qword [rbp - 0x30], 8
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
lea rdx, [0x1402272d0]
lea rcx, [rbp - 0x40]
call fcn.14021a2e0
lea r8, str.Xr__
mov rcx, r12
mov rdx, r11
call fcn.14021a740
int3