Function at 0x1400e3280
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov rdi, rdx
mov r13, rcx
lea r10, [rdx + 0xe0]
cmp qword [r10 + 0x18], 0xf
jbe 0x1400e32c7
mov r10, qword [r10]
movabs r9, 0xabc29ce444222325
mov rbx, r9
movabs r11, 0xfffffe539f
nop
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 rbx, rax
imul rbx, r11
test r8b, r8b
jne 0x1400e32e0
lea r10, [rdi + 0xb8]
cmp qword [r10 + 0x18], 0xf
jbe 0x1400e3320
mov r10, qword [r10]
nop dword [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, r11
test r8b, r8b
jne 0x1400e3320
mov qword [rbp + 0xb0], r9
movsd xmm0, qword [rdi + 0x78]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rdi + 0x80]
mov dword [rsp + 0x48], eax
lea rdx, [rsp + 0x40]
lea rcx, [rdi + 0x60]
call fcn.1401f4220
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
divsd xmm6, qword [rdi + 0x88]
addsd xmm6, qword [rdi + 0xd8]
addsd xmm6, qword [rdi + 0x98]
call fcn.140082ee0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movsd xmm8, qword [0x14030f3d8]
lea rsi, [rdi + 0x90]
comisd xmm6, xmm1
jbe 0x1400e33c6
movsd xmm0, qword [rsi]
lea r15, [rdi + 0x78]
ucomisd xmm0, xmm8
jp 0x1400e33df
jne 0x1400e33df
movsd xmm0, qword [rsi]
ucomisd xmm0, xmm8
jp 0x1400e3e74
jne 0x1400e3e74
lea r15, [rdi + 0x78]
cmp byte [rdi + 0x12e], 0
je 0x1400e367e
movabs rax, 0x92daf717ddcf5447
cmp qword [rbp + 0xb0], rax
jne 0x1400e3662
call fcn.140082ee0
xorps xmm8, xmm8
cvtss2sd xmm8, xmm0
subsd xmm8, qword [rdi + 0xd8]
subsd xmm8, qword [rdi + 0x98]
mulsd xmm8, qword [rdi + 0x88]
lea rdx, [rbp + 0xa8]
lea rcx, [rdi + 0x60]
call fcn.1401f4550
movsd xmm9, qword [rbp + 0xa8]
movsd qword [rbp + 0xb8], xmm9
lea rdx, [rsp + 0x78]
mov rcx, qword [r13 + 0x40]
call fcn.1400893d0
movss xmm6, dword [rax]
movss xmm7, dword [rax + 4]
call fcn.140082ee0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
subsd xmm1, qword [rdi + 0xd8]
unpcklps xmm6, xmm7
comisd xmm1, xmmword [rdi + 0x98]
jbe 0x1400e34b7
cvtpd2ps xmm3, xmm8
movq r8, xmm6
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0xa8]
call fcn.1401f38b0
movss xmm7, dword [rax]
movss xmm8, dword [rax + 4]
movaps xmm9, xmm7
unpcklps xmm9, xmm8
jmp 0x1400e34c8
movss xmm8, dword [rbp + 0xbc]
movss xmm7, dword [rbp + 0xb8]
call fcn.14008e7c0
mov rdx, rax
xor esi, esi
add rdx, 0x280
je 0x1400e3513
lea rcx, [rsp + 0x40]
call fcn.1401f3f30
mov qword [rsp + 0x20], rsi
lea r9d, [rsi + 0xc]
lea r8, [rsp + 0x40]
mov rcx, qword [0x1404dded0]
mov rcx, qword [rcx]
cmp byte [0x1404dcc79], sil
jne 0x1400e350d
call fcn.1401f46d0
jmp 0x1400e3513
call 0x140a0f093
int3
movq rdx, xmm6
lea rcx, [rsp + 0x50]
call fcn.1400cc0f0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x48], eax
lea rdx, [rsp + 0x40]
lea rcx, [rdi + 0x78]
call fcn.1401f4610
test al, al
je 0x1400e35b8
call fcn.14008e7c0
mov rdx, rax
add rdx, 0x280
je 0x1400e3590
lea rcx, [rsp + 0x40]
call fcn.1401f3f30
mov qword [rsp + 0x20], rsi
mov r9d, 0xc
lea r8, [rsp + 0x40]
mov rcx, qword [0x1404dded0]
mov rcx, qword [rcx]
cmp byte [0x1404dcc79], sil
jne 0x1400e358a
call fcn.1401f46d0
jmp 0x1400e3590
push rdi
call 0x140ce8e1b
movq rdx, xmm6
lea rcx, [rsp + 0x50]
call fcn.1400cc0f0
movsd xmm0, qword [rax]
movsd qword [rdi + 0x78], xmm0
mov eax, dword [rax + 8]
mov dword [rdi + 0x80], eax
mov byte [rdi + 0x12c], sil
movss dword [rdi + 0x58], xmm7
movss dword [rdi + 0x5c], xmm8
movsd xmm3, qword [rdi + 0xa0]
cvtpd2ps xmm3, xmm3
movss xmm0, dword [0x14045b97c]
movss dword [rsp + 0x20], xmm0
movq r8, xmm6
movq rdx, xmm9
lea rcx, [rsp + 0x60]
call fcn.1400cc820
lea rcx, [rdi + 0x10]
mov rdx, rax
call fcn.140197250
lea rcx, [rsp + 0x60]
call fcn.140023e80
movss xmm0, dword [0x14045b97c]
mulss xmm0, dword [0x14030f158]
movsd xmm3, qword [rdi + 0xa0]
cvtpd2ps xmm3, xmm3
movss dword [rsp + 0x20], xmm0
movq r8, xmm6
movq rdx, xmm9
lea rcx, [rsp + 0x60]
call fcn.1400cc820
lea rcx, [rdi + 0x40]
mov rdx, rax
call fcn.140197250
lea rcx, [rsp + 0x60]
call fcn.140023e80
movq r8, xmm6
movq rdx, xmm9
jmp 0x1400e3e3d
ucomisd xmm0, xmm8
jp 0x1400e37cf
jne 0x1400e37cf
lea rsi, [rdi + 0x90]
lea r15, [rdi + 0x78]
movsd xmm0, qword [rdi + 0x88]
ucomisd xmm0, qword [0x14030f7e0]
jp 0x1400e3696
je 0x1400e3e91
movsd xmm6, qword [rdi + 0x98]
addsd xmm6, qword [rdi + 0xd8]
call fcn.140082ee0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
comisd xmm1, xmm6
jbe 0x1400e3e91
movabs rax, 0x3cd86ab6ba085c80
cmp rbx, rax
je 0x1400e36de
movabs rax, 0xe6501ea4346dd4a2
cmp rbx, rax
jne 0x1400e3e91
call fcn.140082ee0
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
subsd xmm7, qword [rdi + 0xd8]
subsd xmm7, qword [rdi + 0x98]
mulsd xmm7, qword [rdi + 0x88]
movsd xmm0, qword [rsi]
ucomisd xmm0, xmm8
jp 0x1400e3cd8
jne 0x1400e3cd8
cmp byte [rdi + 0x12f], 0
je 0x1400e3a91
lea rdx, [rbp + 0xa8]
mov rcx, qword [rdi]
call fcn.1400893d0
movsd xmm7, qword [rax]
movsd qword [rbp + 0xa8], xmm7
movsd xmm0, qword [rdi + 0x78]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rdi + 0x80]
mov dword [rsp + 0x48], eax
movsd xmm0, qword [rdi + 0x60]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rdi + 0x68]
mov dword [rsp + 0x58], eax
movss xmm3, dword [0x14030f7f8]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.1400cc5c0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x58], eax
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xb8]
call fcn.1400cc130
movss xmm3, dword [0x14030f6a8]
mov r8, qword [rax]
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0xa8]
call fcn.1401f38b0
movss xmm6, dword [rax]
movss xmm8, dword [rax + 4]
jmp 0x1400e3c30
mov rdx, qword [rdi]
xor esi, esi
add rdx, 0x280
je 0x1400e381d
lea rcx, [rsp + 0x40]
call fcn.1401f3f30
mov qword [rsp + 0x20], rsi
lea r9d, [rsi + 0xc]
lea r8, [rsp + 0x40]
mov rcx, qword [0x1404dded0]
mov rcx, qword [rcx]
cmp byte [0x1404dcc79], sil
jne 0x1400e3813
call fcn.1401f46d0
test eax, eax
jns 0x1400e3827
jmp 0x1400e381d
call 0x14070d95a
int3
lea rcx, [rsp + 0x40]
call fcn.1401f3f30
movsd xmm0, qword [rsp + 0x40]
mov eax, dword [rsp + 0x48]
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xa8]
call fcn.1400cc130
movsd xmm6, qword [rdi + 0x90]
cvtpd2ps xmm6, xmm6
movss xmm0, dword [0x14030eee8]
call fcn.1400811b0
movsd xmm2, qword [rdi + 0x130]
movsd qword [rsp + 0x40], xmm2
mov eax, dword [rdi + 0x138]
mov dword [rsp + 0x48], eax
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xb8]
call fcn.1400cc130
movss xmm5, dword [rbp + 0xac]
movaps xmm2, xmm5
addss xmm2, dword [rax + 4]
movss xmm4, dword [rbp + 0xa8]
movaps xmm1, xmm4
addss xmm1, dword [rax]
lea rcx, [rbp + 0xa8]
call fcn.140015a70
movaps xmm3, xmm0
mov r8, qword [rbp + 0xa8]
movaps xmm7, xmm4
unpcklps xmm7, xmm5
movq rdx, xmm7
lea rcx, [rsp + 0x78]
call fcn.1400ccb00
movss xmm0, dword [rax + 4]
movaps xmm3, xmm6
movss xmm1, dword [rax]
unpcklps xmm1, xmm0
movq r8, xmm1
movq rdx, xmm7
lea rcx, [rbp + 0xa8]
call fcn.1400cc510
mov rbx, qword [rbp + 0xb0]
lea rdx, [rbp + 0xb0]
lea rcx, [0x1404defa0]
call fcn.140196fd0
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.1400e5950
xorps xmm0, xmm0
movsd qword [rsp + 0x38], xmm0
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
movsd xmm6, qword [rbp + 0xa8]
movq r9, xmm6
movq r8, xmm7
lea rdx, [rsp + 0x60]
mov rcx, r13
call fcn.1400ddf50
nop
call fcn.14008e7c0
lea rdx, [rax + 0x280]
test rdx, rdx
je 0x1400e39a5
lea rcx, [rsp + 0x40]
call fcn.1401f3f30
mov qword [rsp + 0x20], rsi
mov r9d, 0xc
lea r8, [rsp + 0x40]
mov rcx, qword [0x1404dded0]
mov rcx, qword [rcx]
cmp byte [0x1404dcc79], 0
jne 0x1400e399f
call fcn.1401f46d0
jmp 0x1400e39a5
call 0x140738047
int3
movq rdx, xmm6
lea rcx, [rsp + 0x50]
call fcn.1400cc0f0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x48], eax
lea rdx, [rsp + 0x40]
lea rcx, [rdi + 0x78]
call fcn.1401f4610
test al, al
je 0x1400e3a4a
call fcn.14008e7c0
lea rdx, [rax + 0x280]
test rdx, rdx
je 0x1400e3a22
lea rcx, [rsp + 0x40]
call fcn.1401f3f30
mov qword [rsp + 0x20], rsi
mov r9d, 0xc
lea r8, [rsp + 0x40]
mov rcx, qword [0x1404dded0]
mov rcx, qword [rcx]
cmp byte [0x1404dcc79], 0
jne 0x1400e3a1c
call fcn.1401f46d0
jmp 0x1400e3a22
call 0x1409a2efd
int3
movq rdx, xmm6
lea rcx, [rsp + 0x50]
call fcn.1400cc0f0
movsd xmm0, qword [rax]
movsd qword [rdi + 0x78], xmm0
mov eax, dword [rax + 8]
mov dword [rdi + 0x80], eax
mov byte [rdi + 0x12c], 0
movsd qword [rdi + 0x58], xmm7
lea rcx, [rdi + 0x10]
mov rdx, qword [rsp + 0x60]
call fcn.140197e30
mov rdx, qword [rsp + 0x60]
add rdx, 0x18
lea rcx, [rdi + 0x28]
call fcn.140197e30
mov rdx, qword [rsp + 0x60]
add rdx, 0x30
lea rcx, [rdi + 0x40]
call fcn.140197e30
nop
lea rcx, [rsp + 0x60]
call fcn.14019b310
jmp 0x1400e3e91
movsd xmm0, qword [rdi + 0x60]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rdi + 0x68]
mov dword [rsp + 0x58], eax
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xa8]
call fcn.1400cc130
mov rbx, rax
movsd xmm0, qword [rdi + 0x78]
movsd qword [rsp + 0x50], xmm0
mov ecx, dword [rdi + 0x80]
mov dword [rsp + 0x58], ecx
movsd xmm0, qword [rdi + 0x60]
movsd qword [rsp + 0x40], xmm0
mov ecx, dword [rdi + 0x68]
mov dword [rsp + 0x48], ecx
movss xmm6, dword [0x14030f7f8]
movaps xmm3, xmm6
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.1400cc5c0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x58], eax
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xb8]
call fcn.1400cc130
movss xmm0, dword [rax + 4]
cvtpd2ps xmm3, xmm7
movss xmm1, dword [rax]
unpcklps xmm1, xmm0
movq r8, xmm1
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.1401f38b0
movsd xmm7, qword [rax]
movsd qword [rbp + 0xa8], xmm7
movsd xmm0, qword [r15]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [r15 + 8]
mov dword [rsp + 0x58], eax
movsd xmm0, qword [rdi + 0x60]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rdi + 0x68]
mov dword [rsp + 0x48], eax
movaps xmm3, xmm6
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.1400cc5c0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x58], eax
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xb8]
call fcn.1400cc130
movss xmm3, dword [0x14030f6a8]
mov r8, qword [rax]
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0xa8]
call fcn.1401f38b0
movss xmm6, dword [rax]
movss xmm8, dword [rax + 4]
movabs rax, 0x8ff8f0fb7b7152ec
cmp qword [rbp + 0xb0], rax
jne 0x1400e3c30
movsd xmm0, qword [rdi + 0x60]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rdi + 0x68]
mov dword [rsp + 0x58], eax
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xb8]
call fcn.1400cc130
mov rdx, qword [rax]
lea rcx, [rbp + 0xa8]
call fcn.1401f3990
comiss xmm0, dword [0x14030f684]
jbe 0x1400e3c30
movabs rax, 0x40a1300000000000
mov qword [rdi + 0x88], rax
movsd qword [rdi + 0x58], xmm7
movsd xmm3, qword [rdi + 0xa0]
cvtpd2ps xmm3, xmm3
movss xmm0, dword [0x14045b97c]
movss dword [rsp + 0x20], xmm0
unpcklps xmm6, xmm8
movq r8, xmm6
movq rdx, xmm7
lea rcx, [rsp + 0x60]
call fcn.1400cc820
lea rcx, [rdi + 0x10]
mov rdx, rax
call fcn.140197250
lea rcx, [rsp + 0x60]
call fcn.140023e80
movss xmm0, dword [0x14045b97c]
mulss xmm0, dword [0x14030f158]
movsd xmm3, qword [rdi + 0xa0]
cvtpd2ps xmm3, xmm3
movss dword [rsp + 0x20], xmm0
movq r8, xmm6
movq rdx, xmm7
lea rcx, [rsp + 0x60]
call fcn.1400cc820
lea rcx, [rdi + 0x40]
mov rdx, rax
call fcn.140197250
lea rcx, [rsp + 0x60]
call fcn.140023e80
movq r8, xmm6
movq rdx, xmm7
jmp 0x1400e3e3d
movsd xmm0, qword [rdi + 0x78]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rdi + 0x80]
mov dword [rsp + 0x58], eax
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xa8]
call fcn.1400cc130
cmp byte [rdi + 0x12f], 0
je 0x1400e3d18
lea rdx, [rbp + 0xb8]
mov rcx, qword [rdi]
call fcn.1400893d0
jmp 0x1400e3d82
movsd xmm0, qword [rdi + 0x60]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rdi + 0x68]
mov dword [rsp + 0x58], eax
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xb8]
call fcn.1400cc130
mov r9, rax
movsd xmm0, qword [r15]
movsd qword [rsp + 0x50], xmm0
mov ecx, dword [r15 + 8]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x78]
call fcn.1400cc130
movss xmm0, dword [rax + 4]
cvtpd2ps xmm3, xmm7
movss xmm1, dword [rax]
unpcklps xmm1, xmm0
movq r8, xmm1
lea rdx, [rsp + 0x40]
mov rcx, r9
call fcn.1401f38b0
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax]
mov eax, dword [rax]
mov dword [rdi + 0x58], eax
movss dword [rdi + 0x5c], xmm1
movsd xmm3, qword [rdi + 0xa0]
cvtpd2ps xmm3, xmm3
movss xmm0, dword [0x14045b97c]
movss dword [rsp + 0x20], xmm0
movsd xmm7, qword [rbp + 0xa8]
movq r8, xmm7
movaps xmm6, xmm2
unpcklps xmm6, xmm1
movq rdx, xmm6
lea rcx, [rsp + 0x60]
call fcn.1400cc820
lea rcx, [rdi + 0x10]
mov rdx, rax
call fcn.140197250
lea rcx, [rsp + 0x60]
call fcn.140023e80
movss xmm0, dword [0x14045b97c]
mulss xmm0, dword [0x14030f158]
movsd xmm3, qword [rdi + 0xa0]
cvtpd2ps xmm3, xmm3
movss dword [rsp + 0x20], xmm0
movq r8, xmm7
movq rdx, xmm6
lea rcx, [rsp + 0x60]
call fcn.1400cc820
lea rcx, [rdi + 0x40]
mov rdx, rax
call fcn.140197250
lea rcx, [rsp + 0x60]
call fcn.140023e80
movq r8, xmm7
movq rdx, xmm6
movsd xmm3, qword [rdi + 0xa0]
xorps xmm0, xmm0
cvtpd2ps xmm3, xmm3
movss dword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x60]
call fcn.1400cc820
lea rcx, [rdi + 0x28]
mov rdx, rax
call fcn.140197250
lea rcx, [rsp + 0x60]
call fcn.140023e80
jmp 0x1400e3e91
cmp byte [rdi + 0x11b], 0
jne 0x1400e3e91
mov byte [rdi + 0x11b], 1
call fcn.140082ee0
movss dword [rdi + 0x11c], xmm0
xor al, al
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret