// File: /workspace/github_c_makefile_star2_O2/hfiguiere[P]exifprobe/maker_minolta.c
// Function: maker_minolta1_tagname
char *
maker_minolta1_tagname(unsigned short tag,int model)
{
    char *tagname = CNULL;

    /* The Minolta MakerNote of TIFF format images have a JPEG        */
    /* thumbnail with a defective SOI marker (0x00f8). In fact,       */
    /* Minolta JPEG_SOI is often missing the high "0xff".             */

    if(tagname == NULL)
    {
        switch(tag)
        {
            case 0x0000: tagname = "Version"; break;
            case 0x0001: tagname = "CameraSettings"; break;
            case 0x0003: tagname = "CameraSettings"; break;
            case 0x0040: tagname = "ImageByteSize"; break;
            case 0x0081: tagname = "JpegThumbnail"; break;
            case 0x0088: tagname = "JpegThumbnailOffset"; break;
            case 0x0089: tagname = "JpegThumbnailLength"; break;
            case 0x0101: tagname = "ColorMode"; break;
            case 0x0102: tagname = "ImageQuality"; break;
            case 0x0103: if(model == MINOLTA_DIMAGE7Hi)
                              tagname = "ImageQuality";
                         else
                              tagname = "ImageSize";
                         break;
            /* The following tagname appears valid for at least the   */
            /* F200, thanks to Harald Puhl (h.puhl@ki-ag.com)         */
            case 0x0104: tagname = "FlashCompensation"; break;
            case 0x0200: tagname = "SpecialMode"; break;

    /* The following tag names appear valid for the F100 and "X" but  */
    /* do not appear to be used for any other Minolta model. They are */
    /* essentially the Sanyo tag set, used here based upon guesswork; */
    /* some Minolta and Sanyo cameras are said to use the same chip,  */
    /* and some F100 and "X" images I've seen contain almost exactly  */
    /* this set of tags (as described by John Hawkins for Sanyo       */
    /* DSC-MZ2 notes). The Quality, Macro, SpecialMode and PrintIM    */
    /* tags are reasonably certain to be correct (they "decode"       */
    /* properly). The remaining names are less certain, and no        */
    /* attempt is made to decode them in minolta1_interpret_value()/  */

            case 0x0201: tagname = "Quality"; break;
            case 0x0202: tagname = "Macro"; break;
            case 0x0204: tagname = "DigiZoom"; break;
            case 0x0207: tagname = "SoftwareRelease"; break;
            case 0x0208: tagname = "PictInfo"; break;
            case 0x0209: tagname = "CameraID"; break;
            case 0x020e: tagname = "SeqShotMethod"; break;
            case 0x020f: tagname = "WideRange"; break;
            case 0x0210: tagname = "ColorAdjMode"; break;
            case 0x0213: tagname = "QuickShot"; break;
            case 0x0214: tagname = "SelfTimer"; break;
            case 0x0216: tagname = "VoiceMemo"; break;
            case 0x0217: tagname = "RecordShutterRel"; break;
            case 0x0218: tagname = "FlickerReduce"; break;
            case 0x0219: tagname = "OpticalZoom"; break;
            case 0x021b: tagname = "DigitalZoom"; break;
            case 0x021d: tagname = "LightSourceSpecial"; break;
            case 0x021e: tagname = "Resaved"; break;
            case 0x021f: tagname = "SceneSelect"; break;
            case 0x0223: tagname = "ManualFocusDist"; break; /* ###%%% not seen */
            case 0x0224: tagname = "SeqShotIntvl"; break; /* ###%%% not seen */
            case 0x0225: tagname = "FlashMode"; break; /* ###%%% not seen */
            case 0x0e00: tagname = "PrintIM"; break;
            case 0x0f00: tagname = "Data"; break;
            default: break;
        }
    }
    setnotetagset(1);
    return(tagname);
}

