// File: /workspace/github_c_makefile_star2_O1/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 0x17b4c
cmpl $0x212, %eax            # imm = 0x212
jg 0x17b9b
cmpl $0x111, %eax            # imm = 0x111
jg 0x17c4f
addl $0xffffff02, %eax       # imm = 0xFFFFFF02
cmpl $0x8, %eax
ja 0x17f78
leaq 0x2e3fa(%rip), %rcx     # 0x45f1c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x4, %rbx
ja 0x1817c
leaq 0x2e575(%rip), %rax     # 0x460bc
jmp 0x1814c
cmpl $0xa2ff, %eax           # imm = 0xA2FF
jle 0x17bfa
leal -0xa401(%rax), %ecx
cmpl $0xb, %ecx
ja 0x17d7b
leaq 0x2e3fb(%rip), %rax     # 0x45f68
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x2, %rbx
ja 0x18077
leaq 0x3ffd6(%rip), %rax     # 0x57b68
movq (%rax,%rbx,8), %rdi
jmp 0x1815c
cmpl $0x9100, %eax           # imm = 0x9100
jg 0x17ca1
cmpl $0x213, %eax            # imm = 0x213
je 0x17e09
cmpl $0x828e, %eax           # imm = 0x828E
je 0x17db7
cmpl $0x8822, %eax           # imm = 0x8822
jne 0x17f78
movq 0x10(%rdi), %r14
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x95d2
cmpq $0x8, %r14
ja 0x18284
leaq 0x2e3df(%rip), %rax     # 0x45fc4
movslq (%rax,%r14,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x2e75e(%rip), %rdi     # 0x46353
jmp 0x1815c
cmpl $0xa20f, %eax           # imm = 0xA20F
jg 0x17ce1
cmpl $0x9217, %eax           # imm = 0x9217
je 0x17cf3
cmpl $0xa001, %eax           # imm = 0xA001
jne 0x17f78
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0xffff, %rbx           # imm = 0xFFFF
leaq 0x2e6d8(%rip), %rax     # 0x4630c
leaq 0x2e6de(%rip), %rcx     # 0x46319
cmoveq %rax, %rcx
cmpq $0x1, %rbx
leaq 0x311ca(%rip), %rdi     # 0x48e14
jmp 0x18051
cmpl $0x127, %eax            # imm = 0x127
jg 0x17d14
cmpl $0x112, %eax            # imm = 0x112
je 0x17ebb
cmpl $0x11c, %eax            # imm = 0x11C
jne 0x17f78
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x2, %rbx
leaq 0x2e805(%rip), %rax     # 0x4648b
leaq 0x2dcd7(%rip), %rcx     # 0x45964
cmoveq %rax, %rcx
cmpq $0x1, %rbx
leaq 0x2e7e1(%rip), %rdi     # 0x4647d
jmp 0x18051
leal -0x9207(%rax), %ecx
cmpl $0x9, %ecx
ja 0x17edf
leaq 0x2e289(%rip), %rax     # 0x45f40
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x7, %rbx
jae 0x18185
leaq 0x2e3a0(%rip), %rax     # 0x4607c
jmp 0x1814c
cmpl $0xa210, %eax           # imm = 0xA210
je 0x17d57
cmpl $0xa217, %eax           # imm = 0xA217
jne 0x17f78
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x8, %rbx
ja 0x1812b
leaq 0x2e389(%rip), %rax     # 0x46098
jmp 0x1814c
cmpl $0x128, %eax            # imm = 0x128
je 0x17d57
cmpl $0x200, %eax            # imm = 0x200
jne 0x17f78
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0xe, %rbx
leaq 0x2e768(%rip), %rax     # 0x464a4
leaq 0x2dc21(%rip), %rcx     # 0x45964
cmoveq %rax, %rcx
cmpq $0x1, %rbx
leaq 0x2e749(%rip), %rdi     # 0x4649b
jmp 0x18051
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
decq %rbx
cmpq $0x2, %rbx
ja 0x18155
leaq 0x2e2e6(%rip), %rax     # 0x4605c
jmp 0x1814c
cmpl $0xa300, %eax           # imm = 0xA300
je 0x18134
cmpl $0xa301, %eax           # imm = 0xA301
jne 0x17f78
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x1, %rbx
leaq 0x2e8bc(%rip), %rax     # 0x46663
leaq 0x2e8b1(%rip), %rdi     # 0x4665f
cmoveq %rax, %rdi
jmp 0x1815c
movq 0x8(%rdi), %r14
movq 0x10(%rdi), %rax
movq %rax, 0x8(%rsp)
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x95d2
testq %r14, %r14
je 0x17dfb
xorl %r15d, %r15d
xorl %ebx, %ebx
testq %r15, %r15
je 0x17de8
movl $0x2c, %edi
callq 0x3060
incl %ebx
movzbl 0x8(%rsp,%r15), %edi
callq 0x9595
incq %r15
cmpq %r15, %r14
jne 0x17dd7
xorl %eax, %eax
callq 0x95f3
movl %ebx, %edi
jmp 0x17f73
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x2, %rbx
leaq 0x2e697(%rip), %rax     # 0x464b6
leaq 0x2db3e(%rip), %rcx     # 0x45964
cmoveq %rax, %rcx
cmpq $0x1, %rbx
leaq 0x2e678(%rip), %rdi     # 0x464ad
jmp 0x18051
movq 0x10(%rdi), %rdi
callq 0x1755d
testq %rax, %rax
je 0x181a0
movq %rax, %rbx
xorl %eax, %eax
callq 0x95d2
leaq 0x2923a(%rip), %rdi     # 0x41097
movq %rbx, %rsi
xorl %eax, %eax
callq 0x3120
jmp 0x18163
testq %rsi, %rsi
je 0x17f78
movq 0x10(%rdi), %rdi
movl 0x14(%rsi), %esi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x182a6
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x2, %rbx
leaq 0x2d2ac(%rip), %rax     # 0x4514c
leaq 0x2dabd(%rip), %rcx     # 0x45964
cmoveq %rax, %rcx
cmpq $0x1, %rbx
leaq 0x2dfa9(%rip), %rdi     # 0x45e5f
jmp 0x18051
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
decq %rbx
cmpq $0x7, %rbx
ja 0x18155
leaq 0x2e162(%rip), %rax     # 0x4603c
jmp 0x1814c
cmpl $0x9101, %eax           # imm = 0x9101
jne 0x17f78
movq 0x10(%rdi), %rax
movq %rax, 0x8(%rsp)
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x95d2
leaq 0x2e0a5(%rip), %r14     # 0x45fa8
movzbl 0x8(%rsp,%rbx), %eax
cmpq $0x6, %rax
ja 0x17f47
movslq (%r14,%rax,4), %rax
addq %r14, %rax
jmpq *%rax
movl $0x59, %edi
jmp 0x17f5a
movl $0x52, %edi
jmp 0x17f5a
movl $0x43, %edi
callq 0x3060
movl $0x62, %edi
jmp 0x17f5a
movl $0x43, %edi
callq 0x3060
movl $0x72, %edi
jmp 0x17f5a
movl $0x2e, %edi
jmp 0x17f5a
movl $0x47, %edi
jmp 0x17f5a
movl $0x42, %edi
callq 0x3060
incq %rbx
cmpl $0x4, %ebx
jne 0x17f03
xorl %eax, %eax
callq 0x95f3
movl $0x4, %edi
callq 0x17530
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x3, %rbx
ja 0x18077
leaq 0x2e1e6(%rip), %rax     # 0x46184
jmp 0x1814c
leaq 0x3671c(%rip), %rdi     # 0x4e6c6
xorl %eax, %eax
callq 0x3120
movl $0x2, %edi
jmp 0x1816e
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x1, %rbx
leaq 0x2e445(%rip), %rax     # 0x46416
leaq 0x2d0b0(%rip), %rcx     # 0x45088
cmoveq %rax, %rcx
testq %rbx, %rbx
leaq 0x337d4(%rip), %rdi     # 0x4b7ba
jmp 0x18051
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x2, %rbx
ja 0x18077
leaq 0x2e148(%rip), %rax     # 0x46148
jmp 0x1814c
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x3, %rbx
ja 0x1812b
leaq 0x2e133(%rip), %rax     # 0x46154
jmp 0x1814c
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x1, %rbx
leaq 0x35f9e(%rip), %rax     # 0x4dfda
leaq 0x2e2d6(%rip), %rcx     # 0x46319
cmoveq %rax, %rcx
testq %rbx, %rbx
leaq 0x33368(%rip), %rdi     # 0x4b3b9
cmovneq %rcx, %rdi
jmp 0x1815c
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x2, %rbx
ja 0x18077
leaq 0x2e106(%rip), %rax     # 0x46178
jmp 0x1814c
leaq 0x2d00a(%rip), %rdi     # 0x45088
jmp 0x1815c
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x4, %rbx
ja 0x1812b
leaq 0x2e0c5(%rip), %rax     # 0x46164
jmp 0x1814c
movq 0x10(%rdi), %r14
xorl %eax, %eax
callq 0x95d2
testb $0x1, %r14b
leaq 0x2e4d9(%rip), %rax     # 0x46593
leaq 0x2e4c6(%rip), %rdi     # 0x46587
cmoveq %rax, %rdi
xorl %eax, %eax
callq 0x3120
movl %eax, %ebx
movl %r14d, %eax
shrl %eax
andl $0x3, %eax
cmpl $0x2, %eax
je 0x181a4
cmpl $0x3, %eax
jne 0x181b4
leaq 0x2e4c4(%rip), %rdi     # 0x465b3
jmp 0x181ab
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
decq %rbx
cmpq $0x4, %rbx
ja 0x18155
leaq 0x2df59(%rip), %rax     # 0x46068
jmp 0x1814c
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x19, %rbx
ja 0x1812b
leaq 0x2dfa7(%rip), %rax     # 0x460d0
jmp 0x1814c
leaq 0x2e1e7(%rip), %rdi     # 0x46319
jmp 0x1815c
movq 0x10(%rdi), %rbx
xorl %eax, %eax
callq 0x95d2
cmpq $0x3, %rbx
ja 0x18155
leaq 0x2dfec(%rip), %rax     # 0x46138
movslq (%rax,%rbx,4), %rdi
addq %rax, %rdi
jmp 0x1815c
leaq 0x30ccd(%rip), %rdi     # 0x48e29
xorl %eax, %eax
callq 0x3120
movl %eax, %ebx
xorl %eax, %eax
callq 0x95f3
movl %ebx, %edi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x17530
leaq 0x2d7e1(%rip), %rdi     # 0x45964
jmp 0x1815c
cmpq $0xff, %rbx
leaq 0x2e186(%rip), %rax     # 0x46319
leaq 0x2e1b3(%rip), %rdi     # 0x4634d
cmovbq %rax, %rdi
jmp 0x1815c
xorl %ebx, %ebx
jmp 0x1816c
leaq 0x2e3f1(%rip), %rdi     # 0x4659c
xorl %eax, %eax
callq 0x3120
addl %eax, %ebx
movl %r14d, %eax
shrl $0x3, %eax
andl $0x3, %eax
leaq 0x2ddd4(%rip), %rcx     # 0x45f98
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x2e3f2(%rip), %rdi     # 0x465c6
jmp 0x181e6
leaq 0x2e3f7(%rip), %rdi     # 0x465d4
jmp 0x181e6
leaq 0x2e3fc(%rip), %rdi     # 0x465e2
xorl %eax, %eax
callq 0x3120
addl %eax, %ebx
testb $0x20, %r14b
je 0x18205
leaq 0x2e3ee(%rip), %rdi     # 0x465ea
xorl %eax, %eax
callq 0x3120
addl %eax, %ebx
testb $0x40, %r14b
je 0x18165
leaq 0x2e3f1(%rip), %rdi     # 0x46607
xorl %eax, %eax
callq 0x3120
addl %eax, %ebx
jmp 0x18165
leaq 0x2e204(%rip), %rdi     # 0x4642f
jmp 0x1815c
leaq 0x33182(%rip), %rdi     # 0x4b3b9
jmp 0x1815c
leaq 0x2e1da(%rip), %rdi     # 0x4641d
jmp 0x1815c
leaq 0x2e211(%rip), %rdi     # 0x46460
jmp 0x1815c
leaq 0x2e1bb(%rip), %rdi     # 0x46416
jmp 0x1815c
leaq 0x2e1d9(%rip), %rdi     # 0x46440
jmp 0x1815c
leaq 0x2e1de(%rip), %rdi     # 0x46451
jmp 0x1815c
leaq 0x2e1ef(%rip), %rdi     # 0x4646e
jmp 0x1815c
cmpq $0xfe, %r14
ja 0x18165
leaq 0x2e081(%rip), %rdi     # 0x46319
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x3120
jmp 0x18165