user: Please show me the C implementation that matches the assembly code listed below:

```asm
<showuse>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  lea    D95(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D72(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D211(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D19(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D130(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D130(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D202(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D175(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D138(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D156(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D10(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D165(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D205(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D61(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D186(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D216(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D155(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D57(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D130(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D142(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D130(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  nop
  pop    %rbp
  ret
```

tool_calls: name: disassemble_data
arguments: label: D95
type_infered: string
name: disassemble_data
arguments: label: D72
type_infered: string
name: disassemble_data
arguments: label: D211
type_infered: string
name: disassemble_data
arguments: label: D19
type_infered: string
name: disassemble_data
arguments: label: D130
type_infered: string
name: disassemble_data
arguments: label: D210
type_infered: string
name: disassemble_data
arguments: label: D202
type_infered: string
name: disassemble_data
arguments: label: D175
type_infered: string
name: disassemble_data
arguments: label: D138
type_infered: string
name: disassemble_data
arguments: label: D156
type_infered: string
name: disassemble_data
arguments: label: D10
type_infered: string
name: disassemble_data
arguments: label: D165
type_infered: string
name: disassemble_data
arguments: label: D205
type_infered: string
name: disassemble_data
arguments: label: D61
type_infered: string
name: disassemble_data
arguments: label: D186
type_infered: string
name: disassemble_data
arguments: label: D216
type_infered: string
name: disassemble_data
arguments: label: D155
type_infered: string
name: disassemble_data
arguments: label: D57
type_infered: string
name: disassemble_data
arguments: label: D142
type_infered: string

tool: D95: 		File Transfer System


tool: D72:            (C) Copr Team  2015-11   Version 1.0 


tool: D211: User commands:


tool: D19: Example: command -option1 option2 ...


tool: D130: -------------------------------------------------------------------------------


tool: D210: 	SYNOPSIS	DESCRIPTION		OTHER


tool: D202: 	get arg1 arg2	download		arg1:src file arg2:local path


tool: D175: 	put arg1 arg2	upload			arg1:src file arg2:local path


tool: D138: 	!cd arg1      	change server dir  	arg1:server dir


tool: D156: 	!ls arg1      	list server dir  	arg1:server dir


tool: D10: 	connect arg1 	connect server  	arg1:IP address


tool: D165: 	cd  arg1      	change local dir  	arg1:local dir


tool: D205: 	ls  arg1      	list current dir  	arg1:localdir


tool: D61: 	pwd           	display local path


tool: D186: 	!pwd           	display server path


tool: D216: 	bye           	disconnect


tool: D155: 	help          	help


tool: D57: 	exit          	quit system


tool: D142:   Note:    AP(absolute path).


assistant: ```c
void showuse() {
  printf("\t\tFile Transfer System\n");
  printf("           (C) Copr Team  2015-11   Version 1.0 \n");
  printf("User commands:\n");
  printf("Example: command -option1 option2 ...\n");
  printf("-------------------------------------------------------------------------------\n");
  printf("\tSYNOPSIS\tDESCRIPTION\t\tOTHER\n");
  printf("-------------------------------------------------------------------------------\n");
  printf("\tget arg1 arg2\tdownload\t\targ1:src file arg2:local path\n");
  printf("\tput arg1 arg2\tupload\t\t\targ1:src file arg2:local path\n");
  printf("\t!cd arg1      \tchange server dir  \targ1:server dir\n");
  printf("\t!ls arg1      \tlist server dir  \targ1:server dir\n");
  printf("\tconnect arg1 \tconnect server  \targ1:IP address\n");
  printf("\tcd  arg1      \tchange local dir  \targ1:local dir\n");
  printf("\tls  arg1      \tlist current dir  \targ1:localdir\n");
  printf("\tpwd           \tdisplay local path\n");
  printf("\t!pwd           \tdisplay server path\n");
  printf("\tbye           \tdisconnect\n");
  printf("\thelp          \thelp\n");
  printf("\texit          \tquit system\n");
  printf("-------------------------------------------------------------------------------\n");
  printf("  Note:    AP(absolute path).\n");
  printf("-------------------------------------------------------------------------------\n");
}
```