user: Demonstrate the C code that generates the assembly output below:

```asm
<banner>:
  endbr64
  push   %rbx
  lea    D88(%rip),%rdi
  call   <puts@plt>
  lea    D37(%rip),%rbx
  mov    %rbx,%rdi
  call   <puts@plt>
  lea    D106(%rip),%rdi
  call   <puts@plt>
  mov    %rbx,%rdi
  call   <puts@plt>
  lea    D95(%rip),%rdi
  call   <puts@plt>
  lea    D114(%rip),%rdi
  call   <puts@plt>
  lea    D109(%rip),%rdi
  call   <puts@plt>
  lea    D94(%rip),%rdi
  call   <puts@plt>
  lea    D87(%rip),%rdi
  call   <puts@plt>
  lea    D127(%rip),%rdi
  call   <puts@plt>
  lea    D100(%rip),%rdi
  call   <puts@plt>
  lea    D25(%rip),%rdi
  call   <puts@plt>
  lea    D104(%rip),%rdi
  call   <puts@plt>
  lea    D112(%rip),%rdi
  call   <puts@plt>
  lea    D123(%rip),%rdi
  call   <puts@plt>
  pop    %rbx
  ret
```

tool_calls: name: disassemble_data
arguments: data_tag: D88
type_infered: string
name: disassemble_data
arguments: data_tag: D37
type_infered: string
name: disassemble_data
arguments: data_tag: D106
type_infered: string
name: disassemble_data
arguments: data_tag: D95
type_infered: string
name: disassemble_data
arguments: data_tag: D114
type_infered: string
name: disassemble_data
arguments: data_tag: D109
type_infered: string
name: disassemble_data
arguments: data_tag: D94
type_infered: string
name: disassemble_data
arguments: data_tag: D87
type_infered: string
name: disassemble_data
arguments: data_tag: D127
type_infered: string
name: disassemble_data
arguments: data_tag: D100
type_infered: string
name: disassemble_data
arguments: data_tag: D25
type_infered: string
name: disassemble_data
arguments: data_tag: D104
type_infered: string
name: disassemble_data
arguments: data_tag: D112
type_infered: string
name: disassemble_data
arguments: data_tag: D123
type_infered: string

tool: D88:  +--------------------------------------------------------------------+

tool: D37:  | +----------------------------------------------------------------+ |

tool: D106:  | |                            simcalc                             | |

tool: D95:  +--------------------------------------------------------------------+


tool: D114: * Copyright 2015 Ahmed Mohamed Abd EL-Mawgood <ahmedsoliman0x666@gmail.com>


tool: D109: * Licensed under the Apache License, Version 2.0 (the "License");

tool: D94:   you may not use this file except in compliance with the License.

tool: D87:   You may obtain a copy of the License at


tool: D127: * http://www.apache.org/licenses/LICENSE-2.0


tool: D100: * Unless required by applicable law or agreed to in writing, software

tool: D25:   distributed under the License is distributed on an "AS IS" BASIS,

tool: D104:   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

tool: D112: * See the License for the specific language governing permissions and

tool: D123:   limitations under the License.

assistant: ```c
void banner() {
  puts(" +--------------------------------------------------------------------+");
  puts(" | +----------------------------------------------------------------+ |");
  puts(" | |                            simcalc                             | |");
  puts(" | +----------------------------------------------------------------+ |");
  puts(" +--------------------------------------------------------------------+\n");
  puts("* Copyright 2015 Ahmed Mohamed Abd EL-Mawgood <ahmedsoliman0x666@gmail.com>\n");
  puts("* Licensed under the Apache License, Version 2.0 (the \"License\");");
  puts("  you may not use this file except in compliance with the License.");
  puts("  You may obtain a copy of the License at\n");
  puts("* http://www.apache.org/licenses/LICENSE-2.0\n");
  puts("* Unless required by applicable law or agreed to in writing, software");
  puts("  distributed under the License is distributed on an \"AS IS\" BASIS,");
  puts("  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.");
  puts("* See the License for the specific language governing permissions and");
  puts("  limitations under the License.");
}
```