// File: xelia-it[P]mustache/third-party/catch2/single_include/catch2/catch.hpp
// Function: Catch::TestCaseTracking::SectionTracker::acquire(Catch::TestCaseTracking::TrackerContext&, Catch::TestCaseTracking::NameAndLocation const&)
SectionTracker& SectionTracker::acquire( TrackerContext& ctx, NameAndLocation const& nameAndLocation ) {
        std::shared_ptr<SectionTracker> section;

        ITracker& currentTracker = ctx.currentTracker();
        if( ITrackerPtr childTracker = currentTracker.findChild( nameAndLocation ) ) {
            assert( childTracker );
            assert( childTracker->isSectionTracker() );
            section = std::static_pointer_cast<SectionTracker>( childTracker );
        }
        else {
            section = std::make_shared<SectionTracker>( nameAndLocation, ctx, &currentTracker );
            currentTracker.addChild( section );
        }
        if( !ctx.completedCycle() )
            section->tryOpen();
        return *section;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x92640
movq -0x8(%rbp), %rdi
callq 0x645c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq (%rsi), %rax
movq 0x60(%rax), %rax
leaq -0x38(%rbp), %rdi
callq *%rax
jmp 0x63890
leaq -0x38(%rbp), %rdi
callq 0x92660
testb $0x1, %al
jne 0x638a2
jmp 0x63966
leaq -0x38(%rbp), %rdi
callq 0x92660
testb $0x1, %al
jne 0x638b1
jmp 0x638b3
jmp 0x638e3
leaq 0xdc0f8(%rip), %rdi     # 0x13f9b2
leaq 0xdb710(%rip), %rsi     # 0x13efd1
movl $0x38ca, %edx           # imm = 0x38CA
leaq 0xdc0f2(%rip), %rcx     # 0x13f9bf
callq 0x524b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x63a68
leaq -0x38(%rbp), %rdi
callq 0x92680
movq %rax, %rdi
movq (%rdi), %rax
movq 0x70(%rax), %rax
callq *%rax
movb %al, -0x81(%rbp)
jmp 0x63900
movb -0x81(%rbp), %al
testb $0x1, %al
jne 0x6390c
jmp 0x6390e
jmp 0x6393e
leaq 0xdc11d(%rip), %rdi     # 0x13fa32
leaq 0xdb6b5(%rip), %rsi     # 0x13efd1
movl $0x38cb, %edx           # imm = 0x38CB
leaq 0xdc097(%rip), %rcx     # 0x13f9bf
callq 0x524b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x63a34
leaq -0x58(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x926a0
leaq -0x20(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x926f0
leaq -0x58(%rbp), %rdi
callq 0x92260
jmp 0x63a09
movq -0x10(%rbp), %rsi
movq -0x8(%rbp), %rdx
movq -0x28(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x68(%rbp), %rdi
leaq -0x70(%rbp), %rcx
callq 0x92720
jmp 0x63985
leaq -0x20(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
leaq -0x68(%rbp), %rsi
movq %rsi, -0xa8(%rbp)
callq 0x926f0
movq -0xa8(%rbp), %rdi
callq 0x92260
movq -0xa0(%rbp), %rsi
movq -0x28(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x80(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x927a0
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
movq (%rdi), %rax
movq 0x58(%rax), %rax
callq *%rax
jmp 0x639e7
leaq -0x80(%rbp), %rdi
callq 0x927d0
jmp 0x63a09
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x927d0
jmp 0x63a34
leaq -0x38(%rbp), %rdi
callq 0x927d0
movq -0x8(%rbp), %rdi
callq 0x6a7c0
testb $0x1, %al
jne 0x63a3f
leaq -0x20(%rbp), %rdi
callq 0x927f0
movq %rax, %rdi
callq 0x6b270
jmp 0x63a32
jmp 0x63a3f
leaq -0x38(%rbp), %rdi
callq 0x927d0
jmp 0x63a68
leaq -0x20(%rbp), %rdi
callq 0x92810
movq %rax, -0xb0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x92260
movq -0xb0(%rbp), %rax
addq $0xb0, %rsp
popq %rbp
retq
leaq -0x20(%rbp), %rdi
callq 0x92260
movq -0x40(%rbp), %rdi
callq 0x52c90
nopw (%rax,%rax)