Function at 0x1401cb4f0
Capabilities:
Encrypt data using curve25519
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
mov eax, 0x68
call fcn.14028b850
sub rsp, rax
mov qword [rsp + 0x28], 0
cmp dword [rsp + 0x90], 2
je 0x1401cb691
cmp qword [rsp + 0x70], 0
je 0x1401cb5f1
mov r9, qword [rsp + 0x70]
xor r8d, r8d
lea rdx, [rsp + 0x38]
xor ecx, ecx
call fcn.140098010
cmp dword [rsp + 0x38], 0xffffffff
je 0x1401cb585
call fcn.140088000
lea r8, str.ossl_ecx_key_op
mov edx, 0xaa
lea rcx, str.....Srcopenssl_3.0.12cryptoececx_backend.c
call fcn.1400881c0
xor r8d, r8d
mov edx, 0x66
mov ecx, reloc.WS2_32.dll_recv
call fcn.140088360
xor eax, eax
jmp 0x1401cb99e
cmp dword [rsp + 0x88], 0
jne 0x1401cb5a5
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
call fcn.14005f370
mov dword [rsp + 0x88], eax
jmp 0x1401cb5f1
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
call fcn.14005f370
cmp dword [rsp + 0x88], eax
je 0x1401cb5f1
call fcn.140088000
lea r8, str.ossl_ecx_key_op
mov edx, 0xb0
lea rcx, str.....Srcopenssl_3.0.12cryptoececx_backend.c
call fcn.1400881c0
xor r8d, r8d
mov edx, 0x66
mov ecx, reloc.WS2_32.dll_recv
call fcn.140088360
xor eax, eax
jmp 0x1401cb99e
cmp qword [rsp + 0x78], 0
je 0x1401cb65b
cmp dword [rsp + 0x88], 0
je 0x1401cb65b
cmp dword [rsp + 0x88], 0x40a
je 0x1401cb646
cmp dword [rsp + 0x88], 0x43f
je 0x1401cb646
cmp dword [rsp + 0x88], 0x40b
jne 0x1401cb634
mov dword [rsp + 0x3c], reloc.WS2_32.dll_getservbyport
jmp 0x1401cb63c
mov dword [rsp + 0x3c], 0x39
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x40], eax
jmp 0x1401cb64e
mov dword [rsp + 0x40], 0x20
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x80], eax
je 0x1401cb691
call fcn.140088000
lea r8, str.ossl_ecx_key_op
mov edx, VariantTimeToSystemTime
lea rcx, str.....Srcopenssl_3.0.12cryptoececx_backend.c
call fcn.1400881c0
xor r8d, r8d
mov edx, 0x66
mov ecx, reloc.WS2_32.dll_recv
call fcn.140088360
xor eax, eax
jmp 0x1401cb99e
cmp dword [rsp + 0x88], 0x40a
je 0x1401cb6d4
cmp dword [rsp + 0x88], 0x43f
je 0x1401cb6d4
cmp dword [rsp + 0x88], 0x40b
jne 0x1401cb6c2
mov dword [rsp + 0x44], 1
jmp 0x1401cb6ca
mov dword [rsp + 0x44], 3
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x48], eax
jmp 0x1401cb6fb
cmp dword [rsp + 0x88], 0x40a
jne 0x1401cb6eb
mov dword [rsp + 0x4c], 0
jmp 0x1401cb6f3
mov dword [rsp + 0x4c], 2
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x48], eax
mov r9, qword [rsp + 0xa0]
mov r8d, 1
mov edx, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x98]
call fcn.140121ca0
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
jne 0x1401cb75d
call fcn.140088000
lea r8, str.ossl_ecx_key_op
mov edx, 0xbd
lea rcx, str.....Srcopenssl_3.0.12cryptoececx_backend.c
call fcn.1400881c0
xor r8d, r8d
mov edx, 0xc0100
mov ecx, reloc.WS2_32.dll_recv
call fcn.140088360
xor eax, eax
jmp 0x1401cb99e
mov rax, qword [rsp + 0x28]
add rax, 0x14
mov qword [rsp + 0x30], rax
cmp dword [rsp + 0x90], 0
jne 0x1401cb791
movsxd r8, dword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x30]
call fcn.14028a8de
jmp 0x1401cb98b
mov rcx, qword [rsp + 0x28]
call fcn.140121fa0
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x1401cb7dc
call fcn.140088000
lea r8, str.ossl_ecx_key_op
mov edx, 0xc7
lea rcx, str.....Srcopenssl_3.0.12cryptoececx_backend.c
call fcn.1400881c0
xor r8d, r8d
mov edx, 0xc0100
mov ecx, reloc.WS2_32.dll_recv
call fcn.140088360
jmp 0x1401cb992
cmp dword [rsp + 0x90], 2
jne 0x1401cb8ed
cmp dword [rsp + 0x88], 0
je 0x1401cb8eb
cmp dword [rsp + 0x88], 0x40a
je 0x1401cb83b
cmp dword [rsp + 0x88], 0x43f
je 0x1401cb83b
cmp dword [rsp + 0x88], 0x40b
jne 0x1401cb829
mov dword [rsp + 0x50], reloc.WS2_32.dll_getservbyport
jmp 0x1401cb831
mov dword [rsp + 0x50], 0x39
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x54], eax
jmp 0x1401cb843
mov dword [rsp + 0x54], 0x20
movsxd r8, dword [rsp + 0x54]
xor r9d, r9d
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x98]
call fcn.140094430
test eax, eax
jg 0x1401cb866
jmp 0x1401cb992
cmp dword [rsp + 0x88], 0x40a
jne 0x1401cb8b2
mov rax, qword [rsp + 0x20]
movzx ecx, byte [rax]
and ecx, 0xf8
mov rax, qword [rsp + 0x20]
mov byte [rax], cl
mov rax, qword [rsp + 0x20]
movzx ecx, byte [rax + 0x1f]
and ecx, 0x7f
mov rax, qword [rsp + 0x20]
mov byte [rax + 0x1f], cl
mov rax, qword [rsp + 0x20]
movzx ecx, byte [rax + 0x1f]
or ecx, 0x40
mov rax, qword [rsp + 0x20]
mov byte [rax + 0x1f], cl
jmp 0x1401cb8eb
cmp dword [rsp + 0x88], 0x40b
jne 0x1401cb8eb
mov rax, qword [rsp + 0x20]
movzx ecx, byte [rax]
and ecx, 0xfc
mov rax, qword [rsp + 0x20]
mov byte [rax], cl
mov rax, qword [rsp + 0x20]
movzx ecx, byte [rax + 0x37]
or ecx, 0x80
mov rax, qword [rsp + 0x20]
mov byte [rax + 0x37], cl
jmp 0x1401cb94c
cmp dword [rsp + 0x88], 0x40a
je 0x1401cb930
cmp dword [rsp + 0x88], 0x43f
je 0x1401cb930
cmp dword [rsp + 0x88], 0x40b
jne 0x1401cb91e
mov dword [rsp + 0x58], reloc.WS2_32.dll_getservbyport
jmp 0x1401cb926
mov dword [rsp + 0x58], 0x39
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x5c], eax
jmp 0x1401cb938
mov dword [rsp + 0x5c], 0x20
movsxd r8, dword [rsp + 0x5c]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x20]
call fcn.14028a8de
mov rcx, qword [rsp + 0x28]
call fcn.1401caff0
test eax, eax
jne 0x1401cb98b
call fcn.140088000
lea r8, str.ossl_ecx_key_op
mov edx, 0xdb
lea rcx, str.....Srcopenssl_3.0.12cryptoececx_backend.c
call fcn.1400881c0
xor r8d, r8d
mov edx, 0xa6
mov ecx, reloc.WS2_32.dll_recv
call fcn.140088360
jmp 0x1401cb992
mov rax, qword [rsp + 0x28]
jmp 0x1401cb99e
mov rcx, qword [rsp + 0x28]
call fcn.140121e40
xor eax, eax
add rsp, 0x68
ret