// File: /workspace/github_cpp_makefile_star2_O2/BenLangmead[P]bowtie/bowtie_inspect.cpp
// Function: print_ref_sequences(std::ostream&, EList<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, 128> const&, unsigned long const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void print_ref_sequences(
	ostream& fout,
	const EList<string>& refnames,
	const TIndexOffU* plen,
	const string& adjustedEbwtFileBase)
{
	BitPairReference ref(
		adjustedEbwtFileBase, // input basename
		false,                // sanity-check reference
		NULL,                 // infiles
		NULL,                 // originals
		false,                // infiles are sequences
		true,                 // load sequence
		false,                // memory-map
		false,                // use shared memory
		false,                // sweep mm-mapped ref
		verbose,              // be talkative
		verbose);             // be talkative at startup
#ifdef ACCOUNT_FOR_ALL_GAP_REFS
	for(size_t i = 0; i < ref.numRefs(); i++) {
		if(ref.isAllGaps(i) && !exclAllGaps) {
			print_alln_ref_sequence(
				fout,
				refnames[i],
				ref.len(i));
		} else {
			print_ref_sequence(
				fout,
				ref,
				refnames[i],
				ref.shrinkIdx(i),
				ref.len(i));
		}
	}
#else
	assert_eq(refnames.size(), ref.numNonGapRefs());
	for(size_t i = 0; i < ref.numNonGapRefs(); i++) {
		print_ref_sequence(
			fout,
			ref,
			refnames[i],
			i,
			plen[i]);
	}
#endif
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x5b0, %rsp            # imm = 0x5B0
movq %rdx, %r14
movq %rsi, %rbx
movq %rdi, %r15
xorl %eax, %eax
cmpl $0x0, 0x2bb56(%rip)     # 0x360a0
setne %al
andl $0x0, 0x18(%rsp)
movl %eax, 0x28(%rsp)
andl $0x0, 0x10(%rsp)
movl %eax, 0x20(%rsp)
andl $0x0, 0x8(%rsp)
movl $0x1, (%rsp)
leaq 0x38(%rsp), %r12
movq %r12, %rdi
movq %rcx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x11a28
movl 0x568(%r12), %eax
cmpq %rax, 0x18(%rbx)
jne 0xa5e9
xorl %r12d, %r12d
leaq 0x38(%rsp), %r13
movl %eax, %eax
cmpq %rax, %r12
jae 0xa5ce
movq %rbx, %rdi
movq %r12, %rsi
callq 0x13f60
movq (%r14,%r12,8), %r8
movq %r15, %rdi
movq %r13, %rsi
movq %rax, %rdx
movq %r12, %rcx
callq 0xa2a9
incq %r12
movl 0x5a0(%rsp), %eax
jmp 0xa59b
leaq 0x38(%rsp), %rdi
callq 0x14026
addq $0x5b0, %rsp            # imm = 0x5B0
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq 0x299c8(%rip), %rdi     # 0x33fb8
leaq 0x1db62(%rip), %rsi     # 0x28159
callq 0x42d0
movq 0x18(%rbx), %rsi
movq %rax, %rdi
callq 0x41a0
leaq 0x1db60(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq 0x18(%rbx), %rsi
movq %rax, %rdi
callq 0x41a0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x1db20(%rip), %rsi     # 0x28174
movq %rax, %rdi
callq 0x42d0
movl 0x5a0(%rsp), %esi
movq %rax, %rdi
callq 0x41a0
leaq 0x1dafd(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movl 0x5a0(%rsp), %esi
movq %rax, %rdi
callq 0x41a0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x1fd5e(%rip), %rsi     # 0x2a418
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq 0x298e7(%rip), %rdi     # 0x33fb8
leaq 0x1e5b1(%rip), %rsi     # 0x28c89
callq 0x42d0
leaq 0x1f057(%rip), %rsi     # 0x2973b
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
movl $0xff, %esi
callq 0x45d0
movq %rax, %rdi
callq 0x4130
leaq 0x1ef13(%rip), %rdi     # 0x2961b
leaq 0x1e57a(%rip), %rsi     # 0x28c89
leaq 0x1e58c(%rip), %rcx     # 0x28ca2
movl $0xff, %edx
callq 0x4190
jmp 0xa722
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x14026
movq %rbx, %rdi
callq 0x45e0