user: Converte this assembly snippet into its equivalent C code:

```asm
<generateHelpMessage>:
  endbr64
  push   %rbp
  mov    $0x6a,%ecx
  mov    %rsi,%rbp
  lea    D2(%rip),%rsi
  push   %rbx
  mov    %rdi,%rbx
  sub    $0x368,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x358(%rsp)
  xor    %eax,%eax
  mov    %rsp,%r8
  mov    %r8,%rdi
  rep movsq %ds:(%rsi),%es:(%rdi)
  mov    (%rsi),%eax
  mov    %eax,(%rdi)
  movzwl D23(%rip),%eax
  mov    %ax,0x4(%rdi)
  movzbl D4(%rip),%eax
  mov    %al,0x6(%rdi)
  test   %rbx,%rbx
  je     L11
  test   %rbp,%rbp
  jne    L32
L11:
  mov    0x358(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L14
  add    $0x368,%rsp
  pop    %rbx
  pop    %rbp
  ret
  nopl   0x0(%rax,%rax,1)
L32:
  lea    -0x1(%rbp),%rdx
  mov    %r8,%rsi
  mov    %rbx,%rdi
  call   <strncpy@plt>
  movb   $0x0,-0x1(%rbx,%rbp,1)
  jmp    L11
L14:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: parse_data
arguments: data_label: D2
type_infered: string
name: parse_data
arguments: data_label: D23
type_infered: byte[2]
name: parse_data
arguments: data_label: D4
type_infered: byte

tool: D2:                                                             
============================================================
                                                            
                Roman Numeral Calculator                    
                                                            
           $>romancalc  MMCCDLX    +    XXVII               
                       |_______|   ^   |_____|              
                          |        |      |                 
             numeral ------        |      |                 
                operand [+/-]-------      |                 
                   numeral ----------------                 
                                                            
============================================================
                                                            


tool: {"D23": [0x20,0x0a]}

tool: D4: 0

assistant: ```c
extern void generateHelpMessage(char *helpMessage, const size_t helpMessageSizeInBytes) {
  size_t maxLength = 0;
  const char message[] = "                                                            \n"
                         "============================================================\n"
                         "                                                            \n"
                         "                Roman Numeral Calculator                    \n"
                         "                                                            \n"
                         "           $>romancalc  MMCCDLX    +    XXVII               \n"
                         "                       |_______|   ^   |_____|              \n"
                         "                          |        |      |                 \n"
                         "             numeral ------        |      |                 \n"
                         "                operand [+/-]-------      |                 \n"
                         "                   numeral ----------------                 \n"
                         "                                                            \n"
                         "============================================================\n"
                         "                                                            \n";
  if ((helpMessage != NULL) && (helpMessageSizeInBytes >= (1))) {
    maxLength = helpMessageSizeInBytes - sizeof(char);
    strncpy(helpMessage, message, maxLength);
    helpMessage[maxLength] = '\0';
  }
}
```