// File: dadocolussi[P]gdc-circular_queue/tests/catch.hpp
// Function: Catch::JunitReporter::writeSection(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, Catch::CumulativeReporterBase::SectionNode const&)
void writeSection(  std::string const& className,
                            std::string const& rootName,
                            SectionNode const& sectionNode ) {
            std::string name = trim( sectionNode.stats.sectionInfo.name );
            if( !rootName.empty() )
                name = rootName + "/" + name;

            if( !sectionNode.assertions.empty() ||
                !sectionNode.stdOut.empty() ||
                !sectionNode.stdErr.empty() ) {
                XmlWriter::ScopedElement e = xml.scopedElement( "testcase" );
                if( className.empty() ) {
                    xml.writeAttribute( "classname", name );
                    xml.writeAttribute( "name", "root" );
                }
                else {
                    xml.writeAttribute( "classname", className );
                    xml.writeAttribute( "name", name );
                }
                xml.writeAttribute( "time", Catch::toString( sectionNode.stats.durationInSeconds ) );

                writeAssertions( sectionNode );

                if( !sectionNode.stdOut.empty() )
                    xml.scopedElement( "system-out" ).writeText( trim( sectionNode.stdOut ), false );
                if( !sectionNode.stdErr.empty() )
                    xml.scopedElement( "system-err" ).writeText( trim( sectionNode.stdErr ), false );
            }
            for( SectionNode::ChildSections::const_iterator
                    it = sectionNode.childSections.begin(),
                    itEnd = sectionNode.childSections.end();
                    it != itEnd;
                    ++it )
                if( className.empty() )
                    writeSection( name, "", **it );
                else
                    writeSection( className, name, **it );
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x320, %rsp            # imm = 0x320
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x288(%rbp)
movq -0x20(%rbp), %rsi
addq $0x10, %rsi
addq $0x8, %rsi
leaq -0x40(%rbp), %rdi
callq 0x13970
movq -0x18(%rbp), %rdi
callq 0xea90
testb $0x1, %al
jne 0x5360d
movq -0x18(%rbp), %rsi
leaq 0x2a437(%rip), %rdx     # 0x7d9ce
leaq -0x80(%rbp), %rdi
callq 0x1adc0
jmp 0x535a2
leaq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x1ad70
jmp 0x535b5
leaq -0x40(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0xe800
leaq -0x60(%rbp), %rdi
callq 0xecd8
leaq -0x80(%rbp), %rdi
callq 0xecd8
jmp 0x5360d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x53f80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0xecd8
jmp 0x53f80
movq -0x20(%rbp), %rdi
addq $0xc0, %rdi
callq 0x53fa0
testb $0x1, %al
jne 0x53623
jmp 0x53651
movq -0x20(%rbp), %rdi
addq $0xd8, %rdi
callq 0xea90
testb $0x1, %al
jne 0x53639
jmp 0x53651
movq -0x20(%rbp), %rdi
addq $0xf8, %rdi
callq 0xea90
testb $0x1, %al
jne 0x53e09
movq -0x288(%rbp), %rax
addq $0xc8, %rax
movq %rax, -0x298(%rbp)
leaq -0xb9(%rbp), %rdi
movq %rdi, -0x290(%rbp)
callq 0xeb70
movq -0x290(%rbp), %rdx
leaq 0x2b32b(%rip), %rsi     # 0x7e9b1
leaq -0xb8(%rbp), %rdi
callq 0x18c80
jmp 0x53694
movq -0x298(%rbp), %rsi
leaq -0x98(%rbp), %rdi
leaq -0xb8(%rbp), %rdx
callq 0x51f20
jmp 0x536b0
leaq -0xb8(%rbp), %rdi
callq 0xecd8
leaq -0xb9(%rbp), %rdi
callq 0xe710
movq -0x10(%rbp), %rdi
callq 0xea90
testb $0x1, %al
jne 0x536da
jmp 0x53893
movq -0x288(%rbp), %rax
addq $0xc8, %rax
movq %rax, -0x2a8(%rbp)
leaq -0xe1(%rbp), %rdi
movq %rdi, -0x2a0(%rbp)
callq 0xeb70
movq -0x2a0(%rbp), %rdx
leaq 0x2b2ab(%rip), %rsi     # 0x7e9ba
leaq -0xe0(%rbp), %rdi
callq 0x18c80
jmp 0x5371d
movq -0x2a8(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x51b40
jmp 0x53736
leaq -0xe0(%rbp), %rdi
callq 0xecd8
leaq -0xe1(%rbp), %rdi
callq 0xe710
movq -0x288(%rbp), %rax
addq $0xc8, %rax
movq %rax, -0x2b8(%rbp)
leaq -0x109(%rbp), %rdi
movq %rdi, -0x2b0(%rbp)
callq 0xeb70
movq -0x2b0(%rbp), %rdx
leaq 0x2a7cf(%rip), %rsi     # 0x7df52
leaq -0x108(%rbp), %rdi
callq 0x18c80
jmp 0x53791
movq -0x2b8(%rbp), %rdi
leaq 0x2b225(%rip), %rdx     # 0x7e9c4
leaq -0x108(%rbp), %rsi
callq 0x53fe0
jmp 0x537ad
leaq -0x108(%rbp), %rdi
callq 0xecd8
leaq -0x109(%rbp), %rdi
callq 0xe710
jmp 0x53a06
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x537fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0xecd8
leaq -0xb9(%rbp), %rdi
callq 0xe710
jmp 0x53f80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x5383f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0xecd8
leaq -0xe1(%rbp), %rdi
callq 0xe710
jmp 0x53df8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x53882
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x108(%rbp), %rdi
callq 0xecd8
leaq -0x109(%rbp), %rdi
callq 0xe710
jmp 0x53df8
movq -0x288(%rbp), %rax
addq $0xc8, %rax
movq %rax, -0x2c8(%rbp)
leaq -0x131(%rbp), %rdi
movq %rdi, -0x2c0(%rbp)
callq 0xeb70
movq -0x2c0(%rbp), %rdx
leaq 0x2b0f2(%rip), %rsi     # 0x7e9ba
leaq -0x130(%rbp), %rdi
callq 0x18c80
jmp 0x538d6
movq -0x2c8(%rbp), %rdi
movq -0x10(%rbp), %rdx
leaq -0x130(%rbp), %rsi
callq 0x51b40
jmp 0x538ef
leaq -0x130(%rbp), %rdi
callq 0xecd8
leaq -0x131(%rbp), %rdi
callq 0xe710
movq -0x288(%rbp), %rax
addq $0xc8, %rax
movq %rax, -0x2d8(%rbp)
leaq -0x159(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
callq 0xeb70
movq -0x2d0(%rbp), %rdx
leaq 0x2a616(%rip), %rsi     # 0x7df52
leaq -0x158(%rbp), %rdi
callq 0x18c80
jmp 0x5394a
movq -0x2d8(%rbp), %rdi
leaq -0x158(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x51b40
jmp 0x53963
leaq -0x158(%rbp), %rdi
callq 0xecd8
leaq -0x159(%rbp), %rdi
callq 0xe710
jmp 0x53a06
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x539b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x130(%rbp), %rdi
callq 0xecd8
leaq -0x131(%rbp), %rdi
callq 0xe710
jmp 0x53df8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x539f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x158(%rbp), %rdi
callq 0xecd8
leaq -0x159(%rbp), %rdi
callq 0xe710
jmp 0x53df8
movq -0x288(%rbp), %rax
addq $0xc8, %rax
movq %rax, -0x2e8(%rbp)
leaq -0x181(%rbp), %rdi
movq %rdi, -0x2e0(%rbp)
callq 0xeb70
movq -0x2e0(%rbp), %rdx
leaq 0x2a933(%rip), %rsi     # 0x7e36e
leaq -0x180(%rbp), %rdi
callq 0x18c80
jmp 0x53a49
movq -0x20(%rbp), %rax
movsd 0x98(%rax), %xmm0
leaq -0x1a8(%rbp), %rdi
callq 0x15070
jmp 0x53a63
movq -0x2e8(%rbp), %rdi
leaq -0x180(%rbp), %rsi
leaq -0x1a8(%rbp), %rdx
callq 0x51b40
jmp 0x53a7f
leaq -0x1a8(%rbp), %rdi
callq 0xecd8
leaq -0x180(%rbp), %rdi
callq 0xecd8
leaq -0x181(%rbp), %rdi
callq 0xe710
movq -0x288(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x540e0
jmp 0x53ab5
movq -0x20(%rbp), %rdi
addq $0xd8, %rdi
callq 0xea90
testb $0x1, %al
jne 0x53c8e
movq -0x288(%rbp), %rax
addq $0xc8, %rax
movq %rax, -0x2f8(%rbp)
leaq -0x1d1(%rbp), %rdi
movq %rdi, -0x2f0(%rbp)
callq 0xeb70
movq -0x2f0(%rbp), %rdx
leaq 0x2ae31(%rip), %rsi     # 0x7e933
leaq -0x1d0(%rbp), %rdi
callq 0x18c80
jmp 0x53b10
movq -0x2f8(%rbp), %rsi
leaq -0x1b0(%rbp), %rdi
leaq -0x1d0(%rbp), %rdx
callq 0x51f20
jmp 0x53b2c
movq -0x20(%rbp), %rsi
addq $0xd8, %rsi
leaq -0x1f8(%rbp), %rdi
callq 0x13970
jmp 0x53b45
leaq -0x1b0(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
xorl %edx, %edx
callq 0x51fa0
jmp 0x53b5c
leaq -0x1f8(%rbp), %rdi
callq 0xecd8
leaq -0x1b0(%rbp), %rdi
callq 0x51fe0
leaq -0x1d0(%rbp), %rdi
callq 0xecd8
leaq -0x1d1(%rbp), %rdi
callq 0xe710
jmp 0x53c8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x53be3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x53bd7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x1a8(%rbp), %rdi
callq 0xecd8
leaq -0x180(%rbp), %rdi
callq 0xecd8
leaq -0x181(%rbp), %rdi
callq 0xe710
jmp 0x53df8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x53df8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x53c7d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x53c71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x53c65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x1f8(%rbp), %rdi
callq 0xecd8
leaq -0x1b0(%rbp), %rdi
callq 0x51fe0
leaq -0x1d0(%rbp), %rdi
callq 0xecd8
leaq -0x1d1(%rbp), %rdi
callq 0xe710
jmp 0x53df8
movq -0x20(%rbp), %rdi
addq $0xf8, %rdi
callq 0xea90
testb $0x1, %al
jne 0x53dea
movq -0x288(%rbp), %rax
addq $0xc8, %rax
movq %rax, -0x308(%rbp)
leaq -0x221(%rbp), %rdi
movq %rdi, -0x300(%rbp)
callq 0xeb70
movq -0x300(%rbp), %rdx
leaq 0x2ac63(%rip), %rsi     # 0x7e93e
leaq -0x220(%rbp), %rdi
callq 0x18c80
jmp 0x53ce9
movq -0x308(%rbp), %rsi
leaq -0x200(%rbp), %rdi
leaq -0x220(%rbp), %rdx
callq 0x51f20
jmp 0x53d05
movq -0x20(%rbp), %rsi
addq $0xf8, %rsi
leaq -0x248(%rbp), %rdi
callq 0x13970
jmp 0x53d1e
leaq -0x200(%rbp), %rdi
leaq -0x248(%rbp), %rsi
xorl %edx, %edx
callq 0x51fa0
jmp 0x53d35
leaq -0x248(%rbp), %rdi
callq 0xecd8
leaq -0x200(%rbp), %rdi
callq 0x51fe0
leaq -0x220(%rbp), %rdi
callq 0xecd8
leaq -0x221(%rbp), %rdi
callq 0xe710
jmp 0x53dea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x53ddc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x53dd0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x53dc4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x248(%rbp), %rdi
callq 0xecd8
leaq -0x200(%rbp), %rdi
callq 0x51fe0
leaq -0x220(%rbp), %rdi
callq 0xecd8
leaq -0x221(%rbp), %rdi
callq 0xe710
jmp 0x53df8
leaq -0x98(%rbp), %rdi
callq 0x51fe0
jmp 0x53e09
leaq -0x98(%rbp), %rdi
callq 0x51fe0
jmp 0x53f80
movq -0x20(%rbp), %rdi
addq $0xa8, %rdi
callq 0x4cff0
movq %rax, -0x250(%rbp)
movq -0x20(%rbp), %rdi
addq $0xa8, %rdi
callq 0x4d020
movq %rax, -0x258(%rbp)
leaq -0x250(%rbp), %rdi
leaq -0x258(%rbp), %rsi
callq 0x54160
testb $0x1, %al
jne 0x53e53
jmp 0x53f6e
movq -0x10(%rbp), %rdi
callq 0xea90
testb $0x1, %al
jne 0x53e65
jmp 0x53f1e
leaq -0x279(%rbp), %rdi
movq %rdi, -0x310(%rbp)
callq 0xeb70
movq -0x310(%rbp), %rdx
leaq 0x2aba4(%rip), %rsi     # 0x7ea2a
leaq -0x278(%rbp), %rdi
callq 0x18c80
jmp 0x53e94
leaq -0x250(%rbp), %rdi
callq 0x4cf90
movq %rax, %rdi
callq 0x4cd90
movq -0x288(%rbp), %rdi
movq %rax, %rcx
leaq -0x40(%rbp), %rsi
leaq -0x278(%rbp), %rdx
callq 0x53540
jmp 0x53ec4
leaq -0x278(%rbp), %rdi
callq 0xecd8
leaq -0x279(%rbp), %rdi
callq 0xe710
jmp 0x53f5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
jmp 0x53f10
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x278(%rbp), %rdi
callq 0xecd8
leaq -0x279(%rbp), %rdi
callq 0xe710
jmp 0x53f80
movq -0x10(%rbp), %rax
movq %rax, -0x318(%rbp)
leaq -0x250(%rbp), %rdi
callq 0x4cf90
movq %rax, %rdi
callq 0x4cd90
movq -0x288(%rbp), %rdi
movq -0x318(%rbp), %rsi
movq %rax, %rcx
leaq -0x40(%rbp), %rdx
callq 0x53540
jmp 0x53f59
jmp 0x53f5b
jmp 0x53f5d
leaq -0x250(%rbp), %rdi
callq 0x541a0
jmp 0x53e37
leaq -0x40(%rbp), %rdi
callq 0xecd8
addq $0x320, %rsp            # imm = 0x320
popq %rbp
retq
leaq -0x40(%rbp), %rdi
callq 0xecd8
movq -0x88(%rbp), %rdi
callq 0xeb60
nopw %cs:(%rax,%rax)
nop