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

```asm
<print_head>:
  endbr64
  push   %r12
  mov    %rsi,%r12
  push   %rbp
  mov    %rdi,%rbp
  xor    %edi,%edi
  sub    $0x18,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x8(%rsp)
  xor    %eax,%eax
  call   <time@plt>
  lea    0x4(%rsp),%rdi
  mov    %eax,0x4(%rsp)
  call   <ctime@plt>
  mov    %r12,%rdx
  lea    D5(%rip),%rsi
  mov    %rbp,%rdi
  mov    %rax,%rcx
  xor    %eax,%eax
  call   <fprintf@plt>
  mov    %rbp,%rcx
  mov    $0x3b,%edx
  mov    $0x1,%esi
  lea    D10(%rip),%rdi
  call   <fwrite@plt>
  mov    %rbp,%rsi
  mov    $0xa,%edi
  call   <fputc@plt>
  mov    $0x1,%esi
  mov    %rbp,%rcx
  lea    D28(%rip),%rdi
  mov    $0x7b3,%edx
  call   <fwrite@plt>
  mov    %rbp,%rsi
  mov    $0xa,%edi
  call   <fputc@plt>
  mov    0x8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L7
  add    $0x18,%rsp
  pop    %rbp
  pop    %r12
  ret
L7:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: disassemble_data
arguments: tag: D5
type_infered: string
name: disassemble_data
arguments: tag: D10
type_infered: string
name: disassemble_data
arguments: tag: D28
type_infered: string

tool: D5: /*
 * %s, %s *


tool: D10:  * DO NOT EDIT - this file is automatically generated!
 */


tool: {"D28": "/*                                                                      \n * This file belongs to FreeMiNT. It's not in the original MiNT 1.12    \n * distribution. See the file CHANGES for a detailed log of changes.    \n *                                                                      \n *                                                                      \n * Copyright 2000-2005 Frank Naumann <fnaumann@freemint.de>             \n * All rights reserved.                                                 \n *                                                                      \n * Please send suggestions, patches or bug reports to me or             \n * the MiNT mailing list.                                               \n *                                                                      \n *                                                                      \n * This file is free software; you can redistribute it and/or modify    \n * it under the terms of the GNU General Public License as published by \n * the Free Software Foundation; either version 2, or (at your option)  \n * any later version.                                                   \n *                                                                      \n * This file is distributed in the hope that it will be useful,         \n * but WITHOUT ANY WARRANTY; without even the implied warranty of       \n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        \n * GNU General Public License for more details.                         \n *                                                                      \n * You should have received a copy of the GNU General Public License    \n * along with this program; if not, write to the Free Software          \n * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.            \n *                                                                      \n */                                                                     \n"}

assistant: ```c
void print_head(FILE *out, const char *myname) {
  time_t t = time(NULL);
  fprintf(out, "/*\n * %s, %s *\n", myname, ctime(&t));
  fprintf(out, " * DO NOT EDIT - this file is automatically generated!\n"
               " */\n");
  fprintf(out, "\n");
  fprintf(out, "/*                                                                      \n"
               " * This file belongs to FreeMiNT. It's not in the original MiNT 1.12    \n"
               " * distribution. See the file CHANGES for a detailed log of changes.    \n"
               " *                                                                      \n"
               " *                                                                      \n"
               " * Copyright 2000-2005 Frank Naumann <fnaumann@freemint.de>             \n"
               " * All rights reserved.                                                 \n"
               " *                                                                      \n"
               " * Please send suggestions, patches or bug reports to me or             \n"
               " * the MiNT mailing list.                                               \n"
               " *                                                                      \n"
               " *                                                                      \n"
               " * This file is free software; you can redistribute it and/or modify    \n"
               " * it under the terms of the GNU General Public License as published by \n"
               " * the Free Software Foundation; either version 2, or (at your option)  \n"
               " * any later version.                                                   \n"
               " *                                                                      \n"
               " * This file is distributed in the hope that it will be useful,         \n"
               " * but WITHOUT ANY WARRANTY; without even the implied warranty of       \n"
               " * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        \n"
               " * GNU General Public License for more details.                         \n"
               " *                                                                      \n"
               " * You should have received a copy of the GNU General Public License    \n"
               " * along with this program; if not, write to the Free Software          \n"
               " * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.            \n"
               " *                                                                      \n"
               " */                                                                     \n");
  fprintf(out, "\n");
}
```