// File: millanek[P]evo/./process_vcf_coding_sequences.h
// Function: getAminoAcidOneLetterCode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
inline char getAminoAcidOneLetterCode(const std::string& nuc)
{
    assert(nuc.length() == 3);
    if (nuc == "TTT" || nuc == "TTC")
        return 'F';
    if (nuc == "TTA" || nuc == "TTG" || nuc == "CTA" || nuc == "CTC" || nuc == "CTG" || nuc == "CTT")
        return 'L';
    if (nuc == "ATA" || nuc == "ATC" || nuc == "ATT")
        return 'I';
    if (nuc == "ATG")
        return 'M';
    if (nuc == "GTA" || nuc == "GTC" || nuc == "GTG" || nuc == "GTT")
        return 'V';
    if (nuc == "TCA" || nuc == "TCC" || nuc == "TCG" || nuc == "TCT")
        return 'S';
    if (nuc == "CCA" || nuc == "CCC" || nuc == "CCG" || nuc == "CCT")
        return 'P';
    if (nuc == "ACA" || nuc == "ACC" || nuc == "ACG" || nuc == "ACT")
        return 'T';
    if (nuc == "GCA" || nuc == "GCC" || nuc == "GCG" || nuc == "GCT")
        return 'A';
    if (nuc == "TAC" || nuc == "TAT")
        return 'Y';
    if (nuc == "TAA" || nuc == "TAG" || nuc == "TGA")
        return 'X';
    if (nuc == "CAC" || nuc == "CAT")
        return 'H';
    if (nuc == "CAA" || nuc == "CAG")
        return 'Q';
    if (nuc == "AAC" || nuc == "AAT")
        return 'N';
    if (nuc == "AAA" || nuc == "AAG")
        return 'K';
    if (nuc == "GAC" || nuc == "GAT")
        return 'D';
    if (nuc == "GAA" || nuc == "GAG")
        return 'E';
    if (nuc == "TGC" || nuc == "TGT")
        return 'C';
    if (nuc == "TGG")
        return 'W';
    if (nuc == "CGA" || nuc == "CGC" || nuc == "CGG" || nuc == "CGT")
        return 'R';
    if (nuc == "AGC" || nuc == "AGT")
        return 'S';
    if (nuc == "AGA" || nuc == "AGG")
        return 'R';
    if (nuc == "GGA" || nuc == "GGC" || nuc == "GGG" || nuc == "GGT")
        return 'G';
    else
        return 'Z';
    
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0xa930
cmpq $0x3, %rax
jne 0x615ed
jmp 0x6160c
leaq 0xd576c(%rip), %rdi     # 0x136d60
leaq 0xd5777(%rip), %rsi     # 0x136d72
movl $0x100, %edx            # imm = 0x100
leaq 0xd578c(%rip), %rcx     # 0x136d93
callq 0xa390
movq -0x10(%rbp), %rdi
leaq 0xccbeb(%rip), %rsi     # 0x12e202
callq 0x2d770
testb $0x1, %al
jne 0x61636
movq -0x10(%rbp), %rdi
leaq 0xccbd0(%rip), %rsi     # 0x12e1fb
callq 0x2d770
testb $0x1, %al
jne 0x61636
jmp 0x6163f
movb $0x46, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xccbdb(%rip), %rsi     # 0x12e225
callq 0x2d770
testb $0x1, %al
jne 0x616b9
movq -0x10(%rbp), %rdi
leaq 0xccbab(%rip), %rsi     # 0x12e209
callq 0x2d770
testb $0x1, %al
jne 0x616b9
movq -0x10(%rbp), %rdi
leaq 0xccb9e(%rip), %rsi     # 0x12e210
callq 0x2d770
testb $0x1, %al
jne 0x616b9
movq -0x10(%rbp), %rdi
leaq 0xccba6(%rip), %rsi     # 0x12e22c
callq 0x2d770
testb $0x1, %al
jne 0x616b9
movq -0x10(%rbp), %rdi
leaq 0xccb99(%rip), %rsi     # 0x12e233
callq 0x2d770
testb $0x1, %al
jne 0x616b9
movq -0x10(%rbp), %rdi
leaq 0xccb8c(%rip), %rsi     # 0x12e23a
callq 0x2d770
testb $0x1, %al
jne 0x616b9
jmp 0x616c2
movb $0x4c, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xccbc8(%rip), %rsi     # 0x12e295
callq 0x2d770
testb $0x1, %al
jne 0x61700
movq -0x10(%rbp), %rdi
leaq 0xccba6(%rip), %rsi     # 0x12e287
callq 0x2d770
testb $0x1, %al
jne 0x61700
movq -0x10(%rbp), %rdi
leaq 0xccb99(%rip), %rsi     # 0x12e28e
callq 0x2d770
testb $0x1, %al
jne 0x61700
jmp 0x61709
movb $0x49, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xccadc(%rip), %rsi     # 0x12e1f0
callq 0x2d770
testb $0x1, %al
jne 0x6171f
jmp 0x61728
movb $0x4d, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xccb93(%rip), %rsi     # 0x12e2c6
callq 0x2d770
testb $0x1, %al
jne 0x6177a
movq -0x10(%rbp), %rdi
leaq 0xccb6a(%rip), %rsi     # 0x12e2b1
callq 0x2d770
testb $0x1, %al
jne 0x6177a
movq -0x10(%rbp), %rdi
leaq 0xccb5d(%rip), %rsi     # 0x12e2b8
callq 0x2d770
testb $0x1, %al
jne 0x6177a
movq -0x10(%rbp), %rdi
leaq 0xccb50(%rip), %rsi     # 0x12e2bf
callq 0x2d770
testb $0x1, %al
jne 0x6177a
jmp 0x61783
movb $0x56, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xccb8c(%rip), %rsi     # 0x12e31a
callq 0x2d770
testb $0x1, %al
jne 0x617d5
movq -0x10(%rbp), %rdi
leaq 0xccb63(%rip), %rsi     # 0x12e305
callq 0x2d770
testb $0x1, %al
jne 0x617d5
movq -0x10(%rbp), %rdi
leaq 0xccb56(%rip), %rsi     # 0x12e30c
callq 0x2d770
testb $0x1, %al
jne 0x617d5
movq -0x10(%rbp), %rdi
leaq 0xccb49(%rip), %rsi     # 0x12e313
callq 0x2d770
testb $0x1, %al
jne 0x617d5
jmp 0x617de
movb $0x53, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xccb93(%rip), %rsi     # 0x12e37c
callq 0x2d770
testb $0x1, %al
jne 0x61830
movq -0x10(%rbp), %rdi
leaq 0xccb6a(%rip), %rsi     # 0x12e367
callq 0x2d770
testb $0x1, %al
jne 0x61830
movq -0x10(%rbp), %rdi
leaq 0xccb5d(%rip), %rsi     # 0x12e36e
callq 0x2d770
testb $0x1, %al
jne 0x61830
movq -0x10(%rbp), %rdi
leaq 0xccb50(%rip), %rsi     # 0x12e375
callq 0x2d770
testb $0x1, %al
jne 0x61830
jmp 0x61839
movb $0x50, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xccb8c(%rip), %rsi     # 0x12e3d0
callq 0x2d770
testb $0x1, %al
jne 0x6188b
movq -0x10(%rbp), %rdi
leaq 0xccb63(%rip), %rsi     # 0x12e3bb
callq 0x2d770
testb $0x1, %al
jne 0x6188b
movq -0x10(%rbp), %rdi
leaq 0xccb56(%rip), %rsi     # 0x12e3c2
callq 0x2d770
testb $0x1, %al
jne 0x6188b
movq -0x10(%rbp), %rdi
leaq 0xccb49(%rip), %rsi     # 0x12e3c9
callq 0x2d770
testb $0x1, %al
jne 0x6188b
jmp 0x61894
movb $0x54, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xccb85(%rip), %rsi     # 0x12e424
callq 0x2d770
testb $0x1, %al
jne 0x618e6
movq -0x10(%rbp), %rdi
leaq 0xccb5c(%rip), %rsi     # 0x12e40f
callq 0x2d770
testb $0x1, %al
jne 0x618e6
movq -0x10(%rbp), %rdi
leaq 0xccb4f(%rip), %rsi     # 0x12e416
callq 0x2d770
testb $0x1, %al
jne 0x618e6
movq -0x10(%rbp), %rdi
leaq 0xccb42(%rip), %rsi     # 0x12e41d
callq 0x2d770
testb $0x1, %al
jne 0x618e6
jmp 0x618ef
movb $0x41, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xccb70(%rip), %rsi     # 0x12e46a
callq 0x2d770
testb $0x1, %al
jne 0x61919
movq -0x10(%rbp), %rdi
leaq 0xccb55(%rip), %rsi     # 0x12e463
callq 0x2d770
testb $0x1, %al
jne 0x61919
jmp 0x61922
movb $0x59, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xccb59(%rip), %rsi     # 0x12e486
callq 0x2d770
testb $0x1, %al
jne 0x61960
movq -0x10(%rbp), %rdi
leaq 0xccb30(%rip), %rsi     # 0x12e471
callq 0x2d770
testb $0x1, %al
jne 0x61960
movq -0x10(%rbp), %rdi
leaq 0xccb23(%rip), %rsi     # 0x12e478
callq 0x2d770
testb $0x1, %al
jne 0x61960
jmp 0x61969
movb $0x58, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xccb20(%rip), %rsi     # 0x12e494
callq 0x2d770
testb $0x1, %al
jne 0x61993
movq -0x10(%rbp), %rdi
leaq 0xccb05(%rip), %rsi     # 0x12e48d
callq 0x2d770
testb $0x1, %al
jne 0x61993
jmp 0x6199c
movb $0x48, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xccafb(%rip), %rsi     # 0x12e4a2
callq 0x2d770
testb $0x1, %al
jne 0x619c6
movq -0x10(%rbp), %rdi
leaq 0xccae0(%rip), %rsi     # 0x12e49b
callq 0x2d770
testb $0x1, %al
jne 0x619c6
jmp 0x619cf
movb $0x51, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xccad6(%rip), %rsi     # 0x12e4b0
callq 0x2d770
testb $0x1, %al
jne 0x619f9
movq -0x10(%rbp), %rdi
leaq 0xccabb(%rip), %rsi     # 0x12e4a9
callq 0x2d770
testb $0x1, %al
jne 0x619f9
jmp 0x61a02
movb $0x4e, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xccab1(%rip), %rsi     # 0x12e4be
callq 0x2d770
testb $0x1, %al
jne 0x61a2c
movq -0x10(%rbp), %rdi
leaq 0xcca96(%rip), %rsi     # 0x12e4b7
callq 0x2d770
testb $0x1, %al
jne 0x61a2c
jmp 0x61a35
movb $0x4b, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xe7afe(%rip), %rsi     # 0x14953e
callq 0x2d770
testb $0x1, %al
jne 0x61a5f
movq -0x10(%rbp), %rdi
leaq 0xcca71(%rip), %rsi     # 0x12e4c5
callq 0x2d770
testb $0x1, %al
jne 0x61a5f
jmp 0x61a68
movb $0x44, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xcca67(%rip), %rsi     # 0x12e4da
callq 0x2d770
testb $0x1, %al
jne 0x61a92
movq -0x10(%rbp), %rdi
leaq 0xcca4c(%rip), %rsi     # 0x12e4d3
callq 0x2d770
testb $0x1, %al
jne 0x61a92
jmp 0x61a9b
movb $0x45, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xcca42(%rip), %rsi     # 0x12e4e8
callq 0x2d770
testb $0x1, %al
jne 0x61ac5
movq -0x10(%rbp), %rdi
leaq 0xcca27(%rip), %rsi     # 0x12e4e1
callq 0x2d770
testb $0x1, %al
jne 0x61ac5
jmp 0x61ace
movb $0x43, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xcc71b(%rip), %rsi     # 0x12e1f4
callq 0x2d770
testb $0x1, %al
jne 0x61ae4
jmp 0x61aed
movb $0x57, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xcca59(%rip), %rsi     # 0x12e551
callq 0x2d770
testb $0x1, %al
jne 0x61b3f
movq -0x10(%rbp), %rdi
leaq 0xcc9e3(%rip), %rsi     # 0x12e4ef
callq 0x2d770
testb $0x1, %al
jne 0x61b3f
movq -0x10(%rbp), %rdi
leaq 0xcc9d6(%rip), %rsi     # 0x12e4f6
callq 0x2d770
testb $0x1, %al
jne 0x61b3f
movq -0x10(%rbp), %rdi
leaq 0xcc9c9(%rip), %rsi     # 0x12e4fd
callq 0x2d770
testb $0x1, %al
jne 0x61b3f
jmp 0x61b48
movb $0x52, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xcc80d(%rip), %rsi     # 0x12e360
callq 0x2d770
testb $0x1, %al
jne 0x61b72
movq -0x10(%rbp), %rdi
leaq 0xcc7f2(%rip), %rsi     # 0x12e359
callq 0x2d770
testb $0x1, %al
jne 0x61b72
jmp 0x61b7b
movb $0x53, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xcc97e(%rip), %rsi     # 0x12e504
callq 0x2d770
testb $0x1, %al
jne 0x61ba5
movq -0x10(%rbp), %rdi
leaq 0xcc9be(%rip), %rsi     # 0x12e558
callq 0x2d770
testb $0x1, %al
jne 0x61ba5
jmp 0x61bab
movb $0x52, -0x1(%rbp)
jmp 0x61c07
movq -0x10(%rbp), %rdi
leaq 0xcc9cc(%rip), %rsi     # 0x12e582
callq 0x2d770
testb $0x1, %al
jne 0x61bfd
movq -0x10(%rbp), %rdi
leaq 0xcc9a3(%rip), %rsi     # 0x12e56d
callq 0x2d770
testb $0x1, %al
jne 0x61bfd
movq -0x10(%rbp), %rdi
leaq 0xcc996(%rip), %rsi     # 0x12e574
callq 0x2d770
testb $0x1, %al
jne 0x61bfd
movq -0x10(%rbp), %rdi
leaq 0xcc989(%rip), %rsi     # 0x12e57b
callq 0x2d770
testb $0x1, %al
jne 0x61bfd
jmp 0x61c03
movb $0x47, -0x1(%rbp)
jmp 0x61c07
movb $0x5a, -0x1(%rbp)
movb -0x1(%rbp), %al
addq $0x10, %rsp
popq %rbp
retq