// File: /workspace/github_cpp_makefile_star2_O3/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 0x21612
leaq 0x22c2a(%rip), %rsi     # 0x2e6d7
movq %rbx, %rdi
callq 0x46a0
leaq 0x2d634(%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 0xbaf5
movq %rdx, 0x38(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x48(%rsp)
jmp 0xbafd
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 0x20982(%rip), %rsi     # 0x2c4a3
callq 0x4390
movq %rax, %rbx
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0xbb40
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x4340
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0xbb57
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x4340
testq %rbx, %rbx
je 0xbf84
movq %rbx, %rdi
callq 0x4510
testq %rax, %rax
jne 0xbfd7
movq %rbx, %rdi
callq 0x4510
testq %rax, %rax
jne 0xc117
leaq 0x38(%rsp), %rdi
movl $0x1, %esi
movl $0x4, %edx
movq %rbx, %rcx
callq 0x44e0
cmpq $0x4, %rax
jne 0xc257
movl 0x38(%rsp), %r12d
cmpl $0x1, %r12d
je 0xbbbb
cmpl $0x1000000, %r12d       # imm = 0x1000000
jne 0xc2ee
leaq 0x38(%rsp), %rdi
movl $0x1, %esi
movl $0x8, %edx
movq %rbx, %rcx
callq 0x44e0
cmpq $0x8, %rax
jne 0xc26e
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 0xc270
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 0xc272
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 0xc274
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 0xc276
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 0xc278
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 0x2d3e9(%rip), %rdi     # 0x390f0
leaq 0x226c8(%rip), %rsi     # 0x2e3d6
callq 0x4100
testl %eax, %eax
je 0xbd32
leaq 0x2d3d2(%rip), %rdi     # 0x390f0
leaq 0x226b1(%rip), %rsi     # 0x2e3d6
callq 0x4100
testl %eax, %eax
je 0xbd32
xorl %eax, %eax
jmp 0xbd34
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 0x10972
addq $0x20, %rsp
leaq 0x8(%rsp), %rdi
movl $0x1, %esi
movl $0x8, %edx
movq %rbx, %rcx
callq 0x44e0
cmpq $0x8, %rax
jne 0xc297
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 0xc2ae
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 0xc2b0
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 0xbf37
movl %eax, %ebp
leaq 0x8(%rsp), %r15
cmpb $0xa, %bpl
je 0xbeef
movzbl %bpl, %eax
testl %eax, %eax
je 0xbf37
cmpq $0x0, 0x18(%r14)
jne 0xbed9
movq %r12, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
movb $0x0, 0x18(%rsp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x11cd0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xbed9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x4340
movq %r14, %rdi
callq 0x11d46
movsbl %bpl, %esi
movq %rax, %rdi
callq 0x4290
jmp 0xbf24
movq %r12, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
movb $0x0, 0x18(%rsp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x11cd0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xbf24
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x4340
movq %rbx, %rdi
callq 0x4540
movl %eax, %ebp
cmpl $-0x1, %eax
jne 0xbe8b
movq %r14, %rdi
callq 0x11d46
cmpq $0x0, 0x8(%rax)
jne 0xbf4e
movq %r14, %rdi
callq 0x2101a
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x45a0
movq %rbx, %rdi
callq 0x4690
testl %eax, %eax
jne 0xc2cf
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 0x223c6(%rip), %rsi     # 0x2e35e
leaq 0x38(%rsp), %rdi
movq %r15, %rdx
callq 0x20f79
movb $0x1, %bpl
leaq 0x38(%rsp), %rsi
movq %r14, %rdi
callq 0x4400
leaq 0x2ad54(%rip), %rax     # 0x36d10
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x2ad20(%rip), %rsi     # 0x36ce8
movq 0x2afe1(%rip), %rdx     # 0x36fb0
movq %r14, %rdi
callq 0x45f0
movq 0x2afda(%rip), %r14     # 0x36fb8
leaq 0x201e1(%rip), %rsi     # 0x2c1c6
movq %r14, %rdi
callq 0x4310
movq %rax, %r15
movq %rbx, %rdi
callq 0x4510
movq %r15, %rdi
movq %rax, %rsi
callq 0x4650
leaq 0x201d2(%rip), %r15     # 0x2c1dc
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 0x20183(%rip), %rsi     # 0x2c1e1
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 0x222ef(%rip), %rsi     # 0x2e3a5
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0x2009d(%rip), %rbx     # 0x2c16a
movq %r14, %rdi
movq %rbx, %rsi
callq 0x4310
leaq 0x216c9(%rip), %rsi     # 0x2d7a8
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0xddb, %esi            # imm = 0xDDB
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x21585(%rip), %rdi     # 0x2d688
leaq 0x22266(%rip), %rcx     # 0x2e370
movq %rbx, %rsi
movl $0xddb, %edx            # imm = 0xDDB
callq 0x41c0
movq 0x2ae9a(%rip), %r14     # 0x36fb8
leaq 0x200a1(%rip), %rsi     # 0x2c1c6
movq %r14, %rdi
callq 0x4310
movq %rax, %r15
movq %rbx, %rdi
callq 0x4510
movq %r15, %rdi
movq %rax, %rsi
callq 0x4650
leaq 0x20092(%rip), %r15     # 0x2c1dc
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 0x20043(%rip), %rsi     # 0x2c1e1
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 0x221af(%rip), %rsi     # 0x2e3a5
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0x1ff5d(%rip), %rbx     # 0x2c16a
movq %r14, %rdi
movq %rbx, %rsi
callq 0x4310
leaq 0x21589(%rip), %rsi     # 0x2d7a8
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0xd81, %esi            # imm = 0xD81
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x21445(%rip), %rdi     # 0x2d688
leaq 0x2215d(%rip), %rcx     # 0x2e3a7
movq %rbx, %rsi
movl $0xd81, %edx            # imm = 0xD81
callq 0x41c0
leaq 0x21aa8(%rip), %rdi     # 0x2dd06
leaq 0x21aa7(%rip), %rsi     # 0x2dd0c
leaq 0x23ce8(%rip), %rcx     # 0x2ff54
jmp 0xc2c5
jmp 0xc2b0
jmp 0xc278
jmp 0xc278
jmp 0xc278
jmp 0xc278
leaq 0x21a87(%rip), %rdi     # 0x2dd06
leaq 0x21a86(%rip), %rsi     # 0x2dd0c
leaq 0x23cf0(%rip), %rcx     # 0x2ff7d
movl $0x6f, %edx
callq 0x41c0
leaq 0x21a68(%rip), %rdi     # 0x2dd06
leaq 0x21a67(%rip), %rsi     # 0x2dd0c
leaq 0x23cf1(%rip), %rcx     # 0x2ff9d
jmp 0xc28d
jmp 0xc2b0
leaq 0x21a4f(%rip), %rdi     # 0x2dd06
leaq 0x21a4e(%rip), %rsi     # 0x2dd0c
leaq 0x23862(%rip), %rcx     # 0x2fb27
movl $0x4a, %edx
callq 0x41c0
leaq 0x22104(%rip), %rdi     # 0x2e3da
leaq 0x1fe8d(%rip), %rsi     # 0x2c16a
leaq 0x220c3(%rip), %rcx     # 0x2e3a7
movl $0xdcc, %edx            # imm = 0xDCC
callq 0x41c0
movq 0x2acc3(%rip), %rbx     # 0x36fb8
leaq 0x1feca(%rip), %rsi     # 0x2c1c6
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movl $0x1000000, %esi        # imm = 0x1000000
callq 0x4440
leaq 0x1fec4(%rip), %r14     # 0x2c1dc
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 0x1fe80(%rip), %rsi     # 0x2c1e1
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 0x21fea(%rip), %rsi     # 0x2e3a5
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0x1fd98(%rip), %r14     # 0x2c16a
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4310
leaq 0x213c4(%rip), %rsi     # 0x2d7a8
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0xd87, %esi            # imm = 0xD87
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x21280(%rip), %rdi     # 0x2d688
leaq 0x21f98(%rip), %rcx     # 0x2e3a7
movq %r14, %rsi
movl $0xd87, %edx            # imm = 0xD87
callq 0x41c0
movq %rax, %rbx
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0xc436
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x4340
testb %bpl, %bpl
jne 0xc440
jmp 0xc477
movq %rax, %rbx
movq %r14, %rdi
callq 0x4210
jmp 0xc477
jmp 0xc44c
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
jne 0xc46a
jmp 0xc477
jmp 0xc45d
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xc477
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x4340
movq %rbx, %rdi
callq 0x4620