Function at 0x180002d7e
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
jmp 0x1800b5aa0
mov r11, rsp
mov qword [r11 + 0x20], rbx
push rbp
push rsi
push r14
lea rbp, [r11 - 0x4f]
sub rsp, 0xa0
mov rax, qword [0x180118258]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r14, r8
mov rbx, rdx
mov rsi, rcx
test r8, r8
je 0x1800b5def
mov rax, qword [rbp + 0x7f]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movzx eax, byte [r9]
mov byte [rbp - 0x49], al
movzx eax, byte [r9 + 1]
mov byte [rbp - 0x48], al
movzx eax, byte [r9 + 2]
mov byte [rbp - 0x47], al
movzx eax, byte [r9 + 3]
mov byte [rbp - 0x46], al
movzx eax, byte [r9 + 4]
mov byte [rbp - 0x45], al
movzx eax, byte [r9 + 5]
mov byte [rbp - 0x44], al
movzx eax, byte [r9 + 6]
mov byte [rbp - 0x43], al
movzx eax, byte [r9 + 7]
mov byte [rbp - 0x42], al
mov rax, qword [rbp + 0x77]
mov byte [rbp - 0x41], al
shr rax, 8
mov byte [rbp - 0x40], al
shr rax, 8
mov byte [rbp - 0x3f], al
shr rax, 8
mov byte [rbp - 0x3e], al
shr rax, 8
mov byte [rbp - 0x3d], al
shr rax, 8
mov byte [rbp - 0x3c], al
shr rax, 8
mov byte [rbp - 0x3b], al
shr rax, 8
mov byte [rbp - 0x3a], al
movups xmmword [rbp + 7], xmm0
movups xmmword [rbp + 0x17], xmm1
cmp r8, 0x40
jb 0x1800b5cbb
mov qword [r11 + 0x10], rdi
lea rdi, [rcx + 0x3f]
mov qword [r11 + 0x18], r15
mov r15, r8
shr r15, 6
imul rax, r15, 0xffffffffffffffc0
add r14, rax
nop dword [rax]
nop dword [rax + rax]
lea r9, [0x1800edf48]
lea r8, [rbp + 7]
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x39]
call fcn.18000379c
lea rax, [rbp + 6]
cmp rsi, rax
ja 0x1800b5bba
lea rax, [rbp - 0x39]
cmp rdi, rax
jae 0x1800b5bc8
lea rax, [rbx + 0x3f]
cmp rsi, rax
ja 0x1800b5bfb
cmp rdi, rbx
jb 0x1800b5bfb
lea rax, [rbp - 0x39]
mov r8d, 0x40
lea rdx, [rbp - 0x29]
mov rcx, rax
sub rcx, rdx
lea r9, [rbp + 6]
movzx edx, byte [rcx + rbx + 0x10]
mov rcx, rax
xor dl, byte [rax]
sub rcx, r9
inc rax
mov byte [rcx + rdi], dl
sub r8, 1
jne 0x1800b5bd2
jmp 0x1800b5c35
movdqu xmm0, xmmword [rbx]
movdqu xmm1, xmmword [rbx + 0x10]
pxor xmm0, xmmword [rbp - 0x39]
pxor xmm1, xmmword [rbp - 0x29]
movdqu xmmword [rsi], xmm0
movdqu xmm0, xmmword [rbx + 0x20]
movdqu xmmword [rdi - 0x2f], xmm1
movdqu xmm1, xmmword [rbx + 0x30]
pxor xmm0, xmmword [rbp - 0x19]
pxor xmm1, xmmword [rbp - 9]
movdqu xmmword [rdi - 0x1f], xmm0
movdqu xmmword [rdi - 0xf], xmm1
movzx eax, byte [rbp - 0x40]
add rsi, 0x40
movzx ecx, byte [rbp - 0x41]
add rdi, 0x40
inc ecx
add rbx, 0x40
mov byte [rbp - 0x41], cl
shr ecx, 8
add ecx, eax
movzx eax, byte [rbp - 0x3f]
mov byte [rbp - 0x40], cl
shr ecx, 8
add ecx, eax
movzx eax, byte [rbp - 0x3e]
mov byte [rbp - 0x3f], cl
shr ecx, 8
add ecx, eax
movzx eax, byte [rbp - 0x3d]
mov byte [rbp - 0x3e], cl
shr ecx, 8
add ecx, eax
movzx eax, byte [rbp - 0x3c]
mov byte [rbp - 0x3d], cl
shr ecx, 8
add ecx, eax
movzx eax, byte [rbp - 0x3b]
mov byte [rbp - 0x3c], cl
shr ecx, 8
add ecx, eax
mov byte [rbp - 0x3b], cl
shr ecx, 8
add byte [rbp - 0x3a], cl
sub r15, 1
jne 0x1800b5b90
mov r15, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xc8]
test r14, r14
je 0x1800b5dd3
lea r9, [0x1800edf48]
lea r8, [rbp + 7]
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x39]
call fcn.18000379c
xor edx, edx
test r14d, r14d
je 0x1800b5dd3
cmp r14d, 0x40
jb 0x1800b5d9c
lea eax, [r14 - 1]
mov ecx, eax
lea r8, [rax + rsi]
lea rax, [rbp - 0x39]
add rax, rcx
cmp rsi, rax
ja 0x1800b5d0b
lea rax, [rbp - 0x39]
cmp r8, rax
jae 0x1800b5d9c
lea rax, [rcx + rbx]
cmp rsi, rax
ja 0x1800b5d1d
cmp r8, rbx
jae 0x1800b5d9c
mov r8d, r14d
and r8d, 0xffffffc0
mov r9d, 0x20
nop word [rax + rax]
movdqu xmm0, xmmword [rbp + rdx - 0x39]
lea eax, [r9 - 0x10]
movdqu xmm1, xmmword [rdx + rbx]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax - 0x39]
movdqu xmmword [rdx + rsi], xmm1
add edx, 0x40
movdqu xmm1, xmmword [rax + rbx]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
mov eax, r9d
movdqu xmm0, xmmword [rbp + rax - 0x39]
movdqu xmm1, xmmword [rax + rbx]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r9 + 0x10]
add r9d, 0x40
movdqu xmm1, xmmword [rax + rbx]
movdqu xmm0, xmmword [rbp + rax - 0x39]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
cmp edx, r8d
jb 0x1800b5d30
cmp edx, r14d
jae 0x1800b5dd3
mov eax, edx
lea rcx, [rbp - 0x39]
add rcx, rax
lea rax, [rbp - 0x39]
sub rbx, rax
lea rax, [rbp - 0x39]
sub rsi, rax
sub r14d, edx
mov r8d, r14d
nop dword [rax]
movzx eax, byte [rbx + rcx]
xor al, byte [rcx]
mov byte [rsi + rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x1800b5dc0
mov edx, 0x40
lea rcx, [rbp - 0x39]
call fcn.1800015a0
mov edx, 0x20
lea rcx, [rbp + 7]
call fcn.1800015a0
xor eax, eax
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.180002752
mov rbx, qword [rsp + 0xd8]
add rsp, 0xa0
pop r14
pop rsi
pop rbp
ret