user: What is the c source code of the assembly code below:

```asm
<Qt_setVisibilityMode>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x70,%rsp
  mov    %rdi,-0x68(%rbp)
  mov    %rsi,-0x70(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    -0x70(%rbp),%rax
  lea    D25(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L62
  mov    -0x68(%rbp),%rdx
  lea    -0x60(%rbp),%rax
  lea    D156(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sprintf@plt>
  lea    -0x60(%rbp),%rax
  mov    %rax,%rdx
  lea    D73(%rip),%rax
  mov    %rax,%rsi
  lea    D30(%rip),%rax
  mov    %rax,%rdi
  call   <Qt_handleString@plt>
  mov    $0x0,%eax
  jmp    L36
L62:
  mov    -0x70(%rbp),%rax
  lea    D24(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L4
  mov    -0x68(%rbp),%rdx
  lea    -0x60(%rbp),%rax
  lea    D27(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sprintf@plt>
  lea    -0x60(%rbp),%rax
  mov    %rax,%rdx
  lea    D73(%rip),%rax
  mov    %rax,%rsi
  lea    D30(%rip),%rax
  mov    %rax,%rdi
  call   <Qt_handleString@plt>
  mov    $0x1,%eax
  jmp    L36
L4:
  mov    -0x70(%rbp),%rax
  lea    D38(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L20
  mov    -0x68(%rbp),%rdx
  lea    -0x60(%rbp),%rax
  lea    D108(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sprintf@plt>
  lea    -0x60(%rbp),%rax
  mov    %rax,%rdx
  lea    D73(%rip),%rax
  mov    %rax,%rsi
  lea    D30(%rip),%rax
  mov    %rax,%rdi
  call   <Qt_handleString@plt>
  mov    $0x1,%eax
  jmp    L36
L20:
  mov    -0x70(%rbp),%rax
  lea    D135(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L48
  mov    -0x68(%rbp),%rdx
  lea    -0x60(%rbp),%rax
  lea    D45(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sprintf@plt>
  lea    -0x60(%rbp),%rax
  mov    %rax,%rdx
  lea    D73(%rip),%rax
  mov    %rax,%rsi
  lea    D30(%rip),%rax
  mov    %rax,%rdi
  call   <Qt_handleString@plt>
  mov    $0x1,%eax
  jmp    L36
L48:
  mov    $0x0,%eax
L36:
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L84
  call   <__stack_chk_fail@plt>
L84:
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D25
type_infered: string
name: extract_symbolic_data
arguments: data_label: D156
type_infered: string
name: extract_symbolic_data
arguments: data_label: D73
type_infered: string
name: extract_symbolic_data
arguments: data_label: D30
type_infered: string
name: extract_symbolic_data
arguments: data_label: D24
type_infered: string
name: extract_symbolic_data
arguments: data_label: D27
type_infered: string
name: extract_symbolic_data
arguments: data_label: D38
type_infered: string
name: extract_symbolic_data
arguments: data_label: D108
type_infered: string
name: extract_symbolic_data
arguments: data_label: D135
type_infered: string
name: extract_symbolic_data
arguments: data_label: D45
type_infered: string

tool: D25: static

tool: D156: %s::StaticV

tool: D73: enum

tool: D30: visibility

tool: D24: if not zero

tool: D27: %s::IfNotZero

tool: D38: if zero

tool: D108: %s::IfZero

tool: D135: calc

tool: D45: %s::Calc

assistant: ```c
int Qt_setVisibilityMode(char *widget, char *token) {
  char asc[80];
  if (!strcmp(token, "static")) {
    sprintf(asc, "%s::StaticV", widget);
    Qt_handleString("visibility", "enum", asc);
    return 0;
  } else if (!strcmp(token, "if not zero")) {
    sprintf(asc, "%s::IfNotZero", widget);
    Qt_handleString("visibility", "enum", asc);
    return 1;
  } else if (!strcmp(token, "if zero")) {
    sprintf(asc, "%s::IfZero", widget);
    Qt_handleString("visibility", "enum", asc);
    return 1;
  } else if (!strcmp(token, "calc")) {
    sprintf(asc, "%s::Calc", widget);
    Qt_handleString("visibility", "enum", asc);
    return 1;
  }
  return 0;
}
```