// File: /workspace/github_c_makefile_star2_O2/hfiguiere[P]exifprobe/maker_olympus.c
// Function: olympus_private_2020_tagname
char *
olympus_private_2020_tagname(unsigned short tag)
{
    char *tagname = CNULL;

    switch(tag)
    {
        case 0x0000: tagname = "CameraSettingsVersion"; break;
        case 0x0100: tagname = "PreviewImageValid"; break;
        case 0x0101: tagname = "PreviewImageOffset"; break;
        case 0x0102: tagname = "PreviewImageLength"; break;
        case 0x0200: tagname = "ExposureMode"; break;
        case 0x0202: tagname = "MeteringMode"; break;
        case 0x0300: tagname = "MacroMode"; break;
        case 0x0301: tagname = "FocusMode"; break;
        case 0x0302: tagname = "FocusProcess"; break;
        case 0x0303: tagname = "AFSearch"; break;
        case 0x0304: tagname = "AFAreas"; break;
        case 0x0400: tagname = "FlashMode"; break;
        case 0x0401: tagname = "FlashExposureCompensation"; break;
        case 0x0501: tagname = "WhiteBalanceTemperature"; break;
        case 0x0502: tagname = "WhiteBalanceBracket"; break; 
        case 0x0503: tagname = "CustomSaturation"; break;
        case 0x0504: tagname = "ModifiedSaturation"; break;
        case 0x0505: tagname = "ContrastSetting"; break;
        case 0x0506: tagname = "SharpnessSetting"; break;
        case 0x0507: tagname = "ColorSpace"; break;
        case 0x0509: tagname = "SceneMode"; break;
        case 0x050a: tagname = "NoiseReduction"; break;
        case 0x050b: tagname = "DistortionCorrection"; break;
        case 0x050c: tagname = "ShadingCompensation"; break;
        case 0x050d: tagname = "CompressionFactor"; break;
        case 0x050f: tagname = "Gradation"; break;
        case 0x0600: tagname = "Sequence"; break;
        case 0x0603: tagname = "ImageQuality2"; break;
        default:
            break;
    }
    return(tagname);
}

// Assembly:
xorl %eax, %eax
leal -0x501(%rdi), %ecx
cmpl $0xe, %ecx
jbe 0x2e293
leal -0x300(%rdi), %ecx
cmpl $0x4, %ecx
jbe 0x2e2ab
cmpl $0x603, %edi            # imm = 0x603
je 0x2e37b
cmpl $0x100, %edi            # imm = 0x100
je 0x2e32b
cmpl $0x101, %edi            # imm = 0x101
je 0x2e383
cmpl $0x102, %edi            # imm = 0x102
je 0x2e353
cmpl $0x200, %edi            # imm = 0x200
je 0x2e373
cmpl $0x202, %edi            # imm = 0x202
je 0x2e36b
cmpl $0x400, %edi            # imm = 0x400
je 0x2e323
cmpl $0x401, %edi            # imm = 0x401
je 0x2e34b
cmpl $0x600, %edi            # imm = 0x600
je 0x2e33b
testl %edi, %edi
jne 0x2e382
leaq 0x1a9ea(%rip), %rax     # 0x48c7c
retq
leaq 0x1a5c2(%rip), %rdx     # 0x4885c
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
leaq 0x1aa2a(%rip), %rax     # 0x48cd4
retq
leaq 0x1a596(%rip), %rax     # 0x48848
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x1a9d0(%rip), %rax     # 0x48c92
retq
leaq 0x1aa7b(%rip), %rax     # 0x48d45
retq
leaq 0x1aaae(%rip), %rax     # 0x48d80
retq
leaq 0x1aa94(%rip), %rax     # 0x48d6e
retq
leaq 0x19f5d(%rip), %rax     # 0x4823f
retq
leaq 0x18b0c(%rip), %rax     # 0x46df6
retq
leaq 0x1aa0e(%rip), %rax     # 0x48d00
retq
leaq 0x1aa3a(%rip), %rax     # 0x48d34
retq
leaq 0x1d073(%rip), %rax     # 0x4b375
retq
leaq 0x1aa07(%rip), %rax     # 0x48d11
retq
leaq 0x1a9da(%rip), %rax     # 0x48cec
retq
leaq 0x1aa0a(%rip), %rax     # 0x48d24
retq
leaq 0x1aa38(%rip), %rax     # 0x48d5a
retq
leaq 0x1a778(%rip), %rax     # 0x48aa2
retq
leaq 0x1a7db(%rip), %rax     # 0x48b0d
retq
leaq 0x1a978(%rip), %rax     # 0x48cb2
retq
leaq 0x1d458(%rip), %rax     # 0x4b79a
retq
leaq 0x1a952(%rip), %rax     # 0x48c9c
retq
leaq 0x1a968(%rip), %rax     # 0x48cba
retq
leaq 0x1a7d8(%rip), %rax     # 0x48b32
retq
leaq 0x1a947(%rip), %rax     # 0x48ca9
retq
leaq 0x19dba(%rip), %rax     # 0x48124
retq
leaq 0x12cba(%rip), %rax     # 0x4102c
retq
leaq 0x12e64(%rip), %rax     # 0x411de
retq
leaq 0x1aa08(%rip), %rax     # 0x48d8a
retq
leaq 0x1a795(%rip), %rax     # 0x48b1f
retq