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

```asm
<get_region_name_AO>:
  endbr64
  cmp    $0x14,%edi
  ja     L6
  lea    D102(%rip),%rdx
  mov    %edi,%edi
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax)
  lea    D56(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
L6:
  xor    %eax,%eax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D120(%rip),%rax
  ret
  lea    D131(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D75(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D30(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D153(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D123(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D26(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D12(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D23(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D110(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D101(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D98(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D108(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D115(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D15(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D178(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D173(%rip),%rax
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D56
type_infered: string
name: extract_symbolic_data
arguments: data_label: D120
type_infered: string
name: extract_symbolic_data
arguments: data_label: D131
type_infered: string
name: extract_symbolic_data
arguments: data_label: D75
type_infered: string
name: extract_symbolic_data
arguments: data_label: D30
type_infered: string
name: extract_symbolic_data
arguments: data_label: D153
type_infered: string
name: extract_symbolic_data
arguments: data_label: D123
type_infered: string
name: extract_symbolic_data
arguments: data_label: D26
type_infered: string
name: extract_symbolic_data
arguments: data_label: D12
type_infered: string
name: extract_symbolic_data
arguments: data_label: D23
type_infered: string
name: extract_symbolic_data
arguments: data_label: D110
type_infered: string
name: extract_symbolic_data
arguments: data_label: D101
type_infered: string
name: extract_symbolic_data
arguments: data_label: D98
type_infered: string
name: extract_symbolic_data
arguments: data_label: D108
type_infered: string
name: extract_symbolic_data
arguments: data_label: D115
type_infered: string
name: extract_symbolic_data
arguments: data_label: D15
type_infered: string
name: extract_symbolic_data
arguments: data_label: D178
type_infered: string
name: extract_symbolic_data
arguments: data_label: D173
type_infered: string

tool: D56: Luanda

tool: D120: Benguela

tool: D131: Cabinda

tool: D75: Cuando Cubango

tool: D30: Cuanza Norte

tool: D153: Cuanza Sul

tool: D123: Cunene

tool: D26: Huambo

tool: D12: Huila

tool: D23: Malanje

tool: D110: Namibe

tool: D101: Moxico

tool: D98: Uige

tool: D108: Zaire

tool: D115: Lunda Norte

tool: D15: Lunda Sul

tool: D178: Bengo

tool: D173: Bie

assistant: ```c
const char *get_region_name_AO(int region_code) {
  switch (region_code) {
  case 1:
    return "Benguela";
  case 2:
    return "Bie";
  case 3:
    return "Cabinda";
  case 4:
    return "Cuando Cubango";
  case 5:
    return "Cuanza Norte";
  case 6:
    return "Cuanza Sul";
  case 7:
    return "Cunene";
  case 8:
    return "Huambo";
  case 9:
    return "Huila";
  case 12:
    return "Malanje";
  case 13:
    return "Namibe";
  case 14:
    return "Moxico";
  case 15:
    return "Uige";
  case 16:
    return "Zaire";
  case 17:
    return "Lunda Norte";
  case 18:
    return "Lunda Sul";
  case 19:
    return "Bengo";
  case 20:
    return "Luanda";
  default:
    return NULL;
  }
}
```