LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/fastqreader.cpp
// Function: FastqReader::readToBuf()
void FastqReader::readToBuf() {
	if(mZipped) {
		mBufDataLen = gzread(mZipFile, mBuf, FQ_BUF_SIZE);
		if(mBufDataLen == -1) {
			cerr << "Error to read gzip file" << endl;
		}
	} else {
		mBufDataLen = fread(mBuf, 1, FQ_BUF_SIZE, mFile);
	}
	mBufUsedLen = 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
testb $0x1, 0x30(%rax)
je 0x4dd4
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
movq 0x38(%rax), %rsi
movl $0x100000, %edx         # imm = 0x100000
callq 0x46f0
movl %eax, %ecx
movq 0x8(%rsp), %rax
movl %ecx, 0x40(%rax)
cmpl $-0x1, 0x40(%rax)
jne 0x4dd2
movq 0x19239(%rip), %rdi     # 0x1dff0
leaq 0x11246(%rip), %rsi     # 0x16004
callq 0x4340
movq %rax, %rdi
movq 0x191db(%rip), %rsi     # 0x1dfa8
callq 0x43b0
jmp 0x4dfb
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
movq 0x28(%rax), %rcx
movl $0x1, %esi
movl $0x100000, %edx         # imm = 0x100000
callq 0x4580
movq %rax, %rcx
movq 0x8(%rsp), %rax
movl %ecx, 0x40(%rax)
movq 0x8(%rsp), %rax
movl $0x0, 0x44(%rax)
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/fastqreader.cpp
// Function: FastqReader::getBytes(unsigned long&, unsigned long&)
void FastqReader::getBytes(size_t& bytesRead, size_t& bytesTotal) {
	if(mZipped) {
		bytesRead = gzoffset(mZipFile);
	} else {
		bytesRead = ftell(mFile);//mFile.tellg();
	}

	// use another ifstream to not affect current reader
	ifstream is(mFilename);
	is.seekg (0, is.end);
	bytesTotal = is.tellg();
}

// Assembly:
subq $0x268, %rsp            # imm = 0x268
movq %rdi, 0x260(%rsp)
movq %rsi, 0x258(%rsp)
movq %rdx, 0x250(%rsp)
movq 0x260(%rsp), %rax
movq %rax, 0x20(%rsp)
testb $0x1, 0x30(%rax)
je 0x4e60
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x4210
movq %rax, %rcx
movq 0x258(%rsp), %rax
movq %rcx, (%rax)
jmp 0x4e7c
movq 0x20(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x4030
movq %rax, %rcx
movq 0x258(%rsp), %rax
movq %rcx, (%rax)
movq 0x20(%rsp), %rsi
leaq 0x48(%rsp), %rdi
movq %rdi, 0x18(%rsp)
movl $0x8, %edx
callq 0x4600
movq 0x18(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x2, %edx
callq 0x44f0
jmp 0x4eaa
leaq 0x48(%rsp), %rdi
callq 0x4680
movq %rdx, 0x8(%rsp)
movq %rax, 0x10(%rsp)
jmp 0x4ec0
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rcx
movq %rcx, 0x28(%rsp)
movq %rax, 0x30(%rsp)
leaq 0x28(%rsp), %rdi
callq 0x6a50
movq %rax, (%rsp)
jmp 0x4ee4
movq (%rsp), %rcx
movq 0x250(%rsp), %rax
movq %rcx, (%rax)
leaq 0x48(%rsp), %rdi
callq 0x40f0
addq $0x268, %rsp            # imm = 0x268
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x40(%rsp)
movl %eax, 0x3c(%rsp)
leaq 0x48(%rsp), %rdi
callq 0x40f0
movq 0x40(%rsp), %rdi
callq 0x46a0
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/fastqreader.cpp
// Function: FastqReader::clearLineBreaks(char*)
void FastqReader::clearLineBreaks(char* line) {

	// trim \n, \r or \r\n in the tail
	int readed = strlen(line);
	if(readed >=2 ){
		if(line[readed-1] == '\n' || line[readed-1] == '\r'){
			line[readed-1] = '\0';
			if(line[readed-2] == '\r')
				line[readed-2] = '\0';
		}
	}
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x8(%rsp), %rdi
callq 0x4190
movl %eax, 0x4(%rsp)
cmpl $0x2, 0x4(%rsp)
jl 0x4fc5
movq 0x8(%rsp), %rax
movl 0x4(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
je 0x4f83
movq 0x8(%rsp), %rax
movl 0x4(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0xd, %eax
jne 0x4fc3
movq 0x8(%rsp), %rax
movl 0x4(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
movq 0x8(%rsp), %rax
movl 0x4(%rsp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0xd, %eax
jne 0x4fc1
movq 0x8(%rsp), %rax
movl 0x4(%rsp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
jmp 0x4fc3
jmp 0x4fc5
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/fastqreader.cpp
// Function: FastqReader::eof()
bool FastqReader::eof() {
	if (mZipped) {
		return gzeof(mZipFile);
	} else {
		return feof(mFile);//mFile.eof();
	}
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, (%rsp)
testb $0x1, 0x30(%rax)
je 0x5433
movq (%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x4120
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movb %al, 0x17(%rsp)
jmp 0x544c
movq (%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x45d0
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movb %al, 0x17(%rsp)
movb 0x17(%rsp), %al
andb $0x1, %al
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/fastqreader.cpp
// Function: FastqReader::test()
bool FastqReader::test(){
	FastqReader reader1("testdata/R1.fq");
	FastqReader reader2("testdata/R1.fq.gz");
	Read* r1 = NULL;
	Read* r2 = NULL;
	while(true){
		r1=reader1.read();
		r2=reader2.read();
		if(r1 == NULL || r2 == NULL)
			break;
		if(r1->mSeq.mStr != r2->mSeq.mStr){
			return false;
		}
		delete r1;
		delete r2;
	}
	return true;
}

// Assembly:
subq $0x158, %rsp            # imm = 0x158
leaq 0xdf(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x46b0
movq 0x30(%rsp), %rdx
leaq 0xff6a(%rip), %rsi      # 0x1606f
leaq 0xe0(%rsp), %rdi
callq 0x67f0
jmp 0x6114
leaq 0x100(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x4a00
jmp 0x6132
leaq 0xe0(%rsp), %rdi
callq 0x4758
leaq 0xdf(%rsp), %rdi
callq 0x43e0
leaq 0x57(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x46b0
movq 0x28(%rsp), %rdx
leaq 0xff17(%rip), %rsi      # 0x1607e
leaq 0x58(%rsp), %rdi
callq 0x67f0
jmp 0x6173
leaq 0x78(%rsp), %rdi
leaq 0x58(%rsp), %rsi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x4a00
jmp 0x618b
leaq 0x58(%rsp), %rdi
callq 0x4758
leaq 0x57(%rsp), %rdi
callq 0x43e0
movq $0x0, 0x48(%rsp)
movq $0x0, 0x40(%rsp)
jmp 0x61b3
leaq 0x100(%rsp), %rdi
callq 0x5460
movq %rax, 0x20(%rsp)
jmp 0x61c7
movq 0x20(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x5460
movq %rax, 0x18(%rsp)
jmp 0x61e2
movq 0x18(%rsp), %rax
movq %rax, 0x40(%rsp)
cmpq $0x0, 0x48(%rsp)
je 0x6200
cmpq $0x0, 0x40(%rsp)
jne 0x62b4
jmp 0x633a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
jmp 0x623c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
leaq 0xe0(%rsp), %rdi
callq 0x4758
leaq 0xdf(%rsp), %rdi
callq 0x43e0
jmp 0x637f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
jmp 0x6282
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
leaq 0x58(%rsp), %rdi
callq 0x4758
leaq 0x57(%rsp), %rdi
callq 0x43e0
jmp 0x6372
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x4ca0
jmp 0x6372
movq 0x48(%rsp), %rdi
addq $0x20, %rdi
movq 0x40(%rsp), %rsi
addq $0x20, %rsi
callq 0x6ae0
testb $0x1, %al
jne 0x62d1
jmp 0x62e3
movb $0x0, 0x157(%rsp)
movl $0x1, 0x3c(%rsp)
jmp 0x634a
movq 0x48(%rsp), %rax
movq %rax, 0x10(%rsp)
cmpq $0x0, %rax
je 0x630c
movq 0x10(%rsp), %rdi
callq 0x6b10
movq 0x10(%rsp), %rdi
movl $0x88, %esi
callq 0x4370
movq 0x40(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, %rax
je 0x6335
movq 0x8(%rsp), %rdi
callq 0x6b10
movq 0x8(%rsp), %rdi
movl $0x88, %esi
callq 0x4370
jmp 0x61b1
movb $0x1, 0x157(%rsp)
movl $0x1, 0x3c(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x4ca0
leaq 0x100(%rsp), %rdi
callq 0x4ca0
movb 0x157(%rsp), %al
andb $0x1, %al
addq $0x158, %rsp            # imm = 0x158
retq
leaq 0x100(%rsp), %rdi
callq 0x4ca0
movq 0xd0(%rsp), %rdi
callq 0x46a0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/fastqreader.cpp
// Function: FastqReaderPair::FastqReaderPair(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, bool, bool)
FastqReaderPair::FastqReaderPair(string leftName, string rightName, bool hasQuality, bool phred64, bool interleaved){
	mInterleaved = interleaved;
	mLeft = new FastqReader(leftName, hasQuality, phred64);
	if(mInterleaved)
		mRight = NULL;
	else
		mRight = new FastqReader(rightName, hasQuality, phred64);
}

// Assembly:
subq $0xa8, %rsp
movl %r8d, 0x8(%rsp)
movl %ecx, %eax
movl 0x8(%rsp), %ecx
movl %eax, 0xc(%rsp)
movq %rdx, %rax
movl 0xc(%rsp), %edx
movq %rax, 0x10(%rsp)
movq %rsi, %rax
movq 0x10(%rsp), %rsi
movq %rax, 0x20(%rsp)
movq %rdi, %r8
movq 0x20(%rsp), %rdi
movb %r9b, %al
movq %r8, 0xa0(%rsp)
movq %rdi, 0x98(%rsp)
movq %rsi, 0x90(%rsp)
andb $0x1, %dl
movb %dl, 0x8f(%rsp)
andb $0x1, %cl
movb %cl, 0x8e(%rsp)
andb $0x1, %al
movb %al, 0x8d(%rsp)
movq 0xa0(%rsp), %rax
movq %rax, 0x18(%rsp)
movb 0x8d(%rsp), %cl
andb $0x1, %cl
movb %cl, 0x10(%rax)
movl $0x50, %edi
callq 0x4360
movq 0x20(%rsp), %rsi
movq %rax, 0x28(%rsp)
movb $0x1, 0x5b(%rsp)
leaq 0x68(%rsp), %rdi
callq 0x4180
jmp 0x646e
movq 0x28(%rsp), %rdi
movzbl 0x8e(%rsp), %ecx
movzbl 0x8f(%rsp), %edx
andl $0x1, %edx
andl $0x1, %ecx
leaq 0x68(%rsp), %rsi
callq 0x4a00
jmp 0x6495
movq 0x18(%rsp), %rax
movq 0x28(%rsp), %rcx
movb $0x0, 0x5b(%rsp)
movq %rcx, (%rax)
leaq 0x68(%rsp), %rdi
callq 0x4758
movq 0x18(%rsp), %rax
testb $0x1, 0x10(%rax)
je 0x6513
movq 0x18(%rsp), %rax
movq $0x0, 0x8(%rax)
jmp 0x65bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
jmp 0x64f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x68(%rsp), %rdi
callq 0x4758
testb $0x1, 0x5b(%rsp)
jne 0x64ff
jmp 0x650e
movq 0x28(%rsp), %rdi
movl $0x50, %esi
callq 0x4370
jmp 0x65c4
movl $0x50, %edi
callq 0x4360
movq 0x10(%rsp), %rsi
movq %rax, (%rsp)
movb $0x1, 0x37(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x4180
jmp 0x6537
movq (%rsp), %rdi
movzbl 0x8e(%rsp), %ecx
movzbl 0x8f(%rsp), %edx
andl $0x1, %edx
andl $0x1, %ecx
leaq 0x38(%rsp), %rsi
callq 0x4a00
jmp 0x655d
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
movb $0x0, 0x37(%rsp)
movq %rcx, 0x8(%rax)
leaq 0x38(%rsp), %rdi
callq 0x4758
jmp 0x65bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
jmp 0x65a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x4758
testb $0x1, 0x37(%rsp)
jne 0x65ac
jmp 0x65ba
movq (%rsp), %rdi
movl $0x50, %esi
callq 0x4370
jmp 0x65c4
addq $0xa8, %rsp
retq
movq 0x60(%rsp), %rdi
callq 0x46a0
nop
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/fastqreader.cpp
// Function: FastqReaderPair::~FastqReaderPair()
FastqReaderPair::~FastqReaderPair(){
	if(mLeft){
		delete mLeft;
		mLeft = NULL;
	}
	if(mRight){
		delete mRight;
		mRight = NULL;
	}
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x18(%rsp)
cmpq $0x0, (%rax)
je 0x6621
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x10(%rsp)
cmpq $0x0, %rax
je 0x6615
movq 0x10(%rsp), %rdi
callq 0x4ca0
movq 0x10(%rsp), %rdi
movl $0x50, %esi
callq 0x4370
movq 0x18(%rsp), %rax
movq $0x0, (%rax)
movq 0x18(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x6667
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, %rax
je 0x665a
movq 0x8(%rsp), %rdi
callq 0x4ca0
movq 0x8(%rsp), %rdi
movl $0x50, %esi
callq 0x4370
movq 0x18(%rsp), %rax
movq $0x0, 0x8(%rax)
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/fastqreader.cpp
// Function: FastqReaderPair::read()
ReadPair* FastqReaderPair::read(){
	Read* l = mLeft->read();
	Read* r = NULL;
	if(mInterleaved)
		r = mLeft->read();
	else
		r = mRight->read();
	if(!l || !r){
		return NULL;
	} else {
		return new ReadPair(l, r);
	}
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x10(%rsp)
movq (%rax), %rdi
callq 0x5460
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x30(%rsp)
movq $0x0, 0x28(%rsp)
testb $0x1, 0x10(%rax)
je 0x66bb
movq 0x10(%rsp), %rax
movq (%rax), %rdi
callq 0x5460
movq %rax, 0x28(%rsp)
jmp 0x66ce
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x5460
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x66de
cmpq $0x0, 0x28(%rsp)
jne 0x66e9
movq $0x0, 0x40(%rsp)
jmp 0x673a
movl $0x10, %edi
callq 0x4360
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rsi
movq 0x28(%rsp), %rdx
callq 0x13770
jmp 0x670f
movq 0x8(%rsp), %rax
movq %rax, 0x40(%rsp)
jmp 0x673a
movq 0x8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x20(%rsp)
movl %eax, 0x1c(%rsp)
movl $0x10, %esi
callq 0x4370
jmp 0x6744
movq 0x40(%rsp), %rax
addq $0x48, %rsp
retq
movq 0x20(%rsp), %rdi
callq 0x46a0
nop
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/cmdline.h
// Function: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const& cmdline::parser::get<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) const
const T &get(const std::string &name) const {
    if (options.count(name)==0) throw cmdline_error("there is no flag: --"+name);
    const option_with_value<T> *p=dynamic_cast<const option_with_value<T>*>(options.find(name)->second);
    if (p==NULL) throw cmdline_error("type mismatch flag '"+name+"'");
    return p->get();
  }

// Assembly:
subq $0xc8, %rsp
movq %rdi, 0xc0(%rsp)
movq %rsi, 0xb8(%rsp)
movq 0xc0(%rsp), %rdi
movq %rdi, 0x28(%rsp)
movq 0xb8(%rsp), %rsi
callq 0x8920
cmpq $0x0, %rax
jne 0x843b
movb $0x1, 0x8b(%rsp)
movl $0x28, %edi
callq 0x41c0
movq %rax, 0x20(%rsp)
movq 0xb8(%rsp), %rdx
leaq 0xde1f(%rip), %rsi      # 0x161c0
leaq 0x98(%rsp), %rdi
callq 0x6920
jmp 0x83b0
movq 0x20(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0xa5f0
jmp 0x83c4
movq 0x20(%rsp), %rdi
movb $0x0, 0x8b(%rsp)
leaq 0x15740(%rip), %rsi     # 0x1db18
leaq 0x2271(%rip), %rdx      # 0xa650
callq 0x4650
jmp 0x85b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
jmp 0x8420
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0x98(%rsp), %rdi
callq 0x4758
testb $0x1, 0x8b(%rsp)
jne 0x842c
jmp 0x8436
movq 0x20(%rsp), %rdi
callq 0x4280
jmp 0x85ab
movq 0x28(%rsp), %rdi
movq 0xb8(%rsp), %rsi
callq 0xcbe0
movq %rax, 0x78(%rsp)
leaq 0x78(%rsp), %rdi
callq 0xcc10
movq 0x20(%rax), %rax
movq %rax, 0x18(%rsp)
cmpq $0x0, %rax
je 0x848e
movq 0x18(%rsp), %rdi
leaq 0x15751(%rip), %rsi     # 0x1dbc8
leaq 0x1585a(%rip), %rdx     # 0x1dcd8
xorl %eax, %eax
movl %eax, %ecx
callq 0x4430
movq %rax, 0x10(%rsp)
jmp 0x8497
xorl %eax, %eax
movq %rax, 0x10(%rsp)
jmp 0x8497
movq 0x10(%rsp), %rax
movq %rax, 0x80(%rsp)
cmpq $0x0, 0x80(%rsp)
jne 0x8596
movb $0x1, 0x37(%rsp)
movl $0x28, %edi
callq 0x41c0
movq %rax, 0x8(%rsp)
movq 0xb8(%rsp), %rdx
leaq 0xde0f(%rip), %rsi      # 0x162e5
leaq 0x38(%rsp), %rdi
callq 0x6920
jmp 0x84e2
leaq 0xdfcf(%rip), %rdx      # 0x164b8
leaq 0x58(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0xceb0
jmp 0x84fa
movq 0x8(%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0xa5f0
jmp 0x850b
movq 0x8(%rsp), %rdi
movb $0x0, 0x37(%rsp)
leaq 0x155fc(%rip), %rsi     # 0x1db18
leaq 0x212d(%rip), %rdx      # 0xa650
callq 0x4650
jmp 0x85b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
jmp 0x8581
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
jmp 0x8577
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0x58(%rsp), %rdi
callq 0x4758
leaq 0x38(%rsp), %rdi
callq 0x4758
testb $0x1, 0x37(%rsp)
jne 0x858a
jmp 0x8594
movq 0x8(%rsp), %rdi
callq 0x4280
jmp 0x85ab
movq 0x80(%rsp), %rdi
callq 0x10470
addq $0xc8, %rsp
retq
movq 0x90(%rsp), %rdi
callq 0x46a0
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/cmdline.h
// Function: cmdline::parser::check(int, bool)
void check(int argc, bool ok){
    if ((argc==1 && !ok) || exist("help")){
      std::cerr<<usage();
      exit(0);
    }

    if (!ok){
      std::cerr<<error()<<std::endl<<usage();
      exit(1);
    }
  }

// Assembly:
subq $0xe8, %rsp
movb %dl, %al
movq %rdi, 0xe0(%rsp)
movl %esi, 0xdc(%rsp)
andb $0x1, %al
movb %al, 0xdb(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, 0x38(%rsp)
movl 0xdc(%rsp), %eax
movb $0x0, 0xb6(%rsp)
movb $0x0, 0xa3(%rsp)
cmpl $0x1, %eax
jne 0x8b4a
movb $0x1, %al
testb $0x1, 0xdb(%rsp)
movb %al, 0x37(%rsp)
je 0x8ba9
leaq 0xb7(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x46b0
movq 0x28(%rsp), %rdx
movb $0x1, 0xb6(%rsp)
leaq 0xd608(%rip), %rsi      # 0x16178
leaq 0xb8(%rsp), %rdi
callq 0x67f0
jmp 0x8b7f
movq 0x38(%rsp), %rdi
movb $0x1, 0xa3(%rsp)
leaq 0xb8(%rsp), %rsi
callq 0xc440
movb %al, 0x27(%rsp)
jmp 0x8b9f
movb 0x27(%rsp), %al
movb %al, 0x37(%rsp)
jmp 0x8ba9
movb 0x37(%rsp), %al
movb %al, 0x26(%rsp)
testb $0x1, 0xa3(%rsp)
jne 0x8bbd
jmp 0x8bca
leaq 0xb8(%rsp), %rdi
callq 0x4758
testb $0x1, 0xb6(%rsp)
jne 0x8bd6
jmp 0x8be3
leaq 0xb7(%rsp), %rdi
callq 0x43e0
movb 0x26(%rsp), %al
testb $0x1, %al
jne 0x8bf0
jmp 0x8cb7
movq 0x38(%rsp), %rsi
leaq 0x80(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xc540
movq 0x18(%rsp), %rsi
movq 0x153dd(%rip), %rdi     # 0x1dff0
callq 0x42f0
jmp 0x8c1a
leaq 0x80(%rsp), %rdi
callq 0x4758
xorl %edi, %edi
callq 0x4480
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
jmp 0x8c73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
testb $0x1, 0xa3(%rsp)
jne 0x8c64
jmp 0x8c71
leaq 0xb8(%rsp), %rdi
callq 0x4758
jmp 0x8c73
testb $0x1, 0xb6(%rsp)
jne 0x8c7f
jmp 0x8c8c
leaq 0xb7(%rsp), %rdi
callq 0x43e0
jmp 0x8d8f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0x80(%rsp), %rdi
callq 0x4758
jmp 0x8d8f
testb $0x1, 0xdb(%rsp)
jne 0x8d87
movq 0x38(%rsp), %rsi
leaq 0x60(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xcb00
movq 0x8(%rsp), %rsi
movq 0x1530b(%rip), %rdi     # 0x1dff0
callq 0x42f0
movq %rax, 0x10(%rsp)
jmp 0x8cf1
movq 0x10(%rsp), %rdi
movq 0x152ab(%rip), %rsi     # 0x1dfa8
callq 0x43b0
movq %rax, (%rsp)
jmp 0x8d08
movq 0x38(%rsp), %rsi
leaq 0x40(%rsp), %rdi
callq 0xc540
jmp 0x8d19
movq (%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x42f0
jmp 0x8d29
leaq 0x40(%rsp), %rdi
callq 0x4758
leaq 0x60(%rsp), %rdi
callq 0x4758
movl $0x1, %edi
callq 0x4480
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
jmp 0x8d7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0x40(%rsp), %rdi
callq 0x4758
leaq 0x60(%rsp), %rdi
callq 0x4758
jmp 0x8d8f
addq $0xe8, %rsp
retq
movq 0xa8(%rsp), %rdi
callq 0x46a0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/cmdline.h
// Function: cmdline::parser::set_option(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&)
void set_option(const std::string &name, const std::string &value){
    if (options.count(name)==0){
      errors.push_back("undefined option: --"+name);
      return;
    }
    if (!options[name]->set(value)){
      errors.push_back("option value is invalid: --"+name+"="+value);
      return;
    }
  }

// Assembly:
subq $0xd8, %rsp
movq %rdi, 0xd0(%rsp)
movq %rsi, 0xc8(%rsp)
movq %rdx, 0xc0(%rsp)
movq 0xd0(%rsp), %rdi
movq %rdi, 0x28(%rsp)
movq 0xc8(%rsp), %rsi
callq 0x8920
cmpq $0x0, %rax
jne 0xd0c9
movq 0x28(%rsp), %rax
addq $0xa0, %rax
movq %rax, 0x18(%rsp)
movq 0xc8(%rsp), %rdx
leaq 0x91d9(%rip), %rsi      # 0x16247
leaq 0xa0(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x6920
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0xccb0
jmp 0xd091
leaq 0xa0(%rsp), %rdi
callq 0x4758
jmp 0xd1e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x98(%rsp)
movl %eax, 0x94(%rsp)
leaq 0xa0(%rsp), %rdi
callq 0x4758
jmp 0xd1ec
movq 0x28(%rsp), %rdi
movq 0xc8(%rsp), %rsi
callq 0xa750
movq (%rax), %rdi
movq 0xc0(%rsp), %rsi
movq (%rdi), %rax
callq *0x20(%rax)
testb $0x1, %al
jne 0xd1e4
movq 0x28(%rsp), %rax
addq $0xa0, %rax
movq %rax, 0x8(%rsp)
movq 0xc8(%rsp), %rdx
leaq 0x91a4(%rip), %rsi      # 0x162b7
leaq 0x30(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x6920
movq 0x10(%rsp), %rsi
leaq 0x91aa(%rip), %rdx      # 0x162d8
leaq 0x50(%rsp), %rdi
callq 0xceb0
jmp 0xd13a
movq 0xc0(%rsp), %rdx
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0xf270
jmp 0xd153
movq 0x8(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0xccb0
jmp 0xd164
leaq 0x70(%rsp), %rdi
callq 0x4758
leaq 0x50(%rsp), %rdi
callq 0x4758
leaq 0x30(%rsp), %rdi
callq 0x4758
jmp 0xd1e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x98(%rsp)
movl %eax, 0x94(%rsp)
jmp 0xd1d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x98(%rsp)
movl %eax, 0x94(%rsp)
jmp 0xd1ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x98(%rsp)
movl %eax, 0x94(%rsp)
leaq 0x70(%rsp), %rdi
callq 0x4758
leaq 0x50(%rsp), %rdi
callq 0x4758
leaq 0x30(%rsp), %rdi
callq 0x4758
jmp 0xd1ec
addq $0xd8, %rsp
retq
movq 0x98(%rsp), %rdi
callq 0x46a0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/cmdline.h
// Function: cmdline::parser::set_option(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void set_option(const std::string &name){
    if (options.count(name)==0){
      errors.push_back("undefined option: --"+name);
      return;
    }
    if (!options[name]->set()){
      errors.push_back("option needs value: --"+name);
      return;
    }
  }

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x80(%rsp)
movq %rsi, 0x78(%rsp)
movq 0x80(%rsp), %rdi
movq %rdi, 0x20(%rsp)
movq 0x78(%rsp), %rsi
callq 0x8920
cmpq $0x0, %rax
jne 0xd299
movq 0x20(%rsp), %rax
addq $0xa0, %rax
movq %rax, 0x10(%rsp)
movq 0x78(%rsp), %rdx
leaq 0x8ffa(%rip), %rsi      # 0x16247
leaq 0x58(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x6920
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0xccb0
jmp 0xd26d
leaq 0x58(%rsp), %rdi
callq 0x4758
jmp 0xd315
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
leaq 0x58(%rsp), %rdi
callq 0x4758
jmp 0xd31d
movq 0x20(%rsp), %rdi
movq 0x78(%rsp), %rsi
callq 0xa750
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
testb $0x1, %al
jne 0xd315
movq 0x20(%rsp), %rax
addq $0xa0, %rax
movq %rax, (%rsp)
movq 0x78(%rsp), %rdx
leaq 0x8f8c(%rip), %rsi      # 0x1625c
leaq 0x28(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x6920
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xccb0
jmp 0xd2ef
leaq 0x28(%rsp), %rdi
callq 0x4758
jmp 0xd315
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
leaq 0x28(%rsp), %rdi
callq 0x4758
jmp 0xd31d
addq $0x88, %rsp
retq
movq 0x50(%rsp), %rdi
callq 0x46a0
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/cmdline.h
// Function: cmdline::parser::option_with_value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>::set(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
bool set(const std::string &value){
      try{
        actual=read(value);
        has=true;
      }
      catch(const std::exception &e){
        return false;
      }
      return true;
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq %rsi, 0x40(%rsp)
movq 0x48(%rsp), %rsi
movq %rsi, (%rsp)
movq 0x40(%rsp), %rdx
movq (%rsi), %rax
movq 0x60(%rax), %rax
leaq 0x20(%rsp), %rdi
callq *%rax
jmp 0xfb5c
movq (%rsp), %rdi
addq $0x78, %rdi
leaq 0x20(%rsp), %rsi
callq 0x4490
leaq 0x20(%rsp), %rdi
callq 0x4758
movq (%rsp), %rax
movb $0x1, 0x50(%rax)
jmp 0xfbb8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x18(%rsp)
movl %eax, 0x14(%rsp)
movl 0x14(%rsp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0xfbc8
movq 0x18(%rsp), %rdi
callq 0x4160
movq %rax, 0x8(%rsp)
movb $0x0, 0x57(%rsp)
callq 0x4620
jmp 0xfbbd
movb $0x1, 0x57(%rsp)
movb 0x57(%rsp), %al
andb $0x1, %al
addq $0x58, %rsp
retq
movq 0x18(%rsp), %rdi
callq 0x46a0
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/options.cpp
// Function: Options::validate()
bool Options::validate() {
    if(in1.empty()) {
        error_exit("read1 input should be specified by --in1");
    } else {
        check_file_valid(in1);
    }

    if(in2.empty()) {
        error_exit("read2 input should be specified by --in2");
    } else {
        check_file_valid(in2);
    }

    return true;
}

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x80(%rsp)
movq 0x80(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x4630
testb $0x1, %al
jne 0x1095a
jmp 0x109da
leaq 0x5f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x46b0
movq 0x10(%rsp), %rdx
leaq 0x5ac2(%rip), %rsi      # 0x16437
leaq 0x60(%rsp), %rdi
callq 0x67f0
jmp 0x10981
leaq 0x60(%rsp), %rdi
callq 0x68e0
jmp 0x1098d
leaq 0x60(%rsp), %rdi
callq 0x4758
leaq 0x5f(%rsp), %rdi
callq 0x43e0
jmp 0x109e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0x109cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x4758
leaq 0x5f(%rsp), %rdi
callq 0x43e0
jmp 0x10a8f
movq 0x18(%rsp), %rdi
callq 0x10aa0
movq 0x18(%rsp), %rdi
addq $0x20, %rdi
callq 0x4630
testb $0x1, %al
jne 0x109f8
jmp 0x10a75
leaq 0x27(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x46b0
movq 0x8(%rsp), %rdx
leaq 0x5a4d(%rip), %rsi      # 0x16460
leaq 0x28(%rsp), %rdi
callq 0x67f0
jmp 0x10a1f
leaq 0x28(%rsp), %rdi
callq 0x68e0
jmp 0x10a2b
leaq 0x28(%rsp), %rdi
callq 0x4758
leaq 0x27(%rsp), %rdi
callq 0x43e0
jmp 0x10a83
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0x10a69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
leaq 0x28(%rsp), %rdi
callq 0x4758
leaq 0x27(%rsp), %rdi
callq 0x43e0
jmp 0x10a8f
movq 0x18(%rsp), %rdi
addq $0x20, %rdi
callq 0x10aa0
movb $0x1, %al
andb $0x1, %al
addq $0x88, %rsp
retq
movq 0x50(%rsp), %rdi
callq 0x46a0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/util.h
// Function: check_file_valid(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
inline void check_file_valid(const  string& s) {
    if(!file_exists(s)){
        cerr << "ERROR: file '" << s << "' doesn't exist, quit now" << endl;
        exit(-1);
    }
    if(is_directory(s)){
        cerr << "ERROR: '" << s << "' is a folder, not a file, quit now" << endl;
        exit(-1);
    }
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq (%rsp), %rdi
callq 0x10b60
testb $0x1, %al
jne 0x10af9
movq 0xd537(%rip), %rdi      # 0x1dff0
leaq 0x59c9(%rip), %rsi      # 0x16489
callq 0x4340
movq %rax, %rdi
movq (%rsp), %rsi
callq 0x42f0
movq %rax, %rdi
leaq 0x59bc(%rip), %rsi      # 0x16497
callq 0x4340
movq %rax, %rdi
movq 0xd4be(%rip), %rsi      # 0x1dfa8
callq 0x43b0
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x4480
movq (%rsp), %rdi
callq 0x10bd0
testb $0x1, %al
jne 0x10b08
jmp 0x10b4f
movq 0xd4e1(%rip), %rdi      # 0x1dff0
leaq 0x599b(%rip), %rsi      # 0x164b1
callq 0x4340
movq %rax, %rdi
movq (%rsp), %rsi
callq 0x42f0
movq %rax, %rdi
leaq 0x5989(%rip), %rsi      # 0x164ba
callq 0x4340
movq %rax, %rdi
movq 0xd468(%rip), %rsi      # 0x1dfa8
callq 0x43b0
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x4480
popq %rax
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/util.h
// Function: file_exists(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
inline bool file_exists(const  string& s)
{
    bool exists = false;
    if(s.length() > 0) {
        struct stat status;
        int result = stat( s.c_str(), &status );
        if(result == 0) {
            exists = true;
        }
    }
    return exists;
}

// Assembly:
subq $0xa8, %rsp
movq %rdi, 0xa0(%rsp)
movb $0x0, 0x9f(%rsp)
movq 0xa0(%rsp), %rdi
callq 0x4590
cmpq $0x0, %rax
jbe 0x10bb9
movq 0xa0(%rsp), %rdi
callq 0x4170
movq %rax, %rdi
leaq 0x8(%rsp), %rsi
callq 0x4300
movl %eax, 0x4(%rsp)
cmpl $0x0, 0x4(%rsp)
jne 0x10bb7
movb $0x1, 0x9f(%rsp)
jmp 0x10bb9
movb 0x9f(%rsp), %al
andb $0x1, %al
addq $0xa8, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/util.h
// Function: is_directory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
inline bool is_directory(const  string& path)
{
    bool isdir = false;
    struct stat status;
    // visual studion use _S_IFDIR instead of S_IFDIR
    // http://msdn.microsoft.com/en-us/library/14h5k7ff.aspx
#ifdef _MSC_VER
#define S_IFDIR _S_IFDIR
#endif
    stat( path.c_str(), &status );
    if ( status.st_mode &  S_IFDIR  ) {
        isdir = true;
    }
// #endif
    return isdir;
}

// Assembly:
subq $0xa8, %rsp
movq %rdi, 0xa0(%rsp)
movb $0x0, 0x9f(%rsp)
movq 0xa0(%rsp), %rdi
callq 0x4170
movq %rax, %rdi
leaq 0x8(%rsp), %rsi
callq 0x4300
movl 0x20(%rsp), %eax
andl $0x4000, %eax           # imm = 0x4000
cmpl $0x0, %eax
je 0x10c17
movb $0x1, 0x9f(%rsp)
movb 0x9f(%rsp), %al
andb $0x1, %al
addq $0xa8, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/pecheck.cpp
// Function: PECheck::PECheck(Options*)
PECheck::PECheck(Options* opt){
    mOptions = opt;
    mPassed = true;
    mRead1Num = 0;
    mRead2Num = 0;
    mRead1Bases = 0;
    mRead2Bases = 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq %rdi, (%rsp)
addq $0x30, %rdi
callq 0x4520
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
movq %rcx, (%rax)
movb $0x1, 0x8(%rax)
movq $0x0, 0x10(%rax)
movq $0x0, 0x18(%rax)
movq $0x0, 0x20(%rax)
movq $0x0, 0x28(%rax)
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/read.cpp
// Function: Read::Read(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool)
Read::Read(string name, string seq, string strand, string quality, bool phred64){
	mName = name;
	mSeq = Sequence(seq);
	mStrand = strand;
	mQuality = quality;
	mHasQuality = true;
	if(phred64)
		convertPhred64To33();
}

// Assembly:
subq $0xd8, %rsp
movq %r8, 0x20(%rsp)
movq %rcx, 0x28(%rsp)
movq %rdx, 0x30(%rsp)
movq %rsi, 0x38(%rsp)
movb %r9b, %al
movq %rdi, 0xd0(%rsp)
movq %rsi, 0xc8(%rsp)
movq %rdx, 0xc0(%rsp)
movq %rcx, 0xb8(%rsp)
movq %r8, 0xb0(%rsp)
andb $0x1, %al
movb %al, 0xaf(%rsp)
movq 0xd0(%rsp), %rdi
movq %rdi, 0x48(%rsp)
movq %rdi, %rax
movq %rax, 0x40(%rsp)
callq 0x4520
movq 0x48(%rsp), %rdi
addq $0x20, %rdi
movq %rdi, 0x50(%rsp)
callq 0x15420
jmp 0x11eae
movq 0x40(%rsp), %rdi
addq $0x40, %rdi
movq %rdi, 0x10(%rsp)
callq 0x4520
movq 0x40(%rsp), %rdi
addq $0x60, %rdi
movq %rdi, 0x18(%rsp)
callq 0x4520
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0x4070
jmp 0x11ee5
movq 0x30(%rsp), %rsi
leaq 0x58(%rsp), %rdi
callq 0x4180
jmp 0x11ef6
leaq 0x78(%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0x15430
jmp 0x11f07
movq 0x40(%rsp), %rdi
addq $0x20, %rdi
leaq 0x78(%rsp), %rsi
movq %rsi, 0x8(%rsp)
callq 0x14840
movq 0x8(%rsp), %rdi
callq 0x6f80
leaq 0x58(%rsp), %rdi
callq 0x4758
movq 0x40(%rsp), %rdi
movq 0x28(%rsp), %rsi
addq $0x40, %rdi
callq 0x4070
jmp 0x11f48
movq 0x20(%rsp), %rsi
movq 0x40(%rsp), %rdi
addq $0x60, %rdi
callq 0x4070
jmp 0x11f5d
movq 0x40(%rsp), %rax
movb $0x1, 0x80(%rax)
testb $0x1, 0xaf(%rsp)
je 0x11fcd
movq 0x40(%rsp), %rdi
callq 0x12010
jmp 0x11f7f
jmp 0x11fcd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
jmp 0x11ff3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
jmp 0x11fd5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
leaq 0x58(%rsp), %rdi
callq 0x4758
jmp 0x11fd5
addq $0xd8, %rsp
retq
movq 0x18(%rsp), %rdi
callq 0x4758
movq 0x10(%rsp), %rdi
callq 0x4758
movq 0x50(%rsp), %rdi
callq 0x6f80
movq 0x48(%rsp), %rdi
callq 0x4758
movq 0xa0(%rsp), %rdi
callq 0x46a0
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/read.cpp
// Function: Read::Read(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
Read::Read(string name, string seq, string strand){
	mName = name;
	mSeq = Sequence(seq);
	mStrand = strand;
	mHasQuality = false;
}

// Assembly:
subq $0xb8, %rsp
movq %rsi, 0x18(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x28(%rsp)
movq %rdi, 0xb0(%rsp)
movq %rsi, 0xa8(%rsp)
movq %rdx, 0xa0(%rsp)
movq %rcx, 0x98(%rsp)
movq 0xb0(%rsp), %rdi
movq %rdi, 0x38(%rsp)
movq %rdi, %rax
movq %rax, 0x30(%rsp)
callq 0x4520
movq 0x38(%rsp), %rdi
addq $0x20, %rdi
movq %rdi, 0x40(%rsp)
callq 0x15420
jmp 0x12125
movq 0x30(%rsp), %rdi
addq $0x40, %rdi
movq %rdi, 0x8(%rsp)
callq 0x4520
movq 0x30(%rsp), %rdi
addq $0x60, %rdi
movq %rdi, 0x10(%rsp)
callq 0x4520
movq 0x30(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x4070
jmp 0x1215c
movq 0x20(%rsp), %rsi
leaq 0x48(%rsp), %rdi
callq 0x4180
jmp 0x1216d
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x15430
jmp 0x1217e
movq 0x30(%rsp), %rdi
addq $0x20, %rdi
leaq 0x68(%rsp), %rsi
movq %rsi, (%rsp)
callq 0x14840
movq (%rsp), %rdi
callq 0x6f80
leaq 0x48(%rsp), %rdi
callq 0x4758
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rsi
addq $0x40, %rdi
callq 0x4070
jmp 0x121bd
movq 0x30(%rsp), %rax
movb $0x0, 0x80(%rax)
addq $0xb8, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
jmp 0x12239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
jmp 0x1221b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0x48(%rsp), %rdi
callq 0x4758
movq 0x10(%rsp), %rdi
callq 0x4758
movq 0x8(%rsp), %rdi
callq 0x4758
movq 0x40(%rsp), %rdi
callq 0x6f80
movq 0x38(%rsp), %rdi
callq 0x4758
movq 0x90(%rsp), %rdi
callq 0x46a0
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/read.cpp
// Function: Read::Read(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, Sequence, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool)
Read::Read(string name, Sequence seq, string strand, string quality, bool phred64){
	mName = name;
	mSeq = seq;
	mStrand = strand;
	mQuality = quality;
	mHasQuality = true;
	if(phred64)
		convertPhred64To33();
}

// Assembly:
subq $0x88, %rsp
movq %r8, 0x10(%rsp)
movq %rcx, 0x18(%rsp)
movq %rdx, 0x20(%rsp)
movq %rsi, 0x28(%rsp)
movb %r9b, %al
movq %rdi, 0x80(%rsp)
movq %rsi, 0x78(%rsp)
movq %rdx, 0x70(%rsp)
movq %rcx, 0x68(%rsp)
movq %r8, 0x60(%rsp)
andb $0x1, %al
movb %al, 0x5f(%rsp)
movq 0x80(%rsp), %rdi
movq %rdi, 0x38(%rsp)
movq %rdi, %rax
movq %rax, 0x30(%rsp)
callq 0x4520
movq 0x38(%rsp), %rdi
addq $0x20, %rdi
movq %rdi, 0x40(%rsp)
callq 0x15420
jmp 0x122bf
movq 0x30(%rsp), %rdi
addq $0x40, %rdi
movq %rdi, (%rsp)
callq 0x4520
movq 0x30(%rsp), %rdi
addq $0x60, %rdi
movq %rdi, 0x8(%rsp)
callq 0x4520
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x4070
jmp 0x122f5
movq 0x20(%rsp), %rsi
movq 0x30(%rsp), %rdi
addq $0x20, %rdi
callq 0x14870
jmp 0x1230a
movq 0x18(%rsp), %rsi
movq 0x30(%rsp), %rdi
addq $0x40, %rdi
callq 0x4070
jmp 0x1231f
movq 0x10(%rsp), %rsi
movq 0x30(%rsp), %rdi
addq $0x60, %rdi
callq 0x4070
jmp 0x12334
movq 0x30(%rsp), %rax
movb $0x1, 0x80(%rax)
testb $0x1, 0x5f(%rsp)
je 0x12392
movq 0x30(%rsp), %rdi
callq 0x12010
jmp 0x12353
jmp 0x12392
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0x1239a
movq 0x8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
callq 0x4758
movq (%rsp), %rdi
callq 0x4758
movq 0x40(%rsp), %rdi
callq 0x6f80
jmp 0x1239a
addq $0x88, %rsp
retq
movq 0x38(%rsp), %rdi
callq 0x4758
movq 0x50(%rsp), %rdi
callq 0x46a0
nop
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/read.cpp
// Function: Read::Read(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, Sequence, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
Read::Read(string name, Sequence seq, string strand){
	mName = name;
	mSeq = seq;
	mStrand = strand;
	mHasQuality = false;
}

// Assembly:
subq $0x78, %rsp
movq %rsi, 0x18(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x28(%rsp)
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq %rdx, 0x60(%rsp)
movq %rcx, 0x58(%rsp)
movq 0x70(%rsp), %rdi
movq %rdi, 0x38(%rsp)
movq %rdi, %rax
movq %rax, 0x30(%rsp)
callq 0x4520
movq 0x38(%rsp), %rdi
addq $0x20, %rdi
movq %rdi, 0x40(%rsp)
callq 0x15420
jmp 0x12403
movq 0x30(%rsp), %rdi
addq $0x40, %rdi
movq %rdi, 0x8(%rsp)
callq 0x4520
movq 0x30(%rsp), %rdi
addq $0x60, %rdi
movq %rdi, 0x10(%rsp)
callq 0x4520
movq 0x30(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x4070
jmp 0x1243a
movq 0x20(%rsp), %rsi
movq 0x30(%rsp), %rdi
addq $0x20, %rdi
callq 0x14870
jmp 0x1244f
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdi
addq $0x40, %rdi
callq 0x4070
jmp 0x12464
movq 0x30(%rsp), %rax
movb $0x0, 0x80(%rax)
addq $0x78, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0x124b1
movq 0x10(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
callq 0x4758
movq 0x8(%rsp), %rdi
callq 0x4758
movq 0x40(%rsp), %rdi
callq 0x6f80
movq 0x38(%rsp), %rdi
callq 0x4758
movq 0x50(%rsp), %rdi
callq 0x46a0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/read.cpp
// Function: Read::Read(Read&)
Read::Read(Read &r) {
	mName = r.mName;
	mSeq = r.mSeq;
	mStrand = r.mStrand;
	mQuality = r.mQuality;
	mHasQuality = r.mHasQuality;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq 0x40(%rsp), %rdi
movq %rdi, 0x18(%rsp)
movq %rdi, %rax
movq %rax, 0x10(%rsp)
callq 0x4520
movq 0x18(%rsp), %rdi
addq $0x20, %rdi
movq %rdi, 0x20(%rsp)
callq 0x15420
jmp 0x1250a
movq 0x10(%rsp), %rdi
addq $0x40, %rdi
movq %rdi, (%rsp)
callq 0x4520
movq 0x10(%rsp), %rdi
addq $0x60, %rdi
movq %rdi, 0x8(%rsp)
callq 0x4520
movq 0x10(%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0x4070
jmp 0x12540
movq 0x10(%rsp), %rdi
movq 0x38(%rsp), %rsi
addq $0x20, %rsi
addq $0x20, %rdi
callq 0x14870
jmp 0x12559
movq 0x10(%rsp), %rdi
movq 0x38(%rsp), %rsi
addq $0x40, %rsi
addq $0x40, %rdi
callq 0x4070
jmp 0x12572
movq 0x10(%rsp), %rdi
movq 0x38(%rsp), %rsi
addq $0x60, %rsi
addq $0x60, %rdi
callq 0x4070
jmp 0x1258b
movq 0x10(%rsp), %rax
movq 0x38(%rsp), %rcx
movb 0x80(%rcx), %cl
andb $0x1, %cl
movb %cl, 0x80(%rax)
addq $0x48, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x30(%rsp)
movl %eax, 0x2c(%rsp)
jmp 0x125e4
movq 0x8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x30(%rsp)
movl %eax, 0x2c(%rsp)
callq 0x4758
movq (%rsp), %rdi
callq 0x4758
movq 0x20(%rsp), %rdi
callq 0x6f80
movq 0x18(%rsp), %rdi
callq 0x4758
movq 0x30(%rsp), %rdi
callq 0x46a0
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/read.cpp
// Function: Read::print()
void Read::print(){
	std::cerr << mName << endl;
	std::cerr << mSeq.mStr << endl;
	std::cerr << mStrand << endl;
	if(mHasQuality)
		std::cerr << mQuality << endl;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rsi
movq %rsi, 0x8(%rsp)
movq 0xb9d6(%rip), %rdi      # 0x1dff0
callq 0x42f0
movq %rax, %rdi
movq 0xb97f(%rip), %rsi      # 0x1dfa8
callq 0x43b0
movq 0x8(%rsp), %rsi
addq $0x20, %rsi
movq 0xb9b2(%rip), %rdi      # 0x1dff0
callq 0x42f0
movq %rax, %rdi
movq 0xb95b(%rip), %rsi      # 0x1dfa8
callq 0x43b0
movq 0x8(%rsp), %rsi
addq $0x40, %rsi
movq 0xb98e(%rip), %rdi      # 0x1dff0
callq 0x42f0
movq %rax, %rdi
movq 0xb937(%rip), %rsi      # 0x1dfa8
callq 0x43b0
movq 0x8(%rsp), %rax
testb $0x1, 0x80(%rax)
je 0x126a8
movq 0x8(%rsp), %rsi
addq $0x60, %rsi
movq 0xb95c(%rip), %rdi      # 0x1dff0
callq 0x42f0
movq %rax, %rdi
movq 0xb905(%rip), %rsi      # 0x1dfa8
callq 0x43b0
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/read.cpp
// Function: Read::printFile(std::basic_ofstream<char, std::char_traits<char>>&)
void Read::printFile(ofstream& file){
	file << mName << endl;
	file << mSeq.mStr << endl;
	file << mStrand << endl;
	if(mHasQuality)
		file << mQuality << endl;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x10(%rsp), %rsi
movq %rsi, (%rsp)
movq 0x8(%rsp), %rdi
callq 0x42f0
movq %rax, %rdi
movq 0xb8cd(%rip), %rsi      # 0x1dfa8
callq 0x43b0
movq (%rsp), %rsi
movq 0x8(%rsp), %rdi
addq $0x20, %rsi
callq 0x42f0
movq %rax, %rdi
movq 0xb8ac(%rip), %rsi      # 0x1dfa8
callq 0x43b0
movq (%rsp), %rsi
movq 0x8(%rsp), %rdi
addq $0x40, %rsi
callq 0x42f0
movq %rax, %rdi
movq 0xb88b(%rip), %rsi      # 0x1dfa8
callq 0x43b0
movq (%rsp), %rax
testb $0x1, 0x80(%rax)
je 0x12750
movq (%rsp), %rsi
movq 0x8(%rsp), %rdi
addq $0x60, %rsi
callq 0x42f0
movq %rax, %rdi
movq 0xb85d(%rip), %rsi      # 0x1dfa8
callq 0x43b0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/read.cpp
// Function: Read::resize(int)
void Read::resize(int len) {
	if(len > length() || len<0)
		return ;
	mSeq.mStr.resize(len);
	mQuality.resize(len);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movl %esi, 0xc(%rsp)
movq 0x10(%rsp), %rdi
movq %rdi, (%rsp)
movl 0xc(%rsp), %eax
movl %eax, 0x8(%rsp)
callq 0x12cf0
movl %eax, %ecx
movl 0x8(%rsp), %eax
cmpl %ecx, %eax
jg 0x12d44
cmpl $0x0, 0xc(%rsp)
jge 0x12d46
jmp 0x12d6a
movq (%rsp), %rdi
addq $0x20, %rdi
movslq 0xc(%rsp), %rsi
callq 0x4510
movq (%rsp), %rdi
addq $0x60, %rdi
movslq 0xc(%rsp), %rsi
callq 0x4510
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/read.cpp
// Function: Read::lastIndex[abi:cxx11]()
string Read::lastIndex(){
	int len = mName.length();
	if(len<5)
		return "";
	for(int i=len-3;i>=0;i--){
		if(mName[i]==':' || mName[i]=='+'){
			return mName.substr(i+1, len-i);
		}
	}
	return "";
}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x10(%rsp)
movq %rdi, %rax
movq %rax, 0x18(%rsp)
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq 0x48(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x4590
movl %eax, 0x44(%rsp)
cmpl $0x5, 0x44(%rsp)
jge 0x12ef8
leaq 0x43(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x46b0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0x3e48(%rip), %rsi      # 0x16d0d
callq 0x67f0
jmp 0x12ecc
leaq 0x43(%rsp), %rdi
callq 0x43e0
jmp 0x12fb8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x38(%rsp)
movl %eax, 0x34(%rsp)
leaq 0x43(%rsp), %rdi
callq 0x43e0
jmp 0x12fc2
movl 0x44(%rsp), %eax
subl $0x3, %eax
movl %eax, 0x30(%rsp)
cmpl $0x0, 0x30(%rsp)
jl 0x12f6d
movq 0x20(%rsp), %rdi
movslq 0x30(%rsp), %rsi
callq 0x4740
movsbl (%rax), %eax
cmpl $0x3a, %eax
je 0x12f38
movq 0x20(%rsp), %rdi
movslq 0x30(%rsp), %rsi
callq 0x4740
movsbl (%rax), %eax
cmpl $0x2b, %eax
jne 0x12f5e
movq 0x20(%rsp), %rsi
movq 0x10(%rsp), %rdi
movl 0x30(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rdx
movl 0x44(%rsp), %eax
subl 0x30(%rsp), %eax
movslq %eax, %rcx
callq 0x4390
jmp 0x12fb8
jmp 0x12f60
movl 0x30(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x30(%rsp)
jmp 0x12f03
leaq 0x2f(%rsp), %rdi
movq %rdi, (%rsp)
callq 0x46b0
movq 0x10(%rsp), %rdi
movq (%rsp), %rdx
leaq 0x3d82(%rip), %rsi      # 0x16d0d
callq 0x67f0
jmp 0x12f92
leaq 0x2f(%rsp), %rdi
callq 0x43e0
jmp 0x12fb8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x38(%rsp)
movl %eax, 0x34(%rsp)
leaq 0x2f(%rsp), %rdi
callq 0x43e0
jmp 0x12fc2
movq 0x18(%rsp), %rax
addq $0x58, %rsp
retq
movq 0x38(%rsp), %rdi
callq 0x46a0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/read.cpp
// Function: Read::firstIndex[abi:cxx11]()
string Read::firstIndex(){
	int len = mName.length();
	int end = len;
	if(len<5)
		return "";
	for(int i=len-3;i>=0;i--){
		if(mName[i]=='+')
			end = i-1;
		if(mName[i]==':'){
			return mName.substr(i+1, end-i);
		}
	}
	return "";
}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x18(%rsp)
movq %rdi, %rax
movq %rax, 0x20(%rsp)
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
movq 0x58(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x4590
movl %eax, 0x54(%rsp)
movl 0x54(%rsp), %eax
movl %eax, 0x50(%rsp)
cmpl $0x5, 0x54(%rsp)
jge 0x13060
leaq 0x4f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x46b0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rdx
leaq 0x3ce0(%rip), %rsi      # 0x16d0d
callq 0x67f0
jmp 0x13034
leaq 0x4f(%rsp), %rdi
callq 0x43e0
jmp 0x1312d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x40(%rsp)
movl %eax, 0x3c(%rsp)
leaq 0x4f(%rsp), %rdi
callq 0x43e0
jmp 0x13137
movl 0x54(%rsp), %eax
subl $0x3, %eax
movl %eax, 0x38(%rsp)
cmpl $0x0, 0x38(%rsp)
jl 0x130e0
movq 0x28(%rsp), %rdi
movslq 0x38(%rsp), %rsi
callq 0x4740
movsbl (%rax), %eax
cmpl $0x2b, %eax
jne 0x13094
movl 0x38(%rsp), %eax
subl $0x1, %eax
movl %eax, 0x50(%rsp)
movq 0x28(%rsp), %rdi
movslq 0x38(%rsp), %rsi
callq 0x4740
movsbl (%rax), %eax
cmpl $0x3a, %eax
jne 0x130d1
movq 0x28(%rsp), %rsi
movq 0x18(%rsp), %rdi
movl 0x38(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rdx
movl 0x50(%rsp), %eax
subl 0x38(%rsp), %eax
movslq %eax, %rcx
callq 0x4390
jmp 0x1312d
jmp 0x130d3
movl 0x38(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x38(%rsp)
jmp 0x1306b
leaq 0x37(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x46b0
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0x3c0d(%rip), %rsi      # 0x16d0d
callq 0x67f0
jmp 0x13107
leaq 0x37(%rsp), %rdi
callq 0x43e0
jmp 0x1312d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x40(%rsp)
movl %eax, 0x3c(%rsp)
leaq 0x37(%rsp), %rdi
callq 0x43e0
jmp 0x13137
movq 0x20(%rsp), %rax
addq $0x68, %rsp
retq
movq 0x40(%rsp), %rdi
callq 0x46a0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/read.cpp
// Function: Read::lowQualCount(int)
int Read::lowQualCount(int qual){
	int count = 0;
	for(int q=0;q<mQuality.size();q++){
		if(mQuality[q] < qual + 33)
			count++;
	}
	return count;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movl %esi, 0x1c(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movl $0x0, 0x18(%rsp)
movl $0x0, 0x14(%rsp)
movq 0x8(%rsp), %rdi
movslq 0x14(%rsp), %rax
movq %rax, (%rsp)
addq $0x60, %rdi
callq 0x4250
movq %rax, %rcx
movq (%rsp), %rax
cmpq %rcx, %rax
jae 0x131d5
movq 0x8(%rsp), %rdi
addq $0x60, %rdi
movslq 0x14(%rsp), %rsi
callq 0x4740
movsbl (%rax), %eax
movl 0x1c(%rsp), %ecx
addl $0x21, %ecx
cmpl %ecx, %eax
jge 0x131c6
movl 0x18(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x18(%rsp)
jmp 0x131c8
movl 0x14(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x14(%rsp)
jmp 0x13177
movl 0x18(%rsp), %eax
addq $0x28, %rsp
retq
nop