user: What is the c source code of the assembly code below:

```asm
<main>:
  endbr64
  push   %rbx
  mov    $0xa20,%edx
  lea    D11(%rip),%rdi
  sub    $0x130,%rsp
  movdqa D127(%rip),%xmm0
  mov    %fs:0x28,%rax
  mov    %rax,0x128(%rsp)
  xor    %eax,%eax
  mov    %dx,0x120(%rsp)
  movaps %xmm0,0x90(%rsp)
  movdqa D58(%rip),%xmm0
  movb   $0x0,0x122(%rsp)
  movaps %xmm0,0xa0(%rsp)
  movdqa D88(%rip),%xmm0
  movl   $0x672520,0x50(%rsp)
  movaps %xmm0,0xb0(%rsp)
  movdqa D78(%rip),%xmm0
  movaps %xmm0,0xc0(%rsp)
  movdqa D95(%rip),%xmm0
  movaps %xmm0,0xd0(%rsp)
  movdqa D1(%rip),%xmm0
  movaps %xmm0,0xe0(%rsp)
  movdqa D91(%rip),%xmm0
  movaps %xmm0,0xf0(%rsp)
  movdqa D56(%rip),%xmm0
  movaps %xmm0,0x100(%rsp)
  movdqa D92(%rip),%xmm0
  movaps %xmm0,0x110(%rsp)
  movdqa D81(%rip),%xmm0
  movaps %xmm0,0x30(%rsp)
  movdqa D9(%rip),%xmm0
  movaps %xmm0,0x40(%rsp)
  call   <minprintf@plt>
  lea    D124(%rip),%rdi
  xor    %eax,%eax
  call   <minprintf@plt>
  lea    0x10(%rsp),%rcx
  lea    0xc(%rsp),%rdx
  lea    0x8(%rsp),%rsi
  lea    0x30(%rsp),%rdi
  sub    $0x8,%rsp
  lea    0x68(%rsp),%rbx
  push   %rbx
  lea    0x3c(%rsp),%rax
  push   %rax
  lea    0x40(%rsp),%rax
  push   %rax
  lea    0x44(%rsp),%rax
  push   %rax
  lea    0x2f(%rsp),%rax
  push   %rax
  lea    0x50(%rsp),%rax
  push   %rax
  lea    0x54(%rsp),%rax
  push   %rax
  lea    0x58(%rsp),%r9
  lea    0x54(%rsp),%r8
  call   <minscanf@plt>
  add    $0x40,%rsp
  lea    D59(%rip),%rdi
  xor    %eax,%eax
  call   <minprintf@plt>
  pxor   %xmm0,%xmm0
  pxor   %xmm2,%xmm2
  lea    0x90(%rsp),%rdi
  cvtss2sd 0x24(%rsp),%xmm0
  push   %rbx
  movsbl 0xf(%rsp),%eax
  pxor   %xmm1,%xmm1
  push   %rax
  mov    0x30(%rsp),%eax
  push   %rax
  mov    0x34(%rsp),%eax
  push   %rax
  mov    0x38(%rsp),%r9d
  mov    $0x3,%eax
  mov    0x34(%rsp),%r8d
  mov    0x30(%rsp),%ecx
  mov    0x2c(%rsp),%edx
  mov    0x28(%rsp),%esi
  cvtss2sd 0x4c(%rsp),%xmm2
  cvtss2sd 0x48(%rsp),%xmm1
  call   <minprintf@plt>
  add    $0x20,%rsp
  mov    0x128(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L9
  add    $0x130,%rsp
  xor    %eax,%eax
  pop    %rbx
  ret
L9:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: disassemble_data
arguments: data_label: D11
datatype: string
name: disassemble_data
arguments: data_label: D127
datatype: byte[16]
name: disassemble_data
arguments: data_label: D58
datatype: byte[16]
name: disassemble_data
arguments: data_label: D88
datatype: byte[16]
name: disassemble_data
arguments: data_label: D78
datatype: byte[16]
name: disassemble_data
arguments: data_label: D95
datatype: byte[16]
name: disassemble_data
arguments: data_label: D1
datatype: byte[16]
name: disassemble_data
arguments: data_label: D91
datatype: byte[16]
name: disassemble_data
arguments: data_label: D56
datatype: byte[16]
name: disassemble_data
arguments: data_label: D92
datatype: byte[16]
name: disassemble_data
arguments: data_label: D81
datatype: byte[16]
name: disassemble_data
arguments: data_label: D9
datatype: byte[16]
name: disassemble_data
arguments: data_label: D124
datatype: string
name: disassemble_data
arguments: data_label: D59
datatype: string

tool: D11: 
 This program uses minscanf to read input from stdin

tool: {"D127": [0x0a,0x64,0x65,0x63,0x69,0x6d,0x61,0x6c,0x20,0x3d,0x20,0x25,0x64,0x0a,0x64,0x65]}

tool: {"D58": [0x63,0x69,0x6d,0x61,0x6c,0x20,0x3d,0x20,0x25,0x69,0x0a,0x6f,0x63,0x74,0x61,0x6c]}

tool: {"D88": [0x20,0x3d,0x20,0x25,0x6f,0x0a,0x68,0x65,0x78,0x20,0x3d,0x20,0x25,0x78,0x0a,0x68]}

tool: {"D78": [0x65,0x78,0x20,0x3d,0x20,0x25,0x58,0x0a,0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64]}

tool: {"D95": [0x20,0x3d,0x20,0x25,0x75,0x20,0x0a,0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64,0x20]}

tool: {"D1": [0x3d,0x20,0x25,0x75,0x20,0x0a,0x63,0x68,0x61,0x72,0x20,0x3d,0x20,0x25,0x63,0x20]}

tool: {"D91": [0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x3d,0x20,0x25,0x66,0x20,0x0a,0x73,0x74,0x72]}

tool: {"D56": [0x69,0x6e,0x67,0x20,0x3d,0x20,0x25,0x73,0x20,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20]}

tool: {"D92": [0x3d,0x20,0x25,0x65,0x20,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x3d,0x20,0x25,0x67]}

tool: {"D81": [0x25,0x64,0x20,0x25,0x69,0x20,0x25,0x6f,0x20,0x25,0x78,0x20,0x25,0x58,0x20,0x25]}

tool: {"D9": [0x75,0x20,0x25,0x75,0x20,0x25,0x63,0x20,0x25,0x66,0x20,0x25,0x73,0x20,0x25,0x65]}

tool: D124: 
 Give me the next types as input: %%d %%i %%o %%x %%X %%u %%u %%c %%f %%e %%g %%s


tool: D59: 
 Your input is:

assistant: ```c
int main(void) {
  int ret = 0;
  int d, i, o, h1, h2;
  unsigned int u1, u2;
  char c;
  char s[40];
  float f1, f2, f3;
  char print_str[] = "\ndecimal = %d\ndecimal = %i\noctal = %o\nhex = %x\nhex = %X\nunsigned = %u \nunsigned = %u \nchar = %c \nfloat = %f \nstring = %s \nfloat = %e \nfloat = %g \n";
  char scan_str[] = "%d %i %o %x %X %u %u %c %f %s %e %g";
  minprintf("\n This program uses minscanf to read input from stdin");
  minprintf("\n Give me the next types as input: %%d %%i %%o %%x %%X %%u %%u %%c %%f %%e %%g %%s\n");
  minscanf(scan_str, &d, &i, &o, &h1, &h2, &u1, &u2, &c, &f1, &f2, &f3, &s);
  minprintf("\n Your input is:");
  minprintf(print_str, d, i, o, h1, h2, u1, u2, c, f1, f2, f3, s);
  return ret;
}
```