user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<copyright_notice>:
  endbr64
  push   %r12
  mov    $0x2c65,%edx
  lea    D183(%rip),%r12
  mov    $0x65,%ecx
  push   %rbp
  mov    $0x6572,%r8d
  mov    %esi,%ebp
  push   %rbx
  mov    %edi,%ebx
  sub    $0x1b0,%rsp
  movdqa D33(%rip),%xmm0
  mov    %fs:0x28,%rax
  mov    %rax,0x1a8(%rsp)
  xor    %eax,%eax
  mov    %dx,0x154(%rsp)
  mov    %r12,%rdx
  movabs $0x5220736972684320,%rax
  movaps %xmm0,(%rsp)
  movdqa D4(%rip),%xmm0
  mov    %rax,0x20(%rsp)
  mov    $0x6e,%eax
  movaps %xmm0,0x10(%rsp)
  movdqa D83(%rip),%xmm0
  mov    %ax,0x2c(%rsp)
  movabs $0x59504f432064656d,%rax
  movaps %xmm0,0x110(%rsp)
  movdqa D5(%rip),%xmm0
  movl   $0x6f6d6465,0x28(%rsp)
  movaps %xmm0,0x120(%rsp)
  movdqa D112(%rip),%xmm0
  movl   $0x72617774,0x150(%rsp)
  movaps %xmm0,0x130(%rsp)
  movdqa D152(%rip),%xmm0
  movb   $0x0,0x156(%rsp)
  movaps %xmm0,0x140(%rsp)
  movdqa D208(%rip),%xmm0
  movaps %xmm0,0xc0(%rsp)
  movdqa D22(%rip),%xmm0
  movaps %xmm0,0xd0(%rsp)
  movdqa D175(%rip),%xmm0
  movaps %xmm0,0xe0(%rsp)
  movdqa D193(%rip),%xmm0
  movaps %xmm0,0xf0(%rsp)
  movl   $0x65657320,0x100(%rsp)
  movdqa D67(%rip),%xmm0
  mov    %cx,0xb0(%rsp)
  mov    %rsp,%rcx
  movaps %xmm0,0x70(%rsp)
  movdqa D111(%rip),%xmm0
  mov    %r8w,0x1a4(%rsp)
  movaps %xmm0,0x80(%rsp)
  movdqa D189(%rip),%xmm0
  movb   $0x0,0x104(%rsp)
  movaps %xmm0,0x90(%rsp)
  movdqa D160(%rip),%xmm0
  movl   $0x6f6d2072,0x1a0(%rsp)
  movaps %xmm0,0xa0(%rsp)
  movdqa D62(%rip),%xmm0
  movb   $0x0,0x1a6(%rsp)
  movaps %xmm0,0x160(%rsp)
  movdqa D178(%rip),%xmm0
  mov    %rax,0x60(%rsp)
  movaps %xmm0,0x170(%rsp)
  movdqa D92(%rip),%xmm0
  movl   $0x2e474e49,0x68(%rsp)
  movaps %xmm0,0x180(%rsp)
  movdqa D58(%rip),%xmm0
  movb   $0x0,0x6c(%rsp)
  movaps %xmm0,0x190(%rsp)
  movdqa D158(%rip),%xmm0
  movaps %xmm0,0x30(%rsp)
  movdqa D212(%rip),%xmm0
  movaps %xmm0,0x40(%rsp)
  movdqa D80(%rip),%xmm0
  movaps %xmm0,0x50(%rsp)
  call   <mvprintw@plt>
  lea    0x1(%rbx),%edi
  mov    %r12,%rdx
  mov    %ebp,%esi
  lea    0x110(%rsp),%rcx
  call   <mvprintw@plt>
  lea    0x2(%rbx),%edi
  mov    %r12,%rdx
  mov    %ebp,%esi
  lea    0xc0(%rsp),%rcx
  call   <mvprintw@plt>
  lea    0x70(%rsp),%rcx
  lea    0x3(%rbx),%edi
  mov    %r12,%rdx
  mov    %ebp,%esi
  call   <mvprintw@plt>
  lea    0x4(%rbx),%edi
  mov    %r12,%rdx
  mov    %ebp,%esi
  lea    0x160(%rsp),%rcx
  call   <mvprintw@plt>
  lea    0x30(%rsp),%rcx
  lea    0x5(%rbx),%edi
  mov    %r12,%rdx
  mov    %ebp,%esi
  call   <mvprintw@plt>
  mov    0x1a8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L1
  add    $0x1b0,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  ret
