Function at 0x14001aee0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov r12, r9
mov rdi, r8
mov r15, rdx
mov rbx, rcx
cmp rdx, 0x21
jae 0x14001af28
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, r15
mov r8, rdi
mov r9, r12
call fcn.14001f3f0
jmp 0x14001b52a
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x38], rax
mov esi, dword [rsp + 0x130]
lea rax, [rdi - 0x38]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r12
mov r14, r15
nop dword [rax]
sub esi, 1
jb 0x14001b507
mov r9, r14
shr r9, 3
imul rdx, r9, 0xe0
add rdx, rbx
imul r8, r9, 0x188
add r8, rbx
cmp r14, 0x40
mov dword [rsp + 0x44], esi
jae 0x14001b010
mov rax, qword [rbx + 0x18]
mov rcx, qword [rdx + 0x18]
movzx r10d, byte [rdx + 0x30]
cmp byte [rbx + 0x30], 0
setne bpl
test r10b, r10b
sete r9b
and r9b, bpl
xor r11d, r11d
cmp rax, rcx
seta r11b
movzx r9d, r9b
cmovne r9d, r11d
mov r11, qword [r8 + 0x18]
movzx esi, byte [r8 + 0x30]
test sil, sil
sete r15b
and r15b, bpl
xor ebp, ebp
cmp rax, r11
seta bpl
movzx r15d, r15b
cmovne r15d, ebp
mov rax, rbx
cmp r9b, r15b
jne 0x14001b018
test sil, sil
sete al
test r10b, r10b
setne r10b
and r10b, al
xor eax, eax
cmp rcx, r11
seta al
movzx ecx, r10b
cmovne ecx, eax
xor r9b, cl
cmovne rdx, r8
mov rax, rdx
jmp 0x14001b018
mov rcx, rbx
call fcn.140022810
sub rax, rbx
shr rax, 3
movabs rcx, 0x2492492492492493
mul rcx
mov qword [rsp + 0x50], rdx
imul rax, rdx, 0x38
lea rsi, [rbx + rax]
mov rcx, qword [rbx + rax + 0x30]
mov qword [rsp + 0xc0], rcx
movups xmm0, xmmword [rbx + rax]
movups xmm1, xmmword [rbx + rax + 0x10]
movups xmm2, xmmword [rbx + rax + 0x20]
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
cmp qword [rsp + 0x38], 0
je 0x14001b0a4
mov rcx, qword [rsp + 0x38]
cmp byte [rcx + 0x30], 0
setne al
cmp byte [rsi + 0x30], 0
mov rcx, qword [rcx + 0x18]
sete dl
and dl, al
xor eax, eax
cmp rcx, qword [rsi + 0x18]
seta al
movzx ecx, dl
cmove eax, ecx
cmp al, 1
jne 0x14001b2f0
cmp r14, r12
ja 0x14001b53f
imul r12, r14, 0x38
lea rbp, [rdi + r12]
xor r15d, r15d
mov rax, rbx
mov rcx, rbp
mov rdx, qword [rsp + 0x50]
nop word cs:[rax + rax]
imul r8, rdx, 0x38
add r8, rbx
cmp rax, r8
jae 0x14001b151
nop dword [rax]
mov r9, qword [rax + 0x18]
cmp byte [rax + 0x30], 0
setne r10b
cmp byte [rsi + 0x30], 0
sete r11b
and r11b, r10b
xor r10d, r10d
cmp r9, qword [rsi + 0x18]
seta r10b
movzx r9d, r11b
cmove r10d, r9d
add rcx, 0xffffffffffffffc8
test r10b, r10b
mov r9, rcx
cmovne r9, rdi
imul r11, r15, 0x38
mov r13, qword [rax + 0x30]
mov qword [r9 + r11 + 0x30], r13
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r9 + r11 + 0x20], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r9 + r11 + 0x10], xmm1
movups xmmword [r9 + r11], xmm0
movzx r9d, r10b
add r15, r9
add rax, 0x38
cmp rax, r8
jb 0x14001b0e0
cmp rdx, r14
je 0x14001b190
imul rdx, r15, 0x38
mov r8, qword [rax + 0x30]
mov qword [rcx + rdx - 8], r8
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [rcx + rdx - 0x18], xmm2
movups xmmword [rcx + rdx - 0x28], xmm1
movups xmmword [rcx + rdx - 0x38], xmm0
add rcx, 0xffffffffffffffc8
add rax, 0x38
mov rdx, r14
jmp 0x14001b0d0
imul r13, r15, 0x38
mov rcx, rbx
mov rdx, rdi
mov r8, r13
call fcn.1400e5660
mov rdx, r14
sub rdx, r15
je 0x14001b298
lea rax, [rbx + r13]
lea rcx, [r15 + 1]
cmp r14, rcx
jne 0x14001b1d0
xor r9d, r9d
jmp 0x14001b25e
mov rcx, rdx
and rcx, 0xfffffffffffffffe
add r12, qword [rsp + 0x48]
mov r8, rax
xor r10d, r10d
nop word cs:[rax + rax]
mov r9, qword [r12 + 0x30]
mov qword [r8 + 0x30], r9
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmm2, xmmword [r12 + 0x20]
movups xmmword [r8 + 0x20], xmm2
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
lea r9, [r10 + 2]
xor r10, 0xfffffffffffffffe
imul r10, r10, 0x38
movups xmm0, xmmword [rbp + r10]
movups xmm1, xmmword [rbp + r10 + 0x10]
movups xmm2, xmmword [rbp + r10 + 0x20]
movups xmmword [r8 + 0x38], xmm0
movups xmmword [r8 + 0x48], xmm1
movups xmmword [r8 + 0x58], xmm2
mov r10, qword [rbp + r10 + 0x30]
mov qword [r8 + 0x68], r10
add r8, 0x70
add r12, 0xffffffffffffff90
mov r10, r9
cmp rcx, r9
jne 0x14001b1f0
test dl, 1
je 0x14001b298
imul rcx, r9, 0x38
not r9
imul r8, r9, 0x38
mov r9, qword [rbp + r8 + 0x30]
mov qword [rax + rcx + 0x30], r9
movups xmm0, xmmword [rbp + r8]
movups xmm1, xmmword [rbp + r8 + 0x10]
movups xmm2, xmmword [rbp + r8 + 0x20]
movups xmmword [rax + rcx + 0x20], xmm2
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
test r15, r15
mov r12, qword [rsp + 0x58]
je 0x14001b2f0
cmp r14, r15
jb 0x14001b541
add r13, rbx
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x28], rax
mov esi, dword [rsp + 0x44]
mov dword [rsp + 0x20], esi
mov rcx, r13
mov r8, rdi
mov r9, r12
call fcn.14001aee0
mov r14, r15
cmp r15, 0x21
jae 0x14001af50
jmp 0x14001af05
cmp r14, r12
ja 0x14001b53f
imul rbp, r14, 0x38
lea rcx, [rdi + rbp]
xor r13d, r13d
mov rax, rbx
mov qword [rsp + 0x38], rcx
mov r15, qword [rsp + 0x50]
nop word cs:[rax + rax]
imul rdx, r15, 0x38
add rdx, rbx
cmp rax, rdx
jae 0x14001b3a8
nop dword [rax]
cmp byte [rsi + 0x30], 0
setne r8b
cmp byte [rax + 0x30], 0
mov r9, qword [rsi + 0x18]
sete r10b
and r10b, r8b
xor r8d, r8d
cmp r9, qword [rax + 0x18]
seta r8b
movzx r9d, r10b
cmove r8d, r9d
mov r9d, r8d
xor r9b, 1
add rcx, 0xffffffffffffffc8
test r8b, r8b
mov r8, rdi
cmovne r8, rcx
imul r10, r13, 0x38
mov r11, qword [rax + 0x30]
mov qword [r8 + r10 + 0x30], r11
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [r8 + r10 + 0x20], xmm2
movups xmmword [r8 + r10 + 0x10], xmm1
movups xmmword [r8 + r10], xmm0
movzx r8d, r9b
add r13, r8
add rax, 0x38
cmp rax, rdx
jb 0x14001b330
cmp r15, r14
je 0x14001b3f0
add rcx, 0xffffffffffffffc8
imul rdx, r13, 0x38
mov r8, qword [rax + 0x30]
mov qword [rdi + rdx + 0x30], r8
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [rdi + rdx + 0x20], xmm2
movups xmmword [rdi + rdx + 0x10], xmm1
movups xmmword [rdi + rdx], xmm0
inc r13
add rax, 0x38
mov r15, r14
jmp 0x14001b320
mov rsi, r12
imul r12, r13, 0x38
mov rcx, rbx
mov rdx, rdi
mov r8, r12
call fcn.1400e5660
mov r15, r14
sub r15, r13
mov r10, qword [rsp + 0x38]
je 0x14001b4db
lea rax, [rbx + r12]
lea rcx, [r13 + 1]
cmp r14, rcx
jne 0x14001b428
xor r8d, r8d
jmp 0x14001b4a1
mov rcx, r15
and rcx, 0xfffffffffffffffe
add rbp, qword [rsp + 0x48]
mov rdx, rax
xor r9d, r9d
nop word [rax + rax]
mov r8, qword [rbp + 0x30]
mov qword [rdx + 0x30], r8
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmm2, xmmword [rbp + 0x20]
movups xmmword [rdx + 0x20], xmm2
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
lea r8, [r9 + 2]
xor r9, 0xfffffffffffffffe
imul r9, r9, 0x38
movups xmm0, xmmword [r10 + r9]
movups xmm1, xmmword [r10 + r9 + 0x10]
movups xmm2, xmmword [r10 + r9 + 0x20]
movups xmmword [rdx + 0x38], xmm0
movups xmmword [rdx + 0x48], xmm1
movups xmmword [rdx + 0x58], xmm2
mov r9, qword [r10 + r9 + 0x30]
mov qword [rdx + 0x68], r9
add rdx, 0x70
add rbp, 0xffffffffffffff90
mov r9, r8
cmp rcx, r8
jne 0x14001b440
test r15b, 1
je 0x14001b4db
imul rcx, r8, 0x38
not r8
imul rdx, r8, 0x38
mov r8, qword [r10 + rdx + 0x30]
mov qword [rax + rcx + 0x30], r8
movups xmm0, xmmword [r10 + rdx]
movups xmm1, xmmword [r10 + rdx + 0x10]
movups xmm2, xmmword [r10 + rdx + 0x20]
movups xmmword [rax + rcx + 0x20], xmm2
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
cmp r14, r13
jb 0x14001b578
add rbx, r12
mov eax, 0
mov qword [rsp + 0x38], rax
cmp r15, 0x21
mov r12, rsi
mov esi, dword [rsp + 0x44]
jae 0x14001af4a
jmp 0x14001af05
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
mov rcx, rbx
mov rdx, r14
mov r8, rdi
mov r9, r12
call fcn.140022ac0
nop
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
lea rax, [0x1400fb6f0]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
mov qword [rsp + 0x70], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
lea rdx, [0x1400fb700]
lea rcx, [rsp + 0x60]
call fcn.1400f8f70
lea r8, [0x1400fb718]
mov rcx, r13
mov rdx, r14
call fcn.1400f9390
int3