// File: /workspace/github_c_makefile_star2_O0/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 %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movq $0x0, -0x18(%rbp)
movl -0x8(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0x15, %eax
ja 0x282fd
movq -0x20(%rbp), %rax
leaq 0x41e40(%rip), %rcx     # 0x69fdc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x5d660
movq %rax, -0x18(%rbp)
jmp 0x282ff
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x60120
movq %rax, -0x18(%rbp)
jmp 0x282ff
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x557a0
movq %rax, -0x18(%rbp)
jmp 0x282ff
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x49450
movq %rax, -0x18(%rbp)
jmp 0x282ff
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x42590
movq %rax, -0x18(%rbp)
jmp 0x282ff
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x47260
movq %rax, -0x18(%rbp)
jmp 0x282ff
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x61f00
movq %rax, -0x18(%rbp)
jmp 0x282ff
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x5c760
movq %rax, -0x18(%rbp)
jmp 0x282ff
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x4e250
movq %rax, -0x18(%rbp)
jmp 0x282ff
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x40c50
movq %rax, -0x18(%rbp)
jmp 0x282ff
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x436a0
movq %rax, -0x18(%rbp)
jmp 0x282ff
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x61880
movq %rax, -0x18(%rbp)
jmp 0x282ff
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x4fd10
movq %rax, -0x18(%rbp)
jmp 0x282ff
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x626d0
movq %rax, -0x18(%rbp)
jmp 0x282ff
movw -0x2(%rbp), %ax
movl -0xc(%rbp), %esi
movzwl %ax, %edi
callq 0x62360
movq %rax, -0x18(%rbp)
jmp 0x282ff
jmp 0x282fd
jmp 0x282ff
cmpq $0x0, -0x18(%rbp)
jne 0x28377
leaq 0x54393(%rip), %rdi     # 0x7c6a0
xorl %esi, %esi
movl $0x10, %edx
callq 0x3130
movzwl -0x2(%rbp), %ecx
leaq 0x5437c(%rip), %rdi     # 0x7c6a0
movl $0xb, %esi
leaq 0x41d04(%rip), %rdx     # 0x6a034
movb $0x0, %al
callq 0x3120
cmpl $0xb, %eax
jle 0x2836a
movzwl -0x2(%rbp), %esi
leaq 0x3c917(%rip), %rdi     # 0x64c5e
movb $0x0, %al
callq 0x3110
movq 0x4ec73(%rip), %rax     # 0x76fc8
movq (%rax), %rdi
callq 0x20840
leaq 0x41cda(%rip), %rax     # 0x6a03e
movq %rax, -0x18(%rbp)
jmp 0x28375
leaq 0x5432f(%rip), %rax     # 0x7c6a0
movq %rax, -0x18(%rbp)
jmp 0x28377
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)