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

```asm
<__tractorbeam_print_sendusage>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x420,%rsp
  mov    %rdi,-0x418(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    -0x418(%rbp),%rax
  mov    %rax,%rsi
  lea    D102(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    $0x3c,%edx
  lea    D32(%rip),%rax
  mov    %rax,%rsi
  lea    D45(%rip),%rax
  mov    %rax,%rdi
  call   <__printf_indent@plt>
  lea    -0x410(%rbp),%rax
  lea    D136(%rip),%rdx
  mov    %rdx,%rcx
  lea    D115(%rip),%rdx
  mov    $0x400,%esi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <snprintf@plt>
  lea    -0x410(%rbp),%rax
  mov    $0x4c,%edx
  mov    %rax,%rsi
  lea    D1(%rip),%rax
  mov    %rax,%rdi
  call   <__printf_indent@plt>
  lea    -0x410(%rbp),%rax
  lea    D61(%rip),%rdx
  mov    $0x400,%esi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <snprintf@plt>
  lea    -0x410(%rbp),%rax
  mov    $0x4c,%edx
  mov    %rax,%rsi
  lea    D93(%rip),%rax
  mov    %rax,%rdi
  call   <__printf_indent@plt>
  lea    -0x410(%rbp),%rax
  lea    D70(%rip),%rdx
  mov    $0x400,%esi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <snprintf@plt>
  lea    -0x410(%rbp),%rax
  mov    $0x4c,%edx
  mov    %rax,%rsi
  lea    D62(%rip),%rax
  mov    %rax,%rdi
  call   <__printf_indent@plt>
  lea    -0x410(%rbp),%rax
  mov    $0x5,%ecx
  lea    D59(%rip),%rdx
  mov    $0x400,%esi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <snprintf@plt>
  lea    -0x410(%rbp),%rax
  mov    $0x4c,%edx
  mov    %rax,%rsi
  lea    D35(%rip),%rax
  mov    %rax,%rdi
  call   <__printf_indent@plt>
  lea    -0x410(%rbp),%rax
  mov    $0x1388,%ecx
  lea    D60(%rip),%rdx
  mov    $0x400,%esi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <snprintf@plt>
  lea    -0x410(%rbp),%rax
  mov    $0x4c,%edx
  mov    %rax,%rsi
  lea    D21(%rip),%rax
  mov    %rax,%rdi
  call   <__printf_indent@plt>
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L0
  call   <__stack_chk_fail@plt>
L0:
  leave
  ret
```

tool_calls: name: parse_data
arguments: label: D102
datatype: string
name: parse_data
arguments: label: D32
datatype: string
name: parse_data
arguments: label: D45
datatype: string
name: parse_data
arguments: label: D136
datatype: string
name: parse_data
arguments: label: D115
datatype: string
name: parse_data
arguments: label: D1
datatype: string
name: parse_data
arguments: label: D61
datatype: string
name: parse_data
arguments: label: D93
datatype: string
name: parse_data
arguments: label: D70
datatype: string
name: parse_data
arguments: label: D62
datatype: string
name: parse_data
arguments: label: D59
datatype: string
name: parse_data
arguments: label: D35
datatype: string
name: parse_data
arguments: label: D60
datatype: string
name: parse_data
arguments: label: D21
datatype: string

tool: D102: USAGE: %s send OPTIONS... -- [ARGV...]


tool: D32:   This program connects to a zookeeper cluster and regularly writes  the output of a given program into a ephemeral node.

tool: 

tool: D136: localhost:2181

tool: D115: The zookeeper cluster to connect to [default:%s];

tool: D1:   --zookeeper STRING  

tool: D61: The path of the ephemeral node you want to create;

tool: D93:   --path STRING       

tool: D70: The image to invoke. This should be the an absolute path (but it is not enforced);

tool: D62:   --exec FILE         

tool: D59: Defines the interval at which the program gets called. The amount of time the program spent during its thing is not taken into account, but the runtime may not exceed this value [default:%d];

tool: D35:   --delay SECONDS     

tool: D60: This defines how much time without communication zookeeper should consider the client still alive [default:%d];

tool: D21:   --timeout MILLISECS 

assistant: ```c
void __tractorbeam_print_sendusage(const char *prg) {
  char buffer[1024];
  printf("USAGE: %s send OPTIONS... -- [ARGV...]\n", prg);
  __printf_indent("",
                  "  This program connects to a zookeeper cluster and regularly writes"
                  "  the output of a given program into a ephemeral node.",
                  60);
  snprintf(buffer, 1024, "The zookeeper cluster to connect to [default:%s];", "localhost:2181");
  __printf_indent("  --zookeeper STRING  ", buffer, 76);
  snprintf(buffer, 1024, "The path of the ephemeral node you want to create;");
  __printf_indent("  --path STRING       ", buffer, 76);
  snprintf(buffer, 1024,
           "The image to invoke. This should be the an absolute path (but it is"
           " not enforced);");
  __printf_indent("  --exec FILE         ", buffer, 76);
  snprintf(buffer, 1024,
           "Defines the interval at which the program gets called. The amount of"
           " time the program spent during its thing is not taken into account,"
           " but the runtime may not exceed this value [default:%d];",
           5);
  __printf_indent("  --delay SECONDS     ", buffer, 76);
  snprintf(buffer, 1024,
           "This defines how much time without communication zookeeper should"
           " consider the client still alive [default:%d];",
           5000);
  __printf_indent("  --timeout MILLISECS ", buffer, 76);
}
```