// File: /workspace/github_c_makefile_star2_O3/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 0x3c72(%rip), %rsi      # 0xd5ac
leaq 0x3c6d(%rip), %rdx      # 0xd5ae
leaq 0x48(%rsp), %r14
movq %r14, %rdi
callq 0x4ce4
leaq 0x3c5a(%rip), %rax      # 0xd5af
leaq 0x3c68(%rip), %rsi      # 0xd5c4
cmpb $0x0, 0x8(%rbx)
cmovneq %rax, %rsi
movq %r14, %rdi
callq 0x3550
leaq 0x30(%rbx), %rdx
leaq 0x3c62(%rip), %rsi      # 0xd5d9
leaq 0x8(%rsp), %rdi
callq 0x4c5b
leaq 0x3c4d(%rip), %rsi      # 0xd5d5
leaq 0x8(%rsp), %rdi
callq 0x3550
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x99b9
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x99c0
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 0x9a03
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x32d0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x9a1e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32d0
movq 0x10(%rbx), %r15
movq %r15, %r14
negq %r14
cmovsq %r15, %r14
movl $0x1, %r12d
cmpq $0xa, %r14
jb 0x9a8c
movl $0x4, %r12d
movabsq $0x346dc5d63886594b, %rsi # imm = 0x346DC5D63886594B
movq %r14, %rcx
cmpq $0x63, %rcx
jbe 0x9a83
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x9a89
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x9a8c
movq %rcx, %rax
mulq %rsi
shrq $0xb, %rdx
addl $0x4, %r12d
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x9a4b
addl $-0x3, %r12d
jmp 0x9a8c
addl $-0x2, %r12d
jmp 0x9a8c
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 0x3350
leaq 0x28(%rsp), %r13
addq (%r13), %r15
movq %r15, %rdi
movl %r12d, %esi
movq %r14, %rdx
callq 0xa2ad
leaq 0x3b1c(%rip), %rcx      # 0xd5e6
movl $0xd, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3320
leaq 0x18(%rsp), %r14
movq %r14, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x9b04
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x9b0b
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 0x3aa8(%rip), %rsi      # 0xd5d6
callq 0x3550
movq %rbp, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x9b56
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x9b5d
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 0x9ba0
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x32d0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9bb7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32d0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x9bd3
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32d0
movq 0x18(%rbx), %r15
movq %r15, %r14
negq %r14
cmovsq %r15, %r14
movl $0x1, %r12d
cmpq $0xa, %r14
jb 0x9c41
movl $0x4, %r12d
movabsq $0x346dc5d63886594b, %rsi # imm = 0x346DC5D63886594B
movq %r14, %rcx
cmpq $0x63, %rcx
jbe 0x9c38
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x9c3e
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x9c41
movq %rcx, %rax
mulq %rsi
shrq $0xb, %rdx
addl $0x4, %r12d
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x9c00
addl $-0x3, %r12d
jmp 0x9c41
addl $-0x2, %r12d
jmp 0x9c41
decl %r12d
shrq $0x3f, %r15
leal (%r15,%r12), %esi
leaq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
movq %rax, (%rdi)
movl $0x2d, %edx
callq 0x3350
leaq 0x28(%rsp), %r13
addq (%r13), %r15
movq %r15, %rdi
movl %r12d, %esi
movq %r14, %rdx
callq 0xa2ad
leaq 0x3976(%rip), %rcx      # 0xd5f4
movl $0xd, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3320
leaq 0x18(%rsp), %r14
movq %r14, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x9cb8
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x9cbf
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 0x38f4(%rip), %rsi      # 0xd5d6
callq 0x3550
movq %rbp, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x9d0a
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x9d11
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 0x9d54
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x32d0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9d6b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32d0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x9d87
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32d0
movq 0x20(%rbx), %r15
movq %r15, %r14
negq %r14
cmovsq %r15, %r14
movl $0x1, %r12d
cmpq $0xa, %r14
jb 0x9df5
movl $0x4, %r12d
movabsq $0x346dc5d63886594b, %rsi # imm = 0x346DC5D63886594B
movq %r14, %rcx
cmpq $0x63, %rcx
jbe 0x9dec
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x9df2
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x9df5
movq %rcx, %rax
mulq %rsi
shrq $0xb, %rdx
addl $0x4, %r12d
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x9db4
addl $-0x3, %r12d
jmp 0x9df5
addl $-0x2, %r12d
jmp 0x9df5
decl %r12d
shrq $0x3f, %r15
leal (%r15,%r12), %esi
leaq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
movq %rax, (%rdi)
movl $0x2d, %edx
callq 0x3350
leaq 0x28(%rsp), %r13
addq (%r13), %r15
movq %r15, %rdi
movl %r12d, %esi
movq %r14, %rdx
callq 0xa2ad
leaq 0x37d0(%rip), %rcx      # 0xd602
movl $0xf, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3320
leaq 0x18(%rsp), %r14
movq %r14, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x9e6c
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x9e73
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 0x3740(%rip), %rsi      # 0xd5d6
callq 0x3550
movq %rbp, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x9ebe
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x9ec5
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 0x9f08
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x32d0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9f1f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32d0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x9f3b
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32d0
movq 0x28(%rbx), %r15
movq %r15, %r14
negq %r14
cmovsq %r15, %r14
movl $0x1, %r12d
cmpq $0xa, %r14
jb 0x9fa9
movl $0x4, %r12d
movabsq $0x346dc5d63886594b, %rsi # imm = 0x346DC5D63886594B
movq %r14, %rcx
cmpq $0x63, %rcx
jbe 0x9fa0
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x9fa6
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x9fa9
movq %rcx, %rax
mulq %rsi
shrq $0xb, %rdx
addl $0x4, %r12d
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x9f68
addl $-0x3, %r12d
jmp 0x9fa9
addl $-0x2, %r12d
jmp 0x9fa9
decl %r12d
shrq $0x3f, %r15
leal (%r15,%r12), %esi
leaq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
movq %rax, (%rdi)
movl $0x2d, %edx
callq 0x3350
leaq 0x28(%rsp), %r13
addq (%r13), %r15
movq %r15, %rdi
movl %r12d, %esi
movq %r14, %rdx
callq 0xa2ad
leaq 0x362c(%rip), %rcx      # 0xd612
movl $0xf, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3320
leaq 0x18(%rsp), %r14
movq %r14, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa020
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xa027
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 0x3b00(%rip), %rsi      # 0xdb4a
callq 0x3550
movq %rbp, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa072
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0xa079
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 0xa0bc
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x32d0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0xa0d3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32d0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0xa0ef
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32d0
leaq 0x352c(%rip), %rsi      # 0xd622
leaq 0x48(%rsp), %rdi
callq 0x3550
movq (%rbx), %rsi
cmpq $0x0, 0x48(%rsi)
je 0xa177
addq $0x40, %rsi
leaq 0x68(%rsp), %rdi
movl $0x10, %edx
callq 0x3560
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
leaq 0x68(%rsp), %rdi
callq 0x3390
leaq 0x68(%rsp), %rdi
callq 0x31b0
leaq 0x68(%rsp), %rdi
callq 0x33d0
movq 0x7e6c(%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 0x3230
leaq 0x160(%rsp), %rdi
callq 0x30f0
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq 0x7e48(%rip), %rdi      # 0x11fd0
callq 0x3340
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0xa1a9
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x32d0
addq $0x268, %rsp            # imm = 0x268
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xa286
jmp 0xa1e1
jmp 0xa1fd
jmp 0xa21e
jmp 0xa286
jmp 0xa1e1
jmp 0xa1fd
jmp 0xa21e
jmp 0xa286
jmp 0xa1e1
jmp 0xa1fd
jmp 0xa21e
jmp 0xa286
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0xa200
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x32d0
jmp 0xa200
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xa221
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32d0
jmp 0xa221
movq %rax, %rbx
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0xa289
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32d0
jmp 0xa289
jmp 0xa286
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0xa260
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x32d0
jmp 0xa260
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xa289
movq 0x18(%rsp), %rsi
jmp 0xa235
jmp 0xa286
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x3400
jmp 0xa289
movq %rax, %rbx
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0xa2a5
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x32d0
movq %rbx, %rdi
callq 0x3500