// File: /workspace/github_c_makefile_star2_O2/hfiguiere[P]exifprobe/maker_panasonic.c
// Function: panasonic1_interpret_value
void
panasonic1_interpret_value(struct ifd_entry *entry_ptr)
{
    switch(entry_ptr->tag)
    {
        case 0x0001:    /* Quality */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 2: printf("Fine"); break;
                case 3: printf("Standard"); break;
                default: printred("undefined"); break;
            }
            print_endvalue();
            break;
        case 0x0003:    /* White Balance */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 1: printf("Auto"); break;
                case 2: printf("Daylight"); break;
                case 3: printf("Cloudy"); break;
                case 4: printf("Halogen"); break;
                case 5: printf("Manual"); break;
                case 8: printf("Flash"); break;
                default: printred("undefined"); break;
            }
            print_endvalue();
            break;
        case 0x0007:    /* Focus Mode */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 1: printf("Auto"); break;
                case 2: printf("Manual"); break;
                default: printred("undefined"); break;
            }
            print_endvalue();
            break;
        case 0x000f:    /* Spot Mode */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 1: printf("Spot"); break;
                case 16: printf("1 Area"); break;
                case 256: printf("9 Area/On"); break;
                case 4096: printf("3 Area/Off"); break;
                default: printred("undefined"); break;
            }
            print_endvalue();
            break;
        case 0x001a:    /* Stabilizer Mode */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 2: printf("Mode 1"); break;
                case 3: printf("Off"); break;
                case 4: printf("Mode 2"); break;
                default: printred("undefined"); break;
            }
            print_endvalue();
            break;
        case 0x001c:    /* Macro */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 1: printf("On"); break;
                case 2: printf("Off"); break;
                default: printred("undefined"); break;
            }
            print_endvalue();
            break;
        case 0x001f:    /* Picture Mode */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 2: printf("Portrait"); break;
                case 3: printf("Scenery"); break;
                case 4: printf("Sports"); break;
                case 5: printf("Night Portrait"); break;
                case 6: printf("Program"); break;
                case 7: printf("Aperture Priority"); break;
                case 8: printf("Shutter Priority"); break;
                case 9: printf("Macro"); break;
                case 11: printf("Manual"); break;
                case 13: printf("Panning"); break;
                case 18: printf("Fireworks"); break;
                case 19: printf("Party"); break;
                case 20: printf("Snow"); break;
                case 21: printf("Night Scenery"); break;
                default: printred("undefined");
            }
            print_endvalue();
            break;
        case 0x0020:    /* Audio */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 1: printf("Yes"); break;
                case 2: printf("No"); break;
                default: printred("undefined"); break;
            }
            print_endvalue();
            break;
        case 0x0023:    /* White Balance Adjust */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 0xfffb: printf("-5"); break;
                case 0xfffc: printf("-4"); break;
                case 0xfffd: printf("-3"); break;
                case 0xfffe: printf("-2"); break;
                case 0xffff: printf("-1"); break;
                case 0x0000: printf("0"); break;
                case 0x0001: printf("+1"); break;
                case 0x0002: printf("+2"); break;
                case 0x0003: printf("+3"); break;
                case 0x0004: printf("+4"); break;
                case 0x0005: printf("+5"); break;
                default: printred("undefined"); break;
            }
            print_endvalue();
            break;
        case 0x0024:    /* Flash Strength */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 0xfffa: printf("-2 EV"); break;
                case 0xfffb: printf("-1.67 EV"); break;
                case 0xfffc: printf("-1.33 EV"); break;
                case 0xfffd: printf("-1 EV"); break;
                case 0xfffe: printf("-0.67 EV"); break;
                case 0xffff: printf("-0.33 EV"); break;
                case 0x0000: printf("0 EV"); break;
                case 0x0001: printf("+0.33 EV"); break;
                case 0x0002: printf("+0.67 EV"); break;
                case 0x0003: printf("+1 EV"); break;
                case 0x0004: printf("+1.33 EV"); break;
                case 0x0005: printf("+1.67 EV"); break;
                case 0x0006: printf("+2 EV"); break;
                default: printred("undefined"); break;
            }
            print_endvalue();
            break;
        case 0x0028:    /* Color Mode */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 1: printf("Off"); break;
                case 2: printf("Warm"); break;
                case 3: printf("Cool"); break;
                case 4: printf("Black/White"); break;
                case 5: printf("Sepia"); break;
                default: printred("undefined"); break;
            }
            print_endvalue();
            break;
        case 0x002c:    /* Contrast */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 0: printf("Standard"); break;
                case 1: printf("Low"); break;
                case 2: printf("High"); break;
                default: printred("undefined"); break;
            }
            print_endvalue();
            break;
        case 0x002d:    /* Noise Reduction */
            print_startvalue();
            switch(entry_ptr->value)
            {
                case 0: printf("Standard"); break;
                case 1: printf("Low"); break;
                case 2: printf("High"); break;
                default: printred("undefined"); break;
            }
            print_endvalue();
            break;
        default:
            break;
    }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movzwl (%rdi), %eax
