// File: /workspace/github_c_makefile_star2_O2/OpenGene[P]pecheck/src/pecheck.cpp
// Function: PECheck::report()
void PECheck::report() {
    string json = "{\n";
    if(mPassed)
        json += "\t\"result\":\"passed\",\n";
    else
        json += "\t\"result\":\"failed\",\n";

    json += "\t\"message\":\"" + mFailedMessage + "\",\n";

    json += "\t\"read1_num\":" + to_string(mRead1Num) + ",\n";
    json += "\t\"read2_num\":" + to_string(mRead2Num) + ",\n";
    json += "\t\"read1_bases\":" + to_string(mRead1Bases) + ",\n";
    json += "\t\"read2_bases\":" + to_string(mRead2Bases) + "\n";

    json += "}\n";

    if(!mOptions->jsonFile.empty()) {
        ofstream out(mOptions->jsonFile);
        out.write(json.c_str(), json.length());
        out.flush();
        out.close();
    }

    cout << json;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x268, %rsp            # imm = 0x268
movq %rdi, %rbx
leaq 0x2a2c(%rip), %rsi      # 0xa5ac
leaq 0x48(%rsp), %r14
leaq 0x68(%rsp), %rdx
movq %r14, %rdi
callq 0x44ec
leaq 0x2a16(%rip), %rax      # 0xa5af
leaq 0x2a24(%rip), %rsi      # 0xa5c4
cmpb $0x0, 0x8(%rbx)
cmovneq %rax, %rsi
movq %r14, %rdi
callq 0x3520
leaq 0x30(%rbx), %rdx
leaq 0x2a1e(%rip), %rsi      # 0xa5d9
leaq 0x8(%rsp), %rdi
callq 0x4566
leaq 0x2a09(%rip), %rdx      # 0xa5d5
leaq 0x68(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x657e
leaq 0x48(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x3550
leaq 0x68(%rsp), %rdi
callq 0x3568
leaq 0x8(%rsp), %rdi
callq 0x3568
movq 0x10(%rbx), %rsi
leaq 0x28(%rsp), %rdi
callq 0x7ea6
leaq 0x29d3(%rip), %rsi      # 0xa5e6
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x6792
leaq 0x29ad(%rip), %rdx      # 0xa5d6
leaq 0x68(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x657e
leaq 0x48(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x3550
leaq 0x68(%rsp), %rdi
callq 0x3568
leaq 0x8(%rsp), %rdi
callq 0x3568
leaq 0x28(%rsp), %rdi
callq 0x3568
movq 0x18(%rbx), %rsi
leaq 0x28(%rsp), %rdi
callq 0x7ea6
leaq 0x297a(%rip), %rsi      # 0xa5f4
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x6792
leaq 0x2946(%rip), %rdx      # 0xa5d6
leaq 0x68(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x657e
leaq 0x48(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x3550
leaq 0x68(%rsp), %rdi
callq 0x3568
leaq 0x8(%rsp), %rdi
callq 0x3568
leaq 0x28(%rsp), %rdi
callq 0x3568
movq 0x20(%rbx), %rsi
leaq 0x28(%rsp), %rdi
callq 0x7ea6
leaq 0x2921(%rip), %rsi      # 0xa602
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x6792
leaq 0x28df(%rip), %rdx      # 0xa5d6
leaq 0x68(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x657e
leaq 0x48(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x3550
leaq 0x68(%rsp), %rdi
callq 0x3568
leaq 0x8(%rsp), %rdi
callq 0x3568
leaq 0x28(%rsp), %rdi
callq 0x3568
movq 0x28(%rbx), %rsi
leaq 0x28(%rsp), %rdi
callq 0x7ea6
leaq 0x28ca(%rip), %rsi      # 0xa612
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x6792
leaq 0x2dec(%rip), %rdx      # 0xab4a
leaq 0x68(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x657e
leaq 0x48(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x3550
leaq 0x68(%rsp), %rdi
callq 0x3568
leaq 0x8(%rsp), %rdi
callq 0x3568
leaq 0x28(%rsp), %rdi
callq 0x3568
leaq 0x2881(%rip), %rsi      # 0xa622
leaq 0x48(%rsp), %rdi
callq 0x3520
movq (%rbx), %rsi
cmpq $0x0, 0x48(%rsi)
je 0x7df8
addq $0x40, %rsi
leaq 0x68(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0x3540
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
leaq 0x68(%rsp), %rdi
callq 0x3350
leaq 0x68(%rsp), %rdi
callq 0x3190
leaq 0x68(%rsp), %rdi
callq 0x33b0
leaq 0x68(%rsp), %rdi
callq 0x33e0
movq 0x81d1(%rip), %rdi      # 0xffd0
leaq 0x48(%rsp), %rsi
callq 0x3220
leaq 0x48(%rsp), %rdi
callq 0x3568
addq $0x268, %rsp            # imm = 0x268
popq %rbx
popq %r14
retq
jmp 0x7e91
jmp 0x7e38
jmp 0x7e47
jmp 0x7e56
jmp 0x7e91
jmp 0x7e38
jmp 0x7e47
jmp 0x7e56
jmp 0x7e91
jmp 0x7e38
jmp 0x7e47
jmp 0x7e56
jmp 0x7e91
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x3568
jmp 0x7e4a
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x3568
jmp 0x7e59
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x3568
jmp 0x7e94
jmp 0x7e91
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x3568
jmp 0x7e79
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
jmp 0x7e5e
jmp 0x7e91
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x33e0
jmp 0x7e94
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x3568
movq %rbx, %rdi
callq 0x34e0