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

    if(entry_ptr && (PRINT_VALUE))
    {
        switch(entry_ptr->tag)
        {
            case 0x0001:    /* RecordingMode */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("Single Shutter"); break;
                    case 2: chpr += printf("Panorama"); break;
                    case 3: chpr += printf("Night Scene"); break;
                    case 4: chpr += printf("Portrait"); break;
                    case 5: chpr += printf("Landscape"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x0002:    /* Quality */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("Economy"); break;
                    case 2: chpr += printf("Normal"); break;
                    case 3: chpr += printf("Fine"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x0003:    /* Focusing Mode */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 2: chpr += printf("Macro"); break;
                    case 3: chpr += printf("Auto"); break;
                    case 4: chpr += printf("Manual"); break;
                    case 5: chpr += printf("Infinity"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x0004:    /* Flash Mode */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("Auto"); break;
                    case 2: chpr += printf("On"); break;
                    case 3: chpr += printf("Off"); break;
                    case 4: chpr += printf("Redeye"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x0005:    /* Flash Intensity */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 11: chpr += printf("Weak"); break;
                    case 13: chpr += printf("Normal"); break;
                    case 15: chpr += printf("Strong"); break;
                    default: printred("undefined"); }
                break;
            case 0x0006:    /* Object Distance */
                PUSHCOLOR(UNCERTAIN_COLOR);
                chpr += printf(" mm");
                POPCOLOR();
                break;
            case 0x0007:    /* White Balance */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("Auto"); break;
                    case 2: chpr += printf("Tungsten"); break;
                    case 3: chpr += printf("Daylight"); break;
                    case 4: chpr += printf("Fluorescent"); break;
                    case 5: chpr += printf("Shade"); break;
                    case 129: chpr += printf("Manual"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x000a:    /* Digital Zoom */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0x10000: chpr += printf("Off"); break;
                    case 0x10001: chpr += printf("On"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x000b:    /* Sharpness */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Normal"); break;
                    case 1: chpr += printf("Soft"); break;
                    case 2: chpr += printf("Hard"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x000c:    /* Contrast */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Normal"); break;
                    case 1: chpr += printf("Low"); break;
                    case 2: chpr += printf("High"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x000d:    /* Saturation */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Normal"); break;
                    case 1: chpr += printf("Low"); break;
                    case 2: chpr += printf("High"); 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 0x31207
leaq 0x2726b(%rip), %rax     # 0x58180
testb $0x30, (%rax)
je 0x31207
movq %rdi, %r14
movzwl (%rdi), %eax
decl %eax
cmpl $0xc, %eax
ja 0x31207
leaq 0x1a4f2(%rip), %rcx     # 0x4b428
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
cmpq $0x2, %rax
je 0x31132
cmpq $0x1, %rax
jne 0x31104
leaq 0x1d7b9(%rip), %rdi     # 0x4e71e
jmp 0x311f7
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
cmpq $0xf, %rax
je 0x31171
cmpq $0xd, %rax
je 0x31165
cmpq $0xb, %rax
jne 0x3117d
leaq 0x1a7b4(%rip), %rdi     # 0x4b74e
jmp 0x30fa3
leaq 0x1d722(%rip), %rdi     # 0x4e6c5
xorl %eax, %eax
callq 0x3120
movl %eax, %ebx
jmp 0x31207
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
decq %rax
cmpq $0x3, %rax
ja 0x31115
leaq 0x1a49e(%rip), %rcx     # 0x4b470
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1a3bb(%rip), %rdi     # 0x4b39d
jmp 0x311f7
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
decq %rax
cmpq $0x4, %rax
ja 0x31115
leaq 0x1a488(%rip), %rcx     # 0x4b490
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1a70d(%rip), %rdi     # 0x4b725
jmp 0x311f7
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
addq $-0x2, %rax
cmpq $0x3, %rax
ja 0x31115
leaq 0x1a441(%rip), %rcx     # 0x4b480
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x15688(%rip), %rdi     # 0x466d7
jmp 0x311f7
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
cmpq $0x3, %rax
je 0x3118d
cmpq $0x2, %rax
je 0x31109
cmpq $0x1, %rax
jne 0x31152
leaq 0x1a6b9(%rip), %rdi     # 0x4b73d
jmp 0x311f7
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
leaq -0x1(%rax), %rcx
cmpq $0x4, %rcx
ja 0x3113e
leaq 0x1a3b3(%rip), %rax     # 0x4b45c
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x1a701(%rip), %rdi     # 0x4b7ba
jmp 0x311f7
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
cmpq $0x10001, %rax          # imm = 0x10001
je 0x31126
cmpq $0x10000, %rax          # imm = 0x10000
jne 0x31152
leaq 0x19f7a(%rip), %rdi     # 0x4b05a
jmp 0x311f7
xorl %eax, %eax
callq 0x95d2
movq 0x10(%r14), %rax
cmpq $0x2, %rax
je 0x3119f
cmpq $0x1, %rax
je 0x31196
testq %rax, %rax
jne 0x31152
leaq 0x1a2a9(%rip), %rdi     # 0x4b3b9
jmp 0x311f7
leaq 0x17d0d(%rip), %rdi     # 0x48e29
callq 0x5c33
jmp 0x31200
leaq 0x19f34(%rip), %rdi     # 0x4b061
jmp 0x311f7
leaq 0x1d5f0(%rip), %rdi     # 0x4e729
jmp 0x311f7
cmpq $0x81, %rax
jne 0x31152
leaq 0x152c9(%rip), %rdi     # 0x46416
jmp 0x311f7
leaq 0x17cd0(%rip), %rdi     # 0x48e29
callq 0x5c33
xorl %ebx, %ebx
jmp 0x31200
leaq 0x1a24d(%rip), %rdi     # 0x4b3b9
jmp 0x30fa3
leaq 0x1a5db(%rip), %rdi     # 0x4b753
jmp 0x30fa3
leaq 0x17ca5(%rip), %rdi     # 0x48e29
callq 0x5c33
xorl %ebx, %ebx
jmp 0x31207
leaq 0x1ad42(%rip), %rdi     # 0x4bed6
jmp 0x311f7
leaq 0x1d598(%rip), %rdi     # 0x4e735
jmp 0x311f7
leaq 0x1d59b(%rip), %rdi     # 0x4e741
jmp 0x311f7
leaq 0x1a596(%rip), %rdi     # 0x4b745
jmp 0x311f7
leaq 0x154ce(%rip), %rdi     # 0x46686
jmp 0x311f7
leaq 0x154cf(%rip), %rdi     # 0x46690
jmp 0x311f7
leaq 0x1aeb6(%rip), %rdi     # 0x4c080
jmp 0x311f7
leaq 0x1a561(%rip), %rdi     # 0x4b734
jmp 0x311f7
leaq 0x1ce3e(%rip), %rdi     # 0x4e01a
jmp 0x311f7
leaq 0x1cd36(%rip), %rdi     # 0x4df1b
jmp 0x311f7
leaq 0x1a1a3(%rip), %rdi     # 0x4b391
jmp 0x311f7
leaq 0x1cd6e(%rip), %rdi     # 0x4df65
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