Function at 0x18011d180
Capabilities:
Encrypt data using curve25519

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
mov eax, gethostbyaddr
call fcn.1800b9c10
sub rsp, rax
xor esi, esi
cmp dword [rsp + 0x70], 2
mov ebx, r9d
movsxd r13, r8d
mov r12, rdx
mov rdi, rcx
je 0x18011d2b0
test rcx, rcx
je 0x18011d213
mov r9, rcx
lea rdx, [rsp + 0x20]
xor r8d, r8d
xor ecx, ecx
call fcn.18011ec20
cmp dword [rsp + 0x20], 0xffffffff
je 0x18011d205
call fcn.1800cb1c0
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xaa
call fcn.1800cb230
lea edx, [rsi + 0x66]
lea ecx, [rsi + 0x10]
xor r8d, r8d
call fcn.1800cb480
xor eax, eax
jmp 0x18011d352
mov rcx, qword [rdi]
call fcn.1800d5ab0
test ebx, ebx
jne 0x18011d23c
mov ebx, eax
test r12, r12
je 0x18011d27d
test ebx, ebx
je 0x18011d27d
cmp ebx, 0x40a
je 0x18011d273
cmp ebx, 0x43f
je 0x18011d273
cmp ebx, 0x40b
mov eax, esi
setne al
add eax, 0x38
jmp 0x18011d278
cmp ebx, eax
je 0x18011d213
call fcn.1800cb1c0
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xb0
call fcn.1800cb230
xor r8d, r8d
lea edx, [r8 + 0x66]
lea ecx, [rdx - 0x56]
call fcn.1800cb480
xor eax, eax
jmp 0x18011d352
mov eax, 0x20
cmp r13d, eax
je 0x18011d2b0
call fcn.1800cb1c0
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xb6
call fcn.1800cb230
xor r8d, r8d
lea edx, [r8 + 0x66]
lea ecx, [rdx - 0x56]
call fcn.1800cb480
xor eax, eax
jmp 0x18011d352
mov qword [rsp + 0x50], rbp
mov r8d, 1
cmp ebx, 0x40a
je 0x18011d2dc
cmp ebx, 0x43f
je 0x18011d2dc
mov edx, 3
cmp ebx, 0x40b
cmove edx, r8d
jmp 0x18011d2ea
mov edx, 2
cmp ebx, 0x40a
cmove edx, esi
mov r9, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
call fcn.18011d930
mov rbp, rax
test rax, rax
jne 0x18011d335
call fcn.1800cb1c0
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xbd
call fcn.1800cb230
lea ecx, [rbp + 0x10]
xor r8d, r8d
mov edx, 0xc0100
call fcn.1800cb480
xor eax, eax
jmp 0x18011d34d
cmp dword [rsp + 0x70], esi
jne 0x18011d366
lea rcx, [rax + 0x14]
mov r8, r13
mov rdx, r12
call fcn.1800acfd0
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.18011db10
mov rdi, rax
test rax, rax
jne 0x18011d39d
call fcn.1800cb1c0
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xc7
call fcn.1800cb230
mov edx, 0xc0100
jmp 0x18011d475
cmp dword [rsp + 0x70], 2
jne 0x18011d411
test ebx, ebx
je 0x18011d443
cmp ebx, 0x40a
je 0x18011d3cb
cmp ebx, 0x43f
je 0x18011d3cb
cmp ebx, 0x40b
setne sil
add esi, 0x38
jmp 0x18011d3d0
mov esi, 0x20
mov rcx, qword [rsp + 0x78]
movsxd r8, esi
xor r9d, r9d
mov rdx, rax
call fcn.1800d2ba0
test eax, eax
jle 0x18011d481
cmp ebx, 0x40a
jne 0x18011d400
and byte [rdi], 0xf8
and byte [rdi + 0x1f], 0x3f
or byte [rdi + 0x1f], 0x40
jmp 0x18011d443
cmp ebx, 0x40b
jne 0x18011d443
and byte [rdi], 0xfc
or byte [rdi + 0x37], 0x80
jmp 0x18011d443
cmp ebx, 0x40a
je 0x18011d430
cmp ebx, 0x43f
je 0x18011d430
cmp ebx, 0x40b
setne sil
add esi, 0x38
jmp 0x18011d435
mov esi, 0x20
movsxd r8, esi
mov rdx, r12
mov rcx, rax
call fcn.1800acfd0
mov rcx, rbp
call fcn.18011cd80
test eax, eax
jne 0x18011d34a
call fcn.1800cb1c0
lea r8, str.ossl_ecx_key_op
lea rcx, str.cryptoececx_backend.c
mov edx, 0xdb
call fcn.1800cb230
mov edx, 0xa6
xor r8d, r8d
lea ecx, [r8 + 0x10]
call fcn.1800cb480
mov rcx, rbp
call fcn.18011da60
xor eax, eax
jmp 0x18011d34d