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

```asm
<main>:
  endbr64
  push   %r12
  lea    D79(%rip),%rdi
  push   %rbp
  sub    $0x38,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x28(%rsp)
  xor    %eax,%eax
  lea    0x19(%rsp),%rbp
  call   <printf@plt>
  lea    0x14(%rsp),%rcx
  lea    0x10(%rsp),%rdx
  lea    0xc(%rsp),%rsi
  lea    D34(%rip),%rdi
  call   <scanf@plt>
  mov    0xc(%rsp),%esi
  mov    0x10(%rsp),%edx
  mov    %rbp,%rcx
  mov    $0x180,%edi
  call   <syscall@plt>
  lea    D67(%rip),%rsi
  mov    %rbp,%rdi
  mov    %eax,%r12d
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L135
  lea    D156(%rip),%rdi
  call   <printf@plt>
L206:
  mov    0x28(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L127
  add    $0x38,%rsp
  mov    %r12d,%eax
  pop    %rbp
  pop    %r12
  ret
L135:
  lea    D191(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L111
  lea    D171(%rip),%rdi
  call   <printf@plt>
  jmp    L206
L111:
  lea    D94(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L193
  lea    D47(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L105
  lea    D115(%rip),%rdi
  call   <printf@plt>
  jmp    L206
L193:
  lea    D210(%rip),%rdi
  call   <printf@plt>
  jmp    L206
L105:
  lea    D40(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L155
  lea    D0(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L237
  lea    D133(%rip),%rdi
  call   <printf@plt>
  jmp    L206
L155:
  lea    D78(%rip),%rdi
  call   <printf@plt>
  jmp    L206
L237:
  lea    D103(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L143
  lea    D225(%rip),%rdi
  call   <printf@plt>
  jmp    L206
L143:
  lea    D43(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L100
  lea    D2(%rip),%rdi
  call   <printf@plt>
  jmp    L206
L100:
  lea    D71(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L162
  lea    D21(%rip),%rdi
  call   <printf@plt>
  jmp    L206
L162:
  lea    D223(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L172
  lea    D244(%rip),%rdi
  call   <printf@plt>
  jmp    L206
L172:
  lea    D41(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L188
  lea    D112(%rip),%rdi
  call   <printf@plt>
  jmp    L206
L188:
  lea    D145(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L206
  lea    D105(%rip),%rdi
  call   <printf@plt>
  jmp    L206
L127:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: parse_data
arguments: data_tag: D79
data_type: string
name: parse_data
arguments: data_tag: D34
data_type: string
name: parse_data
arguments: data_tag: D67
data_type: string
name: parse_data
arguments: data_tag: D156
data_type: string
name: parse_data
arguments: data_tag: D191
data_type: string
name: parse_data
arguments: data_tag: D171
data_type: string
name: parse_data
arguments: data_tag: D94
data_type: string
name: parse_data
arguments: data_tag: D47
data_type: string
name: parse_data
arguments: data_tag: D115
data_type: string
name: parse_data
arguments: data_tag: D210
data_type: string
name: parse_data
arguments: data_tag: D40
data_type: string
name: parse_data
arguments: data_tag: D0
data_type: string
name: parse_data
arguments: data_tag: D133
data_type: string
name: parse_data
arguments: data_tag: D78
data_type: string
name: parse_data
arguments: data_tag: D103
data_type: string
name: parse_data
arguments: data_tag: D225
data_type: string
name: parse_data
arguments: data_tag: D43
data_type: string
name: parse_data
arguments: data_tag: D2
data_type: string
name: parse_data
arguments: data_tag: D71
data_type: string
name: parse_data
arguments: data_tag: D21
data_type: string
name: parse_data
arguments: data_tag: D223
data_type: string
name: parse_data
arguments: data_tag: D244
data_type: string
name: parse_data
arguments: data_tag: D41
data_type: string
name: parse_data
arguments: data_tag: D112
data_type: string
name: parse_data
arguments: data_tag: D145
data_type: string
name: parse_data
arguments: data_tag: D105
data_type: string

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


tool: D34: %d/%d/%d

tool: D67: Aries

tool: D156: O clima promete esquentar na intimidade


tool: D191: Touro

tool: D171: Nao sou oceano para ser pacifico


tool: D94: Gemeos

tool: D47: Cancer

tool: D115: O mundo gira e vacilao roda


tool: D210: Toma jeito


tool: D40: Leao

tool: D0: Virgem

tool: D133: De dia santinha, de noite soltinha


tool: D78: Nao tenha preguica de ser feliz


tool: D103: Libra

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


tool: D43: Escorpiao

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


tool: D71: Sagitario

tool: D21: Felicidade sem plateia dura mais


tool: D223: Capricornio

tool: D244: Falta J C no seu coracao


tool: D41: Aquario

tool: D112: Se me atacar vou te atacar


tool: D145: Peixes

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