// File: ncbi[P]amr/seq.cpp
// Function: Seq_sp::alphabet2Pos(char const*, char)
size_t alphabet2Pos (const char* alphabet,
                     char        c)
{ 
  ASSERT (alphabet);
  
  if (const char* s = strchr (alphabet, c))
    return (size_t) (s - alphabet);
  
  throw runtime_error (FUNC "Bad character " + string (1, c) + " for alphabet: " + alphabet);;
}

// Assembly:
subq $0x238, %rsp            # imm = 0x238
movb %sil, %al
movq %rdi, 0x230(%rsp)
movb %al, 0x22f(%rsp)
callq 0xd0a0
movl $0x0, (%rax)
cmpq $0x0, 0x230(%rsp)
jne 0xa8d9a
callq 0xd8c0
cmpl $0x0, %eax
jne 0xa8d90
leaq 0x187(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xdd50
movq 0x28(%rsp), %rdx
leaq 0x3f907(%rip), %rsi     # 0xe8446
leaq 0x188(%rsp), %rdi
callq 0xfae0
jmp 0xa8b4e
leaq 0x150(%rsp), %rdi
movl $0x45, %esi
callq 0x11600
jmp 0xa8b62
leaq 0x1a8(%rsp), %rdi
leaq 0x188(%rsp), %rsi
leaq 0x150(%rsp), %rdx
callq 0x11510
jmp 0xa8b81
leaq 0x3a649(%rip), %rdx     # 0xe31d1
leaq 0x1c8(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x114c0
jmp 0xa8b9f
leaq 0x10f(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xdd50
movq 0x20(%rsp), %rdx
leaq 0x3f89a(%rip), %rsi     # 0xe8457
leaq 0x110(%rsp), %rdi
callq 0xfae0
jmp 0xa8bcc
leaq 0x3add1(%rip), %rdx     # 0xe39a4
leaq 0x130(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x114c0
jmp 0xa8bea
leaq 0x1e8(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
leaq 0x130(%rsp), %rdx
callq 0x11510
jmp 0xa8c09
leaq 0x3f877(%rip), %rdx     # 0xe8487
leaq 0x208(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
callq 0x114c0
jmp 0xa8c27
leaq 0x208(%rsp), %rdi
callq 0x173d0
jmp 0xa8c36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0xa8d7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0xa8d71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0xa8d64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0xa8d57
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0xa8d3d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0xa8d30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0xa8d23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0xa8d16
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
leaq 0x208(%rsp), %rdi
callq 0xdf08
leaq 0x1e8(%rsp), %rdi
callq 0xdf08
leaq 0x130(%rsp), %rdi
callq 0xdf08
leaq 0x110(%rsp), %rdi
callq 0xdf08
leaq 0x10f(%rsp), %rdi
callq 0xd7a0
leaq 0x1c8(%rsp), %rdi
callq 0xdf08
leaq 0x1a8(%rsp), %rdi
callq 0xdf08
leaq 0x150(%rsp), %rdi
callq 0xdf08
leaq 0x188(%rsp), %rdi
callq 0xdf08
leaq 0x187(%rsp), %rdi
callq 0xd7a0
jmp 0xa9009
movl $0x1, %edi
callq 0xd8e0
movq 0x230(%rsp), %rdi
movsbl 0x22f(%rsp), %esi
callq 0xd2a0
movq %rax, 0x100(%rsp)
cmpq $0x0, 0x100(%rsp)
je 0xa8ddd
movq 0x100(%rsp), %rax
movq 0x230(%rsp), %rcx
subq %rcx, %rax
addq $0x238, %rsp            # imm = 0x238
retq
movb $0x1, 0x36(%rsp)
movl $0x10, %edi
callq 0xd3b0
movq %rax, 0x10(%rsp)
leaq 0x5f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xdd50
movq 0x18(%rsp), %rdx
leaq 0x3f64b(%rip), %rsi     # 0xe8457
leaq 0x60(%rsp), %rdi
callq 0xfae0
jmp 0xa8e18
leaq 0x3f671(%rip), %rdx     # 0xe8490
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x114c0
jmp 0xa8e33
movsbl 0x22f(%rsp), %eax
movl %eax, 0x4(%rsp)
leaq 0x37(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xdd50
movl 0x4(%rsp), %edx
movq 0x8(%rsp), %rcx
leaq 0x38(%rsp), %rdi
movl $0x1, %esi
callq 0x12980
jmp 0xa8e68
leaq 0xa0(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0x38(%rsp), %rdx
callq 0x11510
jmp 0xa8e84
leaq 0x3f616(%rip), %rdx     # 0xe84a1
leaq 0xc0(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x114c0
jmp 0xa8ea2
movq 0x230(%rsp), %rdx
leaq 0xe0(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x114c0
jmp 0xa8ec1
movq 0x10(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0xdbf0
jmp 0xa8ed5
movq 0x10(%rsp), %rdi
movb $0x0, 0x36(%rsp)
movq 0x7710a(%rip), %rsi     # 0x11fff0
movq 0x77083(%rip), %rdx     # 0x11ff70
callq 0xdcd0
jmp 0xa9016
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0xa8fea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0xa8fe0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0xa8fc9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0xa8fbf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0xa8fb2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
jmp 0xa8fa5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x178(%rsp)
movl %eax, 0x174(%rsp)
leaq 0xe0(%rsp), %rdi
callq 0xdf08
leaq 0xc0(%rsp), %rdi
callq 0xdf08
leaq 0xa0(%rsp), %rdi
callq 0xdf08
leaq 0x38(%rsp), %rdi
callq 0xdf08
leaq 0x37(%rsp), %rdi
callq 0xd7a0
leaq 0x80(%rsp), %rdi
callq 0xdf08
leaq 0x60(%rsp), %rdi
callq 0xdf08
leaq 0x5f(%rsp), %rdi
callq 0xd7a0
testb $0x1, 0x36(%rsp)
jne 0xa8ffd
jmp 0xa9007
movq 0x10(%rsp), %rdi
callq 0xd570
jmp 0xa9009
movq 0x178(%rsp), %rdi
callq 0xdd40
nopw %cs:(%rax,%rax)