// File: /workspace/github_c_makefile_star2_O1/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 0x307d6
leaq 0x27d90(%rip), %rax     # 0x58180
testb $0x30, (%rax)
je 0x307d6
movq %rdi, %r14
movzwl (%rdi), %eax
cmpl $0x102f, %eax           # imm = 0x102F
jg 0x30467
cmpl $0x100f, %eax           # imm = 0x100F
jg 0x30494
addl $0xffffefff, %eax       # imm = 0xFFFFEFFF
cmpl $0x3, %eax
ja 0x307d6
leaq 0x1adde(%rip), %rcx     # 0x4b204
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
cmpq $0x200, %rax            # imm = 0x200
je 0x30671
cmpq $0x100, %rax            # imm = 0x100
je 0x306ad
testq %rax, %rax
jne 0x30743
leaq 0x1621b(%rip), %rdi     # 0x4667d
jmp 0x307c6
cmpl $0x12ff, %eax           # imm = 0x12FF
jg 0x304d4
cmpl $0x1030, %eax           # imm = 0x1030
je 0x30516
cmpl $0x1031, %eax           # imm = 0x1031
je 0x3060a
cmpl $0x1100, %eax           # imm = 0x1100
je 0x30516
jmp 0x307d6
cmpl $0x1010, %eax           # imm = 0x1010
je 0x305ba
cmpl $0x1020, %eax           # imm = 0x1020
je 0x30516
cmpl $0x1021, %eax           # imm = 0x1021
jne 0x307d6
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
cmpq $0x1, %rax
je 0x306ea
testq %rax, %rax
je 0x3063b
jmp 0x30743
cmpl $0x1300, %eax           # imm = 0x1300
je 0x305ed
cmpl $0x1301, %eax           # imm = 0x1301
je 0x30647
cmpl $0x1302, %eax           # imm = 0x1302
jne 0x307d6
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
cmpq $0x1, %rax
jne 0x3065c
leaq 0x1aec7(%rip), %rdi     # 0x4b3d8
jmp 0x307c6
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
cmpq $0x1, %rax
je 0x305e1
testq %rax, %rax
jne 0x30743
leaq 0x1ab1f(%rip), %rdi     # 0x4b05a
jmp 0x307c6
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
decq %rax
cmpq $0x4, %rax
ja 0x306b9
leaq 0x1acdf(%rip), %rcx     # 0x4b240
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1e1c4(%rip), %rdi     # 0x4e735
jmp 0x307c6
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
cmpq $0x300, %rax            # imm = 0x300
jg 0x3067d
cmpq $0x1ff, %rax            # imm = 0x1FF
jg 0x3070e
testq %rax, %rax
je 0x3063b
cmpq $0x100, %rax            # imm = 0x100
jne 0x30743
leaq 0x1d966(%rip), %rdi     # 0x4df1b
jmp 0x307c6
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
cmpq $0x3, %rax
ja 0x306b9
leaq 0x1ac58(%rip), %rcx     # 0x4b230
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1aa79(%rip), %rdi     # 0x4b061
jmp 0x307c6
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
cmpq $0x1, %rax
jne 0x3065c
leaq 0x1adbe(%rip), %rdi     # 0x4b3c3
jmp 0x307c6
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
cmpq $0xff, %rax
jg 0x306ca
cmpq $0x6, %rax
ja 0x30743
leaq 0x1abe2(%rip), %rcx     # 0x4b214
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1b178(%rip), %rdi     # 0x4b7ba
jmp 0x307c6
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
cmpq $0x1, %rax
je 0x30702
testq %rax, %rax
jne 0x30743
leaq 0x1ad54(%rip), %rdi     # 0x4b3c0
jmp 0x307c6
leaq 0x1e0a6(%rip), %rdi     # 0x4e71e
jmp 0x307c6
cmpq $0x3ff, %rax            # imm = 0x3FF
jg 0x30727
cmpq $0x301, %rax            # imm = 0x301
je 0x30765
cmpq $0x302, %rax            # imm = 0x302
jne 0x30743
leaq 0x1ace3(%rip), %rdi     # 0x4b38b
jmp 0x3076c
leaq 0x1e075(%rip), %rdi     # 0x4e729
jmp 0x307c6
leaq 0x18769(%rip), %rdi     # 0x48e29
callq 0x5c33
jmp 0x307cf
cmpq $0x100, %rax            # imm = 0x100
je 0x307b6
cmpq $0x200, %rax            # imm = 0x200
je 0x307bf
cmpq $0x300, %rax            # imm = 0x300
jne 0x30743
leaq 0x15d25(%rip), %rdi     # 0x46416
jmp 0x307c6
leaq 0x1e044(%rip), %rdi     # 0x4e741
jmp 0x307c6
leaq 0x1acc2(%rip), %rdi     # 0x4b3cb
jmp 0x307c6
cmpq $0x200, %rax            # imm = 0x200
je 0x30777
cmpq $0x300, %rax            # imm = 0x300
jne 0x30743
leaq 0x1ac32(%rip), %rdi     # 0x4b357
jmp 0x3076c
cmpq $0x400, %rax            # imm = 0x400
je 0x30780
cmpq $0xf00, %rax            # imm = 0xF00
jne 0x30743
leaq 0x1d89c(%rip), %rdi     # 0x4dfda
jmp 0x307c6
leaq 0x186df(%rip), %rdi     # 0x48e29
callq 0x5c33
xorl %ebx, %ebx
jmp 0x307cf
leaq 0x1ac43(%rip), %rdi     # 0x4b39d
jmp 0x307c6
leaq 0x1ac56(%rip), %rdi     # 0x4b3b9
jmp 0x307c6
leaq 0x1ac05(%rip), %rdi     # 0x4b371
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x3120
jmp 0x307cf
leaq 0x1d7c4(%rip), %rdi     # 0x4df42
jmp 0x307c6
leaq 0x19cc9(%rip), %rdi     # 0x4a450
jmp 0x307c6
leaq 0x1ac1b(%rip), %rdi     # 0x4b3ab
jmp 0x307c6
leaq 0x15eed(%rip), %rdi     # 0x46686
jmp 0x307c6
leaq 0x1ac02(%rip), %rdi     # 0x4b3a4
jmp 0x307c6
leaq 0x1b8d5(%rip), %rdi     # 0x4c080
jmp 0x307c6
leaq 0x1abfd(%rip), %rdi     # 0x4b3b1
jmp 0x307c6
leaq 0x15c60(%rip), %rdi     # 0x4641d
jmp 0x307c6
leaq 0x15c69(%rip), %rdi     # 0x4642f
xorl %eax, %eax
callq 0x3120
movl %eax, %ebx
xorl %eax, %eax
callq 0x95f3
movl %ebx, %edi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x17530