// File: /workspace/github_cpp_makefile_star2_O2/brianbbsu[P]TCP-Ping/src/client.cpp
// Function: cmd_to_target(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
target cmd_to_target(std::string s){
    int p = -1;
    for(int i = 0;i < s.size();i += 1)if(s[i] == ':'){
        if(p != -1 || i == 0 || i + 1 == s.size())quit("Can not parse target '" + s + "'");
        p = i;
    }
    if(p == -1)quit("Can not parse target '" + s + "', maybe the port number is missing");
    std::string host = s.substr(0, p);
    uint16_t port;
    try{
        int _port = std::stoi(s.substr(p + 1));
        if(_port < 0 || _port > 65535)quit("Invalid port " + s.substr(p + 1) + " in target '" + s + "', shoulde be in [0, 65535]");
        port = _port;
    }catch(const std::invalid_argument& ia){
        quit("Can not parse port '" + s.substr(p + 1) + "' in target '" + s + "'");
    }
    return target(host, port);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
movq %rsi, %r14
movq %rdi, 0x40(%rsp)
pushq $-0x1
popq %rbx
xorl %r15d, %r15d
leaq 0x7518(%rip), %rsi      # 0xe053
leaq 0x20(%rsp), %r12
leaq 0x7521(%rip), %r13      # 0xe068
leaq 0x128(%rsp), %rbp
movq 0x8(%r14), %rax
cmpq %r15, %rax
jbe 0x6bc1
movq (%r14), %rcx
cmpb $0x3a, (%rcx,%r15)
je 0x6b67
incq %r15
jmp 0x6b53
cmpl $-0x1, %ebx
setne %cl
testq %r15, %r15
sete %dl
decq %rax
cmpq %r15, %rax
sete %al
orb %cl, %dl
orb %al, %dl
je 0x6bb9
movq %r12, %rdi
movq %rsi, %rbx
movq %r14, %rdx
callq 0x80a0
movq %rbp, %rdi
movq %r12, %rsi
movq %r13, %rdx
callq 0x8081
movq %rbp, %rdi
callq 0xd194
movq %rbp, %rdi
callq 0x66b8
movq %r12, %rdi
callq 0x66b8
movq %rbx, %rsi
movl %r15d, %ebx
incq %r15
jmp 0x6b4f
cmpl $-0x1, %ebx
jne 0x6c18
leaq 0x7486(%rip), %rsi      # 0xe053
leaq 0x20(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
callq 0x80a0
leaq 0x7486(%rip), %rdx      # 0xe06a
leaq 0x108(%rsp), %rdi
movq %r15, %rsi
callq 0x8081
leaq 0x108(%rsp), %rdi
callq 0xd194
leaq 0x108(%rsp), %rdi
callq 0x66b8
leaq 0x20(%rsp), %rdi
callq 0x66b8
movslq %ebx, %rcx
leaq 0x20(%rsp), %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x6370
incl %ebx
movslq %ebx, %r12
movq %rsp, %rdi
pushq $-0x1
popq %rcx
movq %r14, %rsi
movq %r12, %rdx
callq 0x6370
movq %rsp, %rdi
pushq $0xa
popq %rdx
xorl %esi, %esi
callq 0x8116
movl %eax, %ebp
movq %rsp, %rdi
callq 0x66b8
cmpl $0x10000, %ebp          # imm = 0x10000
jb 0x6d12
leaq 0x48(%rsp), %rdi
pushq $-0x1
popq %rcx
movq %r14, %rsi
movq %r12, %rdx
callq 0x6370
leaq 0x7411(%rip), %rsi      # 0xe08e
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x8151
leaq 0x743b(%rip), %rdx      # 0xe0ce
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x8081
movq %rsp, %rdi
leaq 0x88(%rsp), %rsi
movq %r14, %rdx
callq 0x8132
leaq 0x73dd(%rip), %rdx      # 0xe09c
leaq 0xe8(%rsp), %rdi
movq %rsp, %rsi
callq 0x8081
leaq 0xe8(%rsp), %rdi
callq 0xd194
leaq 0xe8(%rsp), %rdi
callq 0x66b8
movq %rsp, %rdi
callq 0x66b8
leaq 0x88(%rsp), %rdi
callq 0x66b8
leaq 0x68(%rsp), %rdi
callq 0x66b8
leaq 0x48(%rsp), %rdi
callq 0x66b8
leaq 0xa8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x64a0
movzwl %bp, %edx
leaq 0xa8(%rsp), %rsi
movq 0x40(%rsp), %rbx
movq %rbx, %rdi
callq 0x8180
leaq 0xa8(%rsp), %rdi
callq 0x66b8
leaq 0x20(%rsp), %rdi
callq 0x66b8
movq %rbx, %rax
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r15
leaq 0x108(%rsp), %rdi
jmp 0x6def
jmp 0x6e06
movq %rax, %r15
leaq 0x128(%rsp), %rdi
jmp 0x6def
jmp 0x6e06
movq %rdx, %r13
movq %rax, %r15
leaq 0xe8(%rsp), %rdi
callq 0x66b8
jmp 0x6da4
movq %rdx, %r13
movq %rax, %r15
movq %rsp, %rdi
callq 0x66b8
jmp 0x6db4
movq %rdx, %r13
movq %rax, %r15
leaq 0x88(%rsp), %rdi
callq 0x66b8
jmp 0x6dc9
movq %rdx, %r13
movq %rax, %r15
leaq 0x68(%rsp), %rdi
callq 0x66b8
jmp 0x6ddb
movq %rdx, %r13
movq %rax, %r15
leaq 0x48(%rsp), %rdi
jmp 0x6dff
jmp 0x6e1b
movq %rax, %r15
leaq 0xa8(%rsp), %rdi
callq 0x66b8
jmp 0x6e09
movq %rdx, %r13
movq %rax, %r15
movq %rsp, %rdi
callq 0x66b8
jmp 0x6e21
movq %rax, %r15
leaq 0x20(%rsp), %rdi
callq 0x66b8
movq %r15, %rdi
callq 0x65e0
movq %rdx, %r13
movq %rax, %r15
cmpl $0x1, %r13d
jne 0x6e09
movq %r15, %rdi
callq 0x6120
leaq 0x48(%rsp), %rdi
pushq $-0x1
popq %rcx
movq %r14, %rsi
movq %r12, %rdx
callq 0x6370
leaq 0x726f(%rip), %rsi      # 0xe0b8
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x8151
leaq 0x726e(%rip), %rdx      # 0xe0cd
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x8081
movq %rsp, %rdi
leaq 0x88(%rsp), %rsi
movq %r14, %rdx
callq 0x8132
leaq 0x71dd(%rip), %rdx      # 0xe068
leaq 0xc8(%rsp), %rdi
movq %rsp, %rsi
callq 0x8081
leaq 0xc8(%rsp), %rdi
callq 0xd194
leaq 0xc8(%rsp), %rdi
callq 0x66b8
movq %rsp, %rdi
callq 0x66b8
leaq 0x88(%rsp), %rdi
callq 0x66b8
leaq 0x68(%rsp), %rdi
callq 0x66b8
leaq 0x48(%rsp), %rdi
callq 0x66b8
callq 0x6560
jmp 0x6d12
jmp 0x6e06
movq %rax, %r15
leaq 0xc8(%rsp), %rdi
callq 0x66b8
jmp 0x6f02
movq %rax, %r15
movq %rsp, %rdi
callq 0x66b8
jmp 0x6f0f
movq %rax, %r15
leaq 0x88(%rsp), %rdi
callq 0x66b8
jmp 0x6f21
movq %rax, %r15
leaq 0x68(%rsp), %rdi
callq 0x66b8
jmp 0x6f30
movq %rax, %r15
leaq 0x48(%rsp), %rdi
callq 0x66b8
callq 0x6560
jmp 0x6e09
movq %rax, %r15
jmp 0x6f3a
movq %rax, %rdi
callq 0x8175