Function at 0x14000d710
Capabilities:
Encrypt data using salsa20 or chacha
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
lea r9, [rcx + 0x48]
mov r11, rdx
sub r11, r9
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov r10d, 0x20
nop dword [rax + rax]
movzx eax, byte [r11 + r9]
mov byte [r9], al
lea r9, [r9 + 1]
sub r10, 1
jne 0x14000d740
lea rax, [rcx + 0x68]
mov r9d, 0xc
mov rdx, rax
mov r10d, r9d
sub r8, rax
nop word [rax + rax]
movzx ecx, byte [r8 + rdx]
mov byte [rdx], cl
lea rdx, [rdx + 1]
sub r10, 1
jne 0x14000d770
mov dword [rbx + 0x80], 0x61707865
mov dword [rbx + 0x84], 0x3320646e
mov dword [rbx + 0x88], 0x79622d32
mov dword [rbx + 0x8c], 0x6b206574
movzx ecx, byte [rdi + 2]
movzx edx, byte [rdi + 3]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 1]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi]
shl edx, 8
or edx, ecx
mov dword [rbx + 0x90], edx
movzx ecx, byte [rdi + 6]
movzx edx, byte [rdi + 7]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 5]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 4]
shl edx, 8
or edx, ecx
mov dword [rbx + 0x94], edx
movzx ecx, byte [rdi + 0xa]
movzx edx, byte [rdi + 0xb]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 9]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 8]
shl edx, 8
or edx, ecx
mov dword [rbx + 0x98], edx
movzx ecx, byte [rdi + 0xe]
movzx edx, byte [rdi + 0xf]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 0xd]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 0xc]
shl edx, 8
or edx, ecx
mov dword [rbx + 0x9c], edx
movzx ecx, byte [rdi + 0x12]
movzx edx, byte [rdi + 0x13]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 0x11]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 0x10]
shl edx, 8
or edx, ecx
mov dword [rbx + 0xa0], edx
movzx ecx, byte [rdi + 0x16]
movzx edx, byte [rdi + 0x17]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 0x15]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 0x14]
shl edx, 8
or edx, ecx
mov dword [rbx + 0xa4], edx
movzx ecx, byte [rdi + 0x1a]
movzx edx, byte [rdi + 0x1b]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 0x19]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 0x18]
shl edx, 8
or edx, ecx
mov dword [rbx + 0xa8], edx
movzx ecx, byte [rdi + 0x1e]
movzx edx, byte [rdi + 0x1f]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 0x1d]
shl edx, 8
or edx, ecx
movzx ecx, byte [rdi + 0x1c]
shl edx, 8
or edx, ecx
mov dword [rbx + 0xb0], r10d
mov dword [rbx + 0xac], edx
movzx ecx, byte [rsi + 2]
movzx edx, byte [rsi + 3]
shl edx, 8
or edx, ecx
movzx ecx, byte [rsi + 1]
shl edx, 8
or edx, ecx
movzx ecx, byte [rsi]
shl edx, 8
or edx, ecx
mov dword [rbx + 0xb4], edx
movzx ecx, byte [rsi + 6]
movzx edx, byte [rsi + 7]
shl edx, 8
or edx, ecx
movzx ecx, byte [rsi + 5]
shl edx, 8
or edx, ecx
movzx ecx, byte [rsi + 4]
shl edx, 8
or edx, ecx
mov dword [rbx + 0xb8], edx
movzx ecx, byte [rsi + 0xa]
movzx edx, byte [rsi + 0xb]
shl edx, 8
or edx, ecx
movzx ecx, byte [rsi + 9]
shl edx, 8
or edx, ecx
movzx ecx, byte [rsi + 8]
shl edx, 8
or edx, ecx
mov dword [rbx + 0xbc], edx
nop word [rax + rax]
movzx ecx, byte [r8 + rax]
mov byte [rax], cl
lea rax, [rax + 1]
sub r9, 1
jne 0x14000d950
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret