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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1d8]
sub rsp, 0x2b0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140007040]
xor rax, rsp
mov qword [rbp + 0x180], rax
xor esi, esi
mov ecx, 0x202
lea rdx, [rbp - 0x20]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x1400013fe
lea rdx, str.WSAStartup_failed._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001b60
mov eax, 1
jmp 0x140001446
mov r8d, 6
mov r12d, 1
mov edx, r12d
mov r14d, 2
mov ecx, r14d
call qword [sym.imp.WS2_32.dll_socket]
mov rdi, rax
mov qword [rsp + 0x30], rax
cmp rax, 0xffffffffffffffff
jne 0x140001480
lea rdx, str.Socket_creation_failed._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001b60
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, r12d
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.140002560
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], recv
mov byte [rbp - 0x50], sil
lea rdx, str.Enter_server_IP:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001b60
lea rdx, [rbp - 0x50]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.140001d80
mov word [rbp - 0x30], r14w
mov ecx, 0x1f90
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp - 0x2e], ax
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rdx, qword [rbp - 0x50]
lea r8, [rbp - 0x2c]
mov ecx, r14d
call qword [sym.imp.WS2_32.dll_inet_pton]
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp - 0x30]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x140001528
lea rdx, str.Connection_to_server_failed._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001b60
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x140001974
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], recv
mov byte [rbp - 0x70], 0
lea rdx, str.Enter_your_username:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001b60
lea rdx, [rbp - 0x70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.140001d80
mov ecx, reloc.WS2_32.dll_recv
call fcn.140002580
mov qword [rax], rdi
lea rcx, [0x1400012b0]
mov qword [rax + 8], rcx
mov qword [rsp + 0x60], rax
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], esi
mov r9, rax
lea r8, [0x1400024e0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x1400019d0
mov r15, qword [rbp - 0x60]
mov r13, qword [rbp - 0x70]
nop word [rax + rax]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], socket
mov byte [rsp + 0x38], 0
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.140002320
lea rax, [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
cmova rax, rcx
cmp qword [rsp + 0x48], 4
jne 0x140001630
cmp dword [rax], 0x74697865
je 0x14000189a
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 2
jb 0x1400019df
lea r14, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova r14, r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rsi
lea rsi, [r15 + 2]
mov ebx, recv
lea rdi, [rsp + 0x60]
cmp rsi, rbx
jbe 0x1400016f7
mov rbx, rsi
or rbx, 0xf
cmp rbx, rcx
jbe 0x14000169b
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x1400016cb
cmp rbx, 0x16
mov eax, socket
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x1400016b5
xor edi, edi
jmp 0x1400016f2
cmp rcx, 0x1000
jb 0x1400016ea
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400019e5
mov rcx, rax
call fcn.140002580
test rax, rax
je 0x1400019c2
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400016f2
call fcn.140002580
mov rdi, rax
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rbx
mov r8, r15
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movzx ecx, word [0x140004498]
mov word [r15 + rdi], cx
mov byte [rdi + rsi], 0
lea r9, [rsp + 0x38]
cmp qword [rsp + 0x50], 0xf
cmova r9, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x14000177e
lea rax, [rcx + rdi]
mov qword [rsp + 0x70], rax
lea rbx, [rsp + 0x60]
cmp rdx, 0xf
cmova rbx, qword [rsp + 0x60]
add rbx, rcx
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
lea rax, [rsp + 0x60]
jmp 0x140001790
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.1400020d0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
xor esi, esi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], recv
mov byte [rax], sil
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x1400017e5
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400017e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400019bb
call fcn.1400025bc
movups xmmword [rsp + 0x38], xmm6
movups xmmword [rsp + 0x48], xmm7
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x14000182c
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001827
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400019c2
call fcn.1400025bc
lea rdx, [rsp + 0x38]
cmp qword [rsp + 0x50], 0xf
cmova rdx, qword [rsp + 0x38]
xor r9d, r9d
mov r8d, dword [rsp + 0x48]
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_send]
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x1400015c0
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001890
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400019c9
call fcn.1400025bc
jmp 0x1400015c0
cmp rdx, 0xf
jbe 0x1400018cd
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400018c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400019c9
call fcn.1400025bc
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
cmp dword [rbp - 0x78], 0
jne 0x1400018ec
mov ecx, r12d
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
call qword [sym.imp.MSVCP140.dll__Thrd_id]
cmp dword [rbp - 0x78], eax
jne 0x140001903
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rsp + 0x60], xmm0
xor edx, edx
lea rcx, [rsp + 0x60]
call qword [sym.imp.MSVCP140.dll__Thrd_join]
test eax, eax
je 0x14000192a
mov ecx, 2
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x80], xmm0
mov r12d, esi
mov rax, qword [rbp - 0x58]
cmp rax, 0xf
jbe 0x140001974
lea rdx, [rax + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x14000196b
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000196b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r13
call fcn.1400025bc
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x140001443
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400019b1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400019b1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400025bc
jmp 0x140001443
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov dword [rbp - 0x78], esi
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
call fcn.1400011b0
int3
call fcn.140001110
int3