// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/tagnames.c
// Function: cifftagname
char *
cifftagname(unsigned short tag)
{
    static char unknown_buf[16];
    char *tagname;

    switch(tag)
    {
        case 0x0000: tagname = "NullRecord"; break;
        case 0x0001: tagname = "FreeBytes"; break;
        case 0x0032: tagname = "ColorInfo1"; break;
        case 0x0805: tagname = "FileDescription"; break;
        case 0x080a: tagname = "RawMakeModel"; break;
        case 0x080b: tagname = "FirmwareVersion"; break;
        case 0x080c: tagname = "ComponentVersion"; break;
        case 0x080d: tagname = "RomOperationMode"; break;
        case 0x0810: tagname = "OwnerName"; break;
        case 0x0815: tagname = "ImageType"; break;
        case 0x0816: tagname = "OriginalFilename"; break;
        case 0x0817: tagname = "ThumbnailFilename"; break;
        case 0x100a: tagname = "TargetImageType"; break;
        case 0x1010: tagname = "ShutterReleaseMethod"; break;
        case 0x1011: tagname = "ShutterReleaseTiming"; break;
        case 0x1016: tagname = "ReleaseSetting"; break;
        case 0x101c: tagname = "BaseISO"; break;
        /* case 0x1028: tagname = "TAG_0x1028"; break;                */
        case 0x1029: tagname = "FocalLengthInfo"; break;
        case 0x102a: tagname = "ShotInfo"; break;
        case 0x102c: tagname = "ColorInfo2"; break;
        case 0x102d: tagname = "CameraSettings"; break;
        case 0x1031: tagname = "SensorInfo"; break;
        case 0x1033: tagname = "CustomFunctions"; break;
        case 0x1038: tagname = "PictureInfo"; break;
        /* case 0x1039: tagname = "TAG_0x1039"; break;                */
        /* case 0x1093: tagname = "TAG_0x1093"; break;                */
        /* case 0x10a8: tagname = "TAG_0x10a8"; break;                */
        case 0x10a9: tagname = "WhiteBalanceTable"; break;
        /* case 0x10aa: tagname = "TAG_0x10aa"; break;                */
        /* case 0x10ae: tagname = "TAG_0x10ae"; break;                */
        case 0x10b4: tagname = "ColorSpace"; break;
        /* case 0x10b5: tagname = "TAG_0x10b5"; break;                */
        /* case 0x10c0: tagname = "0X10c0"; break;                    */
        /* case 0x10c1: tagname = "0X10c1"; break;                    */
        case 0x1803: tagname = "ImageSpec"; break;
        case 0x1804: tagname = "RecordId"; break;
        case 0x1806: tagname = "SelfTimerTime"; break;
        case 0x1807: tagname = "TargetDistanceSetting"; break;
        case 0x180b: tagname = "SerialNumber"; break;
        case 0x180e: tagname = "CapturedTime"; break;
        case 0x1810: tagname = "ImageInfo"; break;
        case 0x1813: tagname = "FlashInfo"; break;
        case 0x1814: tagname = "MeasuredEv"; break;
        case 0x1817: tagname = "Filenumber"; break;
        case 0x1818: tagname = "ExposureInfo"; break;
        /* case 0x1834: tagname = "TAG_0x1834"; break;                */
        case 0x1835: tagname = "DecoderTable"; break;
        /* case 0x183b: tagname = "TAG_0X183b"; break;                */
        case 0x2005: tagname = "RawImageData"; break;
        case 0x2007: tagname = "JpegImage"; break;
        case 0x2008: tagname = "JpegThumbnail"; break;
        case 0x2804: tagname = "ImageDescription"; break;
        case 0x2807: tagname = "CameraObject"; break;
        case 0x3002: tagname = "ShootingRecord"; break;
        case 0x3003: tagname = "MeasuredInfo"; break;
        case 0x3004: tagname = "CameraSpecification"; break;
        case 0x300a: tagname = "ImageProperties"; break;
        case 0x300b: tagname = "ExifInformation"; break;
        default:
            if(snprintf(unknown_buf,11,"TAG_%#06x",(int)tag) > 11)
            {
                printf(" bad tag %#x not converted\n",tag);
                why(stdout);
                tagname = "<BADTAG>";
            }
            else
                tagname = unknown_buf;
            break;
    }
    tagname = strdup(tagname);
    return(tagname);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movl %edi, %ebx
cmpl $0x10a8, %edi           # imm = 0x10A8
jg 0xc441
cmpl $0x1009, %ebx           # imm = 0x1009
jg 0xc474
cmpl $0x804, %ebx            # imm = 0x804
jle 0xc536
leal -0x805(%rbx), %eax
cmpl $0x12, %eax
ja 0xc610
leaq 0x36164(%rip), %rcx     # 0x42590
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x3796b(%rip), %r14     # 0x43da7
jmp 0xc7c0
cmpl $0x1834, %ebx           # imm = 0x1834
jg 0xc4a7
leal -0x1803(%rbx), %eax
cmpl $0x15, %eax
ja 0xc580
leaq 0x361bd(%rip), %rcx     # 0x4261c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x37a61(%rip), %r14     # 0x43ed0
jmp 0xc7c0
cmpl $0x1015, %ebx           # imm = 0x1015
jle 0xc4da
leal -0x1029(%rbx), %eax
cmpl $0xf, %eax
ja 0xc5d8
leaq 0x3614a(%rip), %rcx     # 0x425dc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x379c2(%rip), %r14     # 0x43e64
jmp 0xc7c0
cmpl $0x2803, %ebx           # imm = 0x2803
jle 0xc50a
leal -0x3002(%rbx), %eax
cmpl $0x9, %eax
ja 0xc5a0
leaq 0x361af(%rip), %rcx     # 0x42674
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x37aab(%rip), %r14     # 0x43f80
jmp 0xc7c0
cmpl $0x100a, %ebx           # imm = 0x100A
je 0xc5cc
cmpl $0x1010, %ebx           # imm = 0x1010
je 0xc5c0
cmpl $0x1011, %ebx           # imm = 0x1011
jne 0xc610
leaq 0x37933(%rip), %r14     # 0x43e38
jmp 0xc7c0
cmpl $0x2006, %ebx           # imm = 0x2006
jg 0xc55c
cmpl $0x1835, %ebx           # imm = 0x1835
je 0xc5f8
cmpl $0x2005, %ebx           # imm = 0x2005
jne 0xc610
leaq 0x37a1d(%rip), %r14     # 0x43f4e
jmp 0xc7c0
testl %ebx, %ebx
je 0xc744
cmpl $0x1, %ebx
je 0xc73b
cmpl $0x32, %ebx
jne 0xc610
leaq 0x37845(%rip), %r14     # 0x43d9c
jmp 0xc7c0
cmpl $0x2007, %ebx           # imm = 0x2007
je 0xc604
cmpl $0x2008, %ebx           # imm = 0x2008
jne 0xc610
leaq 0x379ea(%rip), %r14     # 0x43f65
jmp 0xc7c0
cmpl $0x10a9, %ebx           # imm = 0x10A9
je 0xc74d
cmpl $0x10b4, %ebx           # imm = 0x10B4
jne 0xc610
leaq 0x3c86b(%rip), %r14     # 0x48e06
jmp 0xc7c0
cmpl $0x2804, %ebx           # imm = 0x2804
je 0xc77a
cmpl $0x2807, %ebx           # imm = 0x2807
jne 0xc610
leaq 0x379b8(%rip), %r14     # 0x43f73
jmp 0xc7c0
leaq 0x3785c(%rip), %r14     # 0x43e23
jmp 0xc7c0
leaq 0x37840(%rip), %r14     # 0x43e13
jmp 0xc7c0
cmpl $0x1016, %ebx           # imm = 0x1016
je 0xc7b9
cmpl $0x101c, %ebx           # imm = 0x101C
jne 0xc610
leaq 0x37869(%rip), %r14     # 0x43e5c
jmp 0xc7c0
leaq 0x37942(%rip), %r14     # 0x43f41
jmp 0xc7c0
leaq 0x37950(%rip), %r14     # 0x43f5b
jmp 0xc7c0
leaq 0x50ef9(%rip), %r14     # 0x5d510
leaq 0x3566b(%rip), %rdx     # 0x41c89
movl $0xb, %esi
movq %r14, %rdi
movl %ebx, %ecx
xorl %eax, %eax
callq 0x3130
cmpl $0xc, %eax
jl 0xc7c0
leaq 0x35654(%rip), %rdi     # 0x41c93
movl %ebx, %esi
xorl %eax, %eax
callq 0x3120
movq 0x4b979(%rip), %rax     # 0x57fc8
movq (%rax), %rdi
callq 0x179a5
leaq 0x35651(%rip), %r14     # 0x41caf
jmp 0xc7c0
leaq 0x3789d(%rip), %r14     # 0x43f07
jmp 0xc7c0
leaq 0x4076d(%rip), %r14     # 0x4cde3
jmp 0xc7c0
leaq 0x36e37(%rip), %r14     # 0x434b9
jmp 0xc7c0
leaq 0x3784c(%rip), %r14     # 0x43eda
jmp 0xc7c0
leaq 0x37857(%rip), %r14     # 0x43ef1
jmp 0xc7c0
leaq 0x3783d(%rip), %r14     # 0x43ee3
jmp 0xc7c0
leaq 0x37882(%rip), %r14     # 0x43f34
jmp 0xc7c0
leaq 0x37856(%rip), %r14     # 0x43f14
jmp 0xc7c0
leaq 0x37854(%rip), %r14     # 0x43f1e
jmp 0xc7c0
leaq 0x37853(%rip), %r14     # 0x43f29
jmp 0xc7c0
leaq 0x37737(%rip), %r14     # 0x43e19
jmp 0xc7c0
leaq 0x37713(%rip), %r14     # 0x43e01
jmp 0xc7c0
leaq 0x3e582(%rip), %r14     # 0x4ac7c
jmp 0xc7c0
leaq 0x376cf(%rip), %r14     # 0x43dd5
jmp 0xc7c0
leaq 0x376a5(%rip), %r14     # 0x43db7
jmp 0xc7c0
leaq 0x376c8(%rip), %r14     # 0x43de6
jmp 0xc7c0
leaq 0x3769a(%rip), %r14     # 0x43dc4
jmp 0xc7c0
leaq 0x376ba(%rip), %r14     # 0x43df0
jmp 0xc7c0
leaq 0x37650(%rip), %r14     # 0x43d92
jmp 0xc7c0
leaq 0x3763c(%rip), %r14     # 0x43d87
jmp 0xc7c0
leaq 0x3776a(%rip), %r14     # 0x43ebe
jmp 0xc7c0
leaq 0x37832(%rip), %r14     # 0x43f8f
jmp 0xc7c0
leaq 0x37836(%rip), %r14     # 0x43f9c
jmp 0xc7c0
leaq 0x37841(%rip), %r14     # 0x43fb0
jmp 0xc7c0
leaq 0x37848(%rip), %r14     # 0x43fc0
jmp 0xc7c0
leaq 0x36111(%rip), %r14     # 0x42892
jmp 0xc7c0
leaq 0x37718(%rip), %r14     # 0x43ea2
jmp 0xc7c0
leaq 0x376e1(%rip), %r14     # 0x43e74
jmp 0xc7c0
leaq 0x376fb(%rip), %r14     # 0x43e97
jmp 0xc7c0
leaq 0x3770d(%rip), %r14     # 0x43eb2
jmp 0xc7c0
leaq 0x376da(%rip), %r14     # 0x43e88
jmp 0xc7c0
leaq 0x376c6(%rip), %r14     # 0x43e7d
jmp 0xc7c0
leaq 0x3768d(%rip), %r14     # 0x43e4d
movq %r14, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x32b0