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

```asm
<init_blocked_signals>:
  endbr64
  push   %r12
  push   %rbp
  mov    %rdi,%rbp
  push   %rbx
  sub    $0x70,%rsp
  mov    D145(%rip),%rdx
  mov    %fs:0x28,%rax
  mov    %rax,0x68(%rsp)
  mov    D167(%rip),%rax
  movd   (%rdx),%xmm0
  mov    D1(%rip),%rdx
  movd   (%rdx),%xmm3
  mov    D13(%rip),%rdx
  mov    (%rax),%eax
  movd   %eax,%xmm6
  mov    D11(%rip),%rax
  punpckldq %xmm6,%xmm0
  mov    (%rax),%eax
  movd   %eax,%xmm7
  mov    D177(%rip),%rax
  punpckldq %xmm7,%xmm3
  mov    (%rax),%eax
  punpcklqdq %xmm0,%xmm3
  movd   (%rdx),%xmm0
  mov    D85(%rip),%rdx
  movd   %eax,%xmm6
  mov    D88(%rip),%rax
  punpckldq %xmm6,%xmm0
  movd   (%rdx),%xmm2
  mov    D94(%rip),%rdx
  mov    (%rax),%eax
  movd   %eax,%xmm7
  mov    D184(%rip),%rax
  punpckldq %xmm7,%xmm2
  mov    (%rax),%eax
  punpcklqdq %xmm0,%xmm2
  movd   (%rdx),%xmm0
  mov    D199(%rip),%rdx
  movd   %eax,%xmm6
  mov    D38(%rip),%rax
  movd   (%rdx),%xmm1
  punpckldq %xmm6,%xmm0
  mov    (%rax),%eax
  movd   %eax,%xmm7
  mov    D112(%rip),%rax
  punpckldq %xmm7,%xmm1
  mov    (%rax),%eax
  mov    D198(%rip),%rdx
  punpcklqdq %xmm0,%xmm1
  movaps %xmm3,0x10(%rsp)
  movaps %xmm1,0x30(%rsp)
  movd   %eax,%xmm5
  mov    D130(%rip),%rax
  movd   (%rdx),%xmm4
  movaps %xmm2,0x20(%rsp)
  mov    D201(%rip),%rdx
  mov    (%rax),%eax
  punpckldq %xmm5,%xmm4
  movd   (%rdx),%xmm0
  mov    D129(%rip),%rdx
  movd   %eax,%xmm6
  mov    D104(%rip),%rax
  punpckldq %xmm6,%xmm0
  movd   (%rdx),%xmm5
  mov    D7(%rip),%rdx
  mov    (%rax),%eax
  punpcklqdq %xmm4,%xmm0
  movd   (%rdx),%xmm4
  mov    D221(%rip),%rdx
  movaps %xmm0,0x40(%rsp)
  movd   %eax,%xmm7
  mov    D180(%rip),%rax
  movd   (%rdx),%xmm0
  punpckldq %xmm7,%xmm5
  mov    (%rax),%eax
  movd   %eax,%xmm6
  mov    D185(%rip),%rax
  punpckldq %xmm6,%xmm4
  mov    (%rax),%eax
  punpcklqdq %xmm5,%xmm4
  movaps %xmm4,(%rsp)
  movd   %eax,%xmm1
  mov    D203(%rip),%rax
  punpckldq %xmm1,%xmm0
  mov    (%rax),%eax
  movq   %xmm0,0x50(%rsp)
  mov    %eax,0x58(%rsp)
  call   <sigemptyset@plt>
  test   %rax,%rax
  jne    L36
L66:
  mov    %rsp,%rbx
  lea    0x5c(%rsp),%r12
  jmp    L15
  nopl   0x0(%rax)
L13:
  add    $0x4,%rbx
  cmp    %rbx,%r12
  je     L62
L15:
  mov    (%rbx),%esi
  mov    %rbp,%rdi
  call   <sigaddset@plt>
  test   %rax,%rax
  je     L13
  mov    $0xffffffff,%edi
  add    $0x4,%rbx
  call   <exit@plt>
  cmp    %rbx,%r12
  jne    L15
L62:
  mov    0x68(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L37
  add    $0x70,%rsp
  xor    %eax,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  ret
  xchg   %ax,%ax
L36:
  mov    $0xffffffff,%edi
  call   <exit@plt>
  jmp    L66
L37:
  call   <__stack_chk_fail@plt>
```

assistant: ```c
int init_blocked_signals(sigset_t *signals_to_block) {
  int signals[] = {SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGTRAP, SIGABRT, SIGIOT, SIGFPE, SIGBUS, SIGSYS, SIGPIPE, SIGALRM, SIGTERM, SIGUSR1, SIGUSR2, SIGPOLL, SIGTSTP, SIGTTIN, SIGTTOU, SIGVTALRM, SIGPROF, SIGXCPU, SIGXFSZ};
  int num_signals = 23;
  int i;
  if (sigemptyset(signals_to_block)) {
    exit(-1);
  }
  for (i = 0; i < num_signals; i++) {
    if (sigaddset(signals_to_block, signals[i])) {
      exit(-1);
    }
  }
  return 0;
}
```