Function at 0x140023480
Capabilities:
Encrypt data using openssl rsa

Disassembly:
push rsi
push rdi
push r14
sub rsp, 0x50
mov r14, rcx
mov rax, rdx
mov rcx, qword [rcx]
xor esi, esi
sub rax, rcx
mov rdi, r8
cmp rax, 1
jge 0x1400234b3
mov eax, 0xffffffa0
add eax, 0xffffc300
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret
cmp byte [rcx], 0x30
je 0x1400234cb
mov eax, 0xffffff9e
add eax, 0xffffc300
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret
lea rax, [rcx + 1]
mov rcx, r14
lea r8, [rsp + 0x70]
mov qword [r14], rax
call fcn.1400214e0
test eax, eax
je 0x1400234f1
add eax, 0xffffc300
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret
mov qword [rsp + 0x78], rbx
lea r9, [rsp + 0x20]
xorps xmm0, xmm0
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0x88], r15
lea r8, [rsp + 0x38]
mov r15, qword [rsp + 0x70]
xor eax, eax
add r15, qword [r14]
mov rcx, r14
mov rdx, r15
mov qword [rsp + 0x30], rax
movups xmmword [rsp + 0x20], xmm0
call fcn.140021820
test eax, eax
je 0x14002355f
lea ebx, [rax - 0x3a80]
test ebx, ebx
jne 0x1400235aa
mov rcx, qword [r14]
mov rax, r15
sub rax, rcx
cmp rax, 1
jge 0x1400235fb
mov eax, 0xffffffa0
add eax, 0xffffc500
jmp 0x1400235ac
cmp qword [0x14008f9b0], rsi
lea rbx, [0x14008f9b0]
mov rcx, rbx
je 0x1400235a5
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
nop dword [rax]
cmp qword [rcx + 8], rsi
jne 0x140023598
mov rcx, qword [rcx]
mov r8, rsi
mov rdx, rbp
call fcn.14006cf60
test eax, eax
je 0x1400235ca
add rbx, 0x28
mov rcx, rbx
cmp qword [rbx], 0
jne 0x140023580
mov ebx, 0xffffc380
mov eax, ebx
mov rbp, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
mov r15, qword [rsp + 0x88]
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret
test rbx, rbx
je 0x1400235a5
mov esi, dword [rbx + 0x20]
cmp esi, 1
jne 0x140023540
mov eax, dword [rsp + 0x20]
cmp eax, 5
je 0x1400235e8
test eax, eax
jne 0x1400235f4
cmp qword [rsp + 0x28], 0
je 0x140023540
mov ebx, 0xffffc580
jmp 0x1400235aa
cmp byte [rcx], 3
je 0x14002360c
mov eax, 0xffffff9e
add eax, 0xffffc500
jmp 0x1400235ac
lea rax, [rcx + 1]
mov rdx, r15
mov rcx, r14
mov qword [r14], rax
lea r8, [rsp + 0x70]
call fcn.1400214e0
test eax, eax
jne 0x140023642
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14002363d
lea rcx, [rax - 1]
mov rax, qword [r14]
cmp byte [rax], 0
je 0x14002364c
mov eax, 0xffffff98
add eax, 0xffffc500
jmp 0x1400235ac
inc rax
mov qword [r14], rax
add rax, rcx
cmp rax, r15
je 0x140023664
mov eax, 0xffffc49a
jmp 0x1400235ac
mov ecx, esi
sub ecx, 1
je 0x14002369f
sub ecx, 1
je 0x140023696
sub ecx, 1
je 0x14002368d
cmp ecx, 1
je 0x140023684
mov eax, 0xffffc380
jmp 0x1400235ac
lea rbx, reloc.WS2_32.dll_connect
jmp 0x1400236a6
lea rbx, reloc.WS2_32.dll_closesocket
jmp 0x1400236a6
lea rbx, reloc.WS2_32.dll_bind
jmp 0x1400236a6
lea rbx, reloc.WS2_32.dll_accept
cmp qword [rdi], 0
jne 0x14002378a
call qword [rbx + 0x48]
mov qword [rdi + 8], rax
test rax, rax
jne 0x1400236c6
mov eax, 0xffffc080
jmp 0x1400235ac
mov qword [rdi], rbx
cmp esi, 1
jne 0x1400236ea
mov r8, rax
test rbx, rbx
je 0x1400236da
cmp dword [rbx], esi
je 0x1400236dd
xor r8d, r8d
mov rdx, r15
mov rcx, r14
call fcn.140023250
jmp 0x140023750
lea eax, [rsi - 2]
cmp eax, 1
jbe 0x1400236f9
mov ebx, 0xffffc380
jmp 0x140023764
mov rdx, qword [rdi + 8]
test rbx, rbx
je 0x140023713
mov ecx, dword [rbx]
sub ecx, 2
je 0x140023715
sub ecx, 1
je 0x140023715
cmp ecx, 1
je 0x140023715
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.140023130
mov ebx, eax
test eax, eax
jne 0x140023764
mov rcx, qword [rdi]
mov r8, qword [rdi + 8]
test rcx, rcx
je 0x140023742
mov ecx, dword [rcx]
sub ecx, 2
je 0x140023745
sub ecx, 1
je 0x140023745
cmp ecx, 1
je 0x140023745
xor r8d, r8d
mov rdx, r15
mov rcx, r14
call fcn.1400231f0
mov ebx, eax
test eax, eax
jne 0x140023764
cmp qword [r14], r15
je 0x1400235aa
mov ebx, 0xffffc49a
mov rax, qword [rdi]
test rax, rax
je 0x140023773
mov rcx, qword [rdi + 8]
call qword [rax + 0x50]
mov rax, qword [fcn.14006c5b0]
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 0x10]
call rax
jmp 0x1400235aa
mov eax, 0xffffc180
jmp 0x1400235ac