Function at 0x140043d10
Capabilities:
Encrypt data using curve25519
Hash data using sha256

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x990]
sub rsp, 0xa90
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rax, qword [0x140124190]
xor rax, rsp
mov qword [rbp + 0x980], rax
mov rbx, r9
mov r12d, r8d
mov r15, rdx
mov r14, rcx
mov esi, 0x128
mov rax, qword gs:[0x58]
add rsi, qword [rax]
mov r8d, 0x20
lea rdx, [rbp + 0x940]
mov rcx, rsi
call fcn.14004ec80
and byte [rbp + 0x940], 0xf8
movzx eax, byte [rbp + 0x95f]
and al, 0x3f
or al, 0x40
mov byte [rbp + 0x95f], al
lea rdx, [rbp + 0x940]
lea rcx, [r15 + 0x1c]
call fcn.140056e90
mov r8, rbx
lea rdx, [rbp + 0x940]
lea rcx, [rbp + 0x960]
call fcn.140056e30
mov r8d, 0x20
lea rdx, [rbp + 0x920]
mov rcx, rsi
call fcn.14004ec80
and byte [rbp + 0x920], 0xf8
movzx eax, byte [rbp + 0x93f]
and al, 0x3f
or al, 0x40
mov byte [rbp + 0x93f], al
lea rdx, [rbp + 0x920]
lea rcx, [r15 + 0x1c]
call fcn.140056e90
mov r8, rbx
lea rdx, [rbp + 0x920]
lea rcx, [rbp + 0x960]
call fcn.140056e30
movups xmm1, xmmword [0x140104010]
movaps xmmword [rbp + 0x1a0], xmm1
movups xmm0, xmmword [0x140104020]
movaps xmmword [rbp + 0x1b0], xmm0
movaps xmmword [rbp + 0x1c0], xmm1
movaps xmmword [rbp + 0x1d0], xmm0
xor eax, eax
mov qword [rbp + 0x1e0], rax
mov qword [rbp + 0x1e8], rax
mov qword [rbp + 0x1f0], rax
mov qword [rbp + 0x1f8], rax
mov qword [rbp + 0x200], rax
mov qword [rbp + 0x208], rax
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x218], rax
mov qword [rbp + 0x220], rax
mov word [rbp + 0x228], ax
mov byte [rbp + 0x22a], al
mov byte [rbp + 0x230], al
lea rdx, [rbp + 0x960]
lea rcx, [rbp + 0x1a0]
call fcn.1400069f0
mov rdx, rbx
lea rcx, [rbp + 0x1a0]
call fcn.1400069f0
lea rdx, [r15 + 0x1c]
lea rcx, [rbp + 0x1a0]
call fcn.1400069f0
lea r8, [rbp + 0x960]
lea rcx, [rbp + 0x1a0]
call fcn.140008140
lea rdi, [rbp + 0x920]
xor eax, eax
mov ecx, 0x20
rep stosb byte [rdi], al
lea rdi, [r15 + 0x10]
lea r8d, [rax + 0xc]
mov rdx, rdi
mov rcx, rsi
call fcn.14004ec80
xor edx, edx
mov r8d, 0x248
lea rcx, [rsp + 0x58]
call fcn.1400972d0
lea rcx, [rsp + 0x58]
call fcn.140044020
nop
mov qword [rsp + 0x20], 0xc
mov r9, rdi
mov r8d, 0x20
lea rdx, [rbp + 0x960]
lea rcx, [rsp + 0x58]
call fcn.14004f840
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r14
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0xc
mov qword [rsp + 0x20], rdi
lea r9d, [rax + 0x10]
mov r8, r15
mov rdx, r14
lea rcx, [rsp + 0x58]
call fcn.14005b550
lea rdi, [rbp + 0x940]
xor eax, eax
mov ecx, 0x20
rep stosb byte [rdi], al
lea rdi, [rbp + 0x960]
mov ecx, 0x20
rep stosb byte [rdi], al
lea rax, vtable.CryptoPP::ChaCha20Poly1305_Final_1_.0
mov qword [rsp + 0x58], rax
lea rax, vtable.CryptoPP::ChaCha20Poly1305_Final_1_.1.0
mov qword [rsp + 0x60], rax
lea rax, vtable.CryptoPP::ChaCha20Poly1305_Final_1_.2.0
mov qword [rsp + 0x68], rax
lea rcx, [rbp + 0xa8]
call fcn.140043a20
lea rax, [0x140105428]
mov qword [rbp - 0x30], rax
lea rax, [0x140105318]
mov qword [rbp - 0x28], rax
lea rax, [0x140105098]
mov qword [rbp - 0x20], rax
lea rax, [0x1401051a0]
mov qword [rbp + 0x10], rax
lea rcx, [rbp - 0x30]
call fcn.1400445e0
lea rcx, [rsp + 0x58]
call fcn.140043b40
mov eax, r12d
mov rcx, qword [rbp + 0x980]
xor rcx, rsp
call fcn.140072ef0
add rsp, 0xa90
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret