Function at 0x1400e2890
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdx
push rbp
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
mov rdi, rdx
movq xmm8, r8
xorps xmm6, xmm6
ucomiss xmm3, xmm6
jp 0x1400e2926
jne 0x1400e2926
call fcn.14008e7c0
lea rdx, [rax + 0x1d80]
test rdx, rdx
je 0x1400e2929
mov qword [rsp + 0x20], 0
mov r9d, 4
lea r8, [rbp + 0x7f]
mov rcx, qword [0x1404dded0]
mov rcx, qword [rcx]
cmp byte [0x1404dcc79], 0
jne 0x1400e2915
call fcn.1401f46d0
test eax, eax
js 0x1400e2929
movss xmm6, dword [rbp + 0x7f]
jmp 0x1400e2929
call 0x140d0b45d
int3
movaps xmm6, xmm3
call fcn.14008e7c0
lea rdx, [rbp - 0x39]
mov rcx, rax
call fcn.1400893d0
call fcn.140082ee0
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
subsd xmm7, qword [rdi + 0xd8]
movss xmm3, dword [0x14030f7dc]
movq r8, xmm8
mov rdx, qword [rbp - 0x39]
lea rcx, [rbp - 0x29]
call fcn.1400cc510
movsd xmm0, qword [rdi + 0x88]
ucomisd xmm0, qword [0x14030f7e0]
jp 0x1400e2980
je 0x1400e2a3d
lea r10, [rdi + 0xe0]
mov rbx, r10
cmp qword [r10 + 0x18], 0xf
jbe 0x1400e2994
mov rbx, qword [r10]
movabs r9, 0xabc29ce444222325
mov r11, r9
movabs r14, 0xfffffe539f
nop dword [rax + rax]
movzx r8d, byte [rbx]
lea rbx, [rbx + 1]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx rax, cl
xor r11, rax
imul r11, r14
test r8b, r8b
jne 0x1400e29b0
movabs rax, 0x3cd86ab6ba085c80
cmp r11, rax
je 0x1400e2ac9
cmp qword [r10 + 0x18], 0xf
jbe 0x1400e2a00
mov r10, qword [r10]
nop word [rax + rax]
movzx r8d, byte [r10]
lea r10, [r10 + 1]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx rax, cl
xor r9, rax
imul r9, r14
test r8b, r8b
jne 0x1400e2a00
movabs rax, 0xe6501ea4346dd4a2
cmp r9, rax
je 0x1400e2ac9
movsd xmm1, qword [rdi + 0x90]
divsd xmm1, xmm0
addsd xmm1, qword [rdi + 0x98]
subsd xmm1, xmm7
subsd xmm1, qword [0x14030ef70]
movsd qword [rbp - 0x21], xmm1
xorps xmm0, xmm0
movsd qword [rbp - 0x19], xmm0
lea rax, [rbp - 0x21]
lea rcx, [rbp - 0x19]
comisd xmm1, xmm0
cmovbe rax, rcx
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
mulsd xmm0, qword [rax]
cvtpd2ps xmm3, xmm0
mov r8, qword [rbp - 0x29]
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 0x39]
call fcn.1401f38b0
movss xmm0, dword [rax + 4]
movss xmm1, dword [rax]
unpcklps xmm1, xmm0
movq rdx, xmm1
lea rcx, [rdi + 0x10]
call fcn.14007f790
test eax, eax
setne bl
mov rcx, rdi
call fcn.14007fc60
movzx eax, bl
jmp 0x1400e2d31
movsd xmm1, qword [rdi + 0x98]
xorps xmm9, xmm9
comisd xmm1, xmm9
jbe 0x1400e2b23
comisd xmm1, xmm7
jb 0x1400e2b23
subsd xmm1, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
mulsd xmm1, xmm0
cvtpd2ps xmm3, xmm1
mov r8, qword [rbp - 0x29]
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 0x39]
call fcn.1401f38b0
movsd xmm0, qword [rax]
movsd qword [rbp - 0x39], xmm0
lea rcx, [rdi + 0x28]
mov rdx, qword [rax]
call fcn.14007f790
test eax, eax
je 0x1400e2d27
movss xmm2, dword [rbp - 0x25]
movss xmm8, dword [rbp - 0x35]
subss xmm2, xmm8
movss xmm1, dword [rbp - 0x29]
movss xmm7, dword [rbp - 0x39]
subss xmm1, xmm7
lea rcx, [rbp + 0x6f]
call fcn.140015a70
lea rdx, [rbp - 0x19]
lea rcx, [rbp + 0x6f]
call fcn.1401f3800
movaps xmm2, xmm6
mov rdx, qword [rax]
lea rcx, [rbp - 0x29]
call fcn.1401f3e90
movsd xmm6, qword [rdi + 0x88]
cvtpd2ps xmm6, xmm6
movsd xmm3, qword [rdi + 0x78]
movsd qword [rbp - 0x39], xmm3
mov eax, dword [rdi + 0x80]
mov dword [rbp - 0x31], eax
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 0x19]
call fcn.1400cc130
movss xmm2, dword [rax + 4]
subss xmm2, dword [rdi + 0x5c]
movss xmm1, dword [rax]
subss xmm1, dword [rdi + 0x58]
lea rcx, [rbp + 0x6f]
call fcn.140015a70
lea rdx, [rbp - 0x21]
lea rcx, [rbp + 0x6f]
call fcn.1401f3800
movss xmm0, dword [rax + 4]
movaps xmm2, xmm6
movss xmm3, dword [rax]
unpcklps xmm3, xmm0
movq rdx, xmm3
lea rcx, [rbp - 0x39]
call fcn.1401f3e90
subss xmm8, dword [rdi + 0x5c]
subss xmm7, dword [rdi + 0x58]
movaps xmm2, xmm8
movaps xmm1, xmm7
lea rcx, [rbp + 0x6f]
call fcn.140015a70
movss xmm2, dword [rbp - 0x25]
subss xmm2, dword [rbp - 0x35]
movss xmm1, dword [rbp - 0x29]
subss xmm1, dword [rbp - 0x39]
lea rcx, [rbp - 0x29]
call fcn.140015a70
movsd xmm3, qword [rbp - 0x29]
movq rdx, xmm3
lea rcx, [rbp - 0x29]
call fcn.1401f3bf0
movaps xmm8, xmm0
movq rdx, xmm3
lea rcx, [rbp + 0x6f]
call fcn.1401f3bf0
movaps xmm7, xmm0
addss xmm7, xmm7
mov rdx, qword [rbp + 0x6f]
lea rcx, [rbp + 0x6f]
call fcn.1401f3bf0
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
movss xmm2, dword [0x14045b97c]
mulss xmm2, dword [0x14030f158]
cvtps2pd xmm0, xmm2
addsd xmm0, qword [rdi + 0xa0]
call fcn.14019d380
subsd xmm6, xmm0
movaps xmm1, xmm7
mulss xmm1, xmm7
xorps xmm2, xmm2
cvtss2sd xmm2, xmm1
movaps xmm0, xmm8
mulss xmm0, dword [0x14030f398]
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm6
subsd xmm2, xmm0
comisd xmm2, xmm9
jb 0x1400e2d27
xorps xmm0, xmm0
ucomisd xmm0, xmm2
ja 0x1400e2cb4
sqrtpd xmm4, xmm2
jmp 0x1400e2cbf
movaps xmm0, xmm2
call fcn.14022f438
movaps xmm4, xmm0
addss xmm8, xmm8
xorps xmm2, xmm2
cvtss2sd xmm2, xmm8
xorps xmm1, xmm1
cvtss2sd xmm1, xmm7
movaps xmm3, xmm4
subsd xmm3, xmm1
divsd xmm3, xmm2
movsd qword [rbp - 9], xmm3
xorps xmm7, xmmword [0x140314cc0]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm7
subsd xmm0, xmm4
divsd xmm0, xmm2
movsd qword [rbp - 0x11], xmm0
lea rax, [rbp - 0x11]
lea rcx, [rbp - 9]
comisd xmm0, xmm3
cmovbe rax, rcx
movsd xmm0, qword [rax]
comisd xmm0, xmm9
setae bl
mov rcx, rdi
call fcn.14007fc60
movzx eax, bl
jmp 0x1400e2d31
mov rcx, rdi
call fcn.14007fc60
xor al, al
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret