// File: /workspace/github_c_makefile_star2_O3/hfiguiere[P]exifprobe/maker_fujifilm.c
// Function: fujifilm1_interpret_value
void
fujifilm1_interpret_value(struct ifd_entry *entry_ptr)
{
    int chpr = 0;

    if(entry_ptr && (PRINT_VALUE))
    {
        switch(entry_ptr->tag)
        {
            case 0x1001:    /* Sharpness */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("Soft"); break;
                    case 2: chpr += printf("Soft"); break;
                    case 3: chpr += printf("Normal"); break;
                    case 4: chpr += printf("Hard"); break;
                    case 5: chpr += printf("Hard"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x1002:    /* White Balance */
                print_startvalue();
                /* I think we're looking at a bit mask here, but I have   */
                /* no way to check; this is the way Tachibanaya           */
                /* characterizes it.                                      */
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Auto"); break;
                    case 256: chpr += printf("Daylight"); break;
                    case 512: chpr += printf("Cloudy"); break;
                    case 768:   /* ???? */ printf("DaylightColor-Fluorescent"); break;
                    case 769:   /* ???? */ printf("DaywhiteColor-Fluorescent"); break;
                    case 770:   /* ???? */ printf("White-Fluorescent"); break;
                    case 1024: chpr += printf("Incandescent"); break;
                    case 3840: chpr += printf("Custom"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x1003:    /* Color Saturation */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Standard"); break;
                    case 256: chpr += printf("High"); break;
                    case 512: chpr += printf("Low"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x1004:    /* Tone */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Standard"); break;
                    case 256: chpr += printf("High"); break;
                    case 512: chpr += printf("Low"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x1010:    /* Flash Mode */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Auto"); break;
                    case 1: chpr += printf("On"); break;
                    case 2: chpr += printf("Off"); break;
                    case 3: chpr += printf("Redeye"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x1020:    /* Macro Mode */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Off"); break;
                    case 1: chpr += printf("On"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x1021:    /* Focusing Mode */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Auto"); break;
                    case 1: chpr += printf("Manual"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x1030:    /* Slow Sync */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Off"); break;
                    case 1: chpr += printf("On"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x1031:    /* Picture Mode */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Auto"); break;
                    case 1: chpr += printf("Portrait"); break;
                    case 2: chpr += printf("Landscape"); break;
                    case 4: chpr += printf("Sports"); break;
                    case 5: chpr += printf("Night"); break;
                    case 6: chpr += printf("Program Normal"); break;
                    case 256: chpr += printf("Aperture Priority"); break;
                    case 512: chpr += printf("Shutter Priority"); break;
                    case 768: chpr += printf("Manual"); break;
                    default: printred("undefined"); }
                print_endvalue();
                break;
            case 0x1100:    /* Continuous Take/Bracket */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Off"); break;
                    case 1: chpr += printf("On"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x1300:    /* Blur Warning */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Ok"); break;
                    case 1: chpr += printf("Blurred"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x1301:    /* Focus Warning */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Ok"); break;
                    case 1: chpr += printf("Out of focus"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x1302:    /* AE Warning */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Ok"); break;
                    case 1: chpr += printf("Overexposed"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            default:
                break;
        }
    }
    setcharsprinted(chpr);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
xorl %ebx, %ebx
testq %rdi, %rdi
je 0x3106a
leaq 0x274fc(%rip), %rax     # 0x58180
testb $0x30, (%rax)
je 0x3106a
movq %rdi, %r14
movzwl (%rdi), %eax
cmpl $0x102f, %eax           # imm = 0x102F
jg 0x30cfb
cmpl $0x100f, %eax           # imm = 0x100F
jg 0x30d28
addl $0xffffefff, %eax       # imm = 0xFFFFEFFF
cmpl $0x3, %eax
ja 0x3106a
leaq 0x1a58a(%rip), %rcx     # 0x4b244
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
cmpq $0x200, %rax            # imm = 0x200
je 0x30f05
cmpq $0x100, %rax            # imm = 0x100
je 0x30f41
testq %rax, %rax
jne 0x30fd7
leaq 0x159c7(%rip), %rdi     # 0x466bd
jmp 0x3105a
cmpl $0x12ff, %eax           # imm = 0x12FF
jg 0x30d68
cmpl $0x1030, %eax           # imm = 0x1030
je 0x30daa
cmpl $0x1031, %eax           # imm = 0x1031
je 0x30e9e
cmpl $0x1100, %eax           # imm = 0x1100
je 0x30daa
jmp 0x3106a
cmpl $0x1010, %eax           # imm = 0x1010
je 0x30e4e
cmpl $0x1020, %eax           # imm = 0x1020
je 0x30daa
cmpl $0x1021, %eax           # imm = 0x1021
jne 0x3106a
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
cmpq $0x1, %rax
je 0x30f7e
testq %rax, %rax
je 0x30ecf
jmp 0x30fd7
cmpl $0x1300, %eax           # imm = 0x1300
je 0x30e81
cmpl $0x1301, %eax           # imm = 0x1301
je 0x30edb
cmpl $0x1302, %eax           # imm = 0x1302
jne 0x3106a
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
cmpq $0x1, %rax
jne 0x30ef0
leaq 0x1a673(%rip), %rdi     # 0x4b418
jmp 0x3105a
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
cmpq $0x1, %rax
je 0x30e75
testq %rax, %rax
jne 0x30fd7
leaq 0x1a2cb(%rip), %rdi     # 0x4b09a
jmp 0x3105a
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
decq %rax
cmpq $0x4, %rax
ja 0x30f4d
leaq 0x1a48b(%rip), %rcx     # 0x4b280
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1d970(%rip), %rdi     # 0x4e775
jmp 0x3105a
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
cmpq $0x300, %rax            # imm = 0x300
jg 0x30f11
cmpq $0x1ff, %rax            # imm = 0x1FF
jg 0x30fa2
testq %rax, %rax
je 0x30ecf
cmpq $0x100, %rax            # imm = 0x100
jne 0x30fd7
leaq 0x1d112(%rip), %rdi     # 0x4df5b
jmp 0x3105a
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
cmpq $0x3, %rax
ja 0x30f4d
leaq 0x1a404(%rip), %rcx     # 0x4b270
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1a225(%rip), %rdi     # 0x4b0a1
jmp 0x3105a
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
cmpq $0x1, %rax
jne 0x30ef0
leaq 0x1a56a(%rip), %rdi     # 0x4b403
jmp 0x3105a
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
cmpq $0xff, %rax
jg 0x30f5e
cmpq $0x6, %rax
ja 0x30fd7
leaq 0x1a38e(%rip), %rcx     # 0x4b254
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1a924(%rip), %rdi     # 0x4b7fa
jmp 0x3105a
xorl %eax, %eax
callq 0x96fd
movq 0x10(%r14), %rax
cmpq $0x1, %rax
je 0x30f96
testq %rax, %rax
jne 0x30fd7
leaq 0x1a500(%rip), %rdi     # 0x4b400
jmp 0x3105a
leaq 0x1d852(%rip), %rdi     # 0x4e75e
jmp 0x3105a
cmpq $0x3ff, %rax            # imm = 0x3FF
jg 0x30fbb
cmpq $0x301, %rax            # imm = 0x301
je 0x30ff9
cmpq $0x302, %rax            # imm = 0x302
jne 0x30fd7
leaq 0x1a48f(%rip), %rdi     # 0x4b3cb
jmp 0x31000
leaq 0x1d821(%rip), %rdi     # 0x4e769
jmp 0x3105a
leaq 0x17f15(%rip), %rdi     # 0x48e69
callq 0x5c26
jmp 0x31063
cmpq $0x100, %rax            # imm = 0x100
je 0x3104a
cmpq $0x200, %rax            # imm = 0x200
je 0x31053
cmpq $0x300, %rax            # imm = 0x300
jne 0x30fd7
leaq 0x154d1(%rip), %rdi     # 0x46456
jmp 0x3105a
leaq 0x1d7f0(%rip), %rdi     # 0x4e781
jmp 0x3105a
leaq 0x1a46e(%rip), %rdi     # 0x4b40b
jmp 0x3105a
cmpq $0x200, %rax            # imm = 0x200
je 0x3100b
cmpq $0x300, %rax            # imm = 0x300
jne 0x30fd7
leaq 0x1a3de(%rip), %rdi     # 0x4b397
jmp 0x31000
cmpq $0x400, %rax            # imm = 0x400
je 0x31014
cmpq $0xf00, %rax            # imm = 0xF00
jne 0x30fd7
leaq 0x1d048(%rip), %rdi     # 0x4e01a
jmp 0x3105a
leaq 0x17e8b(%rip), %rdi     # 0x48e69
callq 0x5c26
xorl %ebx, %ebx
jmp 0x31063
leaq 0x1a3ef(%rip), %rdi     # 0x4b3dd
jmp 0x3105a
leaq 0x1a402(%rip), %rdi     # 0x4b3f9
jmp 0x3105a
leaq 0x1a3b1(%rip), %rdi     # 0x4b3b1
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x3120
jmp 0x31063
leaq 0x1cf70(%rip), %rdi     # 0x4df82
jmp 0x3105a
leaq 0x19475(%rip), %rdi     # 0x4a490
jmp 0x3105a
leaq 0x1a3c7(%rip), %rdi     # 0x4b3eb
jmp 0x3105a
leaq 0x15699(%rip), %rdi     # 0x466c6
jmp 0x3105a
leaq 0x1a3ae(%rip), %rdi     # 0x4b3e4
jmp 0x3105a
leaq 0x1b081(%rip), %rdi     # 0x4c0c0
jmp 0x3105a
leaq 0x1a3a9(%rip), %rdi     # 0x4b3f1
jmp 0x3105a
leaq 0x1540c(%rip), %rdi     # 0x4645d
jmp 0x3105a
leaq 0x15415(%rip), %rdi     # 0x4646f
xorl %eax, %eax
callq 0x3120
movl %eax, %ebx
xorl %eax, %eax
callq 0x971e
movl %ebx, %edi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x17a82