// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_epson.c
// Function: epson1_interpret_offset_makervalue
void
epson1_interpret_offset_makervalue(FILE *inptr,unsigned short byteorder,
                    struct ifd_entry *entry_ptr,unsigned long fileoffset_base)
{
    unsigned long offset,value;
    int chpr = 0;

    if(entry_ptr && (PRINT_VALUE))
    {
        offset = entry_ptr->value + fileoffset_base;
        switch(entry_ptr->tag)
        {
            case 0x0200:    /* SpecialMode                            */
                value = read_ulong(inptr,byteorder,offset);
                print_startvalue();
                /* Don't know what the last 2 values might mean for   */
                /* "normal" or "fast".                                */
                switch(value)
                {
                    case 0: chpr += printf("Normal"); break;
                    case 1: chpr += printf("Unknown"); break;
                    case 2: chpr += printf("Fast"); break;
                    case 3: chpr += printf("Panorama,");
                            value = read_ulong(inptr,byteorder,HERE);
                            chpr += printf("#%lu,",value);
                            value = read_ulong(inptr,byteorder,HERE);
                            switch(value)
                            {
                                case 1: chpr += printf(" Left to Right"); break;
                                case 2: chpr += printf(" Right to Left"); break;
                                case 3: chpr += printf(" Bottom to Top"); break;
                                case 4: chpr += printf(" Top to Bottom"); break;
                                default: printred(" undefined"); break;
                            }
                            break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            default:
                break;
        }
    }
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movw %si, %ax
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x0, -0x34(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x42576
leaq 0x34ddc(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x42576
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x20(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movw (%rax), %ax
subw $0x200, %ax             # imm = 0x200
jne 0x42572
jmp 0x423db
movq -0x8(%rbp), %rdi
movzwl -0xa(%rbp), %esi
movq -0x28(%rbp), %rdx
callq 0x4610
movq %rax, -0x30(%rbp)
xorl %eax, %eax
callq 0xb9a0
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
subq $0x3, %rax
ja 0x4255d
movq -0x40(%rbp), %rax
leaq 0x2a9c4(%rip), %rcx     # 0x6cdd8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x2b5c5(%rip), %rdi     # 0x6d9e9
movb $0x0, %al
callq 0x3110
addl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
jmp 0x42569
leaq 0x2aa29(%rip), %rdi     # 0x6ce66
movb $0x0, %al
callq 0x3110
addl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
jmp 0x42569
leaq 0x2aa18(%rip), %rdi     # 0x6ce6e
movb $0x0, %al
callq 0x3110
addl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
jmp 0x42569
leaq 0x2aa04(%rip), %rdi     # 0x6ce73
xorl %eax, %eax
movb %al, -0x51(%rbp)
callq 0x3110
movl %eax, %ecx
movl -0x34(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x34(%rbp)
movq -0x8(%rbp), %rdi
movzwl -0xa(%rbp), %esi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movq %rdx, -0x50(%rbp)
callq 0x4610
movq %rax, %rcx
movb -0x51(%rbp), %al
movq %rcx, -0x30(%rbp)
movq -0x30(%rbp), %rsi
leaq 0x2a9cf(%rip), %rdi     # 0x6ce7d
callq 0x3110
movq -0x50(%rbp), %rdx
movl %eax, %ecx
movl -0x34(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x34(%rbp)
movq -0x8(%rbp), %rdi
movzwl -0xa(%rbp), %esi
callq 0x4610
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
decq %rax
movq %rax, -0x48(%rbp)
subq $0x3, %rax
ja 0x4254f
movq -0x48(%rbp), %rax
leaq 0x2a8fa(%rip), %rcx     # 0x6cde8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x2a985(%rip), %rdi     # 0x6ce83
movb $0x0, %al
callq 0x3110
addl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
jmp 0x4255b
leaq 0x2a97e(%rip), %rdi     # 0x6ce92
movb $0x0, %al
callq 0x3110
addl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
jmp 0x4255b
leaq 0x2a977(%rip), %rdi     # 0x6cea1
movb $0x0, %al
callq 0x3110
addl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
jmp 0x4255b
leaq 0x2a970(%rip), %rdi     # 0x6ceb0
movb $0x0, %al
callq 0x3110
addl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
jmp 0x4255b
leaq 0x290b4(%rip), %rdi     # 0x6b60a
callq 0x6860
jmp 0x42569
leaq 0x290a7(%rip), %rdi     # 0x6b60b
callq 0x6860
movb $0x0, %al
callq 0xb9d0
jmp 0x42574
jmp 0x42574
jmp 0x42576
movl -0x34(%rbp), %edi
callq 0x1ff00
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)