user: Translate the below assembly code into C programming language:

```asm
<gt_sig_register_all>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    D9(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D103(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D13(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D55(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D171(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D100(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D48(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D71(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D76(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D115(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D166(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D1(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D156(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D81(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D8(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D47(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D136(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  mov    D58(%rip),%rax
  mov    (%rax),%eax
  mov    -0x8(%rbp),%rdx
  mov    %rdx,%rsi
  mov    %eax,%edi
  call   <gt_xsignal@plt>
  nop
  leave
  ret
```

assistant: ```c
void gt_sig_register_all(void (*func)(int sigraised)) {
  (void)gt_xsignal(SIGABRT, func);
  (void)gt_xsignal(SIGBUS, func);
  (void)gt_xsignal(SIGFPE, func);
  (void)gt_xsignal(SIGHUP, func);
  (void)gt_xsignal(SIGILL, func);
  (void)gt_xsignal(SIGINT, func);
  (void)gt_xsignal(SIGPIPE, func);
  (void)gt_xsignal(SIGQUIT, func);
  (void)gt_xsignal(SIGSEGV, func);
  (void)gt_xsignal(SIGTERM, func);
  (void)gt_xsignal(SIGTSTP, func);
  (void)gt_xsignal(SIGTTIN, func);
  (void)gt_xsignal(SIGTTOU, func);
  (void)gt_xsignal(SIGUSR1, func);
  (void)gt_xsignal(SIGUSR2, func);
  (void)gt_xsignal(SIGSYS, func);
  (void)gt_xsignal(SIGXCPU, func);
  (void)gt_xsignal(SIGXFSZ, func);
}
```