LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: simonrharris[P]SKA/src/general.cpp
// Function: printDuration(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l>>>)
void printDuration(const std::chrono::high_resolution_clock::time_point start){
	std::chrono::high_resolution_clock::time_point finish = std::chrono::high_resolution_clock::now();
	std::chrono::duration<double> elapsed = finish - start;
	std::cout << "Done" << std::endl;
	std::cout << "Total time required: " << elapsed.count() << "s" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
callq 0x6080
movq %rax, -0x10(%rbp)
leaq -0x10(%rbp), %rdi
leaq -0x8(%rbp), %rsi
callq 0xac40
movq %rax, -0x20(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0xac90
movq 0x6e67e(%rip), %rdi     # 0x78fa8
leaq 0x4e986(%rip), %rsi     # 0x592b7
callq 0x6520
movq %rax, %rdi
movq 0x6e650(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x6e65c(%rip), %rdi     # 0x78fa8
leaq 0x4e969(%rip), %rsi     # 0x592bc
callq 0x6520
movq %rax, -0x28(%rbp)
leaq -0x18(%rbp), %rdi
callq 0xacd0
movq -0x28(%rbp), %rdi
callq 0x6990
movq %rax, %rdi
leaq 0x509f8(%rip), %rsi     # 0x5b370
callq 0x6520
movq %rax, %rdi
movq 0x6e609(%rip), %rsi     # 0x78f90
callq 0x6570
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: simonrharris[P]SKA/src/general.cpp
// Function: calculateMissedSNPs(float, float, int)
int calculateMissedSNPs(float totalSiteCount, const float variantSiteCount, const int kmerSize){

	if (variantSiteCount==0){
		std::cout << "Expected number of missed alignments = 0" << std::endl;
		return 0;
	}
	if (totalSiteCount<variantSiteCount){
		std::cout << "Error in calculateMissedSNPs. More variants than sites." << std::endl;
		return 1;
	}

	double nonvariantSiteCount=totalSiteCount-variantSiteCount;
	totalSiteCount--;//as we are assuming the kmer includes one snp
	double snpprobability=nonvariantSiteCount/totalSiteCount;

	for (int i=0; i<kmerSize*2; ++i){
		totalSiteCount--;
		nonvariantSiteCount--;
		snpprobability*=nonvariantSiteCount/totalSiteCount;
	}

	std::cout << "Expected number of missed alignments = " << (1.0-snpprobability)*variantSiteCount << std::endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movss %xmm0, -0x8(%rbp)
movss %xmm1, -0xc(%rbp)
movl %edi, -0x10(%rbp)
movss -0xc(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0xa9f2
jp 0xa9f2
movq 0x6e5dd(%rip), %rdi     # 0x78fa8
leaq 0x4e900(%rip), %rsi     # 0x592d2
callq 0x6520
movq %rax, %rdi
movq 0x6e5af(%rip), %rsi     # 0x78f90
callq 0x6570
movl $0x0, -0x4(%rbp)
jmp 0xab14
movss -0x8(%rbp), %xmm1
movss -0xc(%rbp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0xaa2f
movq 0x6e5a0(%rip), %rdi     # 0x78fa8
leaq 0x4e8ec(%rip), %rsi     # 0x592fb
callq 0x6520
movq %rax, %rdi
movq 0x6e572(%rip), %rsi     # 0x78f90
callq 0x6570
movl $0x1, -0x4(%rbp)
jmp 0xab14
movss -0x8(%rbp), %xmm0
subss -0xc(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x18(%rbp)
movss 0x4e81a(%rip), %xmm0    # 0x59264
addss -0x8(%rbp), %xmm0
movss %xmm0, -0x8(%rbp)
movsd -0x18(%rbp), %xmm0
movss -0x8(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movl -0x10(%rbp), %ecx
shll %ecx
cmpl %ecx, %eax
jge 0xaac9
movss 0x4e7de(%rip), %xmm0    # 0x59264
addss -0x8(%rbp), %xmm0
movss %xmm0, -0x8(%rbp)
movsd 0x4e7d8(%rip), %xmm0    # 0x59270
addsd -0x18(%rbp), %xmm0
movsd %xmm0, -0x18(%rbp)
movsd -0x18(%rbp), %xmm0
movss -0x8(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
divsd %xmm1, %xmm0
mulsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0xaa72
movq 0x6e4d8(%rip), %rdi     # 0x78fa8
leaq 0x4e85c(%rip), %rsi     # 0x59333
callq 0x6520
movq %rax, %rdi
movsd 0x4e781(%rip), %xmm0    # 0x59268
subsd -0x20(%rbp), %xmm0
movss -0xc(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
mulsd %xmm1, %xmm0
callq 0x6990
movq %rax, %rdi
movq 0x6e488(%rip), %rsi     # 0x78f90
callq 0x6570
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: simonrharris[P]SKA/src/kmers.cpp
// Function: vectorbool_from_ascii(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, std::vector<bool, std::allocator<bool>>&)
void vectorbool_from_ascii(std::string & myascii, std::vector < bool > & mybits){
	mybits.resize(myascii.length()*6, false);
	for (std::string::size_type i = 0; i<myascii.length(); ++i){
		int bits=int(myascii[i])-33;
		for (int j=5; j>=0; --j){
			int power=int(pow(2,j));
			mybits[j+(6*i)]=int(bits/power);
			bits=bits%power;
		}
	}
	return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rdi
callq 0x67e0
movq -0x40(%rbp), %rdi
imulq $0x6, %rax, %rsi
xorl %edx, %edx
callq 0xeca0
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
callq 0x67e0
movq %rax, %rcx
movq -0x48(%rbp), %rax
cmpq %rcx, %rax
jae 0xbe4f
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x69e0
movsbl (%rax), %eax
subl $0x21, %eax
movl %eax, -0x1c(%rbp)
movl $0x5, -0x20(%rbp)
cmpl $0x0, -0x20(%rbp)
jl 0xbe3c
cvtsi2sdl -0x20(%rbp), %xmm1
movsd 0x4d5cf(%rip), %xmm0    # 0x593a8
callq 0x68e0
cvttsd2si %xmm0, %eax
movl %eax, -0x24(%rbp)
movl -0x1c(%rbp), %eax
cltd
idivl -0x24(%rbp)
cmpl $0x0, %eax
setne %al
movb %al, -0x49(%rbp)
movq -0x10(%rbp), %rdi
movslq -0x20(%rbp), %rsi
imulq $0x6, -0x18(%rbp), %rax
addq %rax, %rsi
callq 0xedc0
movq %rax, %rcx
movb -0x49(%rbp), %al
movq %rcx, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movzbl %al, %esi
andl $0x1, %esi
leaq -0x38(%rbp), %rdi
callq 0xee20
movl -0x1c(%rbp), %eax
cltd
idivl -0x24(%rbp)
movl %edx, -0x1c(%rbp)
movl -0x20(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xbdc6
jmp 0xbe3e
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0xbd88
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: simonrharris[P]SKA/src/kmers.cpp
// Function: extractMiddleBase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, char&)
int extractMiddleBase(std::string & myString, char & myChar){
	float stringlen=(myString.length()-1)/2;
	float myremainder=::fmod((myString.length()-1),stringlen);
	if (myremainder>0){
		return 1;
	}
	myChar=myString[stringlen];
	myString.erase(myString.begin()+stringlen);
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x67e0
decq %rax
shrq %rax
cvtsi2ss %rax, %xmm0
movss %xmm0, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x67e0
decq %rax
movq %rax, %xmm0
movaps 0x4d50f(%rip), %xmm1    # 0x593b0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x4d513(%rip), %xmm1    # 0x593c0
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movss -0x1c(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
callq 0x66f0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x20(%rbp)
movss -0x20(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0xbeec
movl $0x1, -0x4(%rbp)
jmp 0xbf75
movq -0x10(%rbp), %rdi
movss -0x1c(%rbp), %xmm0
movss 0x4d10b(%rip), %xmm2    # 0x59008
movaps %xmm0, %xmm1
subss %xmm2, %xmm1
cvttss2si %xmm1, %rax
cvttss2si %xmm0, %rsi
movq %rsi, %rcx
sarq $0x3f, %rcx
andq %rcx, %rax
orq %rax, %rsi
callq 0x69e0
movb (%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, (%rax)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rdi
callq 0x64a0
movq %rax, -0x38(%rbp)
cvttss2si -0x1c(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0xee70
movq %rax, -0x30(%rbp)
leaq -0x28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x9210
movq -0x48(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x6650
movq %rax, -0x40(%rbp)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nop
// File: simonrharris[P]SKA/src/kmers.cpp
// Function: readKmerHeader(std::basic_ifstream<char, std::char_traits<char>>&, int&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&)
int readKmerHeader(std::ifstream & fileStream, int & kmersize, std::vector < std::string > & names){
	
	std::string line;
	std::getline(fileStream, line);
	fileStream >> kmersize;
	if (kmersize==0){
		return 1;
	}

	std::string name;
	std::getline(fileStream, line);
	std::getline(fileStream, line);

	std::istringstream ss(line);
	while(ss >> name){
		names.push_back(name);
	}

	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x210, %rsp            # imm = 0x210
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
leaq -0x40(%rbp), %rdi
movq %rdi, -0x1f8(%rbp)
callq 0x6730
movq -0x1f8(%rbp), %rsi
movq -0x10(%rbp), %rdi
callq 0x60d0
jmp 0xcd79
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x6320
jmp 0xcd88
movq -0x18(%rbp), %rax
cmpl $0x0, (%rax)
jne 0xcdb5
movl $0x1, -0x4(%rbp)
movl $0x1, -0x50(%rbp)
jmp 0xcea1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xceb6
leaq -0x70(%rbp), %rdi
callq 0x6730
movq -0x10(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x60d0
jmp 0xcdcd
movq -0x10(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x60d0
jmp 0xcddc
leaq -0x1f0(%rbp), %rdi
leaq -0x40(%rbp), %rsi
movl $0x8, %edx
callq 0x6880
jmp 0xcdf3
jmp 0xcdf5
leaq -0x1f0(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x6690
movq %rax, -0x200(%rbp)
jmp 0xce0e
movq -0x200(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x6670
movb %al, -0x201(%rbp)
jmp 0xce2c
movb -0x201(%rbp), %al
testb $0x1, %al
jne 0xce38
jmp 0xce71
movq -0x20(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0xabd0
jmp 0xce47
jmp 0xcdf5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xce96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x6260
jmp 0xce96
movl $0x0, -0x4(%rbp)
movl $0x1, -0x50(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x6260
leaq -0x70(%rbp), %rdi
callq 0x6a08
jmp 0xcea1
leaq -0x70(%rbp), %rdi
callq 0x6a08
jmp 0xceb6
leaq -0x40(%rbp), %rdi
callq 0x6a08
movl -0x4(%rbp), %eax
addq $0x210, %rsp            # imm = 0x210
popq %rbp
retq
leaq -0x40(%rbp), %rdi
callq 0x6a08
movq -0x48(%rbp), %rdi
callq 0x6900
nopl (%rax,%rax)
// File: simonrharris[P]SKA/src/kmers.cpp
// Function: addKmerToBaseArrayMap(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::array<int, 8ul>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::array<int, 8ul>>>>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, char, bool)
void addKmerToBaseArrayMap(std::unordered_map < std::string, std::array < int, 8 > > & kmerMap, const std::string & kmer, const char base, const bool firstFile){

	std::unordered_map < std::string, std::array < int, 8 > >::iterator it = kmerMap.find(kmer);//check if the kmer is in the hash
	if ( it != kmerMap.end() ){//if the kmer is in the hash
		it->second[base_score[int(base)]]++;//increment the count of the base for the kmer
	}
	else if (firstFile) {//if the kmers isn't in the hash and we are adding from the first fastq file
		std::pair < std::unordered_map < std::string, std::array < int, 8 > >::iterator,bool>  ret = kmerMap.insert(std::make_pair(kmer, std::array < int, 8 > ()));//insert the kmer into the hash
		ret.first->second[base_score[int(base)]]=1;//increment the count of the base for the kmer
	}
	return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movb %cl, %al
movb %dl, %cl
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb %cl, -0x11(%rbp)
andb $0x1, %al
movb %al, -0x12(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xf960
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
callq 0xf990
movq %rax, -0x28(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0xeee0
testb $0x1, %al
jne 0xdd70
jmp 0xdda4
leaq -0x20(%rbp), %rdi
callq 0xf9c0
movq %rax, %rdi
addq $0x20, %rdi
movsbl -0x11(%rbp), %eax
movslq %eax, %rcx
leaq 0x6b802(%rip), %rax     # 0x79590
movsbq (%rax,%rcx), %rsi
callq 0xf9f0
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xde8d
testb $0x1, -0x12(%rbp)
je 0xde8b
movq -0x8(%rbp), %rax
movq %rax, -0xe0(%rbp)
movq -0x10(%rbp), %rsi
xorps %xmm0, %xmm0
movaps %xmm0, -0x90(%rbp)
movaps %xmm0, -0xa0(%rbp)
leaq -0x78(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
leaq -0xa0(%rbp), %rdx
callq 0xfa60
movq -0xe0(%rbp), %rdi
movq -0xd8(%rbp), %rsi
callq 0xfa20
movb %dl, -0xc9(%rbp)
movq %rax, -0xc8(%rbp)
jmp 0xde07
movb -0xc9(%rbp), %al
movq -0xc8(%rbp), %rcx
movq %rcx, -0xc0(%rbp)
movb %al, -0xb8(%rbp)
movq -0xc0(%rbp), %rax
movq %rax, -0x38(%rbp)
movb -0xb8(%rbp), %al
movb %al, -0x30(%rbp)
leaq -0x78(%rbp), %rdi
callq 0xfaa0
leaq -0x38(%rbp), %rdi
callq 0xf9c0
movq %rax, %rdi
addq $0x20, %rdi
movsbl -0x11(%rbp), %eax
movslq %eax, %rcx
leaq 0x6b734(%rip), %rax     # 0x79590
movsbq (%rax,%rcx), %rsi
callq 0xf9f0
movl $0x1, (%rax)
jmp 0xde8b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x78(%rbp), %rdi
callq 0xfaa0
jmp 0xde96
jmp 0xde8d
addq $0xe0, %rsp
popq %rbp
retq
movq -0xa8(%rbp), %rdi
callq 0x6900
nopw %cs:(%rax,%rax)
// File: simonrharris[P]SKA/src/sk_find.cpp
// Function: getGeneticCode[abi:cxx11](int)
std::unordered_map < std::string, char > getGeneticCode(int translationTable){

	std::unordered_map < std::string, char > myGeneticCode=geneticCode;

	if (translationTable==4){
		myGeneticCode.insert(std::make_pair( "TGA", 'W' ));
		
	}
	return myGeneticCode;


}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x68(%rbp)
movq %rdi, %rax
movq %rax, -0x60(%rbp)
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movb $0x0, -0xd(%rbp)
leaq 0x50118(%rip), %rsi     # 0x79690
callq 0x2dc30
cmpl $0x4, -0xc(%rbp)
jne 0x295ff
movb $0x57, -0x21(%rbp)
leaq 0x30748(%rip), %rdi     # 0x59cd6
leaq -0x21(%rbp), %rsi
callq 0x2dca0
movb %dl, -0x71(%rbp)
movq %rax, -0x70(%rbp)
jmp 0x295a0
movq -0x68(%rbp), %rdi
movb -0x71(%rbp), %al
movq -0x70(%rbp), %rcx
movq %rcx, -0x48(%rbp)
movb %al, -0x40(%rbp)
movb -0x40(%rbp), %al
movb %al, -0x18(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq -0x20(%rbp), %rsi
callq 0x2dc60
movb %dl, -0x81(%rbp)
movq %rax, -0x80(%rbp)
jmp 0x295d5
movb -0x81(%rbp), %al
movq -0x80(%rbp), %rcx
movq %rcx, -0x58(%rbp)
movb %al, -0x50(%rbp)
jmp 0x295ff
movq -0x68(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x201c0
jmp 0x2961f
movb $0x1, -0xd(%rbp)
testb $0x1, -0xd(%rbp)
jne 0x29612
movq -0x68(%rbp), %rdi
callq 0x201c0
movq -0x60(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x6900
nopl (%rax,%rax)
// File: simonrharris[P]SKA/src/sk_refalign.cpp
// Function: addKmerToBasePositionMap(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<int, std::allocator<int>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::vector<int, std::allocator<int>>>>>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, int)
void addKmerToBasePositionMap(std::unordered_map < std::string, std::vector <int> > & myKmerMap, const std::string & myKmer, const int myPosition){
	std::unordered_map < std::string, std::vector <int> >::iterator it = myKmerMap.find(myKmer);//check if the kmer is in the hash
	if ( it != myKmerMap.end() ){//if the kmer is in the hash
		it->second.push_back(myPosition);//add the location of the match to the map
	}
	else {
		myKmerMap.insert(std::make_pair(myKmer, std::vector < int > {myPosition}));
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x2df50
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
callq 0x2dfb0
movq %rax, -0x28(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x2df80
testb $0x1, %al
jne 0x365e7
jmp 0x36605
leaq -0x20(%rbp), %rdi
callq 0x2e020
movq %rax, %rdi
addq $0x20, %rdi
leaq -0x14(%rbp), %rsi
callq 0x1ac30
jmp 0x36733
movq -0x8(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xc0(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x8c(%rbp)
leaq -0x8c(%rbp), %rax
movq %rax, -0x88(%rbp)
movq $0x1, -0x80(%rbp)
leaq -0x8d(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x1a8f0
movq -0xb8(%rbp), %rcx
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdx
leaq -0x78(%rbp), %rdi
callq 0x38e10
jmp 0x3666a
movq -0xc0(%rbp), %rsi
leaq -0x60(%rbp), %rdi
leaq -0x78(%rbp), %rdx
callq 0x38dd0
jmp 0x36680
movq -0xc8(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x2e180
movb %dl, -0xd1(%rbp)
movq %rax, -0xd0(%rbp)
jmp 0x3669f
movb -0xd1(%rbp), %al
movq -0xd0(%rbp), %rcx
movq %rcx, -0xb0(%rbp)
movb %al, -0xa8(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x2e200
leaq -0x78(%rbp), %rdi
callq 0x1aa00
leaq -0x8d(%rbp), %rdi
callq 0x1a990
jmp 0x36733
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x36725
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x3671c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x2e200
leaq -0x78(%rbp), %rdi
callq 0x1aa00
leaq -0x8d(%rbp), %rdi
callq 0x1a990
jmp 0x3673c
addq $0xe0, %rsp
popq %rbp
retq
movq -0x98(%rbp), %rdi
callq 0x6900
nopl (%rax,%rax)
// File: simonrharris[P]SKA/src/ska.cpp
// Function: getint(char*)
long int getint(char * arg){
	long int i;
	char * pEnd;i=strtol(arg, &pEnd, 10);
	if(*pEnd != '\0'){
    	throw std::invalid_argument( "received non integer" );
  	}
  	return i;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x18(%rbp), %rsi
movl $0xa, %edx
callq 0x6a10
movq %rax, -0x10(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x4c09e
movl $0x10, %edi
callq 0x6270
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x30(%rbp)
leaq 0xe96f(%rip), %rsi      # 0x5a9d8
callq 0x6980
jmp 0x4c070
movq -0x30(%rbp), %rdi
movq 0x2cf55(%rip), %rsi     # 0x78fd0
movq 0x2cf3e(%rip), %rdx     # 0x78fc0
callq 0x68b0
movq -0x30(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
callq 0x63d0
jmp 0x4c0a8
movq -0x10(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x6900
nopw %cs:(%rax,%rax)
// File: simonrharris[P]SKA/src/ska.cpp
// Function: getfloat(char*)
float getfloat(char * arg){
	float f;
	char * pEnd;f=strtof(arg, &pEnd);
	if(*pEnd != '\0'){
    	throw std::invalid_argument( "received non float" );
  	}
  	return f;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x66e0
movss %xmm0, -0xc(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x4c13a
movl $0x10, %edi
callq 0x6270
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x30(%rbp)
leaq 0xe8e8(%rip), %rsi      # 0x5a9ed
callq 0x6980
jmp 0x4c10c
movq -0x30(%rbp), %rdi
movq 0x2ceb9(%rip), %rsi     # 0x78fd0
movq 0x2cea2(%rip), %rdx     # 0x78fc0
callq 0x68b0
movq -0x30(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
callq 0x63d0
jmp 0x4c145
movss -0xc(%rbp), %xmm0
addq $0x30, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x6900
nop
// File: simonrharris[P]SKA/src/ska.cpp
// Function: skaVersion()
int skaVersion(void){
	std::cout << std::endl << "SKA: Split Kmer Analysis" << std::endl;
	std::cout << "Version: " << versionNumber << std::endl;
	std::cout << "Citation: " << citation << std::endl << std::endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x2cb3d(%rip), %rdi     # 0x78fa8
movq 0x2cb1e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0xe988(%rip), %rsi      # 0x5ae09
callq 0x6520
movq %rax, %rdi
movq 0x2cb00(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2cb0c(%rip), %rdi     # 0x78fa8
leaq 0xe97f(%rip), %rsi      # 0x5ae22
callq 0x6520
movq %rax, %rdi
leaq 0x2d1ae(%rip), %rsi     # 0x79660
callq 0x64d0
movq %rax, %rdi
movq 0x2cacf(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2cadb(%rip), %rdi     # 0x78fa8
leaq 0xe958(%rip), %rsi      # 0x5ae2c
callq 0x6520
movq %rax, %rdi
leaq 0x2d1fd(%rip), %rsi     # 0x796e0
callq 0x64d0
movq %rax, %rdi
movq 0x2ca9e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x2ca8f(%rip), %rsi     # 0x78f90
callq 0x6570
xorl %eax, %eax
popq %rbp
retq
nopw (%rax,%rax)
// File: simonrharris[P]SKA/src/ska.cpp
// Function: allelesHelp()
int allelesHelp(void){
	std::cout << std::endl << "Usage:" << std::endl;
	std::cout << "ska fasta [options] <fasta files>" << std::endl << std::endl;
	std::cout << "Options:" << std::endl;
	std::cout << "-h\t\tPrint this help." << std::endl;
	std::cout << "-f <file>\tFile of split kmer file names. These will be added to or" << std::endl << "\t\tused as an alternative input to the list provided on the" << std::endl << "\t\tcommand line." << std::endl;
	std::cout << "-k <int>\tSplit Kmer size. The kmer used for searches will be twice" << std::endl << "\t\tthis length, with the variable base in the middle. e.g. a" << std::endl << "\t\tkmer of 15 will search for 31 base matches with the middle" << std::endl << "\t\tbase being allowed to vary. Must be divisible by 3." << std::endl << "\t\t[Default = 15]" << std::endl << std::endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x2ca8d(%rip), %rdi     # 0x78fa8
movq 0x2ca6e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0xe4cf(%rip), %rsi      # 0x5aa00
callq 0x6520
movq %rax, %rdi
movq 0x2ca50(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2ca5c(%rip), %rdi     # 0x78fa8
leaq 0xe8e4(%rip), %rsi      # 0x5ae37
callq 0x6520
movq %rax, %rdi
movq 0x2ca2e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x2ca1f(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2ca2b(%rip), %rdi     # 0x78fa8
leaq 0xe8d5(%rip), %rsi      # 0x5ae59
callq 0x6520
movq %rax, %rdi
movq 0x2c9fd(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2ca09(%rip), %rdi     # 0x78fa8
leaq 0xe8bc(%rip), %rsi      # 0x5ae62
callq 0x6520
movq %rax, %rdi
movq 0x2c9db(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2c9e7(%rip), %rdi     # 0x78fa8
leaq 0xe8af(%rip), %rsi      # 0x5ae77
callq 0x6520
movq %rax, %rdi
movq 0x2c9b9(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0xe8d4(%rip), %rsi      # 0x5aeba
callq 0x6520
movq %rax, %rdi
movq 0x2c99b(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0x10376(%rip), %rsi     # 0x5c97a
callq 0x6520
movq %rax, %rdi
movq 0x2c97d(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2c989(%rip), %rdi     # 0x78fa8
leaq 0xe8cf(%rip), %rsi      # 0x5aef5
callq 0x6520
movq %rax, %rdi
movq 0x2c95b(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0xe8f4(%rip), %rsi      # 0x5af38
callq 0x6520
movq %rax, %rdi
movq 0x2c93d(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0xe912(%rip), %rsi      # 0x5af74
callq 0x6520
movq %rax, %rdi
movq 0x2c91f(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0xe931(%rip), %rsi      # 0x5afb1
callq 0x6520
movq %rax, %rdi
movq 0x2c901(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0xf632(%rip), %rsi      # 0x5bcd0
callq 0x6520
movq %rax, %rdi
movq 0x2c8e3(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x2c8d4(%rip), %rsi     # 0x78f90
callq 0x6570
xorl %eax, %eax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: simonrharris[P]SKA/src/ska.cpp
// Function: alignHelp()
int alignHelp(void){
	std::cout << std::endl << "Usage:" << std::endl;
	std::cout << "ska align [options] <split kmer files>" << std::endl << std::endl;
	std::cout << "Options:" << std::endl;
	std::cout << "-h\t\tPrint this help." << std::endl;
	std::cout << "-f <file>\tFile of split kmer file names. These will be added to or \n\t\tused as an alternative input to the list provided on the \n\t\tcommand line." << std::endl;
	std::cout << "-k\t\tPrint aligned split kmers to file." << std::endl;
	std::cout << "-o <file>\tPrefix for output files. [Default = reference_free]" << std::endl;
	std::cout << "-p <float>\tMinimum proportion of isolates required to possess a split \n\t\tkmer for that kmer to be included in the alignment. \n\t\t[Default = 0.9]" << std::endl;
	std::cout << "-s <file>\tFile of sample names to include in the alignment." << std::endl;
	std::cout << "-v\t\tOutput variant only alignment. [Default = all sites]" << std::endl << std::endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x2c00d(%rip), %rdi     # 0x78fa8
movq 0x2bfee(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0xda4f(%rip), %rsi      # 0x5aa00
callq 0x6520
movq %rax, %rdi
movq 0x2bfd0(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2bfdc(%rip), %rdi     # 0x78fa8
leaq 0xe0ee(%rip), %rsi      # 0x5b0c1
callq 0x6520
movq %rax, %rdi
movq 0x2bfae(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x2bf9f(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2bfab(%rip), %rdi     # 0x78fa8
leaq 0xde55(%rip), %rsi      # 0x5ae59
callq 0x6520
movq %rax, %rdi
movq 0x2bf7d(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2bf89(%rip), %rdi     # 0x78fa8
leaq 0xde3c(%rip), %rsi      # 0x5ae62
callq 0x6520
movq %rax, %rdi
movq 0x2bf5b(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2bf67(%rip), %rdi     # 0x78fa8
leaq 0xe0a0(%rip), %rsi      # 0x5b0e8
callq 0x6520
movq %rax, %rdi
movq 0x2bf39(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2bf45(%rip), %rdi     # 0x78fa8
leaq 0xe10e(%rip), %rsi      # 0x5b178
callq 0x6520
movq %rax, %rdi
movq 0x2bf17(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2bf23(%rip), %rdi     # 0x78fa8
leaq 0xe113(%rip), %rsi      # 0x5b19f
callq 0x6520
movq %rax, %rdi
movq 0x2bef5(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2bf01(%rip), %rdi     # 0x78fa8
leaq 0xe12f(%rip), %rsi      # 0x5b1dd
callq 0x6520
movq %rax, %rdi
movq 0x2bed3(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2bedf(%rip), %rdi     # 0x78fa8
leaq 0xe19d(%rip), %rsi      # 0x5b26d
callq 0x6520
movq %rax, %rdi
movq 0x2beb1(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2bebd(%rip), %rdi     # 0x78fa8
leaq 0xe1b7(%rip), %rsi      # 0x5b2a9
callq 0x6520
movq %rax, %rdi
movq 0x2be8f(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x2be80(%rip), %rsi     # 0x78f90
callq 0x6570
xorl %eax, %eax
popq %rbp
retq
nopl (%rax)
// File: simonrharris[P]SKA/src/ska.cpp
// Function: annotateHelp()
int annotateHelp(void){
	std::cout << std::endl << "Usage:" << std::endl;
	std::cout << "ska annotate [options] <kmer files>" << std::endl << std::endl;
	std::cout << "Options:" << std::endl;
	std::cout << "-h\t\tPrint this help." << std::endl;
	std::cout << "-f <file>\tFile of split kmer file names. These will be added to or \n\t\tused as an alternative input to the list provided on the \n\t\tcommand line." << std::endl;
	std::cout << "-i\t\tInclude kmers in repetitive reference regions." << std::endl;
	std::cout << "-o <file>\tPrefix for output files. [Default = annotation]" << std::endl;
	std::cout << "-p\t\tInclude product in output." << std::endl;
	std::cout << "-r <file>\tReference fasta/gff file name. [Required]" << std::endl;
	std::cout << "-v\t\tOnly output variant sites." << std::endl << std::endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x2b18d(%rip), %rdi     # 0x78fa8
movq 0x2b16e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0xcbcf(%rip), %rsi      # 0x5aa00
callq 0x6520
movq %rax, %rdi
movq 0x2b150(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2b15c(%rip), %rdi     # 0x78fa8
leaq 0xd5d4(%rip), %rsi      # 0x5b427
callq 0x6520
movq %rax, %rdi
movq 0x2b12e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x2b11f(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2b12b(%rip), %rdi     # 0x78fa8
leaq 0xcfd5(%rip), %rsi      # 0x5ae59
callq 0x6520
movq %rax, %rdi
movq 0x2b0fd(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2b109(%rip), %rdi     # 0x78fa8
leaq 0xcfbc(%rip), %rsi      # 0x5ae62
callq 0x6520
movq %rax, %rdi
movq 0x2b0db(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2b0e7(%rip), %rdi     # 0x78fa8
leaq 0xd220(%rip), %rsi      # 0x5b0e8
callq 0x6520
movq %rax, %rdi
movq 0x2b0b9(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2b0c5(%rip), %rdi     # 0x78fa8
leaq 0xd561(%rip), %rsi      # 0x5b44b
callq 0x6520
movq %rax, %rdi
movq 0x2b097(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2b0a3(%rip), %rdi     # 0x78fa8
leaq 0xd572(%rip), %rsi      # 0x5b47e
callq 0x6520
movq %rax, %rdi
movq 0x2b075(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2b081(%rip), %rdi     # 0x78fa8
leaq 0xd58a(%rip), %rsi      # 0x5b4b8
callq 0x6520
movq %rax, %rdi
movq 0x2b053(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2b05f(%rip), %rdi     # 0x78fa8
leaq 0xd587(%rip), %rsi      # 0x5b4d7
callq 0x6520
movq %rax, %rdi
movq 0x2b031(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2b03d(%rip), %rdi     # 0x78fa8
leaq 0xd599(%rip), %rsi      # 0x5b50b
callq 0x6520
movq %rax, %rdi
movq 0x2b00f(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x2b000(%rip), %rsi     # 0x78f90
callq 0x6570
xorl %eax, %eax
popq %rbp
retq
nopl (%rax)
// File: simonrharris[P]SKA/src/ska.cpp
// Function: compareHelp()
int compareHelp(void){
	std::cout << std::endl << "Usage:" << std::endl;
	std::cout << "ska compare [options] <subject split kmer files>" << std::endl << std::endl;
	std::cout << "Options:" << std::endl;
	std::cout << "-h\t\tPrint this help." << std::endl;
	std::cout << "-f <file>\tFile of split kmer file names. These will be added to or \n\t\tused as an alternative input to the list provided on the \n\t\tcommand line." << std::endl;
	std::cout << "-q <file>\tQuery split kmer file." << std::endl << std::endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x2a3bd(%rip), %rdi     # 0x78fa8
movq 0x2a39e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0xbdff(%rip), %rsi      # 0x5aa00
callq 0x6520
movq %rax, %rdi
movq 0x2a380(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2a38c(%rip), %rdi     # 0x78fa8
leaq 0xca6f(%rip), %rsi      # 0x5b692
callq 0x6520
movq %rax, %rdi
movq 0x2a35e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x2a34f(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2a35b(%rip), %rdi     # 0x78fa8
leaq 0xc205(%rip), %rsi      # 0x5ae59
callq 0x6520
movq %rax, %rdi
movq 0x2a32d(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2a339(%rip), %rdi     # 0x78fa8
leaq 0xc1ec(%rip), %rsi      # 0x5ae62
callq 0x6520
movq %rax, %rdi
movq 0x2a30b(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2a317(%rip), %rdi     # 0x78fa8
leaq 0xc450(%rip), %rsi      # 0x5b0e8
callq 0x6520
movq %rax, %rdi
movq 0x2a2e9(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2a2f5(%rip), %rdi     # 0x78fa8
leaq 0xca09(%rip), %rsi      # 0x5b6c3
callq 0x6520
movq %rax, %rdi
movq 0x2a2c7(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x2a2b8(%rip), %rsi     # 0x78f90
callq 0x6570
xorl %eax, %eax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: simonrharris[P]SKA/src/ska.cpp
// Function: fastaHelp()
int fastaHelp(void){
	std::cout << std::endl << "Usage:" << std::endl;
	std::cout << "ska fasta [options] <fasta files>" << std::endl << std::endl;
	std::cout << "Options:" << std::endl;
	std::cout << "-c\t\tTreat all contigs as circular." << std::endl;
	std::cout << "-h\t\tPrint this help." << std::endl;
	std::cout << "-f <file>\tFile of split kmer file names. These will be added to or \n\t\tused as an alternative input to the list provided on the \n\t\tcommand line." << std::endl;
	std::cout << "-k <int>\tSplit Kmer size. The kmer used for searches will be twice \n\t\tthis length, with the variable base in the middle. e.g. a \n\t\tkmer of 15 will search for 31 base matches with the middle \n\t\tbase being allowed to vary. Must be divisible by 3. \n\t\t[Default = 15]" << std::endl;
	std::cout << "-o <file>\tOutput file prefix. [Default = fasta]" << std::endl << std::endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x28bad(%rip), %rdi     # 0x78fa8
movq 0x28b8e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0xa5ef(%rip), %rsi      # 0x5aa00
callq 0x6520
movq %rax, %rdi
movq 0x28b70(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x28b7c(%rip), %rdi     # 0x78fa8
leaq 0xaa04(%rip), %rsi      # 0x5ae37
callq 0x6520
movq %rax, %rdi
movq 0x28b4e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x28b3f(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x28b4b(%rip), %rdi     # 0x78fa8
leaq 0xa9f5(%rip), %rsi      # 0x5ae59
callq 0x6520
movq %rax, %rdi
movq 0x28b1d(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x28b29(%rip), %rdi     # 0x78fa8
leaq 0xb731(%rip), %rsi      # 0x5bbb7
callq 0x6520
movq %rax, %rdi
movq 0x28afb(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x28b07(%rip), %rdi     # 0x78fa8
leaq 0xa9ba(%rip), %rsi      # 0x5ae62
callq 0x6520
movq %rax, %rdi
movq 0x28ad9(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x28ae5(%rip), %rdi     # 0x78fa8
leaq 0xac1e(%rip), %rsi      # 0x5b0e8
callq 0x6520
movq %rax, %rdi
movq 0x28ab7(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x28ac3(%rip), %rdi     # 0x78fa8
leaq 0xb6ee(%rip), %rsi      # 0x5bbda
callq 0x6520
movq %rax, %rdi
movq 0x28a95(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x28aa1(%rip), %rdi     # 0x78fa8
leaq 0xb7d3(%rip), %rsi      # 0x5bce1
callq 0x6520
movq %rax, %rdi
movq 0x28a73(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x28a64(%rip), %rsi     # 0x78f90
callq 0x6570
xorl %eax, %eax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: simonrharris[P]SKA/src/ska.cpp
// Function: humaniseHelp()
int humaniseHelp(void){
	std::cout << std::endl << "Usage:" << std::endl;
	std::cout << "ska humanise [options]" << std::endl << std::endl;
	std::cout << "Options:" << std::endl;
	std::cout << "-h\t\tPrint this help." << std::endl;
	std::cout << "-i <file>\tInput split kmer file." << std::endl;
	std::cout << "-o <file>\tOutput prefix. [Default = humanised_kmers]" << std::endl;
	std::cout << "-t\t\tPrint tabulated output." << std::endl << std::endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x2669d(%rip), %rdi     # 0x78fa8
movq 0x2667e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0x80df(%rip), %rsi      # 0x5aa00
callq 0x6520
movq %rax, %rdi
movq 0x26660(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2666c(%rip), %rdi     # 0x78fa8
leaq 0x98fa(%rip), %rsi      # 0x5c23d
callq 0x6520
movq %rax, %rdi
movq 0x2663e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x2662f(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2663b(%rip), %rdi     # 0x78fa8
leaq 0x84e5(%rip), %rsi      # 0x5ae59
callq 0x6520
movq %rax, %rdi
movq 0x2660d(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x26619(%rip), %rdi     # 0x78fa8
leaq 0x84cc(%rip), %rsi      # 0x5ae62
callq 0x6520
movq %rax, %rdi
movq 0x265eb(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x265f7(%rip), %rdi     # 0x78fa8
leaq 0x989c(%rip), %rsi      # 0x5c254
callq 0x6520
movq %rax, %rdi
movq 0x265c9(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x265d5(%rip), %rdi     # 0x78fa8
leaq 0x989b(%rip), %rsi      # 0x5c275
callq 0x6520
movq %rax, %rdi
movq 0x265a7(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x265b3(%rip), %rdi     # 0x78fa8
leaq 0x98ae(%rip), %rsi      # 0x5c2aa
callq 0x6520
movq %rax, %rdi
movq 0x26585(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x26576(%rip), %rsi     # 0x78f90
callq 0x6570
xorl %eax, %eax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: simonrharris[P]SKA/src/ska.cpp
// Function: infoHelp()
int infoHelp(void){
	std::cout << std::endl << "Usage:" << std::endl;
	std::cout << "ska info [options] <split kmer files>" << std::endl << std::endl;
	std::cout << "Options:" << std::endl;
	std::cout << "-h\t\tPrint this help." << std::endl;
	std::cout << "-f <file>\tFile of split kmer file names. These will be added to or \n\t\tused as an alternative input to the list provided on the \n\t\tcommand line." << std::endl;
	std::cout << "-t\t\tPrint tabulated output." << std::endl << std::endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x25e9d(%rip), %rdi     # 0x78fa8
movq 0x25e7e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0x78df(%rip), %rsi      # 0x5aa00
callq 0x6520
movq %rax, %rdi
movq 0x25e60(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x25e6c(%rip), %rdi     # 0x78fa8
leaq 0x91ec(%rip), %rsi      # 0x5c32f
callq 0x6520
movq %rax, %rdi
movq 0x25e3e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x25e2f(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x25e3b(%rip), %rdi     # 0x78fa8
leaq 0x7ce5(%rip), %rsi      # 0x5ae59
callq 0x6520
movq %rax, %rdi
movq 0x25e0d(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x25e19(%rip), %rdi     # 0x78fa8
leaq 0x7ccc(%rip), %rsi      # 0x5ae62
callq 0x6520
movq %rax, %rdi
movq 0x25deb(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x25df7(%rip), %rdi     # 0x78fa8
leaq 0x7f30(%rip), %rsi      # 0x5b0e8
callq 0x6520
movq %rax, %rdi
movq 0x25dc9(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x25dd5(%rip), %rdi     # 0x78fa8
leaq 0x90d0(%rip), %rsi      # 0x5c2aa
callq 0x6520
movq %rax, %rdi
movq 0x25da7(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x25d98(%rip), %rsi     # 0x78f90
callq 0x6570
xorl %eax, %eax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: simonrharris[P]SKA/src/ska.cpp
// Function: mergeHelp()
int mergeHelp(void){
	std::cout << std::endl << "Usage:" << std::endl;
	std::cout << "ska merge [options] <subject split kmer files>" << std::endl << std::endl;
	std::cout << "Options:" << std::endl;
	std::cout << "-h\t\tPrint this help." << std::endl;
	std::cout << "-f <file>\tFile of split kmer file names. These will be added to or \n\t\tused as an alternative input to the list provided on the \n\t\tcommand line." << std::endl;
	std::cout << "-o <file>\tOutput file prefix. [Default = merged]" << std::endl;
	std::cout << "-s <file>\tFile of sample names to include in the merged file. Can \n\t\tbe used to extract samples from a merge" << std::endl << std::endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x244bd(%rip), %rdi     # 0x78fa8
movq 0x2449e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0x5eff(%rip), %rsi      # 0x5aa00
callq 0x6520
movq %rax, %rdi
movq 0x24480(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2448c(%rip), %rdi     # 0x78fa8
leaq 0x7c88(%rip), %rsi      # 0x5c7ab
callq 0x6520
movq %rax, %rdi
movq 0x2445e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x2444f(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2445b(%rip), %rdi     # 0x78fa8
leaq 0x6305(%rip), %rsi      # 0x5ae59
callq 0x6520
movq %rax, %rdi
movq 0x2442d(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x24439(%rip), %rdi     # 0x78fa8
leaq 0x62ec(%rip), %rsi      # 0x5ae62
callq 0x6520
movq %rax, %rdi
movq 0x2440b(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x24417(%rip), %rdi     # 0x78fa8
leaq 0x6550(%rip), %rsi      # 0x5b0e8
callq 0x6520
movq %rax, %rdi
movq 0x243e9(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x243f5(%rip), %rdi     # 0x78fa8
leaq 0x7c20(%rip), %rsi      # 0x5c7da
callq 0x6520
movq %rax, %rdi
movq 0x243c7(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x243d3(%rip), %rdi     # 0x78fa8
leaq 0x7c2f(%rip), %rsi      # 0x5c80b
callq 0x6520
movq %rax, %rdi
movq 0x243a5(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x24396(%rip), %rsi     # 0x78f90
callq 0x6570
xorl %eax, %eax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: simonrharris[P]SKA/src/ska.cpp
// Function: summaryHelp()
int summaryHelp(void){
	std::cout << std::endl << "Usage:" << std::endl;
	std::cout << "ska summary [options] <split kmer files>" << std::endl << std::endl;
	std::cout << "Options:" << std::endl;
	std::cout << "-f <file>\tFile of split kmer file names. These will be added to or \n\t\tused as an alternative input to the list provided on the \n\t\tcommand line." << std::endl;
	std::cout << "-h\t\tPrint this help." << std::endl << std::endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x2397d(%rip), %rdi     # 0x78fa8
movq 0x2395e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0x53bf(%rip), %rsi      # 0x5aa00
callq 0x6520
movq %rax, %rdi
movq 0x23940(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2394c(%rip), %rdi     # 0x78fa8
leaq 0x7246(%rip), %rsi      # 0x5c8a9
callq 0x6520
movq %rax, %rdi
movq 0x2391e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x2390f(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2391b(%rip), %rdi     # 0x78fa8
leaq 0x57c5(%rip), %rsi      # 0x5ae59
callq 0x6520
movq %rax, %rdi
movq 0x238ed(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x238f9(%rip), %rdi     # 0x78fa8
leaq 0x5a32(%rip), %rsi      # 0x5b0e8
callq 0x6520
movq %rax, %rdi
movq 0x238cb(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x238d7(%rip), %rdi     # 0x78fa8
leaq 0x578a(%rip), %rsi      # 0x5ae62
callq 0x6520
movq %rax, %rdi
movq 0x238a9(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x2389a(%rip), %rsi     # 0x78f90
callq 0x6570
xorl %eax, %eax
popq %rbp
retq
nop
// File: simonrharris[P]SKA/src/ska.cpp
// Function: typeHelp()
int typeHelp(void){
	std::cout << std::endl << "Usage:" << std::endl;
	std::cout << "ska type [options] <locus fasta files>" << std::endl << std::endl;
	std::cout << "Options:" << std::endl;
	std::cout << "-h\t\tPrint this help." << std::endl;
	std::cout << "-f <file>\tFile of locus fasta file names. These will be added to or \n\t\tused as an alternative input to the list provided on the \n\t\tcommand line." << std::endl;
	std::cout << "-p <file>\ttab file containing profile information." << std::endl;
	std::cout << "-q <file>\tQuery split kmer file. This can be a single kmer file." << std::endl << std::endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x2343d(%rip), %rdi     # 0x78fa8
movq 0x2341e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0x4e7f(%rip), %rsi      # 0x5aa00
callq 0x6520
movq %rax, %rdi
movq 0x23400(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x2340c(%rip), %rdi     # 0x78fa8
leaq 0x6d2f(%rip), %rsi      # 0x5c8d2
callq 0x6520
movq %rax, %rdi
movq 0x233de(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x233cf(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x233db(%rip), %rdi     # 0x78fa8
leaq 0x5285(%rip), %rsi      # 0x5ae59
callq 0x6520
movq %rax, %rdi
movq 0x233ad(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x233b9(%rip), %rdi     # 0x78fa8
leaq 0x526c(%rip), %rsi      # 0x5ae62
callq 0x6520
movq %rax, %rdi
movq 0x2338b(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x23397(%rip), %rdi     # 0x78fa8
leaq 0x6ce1(%rip), %rsi      # 0x5c8f9
callq 0x6520
movq %rax, %rdi
movq 0x23369(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x23375(%rip), %rdi     # 0x78fa8
leaq 0x6d50(%rip), %rsi      # 0x5c98a
callq 0x6520
movq %rax, %rdi
movq 0x23347(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x23353(%rip), %rdi     # 0x78fa8
leaq 0x6d61(%rip), %rsi      # 0x5c9bd
callq 0x6520
movq %rax, %rdi
movq 0x23325(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x23316(%rip), %rsi     # 0x78f90
callq 0x6570
xorl %eax, %eax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: simonrharris[P]SKA/src/ska.cpp
// Function: uniqueHelp()
int uniqueHelp(void){
	std::cout << std::endl << "Usage:" << std::endl;
	std::cout << "ska unique [options]" << std::endl << std::endl;
	std::cout << "Options:" << std::endl;
	std::cout << "-f <file>\tFile of split kmer file names. These will be added to or \n\t\tused as an alternative input to the list provided on the \n\t\tcommand line." << std::endl;
	std::cout << "-h\t\tPrint this help." << std::endl;
	std::cout << "-i <file>\tFile of ingroup sample names. Unique kmers found \n\t\tin these files will be retained." << std::endl;
	std::cout << "-n\t\tAllow Ns as in unique split kmers." << std::endl;
	std::cout << "-o <file>\tOutput file prefix. [Default = unique]" << std::endl;
	std::cout << "-p <float>\tMinimum proportion of ingroup isolates required to possess a \n\t\tsplit kmer for that kmer to be retained. [Default = 0.9]" << std::endl << std::endl;
					   
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x22b2d(%rip), %rdi     # 0x78fa8
movq 0x22b0e(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
leaq 0x456f(%rip), %rsi      # 0x5aa00
callq 0x6520
movq %rax, %rdi
movq 0x22af0(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x22afc(%rip), %rdi     # 0x78fa8
leaq 0x656d(%rip), %rsi      # 0x5ca20
callq 0x6520
movq %rax, %rdi
movq 0x22ace(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x22abf(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x22acb(%rip), %rdi     # 0x78fa8
leaq 0x4975(%rip), %rsi      # 0x5ae59
callq 0x6520
movq %rax, %rdi
movq 0x22a9d(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x22aa9(%rip), %rdi     # 0x78fa8
leaq 0x4be2(%rip), %rsi      # 0x5b0e8
callq 0x6520
movq %rax, %rdi
movq 0x22a7b(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x22a87(%rip), %rdi     # 0x78fa8
leaq 0x493a(%rip), %rsi      # 0x5ae62
callq 0x6520
movq %rax, %rdi
movq 0x22a59(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x22a65(%rip), %rdi     # 0x78fa8
leaq 0x64eb(%rip), %rsi      # 0x5ca35
callq 0x6520
movq %rax, %rdi
movq 0x22a37(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x22a43(%rip), %rdi     # 0x78fa8
leaq 0x6528(%rip), %rsi      # 0x5ca94
callq 0x6520
movq %rax, %rdi
movq 0x22a15(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x22a21(%rip), %rdi     # 0x78fa8
leaq 0x652d(%rip), %rsi      # 0x5cabb
callq 0x6520
movq %rax, %rdi
movq 0x229f3(%rip), %rsi     # 0x78f90
callq 0x6570
movq 0x229ff(%rip), %rdi     # 0x78fa8
leaq 0x653c(%rip), %rsi      # 0x5caec
callq 0x6520
movq %rax, %rdi
movq 0x229d1(%rip), %rsi     # 0x78f90
callq 0x6570
movq %rax, %rdi
movq 0x229c2(%rip), %rsi     # 0x78f90
callq 0x6570
xorl %eax, %eax
popq %rbp
retq
nopw (%rax,%rax)