Function at 0x14001b760
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
movaps xmmword [rax - 0x48], xmm6
mov r12, rcx
movaps xmmword [rax - 0x58], xmm7
mov rcx, rdx
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rsp + 0x60], xmm10
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm12
movaps xmmword [rsp + 0x30], xmm13
movaps xmmword [rsp + 0x20], xmm14
call fcn.140019f14
mov r14, rax
call fcn.14001a14c
mov rbx, rax
mov esi, 8
mov eax, dword [rax + 0x20]
add eax, dword [r14 + 0x20]
mov edi, dword [rbx + 0x24]
cmp eax, edi
jle 0x14001b7f6
test edi, edi
cmove edi, esi
jmp 0x14001b7df
add edi, edi
cmp edi, eax
jl 0x14001b7dd
mov rcx, qword [rbx + 0x18]
movsxd rdx, edi
call sub.msvcrt.dll_realloc
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x24], edi
mov edx, dword [rbx + 0x30]
add edx, dword [r14 + 0x30]
mov edi, dword [rbx + 0x34]
cmp edx, edi
jle 0x14001b83a
test edi, edi
cmove edi, esi
jmp 0x14001b80d
add edi, edi
cmp edi, edx
jl 0x14001b80b
movsxd rcx, edi
mov eax, 0x10
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, qword [rbx + 0x28]
mov rdx, rax
call sub.msvcrt.dll_realloc
mov qword [rbx + 0x28], rax
mov dword [rbx + 0x34], edi
mov r8, qword [r12 + 8]
xor ebp, ebp
movsd xmm6, qword [r12]
mov eax, 1
mov dword [rsp + 0x100], eax
comisd xmm6, xmmword [r8]
jb 0x14001b8a5
movsxd r9, dword [r12 + 0x10]
xor edx, edx
mov r12d, eax
subsd xmm6, qword [r8 + rdx*8]
lea rcx, [rdx + 1]
xor r12d, 1
xor edx, edx
lea eax, [rbp + 1]
cmp rcx, r9
cmovne rdx, rcx
xor ebp, ebp
cmp rcx, r9
cmovne ebp, eax
comisd xmm6, xmmword [r8 + rdx*8]
jae 0x14001b864
mov dword [rsp + 0x100], r12d
mov eax, dword [rsp + 0x100]
mov r12, qword [rsp + 0xf0]
mov rdi, qword [r14 + 0x18]
movsxd r15, dword [r14 + 0x20]
mov rsi, qword [r14 + 0x28]
add r15, rdi
cmp rdi, r15
jae 0x14001ba5b
xorps xmm14, xmm14
movsd xmm7, qword [rsi]
movaps xmm10, xmm6
movsd xmm8, qword [rsi + 8]
movsxd rcx, ebp
mov dword [rsp + 0xf0], eax
mov r13, rcx
mov dword [rsp + 0x108], ebp
test eax, eax
je 0x14001b8f6
movaps xmm2, xmm8
movaps xmm1, xmm7
mov rcx, rbx
call fcn.14001a458
add rsi, 0x10
inc rdi
cmp rdi, r15
jae 0x14001ba5b
cmp byte [rdi], 1
jne 0x14001ba4f
movsd xmm12, qword [rsi]
movsd xmm13, qword [rsi + 8]
subsd xmm12, xmm7
subsd xmm13, xmm8
movaps xmm1, xmm12
movaps xmm0, xmm13
mulsd xmm1, xmm12
mulsd xmm0, xmm13
addsd xmm0, xmm1
call sub.msvcrt.dll_sqrt
mov rcx, qword [r12 + 8]
movaps xmm2, xmm0
mov edx, dword [rsp + 0xf0]
subsd xmm2, xmm14
movaps xmm9, xmm0
movaps xmm11, xmm14
movsd xmm1, qword [rcx + r13*8]
subsd xmm1, xmm10
comisd xmm2, xmm1
jbe 0x14001ba1f
movsd xmm0, qword [rcx + r13*8]
mov rcx, rbx
subsd xmm0, xmm10
addsd xmm11, xmm0
movaps xmm2, xmm11
divsd xmm2, xmm9
movaps xmm1, xmm2
mulsd xmm2, xmm13
mulsd xmm1, xmm12
addsd xmm2, xmm8
addsd xmm1, xmm7
test edx, edx
je 0x14001b9ad
call fcn.14001a374
jmp 0x14001b9b2
call fcn.14001a458
mov ecx, dword [rsp + 0x108]
xor eax, eax
cmp dword [rsp + 0xf0], eax
movaps xmm1, xmm9
subsd xmm1, xmm11
movaps xmm10, xmm14
sete al
inc ecx
mov edx, eax
mov dword [rsp + 0xf0], eax
lea rax, [r13 + 1]
xor r13d, r13d
cmp ecx, dword [r12 + 0x10]
cmovne r13, rax
xor eax, eax
cmp ecx, dword [r12 + 0x10]
cmovne eax, ecx
mov rcx, qword [r12 + 8]
mov dword [rsp + 0x108], eax
movsd xmm0, qword [rcx + r13*8]
subsd xmm0, xmm14
comisd xmm1, xmm0
ja 0x14001b970
mov dword [rsp + 0x108], eax
movsd xmm7, qword [rsi]
subsd xmm9, xmm11
movsd xmm8, qword [rsi + 8]
addsd xmm10, xmm9
test edx, edx
je 0x14001b8f6
movaps xmm2, xmm8
movaps xmm1, xmm7
mov rcx, rbx
call fcn.14001a374
jmp 0x14001b8f6
mov eax, dword [rsp + 0x100]
jmp 0x14001b8c1
mov rcx, r14
call fcn.14001a2e4
movaps xmm14, xmmword [rsp + 0x20]
lea r11, [rsp + 0xb0]
movaps xmm6, xmmword [r11 - 0x10]
mov rax, rbx
mov rbx, qword [r11 + 0x48]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret