user: 下面的汇编指令对应的C源代码是什么：

```asm
<op_multiply_usage>:
  endbr64
  push   %r14
  lea    D14(%rip),%rax
  lea    D68(%rip),%r14
  push   %r13
  mov    %rdi,%r13
  push   %r12
  mov    %rdx,%r12
  push   %rbp
  mov    %rsi,%rbp
  lea    D90(%rip),%rsi
  mov    %rbp,%rdi
  sub    $0x8,%rsp
  test   %rdx,%rdx
  cmove  %rax,%r12
  xor    %eax,%eax
  mov    %r12,%rdx
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D24(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %r14,%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <fprintf@plt>
  mov    %r13,%rcx
  mov    %r12,%rdx
  mov    %rbp,%rdi
  lea    D18(%rip),%rsi
  xor    %eax,%eax
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D23(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D66(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D116(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D86(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D100(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %r14,%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D4(%rip),%rsi
  call   <fprintf@plt>
  add    $0x8,%rsp
  mov    %r12,%rdx
  mov    %rbp,%rdi
  lea    D80(%rip),%rsi
  pop    %rbp
  xor    %eax,%eax
  pop    %r12
  pop    %r13
  pop    %r14
  jmp    1050 <fprintf@plt>
```

tool_calls: name: extract_symbolic_data
arguments: label: D14
type_infered: string
name: extract_symbolic_data
arguments: label: D68
type_infered: string
name: extract_symbolic_data
arguments: label: D90
type_infered: string
name: extract_symbolic_data
arguments: label: D24
type_infered: string
name: extract_symbolic_data
arguments: label: D18
type_infered: string
name: extract_symbolic_data
arguments: label: D23
type_infered: string
name: extract_symbolic_data
arguments: label: D66
type_infered: string
name: extract_symbolic_data
arguments: label: D116
type_infered: string
name: extract_symbolic_data
arguments: label: D86
type_infered: string
name: extract_symbolic_data
arguments: label: D100
type_infered: string
name: extract_symbolic_data
arguments: label: D4
type_infered: string
name: extract_symbolic_data
arguments: label: D80
type_infered: string

tool: 

tool: D68: %s


tool: D90: %sMultiply an incoming set of interval values by the current set. Note that


tool: D24: %sintervals absent in the incoming set are considered to be zeros.


tool: D18: %susage: %s <filename> [options]


tool: D23: %s  --value=<col>            input intervals contain a value in the specified


tool: D66: %s                           column


tool: D116: %s  --novalue                input intervals have no value (value given is 1)


tool: D86: %s  --origin=one             input/output intervals are origin-one, closed


tool: D100: %s  --origin=zero            input/output intervals are origin-zero, half-open


tool: D4: %sThe input intervals are required to be sorted along each chromosome, and


tool: D80: %snon-overlapping)


assistant: ```c
void op_multiply_usage(char *name, FILE *f, char *indent) {
  if (indent == NULL)
    indent = "";
  fprintf(f, "%sMultiply an incoming set of interval values by the current set. Note that\n", indent);
  fprintf(f, "%sintervals absent in the incoming set are considered to be zeros.\n", indent);
  fprintf(f, "%s\n", indent);
  fprintf(f, "%susage: %s <filename> [options]\n", indent, name);
  fprintf(f, "%s  --value=<col>            input intervals contain a value in the specified\n", indent);
  fprintf(f, "%s                           column\n", indent);
  fprintf(f, "%s  --novalue                input intervals have no value (value given is 1)\n", indent);
  fprintf(f, "%s  --origin=one             input/output intervals are origin-one, closed\n", indent);
  fprintf(f, "%s  --origin=zero            input/output intervals are origin-zero, half-open\n", indent);
  fprintf(f, "%s\n", indent);
  fprintf(f, "%sThe input intervals are required to be sorted along each chromosome, and\n", indent);
  fprintf(f, "%snon-overlapping)\n", indent);
}
```