user: What would the C source look like for the assembly code provided here?

```asm
<print_mousing_help>:
  endbr64
  push   %rbx
  mov    (%rdi),%eax
  mov    %rdi,%rbx
  lea    D106(%rip),%rdx
  mov    0x4(%rdi),%edi
  lea    0x2(%rax),%esi
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    D7(%rip),%rdx
  lea    0x2(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x2(%rax),%edi
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    D76(%rip),%rdx
  lea    0xa(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x2(%rax),%edi
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    D22(%rip),%rdx
  lea    0x2(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x4(%rax),%edi
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    D8(%rip),%rdx
  lea    0x2(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x5(%rax),%edi
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    D68(%rip),%rdx
  lea    0x2(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x6(%rax),%edi
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    D83(%rip),%rdx
  lea    0x2(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x8(%rax),%edi
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    D39(%rip),%rdx
  lea    0x2(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x9(%rax),%edi
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    D94(%rip),%rdx
  lea    0xa(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x4(%rax),%edi
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    D93(%rip),%rdx
  lea    0xa(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x5(%rax),%edi
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    D124(%rip),%rdx
  lea    0xa(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x6(%rax),%edi
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  lea    D79(%rip),%rdx
  lea    0xa(%rax),%esi
  mov    0x4(%rbx),%eax
  lea    0x8(%rax),%edi
  call   <mvprintw@plt>
  mov    (%rbx),%eax
  mov    0x4(%rbx),%edi
  lea    D81(%rip),%rdx
  pop    %rbx
  lea    0xa(%rax),%esi
  add    $0x9,%edi
  jmp    1050 <mvprintw@plt>
```

tool_calls: name: disassemble_data
arguments: label: D106
data_type: string
name: disassemble_data
arguments: label: D7
data_type: string
name: disassemble_data
arguments: label: D76
data_type: string
name: disassemble_data
arguments: label: D22
data_type: string
name: disassemble_data
arguments: label: D8
data_type: string
name: disassemble_data
arguments: label: D68
data_type: string
name: disassemble_data
arguments: label: D83
data_type: string
name: disassemble_data
arguments: label: D39
data_type: string
name: disassemble_data
arguments: label: D94
data_type: string
name: disassemble_data
arguments: label: D93
data_type: string
name: disassemble_data
arguments: label: D124
data_type: string
name: disassemble_data
arguments: label: D79
data_type: string
name: disassemble_data
arguments: label: D81
data_type: string

tool: D106:  Help 

tool: D7: Key

tool: D76: Description

tool: D22: h

tool: D8: m

tool: D68: s

tool: D83: a

tool: D39: q

tool: D94: Help page (this)

tool: D93: Mousing

tool: D124: Stats page

tool: D79: About page

tool: D81: 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");
}
```