Function at 0x140043d60
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 [0x140127190]
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.140052320
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.14005a530
mov r8, rbx
lea rdx, [rbp + 0x940]
lea rcx, [rbp + 0x960]
call fcn.14005a4d0
mov r8d, 0x20
lea rdx, [rbp + 0x920]
mov rcx, rsi
call fcn.140052320
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.14005a530
mov r8, rbx
lea rdx, [rbp + 0x920]
lea rcx, [rbp + 0x960]
call fcn.14005a4d0
movups xmm1, xmmword [0x140107010]
movaps xmmword [rbp + 0x1a0], xmm1
movups xmm0, xmmword [0x140107020]
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.1400069d0
mov rdx, rbx
lea rcx, [rbp + 0x1a0]
call fcn.1400069d0
lea rdx, [r15 + 0x1c]
lea rcx, [rbp + 0x1a0]
call fcn.1400069d0
lea r8, [rbp + 0x960]
lea rcx, [rbp + 0x1a0]
call fcn.140008120
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.140052320
xor edx, edx
mov r8d, 0x248
lea rcx, [rsp + 0x58]
call fcn.14009a970
lea rcx, [rsp + 0x58]
call fcn.140044070
nop
mov qword [rsp + 0x20], 0xc
mov r9, rdi
mov r8d, 0x20
lea rdx, [rbp + 0x960]
lea rcx, [rsp + 0x58]
call fcn.140052ee0
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.14005ebf0
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.140043a70
lea rax, [0x140108428]
mov qword [rbp - 0x30], rax
lea rax, [0x140108318]
mov qword [rbp - 0x28], rax
lea rax, [0x140108098]
mov qword [rbp - 0x20], rax
lea rax, [0x1401081a0]
mov qword [rbp + 0x10], rax
lea rcx, [rbp - 0x30]
call fcn.140044630
lea rcx, [rsp + 0x58]
call fcn.140043b90
mov eax, r12d
mov rcx, qword [rbp + 0x980]
xor rcx, rsp
call fcn.140076590
add rsp, 0xa90
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret