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

```asm
<main>:
  endbr64
  sub    $0x18,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x8(%rsp)
  xor    %eax,%eax
  lea    0x7(%rsp),%rsi
  lea    D239(%rip),%rdi
  call   <scanf@plt>
  cmpb   $0x61,0x7(%rsp)
  je     L517
L362:
  cmpb   $0x62,0x7(%rsp)
  je     L143
L233:
  cmpb   $0x63,0x7(%rsp)
  je     L255
L288:
  cmpb   $0x64,0x7(%rsp)
  je     L472
L389:
  cmpb   $0x65,0x7(%rsp)
  je     L184
L344:
  cmpb   $0x66,0x7(%rsp)
  je     L12
L383:
  cmpb   $0x67,0x7(%rsp)
  je     L364
L126:
  cmpb   $0x68,0x7(%rsp)
  je     L445
L41:
  cmpb   $0x69,0x7(%rsp)
  je     L187
L262:
  cmpb   $0x6a,0x7(%rsp)
  je     L281
L285:
  cmpb   $0x6b,0x7(%rsp)
  je     L197
L502:
  cmpb   $0x6c,0x7(%rsp)
  je     L157
L439:
  cmpb   $0x6d,0x7(%rsp)
  je     L103
L124:
  cmpb   $0x6e,0x7(%rsp)
  je     L407
L106:
  cmpb   $0x6f,0x7(%rsp)
  je     L118
L15:
  cmpb   $0x70,0x7(%rsp)
  je     L111
L345:
  cmpb   $0x71,0x7(%rsp)
  je     L214
L368:
  cmpb   $0x72,0x7(%rsp)
  je     L117
L91:
  cmpb   $0x73,0x7(%rsp)
  je     L441
L374:
  cmpb   $0x74,0x7(%rsp)
  je     L304
L489:
  cmpb   $0x75,0x7(%rsp)
  je     L25
L405:
  cmpb   $0x76,0x7(%rsp)
  je     L248
L355:
  cmpb   $0x77,0x7(%rsp)
  je     L456
L302:
  cmpb   $0x78,0x7(%rsp)
  je     L321
L140:
  cmpb   $0x79,0x7(%rsp)
  je     L216
L494:
  cmpb   $0x7a,0x7(%rsp)
  je     L69
L314:
  mov    0x8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L275
  mov    $0x0,%eax
  add    $0x18,%rsp
  ret
L517:
  lea    D197(%rip),%rdi
  call   <printf@plt>
  jmp    L362
L143:
  lea    D95(%rip),%rdi
  call   <printf@plt>
  jmp    L233
L255:
  lea    D27(%rip),%rdi
  call   <printf@plt>
  jmp    L288
L472:
  lea    D134(%rip),%rdi
  call   <printf@plt>
  jmp    L389
L184:
  lea    D72(%rip),%rdi
  call   <printf@plt>
  jmp    L344
L12:
  lea    D245(%rip),%rdi
  call   <printf@plt>
  jmp    L383
L364:
  lea    D90(%rip),%rdi
  call   <printf@plt>
  jmp    L126
L445:
  lea    D79(%rip),%rdi
  call   <printf@plt>
  jmp    L41
L187:
  lea    D168(%rip),%rdi
  call   <printf@plt>
  jmp    L262
L281:
  lea    D83(%rip),%rdi
  call   <printf@plt>
  jmp    L285
L197:
  lea    D135(%rip),%rdi
  call   <printf@plt>
  jmp    L502
L157:
  lea    D249(%rip),%rdi
  call   <printf@plt>
  jmp    L439
L103:
  lea    D66(%rip),%rdi
  call   <printf@plt>
  jmp    L124
L407:
  lea    D112(%rip),%rdi
  call   <printf@plt>
  jmp    L106
L118:
  lea    D143(%rip),%rdi
  call   <printf@plt>
  jmp    L15
L111:
  lea    D70(%rip),%rdi
  call   <printf@plt>
  jmp    L345
L214:
  lea    D97(%rip),%rdi
  call   <printf@plt>
  jmp    L368
L117:
  lea    D47(%rip),%rdi
  call   <printf@plt>
  jmp    L91
L441:
  lea    D92(%rip),%rdi
  call   <printf@plt>
  jmp    L374
L304:
  lea    D59(%rip),%rdi
  call   <printf@plt>
  jmp    L489
L25:
  lea    D45(%rip),%rdi
  call   <printf@plt>
  jmp    L405
L248:
  lea    D37(%rip),%rdi
  call   <printf@plt>
  jmp    L355
L456:
  lea    D122(%rip),%rdi
  call   <printf@plt>
  jmp    L302
L321:
  lea    D140(%rip),%rdi
  call   <printf@plt>
  jmp    L140
L216:
  lea    D193(%rip),%rdi
  call   <printf@plt>
  jmp    L494
L69:
  lea    D201(%rip),%rdi
  call   <printf@plt>
  jmp    L314
L275:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: retrieve_data
arguments: data_label: D239
type: string
name: retrieve_data
arguments: data_label: D197
type: string
name: retrieve_data
arguments: data_label: D95
type: string
name: retrieve_data
arguments: data_label: D27
type: string
name: retrieve_data
arguments: data_label: D134
type: string
name: retrieve_data
arguments: data_label: D72
type: string
name: retrieve_data
arguments: data_label: D245
type: string
name: retrieve_data
arguments: data_label: D90
type: string
name: retrieve_data
arguments: data_label: D79
type: string
name: retrieve_data
arguments: data_label: D168
type: string
name: retrieve_data
arguments: data_label: D83
type: string
name: retrieve_data
arguments: data_label: D135
type: string
name: retrieve_data
arguments: data_label: D249
type: string
name: retrieve_data
arguments: data_label: D66
type: string
name: retrieve_data
arguments: data_label: D112
type: string
name: retrieve_data
arguments: data_label: D143
type: string
name: retrieve_data
arguments: data_label: D70
type: string
name: retrieve_data
arguments: data_label: D97
type: string
name: retrieve_data
arguments: data_label: D47
type: string
name: retrieve_data
arguments: data_label: D92
type: string
name: retrieve_data
arguments: data_label: D59
type: string
name: retrieve_data
arguments: data_label: D45
type: string
name: retrieve_data
arguments: data_label: D37
type: string
name: retrieve_data
arguments: data_label: D122
type: string
name: retrieve_data
arguments: data_label: D140
type: string
name: retrieve_data
arguments: data_label: D193
type: string
name: retrieve_data
arguments: data_label: D201
type: string

tool: D239: %c

tool: D197: z


tool: D95: y


tool: D27: x


tool: D134: w


tool: D72: v


tool: D245: u


tool: D90: t


tool: D79: s


tool: D168: r


tool: D83: q


tool: D135: p


tool: D249: o


tool: D66: n


tool: D112: m


tool: D143: l


tool: D70: k


tool: D97: j


tool: D47: i


tool: D92: h


tool: D59: g


tool: D45: f


tool: D37: e


tool: D122: d


tool: D140: c


tool: D193: b


tool: D201: a


assistant: ```c
int main() {
  char S;
  scanf("%c", &S);
  if (S == 97)
    printf("z\n");
  if (S == 98)
    printf("y\n");
  if (S == 99)
    printf("x\n");
  if (S == 100)
    printf("w\n");
  if (S == 101)
    printf("v\n");
  if (S == 102)
    printf("u\n");
  if (S == 103)
    printf("t\n");
  if (S == 104)
    printf("s\n");
  if (S == 105)
    printf("r\n");
  if (S == 106)
    printf("q\n");
  if (S == 107)
    printf("p\n");
  if (S == 108)
    printf("o\n");
  if (S == 109)
    printf("n\n");
  if (S == 110)
    printf("m\n");
  if (S == 111)
    printf("l\n");
  if (S == 112)
    printf("k\n");
  if (S == 113)
    printf("j\n");
  if (S == 114)
    printf("i\n");
  if (S == 115)
    printf("h\n");
  if (S == 116)
    printf("g\n");
  if (S == 117)
    printf("f\n");
  if (S == 118)
    printf("e\n");
  if (S == 119)
    printf("d\n");
  if (S == 120)
    printf("c\n");
  if (S == 121)
    printf("b\n");
  if (S == 122)
    printf("a\n");
  return 0;
}
```