Function at 0x1337c0f71030
Capabilities:
Encrypt data using curve25519

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r13
push r14
push r15
mov eax, 0x40
call fcn.1337c0fd2090
sub rsp, rax
movsxd rbx, dword [rsp + 0x80]
lea r14d, [rax - 0x20]
xor esi, esi
mov r15, r9
cmp dword [rsp + 0x88], 2
mov edi, edx
mov r13, rcx
je 0x1337c0f710dc
test r8, r8
je 0x1337c0f710b0
mov r9, r8
lea rdx, [rsp + 0x30]
xor r8d, r8d
xor ecx, ecx
call fcn.1337c0f55070
cmp dword [rsp + 0x30], 0xffffffff
je 0x1337c0f710b0
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov edx, 0x10a
lea ecx, [r9 + 0x10]
lea r8d, [r9 + 0x66]
call fcn.1337c0f2ddb0
xor eax, eax
jmp 0x1337c0f71233
test r15, r15
je 0x1337c0f71090
cmp edi, 0x40a
je 0x1337c0f710d5
cmp edi, 0x43f
je 0x1337c0f710d5
cmp edi, 0x40b
mov eax, esi
setne al
add eax, 0x38
jmp 0x1337c0f710d8
mov eax, r14d
cmp ebx, eax
jne 0x1337c0f71090
xor r8d, r8d
mov qword [rsp + 0x60], rbp
lea rdx, [0x1337c10768f5]
lea ecx, [r8 + 0x48]
call fcn.1337c0f316e0
mov rbp, rax
test rax, rax
jne 0x1337c0f7111b
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov edx, 0x10a
lea ecx, [rax + 0x10]
lea r8d, [rax + 0x41]
call fcn.1337c0f2ddb0
xor eax, eax
jmp 0x1337c0f7122e
cmp dword [rsp + 0x88], esi
jne 0x1337c0f71137
mov r8, rbx
mov rdx, r15
mov rcx, rbp
call fcn.1337c1000630
jmp 0x1337c0f7121c
cmp edi, 0x40a
je 0x1337c0f71159
cmp edi, 0x43f
je 0x1337c0f71159
cmp edi, 0x40b
mov rcx, rsi
setne cl
add rcx, 0x38
jmp 0x1337c0f7115c
mov rcx, r14
xor r8d, r8d
lea rdx, [0x1337c10768f5]
call fcn.1337c0f3b0e0
mov qword [rbp + 0x40], rax
mov rbx, rax
test rax, rax
jne 0x1337c0f71191
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov edx, 0x10a
lea ecx, [rax + 0x10]
lea r8d, [rax + 0x41]
call fcn.1337c0f2ddb0
jmp 0x1337c0f711e5
cmp dword [rsp + 0x88], 2
jne 0x1337c0f71269
cmp edi, 0x40a
je 0x1337c0f711c0
cmp edi, 0x43f
je 0x1337c0f711c0
cmp edi, 0x40b
mov r14d, esi
setne r14b
add r14d, 0x38
mov edx, r14d
mov rcx, rbx
call fcn.1337c0f42680
test eax, eax
jg 0x1337c0f711fb
xor r8d, r8d
lea rdx, [0x1337c10768f5]
mov rcx, rbx
call fcn.1337c0f3b0c0
mov qword [rbp + 0x40], rsi
xor r8d, r8d
lea rdx, [0x1337c10768f5]
mov rcx, rbp
call fcn.1337c0f31610
xor eax, eax
jmp 0x1337c0f7122e
cmp edi, 0x40a
jne 0x1337c0f7124d
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, rbp
call fcn.1337c0fa4680
mov r8, rbp
mov edx, edi
mov rcx, r13
call fcn.1337c0f2fa40
mov eax, 1
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r13
ret
cmp edi, 0x40b
jne 0x1337c0f7129a
and byte [rbx], 0xfc
or byte [rbx + 0x37], 0x80
mov rdx, rbx
mov rcx, rbp
call fcn.1337c0fad230
jmp 0x1337c0f7121c
cmp edi, 0x40a
je 0x1337c0f71289
cmp edi, 0x43f
je 0x1337c0f71289
cmp edi, 0x40b
setne sil
add rsi, 0x38
jmp 0x1337c0f7128c
mov rsi, r14
mov r8, rsi
mov rdx, r15
mov rcx, rbx
call fcn.1337c1000630
mov ecx, edi
sub ecx, 0x40a
je 0x1337c0f71211
sub ecx, 1
je 0x1337c0f7125c
sub ecx, 0x34
je 0x1337c0f712cb
cmp ecx, 1
jne 0x1337c0f7121c
mov rdx, rbx
mov rcx, rbp
call fcn.1337c0fb0450
jmp 0x1337c0f7121c
mov rdx, rbx
mov rcx, rbp
call fcn.1337c0fa40c0
jmp 0x1337c0f7121c