// File: dadocolussi[P]gdc-circular_queue/tests/catch.hpp
// Function: Catch::WildcardPattern::WildcardPattern(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, Catch::CaseSensitive::Choice)
WildcardPattern( std::string const& pattern, CaseSensitive::Choice caseSensitivity )
        :   m_caseSensitivity( caseSensitivity ),
            m_wildcard( NoWildcard ),
            m_pattern( adjustCase( pattern ) )
        {
            if( startsWith( m_pattern, "*" ) ) {
                m_pattern = m_pattern.substr( 1 );
                m_wildcard = WildcardAtStart;
            }
            if( endsWith( m_pattern, "*" ) ) {
                m_pattern = m_pattern.substr( 0, m_pattern.size()-1 );
                m_wildcard = static_cast<WildcardPosition>( m_wildcard | WildcardAtEnd );
            }
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rsi
movq %rsi, -0xd8(%rbp)
leaq 0x87370(%rip), %rax     # 0xb28c8
movq %rax, (%rsi)
movl -0x14(%rbp), %eax
movl %eax, 0x8(%rsi)
movl $0x0, 0xc(%rsi)
movq %rsi, %rdi
addq $0x10, %rdi
movq %rdi, -0xd0(%rbp)
movq %rdi, %rax
movq %rax, -0xc8(%rbp)
movq -0x10(%rbp), %rdx
callq 0x2b7c0
leaq -0x39(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0xeb70
movq -0xc0(%rbp), %rdx
leaq 0x535d2(%rip), %rsi     # 0x7eb79
leaq -0x38(%rbp), %rdi
callq 0x18c80
jmp 0x2b5b2
movq -0xd0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x12400
movb %al, -0xd9(%rbp)
jmp 0x2b5ca
leaq -0x38(%rbp), %rdi
callq 0xecd8
leaq -0x39(%rbp), %rdi
callq 0xe710
movb -0xd9(%rbp), %al
testb $0x1, %al
jne 0x2b5eb
jmp 0x2b67c
movq -0xd8(%rbp), %rsi
addq $0x10, %rsi
leaq -0x70(%rbp), %rdi
movl $0x1, %edx
movq $-0x1, %rcx
callq 0xe6d0
jmp 0x2b60d
movq -0xd8(%rbp), %rdi
addq $0x10, %rdi
leaq -0x70(%rbp), %rsi
callq 0xe800
leaq -0x70(%rbp), %rdi
callq 0xecd8
movq -0xd8(%rbp), %rax
movl $0x1, 0xc(%rax)
jmp 0x2b67c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x2b65d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xecd8
leaq -0x39(%rbp), %rdi
callq 0xe710
jmp 0x2b7a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x2b7a7
movq -0xd8(%rbp), %rax
addq $0x10, %rax
movq %rax, -0xf0(%rbp)
leaq -0x91(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0xeb70
movq -0xe8(%rbp), %rdx
leaq 0x534ca(%rip), %rsi     # 0x7eb79
leaq -0x90(%rbp), %rdi
callq 0x18c80
jmp 0x2b6bd
movq -0xf0(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x13820
movb %al, -0xf1(%rbp)
jmp 0x2b6d8
leaq -0x90(%rbp), %rdi
callq 0xecd8
leaq -0x91(%rbp), %rdi
callq 0xe710
movb -0xf1(%rbp), %al
testb $0x1, %al
jne 0x2b6ff
jmp 0x2b79e
movq -0xd8(%rbp), %rdi
addq $0x10, %rdi
movq %rdi, -0x100(%rbp)
callq 0xe480
movq -0x100(%rbp), %rsi
movq %rax, %rcx
decq %rcx
xorl %eax, %eax
movl %eax, %edx
leaq -0xb8(%rbp), %rdi
callq 0xe6d0
jmp 0x2b735
movq -0xd8(%rbp), %rdi
addq $0x10, %rdi
leaq -0xb8(%rbp), %rsi
callq 0xe800
leaq -0xb8(%rbp), %rdi
callq 0xecd8
movq -0xd8(%rbp), %rax
movl 0xc(%rax), %ecx
orl $0x2, %ecx
movl %ecx, 0xc(%rax)
jmp 0x2b79e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x2b790
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0xecd8
leaq -0x91(%rbp), %rdi
callq 0xe710
jmp 0x2b7a7
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
movq -0xc8(%rbp), %rdi
callq 0xecd8
movq -0x48(%rbp), %rdi
callq 0xeb60
nopl (%rax)