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

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %edi,-0x4(%rbp)
  mov    %rsi,-0x10(%rbp)
  lea    D142(%rip),%rax
  mov    %rax,%rdi
  call   <check_file_size@plt>
  test   %rax,%rax
  js     L36
  lea    D63(%rip),%rax
  mov    %rax,%rdi
  call   <check_file_size@plt>
  test   %rax,%rax
  js     L36
  lea    D115(%rip),%rax
  mov    %rax,%rdi
  call   <check_file_size@plt>
  test   %rax,%rax
  js     L36
  lea    D104(%rip),%rax
  mov    %rax,%rdi
  call   <check_file_size@plt>
  test   %rax,%rax
  jns    L53
L36:
  mov    $0xffffffff,%eax
  jmp    L48
L53:
  lea    D95(%rip),%rax
  mov    %rax,%rsi
  lea    D142(%rip),%rax
  mov    %rax,%rdi
  call   <copy_file@plt>
  lea    D57(%rip),%rax
  mov    %rax,%rsi
  lea    D63(%rip),%rax
  mov    %rax,%rdi
  call   <copy_file@plt>
  lea    D66(%rip),%rax
  mov    %rax,%rsi
  lea    D115(%rip),%rax
  mov    %rax,%rdi
  call   <copy_file@plt>
  mov    $0x1ed,%esi
  lea    D66(%rip),%rax
  mov    %rax,%rdi
  call   <chmod@plt>
  lea    D10(%rip),%rax
  mov    %rax,%rdi
  call   <check_file_size@plt>
  test   %rax,%rax
  jne    L24
  lea    D84(%rip),%rax
  mov    %rax,%rsi
  lea    D10(%rip),%rax
  mov    %rax,%rdi
  call   <copy_file@plt>
L24:
  lea    D10(%rip),%rax
  mov    %rax,%rdi
  call   <unlink@plt>
  lea    D71(%rip),%rax
  mov    %rax,%rdi
  call   <chdir@plt>
  lea    D81(%rip),%rax
  mov    %rax,%rdi
  call   <unlink@plt>
  lea    D58(%rip),%rax
  mov    %rax,%rdi
  call   <unlink@plt>
  lea    D83(%rip),%rax
  mov    %rax,%rdi
  call   <unlink@plt>
  lea    D144(%rip),%rax
  mov    %rax,%rdi
  call   <extract_tar_file@plt>
  mov    $0x0,%eax
L48:
  leave
  ret
```

tool_calls: name: parse_data
arguments: tag: D142
datatype: string
name: parse_data
arguments: tag: D63
datatype: string
name: parse_data
arguments: tag: D115
datatype: string
name: parse_data
arguments: tag: D104
datatype: string
name: parse_data
arguments: tag: D95
datatype: string
name: parse_data
arguments: tag: D57
datatype: string
name: parse_data
arguments: tag: D66
datatype: string
name: parse_data
arguments: tag: D10
datatype: string
name: parse_data
arguments: tag: D84
datatype: string
name: parse_data
arguments: tag: D71
datatype: string
name: parse_data
arguments: tag: D81
datatype: string
name: parse_data
arguments: tag: D58
datatype: string
name: parse_data
arguments: tag: D83
datatype: string
name: parse_data
arguments: tag: D144
datatype: string

tool: D142: looper2.ko

tool: D63: spi.ko

tool: D115: userif

tool: D104: lp1-www.tar

tool: D95: /j/looper2.ko

tool: D57: /j/spi.ko

tool: D66: /j/userif

tool: D10: uImage

tool: D84: /dev/mtdblock1

tool: D71: /j

tool: D81: html/testpage.html

tool: D58: html/upgrade.html

tool: D83: cgi-bin/test.cgi

tool: D144: /mnt/lp1-www.tar

assistant: ```c
int main(int argc, char **argv) {
  if (check_file_size("looper2.ko") < 0 || check_file_size("spi.ko") < 0 || check_file_size("userif") < 0 || check_file_size("lp1-www.tar") < 0) {
    return -1;
  }
  copy_file("looper2.ko", "/j/looper2.ko");
  copy_file("spi.ko", "/j/spi.ko");
  copy_file("userif", "/j/userif");
  chmod("/j/userif", 0755);
  if (check_file_size("uImage") == 0) {
    copy_file("uImage", "/dev/mtdblock1");
  }
  unlink("uImage");
  chdir("/j");
  unlink("html/testpage.html");
  unlink("html/upgrade.html");
  unlink("cgi-bin/test.cgi");
  extract_tar_file("/mnt/lp1-www.tar");
  return 0;
}
```