// File: 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 %rbp
movq %rsp, %rbp
subq $0x6b0, %rsp            # imm = 0x6B0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x20(%rbp), %rsi
movl 0x3cceb(%rip), %eax     # 0x4c190
testl %eax, %eax
setne %al
movzbl %al, %ecx
movq %rsp, %rax
movl %ecx, 0x28(%rax)
movl %ecx, 0x20(%rax)
movl $0x0, 0x18(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
movl $0x1, (%rax)
xorl %r9d, %r9d
movl %r9d, %r8d
leaq -0x598(%rbp), %rdi
movl %r9d, %edx
movq %r8, %rcx
callq 0x1e4d0
movq -0x10(%rbp), %rdi
callq 0x1aaa0
movq %rax, -0x5b8(%rbp)
jmp 0xf4fb
leaq -0x598(%rbp), %rdi
callq 0x21dd0
movl %eax, -0x5bc(%rbp)
jmp 0xf50f
movq -0x5b8(%rbp), %rax
movl -0x5bc(%rbp), %ecx
movl %ecx, %ecx
cmpq %rcx, %rax
je 0xf79b
movq 0x3aa92(%rip), %rdi     # 0x49fc0
leaq 0x2fbe4(%rip), %rsi     # 0x3f119
callq 0x5360
movq %rax, -0x5c8(%rbp)
jmp 0xf543
movq -0x10(%rbp), %rdi
callq 0x1aaa0
movq %rax, -0x5d0(%rbp)
jmp 0xf555
movq -0x5d0(%rbp), %rsi
movq -0x5c8(%rbp), %rdi
callq 0x50c0
movq %rax, -0x5d8(%rbp)
jmp 0xf571
movq -0x5d8(%rbp), %rdi
leaq 0x2fbb0(%rip), %rsi     # 0x3f12f
callq 0x5360
movq %rax, -0x5e0(%rbp)
jmp 0xf58d
movq -0x5e0(%rbp), %rdi
leaq 0x9245(%rip), %rsi      # 0x187e0
callq 0x5120
movq %rax, -0x5e8(%rbp)
jmp 0xf5a9
movq -0x10(%rbp), %rdi
callq 0x1aaa0
movq %rax, -0x5f0(%rbp)
jmp 0xf5bb
movq -0x5f0(%rbp), %rsi
movq -0x5e8(%rbp), %rdi
callq 0x50c0
movq %rax, -0x5f8(%rbp)
jmp 0xf5d7
movq -0x5f8(%rbp), %rdi
leaq 0x922b(%rip), %rsi      # 0x18810
callq 0x5120
movq %rax, -0x600(%rbp)
jmp 0xf5f3
movq -0x600(%rbp), %rdi
leaq 0x2fb33(%rip), %rsi     # 0x3f134
callq 0x5360
movq %rax, -0x608(%rbp)
jmp 0xf60f
leaq -0x598(%rbp), %rdi
callq 0x21dd0
movl %eax, -0x60c(%rbp)
jmp 0xf623
movl -0x60c(%rbp), %esi
movq -0x608(%rbp), %rdi
callq 0x5530
movq %rax, -0x618(%rbp)
jmp 0xf63e
movq -0x618(%rbp), %rdi
leaq 0x2fae3(%rip), %rsi     # 0x3f12f
callq 0x5360
movq %rax, -0x620(%rbp)
jmp 0xf65a
movq -0x620(%rbp), %rdi
leaq 0x9178(%rip), %rsi      # 0x187e0
callq 0x5120
movq %rax, -0x628(%rbp)
jmp 0xf676
leaq -0x598(%rbp), %rdi
callq 0x21dd0
movl %eax, -0x62c(%rbp)
jmp 0xf68a
movl -0x62c(%rbp), %esi
movq -0x628(%rbp), %rdi
callq 0x5530
movq %rax, -0x638(%rbp)
jmp 0xf6a5
movq -0x638(%rbp), %rdi
leaq 0x915d(%rip), %rsi      # 0x18810
callq 0x5120
movq %rax, -0x640(%rbp)
jmp 0xf6c1
movq -0x640(%rbp), %rdi
leaq 0x31ee9(%rip), %rsi     # 0x415b8
callq 0x5360
movq %rax, -0x648(%rbp)
jmp 0xf6dd
movq -0x648(%rbp), %rdi
movq 0x3a895(%rip), %rsi     # 0x49f80
callq 0x53c0
jmp 0xf6f2
movq 0x3a8c7(%rip), %rdi     # 0x49fc0
leaq 0x30549(%rip), %rsi     # 0x3fc49
callq 0x5360
movq %rax, -0x650(%rbp)
jmp 0xf70e
movq -0x650(%rbp), %rdi
leaq 0x3106e(%rip), %rsi     # 0x4078a
callq 0x5360
movq %rax, -0x658(%rbp)
jmp 0xf72a
movq -0x658(%rbp), %rdi
movl $0xff, %esi
callq 0x5750
movq %rax, -0x660(%rbp)
jmp 0xf744
movq -0x660(%rbp), %rdi
movq 0x3a82e(%rip), %rsi     # 0x49f80
callq 0x53c0
jmp 0xf759
leaq 0x30f0a(%rip), %rdi     # 0x4066a
leaq 0x304e2(%rip), %rsi     # 0x3fc49
movl $0xff, %edx
leaq 0x30546(%rip), %rcx     # 0x3fcb9
callq 0x51e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x5a0(%rbp)
movl %eax, -0x5a4(%rbp)
leaq -0x598(%rbp), %rdi
callq 0x21ef0
jmp 0xf859
movq $0x0, -0x5b0(%rbp)
movq -0x5b0(%rbp), %rax
movq %rax, -0x670(%rbp)
leaq -0x598(%rbp), %rdi
callq 0x21dd0
movl %eax, -0x664(%rbp)
jmp 0xf7c8
movq -0x670(%rbp), %rax
movl -0x664(%rbp), %ecx
movl %ecx, %ecx
cmpq %rcx, %rax
jae 0xf844
movq -0x8(%rbp), %rax
movq %rax, -0x680(%rbp)
movq -0x10(%rbp), %rdi
movq -0x5b0(%rbp), %rsi
callq 0x21df0
movq %rax, -0x678(%rbp)
jmp 0xf800
movq -0x678(%rbp), %rdx
movq -0x680(%rbp), %rdi
movq -0x5b0(%rbp), %rcx
movq -0x18(%rbp), %rax
movq (%rax,%rcx,8), %r8
leaq -0x598(%rbp), %rsi
callq 0xf080
jmp 0xf82b
jmp 0xf82d
movq -0x5b0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x5b0(%rbp)
jmp 0xf7a6
leaq -0x598(%rbp), %rdi
callq 0x21ef0
addq $0x6b0, %rsp            # imm = 0x6B0
popq %rbp
retq
movq -0x5a0(%rbp), %rdi
callq 0x5760
nopw %cs:(%rax,%rax)