Function at 0x14025bb60
Capabilities:
Encrypt data using curve25519

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
mov eax, 0x88
call fcn.14037c5f0
sub rsp, rax
mov qword [rsp + 0x40], 0
cmp dword [rsp + 0xb8], 2
je 0x14025bc71
cmp qword [rsp + 0xa0], 0
je 0x14025bbe7
mov r9, qword [rsp + 0xa0]
xor r8d, r8d
lea rdx, [rsp + 0x70]
xor ecx, ecx
call fcn.14020afd0
cmp dword [rsp + 0x70], 0xffffffff
je 0x14025bbe7
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x66
mov edx, 0x10a
mov ecx, reloc.WS2_32.dll_recv
call fcn.1401ba140
xor eax, eax
jmp 0x14025c02b
cmp qword [rsp + 0xa8], 0
je 0x14025bc4a
cmp dword [rsp + 0x98], 0x40a
je 0x14025bc35
cmp dword [rsp + 0x98], 0x43f
je 0x14025bc35
cmp dword [rsp + 0x98], 0x40b
jne 0x14025bc23
mov dword [rsp + 0x48], gethostname
jmp 0x14025bc2b
mov dword [rsp + 0x48], reloc.WS2_32.dll_gethostname
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x4c], eax
jmp 0x14025bc3d
mov dword [rsp + 0x4c], 0x20
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0xb0], eax
je 0x14025bc71
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x66
mov edx, 0x10a
mov ecx, reloc.WS2_32.dll_recv
call fcn.1401ba140
xor eax, eax
jmp 0x14025c02b
mov r8d, 0x46
lea rdx, str.cryptoececx_meth.c
mov ecx, 0x48
call fcn.1401bb0f0
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
jne 0x14025bcbc
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x41
mov edx, 0x10a
mov ecx, reloc.WS2_32.dll_recv
call fcn.1401ba140
xor eax, eax
jmp 0x14025c02b
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
cmp dword [rsp + 0xb8], 0
jne 0x14025bcf2
movsxd rax, dword [rsp + 0xb0]
mov r8, rax
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x68]
call fcn.1404105c0
jmp 0x14025bff2
cmp dword [rsp + 0x98], 0x40a
je 0x14025bd35
cmp dword [rsp + 0x98], 0x43f
je 0x14025bd35
cmp dword [rsp + 0x98], 0x40b
jne 0x14025bd23
mov dword [rsp + 0x50], gethostname
jmp 0x14025bd2b
mov dword [rsp + 0x50], reloc.WS2_32.dll_gethostname
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x54], eax
jmp 0x14025bd3d
mov dword [rsp + 0x54], 0x20
movsxd rax, dword [rsp + 0x54]
mov r8d, 0x50
lea rdx, str.cryptoececx_meth.c
mov rcx, rax
call fcn.1402183d0
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0x40], rcx
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x14025bda1
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x41
mov edx, 0x10a
mov ecx, reloc.WS2_32.dll_recv
call fcn.1401ba140
jmp 0x14025c012
cmp dword [rsp + 0xb8], 2
jne 0x14025bf16
cmp dword [rsp + 0x98], 0x40a
je 0x14025bdf2
cmp dword [rsp + 0x98], 0x43f
je 0x14025bdf2
cmp dword [rsp + 0x98], 0x40b
jne 0x14025bde0
mov dword [rsp + 0x58], gethostname
jmp 0x14025bde8
mov dword [rsp + 0x58], reloc.WS2_32.dll_gethostname
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x5c], eax
jmp 0x14025bdfa
mov dword [rsp + 0x5c], 0x20
mov edx, dword [rsp + 0x5c]
mov rcx, qword [rsp + 0x30]
call fcn.1401d6280
test eax, eax
jg 0x14025be35
mov r8d, 0x57
lea rdx, str.cryptoececx_meth.c
mov rcx, qword [rsp + 0x30]
call fcn.140218390
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x40], 0
jmp 0x14025c012
cmp dword [rsp + 0x98], 0x40a
jne 0x14025beb8
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
and eax, 0xf8
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x30]
mov byte [rdx + rcx], al
mov eax, 1
imul rax, rax, 0x1f
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
and eax, 0x7f
mov ecx, 1
imul rcx, rcx, 0x1f
mov rdx, qword [rsp + 0x30]
mov byte [rdx + rcx], al
mov eax, 1
imul rax, rax, 0x1f
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
or eax, 0x40
mov ecx, 1
imul rcx, rcx, 0x1f
mov rdx, qword [rsp + 0x30]
mov byte [rdx + rcx], al
jmp 0x14025bf14
cmp dword [rsp + 0x98], 0x40b
jne 0x14025bf14
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
and eax, 0xfc
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x30]
mov byte [rdx + rcx], al
mov eax, 1
imul rax, rax, 0x37
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + rax]
bts eax, 7
mov ecx, 1
imul rcx, rcx, 0x37
mov rdx, qword [rsp + 0x30]
mov byte [rdx + rcx], al
jmp 0x14025bf7b
cmp dword [rsp + 0x98], 0x40a
je 0x14025bf59
cmp dword [rsp + 0x98], 0x43f
je 0x14025bf59
cmp dword [rsp + 0x98], 0x40b
jne 0x14025bf47
mov dword [rsp + 0x60], gethostname
jmp 0x14025bf4f
mov dword [rsp + 0x60], reloc.WS2_32.dll_gethostname
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x64], eax
jmp 0x14025bf61
mov dword [rsp + 0x64], 0x20
movsxd rax, dword [rsp + 0x64]
mov r8, rax
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x30]
call fcn.1404105c0
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0x40a
je 0x14025bfb0
cmp dword [rsp + 0x38], 0x40b
je 0x14025bfd2
cmp dword [rsp + 0x38], 0x43f
je 0x14025bfc1
cmp dword [rsp + 0x38], 0x440
je 0x14025bfe3
jmp 0x14025bff2
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
call fcn.1402a3280
jmp 0x14025bff2
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
call fcn.1402a2bd0
jmp 0x14025bff2
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
call fcn.1402afe80
jmp 0x14025bff2
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
call fcn.1402b32e0
mov r8, qword [rsp + 0x40]
mov edx, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
call fcn.1401a0af0
mov eax, 1
jmp 0x14025c02b
mov r8d, 0x79
lea rdx, str.cryptoececx_meth.c
mov rcx, qword [rsp + 0x40]
call fcn.1401bae10
xor eax, eax
add rsp, 0x88
ret