Function at 0x140087a40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov rdi, rcx
mov dword [rcx + 0xf0], send
lea rcx, [rbp - 0x49]
mov rbx, rdx
lea r14, [rbp - 0x49]
lea rsi, [rbp - 0x29]
call fcn.140086c60
movups xmm1, xmmword [rbp - 0x49]
xor r12d, r12d
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 0x29]
mov qword [rbp - 0x31], r12
movups xmmword [rdi], xmm1
mov rax, qword [rbx + 0x10]
mov qword [rbp - 0x39], rax
call fcn.140086c60
lea r15, [rdi + 0x20]
mov qword [rbp + 0x67], r12
movabs rax, 0xf000000000000
mov qword [rbp + 0x6f], r15
mov qword [rbp + 0x77], rax
lea rbx, [0x1401ed180]
mov edi, r12d
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsi]
lea rcx, [rbp - 0x19]
mov qword [rbp - 0x19], rax
xorps xmm0, xmm0
mov rax, qword [rsi + 8]
xorps xmm1, xmm1
mov qword [rbp + 7], rax
mov qword [rbp - 0x11], r12
movdqa xmmword [rbp - 9], xmm0
mov qword [rbp + 0xf], r12
movdqa xmmword [rbp + 0x17], xmm1
call fcn.140088440
lea rcx, [rbp - 0x19]
call fcn.140087f70
lea rcx, [rbp - 0x19]
call fcn.140088440
movzx r13d, byte [rbx + rdi]
mov r11, rsi
mov rax, qword [rbp - 0x19]
lea rbx, [rbp - 0x59]
mov qword [rbp - 0x59], rax
sub rbx, rsi
mov rax, qword [rbp + 7]
mov r10, r14
mov qword [rbp - 0x51], rax
sub r11, r14
movabs rdi, 0xffffffff00000000
mov r15d, 0xfff00000
nop word [rax + rax]
lea r9, [r11 + r10]
movzx ecx, r12b
mov rdx, qword [r9 + rbx]
lea r10, [r10 + 8]
shl cl, 2
mov rax, rdx
and eax, 0xf0000
and rdx, r15
shl rax, 0x10
mov r8, r13
or rax, rdx
shr r8, cl
shl rax, 0xc
and r8d, 0xf
xor r8, qword [r10 - 8]
inc r12
shl r8, 0x20
or r8, qword [r9]
xor r8, rax
mov rax, r8
and rax, rdi
shl rax, 0x10
xor rax, r8
mov qword [r9], rax
shr qword [r10 - 8], 0x20
mov rax, qword [r9]
shl rax, 0x20
or rax, qword [r10 - 8]
mov qword [r10 - 8], rax
movzx ecx, word [r9 + 6]
xor rcx, rax
mov rax, rcx
shl rax, 0x10
xor rax, rcx
shl rax, 0x10
xor rax, rcx
shl rax, 0x10
xor rax, rcx
mov qword [r10 - 8], rax
cmp r12, 2
jb 0x140087b50
mov r15, qword [rbp + 0x6f]
lea rcx, [rbp - 0x19]
movups xmm0, xmmword [rsi]
mov rax, qword [r14]
xor r12d, r12d
mov qword [rbp - 0x19], rax
xorps xmm1, xmm1
mov rax, qword [r14 + 8]
movups xmmword [r15 - 0x10], xmm0
mov qword [rbp - 0x11], r12
movups xmm0, xmmword [r14]
mov qword [rbp + 0xf], r12
movdqa xmmword [rbp + 0x17], xmm1
movups xmmword [r15], xmm0
mov qword [rbp + 7], rax
xorps xmm0, xmm0
movdqa xmmword [rbp - 9], xmm0
call fcn.140088440
lea rcx, [rbp - 0x19]
call fcn.140087f70
lea rcx, [rbp - 0x19]
call fcn.140088440
mov rax, qword [rbp - 0x19]
lea rdx, [rbp - 0x59]
mov rdi, qword [rbp + 0x67]
mov r13, r14
mov qword [rbp - 0x59], rax
mov r10d, r12d
mov rax, qword [rbp + 7]
sub r13, rdx
mov qword [rbp - 0x51], rax
mov r11, r14
lea rax, [0x1401ed181]
sub r11, rsi
movzx r12d, byte [rdi + rax]
mov rax, rsi
nop word [rax + rax]
shr qword [rax], 0x20
lea r9, [rbx + rax]
mov rdx, qword [r9]
lea rax, [rax + 8]
movzx ecx, r10b
mov r8, r12
shl cl, 2
inc r10
shr r8, cl
mov rcx, rdx
and rdx, qword [rbp + 0x77]
and r8d, 0xf
shr rcx, 0x10
or rcx, rdx
shr rcx, 0x24
xor r8, rcx
mov rcx, qword [r11 + rax - 8]
shl rcx, 0x20
or rcx, qword [rax - 8]
xor r8, rcx
mov rcx, r8
shl rcx, 0x10
xor rcx, r8
shl rcx, 0x10
xor rcx, r8
shl rcx, 0x10
xor rcx, r8
mov qword [rax - 8], rcx
shr qword [r11 + rax - 8], 0x20
movzx edx, word [rax - 2]
xor rdx, qword [r11 + rax - 8]
mov rcx, rdx
shl rcx, 0x10
xor rcx, rdx
mov qword [r11 + rax - 8], rcx
mov dword [r9 + r13 + 4], 0
cmp r10, 2
jb 0x140087c80
movups xmm0, xmmword [rsi]
add rdi, 2
lea rbx, [0x1401ed180]
mov rax, r14
mov qword [rbp + 0x67], rdi
movups xmmword [r15 + 0x10], xmm0
add r15, 0x30
mov r14, rsi
mov qword [rbp + 0x6f], r15
mov rsi, rax
mov r12d, 0
cmp rdi, 8
jb 0x140087ad0
mov rbx, qword [rsp + 0xf8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret