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

```asm
<main>:
  endbr64
  sub    $0x18,%rsp
  lea    D4(%rip),%rdi
  mov    %fs:0x28,%rax
  mov    %rax,0x8(%rsp)
  xor    %eax,%eax
  call   <printf@plt>
  lea    0x4(%rsp),%rsi
  lea    D32(%rip),%rdi
  call   <scanf@plt>
  mov    0x4(%rsp),%eax
  test   %eax,%eax
  je     L181
L30:
  cmp    $0x1,%eax
  je     L183
L161:
  cmp    $0x2,%eax
  je     L172
L105:
  cmp    $0x3,%eax
  je     L9
L191:
  cmp    $0x4,%eax
  je     L113
L152:
  cmp    $0x5,%eax
  je     L169
L85:
  cmp    $0x6,%eax
  je     L97
L204:
  cmp    $0x7,%eax
  je     L71
L125:
  cmp    $0x8,%eax
  je     L80
L25:
  cmp    $0x9,%eax
  je     L65
L104:
  mov    0x8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L202
  xor    %eax,%eax
  add    $0x18,%rsp
  ret
L181:
  lea    D78(%rip),%rdi
  call   <printf@plt>
  mov    0x4(%rsp),%eax
  jmp    L30
L65:
  lea    D112(%rip),%rdi
  call   <printf@plt>
  jmp    L104
L80:
  lea    D57(%rip),%rdi
  call   <printf@plt>
  mov    0x4(%rsp),%eax
  jmp    L25
L71:
  lea    D99(%rip),%rdi
  call   <printf@plt>
  mov    0x4(%rsp),%eax
  jmp    L125
L97:
  lea    D3(%rip),%rdi
  call   <printf@plt>
  mov    0x4(%rsp),%eax
  jmp    L204
L169:
  lea    D68(%rip),%rdi
  call   <printf@plt>
  mov    0x4(%rsp),%eax
  jmp    L85
L113:
  lea    D52(%rip),%rdi
  call   <printf@plt>
  mov    0x4(%rsp),%eax
  jmp    L152
L9:
  lea    D30(%rip),%rdi
  call   <printf@plt>
  mov    0x4(%rsp),%eax
  jmp    L191
L172:
  lea    D96(%rip),%rdi
  call   <printf@plt>
  mov    0x4(%rsp),%eax
  jmp    L105
L183:
  lea    D106(%rip),%rdi
  call   <printf@plt>
  mov    0x4(%rsp),%eax
  jmp    L161
L202:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: read_data
arguments: data_tag: D4
type_infered: string
name: read_data
arguments: data_tag: D32
type_infered: string
name: read_data
arguments: data_tag: D78
type_infered: string
name: read_data
arguments: data_tag: D112
type_infered: string
name: read_data
arguments: data_tag: D57
type_infered: string
name: read_data
arguments: data_tag: D99
type_infered: string
name: read_data
arguments: data_tag: D3
type_infered: string
name: read_data
arguments: data_tag: D68
type_infered: string
name: read_data
arguments: data_tag: D52
type_infered: string
name: read_data
arguments: data_tag: D30
type_infered: string
name: read_data
arguments: data_tag: D96
type_infered: string
name: read_data
arguments: data_tag: D106
type_infered: string

tool: D4: 


tool: D32: %d

tool: D78: 
 zero

tool: D112: 
 nine

tool: D57: 
 eight

tool: D99: 
 seven

tool: D3: 
 six

tool: D68: 
 five

tool: D52: 
 four

tool: D30: 
 three

tool: D96: 
 two

tool: D106: 
 one

assistant: ```c
int main() {
  int chislo;
  printf("\n");
  scanf("%d", &chislo);
  if (chislo == 0)
    printf("\n zero");
  if (chislo == 1)
    printf("\n one");
  if (chislo == 2)
    printf("\n two");
  if (chislo == 3)
    printf("\n three");
  if (chislo == 4)
    printf("\n four");
  if (chislo == 5)
    printf("\n five");
  if (chislo == 6)
    printf("\n six");
  if (chislo == 7)
    printf("\n seven");
  if (chislo == 8)
    printf("\n eight");
  if (chislo == 9)
    printf("\n nine");
  return 0;
}
```