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

```asm
<dvb_component_type3_str>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %edi,-0x4(%rbp)
  cmpl   $0x24,-0x4(%rbp)
  ja     L144
  mov    -0x4(%rbp),%eax
  lea    0x0(,%rax,4),%rdx
  lea    D8(%rip),%rax
  mov    (%rdx,%rax,1),%eax
  cltq
  lea    D8(%rip),%rdx
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D138(%rip),%rax
  jmp    L85
  lea    D159(%rip),%rax
  jmp    L85
  lea    D166(%rip),%rax
  jmp    L85
  lea    D83(%rip),%rax
  jmp    L85
  lea    D37(%rip),%rax
  jmp    L85
  lea    D41(%rip),%rax
  jmp    L85
  lea    D82(%rip),%rax
  jmp    L85
  lea    D42(%rip),%rax
  jmp    L85
  lea    D110(%rip),%rax
  jmp    L85
  lea    D53(%rip),%rax
  jmp    L85
  lea    D58(%rip),%rax
  jmp    L85
  lea    D88(%rip),%rax
  jmp    L85
  lea    D49(%rip),%rax
  jmp    L85
L144:
  cmpl   $0xaf,-0x4(%rbp)
  jle    L17
  cmpl   $0xfe,-0x4(%rbp)
  jg     L17
  lea    D153(%rip),%rax
  jmp    L85
L17:
  nop
  lea    D81(%rip),%rax
L85:
  pop    %rbp
  ret
```

tool_calls: name: disassemble_data
arguments: data_label: D138
type_guessed: string
name: disassemble_data
arguments: data_label: D159
type_guessed: string
name: disassemble_data
arguments: data_label: D166
type_guessed: string
name: disassemble_data
arguments: data_label: D83
type_guessed: string
name: disassemble_data
arguments: data_label: D37
type_guessed: string
name: disassemble_data
arguments: data_label: D41
type_guessed: string
name: disassemble_data
arguments: data_label: D82
type_guessed: string
name: disassemble_data
arguments: data_label: D42
type_guessed: string
name: disassemble_data
arguments: data_label: D110
type_guessed: string
name: disassemble_data
arguments: data_label: D53
type_guessed: string
name: disassemble_data
arguments: data_label: D58
type_guessed: string
name: disassemble_data
arguments: data_label: D88
type_guessed: string
name: disassemble_data
arguments: data_label: D49
type_guessed: string
name: disassemble_data
arguments: data_label: D153
type_guessed: string
name: disassemble_data
arguments: data_label: D81
type_guessed: string

tool: D138: EBU Teletext subtitles

tool: D159: associated EBU Teletext

tool: D166: VBI data

tool: D83: DVB subtitles (normal) with no monitor aspect ratio criticality

tool: D37: DVB subtitles (normal) for display on 4:3 aspect ratio monitor

tool: D41: DVB subtitles (normal) for display on 16:9 aspect ratio monitor

tool: D82: DVB subtitles (normal) for display on 2.21:1 aspect ratio monitor

tool: D42: DVB subtitles (normal) for display on a high definition monitor

tool: D110: DVB subtitles (for the hard of hearing) with no monitor aspect ratio criticality

tool: D53: DVB subtitles (for the hard of hearing) for display on 4:3 aspect ratio monitor

tool: D58: DVB subtitles (for the hard of hearing) for display on 16:9 aspect ratio monitor

tool: D88: DVB subtitles (for the hard of hearing) for display on 2.21:1 aspect ratio monitor

tool: D49: DVB subtitles (for the hard of hearing) for display on a high definition monitor

tool: D153: user defined

tool: D81: reserved

assistant: ```c
const char *dvb_component_type3_str(int component_type) {
  switch (component_type) {
  case 0x01:
    return "EBU Teletext subtitles";
  case 0x02:
    return "associated EBU Teletext";
  case 0x03:
    return "VBI data";
  case 0x10:
    return "DVB subtitles (normal) with no monitor aspect ratio criticality";
  case 0x11:
    return "DVB subtitles (normal) for display on 4:3 aspect ratio monitor";
  case 0x12:
    return "DVB subtitles (normal) for display on 16:9 aspect ratio monitor";
  case 0x13:
    return "DVB subtitles (normal) for display on 2.21:1 aspect ratio monitor";
  case 0x14:
    return "DVB subtitles (normal) for display on a high definition monitor";
  case 0x20:
    return "DVB subtitles (for the hard of hearing) with no monitor aspect ratio criticality";
  case 0x21:
    return "DVB subtitles (for the hard of hearing) for display on 4:3 aspect ratio monitor";
  case 0x22:
    return "DVB subtitles (for the hard of hearing) for display on 16:9 aspect ratio monitor";
  case 0x23:
    return "DVB subtitles (for the hard of hearing) for display on 2.21:1 aspect ratio monitor";
  case 0x24:
    return "DVB subtitles (for the hard of hearing) for display on a high definition monitor";
  default:
    if (component_type >= 0xb0 && component_type <= 0xfe) {
      return "user defined";
    }
    break;
  }
  return "reserved";
}
```