user: Translate the below assembly code into C programming language:

```asm
<main>:
  endbr64
  push   %rbp
  push   %rbx
  sub    $0x38,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x28(%rsp)
  xor    %eax,%eax
  lea    D62(%rip),%rdi
  call   <puts@plt>
  lea    0x14(%rsp),%rsi
  lea    D43(%rip),%rbp
  mov    %rbp,%rdi
  mov    $0x0,%eax
  call   <scanf@plt>
  lea    D95(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    0x1c(%rsp),%rsi
  lea    D68(%rip),%rbx
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <scanf@plt>
  lea    D46(%rip),%rdi
  call   <puts@plt>
  lea    0x18(%rsp),%rsi
  mov    %rbp,%rdi
  mov    $0x0,%eax
  call   <scanf@plt>
  lea    D52(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    0x20(%rsp),%rsi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <scanf@plt>
  lea    D17(%rip),%rdi
  call   <puts@plt>
  lea    0x24(%rsp),%rsi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <scanf@plt>
  pxor   %xmm0,%xmm0
  cvtsi2ssl 0x14(%rsp),%xmm0
  movaps %xmm0,%xmm2
  mulss  0x1c(%rsp),%xmm2
  pxor   %xmm0,%xmm0
  cvtsi2ssl 0x18(%rsp),%xmm0
  movaps %xmm0,%xmm3
  mulss  0x20(%rsp),%xmm3
  movss  %xmm2,0x4(%rsp)
  movaps %xmm2,%xmm0
  movss  %xmm3,0x8(%rsp)
  addss  %xmm3,%xmm0
  mulss  0x24(%rsp),%xmm0
  movaps %xmm0,%xmm4
  divss  D110(%rip),%xmm4
  movss  %xmm4,0xc(%rsp)
  lea    D4(%rip),%rsi
  lea    D36(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x234c36,%esi
  lea    D141(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  cvtss2sd 0x1c(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd 0x4(%rsp),%xmm1
  mov    0x14(%rsp),%esi
  lea    D79(%rip),%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  cvtss2sd 0x20(%rsp),%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd 0x8(%rsp),%xmm1
  mov    0x18(%rsp),%esi
  lea    D29(%rip),%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  cvtss2sd 0x24(%rsp),%xmm0
  lea    D53(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  cvtss2sd 0xc(%rsp),%xmm0
  lea    D18(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  movss  0x4(%rsp),%xmm0
  addss  0xc(%rsp),%xmm0
  addss  0x8(%rsp),%xmm0
  cvtss2sd %xmm0,%xmm0
  lea    D71(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  mov    0x28(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L9
  mov    $0x0,%eax
  add    $0x38,%rsp
  pop    %rbx
  pop    %rbp
  ret
L9:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: extract_symbolic_data
arguments: label: D62
datatype: string
name: extract_symbolic_data
arguments: label: D43
datatype: string
name: extract_symbolic_data
arguments: label: D95
datatype: string
name: extract_symbolic_data
arguments: label: D68
datatype: string
name: extract_symbolic_data
arguments: label: D46
datatype: string
name: extract_symbolic_data
arguments: label: D52
datatype: string
name: extract_symbolic_data
arguments: label: D17
datatype: string
name: extract_symbolic_data
arguments: label: D110
datatype: f32
name: extract_symbolic_data
arguments: label: D4
datatype: string
name: extract_symbolic_data
arguments: label: D36
datatype: string
name: extract_symbolic_data
arguments: label: D141
datatype: string
name: extract_symbolic_data
arguments: label: D79
datatype: string
name: extract_symbolic_data
arguments: label: D29
datatype: string
name: extract_symbolic_data
arguments: label: D53
datatype: string
name: extract_symbolic_data
arguments: label: D18
datatype: string
name: extract_symbolic_data
arguments: label: D71
datatype: string

tool: D62: What is the quantity of item 1?

tool: D43:  %d

tool: D95: What is the price of item 1?
$

tool: D68:  %f

tool: D46: What is the quantity of item 2?

tool: D52: What is the price of item 2?
$

tool: D17: What is the tax rate for item1?(as percentage)

tool: D110: 100

tool: D4: Tru Inc.

tool: D36: 
	%s


tool: D141: Invoice #%d



tool: D79: Item1: %d @ $%.2f per item	$%.2f


tool: D29: Item2: %d @ $%.2f per item	$%.2f


tool: D53: Tax rate:	%.2f%%


tool: D18: Tax amount:	%.2f


tool: D71: Total cost:	%.2f


assistant: ```c
int main() {
  int item1_quantity, item2_quantity;
  float item1_price, item2_price;
  float tax_rate;
  printf("What is the quantity of item 1?\n");
  scanf(" %d", &item1_quantity);
  printf("What is the price of item 1?\n$");
  scanf(" %f", &item1_price);
  printf("What is the quantity of item 2?\n");
  scanf(" %d", &item2_quantity);
  printf("What is the price of item 2?\n$");
  scanf(" %f", &item2_price);
  printf("What is the tax rate for item1?(as percentage)\n");
  scanf(" %f", &tax_rate);
  float item1_total = item1_quantity * item1_price;
  float item2_total = item2_quantity * item2_price;
  float tax_total = (item1_total + item2_total) * tax_rate / 100;
  float total_cost = tax_total + item1_total + item2_total;
  printf("\n\t%s\n", "Tru Inc.");
  printf("Invoice #%d\n\n", 2313270);
  printf("Item1: %d @ $%.2f per item\t$%.2f\n", item1_quantity, item1_price, item1_total);
  printf("Item2: %d @ $%.2f per item\t$%.2f\n", item2_quantity, item2_price, item2_total);
  printf("Tax rate:\t%.2f%%\n", tax_rate);
  printf("Tax amount:\t%.2f\n", tax_total);
  printf("Total cost:\t%.2f\n", total_cost);
  return 0;
}
```