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

```asm
<menu>:
  endbr64
  push   %rbp
  lea    D174(%rip),%rdi
  lea    D114(%rip),%rbp
  call   <printf@plt>
  lea    D132(%rip),%rdi
  call   <printf@plt>
  lea    D53(%rip),%rdi
  call   <printf@plt>
  lea    D121(%rip),%rdi
  call   <printf@plt>
  lea    D173(%rip),%rdi
  call   <printf@plt>
  lea    D54(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D11(%rip),%rdi
  call   <printf@plt>
  lea    D157(%rip),%rdi
  call   <printf@plt>
  lea    D102(%rip),%rdi
  call   <printf@plt>
  lea    D148(%rip),%rdi
  call   <printf@plt>
  lea    D179(%rip),%rdi
  call   <printf@plt>
  lea    D186(%rip),%rdi
  call   <printf@plt>
  lea    D117(%rip),%rdi
  call   <printf@plt>
  lea    D115(%rip),%rdi
  call   <printf@plt>
  lea    D130(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D68(%rip),%rdi
  call   <printf@plt>
  lea    D149(%rip),%rdi
  call   <printf@plt>
  lea    D45(%rip),%rdi
  pop    %rbp
  jmp    1050 <printf@plt>
```

tool_calls: name: parse_data
arguments: data_tag: D174
type_guessed: string
name: parse_data
arguments: data_tag: D114
type_guessed: string
name: parse_data
arguments: data_tag: D132
type_guessed: string
name: parse_data
arguments: data_tag: D53
type_guessed: string
name: parse_data
arguments: data_tag: D121
type_guessed: string
name: parse_data
arguments: data_tag: D173
type_guessed: string
name: parse_data
arguments: data_tag: D54
type_guessed: string
name: parse_data
arguments: data_tag: D11
type_guessed: string
name: parse_data
arguments: data_tag: D157
type_guessed: string
name: parse_data
arguments: data_tag: D102
type_guessed: string
name: parse_data
arguments: data_tag: D148
type_guessed: string
name: parse_data
arguments: data_tag: D179
type_guessed: string
name: parse_data
arguments: data_tag: D186
type_guessed: string
name: parse_data
arguments: data_tag: D117
type_guessed: string
name: parse_data
arguments: data_tag: D115
type_guessed: string
name: parse_data
arguments: data_tag: D130
type_guessed: string
name: parse_data
arguments: data_tag: D68
type_guessed: string
name: parse_data
arguments: data_tag: D149
type_guessed: string
name: parse_data
arguments: data_tag: D45
type_guessed: string

tool: D174: 
============ Real Time Clock (RTC) Application ============


tool: D114: 


tool: D132: 1. Auto Alarm Test with Time


tool: D53: 2. Auto Poweroff Alarm Test with Time


tool: D121: 3. Auto Alarm Test with Time and Date


tool: D173: 4. Auto Poweroff Alarm Test with Time and Date


tool: D54: 5. Auto Alarm Test with Time manually


tool: D11: 6. RTC_SET_TIME


tool: D157: 7. RTC_RD_TIME


tool: D102: 8. RTC_ALM_SET


tool: D148: 9. RTC_ALM_READ


tool: D179: a. RTC_WKALM_SET


tool: D186: b. RTC_WKALM_RD


tool: D117: c. RTC_IRQP_SET


tool: D115: d. RTC_IRQP_READ


tool: D130: e. Enter RTC Power Off Mode


tool: D68: ?. Display Menu


tool: D149: X. Exit


tool: D45: =========== (C) 2003-2006 Socle Technology Corp. ==========


assistant: ```c
void menu(void) {
  printf("\n============ Real Time Clock (RTC) Application ============\n");
  printf("1. Auto Alarm Test with Time\n");
  printf("2. Auto Poweroff Alarm Test with Time\n");
  printf("3. Auto Alarm Test with Time and Date\n");
  printf("4. Auto Poweroff Alarm Test with Time and Date\n");
  printf("5. Auto Alarm Test with Time manually\n");
  printf("\n");
  printf("6. RTC_SET_TIME\n");
  printf("7. RTC_RD_TIME\n");
  printf("8. RTC_ALM_SET\n");
  printf("9. RTC_ALM_READ\n");
  printf("a. RTC_WKALM_SET\n");
  printf("b. RTC_WKALM_RD\n");
  printf("c. RTC_IRQP_SET\n");
  printf("d. RTC_IRQP_READ\n");
  printf("e. Enter RTC Power Off Mode\n");
  printf("\n");
  printf("?. Display Menu\n");
  printf("X. Exit\n");
  printf("=========== (C) 2003-2006 Socle Technology Corp. ==========\n");
}
```