// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/tagnames.c
// Function: jp2000tagname
char *
jp2000tagname(unsigned short tag)
{
    static char unknown_buf[16];
    char *tagname;

    switch(tag)
    {
		case 0xFF4F: tagname = "JP2C_SOC"; break;
		case 0xFF90: tagname = "JP2C_SOT"; break;
		case 0xFF93: tagname = "JP2C_SOD"; break;
		case 0xFFd9: tagname = "JP2C_EOC"; break;
		case 0xFF51: tagname = "JP2C_SIZ"; break;
		case 0xFF52: tagname = "JP2C_COD"; break;
		case 0xFF53: tagname = "JP2C_COC"; break;
		case 0xFF5e: tagname = "JP2C_RGN"; break;
		case 0xFF5c: tagname = "JP2C_QCD"; break;
		case 0xFF5d: tagname = "JP2C_QCC"; break;
		case 0xFF5F: tagname = "JP2C_POC"; break;
		case 0xFF55: tagname = "JP2C_TLM"; break;
		case 0xFF57: tagname = "JP2C_PLM"; break;
		case 0xFF58: tagname = "JP2C_PLT"; break;
		case 0xFF60: tagname = "JP2C_PPM"; break;
		case 0xFF61: tagname = "JP2C_PPT"; break;
		case 0xFF91: tagname = "JP2C_SOP"; break;
		case 0xFF92: tagname = "JP2C_EPH"; break;
		case 0xFF63: tagname = "JP2C_CRG"; break;
		case 0xFF64: tagname = "JP2C_COM"; break;
        default:
            if(snprintf(unknown_buf,12,"JP2C_%#06x",(int)tag) > 12)
            {
                printf(" bad tag %#x not converted\n",tag);
                why(stdout);
                tagname = "<BADTAG>";
            }
            else
                tagname = unknown_buf;
            break;
    }
    tagname = strdup(tagname);
    return(tagname);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
movzwl -0x2(%rbp), %eax
addl $0xffff00b1, %eax       # imm = 0xFFFF00B1
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0x8a, %eax
ja 0x11264
movq -0x18(%rbp), %rax
leaq 0x53c38(%rip), %rcx     # 0x64d5c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x556a4(%rip), %rax     # 0x667d8
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x5569d(%rip), %rax     # 0x667e1
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x55696(%rip), %rax     # 0x667ea
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x5568f(%rip), %rax     # 0x667f3
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x55688(%rip), %rax     # 0x667fc
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x55681(%rip), %rax     # 0x66805
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x5567a(%rip), %rax     # 0x6680e
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x55673(%rip), %rax     # 0x66817
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x5566c(%rip), %rax     # 0x66820
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x55665(%rip), %rax     # 0x66829
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x5565e(%rip), %rax     # 0x66832
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x55657(%rip), %rax     # 0x6683b
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x55650(%rip), %rax     # 0x66844
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x55649(%rip), %rax     # 0x6684d
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x55642(%rip), %rax     # 0x66856
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x5563b(%rip), %rax     # 0x6685f
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x55634(%rip), %rax     # 0x66868
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x5562d(%rip), %rax     # 0x66871
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x55629(%rip), %rax     # 0x6687a
movq %rax, -0x10(%rbp)
jmp 0x112c2
leaq 0x55625(%rip), %rax     # 0x66883
movq %rax, -0x10(%rbp)
jmp 0x112c2
movzwl -0x2(%rbp), %ecx
leaq 0x6b2f1(%rip), %rdi     # 0x7c560
movl $0xc, %esi
leaq 0x55611(%rip), %rdx     # 0x6688c
movb $0x0, %al
callq 0x3120
cmpl $0xc, %eax
jle 0x112b5
movzwl -0x2(%rbp), %esi
leaq 0x539cc(%rip), %rdi     # 0x64c5e
movb $0x0, %al
callq 0x3110
movq 0x65d28(%rip), %rax     # 0x76fc8
movq (%rax), %rdi
callq 0x20840
leaq 0x539cb(%rip), %rax     # 0x64c7a
movq %rax, -0x10(%rbp)
jmp 0x112c0
leaq 0x6b2a4(%rip), %rax     # 0x7c560
movq %rax, -0x10(%rbp)
jmp 0x112c2
movq -0x10(%rbp), %rdi
callq 0x32a0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)