// File: xelia-it[P]mustache/third-party/catch2/single_include/catch2/catch.hpp
// Function: Catch::WildcardPattern::matches(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) const
bool WildcardPattern::matches( std::string const& str ) const {
        switch( m_wildcard ) {
            case NoWildcard:
                return m_pattern == normaliseString( str );
            case WildcardAtStart:
                return endsWith( normaliseString( str ), m_pattern );
            case WildcardAtEnd:
                return startsWith( normaliseString( str ), m_pattern );
            case WildcardAtBothEnds:
                return contains( normaliseString( str ), m_pattern );
            default:
                CATCH_INTERNAL_ERROR( "Unknown enum" );
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x100(%rbp)
movl 0xc(%rax), %eax
movq %rax, -0xf8(%rbp)
subq $0x3, %rax
ja 0x6b855
movq -0xf8(%rbp), %rax
leaq 0xd19d0(%rip), %rcx     # 0x13d0b0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x100(%rbp), %rsi
movq %rsi, %rax
addq $0x10, %rax
movq %rax, -0x108(%rbp)
movq -0x18(%rbp), %rdx
leaq -0x38(%rbp), %rdi
callq 0x6e300
movq -0x108(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x8e840
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x52e58
jmp 0x6b932
movq -0x100(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x58(%rbp), %rdi
movq %rdi, -0x118(%rbp)
callq 0x6e300
movq -0x100(%rbp), %rsi
movq -0x118(%rbp), %rdi
addq $0x10, %rsi
callq 0x60f50
movb %al, -0x109(%rbp)
jmp 0x6b768
movb -0x109(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x52e58
jmp 0x6b932
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x52e58
jmp 0x6b940
movq -0x100(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
movq %rdi, -0x128(%rbp)
callq 0x6e300
movq -0x100(%rbp), %rsi
movq -0x128(%rbp), %rdi
addq $0x10, %rsi
callq 0x60d70
movb %al, -0x119(%rbp)
jmp 0x6b7d8
movb -0x119(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x52e58
jmp 0x6b932
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x52e58
jmp 0x6b940
movq -0x100(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0xa8(%rbp), %rdi
callq 0x6e300
movq -0x100(%rbp), %rsi
addq $0x10, %rsi
leaq -0xa8(%rbp), %rdi
callq 0x60be0
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x52e58
jmp 0x6b932
leaq -0xe0(%rbp), %rdi
movq %rdi, -0x140(%rbp)
callq 0x67d90
leaq 0xd3762(%rip), %rsi     # 0x13efd1
leaq -0xf0(%rbp), %rdi
movq %rdi, -0x138(%rbp)
movl $0x3c44, %edx           # imm = 0x3C44
callq 0x8e600
movq -0x140(%rbp), %rdi
movq -0x138(%rbp), %rsi
callq 0x8e5d0
movq %rax, -0x130(%rbp)
jmp 0x6b8a3
movq -0x130(%rbp), %rdi
leaq 0xd39f5(%rip), %rsi     # 0x13f2a6
callq 0x8ace0
movq %rax, -0x148(%rbp)
jmp 0x6b8bf
movq -0x148(%rbp), %rdi
leaq 0xd41cb(%rip), %rsi     # 0x13fa98
callq 0x8e6d0
movq %rax, -0x150(%rbp)
jmp 0x6b8db
movq -0x150(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x53b70
jmp 0x6b8f0
leaq -0xc8(%rbp), %rdi
callq 0x5b700
jmp 0x6b8fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x6b924
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x52e58
leaq -0xe0(%rbp), %rdi
callq 0x67e50
jmp 0x6b940
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x52c90
nopl (%rax)