leal -0x1a(%rax), %ecx
cmpl $0x13, %ecx
ja 0x3d46e
leaq 0xf300(%rip), %rax      # 0x4c738
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
xorl %eax, %eax
callq 0x8f81
movq 0x10(%rbx), %rax
cmpq $0x2, %rax
je 0x3d71a
cmpq $0x1, %rax
je 0x3d6b9
testq %rax, %rax
je 0x3d6ad
jmp 0x3d709
cmpl $0xf, %eax
je 0x3d61a
cmpl $0x3, %eax
je 0x3d67d
cmpl $0x7, %eax
je 0x3d65d
cmpl $0x1, %eax
jne 0x3d4b9
xorl %eax, %eax
callq 0x8f81
movq 0x10(%rbx), %rax
cmpq $0x3, %rax
je 0x3d6ad
cmpq $0x2, %rax
jne 0x3d709
leaq 0xca12(%rip), %rdi      # 0x49ec6
jmp 0x3d91f
popq %rbx
retq
xorl %eax, %eax
callq 0x8f81
movq 0x10(%rbx), %rax
cmpq $0x5, %rax
ja 0x3d6e1
leaq 0xf2f9(%rip), %rcx      # 0x4c7d0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
pushq $0x30
popq %rdi
callq 0x3060
jmp 0x3d926
xorl %eax, %eax
callq 0x8f81
movq 0x10(%rbx), %rax
cmpq $0x6, %rax
jbe 0x3d6c5
addq $-0xfffa, %rax          # imm = 0xFFFF0006
cmpq $0x5, %rax
ja 0x3d709
leaq 0xf29f(%rip), %rcx      # 0x4c7b8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xdced(%rip), %rdi      # 0x4b216
jmp 0x3d91f
xorl %eax, %eax
callq 0x8f81
movq 0x10(%rbx), %rax
cmpq $0x2, %rax
je 0x3d732
cmpq $0x1, %rax
jne 0x3d709
leaq 0xca60(%rip), %rdi      # 0x49fb4
jmp 0x3d91f
xorl %eax, %eax
callq 0x8f81
movq 0x10(%rbx), %rax
addq $-0x2, %rax
cmpq $0x13, %rax
ja 0x3d709
leaq 0xf283(%rip), %rcx      # 0x4c7fc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xcae7(%rip), %rdi      # 0x4a070
jmp 0x3d91f
xorl %eax, %eax
callq 0x8f81
movq 0x10(%rbx), %rax
cmpq $0x2, %rax
je 0x3d60e
cmpq $0x1, %rax
jne 0x3d709
leaq 0xbaa1(%rip), %rdi      # 0x49051
jmp 0x3d91f
xorl %eax, %eax
callq 0x8f81
movq 0x10(%rbx), %rax
cmpq $0x4, %rax
je 0x3d73e
cmpq $0x3, %rax
je 0x3d60e
cmpq $0x2, %rax
jne 0x3d709
leaq 0xf35d(%rip), %rdi      # 0x4c93e
jmp 0x3d91f
xorl %eax, %eax
callq 0x8f81
movq 0x10(%rbx), %rax
decq %rax
cmpq $0x4, %rax
ja 0x3d709
leaq 0xf183(%rip), %rcx      # 0x4c788
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xba35(%rip), %rdi      # 0x4904a
jmp 0x3d91f
xorl %eax, %eax
callq 0x8f81
movq 0x10(%rbx), %rax
cmpq $0x1000, %rax           # imm = 0x1000
je 0x3d762
cmpq $0x10, %rax
je 0x3d74a
cmpq $0x100, %rax            # imm = 0x100
je 0x3d756
cmpq $0x1, %rax
jne 0x3d709
leaq 0x6cd8(%rip), %rdi      # 0x44330
jmp 0x3d91f
xorl %eax, %eax
callq 0x8f81
movq 0x10(%rbx), %rax
cmpq $0x2, %rax
je 0x3d726
cmpq $0x1, %rax
je 0x3d6a1
jmp 0x3d709
xorl %eax, %eax
callq 0x8f81
movq 0x10(%rbx), %rax
decq %rax
cmpq $0x7, %rax
ja 0x3d709
leaq 0xf1b4(%rip), %rcx      # 0x4c84c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xc102(%rip), %rdi      # 0x497aa
jmp 0x3d91f
leaq 0x6fb9(%rip), %rdi      # 0x4466d
jmp 0x3d91f
leaq 0xf04e(%rip), %rdi      # 0x4c70e
jmp 0x3d91f
leaq 0xf0d0(%rip), %rcx      # 0x4c79c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xdb89(%rip), %rdi      # 0x4b265
jmp 0x3d91f
addq $-0xfffb, %rax          # imm = 0xFFFF0005
cmpq $0x4, %rax
ja 0x3d709
leaq 0xf0f4(%rip), %rcx      # 0x4c7e8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xf264(%rip), %rdi      # 0x4c968
jmp 0x3d91f
leaq 0x9709(%rip), %rdi      # 0x46e19
callq 0x56e2
jmp 0x3d926
leaq 0xeff8(%rip), %rdi      # 0x4c719
jmp 0x3d91f
leaq 0x6cd9(%rip), %rdi      # 0x44406
jmp 0x3d91f
leaq 0xd60f(%rip), %rdi      # 0x4ad48
jmp 0x3d91f
leaq 0xf200(%rip), %rdi      # 0x4c945
jmp 0x3d91f
leaq 0xf1d1(%rip), %rdi      # 0x4c922
jmp 0x3d91f
leaq 0xf1cc(%rip), %rdi      # 0x4c929
jmp 0x3d91f
leaq 0xf1ca(%rip), %rdi      # 0x4c933
jmp 0x3d91f
leaq 0xd7c6(%rip), %rdi      # 0x4af3b
jmp 0x3d91f
leaq 0xf204(%rip), %rdi      # 0x4c985
jmp 0x3d91f
leaq 0xf1fd(%rip), %rdi      # 0x4c98a
jmp 0x3d91f
leaq 0xf1e7(%rip), %rdi      # 0x4c980
jmp 0x3d91f
leaq 0xe78d(%rip), %rdi      # 0x4bf32
jmp 0x3d91f
leaq 0xc68b(%rip), %rdi      # 0x49e3c
jmp 0x3d91f
leaq 0xe74e(%rip), %rdi      # 0x4bf0b
jmp 0x3d91f
leaq 0xf151(%rip), %rdi      # 0x4c91a
jmp 0x3d91f
leaq 0xf1a5(%rip), %rdi      # 0x4c97a
jmp 0x3d91f
leaq 0xbfb1(%rip), %rdi      # 0x49792
jmp 0x3d91f
leaq 0xf187(%rip), %rdi      # 0x4c974
jmp 0x3d91f
leaq 0xf175(%rip), %rdi      # 0x4c96e
jmp 0x3d91f
leaq 0xf172(%rip), %rdi      # 0x4c977
jmp 0x3d91f
leaq 0xbf84(%rip), %rdi      # 0x49795
jmp 0x3d91f
leaq 0xf154(%rip), %rdi      # 0x4c971
jmp 0x3d91f
leaq 0xf142(%rip), %rdi      # 0x4c96b
jmp 0x3d91f
leaq 0xf148(%rip), %rdi      # 0x4c97d
jmp 0x3d91f
leaq 0xd9fc(%rip), %rdi      # 0x4b23d
jmp 0x3d91f
leaq 0xda2c(%rip), %rdi      # 0x4b279
jmp 0x3d91f
leaq 0xd9d5(%rip), %rdi      # 0x4b22e
jmp 0x3d91f
leaq 0xda05(%rip), %rdi      # 0x4b26a
jmp 0x3d91f
leaq 0xd9c6(%rip), %rdi      # 0x4b237
jmp 0x3d91f
leaq 0xd9f6(%rip), %rdi      # 0x4b273
jmp 0x3d91f
leaq 0xd993(%rip), %rdi      # 0x4b21c
jmp 0x3d91f
leaq 0xd9c3(%rip), %rdi      # 0x4b258
jmp 0x3d91f
leaq 0xd9ae(%rip), %rdi      # 0x4b24f
jmp 0x3d91f
leaq 0xd9e1(%rip), %rdi      # 0x4b28b
jmp 0x3d91f
leaq 0xd9e1(%rip), %rdi      # 0x4b294
jmp 0x3d91f
leaq 0xf09e(%rip), %rdi      # 0x4c95a
jmp 0x3d91f
leaq 0xb830(%rip), %rdi      # 0x490f5
jmp 0x3d91f
leaq 0xc79c(%rip), %rdi      # 0x4a06a
jmp 0x3d91f
leaq 0xb846(%rip), %rdi      # 0x4911d
jmp 0x3d91f
leaq 0x6b59(%rip), %rdi      # 0x44439
jmp 0x3d91f
leaq 0xf06b(%rip), %rdi      # 0x4c954
jmp 0x3d91f
leaq 0xbaa2(%rip), %rdi      # 0x49394
jmp 0x3d91f
leaq 0xf065(%rip), %rdi      # 0x4c960
jmp 0x3d91f
leaq 0x6b09(%rip), %rdi      # 0x4440d
jmp 0x3d91f
leaq 0x6b12(%rip), %rdi      # 0x4441f
jmp 0x3d91f
leaq 0xf036(%rip), %rdi      # 0x4c94c
jmp 0x3d91f
leaq 0x6da8(%rip), %rdi      # 0x446c7
xorl %eax, %eax
callq 0x3120
xorl %eax, %eax
popq %rbx
jmp 0x8fa0