// File: demon386[P]git-store/./libs/program_options/src/cmdline.cpp
// Function: boost::program_options::detail::cmdline::check_style(int) const
void 
    cmdline::check_style(int style) const
    {
        bool allow_some_long = 
            (style & allow_long) || (style & allow_long_disguise);

        const char* error = 0;
        if (allow_some_long && 
            !(style & long_allow_adjacent) && !(style & long_allow_next))
            error = "boost::program_options misconfiguration: "
                    "choose one or other of 'command_line_style::long_allow_next' "
                    "(whitespace separated arguments) or "
                    "'command_line_style::long_allow_adjacent' ('=' separated arguments) for "
                    "long options.";

        if (!error && (style & allow_short) &&
            !(style & short_allow_adjacent) && !(style & short_allow_next))
            error = "boost::program_options misconfiguration: "
                    "choose one or other of 'command_line_style::short_allow_next' "
                    "(whitespace separated arguments) or "
                    "'command_line_style::short_allow_adjacent' ('=' separated arguments) for "
                    "short options.";

        if (!error && (style & allow_short) &&
            !(style & allow_dash_for_short) && !(style & allow_slash_for_short))
            error = "boost::program_options misconfiguration: "
                    "choose one or other of 'command_line_style::allow_slash_for_short' "
                    "(slashes) or 'command_line_style::allow_dash_for_short' (dashes) for "
                    "short options.";

        if (error)
            boost::throw_exception(invalid_command_line_style(error));

        // Need to check that if guessing and long disguise are enabled
        // -f will mean the same as -foo
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl -0xc(%rbp), %ecx
andl $0x1, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x5d(%rbp)
jne 0xea30
movl -0xc(%rbp), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
setne %al
movb %al, -0x5d(%rbp)
movb -0x5d(%rbp), %al
andb $0x1, %al
movb %al, -0xd(%rbp)
movq $0x0, -0x18(%rbp)
testb $0x1, -0xd(%rbp)
je 0xea67
movl -0xc(%rbp), %eax
andl $0x10, %eax
cmpl $0x0, %eax
jne 0xea67
movl -0xc(%rbp), %eax
andl $0x20, %eax
cmpl $0x0, %eax
jne 0xea67
leaq 0x5079c(%rip), %rax     # 0x5f1ff
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0xea9c
movl -0xc(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0xea9c
movl -0xc(%rbp), %eax
andl $0x40, %eax
cmpl $0x0, %eax
jne 0xea9c
movl -0xc(%rbp), %eax
andl $0x80, %eax
cmpl $0x0, %eax
jne 0xea9c
leaq 0x50847(%rip), %rax     # 0x5f2df
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0xeacf
movl -0xc(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0xeacf
movl -0xc(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
jne 0xeacf
movl -0xc(%rbp), %eax
andl $0x8, %eax
cmpl $0x0, %eax
jne 0xeacf
leaq 0x508f7(%rip), %rax     # 0x5f3c2
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0xeb61
movq -0x18(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x49(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0xdb50
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
leaq -0x48(%rbp), %rdi
callq 0xd8b0
jmp 0xeb02
leaq -0x28(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x121d0
jmp 0xeb11
leaq -0x28(%rbp), %rdi
callq 0x12120
jmp 0xeb1c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0xeb56
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0xeb4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x12210
leaq -0x48(%rbp), %rdi
callq 0xdca8
leaq -0x49(%rbp), %rdi
callq 0xd6b0
jmp 0xeb67
addq $0x70, %rsp
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0xdb30