user: 请将这段汇编代码片段转换成等效的C代码:

```asm
<initcolor>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    $0x0,%eax
  call   <has_colors@plt>
  test   %eax,%eax
  jne    L2
  mov    $0x0,%eax
  jmp    L1
L2:
  mov    $0x0,%eax
  call   <initscr@plt>
  mov    $0x0,%eax
  call   <start_color@plt>
  mov    $0x0,%eax
  call   <refresh@plt>
  mov    $0x0,%eax
  call   <noecho@plt>
  mov    D237(%rip),%rax
  mov    (%rax),%eax
  mov    $0x0,%esi
  mov    %eax,%edi
  call   <wattrset@plt>
  mov    D312(%rip),%rax
  mov    (%rax),%edx
  mov    D237(%rip),%rax
  mov    (%rax),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <scrollok@plt>
  mov    D312(%rip),%rax
  mov    (%rax),%edx
  mov    D237(%rip),%rax
  mov    (%rax),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <leaveok@plt>
  mov    D312(%rip),%rax
  mov    (%rax),%edx
  mov    D237(%rip),%rax
  mov    (%rax),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <idlok@plt>
  mov    D312(%rip),%rax
  mov    (%rax),%edx
  mov    D237(%rip),%rax
  mov    (%rax),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <nodelay@plt>
  mov    D260(%rip),%rax
  mov    (%rax),%edx
  mov    D211(%rip),%rax
  mov    (%rax),%eax
  mov    %eax,%esi
  mov    $0x2,%edi
  call   <init_pair@plt>
  mov    D260(%rip),%rax
  mov    (%rax),%edx
  mov    D238(%rip),%rax
  mov    (%rax),%eax
  mov    %eax,%esi
  mov    $0x5,%edi
  call   <init_pair@plt>
  mov    D260(%rip),%rax
  mov    (%rax),%edx
  mov    D152(%rip),%rax
  mov    (%rax),%eax
  mov    %eax,%esi
  mov    $0x1,%edi
  call   <init_pair@plt>
  mov    D260(%rip),%rax
  mov    (%rax),%edx
  mov    D322(%rip),%rax
  mov    (%rax),%eax
  mov    %eax,%esi
  mov    $0x6,%edi
  call   <init_pair@plt>
  mov    D260(%rip),%rax
  mov    (%rax),%edx
  mov    D238(%rip),%rax
  mov    (%rax),%eax
  mov    %eax,%esi
  mov    $0x7,%edi
  call   <init_pair@plt>
  mov    D260(%rip),%rax
  mov    (%rax),%edx
  mov    D238(%rip),%rax
  mov    (%rax),%eax
  mov    %eax,%esi
  mov    $0x9,%edi
  call   <init_pair@plt>
  mov    D260(%rip),%rax
  mov    (%rax),%edx
  mov    D211(%rip),%rax
  mov    (%rax),%eax
  mov    %eax,%esi
  mov    $0x8,%edi
  call   <init_pair@plt>
  mov    D260(%rip),%rax
  mov    (%rax),%edx
  mov    D238(%rip),%rax
  mov    (%rax),%eax
  mov    %eax,%esi
  mov    $0xb,%edi
  call   <init_pair@plt>
  mov    D260(%rip),%rax
  mov    (%rax),%edx
  mov    D54(%rip),%rax
  mov    (%rax),%eax
  mov    %eax,%esi
  mov    $0xc,%edi
  call   <init_pair@plt>
  mov    D260(%rip),%rax
  mov    (%rax),%edx
  mov    D301(%rip),%rax
  mov    (%rax),%eax
  mov    %eax,%esi
  mov    $0x3,%edi
  call   <init_pair@plt>
  mov    D260(%rip),%rax
  mov    (%rax),%edx
  mov    D301(%rip),%rax
  mov    (%rax),%eax
  mov    %eax,%esi
  mov    $0x4,%edi
  call   <init_pair@plt>
  mov    D260(%rip),%rax
  mov    (%rax),%edx
  mov    D75(%rip),%rax
  mov    (%rax),%eax
  mov    %eax,%esi
  mov    $0xa,%edi
  call   <init_pair@plt>
  mov    D260(%rip),%rax
  mov    (%rax),%edx
  mov    D75(%rip),%rax
  mov    (%rax),%eax
  mov    %eax,%esi
  mov    $0xd,%edi
  call   <init_pair@plt>
  mov    D260(%rip),%rax
  mov    (%rax),%edx
  mov    D54(%rip),%rax
  mov    (%rax),%eax
  mov    %eax,%esi
  mov    $0xe,%edi
  call   <init_pair@plt>
  mov    $0x1,%eax
L1:
  pop    %rbp
  ret
```

assistant: ```c
int initcolor(void) {
  if (!has_colors())
    return 0;
  initscr();
  start_color();
  refresh();
  noecho();
  wattrset(stdscr, 0);
  scrollok(stdscr, TRUE);
  leaveok(stdscr, TRUE);
  idlok(stdscr, TRUE);
  nodelay(stdscr, TRUE);
  init_pair(2, COLOR_GREEN, COLOR_BLACK);
  init_pair(5, COLOR_WHITE, COLOR_BLACK);
  init_pair(1, COLOR_RED, COLOR_BLACK);
  init_pair(6, COLOR_CYAN, COLOR_BLACK);
  init_pair(7, COLOR_WHITE, COLOR_BLACK);
  init_pair(9, COLOR_WHITE, COLOR_BLACK);
  init_pair(8, COLOR_GREEN, COLOR_BLACK);
  init_pair(11, COLOR_WHITE, COLOR_BLACK);
  init_pair(12, COLOR_YELLOW, COLOR_BLACK);
  init_pair(3, COLOR_MAGENTA, COLOR_BLACK);
  init_pair(4, COLOR_MAGENTA, COLOR_BLACK);
  init_pair(10, COLOR_BLUE, COLOR_BLACK);
  init_pair(13, COLOR_BLUE, COLOR_BLACK);
  init_pair(14, COLOR_YELLOW, COLOR_BLACK);
  return 1;
}
```