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

```asm
<main>:
  endbr64
  push   %rbp
  push   %rbx
  sub    $0x38,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x28(%rsp)
  xor    %eax,%eax
  lea    D207(%rip),%rdi
  call   <printf@plt>
  lea    0x14(%rsp),%rcx
  lea    0x10(%rsp),%rdx
  lea    0xc(%rsp),%rsi
  lea    D75(%rip),%rdi
  call   <scanf@plt>
  lea    0x19(%rsp),%rbx
  mov    %rbx,%rcx
  mov    0x10(%rsp),%edx
  mov    0xc(%rsp),%esi
  mov    $0x180,%edi
  call   <syscall@plt>
  mov    %eax,%ebp
  lea    D2(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L203
  lea    D209(%rip),%rdi
  call   <printf@plt>
L46:
  mov    0x28(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L129
  mov    %ebp,%eax
  add    $0x38,%rsp
  pop    %rbx
  pop    %rbp
  ret
L203:
  lea    0x19(%rsp),%rdi
  lea    D158(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L226
  lea    D149(%rip),%rdi
  call   <printf@plt>
  jmp    L46
L226:
  lea    0x19(%rsp),%rdi
  lea    D19(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L7
  lea    D197(%rip),%rdi
  call   <printf@plt>
  jmp    L46
L7:
  lea    0x19(%rsp),%rdi
  lea    D57(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L89
  lea    D206(%rip),%rdi
  call   <printf@plt>
  jmp    L46
L89:
  lea    0x19(%rsp),%rdi
  lea    D211(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L151
  lea    D223(%rip),%rdi
  call   <printf@plt>
  jmp    L46
L151:
  lea    0x19(%rsp),%rdi
  lea    D217(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L101
  lea    D54(%rip),%rdi
  call   <printf@plt>
  jmp    L46
L101:
  lea    0x19(%rsp),%rdi
  lea    D252(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L179
  lea    D154(%rip),%rdi
  call   <printf@plt>
  jmp    L46
L179:
  lea    0x19(%rsp),%rdi
  lea    D224(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L57
  lea    D83(%rip),%rdi
  call   <printf@plt>
  jmp    L46
L57:
  lea    0x19(%rsp),%rdi
  lea    D4(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L162
  lea    D110(%rip),%rdi
  call   <printf@plt>
  jmp    L46
L162:
  lea    0x19(%rsp),%rdi
  lea    D184(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L189
  lea    D196(%rip),%rdi
  call   <printf@plt>
  jmp    L46
L189:
  lea    0x19(%rsp),%rdi
  lea    D86(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L172
  lea    D99(%rip),%rdi
  call   <printf@plt>
  jmp    L46
L172:
  lea    0x19(%rsp),%rdi
  lea    D255(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L46
  lea    D214(%rip),%rdi
  call   <printf@plt>
  jmp    L46
L129:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: label: D207
type_infered: string
name: unpack_data
arguments: label: D75
type_infered: string
name: unpack_data
arguments: label: D2
type_infered: string
name: unpack_data
arguments: label: D209
type_infered: string
name: unpack_data
arguments: label: D158
type_infered: string
name: unpack_data
arguments: label: D149
type_infered: string
name: unpack_data
arguments: label: D19
type_infered: string
name: unpack_data
arguments: label: D197
type_infered: string
name: unpack_data
arguments: label: D57
type_infered: string
name: unpack_data
arguments: label: D206
type_infered: string
name: unpack_data
arguments: label: D211
type_infered: string
name: unpack_data
arguments: label: D223
type_infered: string
name: unpack_data
arguments: label: D217
type_infered: string
name: unpack_data
arguments: label: D54
type_infered: string
name: unpack_data
arguments: label: D252
type_infered: string
name: unpack_data
arguments: label: D154
type_infered: string
name: unpack_data
arguments: label: D224
type_infered: string
name: unpack_data
arguments: label: D83
type_infered: string
name: unpack_data
arguments: label: D4
type_infered: string
name: unpack_data
arguments: label: D110
type_infered: string
name: unpack_data
arguments: label: D184
type_infered: string
name: unpack_data
arguments: label: D196
type_infered: string
name: unpack_data
arguments: label: D86
type_infered: string
name: unpack_data
arguments: label: D99
type_infered: string
name: unpack_data
arguments: label: D255
type_infered: string
name: unpack_data
arguments: label: D214
type_infered: string

tool: D207: Informe a data de nascimento no formato dd/MM/ano:


tool: D75: %d/%d/%d

tool: D2: Aries

tool: D209: O clima promete esquentar na intimidade


tool: D158: Touro

tool: D149: Nao sou oceano para ser pacifico


tool: D19: Gemeos

tool: D197: Toma jeito


tool: D57: Cancer

tool: D206: O mundo gira e vacilao roda


tool: D211: Leao

tool: D223: Nao tenha preguica de ser feliz


tool: D217: Virgem

tool: D54: De dia santinha, de noite soltinha


tool: D252: Libra

tool: D154: Se der certo beleza, se nao der paciencia


tool: D224: Escorpiao

tool: D83: O que voce tem, todo mundo pode ter, mas o que voce eh... ninguem pode ser


tool: D4: Sagitario

tool: D110: Felicidade sem plateia dura mais


tool: D184: Capricornio

tool: D196: Falta J C no seu coracao


tool: D86: Aquario

tool: D99: Se me atacar vou te atacar


tool: D255: Peixes

tool: D214: A noite, tainha, vinho e muito sexo


assistant: ```c
int main() {
  char signo[15];
  int dia, mes, ano, r;
  printf("Informe a data de nascimento no formato dd/MM/ano:\n");
  scanf("%d/%d/%d", &dia, &mes, &ano);
  r = syscall(384, dia, mes, signo);
  if (strcmp(signo, "Aries") == 0)
    printf("O clima promete esquentar na intimidade\n");
  else if (strcmp(signo, "Touro") == 0)
    printf("Nao sou oceano para ser pacifico\n");
  else if (strcmp(signo, "Gemeos") == 0)
    printf("Toma jeito\n");
  else if (strcmp(signo, "Cancer") == 0)
    printf("O mundo gira e vacilao roda\n");
  else if (strcmp(signo, "Leao") == 0)
    printf("Nao tenha preguica de ser feliz\n");
  else if (strcmp(signo, "Virgem") == 0)
    printf("De dia santinha, de noite soltinha\n");
  else if (strcmp(signo, "Libra") == 0)
    printf("Se der certo beleza, se nao der paciencia\n");
  else if (strcmp(signo, "Escorpiao") == 0)
    printf("O que voce tem, todo mundo pode ter, mas o que voce eh... ninguem pode ser\n");
  else if (strcmp(signo, "Sagitario") == 0)
    printf("Felicidade sem plateia dura mais\n");
  else if (strcmp(signo, "Capricornio") == 0)
    printf("Falta J C no seu coracao\n");
  else if (strcmp(signo, "Aquario") == 0)
    printf("Se me atacar vou te atacar\n");
  else if (strcmp(signo, "Peixes") == 0)
    printf("A noite, tainha, vinho e muito sexo\n");
  return r;
}
```