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

Disassembly:
push rbp
sub rsp, 0x120
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xb0], rcx
mov qword [rbp + 0xb8], rdx
mov qword [rbp + 0xc0], r8
mov qword [rbp + 0xc8], r9
mov rdx, qword [str.expand_32_byte_k]
lea rax, [rbp + 0x20]
mov r8d, 4
mov rcx, rax
call fcn.245861519
lea rax, [rbp + 0x20]
add rax, 0x10
mov rdx, qword [rbp + 0xc8]
mov r8d, 8
mov rcx, rax
call fcn.245861519
lea rax, [rbp + 0x20]
add rax, 0x38
mov rdx, qword [rbp + 0xd0]
mov r8d, 2
mov rcx, rax
call fcn.245861519
mov rax, qword [rbp + 0xd8]
mov dword [rbp + 0x50], eax
mov rax, qword [rbp + 0xd8]
shr rax, 0x20
mov dword [rbp + 0x54], eax
mov rax, qword [rbp + 0xc0]
shr rax, 6
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x98], 0
jmp 0x24586208d
lea rdx, [rbp + 0x20]
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.2458618f0
cmp qword [rbp + 0xb8], 0
je 0x245862018
mov qword [rbp + 0x90], 0
jmp 0x24586200c
mov rax, qword [rbp + 0x90]
mov edx, dword [rbp + rax*4 - 0x20]
mov rax, qword [rbp + 0x90]
mov eax, dword [rbp + rax*4 + 0x20]
add eax, edx
mov dword [rbp + 0x68], eax
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call fcn.2458613fd
xor eax, dword [rbp + 0x68]
mov edx, eax
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call fcn.245861487
add qword [rbp + 0xb0], 4
add qword [rbp + 0xb8], 4
add qword [rbp + 0x90], 1
cmp qword [rbp + 0x90], 0xf
jbe 0x245861fb6
jmp 0x24586206c
mov qword [rbp + 0x88], 0
jmp 0x245862062
mov rax, qword [rbp + 0x88]
mov edx, dword [rbp + rax*4 - 0x20]
mov rax, qword [rbp + 0x88]
mov eax, dword [rbp + rax*4 + 0x20]
add eax, edx
mov dword [rbp + 0x6c], eax
mov edx, dword [rbp + 0x6c]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call fcn.245861487
add qword [rbp + 0xb0], 4
add qword [rbp + 0x88], 1
cmp qword [rbp + 0x88], 0xf
jbe 0x245862025
mov eax, dword [rbp + 0x50]
add eax, 1
mov dword [rbp + 0x50], eax
mov eax, dword [rbp + 0x50]
test eax, eax
jne 0x245862085
mov eax, dword [rbp + 0x54]
add eax, 1
mov dword [rbp + 0x54], eax
add qword [rbp + 0x98], 1
mov rax, qword [rbp + 0x98]
cmp rax, qword [rbp + 0x70]
jb 0x245861f8f
and qword [rbp + 0xc0], 0x3f
cmp qword [rbp + 0xc0], 0
je 0x245862193
cmp qword [rbp + 0xb8], 0
jne 0x2458620cc
lea rax, [section..rdata]
mov qword [rbp + 0xb8], rax
lea rdx, [rbp + 0x20]
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.2458618f0
mov qword [rbp + 0x80], 0
jmp 0x245862127
mov rax, qword [rbp + 0x80]
mov edx, dword [rbp + rax*4 - 0x20]
mov rax, qword [rbp + 0x80]
mov eax, dword [rbp + rax*4 + 0x20]
add edx, eax
mov rax, qword [rbp + 0x80]
lea rcx, [rax*4]
lea rax, [rbp - 0x60]
add rax, rcx
mov rcx, rax
call fcn.245861487
add qword [rbp + 0x80], 1
cmp qword [rbp + 0x80], 0xf
jbe 0x2458620e9
mov qword [rbp + 0x78], 0
jmp 0x245862175
lea rdx, [rbp - 0x60]
mov rax, qword [rbp + 0x78]
add rax, rdx
movzx r8d, byte [rax]
mov rdx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0x78]
add rax, rdx
movzx ecx, byte [rax]
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0x78]
add rax, rdx
mov edx, r8d
xor edx, ecx
mov byte [rax], dl
add qword [rbp + 0x78], 1
mov rax, qword [rbp + 0x78]
cmp rax, qword [rbp + 0xc0]
jb 0x24586213b
lea rax, [rbp - 0x60]
mov edx, 0x40
mov rcx, rax
call fcn.2458618a9
mov eax, dword [rbp + 0x50]
mov edx, eax
mov eax, dword [rbp + 0x54]
mov eax, eax
shl rax, 0x20
add rdx, rax
cmp qword [rbp + 0xc0], 0
setne al
movzx eax, al
add rax, rdx
mov qword [rbp + 0xd8], rax
lea rax, [rbp - 0x20]
mov edx, 0x40
mov rcx, rax
call fcn.2458618a9
lea rax, [rbp + 0x20]
mov edx, 0x40
mov rcx, rax
call fcn.2458618a9
mov rax, qword [rbp + 0xd8]
add rsp, 0x120
pop rbp
ret