user: What would the C source look like for the assembly code provided here?

```asm
<convertlists>:
  endbr64
  push   %r14
  mov    %edi,%edx
  push   %r13
  mov    %edi,%r13d
  push   %r12
  push   %rbp
  lea    D135(%rip),%rbp
  push   %rbx
  mov    %rsi,%rbx
  lea    D142(%rip),%rsi
  sub    $0x270,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x268(%rsp)
  xor    %eax,%eax
  mov    %rsp,%r14
  lea    0xd0(%rsp),%r12
  mov    %r14,%rdi
  call   <sprintf@plt>
  mov    %r13d,%edx
  lea    D96(%rip),%rsi
  mov    %r12,%rdi
  call   <sprintf@plt>
  mov    %rbx,%r8
  mov    %r12,%rcx
  mov    %r14,%rdx
  mov    %rbp,%rsi
  lea    D81(%rip),%rdi
  call   <convertlist@plt>
  mov    %r13d,%edx
  lea    D86(%rip),%rsi
  mov    %r12,%rdi
  call   <sprintf@plt>
  mov    %rbx,%r8
  mov    %r12,%rcx
  mov    %r14,%rdx
  mov    %rbp,%rsi
  lea    D133(%rip),%rdi
  call   <convertlist@plt>
  mov    %r13d,%edx
  lea    D121(%rip),%rsi
  mov    %r12,%rdi
  call   <sprintf@plt>
  mov    %rbx,%r8
  mov    %r12,%rcx
  mov    %r14,%rdx
  mov    %rbp,%rsi
  lea    D105(%rip),%rdi
  call   <convertlist@plt>
  mov    %r13d,%edx
  lea    D171(%rip),%rsi
  mov    %r12,%rdi
  call   <sprintf@plt>
  mov    %rbx,%r8
  mov    %r12,%rcx
  mov    %r14,%rdx
  mov    %rbp,%rsi
  lea    D124(%rip),%rdi
  call   <convertlist@plt>
  mov    %r13d,%edx
  lea    D113(%rip),%rsi
  mov    %r12,%rdi
  call   <sprintf@plt>
  mov    %rbx,%r8
  mov    %r12,%rcx
  mov    %r14,%rdx
  mov    %rbp,%rsi
  lea    D84(%rip),%rdi
  call   <convertlist@plt>
  mov    %r13d,%edx
  lea    D104(%rip),%rsi
  mov    %r12,%rdi
  call   <sprintf@plt>
  mov    %rbx,%r8
  mov    %r12,%rcx
  mov    %r14,%rdx
  mov    %rbp,%rsi
  lea    D33(%rip),%rdi
  call   <convertlist@plt>
  mov    %r13d,%edx
  lea    D156(%rip),%rsi
  mov    %r12,%rdi
  call   <sprintf@plt>
  mov    %rbx,%r8
  mov    %r12,%rcx
  mov    %r14,%rdx
  mov    %rbp,%rsi
  lea    D34(%rip),%rdi
  call   <convertlist@plt>
  mov    %r13d,%edx
  lea    D116(%rip),%rsi
  mov    %r12,%rdi
  call   <sprintf@plt>
  mov    %rbx,%r8
  mov    %r12,%rcx
  mov    %r14,%rdx
  mov    %rbp,%rsi
  lea    D27(%rip),%rdi
  call   <convertlist@plt>
  mov    0x268(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L7
  add    $0x270,%rsp
  xor    %eax,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  ret
L7:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: read_data
arguments: tag: D135
type: string
name: read_data
arguments: tag: D142
type: string
name: read_data
arguments: tag: D96
type: string
name: read_data
arguments: tag: D81
type: string
name: read_data
arguments: tag: D86
type: string
name: read_data
arguments: tag: D133
type: string
name: read_data
arguments: tag: D121
type: string
name: read_data
arguments: tag: D105
type: string
name: read_data
arguments: tag: D171
type: string
name: read_data
arguments: tag: D124
type: string
name: read_data
arguments: tag: D113
type: string
name: read_data
arguments: tag: D84
type: string
name: read_data
arguments: tag: D104
type: string
name: read_data
arguments: tag: D33
type: string
name: read_data
arguments: tag: D156
type: string
name: read_data
arguments: tag: D34
type: string
name: read_data
arguments: tag: D116
type: string
name: read_data
arguments: tag: D27
type: string

tool: D135: ENTRY%d

tool: D142: USER%d

tool: D96: USER%d.OP

tool: D81: OP

tool: D86: USER%d.ASK

tool: D133: ASK

tool: D121: USER%d.BAN

tool: D105: BAN

tool: D171: USER%d.DCC

tool: D124: DCC

tool: D113: USER%d.LGI

tool: D84: LGI

tool: D104: USER%d.AOP

tool: D33: AOP

tool: D156: USER%d.TRA

tool: D34: TRA

tool: D116: USER%d.ENC

tool: D27: ENC

assistant: ```c
int convertlists(int uid, FILE *outfile) {
  char buf[400];
  char fname[200];
  sprintf(fname, "USER%d", uid);
  sprintf(buf, "USER%d.OP", uid);
  convertlist("OP", "ENTRY%d", fname, buf, outfile);
  sprintf(buf, "USER%d.ASK", uid);
  convertlist("ASK", "ENTRY%d", fname, buf, outfile);
  sprintf(buf, "USER%d.BAN", uid);
  convertlist("BAN", "ENTRY%d", fname, buf, outfile);
  sprintf(buf, "USER%d.DCC", uid);
  convertlist("DCC", "ENTRY%d", fname, buf, outfile);
  sprintf(buf, "USER%d.LGI", uid);
  convertlist("LGI", "ENTRY%d", fname, buf, outfile);
  sprintf(buf, "USER%d.AOP", uid);
  convertlist("AOP", "ENTRY%d", fname, buf, outfile);
  sprintf(buf, "USER%d.TRA", uid);
  convertlist("TRA", "ENTRY%d", fname, buf, outfile);
  sprintf(buf, "USER%d.ENC", uid);
  convertlist("ENC", "ENTRY%d", fname, buf, outfile);
  return 0x0;
}
```