// File: /workspace/github_c_makefile_star2_O1/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 %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x268, %rsp            # imm = 0x268
movq %rdi, %rbx
leaq 0x58(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x395a(%rip), %rsi      # 0xd5ac
leaq 0x3955(%rip), %rdx      # 0xd5ae
leaq 0x48(%rsp), %r14
movq %r14, %rdi
callq 0x4e10
leaq 0x3942(%rip), %rax      # 0xd5af
leaq 0x3950(%rip), %rsi      # 0xd5c4
cmpb $0x0, 0x8(%rbx)
cmovneq %rax, %rsi
movq %r14, %rdi
callq 0x3560
leaq 0x30(%rbx), %rdx
leaq 0x394a(%rip), %rsi      # 0xd5d9
leaq 0x8(%rsp), %rdi
callq 0x4d87
leaq 0x3935(%rip), %rsi      # 0xd5d5
leaq 0x8(%rsp), %rdi
callq 0x3560
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x9cd1
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x9cd8
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
leaq 0x48(%rsp), %rdi
callq 0x30e0
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x9d1b
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x9d36
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x10(%rbx), %r15
movq %r15, %r14
negq %r14
cmovsq %r15, %r14
movl $0x1, %r12d
cmpq $0xa, %r14
jb 0x9da4
movl $0x4, %r12d
movabsq $0x346dc5d63886594b, %rsi # imm = 0x346DC5D63886594B
movq %r14, %rcx
cmpq $0x63, %rcx
jbe 0x9d9b
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x9da1
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x9da4
movq %rcx, %rax
mulq %rsi
shrq $0xb, %rdx
addl $0x4, %r12d
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x9d63
addl $-0x3, %r12d
jmp 0x9da4
addl $-0x2, %r12d
jmp 0x9da4
decl %r12d
shrq $0x3f, %r15
leal (%r15,%r12), %esi
leaq 0x38(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x28(%rsp), %rdi
movl $0x2d, %edx
callq 0x3360
leaq 0x28(%rsp), %r13
addq (%r13), %r15
movq %r15, %rdi
movl %r12d, %esi
movq %r14, %rdx
callq 0xa5c5
leaq 0x3804(%rip), %rcx      # 0xd5e6
movl $0xd, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3330
leaq 0x18(%rsp), %r14
movq %r14, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x9e1c
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x9e23
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x3790(%rip), %rsi      # 0xd5d6
callq 0x3560
movq %rbp, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x9e6e
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x9e75
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
leaq 0x48(%rsp), %rdi
callq 0x30e0
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x9eb8
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9ecf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x9eeb
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x18(%rbx), %r15
movq %r15, %r14
negq %r14
cmovsq %r15, %r14
movl $0x1, %r12d
cmpq $0xa, %r14
jb 0x9f59
movl $0x4, %r12d
movabsq $0x346dc5d63886594b, %rsi # imm = 0x346DC5D63886594B
movq %r14, %rcx
cmpq $0x63, %rcx
jbe 0x9f50
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x9f56
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x9f59
movq %rcx, %rax
mulq %rsi
shrq $0xb, %rdx
addl $0x4, %r12d
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x9f18
addl $-0x3, %r12d
jmp 0x9f59
addl $-0x2, %r12d
jmp 0x9f59
decl %r12d
shrq $0x3f, %r15
leal (%r15,%r12), %esi
leaq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
movq %rax, (%rdi)
movl $0x2d, %edx
callq 0x3360
leaq 0x28(%rsp), %r13
addq (%r13), %r15
movq %r15, %rdi
movl %r12d, %esi
movq %r14, %rdx
callq 0xa5c5
leaq 0x365e(%rip), %rcx      # 0xd5f4
movl $0xd, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3330
leaq 0x18(%rsp), %r14
movq %r14, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x9fd0
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x9fd7
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x35dc(%rip), %rsi      # 0xd5d6
callq 0x3560
movq %rbp, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa022
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0xa029
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
leaq 0x48(%rsp), %rdi
callq 0x30e0
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0xa06c
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0xa083
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0xa09f
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x20(%rbx), %r15
movq %r15, %r14
negq %r14
cmovsq %r15, %r14
movl $0x1, %r12d
cmpq $0xa, %r14
jb 0xa10d
movl $0x4, %r12d
movabsq $0x346dc5d63886594b, %rsi # imm = 0x346DC5D63886594B
movq %r14, %rcx
cmpq $0x63, %rcx
jbe 0xa104
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0xa10a
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0xa10d
movq %rcx, %rax
mulq %rsi
shrq $0xb, %rdx
addl $0x4, %r12d
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0xa0cc
addl $-0x3, %r12d
jmp 0xa10d
addl $-0x2, %r12d
jmp 0xa10d
decl %r12d
shrq $0x3f, %r15
leal (%r15,%r12), %esi
leaq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
movq %rax, (%rdi)
movl $0x2d, %edx
callq 0x3360
leaq 0x28(%rsp), %r13
addq (%r13), %r15
movq %r15, %rdi
movl %r12d, %esi
movq %r14, %rdx
callq 0xa5c5
leaq 0x34b8(%rip), %rcx      # 0xd602
movl $0xf, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3330
leaq 0x18(%rsp), %r14
movq %r14, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa184
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xa18b
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x3428(%rip), %rsi      # 0xd5d6
callq 0x3560
movq %rbp, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa1d6
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0xa1dd
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
leaq 0x48(%rsp), %rdi
callq 0x30e0
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0xa220
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0xa237
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0xa253
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x28(%rbx), %r15
movq %r15, %r14
negq %r14
cmovsq %r15, %r14
movl $0x1, %r12d
cmpq $0xa, %r14
jb 0xa2c1
movl $0x4, %r12d
movabsq $0x346dc5d63886594b, %rsi # imm = 0x346DC5D63886594B
movq %r14, %rcx
cmpq $0x63, %rcx
jbe 0xa2b8
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0xa2be
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0xa2c1
movq %rcx, %rax
mulq %rsi
shrq $0xb, %rdx
addl $0x4, %r12d
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0xa280
addl $-0x3, %r12d
jmp 0xa2c1
addl $-0x2, %r12d
jmp 0xa2c1
decl %r12d
shrq $0x3f, %r15
leal (%r15,%r12), %esi
leaq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
movq %rax, (%rdi)
movl $0x2d, %edx
callq 0x3360
leaq 0x28(%rsp), %r13
addq (%r13), %r15
movq %r15, %rdi
movl %r12d, %esi
movq %r14, %rdx
callq 0xa5c5
leaq 0x3314(%rip), %rcx      # 0xd612
movl $0xf, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3330
leaq 0x18(%rsp), %r14
movq %r14, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa338
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xa33f
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x37e8(%rip), %rsi      # 0xdb4a
callq 0x3560
movq %rbp, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa38a
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0xa391
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
leaq 0x48(%rsp), %rdi
callq 0x30e0
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0xa3d4
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0xa3eb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32e0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0xa407
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32e0
leaq 0x3214(%rip), %rsi      # 0xd622
leaq 0x48(%rsp), %rdi
callq 0x3560
movq (%rbx), %rsi
cmpq $0x0, 0x48(%rsi)
je 0xa48f
addq $0x40, %rsi
leaq 0x68(%rsp), %rdi
movl $0x10, %edx
callq 0x3570
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
leaq 0x68(%rsp), %rdi
callq 0x33a0
leaq 0x68(%rsp), %rdi
callq 0x31c0
leaq 0x68(%rsp), %rdi
callq 0x33e0
movq 0x7b54(%rip), %rax      # 0x11fb8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq 0x70(%rsp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, 0x68(%rsp,%rcx)
callq 0x3240
leaq 0x160(%rsp), %rdi
callq 0x30f0
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq 0x7b30(%rip), %rdi      # 0x11fd0
callq 0x3350
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0xa4c1
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x32e0
addq $0x268, %rsp            # imm = 0x268
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xa59e
jmp 0xa4f9
jmp 0xa515
jmp 0xa536
jmp 0xa59e
jmp 0xa4f9
jmp 0xa515
jmp 0xa536
jmp 0xa59e
jmp 0xa4f9
jmp 0xa515
jmp 0xa536
jmp 0xa59e
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0xa518
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0xa518
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xa539
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0xa539
movq %rax, %rbx
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0xa5a1
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0xa5a1
jmp 0xa59e
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0xa578
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x32e0
jmp 0xa578
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xa5a1
movq 0x18(%rsp), %rsi
jmp 0xa54d
jmp 0xa59e
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x3410
jmp 0xa5a1
movq %rax, %rbx
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0xa5bd
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x32e0
movq %rbx, %rdi
callq 0x3510