// File: /workspace/github_cpp_makefile_star2_O3/ahupowerdns[P]mcounter/./ext/doctest.h
// Function: doctest::detail::Subcase::Subcase(doctest::String const&, char const*, int)
Subcase::Subcase(const String& name, const char* file, int line)
            : m_signature({name, file, line}) {
        auto* s = g_cs;

        // check subcase filters
        if(s->subcasesStack.size() < size_t(s->subcase_filter_levels)) {
            if(!matchesAny(m_signature.m_name.c_str(), s->filters[6], true, s->case_sensitive))
                return;
            if(matchesAny(m_signature.m_name.c_str(), s->filters[7], false, s->case_sensitive))
                return;
        }
        
        // if a Subcase on the same level has already been entered
        if(s->subcasesStack.size() < size_t(s->subcasesCurrentMaxLevel)) {
            s->should_reenter = true;
            return;
        }

        // push the current signature to the stack so we can check if the
        // current stack + the current new subcase have been traversed
        s->subcasesStack.push_back(m_signature);
        if(s->subcasesPassed.count(s->subcasesStack) != 0) {
            // pop - revert to previous stack since we've already passed this
            s->subcasesStack.pop_back();
            return;
        }

        s->subcasesCurrentMaxLevel = s->subcasesStack.size();
        m_entered = true;

        DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_start, m_signature);
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %ecx, %ebp
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
cmpb $0x0, 0x17(%rsi)
js 0x7c93
movq 0x10(%r15), %rax
movq %rax, 0x10(%rbx)
movups (%r15), %xmm0
movups %xmm0, (%rbx)
jmp 0x7cae
movl 0x8(%r15), %esi
movq %rbx, %rdi
callq 0x62e4
movq (%r15), %rsi
movl 0x8(%r15), %edx
movq %rax, %rdi
callq 0x5300
movq %r14, 0x18(%rbx)
movl %ebp, 0x20(%rbx)
movb $0x0, 0x28(%rbx)
movq 0x1e6f8(%rip), %r15     # 0x263b8
movq 0x1118(%r15), %rax
subq 0x1110(%r15), %rax
sarq $0x3, %rax
movabsq $-0x3333333333333333, %r12 # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %r12
movslq 0x68(%r15), %rax
cmpq %rax, %r12
jae 0x7d42
cmpb $0x0, 0x17(%rbx)
movq %rbx, %r14
jns 0x7cf5
movq (%rbx), %r14
movq 0x10b8(%r15), %r13
movq 0x90(%r13), %rsi
movq 0x98(%r13), %rdx
movzbl 0x6d(%r15), %ebp
movq %r14, %rdi
movl $0x1, %ecx
movl %ebp, %r8d
callq 0x7e2f
testb %al, %al
je 0x7d9d
movq 0xa8(%r13), %rsi
movq 0xb0(%r13), %rdx
movq %r14, %rdi
xorl %ecx, %ecx
movl %ebp, %r8d
callq 0x7e2f
testb %al, %al
jne 0x7d9d
movslq 0x1158(%r15), %rax
cmpq %rax, %r12
jae 0x7d58
movb $0x1, 0x115c(%r15)
jmp 0x7d9d
leaq 0x1110(%r15), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1617e
leaq 0x1128(%r15), %rdi
movq %r14, %rsi
callq 0x17546
leaq 0x1130(%r15), %rdx
movq 0x1118(%r15), %rcx
cmpq %rdx, %rax
je 0x7dac
leaq -0x28(%rcx), %rax
movq %rax, 0x1118(%r15)
cmpb $0x0, -0x11(%rcx)
js 0x7df4
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
subq 0x1110(%r15), %rcx
shrq $0x3, %rcx
imull $0xcccccccd, %ecx, %eax # imm = 0xCCCCCCCD
movl %eax, 0x1158(%r15)
movb $0x1, 0x28(%rbx)
movq 0x1e5e9(%rip), %rax     # 0x263b8
movq 0x10d0(%rax), %r14
movq 0x10d8(%rax), %r15
cmpq %r15, %r14
je 0x7d9d
movq (%r14), %rdi
movq (%rdi), %rax
movq %rbx, %rsi
callq *0x38(%rax)
addq $0x8, %r14
jmp 0x7ddd
movq (%rax), %rdi
testq %rdi, %rdi
je 0x7d9d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x5480
jmp 0x7e11
movq %rax, %r14
cmpb $0x0, 0x17(%rbx)
jns 0x7e27
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x7e27
callq 0x5480
movq %r14, %rdi
callq 0x5620