// File: minimind[P]simple-graph/unittest/catch.hpp
// Function: Catch::RunContext::RunContext(Catch::Ptr<Catch::IConfig const> const&, Catch::Ptr<Catch::IStreamingReporter> const&)
explicit RunContext( Ptr<IConfig const> const& config, Ptr<IStreamingReporter> const& reporter )
        :   m_runInfo( config->name() ),
            m_context( getCurrentMutableContext() ),
            m_activeTestCase( NULL ),
            m_config( config ),
            m_reporter( reporter ),
            m_prevRunner( m_context.getRunner() ),
            m_prevResultCapture( m_context.getResultCapture() ),
            m_prevConfig( m_context.getConfig() )
        {
            m_context.setRunner( this );
            m_context.setConfig( m_config );
            m_context.setResultCapture( this );
            m_reporter->testRunStarting( m_runInfo );
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x37c00
movq -0x60(%rbp), %rdi
addq $0x8, %rdi
callq 0x37c20
movq -0x60(%rbp), %rax
leaq 0x75604(%rip), %rcx     # 0xac560
movq %rcx, (%rax)
leaq 0x7565a(%rip), %rcx     # 0xac5c0
movq %rcx, 0x8(%rax)
addq $0x10, %rax
movq %rax, -0x58(%rbp)
movq -0x10(%rbp), %rdi
callq 0x14910
movq %rax, -0x50(%rbp)
jmp 0x36f81
movq -0x50(%rbp), %rsi
movq (%rsi), %rax
movq 0x30(%rax), %rax
leaq -0x38(%rbp), %rdi
callq *%rax
jmp 0x36f94
movq -0x58(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x37c40
jmp 0x36fa3
leaq -0x38(%rbp), %rdi
callq 0xb330
movq -0x60(%rbp), %rax
addq $0x30, %rax
movq %rax, -0x70(%rbp)
callq 0xd000
movq %rax, -0x68(%rbp)
jmp 0x36fc3
movq -0x60(%rbp), %rdi
movq -0x70(%rbp), %rax
movq -0x68(%rbp), %rcx
movq %rcx, (%rax)
movq $0x0, 0x38(%rdi)
addq $0x40, %rdi
movq %rdi, -0x78(%rbp)
callq 0x37c70
jmp 0x36fe9
movq -0x60(%rbp), %rdi
addq $0xb8, %rdi
movq %rdi, -0x80(%rbp)
callq 0xd4c0
jmp 0x36fff
movq -0x60(%rbp), %rdi
addq $0x170, %rdi            # imm = 0x170
movq %rdi, -0x88(%rbp)
movq -0x10(%rbp), %rsi
callq 0x1df00
jmp 0x3701c
movq -0x60(%rbp), %rdi
addq $0x178, %rdi            # imm = 0x178
callq 0x372d0
jmp 0x3702e
movq -0x60(%rbp), %rdi
addq $0x1a8, %rdi            # imm = 0x1A8
movq %rdi, -0x90(%rbp)
movq -0x18(%rbp), %rsi
callq 0x37c90
jmp 0x3704b
movq -0x60(%rbp), %rdi
addq $0x1b0, %rdi            # imm = 0x1B0
movq %rdi, -0xa8(%rbp)
callq 0x37cd0
movq -0x60(%rbp), %rax
movq %rax, %rcx
addq $0x1c8, %rcx            # imm = 0x1C8
movq %rcx, -0xa0(%rbp)
movq 0x30(%rax), %rdi
movq (%rdi), %rax
movq 0x18(%rax), %rax
callq *%rax
movq %rax, -0x98(%rbp)
jmp 0x3708d
movq -0x60(%rbp), %rax
movq -0xa0(%rbp), %rcx
movq -0x98(%rbp), %rdx
movq %rdx, (%rcx)
movq %rax, %rcx
addq $0x1d0, %rcx            # imm = 0x1D0
movq %rcx, -0xb8(%rbp)
movq 0x30(%rax), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, -0xb0(%rbp)
jmp 0x370c9
movq -0x60(%rbp), %rax
movq -0xb8(%rbp), %rcx
movq -0xb0(%rbp), %rdx
movq %rdx, (%rcx)
movq %rax, %rdi
addq $0x1d8, %rdi            # imm = 0x1D8
movq %rdi, -0xc0(%rbp)
movq 0x30(%rax), %rsi
movq (%rsi), %rax
movq 0x30(%rax), %rax
callq *%rax
jmp 0x370fe
movq -0x60(%rbp), %rdi
addq $0x1e0, %rdi            # imm = 0x1E0
movq %rdi, -0xc8(%rbp)
callq 0x13890
jmp 0x37117
movq -0x60(%rbp), %rdi
addq $0x250, %rdi            # imm = 0x250
movq %rdi, -0xd0(%rbp)
callq 0x37cf0
movq -0x60(%rbp), %rsi
movq 0x30(%rsi), %rdi
addq $0x8, %rsi
movq (%rdi), %rax
movq 0x40(%rax), %rax
callq *%rax
jmp 0x37145
movq -0x60(%rbp), %rsi
movq 0x30(%rsi), %rdi
addq $0x170, %rsi            # imm = 0x170
movq (%rdi), %rax
movq 0x48(%rax), %rax
callq *%rax
jmp 0x3715f
movq -0x60(%rbp), %rsi
movq 0x30(%rsi), %rdi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
jmp 0x37172
movq -0x60(%rbp), %rdi
addq $0x1a8, %rdi            # imm = 0x1A8
callq 0x37d10
movq %rax, -0xd8(%rbp)
jmp 0x3718b
movq -0xd8(%rbp), %rdi
movq -0x60(%rbp), %rsi
addq $0x10, %rsi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
jmp 0x371a5
addq $0xe0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x372a2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xb330
jmp 0x372a2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x37299
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x37290
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x37287
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x3727b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x37263
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x37257
movq -0xd0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
callq 0x37d30
movq -0xc8(%rbp), %rdi
callq 0x13930
movq -0xc0(%rbp), %rdi
callq 0x14930
movq -0xa8(%rbp), %rdi
callq 0x15520
movq -0x90(%rbp), %rdi
callq 0x33d20
movq -0x88(%rbp), %rdi
callq 0x14930
movq -0x80(%rbp), %rdi
callq 0xd570
movq -0x78(%rbp), %rdi
callq 0x37d90
movq -0x58(%rbp), %rdi
callq 0x155a0
movq -0x60(%rbp), %rdi
addq $0x8, %rdi
callq 0x126a0
movq -0x60(%rbp), %rdi
callq 0x12040
movq -0x40(%rbp), %rdi
callq 0xb920
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)