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

```asm
<op_input_usage>:
  endbr64
  test   %rdx,%rdx
  push   %r13
  lea    D156(%rip),%rax
  mov    %rdi,%r13
  push   %r12
  mov    %rdx,%r12
  cmove  %rax,%r12
  push   %rbp
  mov    %rsi,%rbp
  xor    %eax,%eax
  mov    %rbp,%rdi
  lea    D175(%rip),%rsi
  mov    %r12,%rdx
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D33(%rip),%rsi
  call   <fprintf@plt>
  mov    %r13,%rcx
  mov    %r12,%rdx
  mov    %rbp,%rdi
  lea    D110(%rip),%rsi
  xor    %eax,%eax
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D196(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D65(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D130(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D10(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D185(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D191(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D174(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D19(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D153(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D149(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D14(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D112(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D77(%rip),%rsi
  call   <fprintf@plt>
  xor    %eax,%eax
  mov    %r12,%rdx
  mov    %rbp,%rdi
  lea    D86(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    D161(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rdx
  mov    %rbp,%rdi
  xor    %eax,%eax
  pop    %rbp
  lea    D84(%rip),%rsi
  pop    %r12
  pop    %r13
  jmp    1050 <fprintf@plt>
```

tool_calls: name: disassemble_data
arguments: data_tag: D156
type_guessed: string
name: disassemble_data
arguments: data_tag: D175
type_guessed: string
name: disassemble_data
arguments: data_tag: D33
type_guessed: string
name: disassemble_data
arguments: data_tag: D110
type_guessed: string
name: disassemble_data
arguments: data_tag: D196
type_guessed: string
name: disassemble_data
arguments: data_tag: D65
type_guessed: string
name: disassemble_data
arguments: data_tag: D130
type_guessed: string
name: disassemble_data
arguments: data_tag: D10
type_guessed: string
name: disassemble_data
arguments: data_tag: D185
type_guessed: string
name: disassemble_data
arguments: data_tag: D191
type_guessed: string
name: disassemble_data
arguments: data_tag: D174
type_guessed: string
name: disassemble_data
arguments: data_tag: D19
type_guessed: string
name: disassemble_data
arguments: data_tag: D153
type_guessed: string
name: disassemble_data
arguments: data_tag: D149
type_guessed: string
name: disassemble_data
arguments: data_tag: D14
type_guessed: string
name: disassemble_data
arguments: data_tag: D112
type_guessed: string
name: disassemble_data
arguments: data_tag: D77
type_guessed: string
name: disassemble_data
arguments: data_tag: D86
type_guessed: string
name: disassemble_data
arguments: data_tag: D161
type_guessed: string
name: disassemble_data
arguments: data_tag: D84
type_guessed: string

tool: 

tool: D175: %sRead intervals from a file (replacing the current set).


tool: D33: %s


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


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


tool: D65: %s                           column


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


tool: D10: %s  --missing=<value>        value for intervals missing from input


tool: D185: %s                           (by default, this is zero)


tool: D191: %s  --overlap=sum            when a position is in multiple intervals, sum the


tool: D174: %s                           values


tool: D19: %s                           (this is the default)


tool: D153: %s  --overlap=minimum        when a position is in multiple intervals, keep the


tool: D149: %s                           minimum value


tool: D14: %s  --overlap=maximum        when a position is in multiple intervals, keep the


tool: D112: %s                           maximum value


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


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


tool: D161: %s  --destroy                destroy the file after reading it


tool: D84: %s                           (BE SURE THAT'S WHAT YOU WANT, IT CAN'T BE UNDONE)


assistant: ```c
void op_input_usage(char *name, FILE *f, char *indent) {
  if (indent == NULL)
    indent = "";
  fprintf(f, "%sRead intervals from a file (replacing the current set).\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  --missing=<value>        value for intervals missing from input\n", indent);
  fprintf(f, "%s                           (by default, this is zero)\n", indent);
  fprintf(f, "%s  --overlap=sum            when a position is in multiple intervals, sum the\n", indent);
  fprintf(f, "%s                           values\n", indent);
  fprintf(f, "%s                           (this is the default)\n", indent);
  fprintf(f, "%s  --overlap=minimum        when a position is in multiple intervals, keep the\n", indent);
  fprintf(f, "%s                           minimum value\n", indent);
  fprintf(f, "%s  --overlap=maximum        when a position is in multiple intervals, keep the\n", indent);
  fprintf(f, "%s                           maximum value\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  --destroy                destroy the file after reading it\n", indent);
  fprintf(f, "%s                           (BE SURE THAT'S WHAT YOU WANT, IT CAN'T BE UNDONE)\n", indent);
}
```