Function at 0x1400014a4
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Send data
Send data on socket

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp + 0x10], rcx
mov dword [rbp + 0x18], edx
mov dword [rbp + 0x20], r8d
movabs rax, 0x5054544820544547
mov qword [rbp - 0x25], rax
movabs rax, 0x302e312f505454
mov qword [rbp - 0x20], rax
cmp dword [rbp + 0x18], 4
jne 0x140001609
mov word [rbp - 0x40], 2
mov rax, qword [rbp + 0x10]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_inet_addr]
call rax
mov dword [rbp - 0x3c], eax
mov eax, dword [rbp + 0x20]
movzx eax, ax
mov ecx, eax
mov rax, qword [sym.imp.WS2_32.dll_htons]
call rax
mov word [rbp - 0x3e], ax
mov r8d, 0
mov edx, 1
mov ecx, 2
mov rax, qword [sym.imp.WS2_32.dll_socket]
call rax
mov dword [rbp - 0x10], eax
cmp dword [rbp - 0x10], 0
jns 0x140001546
lea rax, str.socket_error
mov rcx, rax
call sym.perror
mov ecx, 1
call sym.exit
mov eax, dword [rbp - 0x10]
cdqe
lea rdx, [rbp - 0x40]
mov r8d, 0x10
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_connect]
call rax
mov dword [rbp - 0x14], eax
cmp dword [rbp - 0x14], 0
jne 0x1400015df
mov eax, dword [rbp + 0x20]
mov edx, eax
lea rax, str.Porta__tcp____d_aberta_disponivel_n
mov rcx, rax
call sym.printf
lea rax, [rbp - 0x25]
mov rcx, rax
call sym.strlen
mov ecx, eax
mov eax, dword [rbp - 0x10]
cdqe
lea rdx, [rbp - 0x25]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov dword [rbp - 0x18], eax
cmp dword [rbp - 0x18], 0
jns 0x1400015c9
mov eax, dword [rbp + 0x20]
mov edx, eax
lea rax, str.Porta__tcp____d_filtrada..._n
mov rcx, rax
call sym.printf
jmp 0x1400015f3
mov eax, dword [rbp + 0x20]
mov edx, eax
lea rax, str.Porta__tcp____d__ping_recebido_pelo_host..._n
mov rcx, rax
call sym.printf
jmp 0x1400015f3
mov eax, dword [rbp + 0x20]
mov edx, eax
lea rax, str.Porta__tcp____d_inacessivel_n
mov rcx, rax
call sym.printf
mov eax, dword [rbp - 0x10]
cdqe
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
jmp 0x14000173a
cmp dword [rbp + 0x18], 6
jne 0x14000173a
mov word [rbp - 0x50], 0x17
mov rax, qword [rbp + 0x10]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_inet_addr]
call rax
mov dword [rbp - 0x4c], eax
mov eax, dword [rbp + 0x20]
movzx eax, ax
mov ecx, eax
mov rax, qword [sym.imp.WS2_32.dll_htons]
call rax
mov word [rbp - 0x4e], ax
mov r8d, 0
mov edx, 1
mov ecx, 0x17
mov rax, qword [sym.imp.WS2_32.dll_socket]
call rax
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jns 0x14000167c
lea rax, str.socket_error
mov rcx, rax
call sym.perror
mov ecx, 1
call sym.exit
mov eax, dword [rbp - 4]
cdqe
lea rdx, [rbp - 0x50]
mov r8d, 0x10
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_connect]
call rax
mov dword [rbp - 8], eax
cmp dword [rbp - 8], 0
jne 0x140001715
mov eax, dword [rbp + 0x20]
mov edx, eax
lea rax, str.Porta__tcp____d_aberta_disponivel_n
mov rcx, rax
call sym.printf
lea rax, [rbp - 0x25]
mov rcx, rax
call sym.strlen
mov ecx, eax
mov eax, dword [rbp - 4]
cdqe
lea rdx, [rbp - 0x25]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
mov dword [rbp - 0xc], eax
cmp dword [rbp - 0xc], 0
jns 0x1400016ff
mov eax, dword [rbp + 0x20]
mov edx, eax
lea rax, str.Porta__tcp____d_filtrada..._n
mov rcx, rax
call sym.printf
jmp 0x140001729
mov eax, dword [rbp + 0x20]
mov edx, eax
lea rax, str.Porta__tcp____d__ping_recebido_pelo_host..._n
mov rcx, rax
call sym.printf
jmp 0x140001729
mov eax, dword [rbp + 0x20]
mov edx, eax
lea rax, str.Porta__tcp____d_inacessivel_n
mov rcx, rax
call sym.printf
mov eax, dword [rbp - 4]
cdqe
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
nop
add rsp, 0x70
pop rbp
ret