// 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&, connect_option*, int)
void validate(boost::any &v, const std::vector<std::string> &values, connect_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+)(?::([a-zA-Z]+))?");
    boost::smatch match;
    if (boost::regex_match(s, match, r)) {
        connect_option o;
        o.host = match[1];
        o.port = match[2];
        o.settings = beast::Settings(match[3]);
        v = boost::any(o);
    } else {
        throw po::validation_error(po::validation_error::invalid_option_value);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x240, %rsp            # imm = 0x240
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, 0xa6c07(%rip)     # 0x10c000
jne 0x65449
leaq 0xa6bfe(%rip), %rdi     # 0x10c000
callq 0x12ff0
cmpl $0x0, %eax
je 0x65449
leaq 0xa6bdd(%rip), %rdi     # 0x10bff0
leaq 0x5096c(%rip), %rsi     # 0xb5d86
xorl %edx, %edx
callq 0x680d0
jmp 0x65423
leaq 0x2d06(%rip), %rdi      # 0x68130
leaq 0xa6bbf(%rip), %rsi     # 0x10bff0
leaq 0xa64a0(%rip), %rdx     # 0x10b8d8
callq 0x12760
leaq 0xa6bbc(%rip), %rdi     # 0x10c000
callq 0x125b0
leaq -0x89(%rbp), %rdi
movq %rdi, -0x1f0(%rbp)
callq 0x68150
movq -0x1f0(%rbp), %rsi
leaq -0x88(%rbp), %rdi
callq 0x68170
jmp 0x65471
leaq -0x89(%rbp), %rdi
callq 0x68200
movq -0x28(%rbp), %rdi
leaq 0xa6b68(%rip), %rdx     # 0x10bff0
leaq -0x88(%rbp), %rsi
xorl %ecx, %ecx
callq 0x68220
movb %al, -0x1f1(%rbp)
jmp 0x6549e
movb -0x1f1(%rbp), %al
testb $0x1, %al
jne 0x654ad
jmp 0x656aa
leaq -0x100(%rbp), %rdi
callq 0x68620
jmp 0x654bb
leaq -0x88(%rbp), %rdi
movl $0x1, %esi
callq 0x682b0
movq %rax, -0x200(%rbp)
jmp 0x654d5
movq -0x200(%rbp), %rsi
leaq -0x120(%rbp), %rdi
callq 0x68340
jmp 0x654ea
leaq -0x100(%rbp), %rdi
leaq -0x120(%rbp), %rsi
movq %rsi, -0x210(%rbp)
callq 0x12a40
movq -0x210(%rbp), %rdi
callq 0x13198
leaq -0x88(%rbp), %rdi
movl $0x2, %esi
callq 0x682b0
movq %rax, -0x208(%rbp)
jmp 0x6552a
movq -0x208(%rbp), %rsi
leaq -0x140(%rbp), %rdi
callq 0x68340
jmp 0x6553f
leaq -0xe0(%rbp), %rdi
leaq -0x140(%rbp), %rsi
movq %rsi, -0x220(%rbp)
callq 0x12a40
movq -0x220(%rbp), %rdi
callq 0x13198
leaq -0x88(%rbp), %rdi
movl $0x3, %esi
callq 0x682b0
movq %rax, -0x218(%rbp)
jmp 0x6557f
movq -0x218(%rbp), %rsi
leaq -0x190(%rbp), %rdi
callq 0x68340
jmp 0x65594
leaq -0x170(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x19c20
jmp 0x655a9
movups -0x170(%rbp), %xmm0
movups -0x160(%rbp), %xmm1
movups -0x150(%rbp), %xmm2
movups %xmm2, -0xa0(%rbp)
movups %xmm1, -0xb0(%rbp)
movups %xmm0, -0xc0(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x13198
xorl %eax, %eax
movl %eax, %ecx
leaq -0x198(%rbp), %rdi
leaq -0x100(%rbp), %rsi
movq %rcx, %rdx
callq 0x68640
jmp 0x655fb
movq -0x8(%rbp), %rdi
leaq -0x198(%rbp), %rsi
callq 0x68480
leaq -0x198(%rbp), %rdi
callq 0x684d0
leaq -0x100(%rbp), %rdi
callq 0x686c0
jmp 0x657db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq 0xa69c5(%rip), %rdi     # 0x10c000
callq 0x125a0
jmp 0x657fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x89(%rbp), %rdi
callq 0x68200
jmp 0x657fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x657f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x65699
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x13198
leaq -0x100(%rbp), %rdi
callq 0x686c0
jmp 0x657f0
movb $0x1, -0x1e2(%rbp)
movl $0xc0, %edi
callq 0x12430
movq %rax, -0x230(%rbp)
leaq -0x1b9(%rbp), %rdi
movq %rdi, -0x228(%rbp)
callq 0x12fa0
movq -0x228(%rbp), %rdx
leaq 0x4fcca(%rip), %rsi     # 0xb53ad
leaq -0x1b8(%rbp), %rdi
callq 0x22350
jmp 0x656f1
leaq -0x1e1(%rbp), %rdi
movq %rdi, -0x238(%rbp)
callq 0x12fa0
movq -0x238(%rbp), %rdx
leaq 0x4fc9b(%rip), %rsi     # 0xb53ad
leaq -0x1e0(%rbp), %rdi
callq 0x22350
jmp 0x65720
movq -0x230(%rbp), %rdi
movl $0x21, %esi
leaq -0x1b8(%rbp), %rdx
leaq -0x1e0(%rbp), %rcx
xorl %r8d, %r8d
callq 0x68530
jmp 0x65744
movq -0x230(%rbp), %rdi
movb $0x0, -0x1e2(%rbp)
leaq 0xa390f(%rip), %rsi     # 0x109068
leaq 0x2e70(%rip), %rdx      # 0x685d0
callq 0x12ee0
jmp 0x65805
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x657b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x6579e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x13198
leaq -0x1e1(%rbp), %rdi
callq 0x128f0
leaq -0x1b8(%rbp), %rdi
callq 0x13198
leaq -0x1b9(%rbp), %rdi
callq 0x128f0
testb $0x1, -0x1e2(%rbp)
jne 0x657cd
jmp 0x657d9
movq -0x230(%rbp), %rdi
callq 0x12650
jmp 0x657f0
leaq -0x88(%rbp), %rdi
callq 0x685f0
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
leaq -0x88(%rbp), %rdi
callq 0x685f0
movq -0x30(%rbp), %rdi
callq 0x12f70
nopw %cs:(%rax,%rax)