user: Converte this assembly snippet into its equivalent C code:

```asm
<main>:
  endbr64
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x8,%rsp
  movb   $0x0,D139(%rip)
  lea    D134(%rip),%rbx
  movb   $0x0,D134(%rip)
  movb   $0x0,D164(%rip)
  movb   $0x0,D118(%rip)
  movb   $0x0,D69(%rip)
  mov    %rbx,%rdi
  call   <strlen@plt>
  add    %rax,%rbx
  movabs $0x47554245444e442d,%rax
  mov    %rax,(%rbx)
  movb   $0x0,0x8(%rbx)
  mov    $0x0,%eax
  call   <working_toupper@plt>
  test   %eax,%eax
  je     L8
L11:
  lea    D69(%rip),%r12
  mov    %r12,%rdi
  call   <strlen@plt>
  add    %r12,%rax
  movabs $0x45544e494f50442d,%rcx
  mov    %rcx,(%rax)
  movl   $0x34365f52,0x8(%rax)
  movw   $0x20,0xc(%rax)
  lea    D164(%rip),%rbx
  mov    %rbx,%rdi
  call   <strlen@plt>
  add    %rbx,%rax
  movabs $0x7274732d6f6e662d,%rdx
  movabs $0x61696c612d746369,%rcx
  mov    %rdx,(%rax)
  mov    %rcx,0x8(%rax)
  movl   $0x676e6973,0x10(%rax)
  movw   $0x20,0x14(%rax)
  mov    %rbx,%rdi
  call   <strlen@plt>
  add    %rbx,%rax
  movl   $0x20324f2d,(%rax)
  movb   $0x0,0x4(%rax)
  lea    D118(%rip),%rbp
  mov    %rbp,%rdi
  call   <strlen@plt>
  add    %rbp,%rax
  movl   $0x6c61572d,(%rax)
  movw   $0x206c,0x4(%rax)
  movb   $0x0,0x6(%rax)
  lea    D139(%rip),%r13
  mov    %r13,%rdi
  call   <strlen@plt>
  add    %r13,%rax
  movabs $0x72702d2063636760,%rdx
  movabs $0x6762696c2d746e69,%rcx
  mov    %rdx,(%rax)
  mov    %rcx,0x8(%rax)
  movabs $0x2d656c69662d6363,%rdx
  mov    %rdx,0x10(%rax)
  movl   $0x656d616e,0x18(%rax)
  movw   $0x2060,0x1c(%rax)
  movb   $0x0,0x1e(%rax)
  mov    %rbx,%rsi
  lea    D82(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    %r12,%rsi
  lea    D107(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    %rbp,%rsi
  lea    D30(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D134(%rip),%rsi
  lea    D81(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    %r13,%rsi
  lea    D156(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
  add    $0x8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
L8:
  lea    D69(%rip),%rbx
  mov    %rbx,%rdi
  call   <strlen@plt>
  add    %rax,%rbx
  movabs $0x4e454b4f5242442d,%rax
  movabs $0x205345505954435f,%rdx
  mov    %rax,(%rbx)
  mov    %rdx,0x8(%rbx)
  movb   $0x0,0x10(%rbx)
  jmp    L11
```

tool_calls: name: read_data
arguments: tag: D82
datatype: string
name: read_data
arguments: tag: D107
datatype: string
name: read_data
arguments: tag: D30
datatype: string
name: read_data
arguments: tag: D81
datatype: string
name: read_data
arguments: tag: D156
datatype: string

tool: D82: CCOPT="%s"


tool: D107: CCDEFS="%s"


tool: D30: CCWARN="%s"


tool: D81: CCDEBUG="%s"


tool: D156: CCLIBS="%s"


assistant: ```c
int main(argc, argv)
int argc;
char **argv;
{
  static char CCDEFS[800];
  static char CCWARN[800];
  static char CCOPT[800];
  static char CCDEBUG[800];
  static char CCLIBS[800];
  CCDEFS[0] = CCWARN[0] = CCOPT[0] = CCDEBUG[0] = CCLIBS[0] = 0;
  strcat(CCDEBUG, "-DNDEBUG");
  if (!working_toupper())
    strcat(CCDEFS, "-DBROKEN_CTYPES ");
  if (sizeof(void *) == 8)
    strcat(CCDEFS, "-DPOINTER_64 ");
  strcat(CCOPT, "-fno-strict-aliasing ");
  strcat(CCOPT, "-O2 ");
  strcat(CCWARN, "-Wall ");
  strcat(CCLIBS, "`gcc -print-libgcc-file-name` ");
  printf("CCOPT=\"%s\"\n", CCOPT);
  printf("CCDEFS=\"%s\"\n", CCDEFS);
  printf("CCWARN=\"%s\"\n", CCWARN);
  printf("CCDEBUG=\"%s\"\n", CCDEBUG);
  printf("CCLIBS=\"%s\"\n", CCLIBS);
  return 0;
}
```