Function at 0x1400114e2
Capabilities:
Convert ip address from string
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
jmp 0x140017690
push rbp
push rdi
sub rsp, 0x708
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x12a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x140028040]
xor rax, rbp
mov qword [rbp + 0x6d8], rax
lea rcx, reloc.WS2_32.dll_accept
call fcn.1400116ea
nop
movzx eax, byte [0x1400237ba]
mov byte [rbp + 4], al
lea rdx, str.Enter_your_IP:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
nop
lea rdx, [rbp + 4]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.14001168b
nop
lea rdx, [0x140011055]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov dword [rbp + 0x24], 0
lea rdx, str.Enter_server_port:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
nop
lea rdx, [rbp + 0x24]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___int____ptr64____ptr64]
nop
mov eax, 0x400
mov word [rbp + 0x44], ax
lea r8, [rbp + 0x84]
lea rdx, [rbp + 4]
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_pton]
mov dword [rbp + 0x64], eax
cmp dword [rbp + 0x64], 0
jg 0x140017795
lea rdx, str.Error_in_IP_translation_to_special_numeric_format
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
lea rdx, [0x140011055]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov eax, 1
jmp 0x140017eb2
lea rdx, [rbp + 0xb0]
mov cx, 0x202
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [rbp + 0x64], eax
cmp dword [rbp + 0x64], 0
je 0x1400177e5
lea rdx, str.Error_WinSock_version_initializaion_
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
nop
mov eax, 1
jmp 0x140017eb2
lea rdx, str.WinSock_initialization_is_OK
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
lea rdx, [0x140011055]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
xor r8d, r8d
mov edx, 1
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rbp + 0x268], rax
cmp qword [rbp + 0x268], 0xffffffffffffffff
jne 0x14001788f
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0x6c4], eax
lea rdx, str.Error_initialization_socket_
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
mov ecx, dword [rbp + 0x6c4]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x140011055]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [rbp + 0x268]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
mov eax, 1
jmp 0x140017eb2
lea rdx, str.Server_socket_initialization_is_OK
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
lea rdx, [0x140011055]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov r8d, reloc.WS2_32.dll_recv
xor edx, edx
lea rcx, [rbp + 0x288]
call fcn.140011564
nop
mov eax, 2
mov word [rbp + 0x288], ax
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x28c], eax
movzx ecx, word [rbp + 0x24]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 0x28a], ax
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0x288]
mov rcx, qword [rbp + 0x268]
call qword [sym.imp.WS2_32.dll_bind]
mov dword [rbp + 0x64], eax
cmp dword [rbp + 0x64], 0
je 0x140017976
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0x6c4], eax
lea rdx, str.Error_Socket_binding_to_server_info._Error_
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
mov ecx, dword [rbp + 0x6c4]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x140011055]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [rbp + 0x268]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
mov eax, 1
jmp 0x140017eb2
lea rdx, str.Binding_socket_to_Server_info_is_OK
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
lea rdx, [0x140011055]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov edx, 0x7fffffff
mov rcx, qword [rbp + 0x268]
call qword [sym.imp.WS2_32.dll_listen]
mov dword [rbp + 0x64], eax
cmp dword [rbp + 0x64], 0
je 0x140017a17
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0x6c4], eax
lea rdx, str.Cant_start_to_listen_to._Error_
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
mov ecx, dword [rbp + 0x6c4]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x140011055]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [rbp + 0x268]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
mov eax, 1
jmp 0x140017eb2
lea rdx, str.Listening...
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
lea rdx, [0x140011055]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov r8d, reloc.WS2_32.dll_recv
xor edx, edx
lea rcx, [rbp + 0x2b8]
call fcn.140011564
nop
mov dword [rbp + 0x2e4], reloc.WS2_32.dll_recv
lea r8, [rbp + 0x2e4]
lea rdx, [rbp + 0x2b8]
mov rcx, qword [rbp + 0x268]
call qword [sym.imp.WS2_32.dll_accept]
mov qword [rbp + 0x308], rax
cmp qword [rbp + 0x308], 0xffffffffffffffff
jne 0x140017af6
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0x6c4], eax
lea rdx, str.Client_detected__but_cant_connect_to_a_client._Error_
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
mov ecx, dword [rbp + 0x6c4]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x140011055]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [rbp + 0x268]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp + 0x308]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
mov eax, 1
jmp 0x140017eb2
lea rdx, str.Connection_to_a_client_established_successfully
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
lea rdx, [0x140011055]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov r9d, reloc.WS2_32.dll_shutdown
lea r8, [rbp + 0x328]
lea rdx, [rbp + 0x2bc]
mov ecx, 2
call fcn.1400113fc
nop
lea rdx, str.Client_connected_with_IP_address
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
lea rdx, [rbp + 0x328]
mov rcx, rax
call fcn.1400110d2
lea rdx, [0x140011055]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov edx, 0x20
lea rcx, [rbp + 0x358]
call fcn.1400115ff
lea rcx, [rbp + 0x634]
call fcn.1400111b8
mov r8, rax
mov edx, 0x400
lea rcx, [rbp + 0x358]
call fcn.14001150a
nop
mov edx, 0x20
lea rcx, [rbp + 0x398]
call fcn.1400115ff
lea rcx, [rbp + 0x654]
call fcn.1400111b8
mov r8, rax
mov edx, 0x400
lea rcx, [rbp + 0x398]
call fcn.14001150a
nop
xor eax, eax
mov word [rbp + 0x3d4], ax
xor eax, eax
cmp eax, 1
je 0x140017e66
lea rcx, [rbp + 0x358]
call fcn.140011046
mov qword [rbp + 0x6c8], rax
lea rcx, [rbp + 0x358]
call fcn.140011212
xor r9d, r9d
mov rcx, qword [rbp + 0x6c8]
mov r8d, ecx
mov rdx, rax
mov rcx, qword [rbp + 0x308]
call qword [sym.imp.WS2_32.dll_recv]
mov word [rbp + 0x3d4], ax
lea rcx, [rbp + 0x358]
call fcn.140011212
mov qword [rbp + 0x6c8], rax
lea rdx, str.Clients_message:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
mov rcx, qword [rbp + 0x6c8]
mov rdx, rcx
mov rcx, rax
call fcn.1400110d2
lea rdx, [0x140011055]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rdx, str.Your__host__message:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
nop
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov qword [rbp + 0x6c8], rax
lea rcx, [rbp + 0x398]
call fcn.140011046
mov qword [rbp + 0x6d0], rax
lea rcx, [rbp + 0x398]
call fcn.140011212
mov rcx, qword [rbp + 0x6c8]
mov r8, rcx
mov rcx, qword [rbp + 0x6d0]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.ucrtbased.dll_fgets]
nop
xor edx, edx
lea rcx, [rbp + 0x398]
call fcn.14001118b
movsx eax, byte [rax]
cmp eax, 0x78
jne 0x140017d7f
mov edx, 1
lea rcx, [rbp + 0x398]
call fcn.14001118b
movsx eax, byte [rax]
cmp eax, 0x78
jne 0x140017d7f
mov edx, 2
lea rcx, [rbp + 0x398]
call fcn.14001118b
movsx eax, byte [rax]
cmp eax, 0x78
jne 0x140017d7f
mov edx, 2
mov rcx, qword [rbp + 0x308]
call qword [sym.imp.WS2_32.dll_shutdown]
nop
mov rcx, qword [rbp + 0x268]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp + 0x308]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
mov dword [rbp + 0x674], 0
lea rcx, [rbp + 0x398]
call fcn.140011677
nop
lea rcx, [rbp + 0x358]
call fcn.140011677
mov eax, dword [rbp + 0x674]
jmp 0x140017eb2
lea rcx, [rbp + 0x398]
call fcn.140011046
mov qword [rbp + 0x6c8], rax
lea rcx, [rbp + 0x398]
call fcn.140011212
xor r9d, r9d
mov rcx, qword [rbp + 0x6c8]
mov r8d, ecx
mov rdx, rax
mov rcx, qword [rbp + 0x308]
call qword [sym.imp.WS2_32.dll_send]
mov word [rbp + 0x3d4], ax
movsx eax, word [rbp + 0x3d4]
cmp eax, 0xffffffff
jne 0x140017e61
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0x6c4], eax
lea rdx, str.Cant_send_message_to_Client._Error_
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d2
mov ecx, dword [rbp + 0x6c4]
mov edx, ecx
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x140011055]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rcx, qword [rbp + 0x268]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp + 0x308]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
mov dword [rbp + 0x694], 1
lea rcx, [rbp + 0x398]
call fcn.140011677
nop
lea rcx, [rbp + 0x358]
call fcn.140011677
mov eax, dword [rbp + 0x694]
jmp 0x140017eb2
jmp 0x140017bd9
mov rcx, qword [rbp + 0x268]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp + 0x308]
call qword [sym.imp.WS2_32.dll_closesocket]
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
mov dword [rbp + 0x6b4], 0
lea rcx, [rbp + 0x398]
call fcn.140011677
nop
lea rcx, [rbp + 0x358]
call fcn.140011677
mov eax, dword [rbp + 0x6b4]
mov rdi, rax
lea rcx, [rbp - 0x20]
lea rdx, [0x140023170]
call fcn.1400115d2
mov rax, rdi
mov rcx, qword [rbp + 0x6d8]
xor rcx, rbp
call fcn.140011361
lea rsp, [rbp + 0x6e8]
pop rdi
pop rbp
ret