// File: /workspace/github_cpp_makefile_star2_O1/BenLangmead[P]bowtie/./ebwt.h
// Function: readEbwtRefnames(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, EList<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, 128>&)
static inline void
readEbwtRefnames(const string& instr, EList<string>& refnames) {
    FILE* fin;
	// Initialize our primary and secondary input-stream fields
    fin = fopen((instr + ".1." + gEbwt_ext).c_str(),"rb");
	if(fin == NULL) {
		throw EbwtFileOpenException("Cannot open file " + instr);
	}
	assert_eq(ftello(fin), 0);
	readEbwtRefnames(fin, refnames);
    fclose(fin);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xf8, %rsp
movq %rsi, %r14
movq %rdi, %r15
leaq 0x18(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rdi), %rsi
movq 0x8(%rdi), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x21b84
leaq 0x23a32(%rip), %rsi     # 0x2f647
movq %rbx, %rdi
callq 0x46a0
leaq 0x2d4cc(%rip), %rax     # 0x390f0
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
callq 0x4110
leaq 0x48(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xbc5d
movq %rdx, 0x38(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x48(%rsp)
jmp 0xbc65
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x40(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x38(%rsp), %rdi
leaq 0x2178a(%rip), %rsi     # 0x2d413
callq 0x4390
movq %rax, %rbx
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0xbca8
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x4340
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0xbcbf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x4340
testq %rbx, %rbx
je 0xc0ec
movq %rbx, %rdi
callq 0x4510
testq %rax, %rax
jne 0xc13f
movq %rbx, %rdi
callq 0x4510
testq %rax, %rax
jne 0xc27f
leaq 0x38(%rsp), %rdi
movl $0x1, %esi
movl $0x4, %edx
movq %rbx, %rcx
callq 0x44e0
cmpq $0x4, %rax
jne 0xc3bf
movl 0x38(%rsp), %r12d
cmpl $0x1, %r12d
je 0xbd23
cmpl $0x1000000, %r12d       # imm = 0x1000000
jne 0xc456
leaq 0x38(%rsp), %rdi
movl $0x1, %esi
movl $0x8, %edx
movq %rbx, %rcx
callq 0x44e0
cmpq $0x8, %rax
jne 0xc3d6
cmpl $0x1, %r12d
leaq 0x38(%rsp), %rdi
movq (%rdi), %rax
movq %rax, %r15
bswapq %r15
cmoveq %rax, %r15
movl $0x1, %esi
movl $0x4, %edx
movq %rbx, %rcx
callq 0x44e0
cmpq $0x4, %rax
jne 0xc3d8
cmpl $0x1, %r12d
leaq 0x38(%rsp), %rdi
movl (%rdi), %eax
movl %eax, %ebp
bswapl %ebp
cmovel %eax, %ebp
movl $0x1, %esi
movl $0x4, %edx
movq %rbx, %rcx
callq 0x44e0
cmpq $0x4, %rax
jne 0xc3da
movl %ebp, 0x2c(%rsp)
cmpl $0x1, %r12d
leaq 0x38(%rsp), %rdi
movl (%rdi), %eax
movl %eax, %r13d
bswapl %r13d
cmovel %eax, %r13d
movl $0x1, %esi
movl $0x4, %edx
movq %rbx, %rcx
callq 0x44e0
cmpq $0x4, %rax
jne 0xc3dc
movq %r15, 0x30(%rsp)
cmpl $0x1, %r12d
leaq 0x38(%rsp), %rdi
movl (%rdi), %eax
movl %eax, %ebp
bswapl %ebp
cmovel %eax, %ebp
movl $0x1, %esi
movl $0x4, %edx
movq %rbx, %rcx
callq 0x44e0
cmpq $0x4, %rax
jne 0xc3de
cmpl $0x1, %r12d
leaq 0x38(%rsp), %rdi
movl (%rdi), %eax
movl %eax, %r15d
bswapl %r15d
cmovel %eax, %r15d
movl $0x1, %esi
movl $0x4, %edx
movq %rbx, %rcx
callq 0x44e0
cmpq $0x4, %rax
jne 0xc3e0
movl %r12d, 0x28(%rsp)
cmpl $0x1, %r12d
movl 0x38(%rsp), %eax
movl %eax, %r12d
bswapl %r12d
cmovel %eax, %r12d
testl %r12d, %r12d
sets %al
negb %r12b
andb $0x4, %r12b
shrb $0x2, %r12b
andb %al, %r12b
leaq 0x2d281(%rip), %rdi     # 0x390f0
leaq 0x234d0(%rip), %rsi     # 0x2f346
callq 0x4100
testl %eax, %eax
je 0xbe9a
leaq 0x2d26a(%rip), %rdi     # 0x390f0
leaq 0x234b9(%rip), %rsi     # 0x2f346
callq 0x4100
testl %eax, %eax
je 0xbe9a
xorl %eax, %eax
jmp 0xbe9c
movb $0x1, %al
subq $0x8, %rsp
movzbl %al, %eax
movzbl %r12b, %r10d
leaq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rsi
movl 0x34(%rsp), %edx
movl %r13d, %ecx
movl %ebp, %r8d
movl $0xffffffff, %r9d       # imm = 0xFFFFFFFF
pushq %rax
pushq %r10
pushq %r15
callq 0x10b8c
addq $0x20, %rsp
leaq 0x8(%rsp), %rdi
movl $0x1, %esi
movl $0x8, %edx
movq %rbx, %rcx
callq 0x44e0
cmpq $0x8, %rax
jne 0xc3ff
leaq 0x8(%rsp), %r15
movq (%r15), %rax
movq %rax, %rsi
bswapq %rsi
movl 0x28(%rsp), %ebp
cmpl $0x1, %ebp
cmoveq %rax, %rsi
shlq $0x3, %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x45a0
movl $0x1, %esi
movl $0x8, %edx
movq %r15, %rdi
movq %rbx, %rcx
callq 0x44e0
cmpq $0x8, %rax
leaq 0x18(%rsp), %r12
jne 0xc416
cmpl $0x1, %ebp
leaq 0x8(%rsp), %r15
movq (%r15), %rax
movq %rax, %rcx
bswapq %rcx
cmoveq %rax, %rcx
shlq $0x3, %rcx
leaq (%rcx,%rcx,2), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x45a0
movq 0xe0(%rsp), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x45a0
movl $0x1, %esi
movl $0x8, %edx
movq %r15, %rdi
movq %rbx, %rcx
callq 0x44e0
cmpq $0x8, %rax
jne 0xc418
movl $0x28, %esi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x45a0
movq 0x88(%rsp), %rsi
shlq $0x3, %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x45a0
movl 0x7c(%rsp), %esi
shll $0x3, %esi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x45a0
movq %rbx, %rdi
callq 0x4540
cmpl $-0x1, %eax
je 0xc09f
movl %eax, %ebp
leaq 0x8(%rsp), %r15
cmpb $0xa, %bpl
je 0xc057
movzbl %bpl, %eax
testl %eax, %eax
je 0xc09f
cmpq $0x0, 0x18(%r14)
jne 0xc041
movq %r12, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
movb $0x0, 0x18(%rsp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x11ef2
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xc041
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x4340
movq %r14, %rdi
callq 0x11f5c
movsbl %bpl, %esi
movq %rax, %rdi
callq 0x4290
jmp 0xc08c
movq %r12, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
movb $0x0, 0x18(%rsp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x11ef2
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xc08c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x4340
movq %rbx, %rdi
callq 0x4540
movl %eax, %ebp
cmpl $-0x1, %eax
jne 0xbff3
movq %r14, %rdi
callq 0x11f5c
cmpq $0x0, 0x8(%rax)
jne 0xc0b6
movq %r14, %rdi
callq 0x2154a
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x45a0
movq %rbx, %rdi
callq 0x4690
testl %eax, %eax
jne 0xc437
movq %rbx, %rdi
callq 0x4320
addq $0xf8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x4160
movq %rax, %r14
leaq 0x231ce(%rip), %rsi     # 0x2f2ce
leaq 0x38(%rsp), %rdi
movq %r15, %rdx
callq 0x214a9
movb $0x1, %bpl
leaq 0x38(%rsp), %rsi
movq %r14, %rdi
callq 0x4400
leaq 0x2abec(%rip), %rax     # 0x36d10
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x2abb8(%rip), %rsi     # 0x36ce8
movq 0x2ae79(%rip), %rdx     # 0x36fb0
movq %r14, %rdi
callq 0x45f0
movq 0x2ae72(%rip), %r14     # 0x36fb8
leaq 0x20fe9(%rip), %rsi     # 0x2d136
movq %r14, %rdi
callq 0x4310
movq %rax, %r15
movq %rbx, %rdi
callq 0x4510
movq %r15, %rdi
movq %rax, %rsi
callq 0x4650
leaq 0x20fda(%rip), %r15     # 0x2d14c
movq %rax, %rdi
movq %r15, %rsi
callq 0x4310
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%r12,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%r12,%rax)
movq %rbx, %rdi
callq 0x4510
movq %r12, %rdi
movq %rax, %rsi
callq 0x4650
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x20f8b(%rip), %rsi     # 0x2d151
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
xorl %esi, %esi
callq 0x4610
movq %rax, %rdi
movq %r15, %rsi
callq 0x4310
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
xorl %esi, %esi
callq 0x4610
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x230f7(%rip), %rsi     # 0x2f315
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0x20ea5(%rip), %rbx     # 0x2d0da
movq %r14, %rdi
movq %rbx, %rsi
callq 0x4310
leaq 0x224d1(%rip), %rsi     # 0x2e718
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0xddb, %esi            # imm = 0xDDB
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x2238d(%rip), %rdi     # 0x2e5f8
leaq 0x2306e(%rip), %rcx     # 0x2f2e0
movq %rbx, %rsi
movl $0xddb, %edx            # imm = 0xDDB
callq 0x41c0
movq 0x2ad32(%rip), %r14     # 0x36fb8
leaq 0x20ea9(%rip), %rsi     # 0x2d136
movq %r14, %rdi
callq 0x4310
movq %rax, %r15
movq %rbx, %rdi
callq 0x4510
movq %r15, %rdi
movq %rax, %rsi
callq 0x4650
leaq 0x20e9a(%rip), %r15     # 0x2d14c
movq %rax, %rdi
movq %r15, %rsi
callq 0x4310
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%r12,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%r12,%rax)
movq %rbx, %rdi
callq 0x4510
movq %r12, %rdi
movq %rax, %rsi
callq 0x4650
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x20e4b(%rip), %rsi     # 0x2d151
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
xorl %esi, %esi
callq 0x4610
movq %rax, %rdi
movq %r15, %rsi
callq 0x4310
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
xorl %esi, %esi
callq 0x4610
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x22fb7(%rip), %rsi     # 0x2f315
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0x20d65(%rip), %rbx     # 0x2d0da
movq %r14, %rdi
movq %rbx, %rsi
callq 0x4310
leaq 0x22391(%rip), %rsi     # 0x2e718
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0xd81, %esi            # imm = 0xD81
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x2224d(%rip), %rdi     # 0x2e5f8
leaq 0x22f65(%rip), %rcx     # 0x2f317
movq %rbx, %rsi
movl $0xd81, %edx            # imm = 0xD81
callq 0x41c0
leaq 0x228b0(%rip), %rdi     # 0x2ec76
leaq 0x228af(%rip), %rsi     # 0x2ec7c
leaq 0x24af0(%rip), %rcx     # 0x30ec4
jmp 0xc42d
jmp 0xc418
jmp 0xc3e0
jmp 0xc3e0
jmp 0xc3e0
jmp 0xc3e0
leaq 0x2288f(%rip), %rdi     # 0x2ec76
leaq 0x2288e(%rip), %rsi     # 0x2ec7c
leaq 0x24af8(%rip), %rcx     # 0x30eed
movl $0x6f, %edx
callq 0x41c0
leaq 0x22870(%rip), %rdi     # 0x2ec76
leaq 0x2286f(%rip), %rsi     # 0x2ec7c
leaq 0x24af9(%rip), %rcx     # 0x30f0d
jmp 0xc3f5
jmp 0xc418
leaq 0x22857(%rip), %rdi     # 0x2ec76
leaq 0x22856(%rip), %rsi     # 0x2ec7c
leaq 0x2466a(%rip), %rcx     # 0x30a97
movl $0x4a, %edx
callq 0x41c0
leaq 0x22f0c(%rip), %rdi     # 0x2f34a
leaq 0x20c95(%rip), %rsi     # 0x2d0da
leaq 0x22ecb(%rip), %rcx     # 0x2f317
movl $0xdcc, %edx            # imm = 0xDCC
callq 0x41c0
movq 0x2ab5b(%rip), %rbx     # 0x36fb8
leaq 0x20cd2(%rip), %rsi     # 0x2d136
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movl $0x1000000, %esi        # imm = 0x1000000
callq 0x4440
leaq 0x20ccc(%rip), %r14     # 0x2d14c
movq %rax, %rdi
movq %r14, %rsi
callq 0x4310
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
movl $0x1000000, %esi        # imm = 0x1000000
callq 0x4440
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x20c88(%rip), %rsi     # 0x2d151
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl %r12d, %esi
callq 0x4440
movq %rax, %rdi
movq %r14, %rsi
callq 0x4310
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
movl %r12d, %esi
callq 0x4440
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x22df2(%rip), %rsi     # 0x2f315
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0x20ba0(%rip), %r14     # 0x2d0da
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4310
leaq 0x221cc(%rip), %rsi     # 0x2e718
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0xd87, %esi            # imm = 0xD87
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x22088(%rip), %rdi     # 0x2e5f8
leaq 0x22da0(%rip), %rcx     # 0x2f317
movq %r14, %rsi
movl $0xd87, %edx            # imm = 0xD87
callq 0x41c0
movq %rax, %rbx
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0xc5a6
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x4340
jmp 0xc5a6
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0xc5e2
movq %r14, %rdi
callq 0x4210
jmp 0xc5e2
jmp 0xc5b7
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
jne 0xc5d5
jmp 0xc5e2
jmp 0xc5c8
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xc5e2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x4340
movq %rbx, %rdi
callq 0x4620