user: What is the c source code of the assembly code below?

```asm
<signal_name>:
  endbr64
  add    $0xffffff80,%edi
  cmp    $0x1b,%edi
  ja     L1
  lea    D195(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax)
  lea    D6(%rip),%rax
  ret
  lea    D216(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D148(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D95(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D152(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D213(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D294(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D18(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D196(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D272(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D212(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D141(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D255(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D140(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D288(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D235(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D150(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D13(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D241(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D21(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D221(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D197(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D258(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D202(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D184(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D243(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D17(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D16(%rip),%rax
  ret
L1:
  lea    D299(%rip),%rax
  ret
```

tool_calls: name: parse_data
arguments: tag: D6
type_guessed: string
name: parse_data
arguments: tag: D216
type_guessed: string
name: parse_data
arguments: tag: D148
type_guessed: string
name: parse_data
arguments: tag: D95
type_guessed: string
name: parse_data
arguments: tag: D152
type_guessed: string
name: parse_data
arguments: tag: D213
type_guessed: string
name: parse_data
arguments: tag: D294
type_guessed: string
name: parse_data
arguments: tag: D18
type_guessed: string
name: parse_data
arguments: tag: D196
type_guessed: string
name: parse_data
arguments: tag: D272
type_guessed: string
name: parse_data
arguments: tag: D212
type_guessed: string
name: parse_data
arguments: tag: D141
type_guessed: string
name: parse_data
arguments: tag: D255
type_guessed: string
name: parse_data
arguments: tag: D140
type_guessed: string
name: parse_data
arguments: tag: D288
type_guessed: string
name: parse_data
arguments: tag: D235
type_guessed: string
name: parse_data
arguments: tag: D150
type_guessed: string
name: parse_data
arguments: tag: D13
type_guessed: string
name: parse_data
arguments: tag: D241
type_guessed: string
name: parse_data
arguments: tag: D21
type_guessed: string
name: parse_data
arguments: tag: D221
type_guessed: string
name: parse_data
arguments: tag: D197
type_guessed: string
name: parse_data
arguments: tag: D258
type_guessed: string
name: parse_data
arguments: tag: D202
type_guessed: string
name: parse_data
arguments: tag: D184
type_guessed: string
name: parse_data
arguments: tag: D243
type_guessed: string
name: parse_data
arguments: tag: D17
type_guessed: string
name: parse_data
arguments: tag: D16
type_guessed: string
name: parse_data
arguments: tag: D299
type_guessed: string

tool: D6: SIGALRM

tool: D216: SIGABRT

tool: D148: SIGXCPU

tool: D95: SIGXFSZ

tool: D152: SIGHUP

tool: D213: SIGBUS

tool: D294: SIGCHLD

tool: D18: SIGCONT

tool: D196: SIGFPE

tool: D272: SIGURG

tool: D212: SIGILL

tool: D141: SIGINT

tool: D255: SIGKILL

tool: D140: SIGPOLL

tool: D288: SIGPROF

tool: D235: SIGQUIT

tool: D150: SIGSTOP

tool: D13: SIGSYS

tool: D241: SIGTERM

tool: D21: SIGTRAP

tool: D221: SIGPIPE

tool: D197: SIGTSTP

tool: D258: SIGTTIN

tool: D202: SIGTTOU

tool: D184: SIGUSR1

tool: D243: SIGUSR2

tool: D17: SIGVTALRM

tool: D16: SIGSEGV

tool: D299: unknown

assistant: ```c
const char *signal_name(int sig) {
  switch (sig) {
  case SIGABRT:
    return "SIGABRT";
  case SIGALRM:
    return "SIGALRM";
  case SIGBUS:
    return "SIGBUS";
  case SIGCHLD:
    return "SIGCHLD";
  case SIGCONT:
    return "SIGCONT";
  case SIGFPE:
    return "SIGFPE";
  case SIGHUP:
    return "SIGHUP";
  case SIGILL:
    return "SIGILL";
  case SIGINT:
    return "SIGINT";
  case SIGKILL:
    return "SIGKILL";
  case SIGPIPE:
    return "SIGPIPE";
  case SIGPOLL:
    return "SIGPOLL";
  case SIGPROF:
    return "SIGPROF";
  case SIGQUIT:
    return "SIGQUIT";
  case SIGSEGV:
    return "SIGSEGV";
  case SIGSTOP:
    return "SIGSTOP";
  case SIGSYS:
    return "SIGSYS";
  case SIGTERM:
    return "SIGTERM";
  case SIGTRAP:
    return "SIGTRAP";
  case SIGTSTP:
    return "SIGTSTP";
  case SIGTTIN:
    return "SIGTTIN";
  case SIGTTOU:
    return "SIGTTOU";
  case SIGURG:
    return "SIGURG";
  case SIGUSR1:
    return "SIGUSR1";
  case SIGUSR2:
    return "SIGUSR2";
  case SIGVTALRM:
    return "SIGVTALRM";
  case SIGXCPU:
    return "SIGXCPU";
  case SIGXFSZ:
    return "SIGXFSZ";
  default:
    return "unknown";
  }
}
```