// File: /workspace/github_c_makefile_star2_O1/c-zhou[P]yahs/./agp-spec.h
// Function: agp_component_type_key
static inline const uint32_t agp_component_type_key(const char *val)
{
    uint32_t key = AGPSpec_hash(val);
    int c = 0;
    switch ((AGP_CT_t) key) {
        case AGP_CT_A: c = check_collision(val, "A"); break;
        case AGP_CT_D: c = check_collision(val, "D"); break;
        case AGP_CT_F: c = check_collision(val, "F"); break;
        case AGP_CT_G: c = check_collision(val, "G"); break;
        case AGP_CT_O: c = check_collision(val, "O"); break;
        case AGP_CT_P: c = check_collision(val, "P"); break;
        case AGP_CT_W: c = check_collision(val, "W"); break;
        case AGP_CT_N: c = check_collision(val, "N"); break;
        case AGP_CT_U: c = check_collision(val, "U"); break;
        default:       AGPSpec_die("[E::%s] AGP component type VAL error: %s\n", __func__, val);
    }
    if (c) AGPSpec_die("[E::%s] AGP component type VAL error (hash collision): %s\n", __func__, val);
    return key;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
callq 0x2560
movq (%rax), %rcx
movsbq (%rbx), %rax
movl (%rcx,%rax,4), %edx
testl %edx, %edx
je 0x209d2
leaq 0x1(%rbx), %rsi
movl $0x1505, %eax           # imm = 0x1505
movl %eax, %edi
shll $0x5, %edi
addl %eax, %edx
movl %edx, %eax
addl %edi, %eax
movsbq (%rsi), %rdx
movl (%rcx,%rdx,4), %edx
incq %rsi
testl %edx, %edx
jne 0x209b7
jmp 0x209d7
movl $0x1505, %eax           # imm = 0x1505
leal -0x2b609(%rax), %edx
cmpl $0x13, %edx
ja 0x20a2b
leaq 0x2acf(%rip), %rsi      # 0x234b8
movslq (%rsi,%rdx,4), %rdx
addq %rsi, %rdx
jmpq *%rdx
leaq 0x3065(%rip), %rsi      # 0x23a5e
cmpq %rsi, %rbx
je 0x20bdd
xorl %edi, %edi
movzbl (%rbx,%rdi), %r8d
movl (%rcx,%r8,4), %edx
movzbl (%rdi,%rsi), %r9d
subl (%rcx,%r9,4), %edx
testl %r8d, %r8d
je 0x20bdf
incq %rdi
testl %edx, %edx
je 0x20a04
jmp 0x20bdf
cmpl $0x2b606, %eax          # imm = 0x2B606
jne 0x20bfd
leaq 0x17d7(%rip), %rsi      # 0x22214
cmpq %rsi, %rbx
je 0x20bdd
xorl %edi, %edi
movzbl (%rbx,%rdi), %r8d
movl (%rcx,%r8,4), %edx
movzbl (%rdi,%rsi), %r9d
subl (%rcx,%r9,4), %edx
testl %r8d, %r8d
je 0x20bdf
incq %rdi
testl %edx, %edx
je 0x20a48
jmp 0x20bdf
leaq 0x1554(%rip), %rsi      # 0x21fca
cmpq %rsi, %rbx
je 0x20bdd
xorl %edi, %edi
movzbl (%rbx,%rdi), %r8d
movl (%rcx,%r8,4), %edx
movzbl (%rdi,%rsi), %r9d
subl (%rcx,%r9,4), %edx
testl %r8d, %r8d
je 0x20bdf
incq %rdi
testl %edx, %edx
je 0x20a81
jmp 0x20bdf
leaq 0x176b(%rip), %rsi      # 0x2221a
cmpq %rsi, %rbx
je 0x20bdd
xorl %edi, %edi
movzbl (%rbx,%rdi), %r8d
movl (%rcx,%r8,4), %edx
movzbl (%rdi,%rsi), %r9d
subl (%rcx,%r9,4), %edx
testl %r8d, %r8d
je 0x20bdf
incq %rdi
testl %edx, %edx
je 0x20aba
jmp 0x20bdf
leaq 0x172e(%rip), %rsi      # 0x22216
cmpq %rsi, %rbx
je 0x20bdd
xorl %edi, %edi
movzbl (%rbx,%rdi), %r8d
movl (%rcx,%r8,4), %edx
movzbl (%rdi,%rsi), %r9d
subl (%rcx,%r9,4), %edx
testl %r8d, %r8d
je 0x20bdf
incq %rdi
testl %edx, %edx
je 0x20af3
jmp 0x20bdf
leaq 0x2f45(%rip), %rsi      # 0x23a66
cmpq %rsi, %rbx
je 0x20bdd
xorl %edi, %edi
movzbl (%rbx,%rdi), %r8d
movl (%rcx,%r8,4), %edx
movzbl (%rdi,%rsi), %r9d
subl (%rcx,%r9,4), %edx
testl %r8d, %r8d
je 0x20bdf
incq %rdi
testl %edx, %edx
je 0x20b2c
jmp 0x20bdf
leaq 0x16be(%rip), %rsi      # 0x22218
cmpq %rsi, %rbx
je 0x20bdd
xorl %edi, %edi
movzbl (%rbx,%rdi), %r8d
movl (%rcx,%r8,4), %edx
movzbl (%rdi,%rsi), %r9d
subl (%rcx,%r9,4), %edx
testl %r8d, %r8d
je 0x20bdf
incq %rdi
testl %edx, %edx
je 0x20b61
jmp 0x20bdf
leaq 0x59d(%rip), %rsi       # 0x21125
cmpq %rsi, %rbx
je 0x20bdd
xorl %edi, %edi
movzbl (%rbx,%rdi), %r8d
movl (%rcx,%r8,4), %edx
movzbl (%rdi,%rsi), %r9d
subl (%rcx,%r9,4), %edx
testl %r8d, %r8d
je 0x20bdf
incq %rdi
testl %edx, %edx
je 0x20b8f
jmp 0x20bdf
leaq 0x26c2(%rip), %rsi      # 0x23278
cmpq %rsi, %rbx
je 0x20bdd
xorl %edi, %edi
movzbl (%rbx,%rdi), %r8d
movl (%rcx,%r8,4), %edx
movzbl (%rdi,%rsi), %r9d
subl (%rcx,%r9,4), %edx
testl %r8d, %r8d
je 0x20bdf
incq %rdi
testl %edx, %edx
je 0x20bbd
jmp 0x20bdf
xorl %edx, %edx
testl %edx, %edx
jne 0x20be5
popq %rbx
retq
leaq 0x1671(%rip), %rdi      # 0x2225d
leaq 0x1653(%rip), %rsi      # 0x22246
movq %rbx, %rdx
xorl %eax, %eax
callq 0x20ce6
leaq 0x1618(%rip), %rdi      # 0x2221c
jmp 0x20bec