Function at 0x1400115f5
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Convert ip address from string
Create tcp socket
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
jmp 0x140016240
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x948
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x18a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x968]
mov rax, qword [0x140024040]
xor rax, rbp
mov qword [rbp + 0x918], rax
lea rcx, [0x14002a0fb]
call fcn.140011668
lea rdx, [rbp + 0x10]
mov cx, 0x202
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x1400162e9
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0x8e4], eax
lea rdx, str.WSAStartup_failed:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110c8
mov ecx, dword [rbp + 0x8e4]
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, [0x140011046]
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]
jmp 0x14001667b
mov r8d, 6
mov edx, 1
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rbp + 0x1c8], rax
cmp qword [rbp + 0x1c8], 0xffffffffffffffff
jne 0x14001635b
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0x8e4], eax
lea rdx, str.Socket_creation_failed:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110c8
mov ecx, dword [rbp + 0x8e4]
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, [0x140011046]
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]
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x14001667b
mov eax, 2
mov word [rbp + 0x1e8], ax
movzx ecx, word [rbp + 0x948]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 0x1ea], ax
mov rcx, qword [rbp + 0x940]
call fcn.1400110a5
lea r8, [rbp + 0x1ec]
mov rdx, rax
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_pton]
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0x1e8]
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x140016413
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0x8e4], eax
lea rdx, str.Connection_failed:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110c8
mov ecx, dword [rbp + 0x8e4]
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, [0x140011046]
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]
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x14001667b
mov r8, qword [rbp + 0x950]
lea rdx, str.NICK
lea rcx, [rbp + 0x7d8]
call fcn.140011050
mov qword [rbp + 0x8e8], rax
mov rax, qword [rbp + 0x8e8]
mov qword [rbp + 0x8f0], rax
lea r8, [0x140020808]
mov rdx, qword [rbp + 0x8f0]
lea rcx, [rbp + 0x218]
call fcn.1400115e6
nop
lea rcx, [rbp + 0x7d8]
call fcn.140011140
mov r8, qword [rbp + 0x950]
lea rdx, str.USER
lea rcx, [rbp + 0x818]
call fcn.140011050
mov qword [rbp + 0x8e8], rax
mov rax, qword [rbp + 0x8e8]
mov qword [rbp + 0x8f0], rax
lea r8, str._0__:
mov rdx, qword [rbp + 0x8f0]
lea rcx, [rbp + 0x858]
call fcn.1400115e6
mov qword [rbp + 0x8f8], rax
mov rax, qword [rbp + 0x8f8]
mov qword [rbp + 0x900], rax
mov r8, qword [rbp + 0x950]
mov rdx, qword [rbp + 0x900]
lea rcx, [rbp + 0x898]
call fcn.140011230
mov qword [rbp + 0x908], rax
mov rax, qword [rbp + 0x908]
mov qword [rbp + 0x910], rax
lea r8, [0x140020808]
mov rdx, qword [rbp + 0x910]
lea rcx, [rbp + 0x258]
call fcn.1400115e6
nop
lea rcx, [rbp + 0x898]
call fcn.140011140
nop
lea rcx, [rbp + 0x858]
call fcn.140011140
nop
lea rcx, [rbp + 0x818]
call fcn.140011140
lea rcx, [rbp + 0x218]
call fcn.140011591
mov qword [rbp + 0x8e8], rax
lea rcx, [rbp + 0x218]
call fcn.1400110a5
xor r9d, r9d
mov rcx, qword [rbp + 0x8e8]
mov r8d, ecx
mov rdx, rax
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.WS2_32.dll_send]
lea rcx, [rbp + 0x258]
call fcn.140011591
mov qword [rbp + 0x8e8], rax
lea rcx, [rbp + 0x258]
call fcn.1400110a5
xor r9d, r9d
mov rcx, qword [rbp + 0x8e8]
mov r8d, ecx
mov rdx, rax
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.WS2_32.dll_send]
xor eax, eax
cmp eax, 1
je 0x14001664e
xor r9d, r9d
mov r8d, 0x1ff
lea rdx, [rbp + 0x2a0]
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.WS2_32.dll_recv]
mov dword [rbp + 0x4b4], eax
cmp dword [rbp + 0x4b4], 0
jle 0x140016649
movsxd rax, dword [rbp + 0x4b4]
mov qword [rbp + 0x8d8], rax
cmp qword [rbp + 0x8d8], 0x200
jae 0x140016603
jmp 0x140016608
call fcn.1400114ba
mov rax, qword [rbp + 0x8d8]
mov byte [rbp + rax + 0x2a0], 0
lea rdx, str.Received:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110c8
lea rdx, [rbp + 0x2a0]
mov rcx, rax
call fcn.1400110c8
lea rdx, [0x140011046]
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]
jmp 0x1400165af
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
lea rcx, [rbp + 0x258]
call fcn.140011140
nop
lea rcx, [rbp + 0x218]
call fcn.140011140
lea rcx, [rbp - 0x20]
lea rdx, [0x140020130]
call fcn.140011555
mov rcx, qword [rbp + 0x918]
xor rcx, rbp
call fcn.140011320
lea rsp, [rbp + 0x928]
pop rdi
pop rbp
ret