Function at 0x1400c4660
Capabilities:
Encrypt data using curve25519

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rdi
push r13
push r14
push r15
mov eax, 0x40
call fcn.140162e70
sub rsp, rax
movsxd rbx, dword [rsp + 0x80]
lea r14d, [rax - 0x20]
xor ebp, ebp
mov r15, r9
cmp dword [rsp + 0x88], 2
mov edi, edx
mov r13, rcx
je 0x1400c471f
test r8, r8
je 0x1400c46e9
mov r9, r8
lea rdx, [rsp + 0x30]
xor r8d, r8d
xor ecx, ecx
call fcn.1400eabf0
cmp dword [rsp + 0x30], 0xffffffff
je 0x1400c46e9
mov dword [rsp + 0x20], 0x3b
mov ecx, 0x10
lea r9, str.cryptoececx_meth.c
mov edx, 0x10a
lea r8d, [rcx + 0x56]
call fcn.140091bf0
xor eax, eax
jmp 0x1400c4892
test r15, r15
je 0x1400c4715
cmp edi, 0x40a
je 0x1400c470e
cmp edi, 0x43f
je 0x1400c470e
cmp edi, 0x40b
mov eax, ebp
setne al
add eax, 0x38
jmp 0x1400c4711
mov eax, r14d
cmp ebx, eax
je 0x1400c471f
mov dword [rsp + 0x20], 0x41
jmp 0x1400c46c8
mov r8d, 0x46
mov qword [rsp + 0x60], rsi
lea rdx, str.cryptoececx_meth.c
lea ecx, [r8 + 2]
call fcn.1400976a0
mov rsi, rax
test rax, rax
jne 0x1400c4769
lea r9, str.cryptoececx_meth.c
mov dword [rsp + 0x20], 0x48
mov edx, 0x10a
lea ecx, [rax + 0x10]
lea r8d, [rax + 0x41]
call fcn.140091bf0
xor eax, eax
jmp 0x1400c488d
cmp dword [rsp + 0x88], ebp
jne 0x1400c4785
mov r8, rbx
mov rdx, r15
mov rcx, rsi
call fcn.14019d040
jmp 0x1400c487b
cmp edi, 0x40a
je 0x1400c47a7
cmp edi, 0x43f
je 0x1400c47a7
cmp edi, 0x40b
mov rcx, rbp
setne cl
add rcx, 0x38
jmp 0x1400c47aa
mov rcx, r14
mov r8d, 0x50
lea rdx, str.cryptoececx_meth.c
call fcn.1400977a0
mov qword [rsi + 0x40], rax
mov rbx, rax
test rax, rax
jne 0x1400c47ea
lea r9, str.cryptoececx_meth.c
mov dword [rsp + 0x20], 0x52
mov edx, 0x10a
lea ecx, [rax + 0x10]
lea r8d, [rax + 0x41]
call fcn.140091bf0
jmp 0x1400c4841
cmp dword [rsp + 0x88], 2
jne 0x1400c48c8
cmp edi, 0x40a
je 0x1400c4819
cmp edi, 0x43f
je 0x1400c4819
cmp edi, 0x40b
mov r14d, ebp
setne r14b
add r14d, 0x38
mov edx, r14d
mov rcx, rbx
call fcn.140098970
test eax, eax
jg 0x1400c485a
mov r8d, 0x57
lea rdx, str.cryptoececx_meth.c
mov rcx, rbx
call fcn.140097780
mov qword [rsi + 0x40], rbp
mov r8d, 0x79
lea rdx, str.cryptoececx_meth.c
mov rcx, rsi
call fcn.140097360
xor eax, eax
jmp 0x1400c488d
cmp edi, 0x40a
jne 0x1400c48ac
movzx eax, byte [rbx + 0x1f]
and byte [rbx], 0xf8
and al, 0x3f
or al, 0x40
mov byte [rbx + 0x1f], al
mov rdx, rbx
mov rcx, rsi
call fcn.140103450
mov r8, rsi
mov edx, edi
mov rcx, r13
call fcn.1400873e0
mov eax, 1
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r13
ret
cmp edi, 0x40b
jne 0x1400c48f9
and byte [rbx], 0xfc
or byte [rbx + 0x37], 0x80
mov rdx, rbx
mov rcx, rsi
call fcn.14010b530
jmp 0x1400c487b
cmp edi, 0x40a
je 0x1400c48e8
cmp edi, 0x43f
je 0x1400c48e8
cmp edi, 0x40b
setne bpl
add rbp, 0x38
jmp 0x1400c48eb
mov rbp, r14
mov r8, rbp
mov rdx, r15
mov rcx, rbx
call fcn.14019d040
mov ecx, edi
sub ecx, 0x40a
je 0x1400c4870
sub ecx, 1
je 0x1400c48bb
sub ecx, 0x34
je 0x1400c492a
cmp ecx, 1
jne 0x1400c487b
mov rdx, rbx
mov rcx, rsi
call fcn.14010e750
jmp 0x1400c487b
mov rdx, rbx
mov rcx, rsi
call fcn.140102e90
jmp 0x1400c487b