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

```asm
<printHeadings>:
  endbr64
  push   %rbp
  push   %rbx
  sub    $0x8,%rsp
  lea    D107(%rip),%rsi
  call   <fopen@plt>
  mov    %rax,%rbx
  lea    D5(%rip),%r9
  lea    D153(%rip),%r8
  lea    D160(%rip),%rcx
  lea    D58(%rip),%rdx
  lea    D172(%rip),%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <fprintf@plt>
  sub    $0x8,%rsp
  lea    D149(%rip),%rcx
  push   %rcx
  lea    D108(%rip),%rdx
  push   %rdx
  lea    D27(%rip),%rax
  push   %rax
  lea    D34(%rip),%r9
  push   %r9
  lea    D199(%rip),%r8
  push   %r8
  push   %rcx
  push   %rdx
  push   %rax
  push   %r9
  push   %r8
  lea    D162(%rip),%rsi
  push   %rsi
  lea    D15(%rip),%rsi
  push   %rsi
  push   %rcx
  push   %rdx
  push   %rax
  lea    D209(%rip),%rcx
  lea    D76(%rip),%rdx
  lea    D185(%rip),%rbp
  mov    %rbp,%rsi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <fprintf@plt>
  add    $0x78,%rsp
  lea    D20(%rip),%rax
  push   %rax
  push   %rax
  lea    D135(%rip),%r8
  push   %r8
  push   %r8
  push   %r8
  push   %rax
  push   %rax
  push   %r8
  push   %r8
  push   %r8
  lea    D188(%rip),%rdx
  push   %rdx
  push   %rdx
  push   %rax
  push   %rax
  push   %r8
  mov    %r8,%r9
  lea    D9(%rip),%rcx
  lea    D176(%rip),%rdx
  mov    %rbp,%rsi
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <fprintf@plt>
  sub    $0xffffffffffffff80,%rsp
  mov    %rbx,%rdi
  call   <fclose@plt>
  add    $0x8,%rsp
  pop    %rbx
  pop    %rbp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D107
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D5
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D153
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D160
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D58
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D172
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D149
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D108
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D27
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D34
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D199
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D162
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D15
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D209
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D76
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D185
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D20
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D135
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D188
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D9
type_infered: string
name: extract_symbolic_data
arguments: data_tag: D176
type_infered: string

tool: D107: w

tool: D5: Away

tool: D153: Home

tool: D160: Overall

tool: D58:  

tool: D172: %33s %10s %32s %20s


tool: D149: PA

tool: D108: PF

tool: D27: T

tool: D34: L

tool: D199: W

tool: D162: SOS

tool: D15: RATE

tool: D209: Team

tool: D76: Rnk

tool: D185: %3s %-20s %2s %2s %2s %4s %4s %7s %7s %8s %2s %2s %4s %4s %4s %2s %2s %4s %4s


tool: D20: --

tool: D135: -

tool: D188: ------

tool: D9: ----

tool: D176: ---

assistant: ```c
void printHeadings(char *outfile) {
  FILE *rank;
  rank = fopen(outfile, "w");
  fprintf(rank, "%33s %10s %32s %20s\n", " ", "Overall", "Home", "Away");
  fprintf(rank, "%3s %-20s %2s %2s %2s %4s %4s %7s %7s %8s %2s %2s %4s %4s %4s %2s %2s %4s %4s\n", "Rnk", "Team", "W", "L", "T", "PF", "PA", "RATE", "SOS", "W", "L", "T", "PF", "PA", "W", "L", "T", "PF", "PA");
  fprintf(rank, "%3s %-20s %2s %2s %2s %4s %4s %7s %7s %8s %2s %2s %4s %4s %4s %2s %2s %4s %4s\n", "---", "----", "-", "-", "-", "--", "--", "------", "------", "-", "-", "-", "--", "--", "-", "-", "-", "--", "--");
  fclose(rank);
  return;
}
```