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

```asm
<main>:
  endbr64
  push   %rbp
  lea    D25(%rip),%rdi
  lea    D118(%rip),%rbp
  sub    $0x20,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x18(%rsp)
  xor    %eax,%eax
  call   <puts@plt>
  lea    0x10(%rsp),%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  lea    D86(%rip),%rdi
  call   <puts@plt>
  lea    0x14(%rsp),%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  lea    D59(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    0xc(%rsp),%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  mov    0x10(%rsp),%eax
  cmp    $0x1,%eax
  je     L59
  test   %eax,%eax
  jne    L38
  cmpl   $0x1,0x14(%rsp)
  je     L77
L38:
  mov    0x18(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L94
  add    $0x20,%rsp
  xor    %eax,%eax
  pop    %rbp
  ret
L59:
  mov    0x14(%rsp),%eax
  test   %eax,%eax
  jne    L96
  cmpl   $0x18,0xc(%rsp)
  jg     L86
  movsd  D63(%rip),%xmm0
  lea    D18(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  jmp    L38
L96:
  sub    $0x1,%eax
  jne    L38
  cmpl   $0x18,0xc(%rsp)
  jle    L38
  movsd  D87(%rip),%xmm0
  lea    D8(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  jmp    L38
L77:
  cmpl   $0x18,0xc(%rsp)
  jg     L38
  movsd  D24(%rip),%xmm0
  lea    D8(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  jmp    L38
L86:
  movsd  D85(%rip),%xmm0
  lea    D8(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  jmp    L38
L94:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: tag: D25
type: string
name: unpack_data
arguments: tag: D118
type: string
name: unpack_data
arguments: tag: D86
type: string
name: unpack_data
arguments: tag: D59
type: string
name: unpack_data
arguments: tag: D63
type: byte[8]
name: unpack_data
arguments: tag: D18
type: string
name: unpack_data
arguments: tag: D87
type: byte[8]
name: unpack_data
arguments: tag: D8
type: string
name: unpack_data
arguments: tag: D24
type: byte[8]
name: unpack_data
arguments: tag: D85
type: byte[8]

tool: D25: Are you married? 
 (if maried enter 1, if unmarried enter 0)

tool: D118: %d

tool: D86: Are you male or female? 
 (if female enter 1, if male enter 0) 

tool: D59: Please enter your age: 

tool: {"D63": [0x00,0x00,0x00,0x00,0x00,0x80,0x66,0x40]}

tool: D18: The daily rate for the customer is: %0.2f 


tool: {"D87": [0x00,0x00,0x00,0x00,0x00,0x80,0x56,0x40]}

tool: D8: he daily rate for the customer is: %0.2f 


tool: {"D24": [0x00,0x00,0x00,0x00,0x00,0xc0,0x62,0x40]}

tool: {"D85": [0x00,0x00,0x00,0x00,0x00,0xe0,0x60,0x40]}

assistant: ```c
int main() {
  int age;
  int married;
  int male_female;
  float normal_rate = 100;
  float daily_rate;
  printf("Are you married? \n (if maried enter 1, if unmarried enter 0)\n");
  scanf("%d", &married);
  printf("Are you male or female? \n (if female enter 1, if male enter 0) \n");
  scanf("%d", &male_female);
  printf("Please enter your age: ");
  scanf("%d", &age);
  if ((married == 1) && (male_female == 0) && (age >= 25)) {
    daily_rate = ((normal_rate - 10) * 1.5);
    printf("he daily rate for the customer is: %0.2f \n", daily_rate);
  } else if ((married == 0) && (male_female == 1) && (age < 25)) {
    daily_rate = ((normal_rate)*1.5);
    printf("he daily rate for the customer is: %0.2f \n", daily_rate);
  } else if ((married == 1) && (male_female == 1) && (age >= 25)) {
    daily_rate = (normal_rate - 10);
    printf("he daily rate for the customer is: %0.2f \n", daily_rate);
  } else if ((married == 1) && (male_female == 0) && (age < 25)) {
    daily_rate = ((normal_rate - 10) * 2);
    printf("The daily rate for the customer is: %0.2f \n", daily_rate);
  }
}
```