// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::IFStream::IFStream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
IFStream::IFStream (const string &pathName)
{ 
  switch (getFiletype (pathName, true))
  {
    case Filetype::none: throw runtime_error ("Cannot open " + shellQuote (pathName));
    case Filetype::disk: throw runtime_error ("Cannot open a disk as a file: " + shellQuote (pathName));
    case Filetype::dir:  throw runtime_error ("Cannot open a directory as a file: " + shellQuote (pathName));
    case Filetype::link: ERROR; break;
    default: break;
  }
	open (pathName);
  if (! good ())
    throw runtime_error ("Cannot open file " + shellQuote (pathName));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x190, %rsp            # imm = 0x190
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %r14
leaq 0x8(%rsi), %rbx
movq %rbx, %rsi
callq 0xb050
movq (%r12), %rax
movq %rax, (%r14)
movq 0x28(%r12), %rcx
movq -0x18(%rax), %rax
movq %rcx, (%r14,%rax)
pushq $0x1
popq %rsi
movq %r15, %rdi
callq 0x24f38
cmpl $0x6, %eax
ja 0x2ed78
movl %eax, %eax
leaq 0x2c8b5(%rip), %rcx     # 0x5b624
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
pushq $0x8
popq %rdx
movq %r14, %rdi
movq %r15, %rsi
callq 0xb4f0
movq (%r14), %rax
movq -0x18(%rax), %rax
cmpl $0x0, 0x20(%r14,%rax)
jne 0x2efd0
addq $0x190, %rsp            # imm = 0x190
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
callq 0xb6c0
testl %eax, %eax
jne 0x2f035
leaq 0x2cb84(%rip), %rsi     # 0x5b941
leaq 0xd0(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1b7b6
leaq 0xb0(%rsp), %rdi
movl $0xb6a, %esi            # imm = 0xB6A
callq 0x1caa3
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
leaq 0xb0(%rsp), %rdx
callq 0x1ca3c
leaq 0x2adde(%rip), %rdx     # 0x59be3
leaq 0x110(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x1b92d
leaq 0x2dd43(%rip), %rsi     # 0x5cb64
leaq 0x70(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x1b7b6
leaq 0x2cb07(%rip), %rdx     # 0x5b93e
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x1b92d
leaq 0x10(%rsp), %rdi
leaq 0x110(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x1ca3c
leaq 0x2d1fc(%rip), %rdx     # 0x5c066
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x1b92d
leaq 0x30(%rsp), %rdi
callq 0x224fc
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %r12
leaq 0x150(%rsp), %rdi
movq %r15, %rsi
callq 0xb7b0
leaq 0x10(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x1c554
leaq 0x2dc6a(%rip), %rsi     # 0x5cb21
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x1b94c
movb $0x1, %bpl
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq 0xb940
xorl %ebp, %ebp
movq 0x55109(%rip), %rsi     # 0x83fe8
movq 0x5507a(%rip), %rdx     # 0x83f60
movq %r12, %rdi
callq 0xb9d0
jmp 0x2f035
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %r12
leaq 0x130(%rsp), %rdi
movq %r15, %rsi
callq 0xb7b0
leaq 0x10(%rsp), %rdi
leaq 0x130(%rsp), %rsi
callq 0x1c554
leaq 0x2dc19(%rip), %rsi     # 0x5cb40
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x1b94c
movb $0x1, %bpl
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq 0xb940
xorl %ebp, %ebp
movq 0x55099(%rip), %rsi     # 0x83fe8
movq 0x5500a(%rip), %rdx     # 0x83f60
movq %r12, %rdi
callq 0xb9d0
jmp 0x2f035
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %r12
leaq 0x170(%rsp), %rdi
movq %r15, %rsi
callq 0xb7b0
leaq 0x10(%rsp), %rdi
leaq 0x170(%rsp), %rsi
callq 0x1c554
leaq 0x2db7d(%rip), %rsi     # 0x5cb14
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x1b94c
movb $0x1, %bpl
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq 0xb940
xorl %ebp, %ebp
movq 0x55029(%rip), %rsi     # 0x83fe8
movq 0x54f9a(%rip), %rdx     # 0x83f60
movq %r12, %rdi
callq 0xb9d0
jmp 0x2f035
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %r12
leaq 0x50(%rsp), %rdi
movq %r15, %rsi
callq 0xb7b0
leaq 0x10(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1c554
leaq 0x2cc33(%rip), %rsi     # 0x5bc31
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x1b94c
movb $0x1, %bpl
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq 0xb940
xorl %ebp, %ebp
movq 0x54fc2(%rip), %rsi     # 0x83fe8
movq 0x54f33(%rip), %rdx     # 0x83f60
movq %r12, %rdi
callq 0xb9d0
pushq $0x1
popq %rdi
callq 0xb6d0
movq %rax, %r15
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x2f04f
movq %rax, %r15
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x2f05e
movq %rax, %r15
leaq 0x90(%rsp), %rdi
callq 0xbb68
jmp 0x2f070
movq %rax, %r15
leaq 0x70(%rsp), %rdi
callq 0xbb68
jmp 0x2f07f
movq %rax, %r15
leaq 0x110(%rsp), %rdi
callq 0xbb68
jmp 0x2f091
movq %rax, %r15
leaq 0xf0(%rsp), %rdi
callq 0xbb68
jmp 0x2f0a3
movq %rax, %r15
leaq 0xb0(%rsp), %rdi
callq 0xbb68
jmp 0x2f13c
movq %rax, %r15
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x2f0ca
movq %rax, %r15
movb $0x1, %bpl
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x2f151
movq %rax, %r15
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x2f0eb
movq %rax, %r15
movb $0x1, %bpl
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x2f15e
movq %rax, %r15
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x2f10c
movq %rax, %r15
movb $0x1, %bpl
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x2f16e
movq %rax, %r15
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x2f12d
movq %rax, %r15
movb $0x1, %bpl
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x2f17e
movq %rax, %r15
leaq 0xd0(%rsp), %rdi
callq 0xbb68
jmp 0x2f1aa
movq %rax, %r15
movb $0x1, %bpl
leaq 0x50(%rsp), %rdi
jmp 0x2f186
movq %rax, %r15
movb $0x1, %bpl
leaq 0x170(%rsp), %rdi
jmp 0x2f186
movq %rax, %r15
movb $0x1, %bpl
leaq 0x130(%rsp), %rdi
jmp 0x2f186
movq %rax, %r15
movb $0x1, %bpl
leaq 0x150(%rsp), %rdi
callq 0xbb68
testb %bpl, %bpl
jne 0x2f19d
jmp 0x2f1aa
jmp 0x2f1a7
jmp 0x2f19a
jmp 0x2f19a
jmp 0x2f19a
movq %rax, %r15
movq %r12, %rdi
callq 0xb470
jmp 0x2f1aa
movq %rax, %r15
movq %r14, %rdi
movq %rbx, %rsi
callq 0xbaa0
movq %r15, %rdi
callq 0xba30
nop