// File: /workspace/github_cpp_makefile_star2_O3/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 $0x580, %rsp            # imm = 0x580
movq %rdx, %r14
movq %rsi, %rbx
movq %rdi, %r15
xorl %eax, %eax
xorl %r10d, %r10d
cmpl %eax, 0x2d92a(%rip)     # 0x390b0
setne %r10b
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movq %rcx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %r10
pushq %r10
pushq %rax
pushq %rax
pushq %rax
pushq $0x1
callq 0x149f8
addq $0x30, %rsp
movl 0x568(%r12), %eax
cmpq %rax, 0x18(%rbx)
jne 0xb815
testl %eax, %eax
je 0xb7fa
xorl %r12d, %r12d
leaq 0x8(%rsp), %r13
movq %rbx, %rdi
movq %r12, %rsi
callq 0x1782e
movq (%r14,%r12,8), %r8
movq %r15, %rdi
movq %r13, %rsi
movq %rax, %rdx
movq %r12, %rcx
callq 0xb49f
incq %r12
movl 0x570(%rsp), %eax
cmpq %rax, %r12
jb 0xb7cb
leaq 0x8(%rsp), %rdi
callq 0x178f4
addq $0x580, %rsp            # imm = 0x580
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq 0x2b79c(%rip), %rdi     # 0x36fb8
leaq 0x209a3(%rip), %rsi     # 0x2c1c6
movl $0x15, %edx
callq 0x43b0
movq 0x18(%rbx), %rsi
movq 0x2b780(%rip), %rdi     # 0x36fb8
callq 0x41d0
movq %rax, %r14
leaq 0x20995(%rip), %rsi     # 0x2c1dc
movl $0x4, %edx
movq %rax, %rdi
callq 0x43b0
movq (%r14), %rax
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%r14,%rax)
movq 0x18(%rbx), %rsi
movq %r14, %rdi
callq 0x41d0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x2094b(%rip), %rsi     # 0x2c1e1
movl $0x7, %edx
movq %rbx, %rdi
callq 0x43b0
movl 0x570(%rsp), %esi
movq %rbx, %rdi
callq 0x41d0
movq %rax, %rbx
leaq 0x20920(%rip), %rsi     # 0x2c1dc
movl $0x4, %edx
movq %rax, %rdi
callq 0x43b0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
movl 0x570(%rsp), %esi
movq %rbx, %rdi
callq 0x41d0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x22a99(%rip), %rsi     # 0x2e3a5
movl $0x1, %edx
movq %rbx, %rdi
callq 0x43b0
movq %rbx, %rdi
callq 0x4150
movq 0x2b690(%rip), %rdi     # 0x36fb8
leaq 0x213c7(%rip), %rsi     # 0x2ccf6
movl $0x12, %edx
callq 0x43b0
movq 0x2b678(%rip), %rdi     # 0x36fb8
leaq 0x21e61(%rip), %rsi     # 0x2d7a8
movl $0x1, %edx
callq 0x43b0
movq 0x2b660(%rip), %rdi     # 0x36fb8
movl $0xff, %esi
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x21d17(%rip), %rdi     # 0x2d688
leaq 0x2137e(%rip), %rsi     # 0x2ccf6
leaq 0x21390(%rip), %rcx     # 0x2cd0f
movl $0xff, %edx
callq 0x41c0
jmp 0xb98b
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x178f4
movq %rbx, %rdi
callq 0x4620