user: What would the C source look like for the assembly code provided here?

```asm
<ASAPInfo_GetExtDescription>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  push   %rbx
  sub    $0x18,%rsp
  mov    %rdi,-0x18(%rbp)
  mov    -0x18(%rbp),%rax
  mov    %rax,%rdi
  call   <strlen@plt>
  sar    %eax
  cmp    $0x1,%eax
  jne    L179
  mov    -0x18(%rbp),%rax
  movzbl (%rax),%eax
  movsbl %al,%edx
  mov    -0x18(%rbp),%rax
  add    $0x1,%rax
  movzbl (%rax),%eax
  movsbl %al,%eax
  shl    $0x8,%eax
  lea    (%rdx,%rax,1),%ebx
  mov    -0x18(%rbp),%rax
  mov    %rax,%rdi
  call   <strlen@plt>
  cmp    $0x3,%eax
  jne    L16
  mov    -0x18(%rbp),%rax
  add    $0x2,%rax
  movzbl (%rax),%eax
  movsbl %al,%eax
  shl    $0x10,%eax
  jmp    L390
L16:
  mov    $0x0,%eax
L390:
  add    %ebx,%eax
  or     $0x202020,%eax
  jmp    L441
L179:
  mov    $0x0,%eax
L441:
  cmp    $0x786578,%eax
  je     L110
  cmp    $0x786578,%eax
  jg     L13
  cmp    $0x74706d,%eax
  je     L153
  cmp    $0x74706d,%eax
  jg     L13
  cmp    $0x746d72,%eax
  je     L61
  cmp    $0x746d72,%eax
  jg     L13
  cmp    $0x746c64,%eax
  je     L82
  cmp    $0x746c64,%eax
  jg     L13
  cmp    $0x736d63,%eax
  je     L349
  cmp    $0x736d63,%eax
  jg     L13
  cmp    $0x726d63,%eax
  je     L294
  cmp    $0x726d63,%eax
  jg     L13
  cmp    $0x706173,%eax
  je     L343
  cmp    $0x706173,%eax
  jg     L13
  cmp    $0x64706d,%eax
  je     L447
  cmp    $0x64706d,%eax
  jg     L13
  cmp    $0x636d74,%eax
  je     L267
  cmp    $0x636d74,%eax
  jg     L13
  cmp    $0x636d64,%eax
  je     L106
  cmp    $0x636d64,%eax
  jg     L13
  cmp    $0x636d63,%eax
  je     L15
  cmp    $0x636d63,%eax
  jg     L13
  cmp    $0x386d74,%eax
  je     L267
  cmp    $0x386d74,%eax
  jg     L13
  cmp    $0x336d63,%eax
  je     L298
  cmp    $0x336d63,%eax
  jg     L13
  cmp    $0x206366,%eax
  je     L165
  cmp    $0x326d74,%eax
  je     L389
  jmp    L13
L343:
  lea    D111(%rip),%rax
  jmp    L278
L15:
  lea    D22(%rip),%rax
  jmp    L278
L298:
  lea    D52(%rip),%rax
  jmp    L278
L294:
  lea    D76(%rip),%rax
  jmp    L278
L349:
  lea    D73(%rip),%rax
  jmp    L278
L106:
  lea    D138(%rip),%rax
  jmp    L278
L82:
  lea    D134(%rip),%rax
  jmp    L278
L153:
  lea    D5(%rip),%rax
  jmp    L278
L447:
  lea    D98(%rip),%rax
  jmp    L278
L61:
  lea    D115(%rip),%rax
  jmp    L278
L267:
  lea    D118(%rip),%rax
  jmp    L278
L389:
  lea    D0(%rip),%rax
  jmp    L278
L165:
  lea    D114(%rip),%rax
  jmp    L278
L110:
  lea    D122(%rip),%rax
  jmp    L278
L13:
  mov    $0x0,%eax
L278:
  mov    -0x8(%rbp),%rbx
  leave
  ret
```

tool_calls: name: retrieve_data
arguments: tag: D111
type_guessed: string
name: retrieve_data
arguments: tag: D22
type_guessed: string
name: retrieve_data
arguments: tag: D52
type_guessed: string
name: retrieve_data
arguments: tag: D76
type_guessed: string
name: retrieve_data
arguments: tag: D73
type_guessed: string
name: retrieve_data
arguments: tag: D138
type_guessed: string
name: retrieve_data
arguments: tag: D134
type_guessed: string
name: retrieve_data
arguments: tag: D5
type_guessed: string
name: retrieve_data
arguments: tag: D98
type_guessed: string
name: retrieve_data
arguments: tag: D115
type_guessed: string
name: retrieve_data
arguments: tag: D118
type_guessed: string
name: retrieve_data
arguments: tag: D0
type_guessed: string
name: retrieve_data
arguments: tag: D114
type_guessed: string
name: retrieve_data
arguments: tag: D122
type_guessed: string

tool: D111: Slight Atari Player

tool: D22: Chaos Music Composer

tool: D52: CMC "3/4"

tool: D76: CMC "Rzog"

tool: D73: Stereo Double CMC

tool: D138: DoublePlay CMC

tool: D134: Delta Music Composer

tool: D5: Music ProTracker

tool: D98: MPT DoublePlay

tool: D115: Raster Music Tracker

tool: D118: Theta Music Composer 1.x

tool: D0: Theta Music Composer 2.x

tool: D114: Future Composer

tool: D122: Atari 8-bit executable

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;
  }
}
```