// Assembly:
pushq %rbx
xorl %ebx, %ebx
leal -0x200(%rdi), %eax
cmpl $0x25, %eax
ja 0x3356a
leaq 0x1657f(%rip), %rcx     # 0x49ad4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x15083(%rip), %rbx     # 0x485e8
jmp 0x33759
leal -0x101(%rdi), %eax
cmpl $0x3, %eax
jbe 0x335d8
cmpl $0xf00, %edi            # imm = 0xF00
je 0x33752
cmpl $0x1, %edi
je 0x335f4
cmpl $0x3, %edi
je 0x335f4
cmpl $0x40, %edi
je 0x336fc
cmpl $0x81, %edi
je 0x3371c
cmpl $0x88, %edi
je 0x3372e
cmpl $0x89, %edi
je 0x33737
cmpl $0xe00, %edi            # imm = 0xE00
je 0x33749
testl %edi, %edi
jne 0x33759
leaq 0xdd27(%rip), %rbx      # 0x412fa
jmp 0x33759
leaq 0x164e5(%rip), %rcx     # 0x49ac4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x14000(%rip), %rbx     # 0x475ef
jmp 0x33759
leaq 0xe88d(%rip), %rbx      # 0x41e88
jmp 0x33759
leaq 0x16701(%rip), %rbx     # 0x49d08
jmp 0x33759
leaq 0x166ce(%rip), %rbx     # 0x49ce1
jmp 0x33759
leaq 0x1668f(%rip), %rbx     # 0x49cae
jmp 0x33759
leaq 0x166e9(%rip), %rbx     # 0x49d14
jmp 0x33759
leaq 0x1668b(%rip), %rbx     # 0x49cc2
jmp 0x33759
leaq 0x1663c(%rip), %rbx     # 0x49c7f
jmp 0x33759
leaq 0x11078(%rip), %rbx     # 0x446c7
jmp 0x33759
leaq 0x1663c(%rip), %rbx     # 0x49c97
jmp 0x33759
leaq 0x165ec(%rip), %rbx     # 0x49c53
jmp 0x33759
leaq 0x1542f(%rip), %rbx     # 0x48aa2
jmp 0x33759
leaq 0x14f9f(%rip), %rbx     # 0x4861e
jmp 0x33759
leaq 0x165eb(%rip), %rbx     # 0x49c76
jmp 0x33759
leaq 0x165d6(%rip), %rbx     # 0x49c6d
jmp 0x33759
leaq 0x16601(%rip), %rbx     # 0x49ca4
jmp 0x33759
leaq 0x14f55(%rip), %rbx     # 0x48604
jmp 0x33759
leaq 0x16669(%rip), %rbx     # 0x49d24
jmp 0x33759
leaq 0x1660c(%rip), %rbx     # 0x49cd3
jmp 0x33759
leaq 0x165ba(%rip), %rbx     # 0x49c8d
jmp 0x33759
leaq 0x165d9(%rip), %rbx     # 0x49cb8
jmp 0x33759
leaq 0x14a12(%rip), %rbx     # 0x480fa
jmp 0x33759
leaq 0x165fc(%rip), %rbx     # 0x49ced
jmp 0x33759
leaq 0x16606(%rip), %rbx     # 0x49d00
jmp 0x33759
leaq 0x1653d(%rip), %rbx     # 0x49c40
jmp 0x33759
cmpl $0x3, %esi
leaq 0x1653f(%rip), %rax     # 0x49c4e
leaq 0x18f29(%rip), %rbx     # 0x4c63f
cmoveq %rax, %rbx
jmp 0x33759
leaq 0xe842(%rip), %rbx      # 0x41f65
jmp 0x33759
leaq 0x1652f(%rip), %rbx     # 0x49c5b
jmp 0x33759
leaq 0x15f6b(%rip), %rbx     # 0x496a0
jmp 0x33759
leaq 0x15f4e(%rip), %rbx     # 0x4968c
jmp 0x33759
leaq 0x16507(%rip), %rbx     # 0x49c4e
jmp 0x33759
leaq 0xdb72(%rip), %rbx      # 0x412c2
jmp 0x33759
leaq 0xf1b8(%rip), %rbx      # 0x42911
pushq $0x1
popq %rdi
callq 0x1b2bd
movq %rbx, %rax
popq %rbx
retq