// File: /workspace/github_cpp_makefile_star2_O1/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, 0x2d7c8(%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 0x14c28
addq $0x30, %rsp
movl 0x568(%r12), %eax
cmpq %rax, 0x18(%rbx)
jne 0xb97d
cmpl $0x0, 0x570(%rsp)
je 0xb962
xorl %r12d, %r12d
leaq 0x8(%rsp), %r13
movq %rbx, %rdi
movq %r12, %rsi
callq 0x17a08
movq (%r14,%r12,8), %r8
movq %r15, %rdi
movq %r13, %rsi
movq %rax, %rdx
movq %r12, %rcx
callq 0xb5fd
incq %r12
movl 0x570(%rsp), %eax
cmpq %rax, %r12
jb 0xb933
leaq 0x8(%rsp), %rdi
callq 0x17ace
addq $0x580, %rsp            # imm = 0x580
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq 0x2b634(%rip), %rdi     # 0x36fb8
leaq 0x217ab(%rip), %rsi     # 0x2d136
movl $0x15, %edx
callq 0x43b0
movq 0x18(%rbx), %rsi
movq 0x2b618(%rip), %rdi     # 0x36fb8
callq 0x41d0
movq %rax, %r14
leaq 0x2179d(%rip), %rsi     # 0x2d14c
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 0x21753(%rip), %rsi     # 0x2d151
movl $0x7, %edx
movq %rbx, %rdi
callq 0x43b0
movl 0x570(%rsp), %esi
movq %rbx, %rdi
callq 0x41d0
movq %rax, %rbx
leaq 0x21728(%rip), %rsi     # 0x2d14c
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 0x238a1(%rip), %rsi     # 0x2f315
movl $0x1, %edx
movq %rbx, %rdi
callq 0x43b0
movq %rbx, %rdi
callq 0x4150
movq 0x2b528(%rip), %rdi     # 0x36fb8
leaq 0x221cf(%rip), %rsi     # 0x2dc66
movl $0x12, %edx
callq 0x43b0
movq 0x2b510(%rip), %rdi     # 0x36fb8
leaq 0x22c69(%rip), %rsi     # 0x2e718
movl $0x1, %edx
callq 0x43b0
movq 0x2b4f8(%rip), %rdi     # 0x36fb8
movl $0xff, %esi
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x22b1f(%rip), %rdi     # 0x2e5f8
leaq 0x22186(%rip), %rsi     # 0x2dc66
leaq 0x22198(%rip), %rcx     # 0x2dc7f
movl $0xff, %edx
callq 0x41c0
jmp 0xbaf3
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x17ace
movq %rbx, %rdi
callq 0x4620