// File: /workspace/github_c_makefile_star2_O2/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 0x2f6af
leaq 0x27e6c(%rip), %rax     # 0x57180
testb $0x30, (%rax)
je 0x2f6af
movq %rdi, %r14
movzwl (%rdi), %eax
leal -0x1001(%rax), %ecx
cmpl $0x3, %ecx
jbe 0x2f3b6
cmpl $0x1010, %eax           # imm = 0x1010
je 0x2f4c9
cmpl $0x1020, %eax           # imm = 0x1020
je 0x2f3fe
cmpl $0x1021, %eax           # imm = 0x1021
je 0x2f543
cmpl $0x1030, %eax           # imm = 0x1030
je 0x2f3fe
cmpl $0x1031, %eax           # imm = 0x1031
je 0x2f56d
cmpl $0x1100, %eax           # imm = 0x1100
je 0x2f3fe
cmpl $0x1300, %eax           # imm = 0x1300
je 0x2f519
cmpl $0x1301, %eax           # imm = 0x1301
je 0x2f4fc
cmpl $0x1302, %eax           # imm = 0x1302
jne 0x2f6af
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
cmpq $0x1, %rax
jne 0x2f52e
leaq 0x1a017(%rip), %rdi     # 0x493c8
jmp 0x2f69f
leaq 0x19e37(%rip), %rax     # 0x491f4
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
cmpq $0x200, %rax            # imm = 0x200
je 0x2f5a6
cmpq $0x100, %rax            # imm = 0x100
je 0x2f59a
testq %rax, %rax
jne 0x2f5ef
leaq 0x15274(%rip), %rdi     # 0x4466d
jmp 0x2f69f
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
cmpq $0x1, %rax
je 0x2f4f0
testq %rax, %rax
jne 0x2f5ef
leaq 0x19c27(%rip), %rdi     # 0x4904a
jmp 0x2f69f
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
decq %rax
cmpq $0x4, %rax
ja 0x2f5b2
leaq 0x19de7(%rip), %rcx     # 0x49230
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1d2cc(%rip), %rdi     # 0x4c725
jmp 0x2f69f
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
cmpq $0xf00, %rax            # imm = 0xF00
je 0x2f662
cmpq $0x100, %rax            # imm = 0x100
je 0x2f63e
cmpq $0x200, %rax            # imm = 0x200
je 0x2f659
cmpq $0x300, %rax            # imm = 0x300
je 0x2f647
cmpq $0x301, %rax            # imm = 0x301
je 0x2f62c
cmpq $0x302, %rax            # imm = 0x302
je 0x2f635
cmpq $0x400, %rax            # imm = 0x400
jne 0x2f558
leaq 0x18f7c(%rip), %rdi     # 0x48440
jmp 0x2f69f
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
cmpq $0x3, %rax
ja 0x2f5b2
leaq 0x19d39(%rip), %rcx     # 0x49220
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x19b5a(%rip), %rdi     # 0x49051
jmp 0x2f69f
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
cmpq $0x1, %rax
jne 0x2f52e
leaq 0x19ea7(%rip), %rdi     # 0x493bb
jmp 0x2f69f
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
cmpq $0x1, %rax
je 0x2f60e
testq %rax, %rax
jne 0x2f5ef
leaq 0x19e72(%rip), %rdi     # 0x493b0
jmp 0x2f69f
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
cmpq $0x1, %rax
je 0x2f5e3
testq %rax, %rax
jne 0x2f5ef
leaq 0x1a242(%rip), %rdi     # 0x497aa
jmp 0x2f69f
xorl %eax, %eax
callq 0x8f81
movq 0x10(%r14), %rax
cmpq $0x6, %rax
ja 0x2f5c3
leaq 0x19c7f(%rip), %rcx     # 0x49204
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1aadb(%rip), %rdi     # 0x4a070
jmp 0x2f69f
leaq 0x1d178(%rip), %rdi     # 0x4c719
jmp 0x2f69f
leaq 0x1d161(%rip), %rdi     # 0x4c70e
jmp 0x2f69f
leaq 0x17860(%rip), %rdi     # 0x46e19
callq 0x56e2
jmp 0x2f6a8
cmpq $0x100, %rax            # imm = 0x100
je 0x2f698
cmpq $0x200, %rax            # imm = 0x200
je 0x2f68f
cmpq $0x300, %rax            # imm = 0x300
jne 0x2f5ef
leaq 0x14e1c(%rip), %rdi     # 0x44406
jmp 0x2f69f
leaq 0x17823(%rip), %rdi     # 0x46e19
callq 0x56e2
xorl %ebx, %ebx
jmp 0x2f6a8
leaq 0x1d128(%rip), %rdi     # 0x4c731
jmp 0x2f69f
leaq 0x19d9e(%rip), %rdi     # 0x493b3
jmp 0x2f69f
leaq 0x19d6c(%rip), %rdi     # 0x4938d
jmp 0x2f69f
leaq 0x19d7f(%rip), %rdi     # 0x493a9
jmp 0x2f69f
leaq 0x19d2e(%rip), %rdi     # 0x49361
jmp 0x2f64e
leaq 0x19d3f(%rip), %rdi     # 0x4937b
jmp 0x2f64e
leaq 0x1c8c6(%rip), %rdi     # 0x4bf0b
jmp 0x2f69f
leaq 0x19cf9(%rip), %rdi     # 0x49347
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x3120
jmp 0x2f6a8
leaq 0x1c8d2(%rip), %rdi     # 0x4bf32
jmp 0x2f69f
leaq 0x1c961(%rip), %rdi     # 0x4bfca
jmp 0x2f69f
leaq 0x19d29(%rip), %rdi     # 0x4939b
jmp 0x2f69f
leaq 0x19d19(%rip), %rdi     # 0x49394
jmp 0x2f69f
leaq 0x14ff2(%rip), %rdi     # 0x44676
jmp 0x2f69f
leaq 0x19d14(%rip), %rdi     # 0x493a1
jmp 0x2f69f
leaq 0x14d89(%rip), %rdi     # 0x4441f
jmp 0x2f69f
leaq 0x14d6e(%rip), %rdi     # 0x4440d
xorl %eax, %eax
callq 0x3120
movl %eax, %ebx
xorl %eax, %eax
callq 0x8fa0
movl %ebx, %edi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x16a4f