Function at 0x14001a930
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov r14, rcx
mov rax, rdx
sub rax, rcx
movzx ebx, r9b
mov rcx, rax
mov r15, r8
sar rcx, 3
mov rbp, rdx
cmp rcx, 0x20
jle 0x14001ab85
nop dword [rax]
test r15, r15
jle 0x14001abe5
sar rax, 4
lea r8, [rbp - 8]
movzx r9d, bl
mov rcx, r14
lea rsi, [r14 + rax*8]
mov rdx, rsi
call fcn.1400194f0
lea rdi, [rsi + 8]
cmp r14, rsi
jae 0x14001a9cf
nop dword [rax]
mov rcx, qword [rsi - 8]
lea rdx, [rsi - 8]
mov rax, qword [rsi]
movsd xmm0, qword [rcx + 0xa8]
movsd xmm1, qword [rax + 0xa8]
comisd xmm0, xmm1
ja 0x14001a9cf
comisd xmm1, xmm0
ja 0x14001a9cf
mov rsi, rdx
cmp r14, rdx
jb 0x14001a9a0
cmp rdi, rbp
jae 0x14001aa00
mov rax, qword [rsi]
movsd xmm0, qword [rax + 0xa8]
nop
mov rax, qword [rdi]
movsd xmm1, qword [rax + 0xa8]
comisd xmm1, xmm0
ja 0x14001aa00
comisd xmm0, xmm1
ja 0x14001aa00
add rdi, 8
cmp rdi, rbp
jb 0x14001a9e0
mov rdx, rdi
mov r8, rsi
cmp rdx, rbp
jae 0x14001aa4d
nop dword [rax + rax]
mov rcx, qword [rdx]
mov rax, qword [rsi]
movsd xmm1, qword [rcx + 0xa8]
movsd xmm0, qword [rax + 0xa8]
comisd xmm0, xmm1
ja 0x14001aa44
comisd xmm1, xmm0
ja 0x14001aa4d
cmp rdi, rdx
je 0x14001aa40
mov rax, qword [rdi]
mov qword [rdi], rcx
mov qword [rdx], rax
add rdi, 8
add rdx, 8
cmp rdx, rbp
jb 0x14001aa10
cmp r8, r14
jbe 0x14001aaa5
lea rcx, [r8 - 8]
nop word [rax + rax]
mov rax, qword [rsi]
mov r9, qword [rcx]
movsd xmm1, qword [rax + 0xa8]
movsd xmm0, qword [r9 + 0xa8]
comisd xmm0, xmm1
ja 0x14001aa95
comisd xmm1, xmm0
ja 0x14001aaa2
sub rsi, 8
cmp rsi, rcx
je 0x14001aa95
mov rax, qword [rsi]
mov qword [rsi], r9
mov qword [rcx], rax
sub r8, 8
sub rcx, 8
cmp r14, r8
jb 0x14001aa60
cmp r8, r14
jne 0x14001aada
cmp rdx, rbp
je 0x14001ab23
cmp rdi, rdx
je 0x14001aabd
mov rax, qword [rdi]
mov rcx, qword [rsi]
mov qword [rsi], rax
mov qword [rdi], rcx
mov rax, qword [rdx]
add rdi, 8
mov rcx, qword [rsi]
mov qword [rsi], rax
add rsi, 8
mov qword [rdx], rcx
add rdx, 8
jmp 0x14001aa06
add r8, 0xfffffffffffffff8
cmp rdx, rbp
jne 0x14001ab0e
sub rsi, 8
cmp r8, rsi
je 0x14001aaf8
mov rax, qword [rsi]
mov rcx, qword [r8]
mov qword [r8], rax
mov qword [rsi], rcx
mov rax, qword [rdi - 8]
sub rdi, 8
mov rcx, qword [rsi]
mov qword [rsi], rax
mov qword [rdi], rcx
jmp 0x14001aa06
mov rcx, qword [rdx]
mov rax, qword [r8]
mov qword [rdx], rax
add rdx, 8
mov qword [r8], rcx
jmp 0x14001aa06
mov rcx, r15
mov rax, rsi
sar rcx, 2
sub rax, r14
sar r15, 1
and rax, 0xfffffffffffffff8
add r15, rcx
movzx r9d, bl
mov rcx, rbp
mov r8, r15
sub rcx, rdi
and rcx, 0xfffffffffffffff8
cmp rax, rcx
jge 0x14001ab60
mov rdx, rsi
mov rcx, r14
call fcn.14001a930
mov r14, rdi
jmp 0x14001ab6e
mov rdx, rbp
mov rcx, rdi
call fcn.14001a930
mov rbp, rsi
mov rax, rbp
sub rax, r14
mov rcx, rax
sar rcx, 3
cmp rcx, 0x20
jg 0x14001a970
cmp rcx, 2
jl 0x14001ad6e
cmp r14, rbp
je 0x14001ad6e
lea r15, [r14 + 8]
mov rbx, r15
cmp r15, rbp
je 0x14001ad6e
mov edi, 8
nop dword [rax]
mov rsi, qword [rbx]
mov rdx, rbx
mov rax, qword [r14]
movsd xmm0, qword [rsi + 0xa8]
comisd xmm0, xmmword [rax + 0xa8]
jbe 0x14001ad31
mov r8, rdi
mov rdx, r14
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
mov qword [r14], rsi
jmp 0x14001ad5d
cmp rcx, 0x20
jle 0x14001ab85
mov r10, rbp
sub r10, r14
sar r10, 3
mov r9, r10
sar r9, 1
test r9, r9
jle 0x14001acd1
lea r11, [r10 - 1]
sar r11, 1
nop dword [rax + rax]
mov rdi, qword [r14 + r9*8 - 8]
dec r9
mov r8, r9
mov rcx, r9
cmp r9, r11
jge 0x14001ac6d
nop dword [rax]
nop word [rax + rax]
lea rdx, [rcx + rcx]
mov rcx, qword [r14 + rdx*8 + 0x10]
mov rax, qword [r14 + rdx*8 + 8]
movsd xmm0, qword [rcx + 0xa8]
xor ecx, ecx
comisd xmm0, xmmword [rax + 0xa8]
seta cl
xor rcx, 1
inc rcx
add rcx, rdx
mov rax, qword [r14 + rcx*8]
mov qword [r14 + r8*8], rax
mov r8, rcx
cmp rcx, r11
jl 0x14001ac30
cmp rcx, r11
jne 0x14001ac85
test r10b, 1
jne 0x14001ac85
mov rax, qword [r14 + r10*8 - 8]
mov qword [r14 + r8*8], rax
lea r8, [r10 - 1]
lea rax, [r8 - 1]
sar rax, 1
cmp r9, r8
jge 0x14001acc4
movsd xmm1, qword [rdi + 0xa8]
nop dword [rax]
mov rcx, qword [r14 + rax*8]
movsd xmm0, qword [rcx + 0xa8]
comisd xmm0, xmm1
jbe 0x14001acc4
mov qword [r14 + r8*8], rcx
mov r8, rax
dec rax
sar rax, 1
cmp r9, r8
jl 0x14001aca0
mov qword [r14 + r8*8], rdi
test r9, r9
jg 0x14001ac10
cmp r10, 2
jl 0x14001ad6e
add rbp, 0xfffffffffffffff8
mov edi, 8
sub rdi, r14
cmp r10, 2
jl 0x14001ad1a
mov rax, qword [rbp]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x50], rax
mov r8, rbp
mov rax, qword [r14]
sub r8, r14
sar r8, 3
xor edx, edx
mov rcx, r14
mov qword [rbp], rax
mov byte [rsp + 0x20], bl
call fcn.14001a280
sub rbp, 8
lea rax, [rdi + rbp]
sar rax, 3
mov r10, rax
cmp rax, 2
jge 0x14001ace7
jmp 0x14001ad6e
mov rax, rbx
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rax - 8]
sub rax, 8
comisd xmm0, xmmword [rcx + 0xa8]
jbe 0x14001ad5a
mov qword [rdx], rcx
mov rdx, rax
jmp 0x14001ad40
mov qword [rdx], rsi
add rbx, 8
add rdi, 8
cmp rbx, rbp
jne 0x14001abb0
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret