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

    switch(tag)
    {
        case 0x0000: tagname = "VersionID"; break;   /* EXIF, TIFFEP */
        case 0x0001: tagname = "LatitudeRef"; break; /* EXIF, TIFFEP */
        case 0x0002: tagname = "Latitude"; break;  /* EXIF, TIFFEP */
        case 0x0003: tagname = "LongitudeRef"; break;       /* EXIF, TIFFEP */
        case 0x0004: tagname = "Longitude"; break;      /* EXIF, TIFFEP */
        case 0x0005: tagname = "AltitudeRef"; break;      /* EXIF, TIFFEP */
        case 0x0006: tagname = "Altitude"; break;      /* EXIF, TIFFEP */
        case 0x0007: tagname = "TimeStamp"; break;      /* EXIF, TIFFEP */
        case 0x0008: tagname = "Satellites"; break;      /* EXIF, TIFFEP */
        case 0x0009: tagname = "Status"; break;      /* EXIF, TIFFEP */
        case 0x000A: tagname = "MeasureMode"; break;      /* EXIF, TIFFEP */
        case 0x000B: tagname = "DOP"; break;      /* EXIF, TIFFEP */
        case 0x000C: tagname = "SpeedRef"; break;      /* EXIF, TIFFEP */
        case 0x000D: tagname = "Speed"; break;      /* EXIF, TIFFEP */
        case 0x000E: tagname = "TrackRef"; break;      /* EXIF, TIFFEP */
        case 0x000F: tagname = "Track"; break;      /* EXIF, TIFFEP */
        case 0x0010: tagname = "DirectionRef"; break;      /* EXIF, TIFFEP */
        case 0x0011: tagname = "Direction"; break;      /* EXIF, TIFFEP */
        case 0x0012: tagname = "MapDatum"; break;      /* EXIF, TIFFEP */
        case 0x0013: tagname = "DestlatitudeRef"; break;      /* EXIF, TIFFEP */
        case 0x0014: tagname = "Destlatitude"; break;      /* EXIF, TIFFEP */
        case 0x0015: tagname = "DestLongitudeRef"; break;      /* EXIF, TIFFEP */
        case 0x0016: tagname = "DestLongitude"; break;      /* EXIF, TIFFEP */
        case 0x0017: tagname = "BearingRef"; break;      /* EXIF, TIFFEP */
        case 0x0018: tagname = "Bearing"; break;      /* EXIF, TIFFEP */
        case 0x0019: tagname = "DestDistanceRef"; break;      /* EXIF, TIFFEP */
        case 0x001A: tagname = "DestDistance"; break;      /* EXIF, TIFFEP */
        case 0x001B: tagname = "ProcessingMethod"; break;      /* EXIF */
        case 0x001C: tagname = "AreaInformation"; break;      /* EXIF */
        case 0x001D: tagname = "DateStamp"; break;      /* EXIF */
        case 0x001E: tagname = "Differential"; break;      /* EXIF */
        default:
            if(snprintf(unknown_buf,11,"GPS_%#06x",(int)tag) > 11)
            {
                printf(" bad tag %#x not converted\n",tag);
                why(stdout);
                tagname = "<BADTAG>";
            }
            else
                tagname = unknown_buf;
            break;
    }
    return(tagname);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
movzwl -0x2(%rbp), %eax
movq %rax, -0x18(%rbp)
subq $0x1e, %rax
ja 0x109fc
movq -0x18(%rbp), %rax
leaq 0x544d4(%rip), %rcx     # 0x64ce0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x55c34(%rip), %rax     # 0x66450
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55c2e(%rip), %rax     # 0x6645a
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55c2a(%rip), %rax     # 0x66466
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55cb6(%rip), %rax     # 0x66502
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55cb7(%rip), %rax     # 0x66513
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55c03(%rip), %rax     # 0x6646f
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55bff(%rip), %rax     # 0x6647b
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55bf8(%rip), %rax     # 0x66484
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55bf2(%rip), %rax     # 0x6648e
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x5cc86(%rip), %rax     # 0x6d532
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55bdd(%rip), %rax     # 0x66499
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55bd9(%rip), %rax     # 0x664a5
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55bcd(%rip), %rax     # 0x664a9
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x5db87(%rip), %rax     # 0x6e473
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55bb6(%rip), %rax     # 0x664b2
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55baf(%rip), %rax     # 0x664bb
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55ba5(%rip), %rax     # 0x664c1
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55ba2(%rip), %rax     # 0x664ce
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55b9c(%rip), %rax     # 0x664d8
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55b95(%rip), %rax     # 0x664e1
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55b95(%rip), %rax     # 0x664f1
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55b92(%rip), %rax     # 0x664fe
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55b93(%rip), %rax     # 0x6650f
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55b91(%rip), %rax     # 0x6651d
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55b8c(%rip), %rax     # 0x66528
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55b84(%rip), %rax     # 0x66530
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55b84(%rip), %rax     # 0x66540
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55b81(%rip), %rax     # 0x6654d
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55b82(%rip), %rax     # 0x6655e
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55b85(%rip), %rax     # 0x6656e
movq %rax, -0x10(%rbp)
jmp 0x10a5a
leaq 0x55b82(%rip), %rax     # 0x66578
movq %rax, -0x10(%rbp)
jmp 0x10a5a
movzwl -0x2(%rbp), %ecx
leaq 0x6bb39(%rip), %rdi     # 0x7c540
movl $0xb, %esi
leaq 0x55b72(%rip), %rdx     # 0x66585
movb $0x0, %al
callq 0x3120
cmpl $0xb, %eax
jle 0x10a4d
movzwl -0x2(%rbp), %esi
leaq 0x54234(%rip), %rdi     # 0x64c5e
movb $0x0, %al
callq 0x3110
movq 0x66590(%rip), %rax     # 0x76fc8
movq (%rax), %rdi
callq 0x20840
leaq 0x54233(%rip), %rax     # 0x64c7a
movq %rax, -0x10(%rbp)
jmp 0x10a58
leaq 0x6baec(%rip), %rax     # 0x7c540
movq %rax, -0x10(%rbp)
jmp 0x10a5a
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)