Function at 0x1401b1e30
Capabilities:
Encrypt data using curve25519

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
mov eax, gethostbyname
call fcn.1402563f0
sub rsp, rax
xor esi, esi
cmp dword [rsp + 0x70], 2
mov ebx, r9d
movsxd r13, r8d
mov r12, rdx
mov rdi, rcx
je 0x1401b1f60
test rcx, rcx
je 0x1401b1ec3
mov r9, rcx
lea rdx, [rsp + 0x20]
xor r8d, r8d
xor ecx, ecx
call fcn.1400f6400
cmp dword [rsp + 0x20], 0xffffffff
je 0x1401b1eb5
call fcn.1400baf40
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xad
call fcn.1400bafb0
lea edx, [rsi + 0x66]
lea ecx, [rsi + 0x10]
xor r8d, r8d
call fcn.1400bb200
xor eax, eax
jmp 0x1401b2002
mov rcx, qword [rdi]
call fcn.1400bcee0
test ebx, ebx
jne 0x1401b1eec
mov ebx, eax
test r12, r12
je 0x1401b1f2d
test ebx, ebx
je 0x1401b1f2d
cmp ebx, 0x40a
je 0x1401b1f23
cmp ebx, 0x43f
je 0x1401b1f23
cmp ebx, 0x40b
mov eax, esi
setne al
add eax, 0x38
jmp 0x1401b1f28
cmp ebx, eax
je 0x1401b1ec3
call fcn.1400baf40
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xb3
call fcn.1400bafb0
xor r8d, r8d
lea edx, [r8 + 0x66]
lea ecx, [rdx - 0x56]
call fcn.1400bb200
xor eax, eax
jmp 0x1401b2002
mov eax, 0x20
cmp r13d, eax
je 0x1401b1f60
call fcn.1400baf40
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xb9
call fcn.1400bafb0
xor r8d, r8d
lea edx, [r8 + 0x66]
lea ecx, [rdx - 0x56]
call fcn.1400bb200
xor eax, eax
jmp 0x1401b2002
mov qword [rsp + 0x50], rbp
mov r8d, 1
cmp ebx, 0x40a
je 0x1401b1f8c
cmp ebx, 0x43f
je 0x1401b1f8c
mov edx, 3
cmp ebx, 0x40b
cmove edx, r8d
jmp 0x1401b1f9a
mov edx, 2
cmp ebx, 0x40a
cmove edx, esi
mov r9, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
call fcn.14011f620
mov rbp, rax
test rax, rax
jne 0x1401b1fe5
call fcn.1400baf40
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xc0
call fcn.1400bafb0
lea ecx, [rbp + 0x10]
xor r8d, r8d
mov edx, 0xc0100
call fcn.1400bb200
xor eax, eax
jmp 0x1401b1ffd
cmp dword [rsp + 0x70], esi
jne 0x1401b2016
lea rcx, [rax + 0x14]
mov r8, r13
mov rdx, r12
call fcn.140255100
mov rax, rbp
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r13
pop r12
pop rdi
ret
mov rcx, rax
call fcn.14011f800
mov rdi, rax
test rax, rax
jne 0x1401b204d
call fcn.1400baf40
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xca
call fcn.1400bafb0
mov edx, 0xc0100
jmp 0x1401b2125
cmp dword [rsp + 0x70], 2
jne 0x1401b20c1
test ebx, ebx
je 0x1401b20f3
cmp ebx, 0x40a
je 0x1401b207b
cmp ebx, 0x43f
je 0x1401b207b
cmp ebx, 0x40b
setne sil
add esi, 0x38
jmp 0x1401b2080
mov esi, 0x20
mov rcx, qword [rsp + 0x78]
movsxd r8, esi
xor r9d, r9d
mov rdx, rax
call fcn.1400ec7a0
test eax, eax
jle 0x1401b2131
cmp ebx, 0x40a
jne 0x1401b20b0
and byte [rdi], 0xf8
and byte [rdi + 0x1f], 0x3f
or byte [rdi + 0x1f], 0x40
jmp 0x1401b20f3
cmp ebx, 0x40b
jne 0x1401b20f3
and byte [rdi], 0xfc
or byte [rdi + 0x37], 0x80
jmp 0x1401b20f3
cmp ebx, 0x40a
je 0x1401b20e0
cmp ebx, 0x43f
je 0x1401b20e0
cmp ebx, 0x40b
setne sil
add esi, 0x38
jmp 0x1401b20e5
mov esi, 0x20
movsxd r8, esi
mov rdx, r12
mov rcx, rax
call fcn.140255100
mov rcx, rbp
call fcn.1401b1a30
test eax, eax
jne 0x1401b1ffa
call fcn.1400baf40
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xde
call fcn.1400bafb0
mov edx, 0xa6
xor r8d, r8d
lea ecx, [r8 + 0x10]
call fcn.1400bb200
mov rcx, rbp
call fcn.14011f750
xor eax, eax
jmp 0x1401b1ffd