// File: /workspace/github_cpp_makefile_star2_O2/millanek[P]evo/process_vcf_IUPAC.cpp
// Function: getAmbiguityCode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
std::string getAmbiguityCode(std::string b1, std::string b2) {
    if ((b1 == "A" && b2 == "C") || (b1 == "C" && b2 == "A"))
        return "M";
    else if ((b1 == "A" && b2 == "G") || (b1 == "G" && b2 == "A"))
        return "R";
    else if ((b1 == "A" && b2 == "T") || (b1 == "T" && b2 == "A"))
        return "W";
    else if ((b1 == "C" && b2 == "G") || (b1 == "G" && b2 == "C"))
        return "S";
    else if ((b1 == "C" && b2 == "T") || (b1 == "T" && b2 == "C"))
        return "Y";
    else if ((b1 == "G" && b2 == "T") || (b1 == "T" && b2 == "G"))
        return "K";
    else
        return "?";
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x4beed(%rip), %rsi     # 0x92580
movq %r15, %rdi
callq 0x2193f
testb %al, %al
je 0x466b2
leaq 0x4becc(%rip), %rsi     # 0x92572
movq %r14, %rdi
callq 0x2193f
testb %al, %al
jne 0x466d8
leaq 0x4beb9(%rip), %rsi     # 0x92572
movq %r15, %rdi
callq 0x2193f
testb %al, %al
je 0x466e9
leaq 0x4beb4(%rip), %rsi     # 0x92580
movq %r14, %rdi
callq 0x2193f
testb %al, %al
je 0x466e9
leaq 0x4c188(%rip), %rsi     # 0x92867
leaq 0xf(%rsp), %rdx
jmp 0x468c0
leaq 0x4be90(%rip), %rsi     # 0x92580
movq %r15, %rdi
callq 0x2193f
testb %al, %al
je 0x4670f
leaq 0x4be76(%rip), %rsi     # 0x92579
movq %r14, %rdi
callq 0x2193f
testb %al, %al
jne 0x46735
leaq 0x4be63(%rip), %rsi     # 0x92579
movq %r15, %rdi
callq 0x2193f
testb %al, %al
je 0x46746
leaq 0x4be57(%rip), %rsi     # 0x92580
movq %r14, %rdi
callq 0x2193f
testb %al, %al
je 0x46746
leaq 0x6667b(%rip), %rsi     # 0xacdb7
leaq 0xe(%rsp), %rdx
jmp 0x468c0
leaq 0x4be33(%rip), %rsi     # 0x92580
movq %r15, %rdi
callq 0x2193f
testb %al, %al
je 0x4676c
leaq 0x4be0b(%rip), %rsi     # 0x9256b
movq %r14, %rdi
callq 0x2193f
testb %al, %al
jne 0x46792
leaq 0x4bdf8(%rip), %rsi     # 0x9256b
movq %r15, %rdi
callq 0x2193f
testb %al, %al
je 0x467a3
leaq 0x4bdfa(%rip), %rsi     # 0x92580
movq %r14, %rdi
callq 0x2193f
testb %al, %al
je 0x467a3
leaq 0x69462(%rip), %rsi     # 0xafbfb
leaq 0xd(%rsp), %rdx
jmp 0x468c0
leaq 0x4bdc8(%rip), %rsi     # 0x92572
movq %r15, %rdi
callq 0x2193f
testb %al, %al
je 0x467c9
leaq 0x4bdbc(%rip), %rsi     # 0x92579
movq %r14, %rdi
callq 0x2193f
testb %al, %al
jne 0x467ef
leaq 0x4bda9(%rip), %rsi     # 0x92579
movq %r15, %rdi
callq 0x2193f
testb %al, %al
je 0x46800
leaq 0x4bd8f(%rip), %rsi     # 0x92572
movq %r14, %rdi
callq 0x2193f
testb %al, %al
je 0x46800
leaq 0x4bff2(%rip), %rsi     # 0x927e8
leaq 0xc(%rsp), %rdx
jmp 0x468c0
leaq 0x4bd6b(%rip), %rsi     # 0x92572
movq %r15, %rdi
callq 0x2193f
testb %al, %al
je 0x46826
leaq 0x4bd51(%rip), %rsi     # 0x9256b
movq %r14, %rdi
callq 0x2193f
testb %al, %al
jne 0x4684c
leaq 0x4bd3e(%rip), %rsi     # 0x9256b
movq %r15, %rdi
callq 0x2193f
testb %al, %al
je 0x4685a
leaq 0x4bd32(%rip), %rsi     # 0x92572
movq %r14, %rdi
callq 0x2193f
testb %al, %al
je 0x4685a
leaq 0x55f7c(%rip), %rsi     # 0x9c7cf
leaq 0xb(%rsp), %rdx
jmp 0x468c0
leaq 0x4bd18(%rip), %rsi     # 0x92579
movq %r15, %rdi
callq 0x2193f
testb %al, %al
je 0x46880
leaq 0x4bcf7(%rip), %rsi     # 0x9256b
movq %r14, %rdi
callq 0x2193f
testb %al, %al
jne 0x468a6
leaq 0x4bce4(%rip), %rsi     # 0x9256b
movq %r15, %rdi
callq 0x2193f
testb %al, %al
je 0x468b4
leaq 0x4bcdf(%rip), %rsi     # 0x92579
movq %r14, %rdi
callq 0x2193f
testb %al, %al
je 0x468b4
leaq 0x5975a(%rip), %rsi     # 0xa0007
leaq 0xa(%rsp), %rdx
jmp 0x468c0
leaq 0x63ce8(%rip), %rsi     # 0xaa5a3
leaq 0x9(%rsp), %rdx
movq %rbx, %rdi
callq 0x21904
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
nopl (%rax)