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

```asm
<audio_out_format_name>:
  endbr64
  lea    D144(%rip),%rax
  cmp    $0x400,%edi
  je     L54
  jg     L143
  cmp    $0x20,%edi
  jg     L10
  lea    D241(%rip),%rax
  test   %edi,%edi
  jle    L54
  cmp    $0x20,%edi
  ja     L115
  mov    %edi,%edi
  lea    D117(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D172(%rip),%rax
  ret
L115:
  lea    D241(%rip),%rax
  ret
L10:
  lea    D231(%rip),%rax
  cmp    $0x100,%edi
  je     L54
  jle    L45
  cmp    $0x200,%edi
  lea    D241(%rip),%rax
  lea    D191(%rip),%rdx
  cmove  %rdx,%rax
  ret
L45:
  lea    D278(%rip),%rax
  cmp    $0x40,%edi
  je     L54
  cmp    $0x80,%edi
  lea    D241(%rip),%rax
  lea    D149(%rip),%rdx
  cmove  %rdx,%rax
  ret
L143:
  lea    D244(%rip),%rax
  cmp    $0x8000,%edi
  je     L54
  jle    L148
  lea    D267(%rip),%rax
  cmp    $0x40000,%edi
  je     L54
  jle    L85
  cmp    $0x100000,%edi
  lea    D241(%rip),%rax
  lea    D155(%rip),%rdx
  cmove  %rdx,%rax
  ret
L148:
  lea    D185(%rip),%rax
  cmp    $0x2000,%edi
  je     L54
  jle    L60
  cmp    $0x4000,%edi
  lea    D241(%rip),%rax
  lea    D189(%rip),%rdx
  cmove  %rdx,%rax
  ret
L60:
  lea    D210(%rip),%rax
  cmp    $0x800,%edi
  je     L54
  cmp    $0x1000,%edi
  lea    D241(%rip),%rax
  lea    D79(%rip),%rdx
  cmove  %rdx,%rax
  ret
L85:
  lea    D95(%rip),%rax
  cmp    $0x10000,%edi
  je     L54
  cmp    $0x20000,%edi
  lea    D241(%rip),%rax
  lea    D263(%rip),%rdx
  cmove  %rdx,%rax
  ret
  lea    D51(%rip),%rax
  ret
  lea    D217(%rip),%rax
  ret
  lea    D249(%rip),%rax
  ret
  lea    D182(%rip),%rax
  ret
  lea    D238(%rip),%rax
L54:
  ret
```

tool_calls: name: extract_symbolic_data
arguments: tag: D144
type_guessed: string
name: extract_symbolic_data
arguments: tag: D241
type_guessed: string
name: extract_symbolic_data
arguments: tag: D172
type_guessed: string
name: extract_symbolic_data
arguments: tag: D231
type_guessed: string
name: extract_symbolic_data
arguments: tag: D191
type_guessed: string
name: extract_symbolic_data
arguments: tag: D278
type_guessed: string
name: extract_symbolic_data
arguments: tag: D149
type_guessed: string
name: extract_symbolic_data
arguments: tag: D244
type_guessed: string
name: extract_symbolic_data
arguments: tag: D267
type_guessed: string
name: extract_symbolic_data
arguments: tag: D155
type_guessed: string
name: extract_symbolic_data
arguments: tag: D185
type_guessed: string
name: extract_symbolic_data
arguments: tag: D189
type_guessed: string
name: extract_symbolic_data
arguments: tag: D210
type_guessed: string
name: extract_symbolic_data
arguments: tag: D79
type_guessed: string
name: extract_symbolic_data
arguments: tag: D95
type_guessed: string
name: extract_symbolic_data
arguments: tag: D263
type_guessed: string
name: extract_symbolic_data
arguments: tag: D51
type_guessed: string
name: extract_symbolic_data
arguments: tag: D217
type_guessed: string
name: extract_symbolic_data
arguments: tag: D249
type_guessed: string
name: extract_symbolic_data
arguments: tag: D182
type_guessed: string
name: extract_symbolic_data
arguments: tag: D238
type_guessed: string

tool: D144: AC3

tool: D241: Unknown

tool: D172: A-Law

tool: D231: Unsigned 16-bit (Big-Endian)

tool: D191: MPEG (2) audio

tool: D278: Signed 8-bit

tool: D149: Unsigned 16-bit (Little-Endian)

tool: D244: Signed 32-bit (Little-Endian)

tool: D267: Unsigned 32-bit (Big-Endian)

tool: D155: Floating Point

tool: D185: Unsigned 24-bit (Little-Endian)

tool: D189: Unsigned 24-bit (Big-Endian)

tool: D210: Signed 24-bit (Little-Endian)

tool: D79: Signed 24-bit (Big-Endian)

tool: D95: Signed 32-bit (Big-Endian)

tool: D263: Unsigned 32-bit (Little-Endian)

tool: D51: Ima-ADPCM

tool: D217: Unsigned 8-bit

tool: D249: Signed 16-bit (Little-Endian)

tool: D182: Signed 16-bit (Big-Endian)

tool: D238: Mu-Law

assistant: ```c
char *audio_out_format_name(int format) {
  switch (format) {
  case 0x00000001:
    return ("Mu-Law");
  case 0x00000002:
    return ("A-Law");
  case 0x00000004:
    return ("Ima-ADPCM");
  case 0x00000040:
    return ("Signed 8-bit");
  case 0x00000008:
    return ("Unsigned 8-bit");
  case 0x00000080:
    return ("Unsigned 16-bit (Little-Endian)");
  case 0x00000100:
    return ("Unsigned 16-bit (Big-Endian)");
  case 0x00000010:
    return ("Signed 16-bit (Little-Endian)");
  case 0x00000020:
    return ("Signed 16-bit (Big-Endian)");
  case 0x00000200:
    return ("MPEG (2) audio");
  case 0x00000400:
    return ("AC3");
  case 0x00020000:
    return ("Unsigned 32-bit (Little-Endian)");
  case 0x00040000:
    return ("Unsigned 32-bit (Big-Endian)");
  case 0x00008000:
    return ("Signed 32-bit (Little-Endian)");
  case 0x00010000:
    return ("Signed 32-bit (Big-Endian)");
  case 0x00002000:
    return ("Unsigned 24-bit (Little-Endian)");
  case 0x00004000:
    return ("Unsigned 24-bit (Big-Endian)");
  case 0x00000800:
    return ("Signed 24-bit (Little-Endian)");
  case 0x00001000:
    return ("Signed 24-bit (Big-Endian)");
  case 0x00100000:
    return ("Floating Point");
  }
  return ("Unknown");
}
```