Function at 0x1401102c5
Capabilities:
Encrypt data using curve25519

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2f8
movdqa xmmword [rsp + 0x2e0], xmm11
movdqa xmmword [rsp + 0x2d0], xmm10
movdqa xmmword [rsp + 0x2c0], xmm9
movdqa xmmword [rsp + 0x2b0], xmm8
movaps xmmword [rsp + 0x2a0], xmm7
movaps xmmword [rsp + 0x290], xmm6
mov qword [rsp + 0xc0], rcx
movdqu xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movdqa xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x140], xmm1
and byte [rsp + 0x130], 0xf8
mov al, byte [rsp + 0x14f]
and al, 0x3f
or al, 0x40
mov byte [rsp + 0x14f], al
lea rsi, [rsp + 0x268]
mov rcx, rsi
mov rdx, r8
call fcn.14010e8a3
pxor xmm0, xmm0
lea rcx, [rsp + 0x1b0]
movdqu xmmword [rcx + 0x18], xmm0
movdqu xmmword [rcx + 8], xmm0
mov eax, 1
mov qword [rcx], rax
lea rcx, [rsp + 0x60]
movdqa xmmword [rcx], xmm0
and qword [rcx + 0x20], 0
movdqa xmmword [rcx + 0x10], xmm0
movdqu xmm1, xmmword [rsi]
movdqu xmm2, xmmword [rsi + 0x10]
lea rdx, [rsp + 0x150]
movdqa xmmword [rdx], xmm1
movdqa xmmword [rdx + 0x10], xmm2
mov rcx, qword [rsi + 0x20]
mov qword [rdx + 0x20], rcx
lea rcx, [rsp + 0x30]
movdqu xmmword [rcx + 8], xmm0
movdqu xmmword [rcx + 0x18], xmm0
mov qword [rcx], rax
xor esi, esi
mov ecx, 0xfe
movdqa xmm6, xmmword [0x14012d320]
movdqa xmm7, xmmword [0x14012d330]
movabs r13, 0x7ffffffffffff
test ecx, ecx
js 0x14011086e
mov eax, ecx
shr rax, 3
movzx eax, byte [rsp + rax + 0x130]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rsp + 0x28]
and ecx, 7
bt eax, ecx
mov eax, 0
setb al
mov dword [rsp + 0x2c], eax
xor esi, eax
lea rdi, [rsp + 0x1b0]
mov rcx, rdi
lea rdx, [rsp + 0x150]
mov r8, rsi
call fcn.140110932
lea r14, [rsp + 0x60]
mov rcx, r14
lea rbx, [rsp + 0x30]
mov rdx, rbx
mov r8, rsi
call fcn.140110932
mov rcx, qword [rsp + 0x170]
movabs rsi, 0xffffffffffffe
lea rdx, [rcx + rsi]
mov rax, qword [rsp + 0x50]
sub rdx, rax
movdqa xmm2, xmmword [rsp + 0x150]
movdqa xmm0, xmmword [rsp + 0x160]
movdqa xmm3, xmmword [rsp + 0x30]
movdqa xmm1, xmmword [rsp + 0x40]
movdqa xmm4, xmm2
psubq xmm4, xmm3
paddq xmm4, xmm6
movdqa xmm5, xmm0
psubq xmm5, xmm1
paddq xmm5, xmm7
movdqa xmmword [rsp + 0x90], xmm4
movdqa xmmword [rsp + 0xa0], xmm5
mov qword [rsp + 0xb0], rdx
mov rdx, qword [rsp + 0x1d0]
lea r8, [rdx + rsi]
mov r9, qword [rsp + 0x80]
sub r8, r9
movdqa xmm4, xmmword [rsp + 0x1b0]
movdqa xmm5, xmmword [rsp + 0x1c0]
movdqa xmm8, xmmword [rsp + 0x60]
movdqa xmm9, xmmword [rsp + 0x70]
movdqa xmm10, xmm4
psubq xmm10, xmm8
paddq xmm10, xmm6
movdqa xmm11, xmm5
psubq xmm11, xmm9
paddq xmm11, xmm7
movdqa xmmword [rsp + 0xd0], xmm10
movdqa xmmword [rsp + 0xe0], xmm11
mov qword [rsp + 0xf0], r8
add r9, rdx
paddq xmm8, xmm4
movdqa xmmword [rsp + 0x210], xmm8
paddq xmm9, xmm5
movdqa xmmword [rsp + 0x220], xmm9
mov qword [rsp + 0x230], r9
add rax, rcx
paddq xmm3, xmm2
movdqa xmmword [rsp + 0x100], xmm3
paddq xmm1, xmm0
movdqa xmmword [rsp + 0x110], xmm1
mov qword [rsp + 0x120], rax
mov rcx, rbx
lea rdx, [rsp + 0x90]
lea rbx, [rsp + 0x210]
mov r8, rbx
call fcn.14010dd78
mov rcx, r14
lea rdx, [rsp + 0x100]
lea r15, [rsp + 0xd0]
mov r8, r15
call fcn.14010dd78
lea r14, [rsp + 0x180]
mov rcx, r14
mov rdx, r15
call fcn.14010e674
lea r15, [rsp + 0x240]
mov rcx, r15
mov rdx, rbx
call fcn.14010e674
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x80]
lea rdx, [rcx + rax]
movdqa xmm0, xmmword [rsp + 0x30]
movdqa xmm1, xmmword [rsp + 0x40]
movdqa xmm2, xmmword [rsp + 0x60]
movdqa xmm3, xmmword [rsp + 0x70]
movdqa xmm4, xmm2
paddq xmm4, xmm0
movdqa xmmword [rsp + 0x1e0], xmm4
movdqa xmm4, xmm3
paddq xmm4, xmm1
movdqa xmmword [rsp + 0x1f0], xmm4
mov qword [rsp + 0x200], rdx
add rax, rsi
sub rax, rcx
psubq xmm0, xmm2
paddq xmm0, xmm6
psubq xmm1, xmm3
paddq xmm1, xmm7
movdqa xmmword [rsp + 0x100], xmm0
movdqa xmmword [rsp + 0x110], xmm1
mov qword [rsp + 0x120], rax
mov rcx, rdi
mov rdx, r15
mov r8, r14
call fcn.14010dd78
mov rcx, qword [rsp + 0x260]
add rcx, rsi
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0xc8], rax
sub rcx, rax
movdqa xmm1, xmmword [rsp + 0x240]
movdqa xmm0, xmmword [rsp + 0x250]
movdqa xmm9, xmmword [rsp + 0x180]
movdqa xmm8, xmmword [rsp + 0x190]
psubq xmm1, xmm9
psubq xmm0, xmm8
mov rax, rcx
mov edi, 0x1db42
mul rdi
mov r9, rax
mov r8, rdx
paddq xmm0, xmm7
pshufd xmm2, xmm0, 0xee
movq rax, xmm2
mul rdi
mov r11, rax
mov rbp, rdx
paddq xmm1, xmm6
movq rax, xmm0
mul rdi
mov r15, rax
mov rsi, rdx
pshufd xmm2, xmm1, 0xee
movq rax, xmm2
mul rdi
mov rbx, rax
mov r10, rdx
movq rax, xmm1
mul rdi
shld rdx, rax, 0xd
lea r12, [r13 - 1]
and r12, rax
movdqa xmmword [rsp + 0xd0], xmm1
add rdx, rbx
adc r10, 0
shld r10, rdx, 0xd
and rdx, r13
add r10, r15
adc rsi, 0
shld rsi, r10, 0xd
and r10, r13
add rsi, r11
adc rbp, 0
shld rbp, rsi, 0xd
movdqa xmmword [rsp + 0xe0], xmm0
add rbp, r9
adc r8, 0
mov qword [rsp + 0xf0], rcx
shld r8, rbp, 0xd
imul rdi, r8, 0x13
add rdi, r12
mov rbx, rdi
shr rbx, 0x33
add rbx, rdx
and rdi, r13
mov r15, rbx
shr r15, 0x33
add r15, r10
mov r14, qword [rsp + 0x180]
add r14, rdi
mov r12, qword [rsp + 0x190]
add r12, r15
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x100]
call fcn.14010e674
and rsi, r13
and rbp, r13
and rbx, r13
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rbp
lea rcx, [rsp + 0x150]
lea rdx, [rsp + 0x1e0]
call fcn.14010e674
pshufd xmm0, xmm9, 0xee
movq rax, xmm0
add rax, rbx
pshufd xmm0, xmm8, 0xee
movq rcx, xmm0
add rcx, rsi
add rbp, qword [rsp + 0xc8]
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rbp
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x268]
lea rsi, [rsp + 0x60]
mov r8, rsi
call fcn.14010dd78
mov rcx, rsi
lea rdx, [rsp + 0xd0]
lea r8, [rsp + 0x90]
call fcn.14010dd78
mov ecx, dword [rsp + 0x28]
dec ecx
mov eax, dword [rsp + 0x2c]
mov esi, eax
jmp 0x1401103e4
mov esi, esi
lea rdi, [rsp + 0x1b0]
lea rdx, [rsp + 0x150]
mov rcx, rdi
mov r8, rsi
call fcn.140110932
lea rbx, [rsp + 0x60]
lea rdx, [rsp + 0x30]
mov rcx, rbx
mov r8, rsi
call fcn.140110932
mov rcx, rbx
mov rdx, rbx
call fcn.14010dd4b
mov rcx, rdi
mov rdx, rdi
mov r8, rbx
call fcn.14010dd78
mov rsi, qword [rsp + 0xc0]
mov rcx, rsi
mov rdx, rdi
call fcn.14010e169
lea rcx, [0x14025a4a0]
mov r8d, 0x20
mov rdx, rsi
call fcn.140081e34
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
movaps xmm6, xmmword [rsp + 0x290]
movaps xmm7, xmmword [rsp + 0x2a0]
movaps xmm8, xmmword [rsp + 0x2b0]
movaps xmm9, xmmword [rsp + 0x2c0]
movaps xmm10, xmmword [rsp + 0x2d0]
movaps xmm11, xmmword [rsp + 0x2e0]
add rsp, 0x2f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret