Function at 0x14002d6b0
Capabilities:
Encrypt data using curve25519

Disassembly:
push rbp
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x30
and rsp, 0xfffffffffffffff0
sub rsp, 0x20
movdqu xmm5, xmmword [0x140058730]
movdqu xmm4, xmmword [0x140058740]
movups xmmword [rsp + 0x20], xmm6
movdqu xmm3, xmmword [0x140058750]
movdqu xmm6, xmmword [0x140058720]
movups xmmword [rsp + 0x30], xmm7
movdqu xmm2, xmmword [0x140058760]
movdqu xmm7, xmmword [0x140058710]
movups xmmword [rsp + 0x40], xmm8
movdqu xmm0, xmmword [r8]
movq xmm1, qword [r8 + 0x10]
movzx r13d, byte [r8 + 0x1a]
movzx r12d, byte [r8 + 0x1b]
mov qword [rsp + 8], rdx
pxor xmm7, xmm0
pxor xmm6, xmm0
pxor xmm5, xmm0
movzx r14d, byte [r8 + 0x1f]
pxor xmm4, xmm0
pxor xmm3, xmm0
pxor xmm2, xmm0
movzx eax, byte [r8 + 0x18]
movdqu xmm8, xmm0
psrldq xmm0, 8
or al, byte [r8 + 0x19]
and r14d, 0x7f
por xmm0, xmm8
or eax, r13d
mov qword [rsp + 0x10], rcx
mov edi, r14d
por xmm0, xmm1
or eax, r12d
or al, byte [r8 + 0x1c]
xor edi, 0x7f
movq rdx, xmm0
movdqu xmm0, xmm7
psrldq xmm7, 8
por xmm7, xmm0
movdqu xmm0, xmm6
psrldq xmm6, 8
por xmm6, xmm0
por xmm7, xmm1
movq xmm0, qword [0x140058770]
movq rcx, xmm7
pxor xmm0, xmm1
por xmm6, xmm0
movdqu xmm0, xmm5
psrldq xmm5, 8
por xmm5, xmm0
movq rbx, xmm6
movq xmm0, qword [0x140058778]
pxor xmm0, xmm1
por xmm5, xmm0
movq xmm0, qword [0x140058748]
or al, byte [r8 + 0x1d]
or al, byte [r8 + 0x1e]
movzx r15d, byte [r8 + 0x19]
movq rsi, xmm5
or eax, r14d
pxor xmm1, xmm0
movdqu xmm0, xmm4
psrldq xmm4, 8
mov byte [rsp + 0x1f], al
movzx eax, byte [r8 + 0x18]
xor r15d, 0x22
por xmm4, xmm0
and al, byte [r8 + 0x19]
por xmm4, xmm1
movdqu xmm0, xmm3
psrldq xmm3, 8
and eax, r13d
movq r11, xmm4
por xmm3, xmm0
and eax, r12d
por xmm3, xmm1
movdqu xmm0, xmm2
and al, byte [r8 + 0x1c]
and al, byte [r8 + 0x1d]
and al, byte [r8 + 0x1e]
movq r10, xmm3
psrldq xmm2, 8
not eax
por xmm2, xmm0
or eax, edi
movzx edi, byte [r8 + 0x18]
por xmm2, xmm1
mov byte [rsp + 0x1e], al
mov rax, rsi
movq r9, xmm2
xor edi, 0xffffffd8
movzx eax, ah
or r15d, edi
mov edi, r13d
xor edi, 0x4e
or edi, r15d
mov r15d, r12d
xor r15d, 0xffffffdd
or r15d, edi
movzx edi, byte [r8 + 0x1c]
xor edi, 0xffffffd0
or edi, r15d
movzx r15d, byte [r8 + 0x1d]
xor r15d, 0xffffff9f
or r15d, edi
movzx edi, byte [r8 + 0x1e]
xor edi, 0x11
or edi, r15d
mov r15d, r14d
xor r15d, 0x57
xor r13d, 5
xor r12d, 0x16
or r15d, edi
mov rdi, rsi
or edi, r15d
mov r15, rax
movzx eax, bh
or r15d, edi
mov rdi, rsi
shr rdi, 0x10
or edi, r15d
mov r15, rsi
shr r15, 0x18
or r15d, edi
mov rdi, rsi
shr rdi, 0x20
or edi, r15d
mov r15, rsi
shr r15, 0x28
or r15d, edi
mov rdi, rsi
shr rsi, 0x38
shr rdi, 0x30
or edi, r15d
movzx r15d, byte [r8 + 0x18]
or edi, esi
movzx esi, byte [r8 + 0x19]
xor r15d, 0xffffff86
movzx edi, dil
xor esi, 0x62
sub edi, 1
or esi, r15d
or esi, r14d
movzx r14d, byte [rsp + 0x1e]
or r13d, esi
movzx esi, byte [r8 + 0x1c]
or r12d, r13d
xor esi, 0x5f
or esi, r12d
movzx r12d, byte [r8 + 0x1d]
xor r12d, 0x49
or esi, r12d
movzx r12d, byte [r8 + 0x1e]
xor r12d, 0xffffffb8
or esi, r12d
mov r12, rbx
or esi, ebx
or esi, eax
shr r12, 0x10
mov rax, r11
or esi, r12d
mov r12, rbx
shr r12, 0x18
or esi, r12d
mov r12, rbx
shr r12, 0x20
or esi, r12d
mov r12, rbx
shr r12, 0x28
or esi, r12d
mov r12, rbx
shr rbx, 0x38
shr r12, 0x30
or esi, r12d
or ebx, esi
mov rsi, r11
movzx ebx, bl
or esi, r14d
sub ebx, 1
or ebx, edi
movzx edi, ah
mov rax, r10
or esi, edi
mov rdi, r11
shr rdi, 0x10
or esi, edi
mov rdi, r11
shr rdi, 0x18
or esi, edi
mov rdi, r11
shr rdi, 0x20
or esi, edi
mov rdi, r11
shr rdi, 0x28
or esi, edi
mov rdi, r11
shr r11, 0x38
shr rdi, 0x30
or esi, edi
movzx edi, byte [rsp + 0x1f]
or r11d, esi
movzx esi, ah
mov eax, r14d
movzx r11d, r11b
sub r11d, 1
or r11d, ebx
mov rbx, r10
or ebx, r14d
or ebx, esi
mov rsi, r10
or eax, r9d
shr rsi, 0x10
or ebx, esi
mov rsi, r10
shr rsi, 0x18
or ebx, esi
mov rsi, r10
shr rsi, 0x20
or ebx, esi
mov rsi, r10
shr rsi, 0x28
or ebx, esi
mov rsi, r10
shr r10, 0x38
shr rsi, 0x30
or ebx, esi
or r10d, ebx
mov rbx, r9
movzx r10d, r10b
movzx ebx, bh
sub r10d, 1
or eax, ebx
movzx ebx, ch
or r10d, r11d
mov r11, r9
shr r11, 0x10
or eax, r11d
mov r11, r9
shr r11, 0x18
or eax, r11d
mov r11, r9
shr r11, 0x20
or eax, r11d
mov r11, r9
shr r11, 0x28
or eax, r11d
mov r11, r9
shr r9, 0x38
shr r11, 0x30
or eax, r11d
or eax, r9d
mov r9, rcx
movzx eax, al
or r9d, edi
sub eax, 1
or eax, r10d
mov r10, rcx
or r9d, ebx
movzx ebx, dh
shr r10, 0x10
or r9d, r10d
mov r10, rcx
shr r10, 0x18
or r9d, r10d
mov r10, rcx
shr r10, 0x20
or r9d, r10d
mov r10, rcx
shr r10, 0x28
or r9d, r10d
mov r10, rcx
shr rcx, 0x38
shr r10, 0x30
or r9d, r10d
mov r10, rdx
or ecx, r9d
mov r9, rdx
shr r10, 0x10
or r9d, edi
movzx ecx, cl
or r9d, ebx
sub ecx, 1
or r9d, r10d
mov r10, rdx
shr r10, 0x18
or r9d, r10d
mov r10, rdx
shr r10, 0x20
or r9d, r10d
mov r10, rdx
shr r10, 0x28
or r9d, r10d
mov r10, rdx
shr rdx, 0x38
shr r10, 0x30
or r9d, r10d
or edx, r9d
movzx edx, dl
sub edx, 1
or ecx, edx
or ecx, eax
js 0x14002db49
mov rdx, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
movups xmm6, xmmword [rsp + 0x20]
movups xmm7, xmmword [rsp + 0x30]
movups xmm8, xmmword [rsp + 0x40]
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp sym.crypto_scalarmult_curve25519_ref10.part.0
movups xmm6, xmmword [rsp + 0x20]
movups xmm7, xmmword [rsp + 0x30]
mov eax, 0xffffffff
movups xmm8, xmmword [rsp + 0x40]
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret