user: Translate the below assembly code into C programming language:

```asm
<copyright_notice>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x1c0,%rsp
  mov    %edi,-0x1b4(%rbp)
  mov    %esi,-0x1b8(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  movabs $0x4320206e657a616d,%rax
  movabs $0x746867697279706f,%rdx
  mov    %rax,-0x1b0(%rbp)
  mov    %rdx,-0x1a8(%rbp)
  movabs $0x3030322029432820,%rax
  movabs $0x2032313032202c36,%rdx
  mov    %rax,-0x1a0(%rbp)
  mov    %rdx,-0x198(%rbp)
  movabs $0x5220736972684320,%rax
  mov    %rax,-0x190(%rbp)
  movl   $0x6f6d6465,-0x188(%rbp)
  movw   $0x6e,-0x184(%rbp)
  movabs $0x6f72702073696854,%rax
  movabs $0x6d6f63206d617267,%rdx
  mov    %rax,-0xa0(%rbp)
  mov    %rdx,-0x98(%rbp)
  movabs $0x2068746977207365,%rax
  movabs $0x4554554c4f534241,%rdx
  mov    %rax,-0x90(%rbp)
  mov    %rdx,-0x88(%rbp)
  movabs $0x4157204f4e20594c,%rax
  movabs $0x202e59544e415252,%rdx
  mov    %rax,-0x80(%rbp)
  mov    %rdx,-0x78(%rbp)
  movabs $0x2073692073696854,%rax
  movabs $0x666f732065657266,%rdx
  mov    %rax,-0x70(%rbp)
  mov    %rdx,-0x68(%rbp)
  movl   $0x72617774,-0x60(%rbp)
  movw   $0x2c65,-0x5c(%rbp)
  movb   $0x0,-0x5a(%rbp)
  movabs $0x20756f7920646e61,%rax
  movabs $0x636c657720657261,%rdx
  mov    %rax,-0xf0(%rbp)
  mov    %rdx,-0xe8(%rbp)
  movabs $0x72206f7420656d6f,%rax
  movabs $0x6269727473696465,%rdx
  mov    %rax,-0xe0(%rbp)
  mov    %rdx,-0xd8(%rbp)
  movabs $0x7520746920657475,%rax
  movabs $0x726563207265646e,%rdx
  mov    %rax,-0xd0(%rbp)
  mov    %rdx,-0xc8(%rbp)
  movabs $0x6e6f63206e696174,%rax
  movabs $0x3b736e6f69746964,%rdx
  mov    %rax,-0xc0(%rbp)
  mov    %rdx,-0xb8(%rbp)
  movl   $0x65657320,-0xb0(%rbp)
  movb   $0x0,-0xac(%rbp)
  movabs $0x20554e4720656874,%rax
  movabs $0x206c6172656e6547,%rdx
  mov    %rax,-0x140(%rbp)
  mov    %rdx,-0x138(%rbp)
  movabs $0x206369696c627550,%rax
  movabs $0x2065736e6563694c,%rdx
  mov    %rax,-0x130(%rbp)
  mov    %rdx,-0x128(%rbp)
  movabs $0x696c627570207361,%rax
  movabs $0x2079622064656873,%rdx
  mov    %rax,-0x120(%rbp)
  mov    %rdx,-0x118(%rbp)
  movabs $0x6565724620656874,%rax
  movabs $0x72617774666f5320,%rdx
  mov    %rax,-0x110(%rbp)
  mov    %rdx,-0x108(%rbp)
  movw   $0x65,-0x100(%rbp)
  movabs $0x697461646e756f46,%rax
  movabs $0x726576202d206e6f,%rdx
  mov    %rax,-0x50(%rbp)
  mov    %rdx,-0x48(%rbp)
  movabs $0x6f2033206e6f6973,%rax
  movabs $0x6f79207461282072,%rdx
  mov    %rax,-0x40(%rbp)
  mov    %rdx,-0x38(%rbp)
  movabs $0x6f6974706f207275,%rax
  movabs $0x6c20796e6120296e,%rdx
  mov    %rax,-0x30(%rbp)
  mov    %rdx,-0x28(%rbp)
  movabs $0x7265762072657461,%rax
  movabs $0x6f46202e6e6f6973,%rdx
  mov    %rax,-0x20(%rbp)
  mov    %rdx,-0x18(%rbp)
  movl   $0x6f6d2072,-0x10(%rbp)
  movw   $0x6572,-0xc(%rbp)
  movb   $0x0,-0xa(%rbp)
  movabs $0x74616d726f666e69,%rax
  movabs $0x756f6261206e6f69,%rdx
  mov    %rax,-0x180(%rbp)
  mov    %rdx,-0x178(%rbp)
  movabs $0x2065736568742074,%rax
  movabs $0x2c7372657474616d,%rdx
  mov    %rax,-0x170(%rbp)
  mov    %rdx,-0x168(%rbp)
  movabs $0x6568742065657320,%rax
  movabs $0x616e20656c696620,%rdx
  mov    %rax,-0x160(%rbp)
  mov    %rdx,-0x158(%rbp)
  movabs $0x59504f432064656d,%rax
  mov    %rax,-0x150(%rbp)
  movl   $0x2e474e49,-0x148(%rbp)
  movb   $0x0,-0x144(%rbp)
  lea    -0x1b0(%rbp),%rdx
  mov    -0x1b8(%rbp),%esi
  mov    -0x1b4(%rbp),%eax
  mov    %rdx,%rcx
  lea    D14(%rip),%rdx
  mov    %eax,%edi
  call   <mvprintw@plt>
  mov    -0x1b4(%rbp),%eax
  lea    0x1(%rax),%edi
  lea    -0xa0(%rbp),%rdx
  mov    -0x1b8(%rbp),%eax
  mov    %rdx,%rcx
  lea    D14(%rip),%rdx
  mov    %eax,%esi
  call   <mvprintw@plt>
  mov    -0x1b4(%rbp),%eax
  lea    0x2(%rax),%edi
  lea    -0xf0(%rbp),%rdx
  mov    -0x1b8(%rbp),%eax
  mov    %rdx,%rcx
  lea    D14(%rip),%rdx
  mov    %eax,%esi
  call   <mvprintw@plt>
  mov    -0x1b4(%rbp),%eax
  lea    0x3(%rax),%edi
  lea    -0x140(%rbp),%rdx
  mov    -0x1b8(%rbp),%eax
  mov    %rdx,%rcx
  lea    D14(%rip),%rdx
  mov    %eax,%esi
  call   <mvprintw@plt>
  mov    -0x1b4(%rbp),%eax
  lea    0x4(%rax),%edi
  lea    -0x50(%rbp),%rdx
  mov    -0x1b8(%rbp),%eax
  mov    %rdx,%rcx
  lea    D14(%rip),%rdx
  mov    %eax,%esi
  call   <mvprintw@plt>
  mov    -0x1b4(%rbp),%eax
  lea    0x5(%rax),%edi
  lea    -0x180(%rbp),%rdx
  mov    -0x1b8(%rbp),%eax
  mov    %rdx,%rcx
  lea    D14(%rip),%rdx
  mov    %eax,%esi
  call   <mvprintw@plt>
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L3
  call   <__stack_chk_fail@plt>
L3:
  leave
  ret
```

tool_calls: name: retrieve_data
arguments: data_label: D14
type_guessed: string

tool: D14: %s

assistant: ```c
void copyright_notice(int row, int col) {
  char notice0[] = "mazen  Copyright (C) 2006, 2012  Chris Redmon";
  char notice1[] = "This program comes with ABSOLUTELY NO WARRANTY. This is free software,";
  char notice2[] = "and you are welcome to redistribute it under certain conditions; see";
  char notice3[] = "the GNU General Publiic License as published by the Free Software";
  char notice4[] = "Foundation - version 3 or (at your option) any later version. For more";
  char notice5[] = "information about these matters, see the file named COPYING.";
  mvprintw(row + 0, col, "%s", notice0);
  mvprintw(row + 1, col, "%s", notice1);
  mvprintw(row + 2, col, "%s", notice2);
  mvprintw(row + 3, col, "%s", notice3);
  mvprintw(row + 4, col, "%s", notice4);
  mvprintw(row + 5, col, "%s", notice5);
}
```