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

```asm
<get_wday>:
  endbr64
  push   %r12
  lea    D73(%rip),%rsi
  mov    $0x1,%r12d
  push   %rbp
  mov    %rdi,%rbp
  sub    $0x8,%rsp
  call   <strcasecmp@plt>
  test   %eax,%eax
  je     L18
  lea    D55(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcasecmp@plt>
  test   %eax,%eax
  je     L18
  lea    D110(%rip),%rsi
  mov    %rbp,%rdi
  mov    $0x2,%r12d
  call   <strcasecmp@plt>
  test   %eax,%eax
  je     L18
  lea    D120(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcasecmp@plt>
  test   %eax,%eax
  je     L18
  lea    D138(%rip),%rsi
  mov    %rbp,%rdi
  mov    $0x3,%r12d
  call   <strcasecmp@plt>
  test   %eax,%eax
  je     L18
  lea    D126(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcasecmp@plt>
  test   %eax,%eax
  je     L18
  lea    D35(%rip),%rsi
  mov    %rbp,%rdi
  mov    $0x4,%r12d
  call   <strcasecmp@plt>
  test   %eax,%eax
  je     L18
  lea    D84(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcasecmp@plt>
  test   %eax,%eax
  je     L18
  lea    D75(%rip),%rsi
  mov    %rbp,%rdi
  mov    $0x5,%r12d
  call   <strcasecmp@plt>
  test   %eax,%eax
  je     L18
  lea    D104(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcasecmp@plt>
  test   %eax,%eax
  je     L18
  lea    D93(%rip),%rsi
  mov    %rbp,%rdi
  mov    $0x6,%r12d
  call   <strcasecmp@plt>
  test   %eax,%eax
  je     L18
  lea    D50(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcasecmp@plt>
  test   %eax,%eax
  je     L18
  lea    D7(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcasecmp@plt>
  mov    %eax,%r12d
  test   %eax,%eax
  je     L18
  lea    D6(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcasecmp@plt>
  neg    %eax
  sbb    %r12d,%r12d
L18:
  add    $0x8,%rsp
  mov    %r12d,%eax
  pop    %rbp
  pop    %r12
  ret
```

tool_calls: name: disassemble_data
arguments: tag: D73
type: string
name: disassemble_data
arguments: tag: D55
type: string
name: disassemble_data
arguments: tag: D110
type: string
name: disassemble_data
arguments: tag: D120
type: string
name: disassemble_data
arguments: tag: D138
type: string
name: disassemble_data
arguments: tag: D126
type: string
name: disassemble_data
arguments: tag: D35
type: string
name: disassemble_data
arguments: tag: D84
type: string
name: disassemble_data
arguments: tag: D75
type: string
name: disassemble_data
arguments: tag: D104
type: string
name: disassemble_data
arguments: tag: D93
type: string
name: disassemble_data
arguments: tag: D50
type: string
name: disassemble_data
arguments: tag: D7
type: string
name: disassemble_data
arguments: tag: D6
type: string

tool: D73: Mon

tool: D55: Monday

tool: D110: Tue

tool: D120: Tuesday

tool: D138: Wed

tool: D126: Wednesday

tool: D35: Thu

tool: D84: Thursday

tool: D75: Fri

tool: D104: Friday

tool: D93: Sat

tool: D50: Saturday

tool: D7: Sun

tool: D6: Sunday

assistant: ```c
int get_wday(char *wday) {
  if (!strcasecmp(wday, "Mon") || !strcasecmp(wday, "Monday"))
    return 1;
  else if (!strcasecmp(wday, "Tue") || !strcasecmp(wday, "Tuesday"))
    return 2;
  else if (!strcasecmp(wday, "Wed") || !strcasecmp(wday, "Wednesday"))
    return 3;
  else if (!strcasecmp(wday, "Thu") || !strcasecmp(wday, "Thursday"))
    return 4;
  else if (!strcasecmp(wday, "Fri") || !strcasecmp(wday, "Friday"))
    return 5;
  else if (!strcasecmp(wday, "Sat") || !strcasecmp(wday, "Saturday"))
    return 6;
  else if (!strcasecmp(wday, "Sun") || !strcasecmp(wday, "Sunday"))
    return 0;
  else
    return -1;
}
```