user: Demonstrate the C code that generates the assembly output below:

```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    L120
  movsbl 0x1(%rbx),%edx
  movsbl (%rbx),%eax
  shl    $0x8,%edx
  add    %eax,%edx
  cmp    $0x3,%ecx
  je     L159
L112:
  or     $0x202020,%edx
  lea    D65(%rip),%rax
  cmp    $0x64706d,%edx
  je     L120
  jle    L40
  lea    D134(%rip),%rax
  cmp    $0x746c64,%edx
  je     L120
  jle    L61
  lea    D85(%rip),%rax
  cmp    $0x74706d,%edx
  je     L120
  cmp    $0x786578,%edx
  jne    L99
  lea    D149(%rip),%rax
L120:
  pop    %rbx
  ret
L40:
  lea    D99(%rip),%rax
  cmp    $0x386d74,%edx
  je     L120
  jle    L7
  lea    D30(%rip),%rax
  cmp    $0x636d64,%edx
  je     L120
  cmp    $0x636d74,%edx
  jne    L59
  lea    D99(%rip),%rax
  pop    %rbx
  ret
  nopl   0x0(%rax)
L7:
  lea    D118(%rip),%rax
  cmp    $0x326d74,%edx
  je     L120
  cmp    $0x336d63,%edx
  jne    L47
  lea    D1(%rip),%rax
  pop    %rbx
  ret
  nopl   0x0(%rax,%rax,1)
L61:
  lea    D92(%rip),%rax
  cmp    $0x726d63,%edx
  je     L120
  cmp    $0x736d63,%edx
  jne    L17
  lea    D40(%rip),%rax
  pop    %rbx
  ret
L59:
  cmp    $0x636d63,%edx
  lea    D142(%rip),%rax
  mov    $0x0,%edx
  pop    %rbx
  cmovne %rdx,%rax
  ret
L17:
  cmp    $0x706173,%edx
  lea    D91(%rip),%rax
  mov    $0x0,%edx
  pop    %rbx
  cmovne %rdx,%rax
  ret
L99:
  cmp    $0x746d72,%edx
  lea    D72(%rip),%rax
  mov    $0x0,%edx
  pop    %rbx
  cmovne %rdx,%rax
  ret
L47:
  cmp    $0x206366,%edx
  lea    D101(%rip),%rax
  mov    $0x0,%edx
  pop    %rbx
  cmovne %rdx,%rax
  ret
L159:
  movsbl 0x2(%rbx),%eax
  shl    $0x10,%eax
  add    %eax,%edx
  jmp    L112
```

tool_calls: name: read_data
arguments: tag: D65
type_infered: string
name: read_data
arguments: tag: D134
type_infered: string
name: read_data
arguments: tag: D85
type_infered: string
name: read_data
arguments: tag: D149
type_infered: string
name: read_data
arguments: tag: D99
type_infered: string
name: read_data
arguments: tag: D30
type_infered: string
name: read_data
arguments: tag: D118
type_infered: string
name: read_data
arguments: tag: D1
type_infered: string
name: read_data
arguments: tag: D92
type_infered: string
name: read_data
arguments: tag: D40
type_infered: string
name: read_data
arguments: tag: D142
type_infered: string
name: read_data
arguments: tag: D91
type_infered: string
name: read_data
arguments: tag: D72
type_infered: string
name: read_data
arguments: tag: D101
type_infered: string

tool: D65: MPT DoublePlay

tool: D134: Delta Music Composer

tool: D85: Music ProTracker

tool: D149: Atari 8-bit executable

tool: D99: Theta Music Composer 1.x

tool: D30: DoublePlay CMC

tool: D118: Theta Music Composer 2.x

tool: D1: CMC "3/4"

tool: D92: CMC "Rzog"

tool: D40: Stereo Double CMC

tool: D142: Chaos Music Composer

tool: D91: Slight Atari Player

tool: D72: Raster Music Tracker

tool: D101: 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;
  }
}
```