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

```asm
<signal_name>:
  endbr64
  add    $0xffffff80,%edi
  cmp    $0x1b,%edi
  ja     L2
  lea    D44(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax)
  lea    D172(%rip),%rax
  ret
  lea    D282(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D94(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D13(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D190(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D279(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D23(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D297(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D39(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D81(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D271(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D188(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D153(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D242(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D227(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D247(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D61(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D78(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D79(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D163(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D298(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D59(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D104(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D56(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D207(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D83(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D162(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D202(%rip),%rax
  ret
L2:
  lea    D243(%rip),%rax
  ret
```

tool_calls: name: unpack_data
arguments: data_label: D172
data_type: string
name: unpack_data
arguments: data_label: D282
data_type: string
name: unpack_data
arguments: data_label: D94
data_type: string
name: unpack_data
arguments: data_label: D13
data_type: string
name: unpack_data
arguments: data_label: D190
data_type: string
name: unpack_data
arguments: data_label: D279
data_type: string
name: unpack_data
arguments: data_label: D23
data_type: string
name: unpack_data
arguments: data_label: D297
data_type: string
name: unpack_data
arguments: data_label: D39
data_type: string
name: unpack_data
arguments: data_label: D81
data_type: string
name: unpack_data
arguments: data_label: D271
data_type: string
name: unpack_data
arguments: data_label: D188
data_type: string
name: unpack_data
arguments: data_label: D153
data_type: string
name: unpack_data
arguments: data_label: D242
data_type: string
name: unpack_data
arguments: data_label: D227
data_type: string
name: unpack_data
arguments: data_label: D247
data_type: string
name: unpack_data
arguments: data_label: D61
data_type: string
name: unpack_data
arguments: data_label: D78
data_type: string
name: unpack_data
arguments: data_label: D79
data_type: string
name: unpack_data
arguments: data_label: D163
data_type: string
name: unpack_data
arguments: data_label: D298
data_type: string
name: unpack_data
arguments: data_label: D59
data_type: string
name: unpack_data
arguments: data_label: D104
data_type: string
name: unpack_data
arguments: data_label: D56
data_type: string
name: unpack_data
arguments: data_label: D207
data_type: string
name: unpack_data
arguments: data_label: D83
data_type: string
name: unpack_data
arguments: data_label: D162
data_type: string
name: unpack_data
arguments: data_label: D202
data_type: string
name: unpack_data
arguments: data_label: D243
data_type: string

tool: D172: SIGALRM

tool: D282: SIGABRT

tool: D94: SIGXCPU

tool: D13: SIGXFSZ

tool: D190: SIGHUP

tool: D279: SIGBUS

tool: D23: SIGCHLD

tool: D297: SIGCONT

tool: D39: SIGFPE

tool: D81: SIGURG

tool: D271: SIGILL

tool: D188: SIGINT

tool: D153: SIGKILL

tool: D242: SIGPOLL

tool: D227: SIGPROF

tool: D247: SIGQUIT

tool: D61: SIGSTOP

tool: D78: SIGSYS

tool: D79: SIGTERM

tool: D163: SIGTRAP

tool: D298: SIGPIPE

tool: D59: SIGTSTP

tool: D104: SIGTTIN

tool: D56: SIGTTOU

tool: D207: SIGUSR1

tool: D83: SIGUSR2

tool: D162: SIGVTALRM

tool: D202: SIGSEGV

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