user: Translate the below assembly code into C programming language:

```asm
<showUsage>:
  endbr64
  push   %rbp
  lea    D195(%rip),%r9
  xor    %eax,%eax
  lea    D131(%rip),%r8
  lea    D141(%rip),%rcx
  lea    D178(%rip),%rdx
  mov    $0x1,%edi
  lea    D78(%rip),%rsi
  lea    D81(%rip),%rbp
  call   <writeVerbose@plt>
  lea    D18(%rip),%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  lea    D11(%rip),%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  lea    D140(%rip),%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  lea    D152(%rip),%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  mov    %rbp,%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  lea    D48(%rip),%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  mov    %rbp,%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  lea    D91(%rip),%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  lea    D59(%rip),%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  lea    D125(%rip),%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  mov    %rbp,%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  lea    D62(%rip),%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  lea    D182(%rip),%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  mov    %rbp,%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  lea    D84(%rip),%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  xor    %eax,%eax
  mov    $0x1,%edi
  lea    D218(%rip),%rsi
  call   <writeVerbose@plt>
  mov    %rbp,%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  lea    D154(%rip),%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  lea    D82(%rip),%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  mov    %rbp,%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  lea    D10(%rip),%rsi
  mov    $0x1,%edi
  xor    %eax,%eax
  call   <writeVerbose@plt>
  lea    D201(%rip),%rsi
  xor    %eax,%eax
  pop    %rbp
  mov    $0x1,%edi
  jmp    1050 <writeVerbose@plt>
```

tool_calls: name: retrieve_data
arguments: data_label: D195
type_infered: string
name: retrieve_data
arguments: data_label: D131
type_infered: string
name: retrieve_data
arguments: data_label: D141
type_infered: string
name: retrieve_data
arguments: data_label: D178
type_infered: string
name: retrieve_data
arguments: data_label: D78
type_infered: string
name: retrieve_data
arguments: data_label: D81
type_infered: string
name: retrieve_data
arguments: data_label: D18
type_infered: string
name: retrieve_data
arguments: data_label: D11
type_infered: string
name: retrieve_data
arguments: data_label: D140
type_infered: string
name: retrieve_data
arguments: data_label: D152
type_infered: string
name: retrieve_data
arguments: data_label: D48
type_infered: string
name: retrieve_data
arguments: data_label: D91
type_infered: string
name: retrieve_data
arguments: data_label: D59
type_infered: string
name: retrieve_data
arguments: data_label: D125
type_infered: string
name: retrieve_data
arguments: data_label: D62
type_infered: string
name: retrieve_data
arguments: data_label: D182
type_infered: string
name: retrieve_data
arguments: data_label: D84
type_infered: string
name: retrieve_data
arguments: data_label: D218
type_infered: string
name: retrieve_data
arguments: data_label: D154
type_infered: string
name: retrieve_data
arguments: data_label: D82
type_infered: string
name: retrieve_data
arguments: data_label: D10
type_infered: string
name: retrieve_data
arguments: data_label: D201
type_infered: string

tool: D195: Brute force module for IMAP sessions

tool: D131: pMonkey <pmonkey@foofus.net>

tool: D141: 2.0

tool: D178: imap.mod

tool: D78: %s (%s) %s :: %s


tool: 

tool: D18: Available module options:

tool: D11:   TAG:? (Default: gerg)

tool: D140:   AUTH:? (Authentication Type (LOGIN/PLAIN/NTLM). Default: automatic)

tool: D152:   DOMAIN:? [optional]

tool: D48: Usage example: "-M imap -m TAG:A0001 -m AUTH:PLAIN

tool: D91: The DOMAIN option should supply the specified domain appropriately,

tool: D59: regardless of authentication type. The domain can also be supplied 

tool: D125: via the username field, but the format appears to differ by auth type.

tool: D62: Example 1: NTLM authentication with DOMAIN option

tool: D182:    "medusa -M imap -m AUTH:NTLM -m DOMAIN:FOODOM -h host -u foo -p bar"

tool: D84: Example 2: NTLM authentication with domain via username

tool: D218:    "medusa -M imap -m AUTH:NTLM -h host -u foo@domain -p bar"

tool: D154: * If no domain is specified when using NTLM authentication, the server

tool: D82: supplied value will be used.

tool: D10: Example 3: LOGIN authentication with domain via username

tool: D201:    "medusa -M imap -m AUTH:LOGIN -h host -u 'domain\\foo' -p bar"

assistant: ```c
void showUsage() {
  writeVerbose(1, "%s (%s) %s :: %s\n", "imap.mod", "2.0", "pMonkey <pmonkey@foofus.net>", "Brute force module for IMAP sessions");
  writeVerbose(1, "Available module options:");
  writeVerbose(1, "  TAG:? (Default: gerg)");
  writeVerbose(1, "  AUTH:? (Authentication Type (LOGIN/PLAIN/NTLM). Default: automatic)");
  writeVerbose(1, "  DOMAIN:? [optional]");
  writeVerbose(1, "");
  writeVerbose(1, "Usage example: \"-M imap -m TAG:A0001 -m AUTH:PLAIN");
  writeVerbose(1, "");
  writeVerbose(1, "The DOMAIN option should supply the specified domain appropriately,");
  writeVerbose(1, "regardless of authentication type. The domain can also be supplied ");
  writeVerbose(1, "via the username field, but the format appears to differ by auth type.");
  writeVerbose(1, "");
  writeVerbose(1, "Example 1: NTLM authentication with DOMAIN option");
  writeVerbose(1, "   \"medusa -M imap -m AUTH:NTLM -m DOMAIN:FOODOM -h host -u foo -p bar\"");
  writeVerbose(1, "");
  writeVerbose(1, "Example 2: NTLM authentication with domain via username");
  writeVerbose(1, "   \"medusa -M imap -m AUTH:NTLM -h host -u foo@domain -p bar\"");
  writeVerbose(1, "");
  writeVerbose(1, "* If no domain is specified when using NTLM authentication, the server");
  writeVerbose(1, "supplied value will be used.");
  writeVerbose(1, "");
  writeVerbose(1, "Example 3: LOGIN authentication with domain via username");
  writeVerbose(1, "   \"medusa -M imap -m AUTH:LOGIN -h host -u 'domain\\\\foo' -p bar\"");
}
```