user: 请将以下的汇编代码转换成C语言代码：

```asm
<convertlists>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x280,%rsp
  mov    %edi,-0x274(%rbp)
  mov    %rsi,-0x280(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    -0x274(%rbp),%edx
  lea    -0x270(%rbp),%rax
  lea    D42(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sprintf@plt>
  mov    -0x274(%rbp),%edx
  lea    -0x1a0(%rbp),%rax
  lea    D73(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sprintf@plt>
  mov    -0x280(%rbp),%rcx
  lea    -0x1a0(%rbp),%rdx
  lea    -0x270(%rbp),%rax
  mov    %rcx,%r8
  mov    %rdx,%rcx
  mov    %rax,%rdx
  lea    D98(%rip),%rax
  mov    %rax,%rsi
  lea    D125(%rip),%rax
  mov    %rax,%rdi
  call   <convertlist@plt>
  mov    -0x274(%rbp),%edx
  lea    -0x1a0(%rbp),%rax
  lea    D66(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sprintf@plt>
  mov    -0x280(%rbp),%rcx
  lea    -0x1a0(%rbp),%rdx
  lea    -0x270(%rbp),%rax
  mov    %rcx,%r8
  mov    %rdx,%rcx
  mov    %rax,%rdx
  lea    D98(%rip),%rax
  mov    %rax,%rsi
  lea    D119(%rip),%rax
  mov    %rax,%rdi
  call   <convertlist@plt>
  mov    -0x274(%rbp),%edx
  lea    -0x1a0(%rbp),%rax
  lea    D48(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sprintf@plt>
  mov    -0x280(%rbp),%rcx
  lea    -0x1a0(%rbp),%rdx
  lea    -0x270(%rbp),%rax
  mov    %rcx,%r8
  mov    %rdx,%rcx
  mov    %rax,%rdx
  lea    D98(%rip),%rax
  mov    %rax,%rsi
  lea    D105(%rip),%rax
  mov    %rax,%rdi
  call   <convertlist@plt>
  mov    -0x274(%rbp),%edx
  lea    -0x1a0(%rbp),%rax
  lea    D24(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sprintf@plt>
  mov    -0x280(%rbp),%rcx
  lea    -0x1a0(%rbp),%rdx
  lea    -0x270(%rbp),%rax
  mov    %rcx,%r8
  mov    %rdx,%rcx
  mov    %rax,%rdx
  lea    D98(%rip),%rax
  mov    %rax,%rsi
  lea    D92(%rip),%rax
  mov    %rax,%rdi
  call   <convertlist@plt>
  mov    -0x274(%rbp),%edx
  lea    -0x1a0(%rbp),%rax
  lea    D222(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sprintf@plt>
  mov    -0x280(%rbp),%rcx
  lea    -0x1a0(%rbp),%rdx
  lea    -0x270(%rbp),%rax
  mov    %rcx,%r8
  mov    %rdx,%rcx
  mov    %rax,%rdx
  lea    D98(%rip),%rax
  mov    %rax,%rsi
  lea    D76(%rip),%rax
  mov    %rax,%rdi
  call   <convertlist@plt>
  mov    -0x274(%rbp),%edx
  lea    -0x1a0(%rbp),%rax
  lea    D204(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sprintf@plt>
  mov    -0x280(%rbp),%rcx
  lea    -0x1a0(%rbp),%rdx
  lea    -0x270(%rbp),%rax
  mov    %rcx,%r8
  mov    %rdx,%rcx
  mov    %rax,%rdx
  lea    D98(%rip),%rax
  mov    %rax,%rsi
  lea    D241(%rip),%rax
  mov    %rax,%rdi
  call   <convertlist@plt>
  mov    -0x274(%rbp),%edx
  lea    -0x1a0(%rbp),%rax
  lea    D167(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sprintf@plt>
  mov    -0x280(%rbp),%rcx
  lea    -0x1a0(%rbp),%rdx
  lea    -0x270(%rbp),%rax
  mov    %rcx,%r8
  mov    %rdx,%rcx
  mov    %rax,%rdx
  lea    D98(%rip),%rax
  mov    %rax,%rsi
  lea    D11(%rip),%rax
  mov    %rax,%rdi
  call   <convertlist@plt>
  mov    -0x274(%rbp),%edx
  lea    -0x1a0(%rbp),%rax
  lea    D90(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sprintf@plt>
  mov    -0x280(%rbp),%rcx
  lea    -0x1a0(%rbp),%rdx
  lea    -0x270(%rbp),%rax
  mov    %rcx,%r8
  mov    %rdx,%rcx
  mov    %rax,%rdx
  lea    D98(%rip),%rax
  mov    %rax,%rsi
  lea    D86(%rip),%rax
  mov    %rax,%rdi
  call   <convertlist@plt>
  mov    $0x0,%eax
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L6
  call   <__stack_chk_fail@plt>
L6:
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: label: D42
datatype: string
name: extract_symbolic_data
arguments: label: D73
datatype: string
name: extract_symbolic_data
arguments: label: D98
datatype: string
name: extract_symbolic_data
arguments: label: D125
datatype: string
name: extract_symbolic_data
arguments: label: D66
datatype: string
name: extract_symbolic_data
arguments: label: D119
datatype: string
name: extract_symbolic_data
arguments: label: D48
datatype: string
name: extract_symbolic_data
arguments: label: D105
datatype: string
name: extract_symbolic_data
arguments: label: D24
datatype: string
name: extract_symbolic_data
arguments: label: D92
datatype: string
name: extract_symbolic_data
arguments: label: D222
datatype: string
name: extract_symbolic_data
arguments: label: D76
datatype: string
name: extract_symbolic_data
arguments: label: D204
datatype: string
name: extract_symbolic_data
arguments: label: D241
datatype: string
name: extract_symbolic_data
arguments: label: D167
datatype: string
name: extract_symbolic_data
arguments: label: D11
datatype: string
name: extract_symbolic_data
arguments: label: D90
datatype: string
name: extract_symbolic_data
arguments: label: D86
datatype: string

tool: D42: USER%d

tool: D73: USER%d.OP

tool: D98: ENTRY%d

tool: D125: OP

tool: D66: USER%d.ASK

tool: D119: ASK

tool: D48: USER%d.BAN

tool: D105: BAN

tool: D24: USER%d.DCC

tool: D92: DCC

tool: D222: USER%d.LGI

tool: D76: LGI

tool: D204: USER%d.AOP

tool: D241: AOP

tool: D167: USER%d.TRA

tool: D11: TRA

tool: D90: USER%d.ENC

tool: D86: 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;
}
```