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

```asm
<main>:
  endbr64
  sub    $0x8,%rsp
  mov    $0x0,%edx
  mov    $0x0,%esi
  lea    D33(%rip),%rdi
  mov    $0x0,%eax
  call   1050 <print$Int@plt>
  mov    $0x1,%edx
  mov    $0x1,%esi
  lea    D72(%rip),%rdi
  mov    $0x0,%eax
  call   1050 <print$Int@plt>
  mov    $0xa,%edx
  mov    $0xa,%esi
  lea    D86(%rip),%rdi
  mov    $0x0,%eax
  call   1050 <print$Int@plt>
  mov    $0x8,%edx
  mov    $0x8,%esi
  lea    D78(%rip),%rdi
  mov    $0x0,%eax
  call   1050 <print$Int@plt>
  mov    $0x10,%edx
  mov    $0x10,%esi
  lea    D35(%rip),%rdi
  mov    $0x0,%eax
  call   1050 <print$Int@plt>
  mov    $0x64,%edx
  mov    $0x64,%esi
  lea    D18(%rip),%rdi
  mov    $0x0,%eax
  call   1050 <print$Int@plt>
  mov    $0x40,%edx
  mov    $0x40,%esi
  lea    D89(%rip),%rdi
  mov    $0x0,%eax
  call   1050 <print$Int@plt>
  mov    $0x41,%edx
  mov    $0x41,%esi
  lea    D129(%rip),%rdi
  mov    $0x0,%eax
  call   1050 <print$Int@plt>
  mov    $0x101,%edx
  mov    $0x101,%esi
  lea    D84(%rip),%rdi
  mov    $0x0,%eax
  call   1050 <print$Int@plt>
  mov    $0x241,%edx
  mov    $0x241,%esi
  lea    D119(%rip),%rdi
  mov    $0x0,%eax
  call   1050 <print$Int@plt>
  mov    $0x41,%edx
  mov    $0x41,%esi
  lea    D106(%rip),%rdi
  mov    $0x0,%eax
  call   1050 <print$Int@plt>
  mov    $0x241,%edx
  mov    $0x241,%esi
  lea    D98(%rip),%rdi
  mov    $0x0,%eax
  call   1050 <print$Int@plt>
  mov    $0xffffffff,%edx
  mov    $0xffffffff,%esi
  lea    D12(%rip),%rdi
  mov    $0x0,%eax
  call   1050 <print$Int@plt>
  mov    $0xffffffff,%edx
  mov    $0xffffffff,%esi
  lea    D121(%rip),%rdi
  mov    $0x0,%eax
  call   1050 <print$Int@plt>
  mov    $0x0,%eax
  add    $0x8,%rsp
  ret
```

tool_calls: name: unpack_data
arguments: label: D33
datatype: string
name: unpack_data
arguments: label: D72
datatype: string
name: unpack_data
arguments: label: D86
datatype: string
name: unpack_data
arguments: label: D78
datatype: string
name: unpack_data
arguments: label: D35
datatype: string
name: unpack_data
arguments: label: D18
datatype: string
name: unpack_data
arguments: label: D89
datatype: string
name: unpack_data
arguments: label: D129
datatype: string
name: unpack_data
arguments: label: D84
datatype: string
name: unpack_data
arguments: label: D119
datatype: string
name: unpack_data
arguments: label: D106
datatype: string
name: unpack_data
arguments: label: D98
datatype: string
name: unpack_data
arguments: label: D12
datatype: string
name: unpack_data
arguments: label: D121
datatype: string

tool: D33: 0

tool: D72: 1

tool: D86: 10

tool: D78: 010

tool: D35: 0x10

tool: D18: 100

tool: D89: 0100

tool: D129: 0101

tool: D84: 0x0101

tool: D119: 1 | 64 | 512

tool: D106: 01 | 0100

tool: D98: 01 | 0100 | 01000

tool: D12: 0xFFFFFFFF

tool: D121: 0x80000000 | 0x7FFFFFFFU

assistant: ```c
int main() {
  print$Int("0", 0, 0);
  print$Int("1", 1, 1);
  print$Int("10", 10, 10);
  print$Int("010", 010, 8);
  print$Int("0x10", 0x10, 16);
  print$Int("100", 100, 100);
  print$Int("0100", 0100, 64);
  print$Int("0101", 0101, 65);
  print$Int("0x0101", 0x0101, 257);
  print$Int("1 | 64 | 512", 1 | 64 | 512, 577);
  print$Int("01 | 0100", 01 | 0100, 65);
  print$Int("01 | 0100 | 01000", 01 | 0100 | 01000, 577);
  print$Int("0xFFFFFFFF", 0xFFFFFFFF, -1);
  print$Int("0x80000000 | 0x7FFFFFFFU", 0x80000000 | 0x7FFFFFFFU, -1);
  return 0;
}
```