// File: /workspace/github_c_makefile_star2_O3/hfiguiere[P]exifprobe/interpret.c
// Function: interpret_value
void
interpret_value(struct ifd_entry *entry_ptr,struct image_summary *summary_entry)
{
    switch(entry_ptr->tag)
    {
        case TIFFTAG_Compression:
            print_compression(entry_ptr->value);
            break;
        case TIFFTAG_PhotometricInterpretation:
            if (summary_entry)
            {
                print_photometric(entry_ptr->value,summary_entry->fileformat);
            }
            break;
        case TIFFTAG_Orientation:
            print_orientation(entry_ptr->value);
            break;
        case TIFFTAG_ResolutionUnit:
        case EXIFTAG_FocalPlaneResolutionUnit:
            print_resunit(entry_ptr->value);
            break;
        case TIFFEPTAG_FocalPlaneResolutionUnit:
            print_epfpresunit(entry_ptr->value);
            break;
        case EXIFTAG_ColorSpace:
            print_colorspace(entry_ptr->value);
            break;
        case EXIFTAG_MeteringMode:
            print_meteringmode(entry_ptr->value);
            break;
        case TIFFEPTAG_CFAPattern:
            print_epcfapattern(entry_ptr->value,entry_ptr->count);
            break;
        case TIFFEPTAG_SensingMethod:
        case EXIFTAG_SensingMethod:
            print_sensingmethod(entry_ptr->value);
            break;
        case EXIFTAG_ExposureProgram:
            print_exposureprogram(entry_ptr->value);
            break;
        case EXIFTAG_ComponentsConfiguration:
            print_componentsconfig(entry_ptr->value);
            break;
        case TIFFTAG_OldSubFileType:
            print_oldsubfiletype(entry_ptr->value);
            break;
        case TIFFTAG_NewSubFileType:
            print_newsubfiletype(entry_ptr->value);
            break;
        case TIFFTAG_PlanarConfiguration:
            print_planarconfig(entry_ptr->value);
            break;
        case TIFFTAG_JpegProc:
            print_jpegproc(entry_ptr->value);
            break;
        case TIFFTAG_YcbCrPositioning:
            print_ycbcrpositioning(entry_ptr->value);
            break;
        case EXIFTAG_LightSource:
            print_lightsource(entry_ptr->value);
            break;
        case EXIFTAG_Flash:
            print_flash(entry_ptr->value);
            break;
        case  EXIFTAG_FileSource:
            print_filesource(entry_ptr->value);
            break;
        case  EXIFTAG_SceneType:
            print_scenetype(entry_ptr->value);
            break;
        case EXIFTAG_ExifCustomRendered:
            print_custom(entry_ptr->value);
            break;
        case EXIFTAG_ExifExposureMode:
            print_exposuremode(entry_ptr->value);
            break;
        case EXIFTAG_ExifWhiteBalance:
            print_whitebalance(entry_ptr->value);
            break;
        case EXIFTAG_ExifDigitalZoomRatio:
            /* Nothing to do                                          */
            break;
        case EXIFTAG_ExifFocalLengthIn35mmFilm:
            print_35mmfocallength();
            break;
        case EXIFTAG_ExifSceneCaptureType:
            print_capturetype(entry_ptr->value);
            break;
        case EXIFTAG_ExifGainControl:
            print_gaincontrol(entry_ptr->value);
            break;
        case EXIFTAG_ExifContrast:
            print_contrast(entry_ptr->value);
            break;
        case EXIFTAG_ExifSaturation:
            print_saturation(entry_ptr->value);
            break;
        case EXIFTAG_ExifSharpness:
            print_sharpness(entry_ptr->value);
            break;
        case EXIFTAG_ExifSubjectDistanceRange:
            print_subjectdistancerange(entry_ptr->value);
            break;
        case EXIFTAG_ExifImageUniqueId:
            /* Nothing to do                                          */
            break;
        default:
            break;
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movzwl (%rdi), %eax
cmpl $0x9216, %eax           # imm = 0x9216
jg 0x180a0
cmpl $0x212, %eax            # imm = 0x212
jg 0x180ef
cmpl $0x111, %eax            # imm = 0x111
jg 0x181a3
addl $0xffffff02, %eax       # imm = 0xFFFFFF02
cmpl $0x8, %eax
ja 0x184cc
leaq 0x2deea(%rip), %rcx     # 0x45f60
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x4, %rbx
ja 0x186d3
leaq 0x2e065(%rip), %rax     # 0x46100
jmp 0x186a3
cmpl $0xa2ff, %eax           # imm = 0xA2FF
jle 0x1814e
leal -0xa401(%rax), %ecx
cmpl $0xb, %ecx
ja 0x182cf
leaq 0x2deeb(%rip), %rax     # 0x45fac
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x2, %rbx
ja 0x185ce
leaq 0x3fa82(%rip), %rax     # 0x57b68
movq (%rax,%rbx,8), %rdi
jmp 0x186b3
cmpl $0x9100, %eax           # imm = 0x9100
jg 0x181f5
cmpl $0x213, %eax            # imm = 0x213
je 0x1835d
cmpl $0x828e, %eax           # imm = 0x828E
je 0x1830b
cmpl $0x8822, %eax           # imm = 0x8822
jne 0x184cc
movq 0x10(%rdi), %r14
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x96fd
cmpq $0x8, %r14
ja 0x187db
leaq 0x2decf(%rip), %rax     # 0x46008
movslq (%rax,%r14,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x2e24a(%rip), %rdi     # 0x46393
jmp 0x186b3
cmpl $0xa20f, %eax           # imm = 0xA20F
jg 0x18235
cmpl $0x9217, %eax           # imm = 0x9217
je 0x18247
cmpl $0xa001, %eax           # imm = 0xA001
jne 0x184cc
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0xffff, %rbx           # imm = 0xFFFF
leaq 0x2e1c4(%rip), %rax     # 0x4634c
leaq 0x2e1ca(%rip), %rcx     # 0x46359
cmoveq %rax, %rcx
cmpq $0x1, %rbx
leaq 0x30cb6(%rip), %rdi     # 0x48e54
jmp 0x185a8
cmpl $0x127, %eax            # imm = 0x127
jg 0x18268
cmpl $0x112, %eax            # imm = 0x112
je 0x1840f
cmpl $0x11c, %eax            # imm = 0x11C
jne 0x184cc
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x2, %rbx
leaq 0x2e2f1(%rip), %rax     # 0x464cb
leaq 0x2d7c7(%rip), %rcx     # 0x459a8
cmoveq %rax, %rcx
cmpq $0x1, %rbx
leaq 0x2e2cd(%rip), %rdi     # 0x464bd
jmp 0x185a8
leal -0x9207(%rax), %ecx
cmpl $0x9, %ecx
ja 0x18433
leaq 0x2dd79(%rip), %rax     # 0x45f84
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x7, %rbx
jae 0x186dc
leaq 0x2de90(%rip), %rax     # 0x460c0
jmp 0x186a3
cmpl $0xa210, %eax           # imm = 0xA210
je 0x182ab
cmpl $0xa217, %eax           # imm = 0xA217
jne 0x184cc
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x8, %rbx
ja 0x18682
leaq 0x2de79(%rip), %rax     # 0x460dc
jmp 0x186a3
cmpl $0x128, %eax            # imm = 0x128
je 0x182ab
cmpl $0x200, %eax            # imm = 0x200
jne 0x184cc
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0xe, %rbx
leaq 0x2e254(%rip), %rax     # 0x464e4
leaq 0x2d711(%rip), %rcx     # 0x459a8
cmoveq %rax, %rcx
cmpq $0x1, %rbx
leaq 0x2e235(%rip), %rdi     # 0x464db
jmp 0x185a8
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
decq %rbx
cmpq $0x2, %rbx
ja 0x186ac
leaq 0x2ddd6(%rip), %rax     # 0x460a0
jmp 0x186a3
cmpl $0xa300, %eax           # imm = 0xA300
je 0x1868b
cmpl $0xa301, %eax           # imm = 0xA301
jne 0x184cc
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x1, %rbx
leaq 0x2e3a8(%rip), %rax     # 0x466a3
leaq 0x2e39d(%rip), %rdi     # 0x4669f
cmoveq %rax, %rdi
jmp 0x186b3
movq 0x8(%rdi), %r14
movq 0x10(%rdi), %rax
movq %rax, 0x8(%rsp)
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x96fd
testq %r14, %r14
je 0x1834f
xorl %r15d, %r15d
xorl %ebx, %ebx
testq %r15, %r15
je 0x1833c
movl $0x2c, %edi
callq 0x3060
incl %ebx
movzbl 0x8(%rsp,%r15), %edi
callq 0x96c0
incq %r15
cmpq %r15, %r14
jne 0x1832b
xorl %eax, %eax
callq 0x971e
movl %ebx, %edi
jmp 0x184c7
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x2, %rbx
leaq 0x2e183(%rip), %rax     # 0x464f6
leaq 0x2d62e(%rip), %rcx     # 0x459a8
cmoveq %rax, %rcx
cmpq $0x1, %rbx
leaq 0x2e164(%rip), %rdi     # 0x464ed
jmp 0x185a8
movq 0x10(%rdi), %rdi
callq 0x17aaf
testq %rax, %rax
je 0x186f7
movq %rax, %rbx
xorl %eax, %eax
callq 0x96fd
leaq 0x28ce6(%rip), %rdi     # 0x41097
movq %rbx, %rsi
xorl %eax, %eax
callq 0x3120
jmp 0x186ba
testq %rsi, %rsi
je 0x184cc
movq 0x10(%rdi), %rdi
movl 0x14(%rsi), %esi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x187fd
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x2, %rbx
leaq 0x2cd9c(%rip), %rax     # 0x45190
leaq 0x2d5ad(%rip), %rcx     # 0x459a8
cmoveq %rax, %rcx
cmpq $0x1, %rbx
leaq 0x2da99(%rip), %rdi     # 0x45ea3
jmp 0x185a8
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
decq %rbx
cmpq $0x7, %rbx
ja 0x186ac
leaq 0x2dc52(%rip), %rax     # 0x46080
jmp 0x186a3
cmpl $0x9101, %eax           # imm = 0x9101
jne 0x184cc
movq 0x10(%rdi), %rax
movq %rax, 0x8(%rsp)
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x96fd
leaq 0x2db95(%rip), %r14     # 0x45fec
movzbl 0x8(%rsp,%rbx), %eax
cmpq $0x6, %rax
ja 0x1849b
movslq (%r14,%rax,4), %rax
addq %r14, %rax
jmpq *%rax
movl $0x59, %edi
jmp 0x184ae
movl $0x52, %edi
jmp 0x184ae
movl $0x43, %edi
callq 0x3060
movl $0x62, %edi
jmp 0x184ae
movl $0x43, %edi
callq 0x3060
movl $0x72, %edi
jmp 0x184ae
movl $0x2e, %edi
jmp 0x184ae
movl $0x47, %edi
jmp 0x184ae
movl $0x42, %edi
callq 0x3060
incq %rbx
cmpl $0x4, %ebx
jne 0x18457
xorl %eax, %eax
callq 0x971e
movl $0x4, %edi
callq 0x17a82
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
decq %rbx
cmpq $0x2, %rbx
ja 0x185ce
leaq 0x2dcd3(%rip), %rax     # 0x461c8
jmp 0x186a3
leaq 0x36205(%rip), %rdi     # 0x4e706
xorl %eax, %eax
callq 0x3120
movl $0x2, %edi
jmp 0x186c5
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x1, %rbx
leaq 0x2df2e(%rip), %rax     # 0x46456
leaq 0x2cb9d(%rip), %rcx     # 0x450cc
cmoveq %rax, %rcx
testq %rbx, %rbx
leaq 0x332bd(%rip), %rdi     # 0x4b7fa
jmp 0x185a8
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x2, %rbx
ja 0x185ce
leaq 0x2dc35(%rip), %rax     # 0x4618c
jmp 0x186a3
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x3, %rbx
ja 0x18682
leaq 0x2dc20(%rip), %rax     # 0x46198
jmp 0x186a3
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x1, %rbx
leaq 0x35a87(%rip), %rax     # 0x4e01a
leaq 0x2ddbf(%rip), %rcx     # 0x46359
cmoveq %rax, %rcx
testq %rbx, %rbx
leaq 0x32e51(%rip), %rdi     # 0x4b3f9
cmovneq %rcx, %rdi
jmp 0x186b3
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x2, %rbx
ja 0x185ce
leaq 0x2dbf3(%rip), %rax     # 0x461bc
jmp 0x186a3
leaq 0x2caf7(%rip), %rdi     # 0x450cc
jmp 0x186b3
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x4, %rbx
ja 0x18682
leaq 0x2dbb2(%rip), %rax     # 0x461a8
jmp 0x186a3
movq 0x10(%rdi), %r14
xorl %eax, %eax
callq 0x96fd
testb $0x1, %r14b
leaq 0x2dfc2(%rip), %rax     # 0x465d3
leaq 0x2dfaf(%rip), %rdi     # 0x465c7
cmoveq %rax, %rdi
xorl %eax, %eax
callq 0x3120
movl %eax, %ebx
movl %r14d, %eax
shrl %eax
andl $0x3, %eax
cmpl $0x2, %eax
je 0x186fb
cmpl $0x3, %eax
jne 0x1870b
leaq 0x2dfad(%rip), %rdi     # 0x465f3
jmp 0x18702
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
decq %rbx
cmpq $0x4, %rbx
ja 0x186ac
leaq 0x2da46(%rip), %rax     # 0x460ac
jmp 0x186a3
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x19, %rbx
ja 0x18682
leaq 0x2da94(%rip), %rax     # 0x46114
jmp 0x186a3
leaq 0x2dcd0(%rip), %rdi     # 0x46359
jmp 0x186b3
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x96fd
cmpq $0x3, %rbx
ja 0x186ac
leaq 0x2dad9(%rip), %rax     # 0x4617c
movslq (%rax,%rbx,4), %rdi
addq %rax, %rdi
jmp 0x186b3
leaq 0x307b6(%rip), %rdi     # 0x48e69
xorl %eax, %eax
callq 0x3120
movl %eax, %ebx
xorl %eax, %eax
callq 0x971e
movl %ebx, %edi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x17a82
leaq 0x2d2ce(%rip), %rdi     # 0x459a8
jmp 0x186b3
cmpq $0xff, %rbx
leaq 0x2dc6f(%rip), %rax     # 0x46359
leaq 0x2dc9c(%rip), %rdi     # 0x4638d
cmovbq %rax, %rdi
jmp 0x186b3
xorl %ebx, %ebx
jmp 0x186c3
leaq 0x2deda(%rip), %rdi     # 0x465dc
xorl %eax, %eax
callq 0x3120
addl %eax, %ebx
movl %r14d, %eax
shrl $0x3, %eax
andl $0x3, %eax
leaq 0x2d8c1(%rip), %rcx     # 0x45fdc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x2dedb(%rip), %rdi     # 0x46606
jmp 0x1873d
leaq 0x2dee0(%rip), %rdi     # 0x46614
jmp 0x1873d
leaq 0x2dee5(%rip), %rdi     # 0x46622
xorl %eax, %eax
callq 0x3120
addl %eax, %ebx
testb $0x20, %r14b
je 0x1875c
leaq 0x2ded7(%rip), %rdi     # 0x4662a
xorl %eax, %eax
callq 0x3120
addl %eax, %ebx
testb $0x40, %r14b
je 0x186bc
leaq 0x2deda(%rip), %rdi     # 0x46647
xorl %eax, %eax
callq 0x3120
addl %eax, %ebx
jmp 0x186bc
leaq 0x2dced(%rip), %rdi     # 0x4646f
jmp 0x186b3
leaq 0x32c6b(%rip), %rdi     # 0x4b3f9
jmp 0x186b3
leaq 0x2dcc3(%rip), %rdi     # 0x4645d
jmp 0x186b3
leaq 0x2dcfa(%rip), %rdi     # 0x464a0
jmp 0x186b3
leaq 0x2dca4(%rip), %rdi     # 0x46456
jmp 0x186b3
leaq 0x2dcc2(%rip), %rdi     # 0x46480
jmp 0x186b3
leaq 0x2dcc7(%rip), %rdi     # 0x46491
jmp 0x186b3
leaq 0x2dcd8(%rip), %rdi     # 0x464ae
jmp 0x186b3
cmpq $0xfe, %r14
ja 0x186bc
leaq 0x2db6a(%rip), %rdi     # 0x46359
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x3120
jmp 0x186bc