user: 请从给定的汇编指令推导出C源代码：

```asm
<get_region_name_IT>:
  endbr64
  cmp    $0x14,%edi
  ja     L9
  lea    D128(%rip),%rdx
  mov    %edi,%edi
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D57(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D12(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D37(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D53(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D27(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D55(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D52(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D1(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D205(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D85(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D110(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D123(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D64(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D145(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D22(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D121(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D80(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D137(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D138(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D78(%rip),%rax
  ret
L9:
  xor    %eax,%eax
  ret
```

tool_calls: name: read_data
arguments: tag: D57
datatype: string
name: read_data
arguments: tag: D12
datatype: string
name: read_data
arguments: tag: D37
datatype: string
name: read_data
arguments: tag: D53
datatype: string
name: read_data
arguments: tag: D27
datatype: string
name: read_data
arguments: tag: D55
datatype: string
name: read_data
arguments: tag: D52
datatype: string
name: read_data
arguments: tag: D1
datatype: string
name: read_data
arguments: tag: D205
datatype: string
name: read_data
arguments: tag: D85
datatype: string
name: read_data
arguments: tag: D110
datatype: string
name: read_data
arguments: tag: D123
datatype: string
name: read_data
arguments: tag: D64
datatype: string
name: read_data
arguments: tag: D145
datatype: string
name: read_data
arguments: tag: D22
datatype: string
name: read_data
arguments: tag: D121
datatype: string
name: read_data
arguments: tag: D80
datatype: string
name: read_data
arguments: tag: D137
datatype: string
name: read_data
arguments: tag: D138
datatype: string
name: read_data
arguments: tag: D78
datatype: string

tool: D57: Basilicata

tool: D12: Abruzzi

tool: D37: Veneto

tool: D53: Valle d'Aosta

tool: D27: Umbria

tool: D55: Puglia

tool: D52: Piemonte

tool: D1: Molise

tool: D205: Sardegna

tool: D85: Emilia-Romagna

tool: D110: Campania

tool: D123: Calabria

tool: D64: Marche

tool: D145: Lombardia

tool: D22: Liguria

tool: D121: Lazio

tool: D80: Friuli-Venezia Giulia

tool: D137: Trentino-Alto Adige

tool: D138: Toscana

tool: D78: Sicilia

assistant: ```c
const char *get_region_name_IT(int region_code) {
  switch (region_code) {
  case 1:
    return "Abruzzi";
  case 2:
    return "Basilicata";
  case 3:
    return "Calabria";
  case 4:
    return "Campania";
  case 5:
    return "Emilia-Romagna";
  case 6:
    return "Friuli-Venezia Giulia";
  case 7:
    return "Lazio";
  case 8:
    return "Liguria";
  case 9:
    return "Lombardia";
  case 10:
    return "Marche";
  case 11:
    return "Molise";
  case 12:
    return "Piemonte";
  case 13:
    return "Puglia";
  case 14:
    return "Sardegna";
  case 15:
    return "Sicilia";
  case 16:
    return "Toscana";
  case 17:
    return "Trentino-Alto Adige";
  case 18:
    return "Umbria";
  case 19:
    return "Valle d'Aosta";
  case 20:
    return "Veneto";
  default:
    return NULL;
  }
}
```