user: 提供的汇编代码用C语言表示会是什么样子：

```asm
<ASAPInfo_GetExtDescription>:
  endbr64
  push   %rbx
  mov    %rdi,%rbx
  call   <strlen@plt>
  mov    %eax,%edx
  mov    %rax,%rcx
  xor    %eax,%eax
  sar    %edx
  cmp    $0x1,%edx
  jne    L28
  movsbl 0x1(%rbx),%edx
  movsbl (%rbx),%eax
  shl    $0x8,%edx
  add    %eax,%edx
  cmp    $0x3,%ecx
  je     L98
L10:
  or     $0x202020,%edx
  lea    D99(%rip),%rax
  cmp    $0x64706d,%edx
  je     L28
  jle    L9
  lea    D87(%rip),%rax
  cmp    $0x746c64,%edx
  je     L28
  jle    L12
  lea    D68(%rip),%rax
  cmp    $0x74706d,%edx
  je     L28
  cmp    $0x786578,%edx
  jne    L65
  lea    D66(%rip),%rax
L28:
  pop    %rbx
  ret
L9:
  lea    D110(%rip),%rax
  cmp    $0x386d74,%edx
  je     L28
  jle    L83
  lea    D10(%rip),%rax
  cmp    $0x636d64,%edx
  je     L28
  cmp    $0x636d74,%edx
  jne    L148
  lea    D110(%rip),%rax
  pop    %rbx
  ret
  nopl   0x0(%rax)
L83:
  lea    D47(%rip),%rax
  cmp    $0x326d74,%edx
  je     L28
  cmp    $0x336d63,%edx
  jne    L106
  lea    D64(%rip),%rax
  pop    %rbx
  ret
  nopl   0x0(%rax,%rax,1)
L12:
  lea    D142(%rip),%rax
  cmp    $0x726d63,%edx
  je     L28
  cmp    $0x736d63,%edx
  jne    L31
  lea    D90(%rip),%rax
  pop    %rbx
  ret
L148:
  cmp    $0x636d63,%edx
  lea    D75(%rip),%rax
  mov    $0x0,%edx
  pop    %rbx
  cmovne %rdx,%rax
  ret
L31:
  cmp    $0x706173,%edx
  lea    D135(%rip),%rax
  mov    $0x0,%edx
  pop    %rbx
  cmovne %rdx,%rax
  ret
L65:
  cmp    $0x746d72,%edx
  lea    D7(%rip),%rax
  mov    $0x0,%edx
  pop    %rbx
  cmovne %rdx,%rax
  ret
L106:
  cmp    $0x206366,%edx
  lea    D73(%rip),%rax
  mov    $0x0,%edx
  pop    %rbx
  cmovne %rdx,%rax
  ret
L98:
  movsbl 0x2(%rbx),%eax
  shl    $0x10,%eax
  add    %eax,%edx
  jmp    L10
```

tool_calls: name: unpack_data
arguments: data_tag: D99
type: string
name: unpack_data
arguments: data_tag: D87
type: string
name: unpack_data
arguments: data_tag: D68
type: string
name: unpack_data
arguments: data_tag: D66
type: string
name: unpack_data
arguments: data_tag: D110
type: string
name: unpack_data
arguments: data_tag: D10
type: string
name: unpack_data
arguments: data_tag: D47
type: string
name: unpack_data
arguments: data_tag: D64
type: string
name: unpack_data
arguments: data_tag: D142
type: string
name: unpack_data
arguments: data_tag: D90
type: string
name: unpack_data
arguments: data_tag: D75
type: string
name: unpack_data
arguments: data_tag: D135
type: string
name: unpack_data
arguments: data_tag: D7
type: string
name: unpack_data
arguments: data_tag: D73
type: string

tool: D99: MPT DoublePlay

tool: D87: Delta Music Composer

tool: D68: Music ProTracker

tool: D66: Atari 8-bit executable

tool: D110: Theta Music Composer 1.x

tool: D10: DoublePlay CMC

tool: D47: Theta Music Composer 2.x

tool: D64: CMC "3/4"

tool: D142: CMC "Rzog"

tool: D90: Stereo Double CMC

tool: D75: Chaos Music Composer

tool: D135: Slight Atari Player

tool: D7: Raster Music Tracker

tool: D73: Future Composer

assistant: ```c
const char *ASAPInfo_GetExtDescription(const char *ext) {
  switch ((int)strlen(ext) >> 1 == 1 ? (ext[0] + (ext[1] << 8) + ((int)strlen(ext) == 3 ? ext[2] << 16 : 0)) | 2105376 : 0) {
  case 7364979:
    return "Slight Atari Player";
  case 6516067:
    return "Chaos Music Composer";
  case 3370339:
    return "CMC \"3/4\"";
  case 7499107:
    return "CMC \"Rzog\"";
  case 7564643:
    return "Stereo Double CMC";
  case 6516068:
    return "DoublePlay CMC";
  case 7629924:
    return "Delta Music Composer";
  case 7630957:
    return "Music ProTracker";
  case 6582381:
    return "MPT DoublePlay";
  case 7630194:
    return "Raster Music Tracker";
  case 6516084:
  case 3698036:
    return "Theta Music Composer 1.x";
  case 3304820:
    return "Theta Music Composer 2.x";
  case 2122598:
    return "Future Composer";
  case 7890296:
    return "Atari 8-bit executable";
  default:
    return NULL;
  }
}
```