// File: /workspace/github_c_makefile_star2_O3/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 0xc5c1
cmpl $0x1009, %ebx           # imm = 0x1009
jg 0xc5f4
cmpl $0x804, %ebx            # imm = 0x804
jle 0xc6b6
leal -0x805(%rbx), %eax
cmpl $0x12, %eax
ja 0xc790
leaq 0x35fe4(%rip), %rcx     # 0x42590
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x377eb(%rip), %r14     # 0x43da7
jmp 0xc940
cmpl $0x1834, %ebx           # imm = 0x1834
jg 0xc627
leal -0x1803(%rbx), %eax
cmpl $0x15, %eax
ja 0xc700
leaq 0x3603d(%rip), %rcx     # 0x4261c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x378e1(%rip), %r14     # 0x43ed0
jmp 0xc940
cmpl $0x1015, %ebx           # imm = 0x1015
jle 0xc65a
leal -0x1029(%rbx), %eax
cmpl $0xf, %eax
ja 0xc758
leaq 0x35fca(%rip), %rcx     # 0x425dc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x37842(%rip), %r14     # 0x43e64
jmp 0xc940
cmpl $0x2803, %ebx           # imm = 0x2803
jle 0xc68a
leal -0x3002(%rbx), %eax
cmpl $0x9, %eax
ja 0xc720
leaq 0x3602f(%rip), %rcx     # 0x42674
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x3792b(%rip), %r14     # 0x43f80
jmp 0xc940
cmpl $0x100a, %ebx           # imm = 0x100A
je 0xc74c
cmpl $0x1010, %ebx           # imm = 0x1010
je 0xc740
cmpl $0x1011, %ebx           # imm = 0x1011
jne 0xc790
leaq 0x377b3(%rip), %r14     # 0x43e38
jmp 0xc940
cmpl $0x2006, %ebx           # imm = 0x2006
jg 0xc6dc
cmpl $0x1835, %ebx           # imm = 0x1835
je 0xc778
cmpl $0x2005, %ebx           # imm = 0x2005
jne 0xc790
leaq 0x3789d(%rip), %r14     # 0x43f4e
jmp 0xc940
testl %ebx, %ebx
je 0xc8c4
cmpl $0x1, %ebx
je 0xc8bb
cmpl $0x32, %ebx
jne 0xc790
leaq 0x376c5(%rip), %r14     # 0x43d9c
jmp 0xc940
cmpl $0x2007, %ebx           # imm = 0x2007
je 0xc784
cmpl $0x2008, %ebx           # imm = 0x2008
jne 0xc790
leaq 0x3786a(%rip), %r14     # 0x43f65
jmp 0xc940
cmpl $0x10a9, %ebx           # imm = 0x10A9
je 0xc8cd
cmpl $0x10b4, %ebx           # imm = 0x10B4
jne 0xc790
leaq 0x3c72b(%rip), %r14     # 0x48e46
jmp 0xc940
cmpl $0x2804, %ebx           # imm = 0x2804
je 0xc8fa
cmpl $0x2807, %ebx           # imm = 0x2807
jne 0xc790
leaq 0x37838(%rip), %r14     # 0x43f73
jmp 0xc940
leaq 0x376dc(%rip), %r14     # 0x43e23
jmp 0xc940
leaq 0x376c0(%rip), %r14     # 0x43e13
jmp 0xc940
cmpl $0x1016, %ebx           # imm = 0x1016
je 0xc939
cmpl $0x101c, %ebx           # imm = 0x101C
jne 0xc790
leaq 0x376e9(%rip), %r14     # 0x43e5c
jmp 0xc940
leaq 0x377c2(%rip), %r14     # 0x43f41
jmp 0xc940
leaq 0x377d0(%rip), %r14     # 0x43f5b
jmp 0xc940
leaq 0x50d79(%rip), %r14     # 0x5d510
leaq 0x354eb(%rip), %rdx     # 0x41c89
movl $0xb, %esi
movq %r14, %rdi
movl %ebx, %ecx
xorl %eax, %eax
callq 0x3130
cmpl $0xc, %eax
jl 0xc940
leaq 0x354d4(%rip), %rdi     # 0x41c93
movl %ebx, %esi
xorl %eax, %eax
callq 0x3120
movq 0x4b7f9(%rip), %rax     # 0x57fc8
movq (%rax), %rdi
callq 0x17ef7
leaq 0x354d1(%rip), %r14     # 0x41caf
jmp 0xc940
leaq 0x3771d(%rip), %r14     # 0x43f07
jmp 0xc940
leaq 0x4062d(%rip), %r14     # 0x4ce23
jmp 0xc940
leaq 0x36cb7(%rip), %r14     # 0x434b9
jmp 0xc940
leaq 0x376cc(%rip), %r14     # 0x43eda
jmp 0xc940
leaq 0x376d7(%rip), %r14     # 0x43ef1
jmp 0xc940
leaq 0x376bd(%rip), %r14     # 0x43ee3
jmp 0xc940
leaq 0x37702(%rip), %r14     # 0x43f34
jmp 0xc940
leaq 0x376d6(%rip), %r14     # 0x43f14
jmp 0xc940
leaq 0x376d4(%rip), %r14     # 0x43f1e
jmp 0xc940
leaq 0x376d3(%rip), %r14     # 0x43f29
jmp 0xc940
leaq 0x375b7(%rip), %r14     # 0x43e19
jmp 0xc940
leaq 0x37593(%rip), %r14     # 0x43e01
jmp 0xc940
leaq 0x3e442(%rip), %r14     # 0x4acbc
jmp 0xc940
leaq 0x3754f(%rip), %r14     # 0x43dd5
jmp 0xc940
leaq 0x37525(%rip), %r14     # 0x43db7
jmp 0xc940
leaq 0x37548(%rip), %r14     # 0x43de6
jmp 0xc940
leaq 0x3751a(%rip), %r14     # 0x43dc4
jmp 0xc940
leaq 0x3753a(%rip), %r14     # 0x43df0
jmp 0xc940
leaq 0x374d0(%rip), %r14     # 0x43d92
jmp 0xc940
leaq 0x374bc(%rip), %r14     # 0x43d87
jmp 0xc940
leaq 0x375ea(%rip), %r14     # 0x43ebe
jmp 0xc940
leaq 0x376b2(%rip), %r14     # 0x43f8f
jmp 0xc940
leaq 0x376b6(%rip), %r14     # 0x43f9c
jmp 0xc940
leaq 0x376c1(%rip), %r14     # 0x43fb0
jmp 0xc940
leaq 0x376c8(%rip), %r14     # 0x43fc0
jmp 0xc940
leaq 0x35f91(%rip), %r14     # 0x42892
jmp 0xc940
leaq 0x37598(%rip), %r14     # 0x43ea2
jmp 0xc940
leaq 0x37561(%rip), %r14     # 0x43e74
jmp 0xc940
leaq 0x3757b(%rip), %r14     # 0x43e97
jmp 0xc940
leaq 0x3758d(%rip), %r14     # 0x43eb2
jmp 0xc940
leaq 0x3755a(%rip), %r14     # 0x43e88
jmp 0xc940
leaq 0x37546(%rip), %r14     # 0x43e7d
jmp 0xc940
leaq 0x3750d(%rip), %r14     # 0x43e4d
movq %r14, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x32b0