Function at 0x180003200
Capabilities:
Encrypt data using curve25519

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1b0
mov rbx, rdx
mov r14, rcx
mov rdx, r8
lea rcx, [rbp + 0x30]
call fcn.180002dc8
movups xmm0, xmmword [rbx]
xor r12d, r12d
xor edx, edx
movups xmm1, xmmword [rbx + 0x10]
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x48], 1
movd eax, xmm0
movups xmmword [rbp + 0x20], xmm1
lea r13d, [r12 + 0x28]
mov qword [rsp + 0x4c], r12
and al, 0xf8
psrldq xmm1, 0xf
movups xmmword [rbp + 0x10], xmm0
mov byte [rbp + 0x10], al
mov r8d, r13d
movups xmm0, xmmword [rbp + 0x30]
mov qword [rsp + 0x54], r12
movd eax, xmm1
movups xmm1, xmmword [rbp + 0x40]
mov qword [rsp + 0x5c], r12
and al, 0x3f
mov qword [rsp + 0x64], r12
movups xmmword [rbp - 0x68], xmm0
or al, 0x40
mov dword [rsp + 0x6c], r12d
movsd xmm0, qword [rbp + 0x50]
mov byte [rbp + 0x2f], al
movups xmmword [rbp - 0x58], xmm1
movsd qword [rbp - 0x48], xmm0
call fcn.1800076f4
mov edi, 0xfe
mov dword [rsp + 0x70], 1
mov r15d, edi
mov qword [rsp + 0x74], r12
mov qword [rsp + 0x7c], r12
mov esi, r12d
mov qword [rbp - 0x7c], r12
mov qword [rbp - 0x74], r12
mov dword [rbp - 0x6c], r12d
movzx ecx, dil
lea rdx, [rbp - 0x68]
and ecx, 7
mov rax, r15
sar rax, 3
movzx ebx, byte [rbp + rax + 0x10]
shr ebx, cl
lea rcx, [rsp + 0x48]
and ebx, 1
xor esi, ebx
mov r8d, esi
call fcn.180002cb4
mov r8d, esi
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x20]
call fcn.180002cb4
mov rcx, r12
mov esi, ebx
mov eax, dword [rbp + rcx - 0x68]
sub eax, dword [rsp + rcx + 0x70]
mov dword [rbp + rcx - 0x18], eax
add rcx, 4
cmp rcx, r13
jb 0x18000331d
mov rcx, r12
mov eax, dword [rsp + rcx + 0x48]
sub eax, dword [rsp + rcx + 0x20]
mov dword [rbp + rcx - 0x40], eax
add rcx, 4
cmp rcx, r13
jb 0x180003335
mov rcx, r12
mov eax, dword [rsp + rcx + 0x20]
add dword [rsp + rcx + 0x48], eax
add rcx, 4
cmp rcx, r13
jb 0x18000334d
mov rcx, r12
mov eax, dword [rsp + rcx + 0x70]
add eax, dword [rbp + rcx - 0x68]
mov dword [rsp + rcx + 0x20], eax
add rcx, 4
cmp rcx, r13
jb 0x180003361
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x70]
call fcn.180002e50
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.180002e50
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x18]
call fcn.180002e50
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x40]
call fcn.180002e50
mov rcx, r12
mov eax, dword [rsp + rcx + 0x70]
add eax, dword [rsp + rcx + 0x20]
mov dword [rbp + rcx - 0x68], eax
add rcx, 4
cmp rcx, r13
jb 0x1800033c3
mov rcx, r12
mov eax, dword [rsp + rcx + 0x70]
sub eax, dword [rsp + rcx + 0x20]
mov dword [rsp + rcx + 0x20], eax
add rcx, 4
cmp rcx, r13
jb 0x1800033db
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x48]
call fcn.180002e50
mov rcx, r12
mov eax, dword [rbp + rcx - 0x18]
sub dword [rbp + rcx - 0x40], eax
add rcx, 4
cmp rcx, r13
jb 0x180003405
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.180002e50
mov rdx, r12
movsxd rax, dword [rbp + rdx*4 - 0x40]
imul rcx, rax, 0x1db42
mov qword [rbp + rdx*8 + 0x60], rcx
inc rdx
cmp rdx, 0xa
jb 0x18000342d
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x70]
call fcn.180002ce4
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x68]
call fcn.180002e50
mov rcx, r12
mov eax, dword [rsp + rcx + 0x70]
add dword [rbp + rcx - 0x18], eax
add rcx, 4
cmp rcx, r13
jb 0x180003469
lea r8, [rsp + 0x20]
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.180002e50
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.180002e50
dec r15
sub edi, 1
jns 0x1800032db
mov r8d, ebx
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x48]
call fcn.180002cb4
mov r8d, ebx
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x20]
call fcn.180002cb4
mov r9b, 0x15
lea rdx, [rsp + 0x20]
mov r8d, 0xff
lea rcx, [rsp + 0x20]
call fcn.180002fa8
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.180002e50
lea rdx, [rsp + 0x48]
mov rcx, r14
call fcn.18000306c
mov rax, r12
mov edx, 1
mov byte [rbp + rax + 0x30], r12b
add rax, rdx
cmp rax, r13
jb 0x18000350f
mov rax, r12
mov byte [rbp + rax + 0x10], r12b
add rax, rdx
cmp rax, 0x20
jb 0x18000351f
mov rax, r12
mov byte [rsp + rax + 0x48], r12b
add rax, rdx
cmp rax, r13
jb 0x180003530
mov rax, r12
mov byte [rsp + rax + 0x20], r12b
add rax, rdx
cmp rax, r13
jb 0x180003540
mov rax, r12
mov byte [rbp + rax - 0x68], r12b
add rax, rdx
cmp rax, r13
jb 0x180003550
mov rax, r12
mov byte [rsp + rax + 0x70], r12b
add rax, rdx
cmp rax, r13
jb 0x180003560
mov rax, r12
mov byte [rbp + rax - 0x18], r12b
add rax, rdx
cmp rax, r13
jb 0x180003570
mov rax, r12
mov byte [rbp + rax - 0x40], r12b
add rax, rdx
cmp rax, r13
jb 0x180003580
mov rcx, qword [r14 + 0x18]
lea r11, [rsp + 0x1b0]
xor rcx, qword [0x180008038]
mov rax, qword [r14 + 8]
xor rax, qword [0x180008028]
mov rbx, qword [r11 + 0x30]
or rcx, rax
mov rax, qword [r14 + 0x10]
xor rax, qword [0x180008030]
mov rsi, qword [r11 + 0x38]
or rcx, rax
mov rax, qword [r14]
xor rax, qword [0x180008020]
mov rdi, qword [r11 + 0x40]
or rcx, rax
mov rax, rcx
mov ecx, ecx
shr rax, 0x20
or rax, rcx
sub rax, rdx
shr rax, 0x20
and eax, edx
neg eax
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret