// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_tagnames.c
// Function: maker_tagname
char *
maker_tagname(unsigned short tag,int make,int model)
{
    static char unknown_buf[16];
    char *tagname = NULL;

    switch(make)
    {
        case MAKER_AGFA:
            tagname = maker_agfa_tagname(tag,model);
            break;
        case MAKER_ASAHI:
        case MAKER_PENTAX:
            tagname = maker_asahi_tagname(tag,model);
            break;
        case MAKER_CANON:
            tagname = maker_canon_tagname(tag,model);
            break;
        case MAKER_CASIO:
            tagname = maker_casio_tagname(tag,model);
            break;
        case MAKER_EPSON:
            tagname = maker_epson_tagname(tag,model);
            break;
        case MAKER_FUJIFILM:
            tagname = maker_fujifilm_tagname(tag,model);
            break;
        case MAKER_KYOCERA:
            tagname = maker_kyocera_tagname(tag,model);
            break;
        case MAKER_LEICA:
            tagname = maker_leica_tagname(tag,model);
            break;
        case MAKER_MINOLTA:
            tagname = maker_minolta_tagname(tag,model);
            break;
        case MAKER_NIKON:
            tagname = maker_nikon_tagname(tag,model);
            break;
        case MAKER_OLYMPUS:
            tagname = maker_olympus_tagname(tag,model);
            break;
        case MAKER_PANASONIC:
            tagname = maker_panasonic_tagname(tag,model);
            break;
        case MAKER_SANYO:
            tagname = maker_sanyo_tagname(tag,model);
            break;
        case MAKER_SIGMA:
            tagname = maker_sigma_tagname(tag,model);
            break;
        case MAKER_TOSHIBA:
            tagname = maker_toshiba_tagname(tag,model);
            break;
        case MAKER_SONY:
        case MAKER_KODAK:
        case MAKER_KONICA:
        case MAKER_HP:
        case MAKER_RICOH:
        case MAKER_TRAVELER:
        default:
            break;
    }

    if(tagname == NULL)
    {
        memset(unknown_buf,'\0',16);
        /* "regular" tags use lower case; use upper case for          */
        /* MakerNote tags                                             */
        if(snprintf(unknown_buf,11,"TAG_%#06X",(int)tag) > 11)
        {
            printf(" bad tag %#x not converted\n",tag);
            why(stdout);
            tagname = "Maker_BADTAG";
        }
        else
            tagname = unknown_buf;
    }
    return(tagname);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movl %edi, %ebx
xorl %r14d, %r14d
decl %esi
cmpl $0x14, %esi
ja 0x1c105
leaq 0x2ba29(%rip), %rax     # 0x47a64
movslq (%rax,%rsi,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movzwl %bx, %edi
movl %edx, %esi
callq 0x3e668
jmp 0x1c102
movzwl %bx, %edi
movl %edx, %esi
callq 0x2e2bf
jmp 0x1c102
movzwl %bx, %edi
movl %edx, %esi
callq 0x2eddf
jmp 0x1c102
movzwl %bx, %edi
movl %edx, %esi
callq 0x31b6f
jmp 0x1c102
movzwl %bx, %edi
movl %edx, %esi
callq 0x35543
jmp 0x1c102
movzwl %bx, %edi
movl %edx, %esi
callq 0x3d228
jmp 0x1c102
movzwl %bx, %edi
movl %edx, %esi
callq 0x30848
jmp 0x1c102
movzwl %bx, %edi
movl %edx, %esi
callq 0x3f2e8
jmp 0x1c102
movzwl %bx, %edi
movl %edx, %esi
callq 0x3884a
jmp 0x1c102
movzwl %bx, %edi
movl %edx, %esi
callq 0x34687
jmp 0x1c102
movzwl %bx, %edi
movl %edx, %esi
callq 0x3f6ce
jmp 0x1c102
movzwl %bx, %edi
movl %edx, %esi
callq 0x3fc17
jmp 0x1c102
movzwl %bx, %edi
movl %edx, %esi
callq 0x3f9d0
jmp 0x1c102
movzwl %bx, %edi
movl %edx, %esi
callq 0x2d2a8
jmp 0x1c102
movzwl %bx, %edi
movl %edx, %esi
callq 0x3c7ac
movq %rax, %r14
testq %r14, %r14
jne 0x1c161
xorps %xmm0, %xmm0
movaps %xmm0, 0x4154c(%rip)    # 0x5d660
leaq 0x41545(%rip), %r14     # 0x5d660
movzwl %bx, %ebx
leaq 0x2b993(%rip), %rdx     # 0x47ab8
movl $0xb, %esi
movq %r14, %rdi
movl %ebx, %ecx
xorl %eax, %eax
callq 0x3130
cmpl $0xc, %eax
jl 0x1c161
leaq 0x25b51(%rip), %rdi     # 0x41c93
movl %ebx, %esi
xorl %eax, %eax
callq 0x3120
movq 0x3be76(%rip), %rax     # 0x57fc8
movq (%rax), %rdi
callq 0x179a5
leaq 0x2b961(%rip), %r14     # 0x47ac2
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq