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

    switch(entry_ptr->tag)
    {
        case 0x0003:    /* Quality */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 1:
                    chpr += printf("VGA Basic - 640x480 (1/16)");
                    break;
                case 2:
                    chpr += printf("VGA Normal - 640x480 (1/8)");
                    break;
                case 3:
                    chpr += printf("VGA Fine - 640x480 (1/4)");
                    break;
                case 4:
                    chpr += printf("XGA Basic - 1024x768 (1/16)"); 
                    break;
                case 5:
                    chpr += printf("XGA Normal - 1024x768 (1/8)");
                    break;
                case 6:
                    chpr += printf("XGA Fine - 1024x768 (1/4)"); 
                    break;
                case 7:
                    chpr += printf("SXGA Basic*");
                    break;
                case 8:
                    chpr += printf("SXGA Normal*");
                    break;
                case 9:
                    chpr += printf("SXGA Fine*");
                    break;
                case 10:
                    chpr += printf("Basic - 1600x1200 (1/16)");
                    break;
                case 11:
                    chpr += printf("Normal - 1600x1200 (1/8)");
                    break;
                case 12:
                    chpr += printf("Fine - 1600x1200 (1/4)");
                    break;
                case 20:
                    chpr += printf("Hi - 1600x1200");
                    break;
                default:
                    printred("undefined");
                    break;
            }
            print_endvalue();
            break;
        case 0x0004:    /* Color Mode */
            print_startvalue();
            if(entry_ptr->value == 1)
                chpr += printf("color");
            else if(entry_ptr->value == 2)
                chpr += printf("monochrome");
            else
                printred("undefined");
            print_endvalue();
            break;
        case 0x0005:    /* Image Adjustment */
            print_startvalue();
            /* The data from Crosser's "photopc" conflicts with that  */
            /* from Tachibanaya for contrast and brightness (they're  */
            /* swapped). These are Tachibanaya's values. Somebody please  */
            /* tell me which is right.                                */
            switch(entry_ptr->value)
            {
                case 0:
                    chpr += printf("Standard");
                    break;
                case 1:
                    chpr += printf("Brightness+?"); /* ###%%% Contrast?    */
                    break;
                case 2:
                    chpr += printf("Brightness-?");  /* ###%%% Contrast?   */
                    break;
                case 3:
                    chpr += printf("Contrast+?"); /* ###%%% Brightness?    */
                    break;
                case 4:
                    chpr += printf("Contrast-?"); /* ###%%% Brightness?    */
                    break;
                case 5:
                    /* Is this right?                                 */
                    chpr += printf("Auto?");
                    break;
                default:
                    printred("undefined");
                    break;
            }
            print_endvalue();
            break;
        case 0x0006:    /* CCD Sensitivity (ISO) */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 0:
                    chpr += printf("80");
                    break;
                case 2:
                    chpr += printf("160");
                    break;
                case 4:
                    chpr += printf("320");
                    break;
                case 5:
                    chpr += printf("100");
                    break;
                default:
                    printred("undefined");
                    break;
            }
            print_endvalue();
            break;
        case 0x0007:    /* White Balance */
            print_startvalue();
            /* These values, taken from "photopc", conflict with      */
            /* values given by Tachibanaya                            */
            switch(entry_ptr->value)
            {
                case 0:
                    chpr += printf("Auto");
                    break;
                case 1:
                    chpr += printf("Preset");
                    break;
                case 2:
                    chpr += printf("Daylight");
                    break;
                case 3:
                    chpr += printf("Incandescent");
                    break;
                case 4:
                    chpr += printf("Fluorescent");
                    break;
                case 5:
                    chpr += printf("Cloudy");
                    break;
                case 6:
                    chpr += printf("Flash");
                    break;
                default:
                    printred("undefined");
                    break;
            }
            print_endvalue();
            break;
        case 0x000b:    /* Lens Converter */
            print_startvalue();
            if(entry_ptr->value == 0)
                chpr += printf("none");
            else if(entry_ptr->value == 1)
                chpr += printf("fisheye");
            else
                printred("undefined");
            print_endvalue();
            break;

        default:
            break;
    }
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rax
movzwl (%rax), %eax
addl $-0x3, %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0x8, %eax
ja 0x3ea9f
movq -0x18(%rbp), %rax
leaq 0x2e0cd(%rip), %rcx     # 0x6c6d4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
decq %rax
movq %rax, -0x20(%rbp)
subq $0x13, %rax
ja 0x3e777
movq -0x20(%rbp), %rax
leaq 0x2e109(%rip), %rcx     # 0x6c744
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x2e434(%rip), %rdi     # 0x6ca7f
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e783
leaq 0x2e436(%rip), %rdi     # 0x6ca9a
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e783
leaq 0x2e438(%rip), %rdi     # 0x6cab5
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e783
leaq 0x2e438(%rip), %rdi     # 0x6cace
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e783
leaq 0x2e43b(%rip), %rdi     # 0x6caea
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e783
leaq 0x2e43e(%rip), %rdi     # 0x6cb06
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e783
leaq 0x2e43f(%rip), %rdi     # 0x6cb20
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e783
leaq 0x2e432(%rip), %rdi     # 0x6cb2c
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e783
leaq 0x2e429(%rip), %rdi     # 0x6cb39
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e783
leaq 0x2e41e(%rip), %rdi     # 0x6cb44
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e783
leaq 0x2e421(%rip), %rdi     # 0x6cb5d
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e783
leaq 0x2e424(%rip), %rdi     # 0x6cb76
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e783
leaq 0x2e425(%rip), %rdi     # 0x6cb8d
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e783
leaq 0x2ce8d(%rip), %rdi     # 0x6b60b
callq 0x6860
movb $0x0, %al
callq 0xb9d0
jmp 0x3eaa1
movb $0x0, %al
callq 0xb9a0
movq -0x8(%rbp), %rax
cmpq $0x1, 0x10(%rax)
jne 0x3e7b7
leaq 0x32075(%rip), %rdi     # 0x7081d
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e7e6
movq -0x8(%rbp), %rax
cmpq $0x2, 0x10(%rax)
jne 0x3e7d8
leaq 0x2e3d3(%rip), %rdi     # 0x6cb9c
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e7e4
leaq 0x2ce2c(%rip), %rdi     # 0x6b60b
callq 0x6860
jmp 0x3e7e6
movb $0x0, %al
callq 0xb9d0
jmp 0x3eaa1
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
subq $0x5, %rax
ja 0x3e8a7
movq -0x28(%rbp), %rax
leaq 0x2df12(%rip), %rcx     # 0x6c72c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x2a3a3(%rip), %rdi     # 0x68bcd
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e8b3
leaq 0x2e367(%rip), %rdi     # 0x6cba7
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e8b3
leaq 0x2e35e(%rip), %rdi     # 0x6cbb4
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e8b3
leaq 0x2e355(%rip), %rdi     # 0x6cbc1
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e8b3
leaq 0x2e34a(%rip), %rdi     # 0x6cbcc
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e8b3
leaq 0x2e33f(%rip), %rdi     # 0x6cbd7
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e8b3
leaq 0x2cd5d(%rip), %rdi     # 0x6b60b
callq 0x6860
movb $0x0, %al
callq 0xb9d0
jmp 0x3eaa1
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
subq $0x5, %rax
ja 0x3e944
movq -0x30(%rbp), %rax
leaq 0x2de31(%rip), %rcx     # 0x6c714
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x2f477(%rip), %rdi     # 0x6dd6a
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e950
leaq 0x2e2d4(%rip), %rdi     # 0x6cbdd
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e950
leaq 0x2e2c2(%rip), %rdi     # 0x6cbe1
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e950
leaq 0x32523(%rip), %rdi     # 0x70e58
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3e950
leaq 0x2ccc0(%rip), %rdi     # 0x6b60b
callq 0x6860
movb $0x0, %al
callq 0xb9d0
jmp 0x3eaa1
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x38(%rbp)
subq $0x6, %rax
ja 0x3ea2a
movq -0x38(%rbp), %rax
leaq 0x2dd74(%rip), %rcx     # 0x6c6f8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x2f426(%rip), %rdi     # 0x6ddba
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3ea36
leaq 0x2e238(%rip), %rdi     # 0x6cbe5
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3ea36
leaq 0x31cd8(%rip), %rdi     # 0x7069b
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3ea36
leaq 0x2e213(%rip), %rdi     # 0x6cbec
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3ea36
leaq 0x2efd2(%rip), %rdi     # 0x6d9c1
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3ea36
leaq 0x31cbd(%rip), %rdi     # 0x706c2
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3ea36
leaq 0x2f961(%rip), %rdi     # 0x6e37c
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3ea36
leaq 0x2cbda(%rip), %rdi     # 0x6b60b
callq 0x6860
movb $0x0, %al
callq 0xb9d0
jmp 0x3eaa1
movb $0x0, %al
callq 0xb9a0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x3ea67
leaq 0x2e1a1(%rip), %rdi     # 0x6cbf9
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3ea96
movq -0x8(%rbp), %rax
cmpq $0x1, 0x10(%rax)
jne 0x3ea88
leaq 0x2e185(%rip), %rdi     # 0x6cbfe
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x3ea94
leaq 0x2cb7c(%rip), %rdi     # 0x6b60b
callq 0x6860
jmp 0x3ea96
movb $0x0, %al
callq 0xb9d0
jmp 0x3eaa1
jmp 0x3eaa1
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x40, %rsp
popq %rbp
retq
nop