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

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x318
lea rbp, [rsp + 0x80]
lea rax, [rbp + 0x1ef]
mov qword [rbp + 0x278], rax
nop
nop
lea rdx, [rbp + 0x1ef]
lea rax, [rbp - 0x60]
mov r8, rdx
lea rdx, str.Hello_from_client
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x1ef]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
lea rax, [rbp - 0x40]
mov rdx, rax
mov ecx, 0x202
mov rax, qword [sym.imp.WS2_32.dll_WSAStartup]
call rax
test eax, eax
setne al
test al, al
je 0x140002207
mov ecx, 0x10
call sym.__cxa_allocate_exception
mov rbx, rax
lea rax, str.Failed_to_initialize_WinSock.
mov rdx, rax
mov rcx, rbx
call sym.std::runtime_error::runtime_error_char_const_
mov r8, qword [0x140008a80]
lea rax, sym.imp.libstdc_6.dll_operator_delete_void__unsigned_long_long_
mov rdx, rax
mov rcx, rbx
call sym.__cxa_throw
mov r8d, 6
mov edx, 1
mov ecx, 2
mov rax, qword [sym.imp.WS2_32.dll_socket]
call rax
mov qword [rbp + 0x288], rax
cmp qword [rbp + 0x288], 0xffffffffffffffff
jne 0x140002269
mov ecx, 0x10
call sym.__cxa_allocate_exception
mov rbx, rax
lea rax, str.Failed_to_create_socket.
mov rdx, rax
mov rcx, rbx
call sym.std::runtime_error::runtime_error_char_const_
mov r8, qword [0x140008a80]
lea rax, sym.imp.libstdc_6.dll_operator_delete_void__unsigned_long_long_
mov rdx, rax
mov rcx, rbx
call sym.__cxa_throw
mov word [rbp + 0x1d0], 2
lea rax, str.127.0.0.1
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_inet_addr]
call rax
mov dword [rbp + 0x1d4], eax
mov ecx, 0x22b8
mov rax, qword [sym.imp.WS2_32.dll_htons]
call rax
mov word [rbp + 0x1d2], ax
lea rdx, [rbp + 0x1d0]
mov rax, qword [rbp + 0x288]
mov r8d, 0x10
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_connect]
call rax
cmp eax, 0xffffffff
sete al
test al, al
je 0x140002302
mov ecx, 0x10
call sym.__cxa_allocate_exception
mov rbx, rax
lea rax, str.Connection_failed.
mov rdx, rax
mov rcx, rbx
call sym.std::runtime_error::runtime_error_char_const_
mov r8, qword [0x140008a80]
lea rax, sym.imp.libstdc_6.dll_operator_delete_void__unsigned_long_long_
mov rdx, rax
mov rcx, rbx
call sym.__cxa_throw
mov rax, qword [rbp + 0x288]
mov qword [rbp + 0x1f0], rax
lea rax, [rbp - 0x60]
lea rdx, [rbp + 0x1f0]
lea rcx, [rdx + 8]
mov rdx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rdx, [rbp + 0x1f0]
lea rax, [rbp + 0x1c8]
mov rcx, rax
call method.std::thread.thread_simulateNetworkOperation__::lambda__1____void__simulateNetworkOperation__::lambda__1_
lea rax, [rbp + 0x1f0]
mov rcx, rax
call sym.simulateNetworkOperation__::lambda__1::simulateNetworkOperation__
mov rax, qword [rbp + 0x288]
mov qword [rbp + 0x218], rax
lea rdx, [rbp + 0x218]
lea rax, [rbp + 0x1c0]
mov rcx, rax
call method.std::thread.thread_simulateNetworkOperation__::lambda__2____void__simulateNetworkOperation__::lambda__2_
lea rax, [rbp + 0x1c8]
mov rcx, rax
call sym.std::thread::join__
lea rax, [rbp + 0x1c0]
mov rcx, rax
call sym.std::thread::join__
mov rax, qword [sym.imp.WS2_32.dll_WSACleanup]
call rax
lea rax, [rbp + 0x1c0]
mov rcx, rax
call method.std::thread.thread__
lea rax, [rbp + 0x1c8]
mov rcx, rax
call method.std::thread.thread__
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
jmp 0x140002593
add rsp, 0x318
pop rbx
pop rsi
pop rdi
pop rbp
ret