user: Please show me the C implementation that matches the assembly code listed below:

```asm
<dvb_component_type3_str>:
  endbr64
  cmp    $0x24,%edi
  ja     L7
  mov    %edi,%eax
  lea    D67(%rip),%rdx
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D118(%rip),%rax
  ret
  lea    D69(%rip),%rax
  ret
  lea    D36(%rip),%rax
  ret
  lea    D11(%rip),%rax
  ret
  lea    D30(%rip),%rax
  ret
  lea    D62(%rip),%rax
  ret
  lea    D110(%rip),%rax
  ret
  lea    D80(%rip),%rax
  ret
  lea    D99(%rip),%rax
  ret
  lea    D4(%rip),%rax
  ret
  lea    D93(%rip),%rax
  ret
  lea    D100(%rip),%rax
  ret
L7:
  sub    $0xb0,%edi
  cmp    $0x4e,%edi
  lea    D117(%rip),%rax
  lea    D135(%rip),%rdx
  cmovbe %rdx,%rax
  ret
  lea    D127(%rip),%rax
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D118
data_type: string
name: extract_symbolic_data
arguments: data_label: D69
data_type: string
name: extract_symbolic_data
arguments: data_label: D36
data_type: string
name: extract_symbolic_data
arguments: data_label: D11
data_type: string
name: extract_symbolic_data
arguments: data_label: D30
data_type: string
name: extract_symbolic_data
arguments: data_label: D62
data_type: string
name: extract_symbolic_data
arguments: data_label: D110
data_type: string
name: extract_symbolic_data
arguments: data_label: D80
data_type: string
name: extract_symbolic_data
arguments: data_label: D99
data_type: string
name: extract_symbolic_data
arguments: data_label: D4
data_type: string
name: extract_symbolic_data
arguments: data_label: D93
data_type: string
name: extract_symbolic_data
arguments: data_label: D100
data_type: string
name: extract_symbolic_data
arguments: data_label: D117
data_type: string
name: extract_symbolic_data
arguments: data_label: D135
data_type: string
name: extract_symbolic_data
arguments: data_label: D127
data_type: string

tool: D118: associated EBU Teletext

tool: D69: VBI data

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

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

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

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

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

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

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

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

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

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

tool: D117: reserved

tool: D135: user defined

tool: D127: EBU Teletext subtitles

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