// File: flightaware[P]beast-splitter/splitter_main.cc
// Function: validate(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> const&, net_option*, int)
void validate(boost::any &v, const std::vector<std::string> &values, net_option *target_type, int) {
    po::validators::check_first_occurrence(v);
    const std::string &s = po::validators::get_single_string(values);

    static const boost::regex r("([^:]+):(\\d+)");
    boost::smatch match;
    if (boost::regex_match(s, match, r)) {
        net_option o;
        o.host = match[1];
        o.port = match[2];
        v = boost::any(o);
    } else {
        throw po::validation_error(po::validation_error::invalid_option_value);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1b0, %rsp            # imm = 0x1B0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x12e50
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x67dc0
movq %rax, -0x28(%rbp)
cmpb $0x0, 0xa6f9f(%rip)     # 0x10bfe8
jne 0x65099
leaq 0xa6f96(%rip), %rdi     # 0x10bfe8
callq 0x12ff0
cmpl $0x0, %eax
je 0x65099
leaq 0xa6f75(%rip), %rdi     # 0x10bfd8
leaq 0x50d0e(%rip), %rsi     # 0xb5d78
xorl %edx, %edx
callq 0x680d0
jmp 0x65073
leaq 0x30b6(%rip), %rdi      # 0x68130
leaq 0xa6f57(%rip), %rsi     # 0x10bfd8
leaq 0xa6850(%rip), %rdx     # 0x10b8d8
callq 0x12760
leaq 0xa6f54(%rip), %rdi     # 0x10bfe8
callq 0x125b0
leaq -0x89(%rbp), %rdi
movq %rdi, -0x170(%rbp)
callq 0x68150
movq -0x170(%rbp), %rsi
leaq -0x88(%rbp), %rdi
callq 0x68170
jmp 0x650c1
leaq -0x89(%rbp), %rdi
callq 0x68200
movq -0x28(%rbp), %rdi
leaq 0xa6f00(%rip), %rdx     # 0x10bfd8
leaq -0x88(%rbp), %rsi
xorl %ecx, %ecx
callq 0x68220
movb %al, -0x171(%rbp)
jmp 0x650ee
movb -0x171(%rbp), %al
testb $0x1, %al
jne 0x650fd
jmp 0x65264
leaq -0xd0(%rbp), %rdi
callq 0x68280
leaq -0x88(%rbp), %rdi
movl $0x1, %esi
callq 0x682b0
movq %rax, -0x180(%rbp)
jmp 0x65123
movq -0x180(%rbp), %rsi
leaq -0xf0(%rbp), %rdi
callq 0x68340
jmp 0x65138
leaq -0xd0(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
movq %rsi, -0x190(%rbp)
callq 0x12a40
movq -0x190(%rbp), %rdi
callq 0x13198
leaq -0x88(%rbp), %rdi
movl $0x2, %esi
callq 0x682b0
movq %rax, -0x188(%rbp)
jmp 0x65178
movq -0x188(%rbp), %rsi
leaq -0x110(%rbp), %rdi
callq 0x68340
jmp 0x6518d
leaq -0xb0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
movq %rsi, -0x198(%rbp)
callq 0x12a40
movq -0x198(%rbp), %rdi
callq 0x13198
xorl %eax, %eax
movl %eax, %ecx
leaq -0x118(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
movq %rcx, %rdx
callq 0x68400
jmp 0x651cf
movq -0x8(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x68480
leaq -0x118(%rbp), %rdi
callq 0x684d0
leaq -0xd0(%rbp), %rdi
callq 0x68500
jmp 0x65395
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq 0xa6dd9(%rip), %rdi     # 0x10bfe8
callq 0x125a0
jmp 0x653b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x89(%rbp), %rdi
callq 0x68200
jmp 0x653b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x653aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x68500
jmp 0x653aa
movb $0x1, -0x162(%rbp)
movl $0xc0, %edi
callq 0x12430
movq %rax, -0x1a8(%rbp)
leaq -0x139(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
callq 0x12fa0
movq -0x1a0(%rbp), %rdx
leaq 0x50110(%rip), %rsi     # 0xb53ad
leaq -0x138(%rbp), %rdi
callq 0x22350
jmp 0x652ab
leaq -0x161(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x12fa0
movq -0x1b0(%rbp), %rdx
leaq 0x500e1(%rip), %rsi     # 0xb53ad
leaq -0x160(%rbp), %rdi
callq 0x22350
jmp 0x652da
movq -0x1a8(%rbp), %rdi
movl $0x21, %esi
leaq -0x138(%rbp), %rdx
leaq -0x160(%rbp), %rcx
xorl %r8d, %r8d
callq 0x68530
jmp 0x652fe
movq -0x1a8(%rbp), %rdi
movb $0x0, -0x162(%rbp)
leaq 0xa3d55(%rip), %rsi     # 0x109068
leaq 0x32b6(%rip), %rdx      # 0x685d0
callq 0x12ee0
jmp 0x653bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x65370
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x65358
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x13198
leaq -0x161(%rbp), %rdi
callq 0x128f0
leaq -0x138(%rbp), %rdi
callq 0x13198
leaq -0x139(%rbp), %rdi
callq 0x128f0
testb $0x1, -0x162(%rbp)
jne 0x65387
jmp 0x65393
movq -0x1a8(%rbp), %rdi
callq 0x12650
jmp 0x653aa
leaq -0x88(%rbp), %rdi
callq 0x685f0
addq $0x1b0, %rsp            # imm = 0x1B0
popq %rbp
retq
leaq -0x88(%rbp), %rdi
callq 0x685f0
movq -0x30(%rbp), %rdi
callq 0x12f70
nop