Function at 0x1401b1de0
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.1402563a0
sub rsp, rax
xor esi, esi
cmp dword [rsp + 0x70], 2
mov ebx, r9d
movsxd r13, r8d
mov r12, rdx
mov rdi, rcx
je 0x1401b1f10
test rcx, rcx
je 0x1401b1e73
mov r9, rcx
lea rdx, [rsp + 0x20]
xor r8d, r8d
xor ecx, ecx
call fcn.1400f63b0
cmp dword [rsp + 0x20], 0xffffffff
je 0x1401b1e65
call fcn.1400baef0
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xad
call fcn.1400baf60
lea edx, [rsi + 0x66]
lea ecx, [rsi + 0x10]
xor r8d, r8d
call fcn.1400bb1b0
xor eax, eax
jmp 0x1401b1fb2
mov rcx, qword [rdi]
call fcn.1400bce90
test ebx, ebx
jne 0x1401b1e9c
mov ebx, eax
test r12, r12
je 0x1401b1edd
test ebx, ebx
je 0x1401b1edd
cmp ebx, 0x40a
je 0x1401b1ed3
cmp ebx, 0x43f
je 0x1401b1ed3
cmp ebx, 0x40b
mov eax, esi
setne al
add eax, 0x38
jmp 0x1401b1ed8
cmp ebx, eax
je 0x1401b1e73
call fcn.1400baef0
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xb3
call fcn.1400baf60
xor r8d, r8d
lea edx, [r8 + 0x66]
lea ecx, [rdx - 0x56]
call fcn.1400bb1b0
xor eax, eax
jmp 0x1401b1fb2
mov eax, 0x20
cmp r13d, eax
je 0x1401b1f10
call fcn.1400baef0
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xb9
call fcn.1400baf60
xor r8d, r8d
lea edx, [r8 + 0x66]
lea ecx, [rdx - 0x56]
call fcn.1400bb1b0
xor eax, eax
jmp 0x1401b1fb2
mov qword [rsp + 0x50], rbp
mov r8d, 1
cmp ebx, 0x40a
je 0x1401b1f3c
cmp ebx, 0x43f
je 0x1401b1f3c
mov edx, 3
cmp ebx, 0x40b
cmove edx, r8d
jmp 0x1401b1f4a
mov edx, 2
cmp ebx, 0x40a
cmove edx, esi
mov r9, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
call fcn.14011f5d0
mov rbp, rax
test rax, rax
jne 0x1401b1f95
call fcn.1400baef0
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xc0
call fcn.1400baf60
lea ecx, [rbp + 0x10]
xor r8d, r8d
mov edx, 0xc0100
call fcn.1400bb1b0
xor eax, eax
jmp 0x1401b1fad
cmp dword [rsp + 0x70], esi
jne 0x1401b1fc6
lea rcx, [rax + 0x14]
mov r8, r13
mov rdx, r12
call fcn.1402550b0
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.14011f7b0
mov rdi, rax
test rax, rax
jne 0x1401b1ffd
call fcn.1400baef0
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xca
call fcn.1400baf60
mov edx, 0xc0100
jmp 0x1401b20d5
cmp dword [rsp + 0x70], 2
jne 0x1401b2071
test ebx, ebx
je 0x1401b20a3
cmp ebx, 0x40a
je 0x1401b202b
cmp ebx, 0x43f
je 0x1401b202b
cmp ebx, 0x40b
setne sil
add esi, 0x38
jmp 0x1401b2030
mov esi, 0x20
mov rcx, qword [rsp + 0x78]
movsxd r8, esi
xor r9d, r9d
mov rdx, rax
call fcn.1400ec750
test eax, eax
jle 0x1401b20e1
cmp ebx, 0x40a
jne 0x1401b2060
and byte [rdi], 0xf8
and byte [rdi + 0x1f], 0x3f
or byte [rdi + 0x1f], 0x40
jmp 0x1401b20a3
cmp ebx, 0x40b
jne 0x1401b20a3
and byte [rdi], 0xfc
or byte [rdi + 0x37], 0x80
jmp 0x1401b20a3
cmp ebx, 0x40a
je 0x1401b2090
cmp ebx, 0x43f
je 0x1401b2090
cmp ebx, 0x40b
setne sil
add esi, 0x38
jmp 0x1401b2095
mov esi, 0x20
movsxd r8, esi
mov rdx, r12
mov rcx, rax
call fcn.1402550b0
mov rcx, rbp
call fcn.1401b19e0
test eax, eax
jne 0x1401b1faa
call fcn.1400baef0
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xde
call fcn.1400baf60
mov edx, 0xa6
xor r8d, r8d
lea ecx, [r8 + 0x10]
call fcn.1400bb1b0
mov rcx, rbp
call fcn.14011f700
xor eax, eax
jmp 0x1401b1fad