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

    if(entry_ptr && (PRINT_VALUE))
    {
        switch(entry_ptr->tag)
        {
            case 0x0001:    /* CaptureMode */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Auto"); break;
                    case 1: chpr += printf("Night-scene"); break;
                    case 2: chpr += printf("Manual"); break;
                    case 4: chpr += printf("Multiple"); break;
                    default: break;
                }
                print_endvalue();
                break;
            case 0x0002:    /* Quality */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Good"); break;
                    case 1: chpr += printf("Better"); break;
                    case 2: chpr += printf("Best"); break;
                    default: break;
                }
                print_endvalue();
                break;
            case 0x0003:    /* Focus Mode */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 2: chpr += printf("Custom"); break;
                    case 3: chpr += printf("Auto"); break;
                    default: 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 4: chpr += printf("Off"); break;
                    case 6: chpr += printf("Red-eye"); break;
                    default: break;
                }
                print_endvalue();
                break;
            case 0x0007:    /* White Balance */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Auto"); break;
                    case 1: chpr += printf("Daylight"); break;
                    case 2: chpr += printf("Shade"); break;
                    case 3: chpr += printf("Tungsten"); break;
                    case 4: chpr += printf("Fluorescent"); break;
                    case 5: chpr += printf("Manual"); break;
                    default: break;
                }
                print_endvalue();
                break;
            case 0x000a:    /* Digital Zoom */
                if(entry_ptr->value == 0)
                {
                    print_startvalue();
                    chpr += printf("Off");
                    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: 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: 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: break;
                }
                print_endvalue();
                break;
            case 0x0014:    /* ISO Speed Setting */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 10: chpr += printf("ISO 100"); break;
                    case 16: chpr += printf("ISO 200"); break;
                    case 100: chpr += printf("ISO 100"); break;
                    case 200: chpr += printf("ISO 200"); break;
                    default: break;
                }
                print_endvalue();
                break;
            case 0x0017:    /* Color */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("Normal"); break;
                    case 2: chpr += printf("Black & White"); break;
                    case 3: chpr += printf("Sepia"); break;
                    default: break;
                }
                print_endvalue();
                break;
            default:
                break;
        }
    }
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x5f664
leaq 0x1810b(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x5f664
movq -0x8(%rbp), %rax
movzwl (%rax), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0x16, %eax
ja 0x5f660
movq -0x18(%rbp), %rax
leaq 0x11c6f(%rip), %rcx     # 0x70d18
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x20(%rbp)
subq $0x4, %rax
ja 0x5f137
movq -0x20(%rbp), %rax
leaq 0x11cce(%rip), %rcx     # 0x70da4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xecd4(%rip), %rdi      # 0x6ddba
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f139
leaq 0x11d2f(%rip), %rdi     # 0x70e2b
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f139
leaq 0x9854(%rip), %rdi      # 0x68966
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f139
leaq 0x11d0f(%rip), %rdi     # 0x70e37
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f139
jmp 0x5f139
movb $0x0, %al
callq 0xb9d0
jmp 0x5f662
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
testq %rax, %rax
je 0x5f177
jmp 0x5f15f
movq -0x28(%rbp), %rax
subq $0x1, %rax
je 0x5f18d
jmp 0x5f16b
movq -0x28(%rbp), %rax
subq $0x2, %rax
je 0x5f1a3
jmp 0x5f1b9
leaq 0x11cc2(%rip), %rdi     # 0x70e40
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f1bb
leaq 0x11cb1(%rip), %rdi     # 0x70e45
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f1bb
leaq 0xf831(%rip), %rdi      # 0x6e9db
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f1bb
jmp 0x5f1bb
movb $0x0, %al
callq 0xb9d0
jmp 0x5f662
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
subq $0x2, %rax
je 0x5f1ee
jmp 0x5f1e2
movq -0x30(%rbp), %rax
subq $0x3, %rax
je 0x5f204
jmp 0x5f21a
leaq 0x11565(%rip), %rdi     # 0x7075a
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f21c
leaq 0xebaf(%rip), %rdi      # 0x6ddba
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f21c
jmp 0x5f21c
movb $0x0, %al
callq 0xb9d0
jmp 0x5f662
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
decq %rax
movq %rax, -0x38(%rbp)
subq $0x5, %rax
ja 0x5f2b0
movq -0x38(%rbp), %rax
leaq 0x11b3d(%rip), %rcx     # 0x70d8c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xeb5b(%rip), %rdi      # 0x6ddba
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f2b2
leaq 0xe478(%rip), %rdi      # 0x6d6ed
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f2b2
leaq 0xe45b(%rip), %rdi      # 0x6d6e6
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f2b2
leaq 0x11bab(%rip), %rdi     # 0x70e4c
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f2b2
jmp 0x5f2b2
movb $0x0, %al
callq 0xb9d0
jmp 0x5f662
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x40(%rbp)
subq $0x5, %rax
ja 0x5f373
movq -0x40(%rbp), %rax
leaq 0x11a8e(%rip), %rcx     # 0x70d74
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xeac4(%rip), %rdi      # 0x6ddba
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f375
leaq 0x1138f(%rip), %rdi     # 0x7069b
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f375
leaq 0x11478(%rip), %rdi     # 0x7079a
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f375
leaq 0x113ad(%rip), %rdi     # 0x706e5
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f375
leaq 0xe673(%rip), %rdi      # 0x6d9c1
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f375
leaq 0x9602(%rip), %rdi      # 0x68966
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f375
jmp 0x5f375
movb $0x0, %al
callq 0xb9d0
jmp 0x5f662
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x5f3ae
movb $0x0, %al
callq 0xb9a0
leaq 0xe34c(%rip), %rdi      # 0x6d6e6
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movb $0x0, %al
callq 0xb9d0
jmp 0x5f662
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x48(%rbp)
testq %rax, %rax
je 0x5f3e5
jmp 0x5f3cd
movq -0x48(%rbp), %rax
subq $0x1, %rax
je 0x5f3fb
jmp 0x5f3d9
movq -0x48(%rbp), %rax
subq $0x2, %rax
je 0x5f411
jmp 0x5f427
leaq 0xe5fd(%rip), %rdi      # 0x6d9e9
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f429
leaq 0x11aef(%rip), %rdi     # 0x70ef1
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f429
leaq 0x11ae5(%rip), %rdi     # 0x70efd
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f429
jmp 0x5f429
movb $0x0, %al
callq 0xb9d0
jmp 0x5f662
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x50(%rbp)
testq %rax, %rax
je 0x5f467
jmp 0x5f44f
movq -0x50(%rbp), %rax
subq $0x1, %rax
je 0x5f47d
jmp 0x5f45b
movq -0x50(%rbp), %rax
subq $0x2, %rax
je 0x5f493
jmp 0x5f4a9
leaq 0xe57b(%rip), %rdi      # 0x6d9e9
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f4ab
leaq 0x11a56(%rip), %rdi     # 0x70eda
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f4ab
leaq 0x11a4b(%rip), %rdi     # 0x70ee5
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f4ab
jmp 0x5f4ab
movb $0x0, %al
callq 0xb9d0
jmp 0x5f662
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x58(%rbp)
testq %rax, %rax
je 0x5f4e9
jmp 0x5f4d1
movq -0x58(%rbp), %rax
subq $0x1, %rax
je 0x5f4ff
jmp 0x5f4dd
movq -0x58(%rbp), %rax
subq $0x2, %rax
je 0x5f515
jmp 0x5f52b
leaq 0xe4f9(%rip), %rdi      # 0x6d9e9
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f52d
leaq 0x119d4(%rip), %rdi     # 0x70eda
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f52d
leaq 0x119c9(%rip), %rdi     # 0x70ee5
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f52d
jmp 0x5f52d
movb $0x0, %al
callq 0xb9d0
jmp 0x5f662
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x60(%rbp)
subq $0xa, %rax
je 0x5f57a
jmp 0x5f554
movq -0x60(%rbp), %rax
subq $0x10, %rax
je 0x5f590
jmp 0x5f560
movq -0x60(%rbp), %rax
subq $0x64, %rax
je 0x5f5a6
jmp 0x5f56c
movq -0x60(%rbp), %rax
subq $0xc8, %rax
je 0x5f5bc
jmp 0x5f5d2
leaq 0x118d3(%rip), %rdi     # 0x70e54
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f5d4
leaq 0x118c5(%rip), %rdi     # 0x70e5c
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f5d4
leaq 0x118a7(%rip), %rdi     # 0x70e54
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f5d4
leaq 0x11899(%rip), %rdi     # 0x70e5c
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f5d4
jmp 0x5f5d4
movb $0x0, %al
callq 0xb9d0
jmp 0x5f662
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x68(%rbp)
subq $0x1, %rax
je 0x5f613
jmp 0x5f5fb
movq -0x68(%rbp), %rax
subq $0x2, %rax
je 0x5f629
jmp 0x5f607
movq -0x68(%rbp), %rax
subq $0x3, %rax
je 0x5f63f
jmp 0x5f655
leaq 0xe3cf(%rip), %rdi      # 0x6d9e9
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f657
leaq 0x11834(%rip), %rdi     # 0x70e64
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f657
leaq 0x10085(%rip), %rdi     # 0x6f6cb
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x5f657
jmp 0x5f657
movb $0x0, %al
callq 0xb9d0
jmp 0x5f662
jmp 0x5f662
jmp 0x5f664
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)