L1:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D183
datatype: string
name: extract_symbolic_data
arguments: data_label: D33
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D4
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D83
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D5
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D112
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D152
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D208
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D22
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D175
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D193
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D67
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D111
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D189
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D160
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D62
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D178
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D92
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D58
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D158
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D212
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D80
datatype: byte[16]

tool: D183: %s

tool: {"D33": [0x6d,0x61,0x7a,0x65,0x6e,0x20,0x20,0x43,0x6f,0x70,0x79,0x72,0x69,0x67,0x68,0x74]}

tool: {"D4": [0x20,0x28,0x43,0x29,0x20,0x32,0x30,0x30,0x36,0x2c,0x20,0x32,0x30,0x31,0x32,0x20]}

tool: {"D83": [0x54,0x68,0x69,0x73,0x20,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x20,0x63,0x6f,0x6d]}

tool: {"D5": [0x65,0x73,0x20,0x77,0x69,0x74,0x68,0x20,0x41,0x42,0x53,0x4f,0x4c,0x55,0x54,0x45]}

tool: {"D112": [0x4c,0x59,0x20,0x4e,0x4f,0x20,0x57,0x41,0x52,0x52,0x41,0x4e,0x54,0x59,0x2e,0x20]}

tool: {"D152": [0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x66,0x72,0x65,0x65,0x20,0x73,0x6f,0x66]}

tool: {"D208": [0x61,0x6e,0x64,0x20,0x79,0x6f,0x75,0x20,0x61,0x72,0x65,0x20,0x77,0x65,0x6c,0x63]}

tool: {"D22": [0x6f,0x6d,0x65,0x20,0x74,0x6f,0x20,0x72,0x65,0x64,0x69,0x73,0x74,0x72,0x69,0x62]}

tool: {"D175": [0x75,0x74,0x65,0x20,0x69,0x74,0x20,0x75,0x6e,0x64,0x65,0x72,0x20,0x63,0x65,0x72]}

tool: {"D193": [0x74,0x61,0x69,0x6e,0x20,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x3b]}

tool: {"D67": [0x74,0x68,0x65,0x20,0x47,0x4e,0x55,0x20,0x47,0x65,0x6e,0x65,0x72,0x61,0x6c,0x20]}

tool: {"D111": [0x50,0x75,0x62,0x6c,0x69,0x69,0x63,0x20,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x20]}

tool: {"D189": [0x61,0x73,0x20,0x70,0x75,0x62,0x6c,0x69,0x73,0x68,0x65,0x64,0x20,0x62,0x79,0x20]}

tool: {"D160": [0x74,0x68,0x65,0x20,0x46,0x72,0x65,0x65,0x20,0x53,0x6f,0x66,0x74,0x77,0x61,0x72]}

tool: {"D62": [0x46,0x6f,0x75,0x6e,0x64,0x61,0x74,0x69,0x6f,0x6e,0x20,0x2d,0x20,0x76,0x65,0x72]}

tool: {"D178": [0x73,0x69,0x6f,0x6e,0x20,0x33,0x20,0x6f,0x72,0x20,0x28,0x61,0x74,0x20,0x79,0x6f]}

tool: {"D92": [0x75,0x72,0x20,0x6f,0x70,0x74,0x69,0x6f,0x6e,0x29,0x20,0x61,0x6e,0x79,0x20,0x6c]}

tool: {"D58": [0x61,0x74,0x65,0x72,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x2e,0x20,0x46,0x6f]}

tool: {"D158": [0x69,0x6e,0x66,0x6f,0x72,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x20,0x61,0x62,0x6f,0x75]}

tool: {"D212": [0x74,0x20,0x74,0x68,0x65,0x73,0x65,0x20,0x6d,0x61,0x74,0x74,0x65,0x72,0x73,0x2c]}

tool: {"D80": [0x20,0x73,0x65,0x65,0x20,0x74,0x68,0x65,0x20,0x66,0x69,0x6c,0x65,0x20,0x6e,0x61]}

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);
}
```