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

```asm
<print_mousing_help>:
  endbr64
  push   %rbx
  mov    %rdi,%rbx
  mov    (%rdi),%eax
  lea    0x2(%rax),%esi
  mov    0x4(%rdi),%edi
  lea    D38(%rip),%rdx
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    0x2(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x2(%rax),%edi
  lea    D73(%rip),%rdx
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    0xa(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x2(%rax),%edi
  lea    D67(%rip),%rdx
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    0x2(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x4(%rax),%edi
  lea    D50(%rip),%rdx
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    0x2(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x5(%rax),%edi
  lea    D11(%rip),%rdx
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    0x2(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x6(%rax),%edi
  lea    D56(%rip),%rdx
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    0x2(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x8(%rax),%edi
  lea    D75(%rip),%rdx
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    0x2(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x9(%rax),%edi
  lea    D65(%rip),%rdx
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    0xa(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x4(%rax),%edi
  lea    D28(%rip),%rdx
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    0xa(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x5(%rax),%edi
  lea    D2(%rip),%rdx
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    0xa(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x6(%rax),%edi
  lea    D41(%rip),%rdx
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    0xa(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x8(%rax),%edi
  lea    D64(%rip),%rdx
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    0xa(%rax),%esi
  mov    0x4(%rbx),%edi
  add    $0x9,%edi
  lea    D31(%rip),%rdx
  call   <mvprintw@plt>
  pop    %rbx
  ret
```

tool_calls: name: retrieve_data
arguments: label: D38
data_type: string
name: retrieve_data
arguments: label: D73
data_type: string
name: retrieve_data
arguments: label: D67
data_type: string
name: retrieve_data
arguments: label: D50
data_type: string
name: retrieve_data
arguments: label: D11
data_type: string
name: retrieve_data
arguments: label: D56
data_type: string
name: retrieve_data
arguments: label: D75
data_type: string
name: retrieve_data
arguments: label: D65
data_type: string
name: retrieve_data
arguments: label: D28
data_type: string
name: retrieve_data
arguments: label: D2
data_type: string
name: retrieve_data
arguments: label: D41
data_type: string
name: retrieve_data
arguments: label: D64
data_type: string
name: retrieve_data
arguments: label: D31
data_type: string

tool: D38:  Help 

tool: D73: Key

tool: D67: Description

tool: D50: h

tool: D11: m

tool: D56: s

tool: D75: a

tool: D65: q

tool: D28: Help page (this)

tool: D2: Mousing

tool: D41: Stats page

tool: D64: About page

tool: D31: Quit

assistant: ```c
void print_mousing_help(int cords[]) {
  int offset = 10;
  mvprintw(cords[1], cords[0] + 2, " Help ");
  mvprintw(cords[1] + 2, cords[0] + 2, "Key");
  mvprintw(cords[1] + 2, cords[0] + offset, "Description");
  mvprintw(cords[1] + 4, cords[0] + 2, "h");
  mvprintw(cords[1] + 5, cords[0] + 2, "m");
  mvprintw(cords[1] + 6, cords[0] + 2, "s");
  mvprintw(cords[1] + 8, cords[0] + 2, "a");
  mvprintw(cords[1] + 9, cords[0] + 2, "q");
  mvprintw(cords[1] + 4, cords[0] + offset, "Help page (this)");
  mvprintw(cords[1] + 5, cords[0] + offset, "Mousing");
  mvprintw(cords[1] + 6, cords[0] + offset, "Stats page");
  mvprintw(cords[1] + 8, cords[0] + offset, "About page");
  mvprintw(cords[1] + 9, cords[0] + offset, "Quit");
}
```