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

```asm
<e_tast_sim>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %edi,-0x4(%rbp)
  cmpl   $0x40,-0x4(%rbp)
  jle    L423
  cmpl   $0x5a,-0x4(%rbp)
  jg     L423
  mov    -0x4(%rbp),%eax
  add    $0x3bf,%eax
  jmp    L115
L423:
  cmpl   $0x7a,-0x4(%rbp)
  ja     L58
  mov    -0x4(%rbp),%eax
  lea    0x0(,%rax,4),%rdx
  lea    D6(%rip),%rax
  mov    (%rdx,%rax,1),%eax
  cltq
  lea    D6(%rip),%rdx
  add    %rdx,%rax
  notrack jmp *%rax
  mov    $0x11d,%eax
  jmp    L115
  mov    $0x12f,%eax
  jmp    L115
  mov    $0x12d,%eax
  jmp    L115
  mov    $0x11f,%eax
  jmp    L115
  mov    $0x111,%eax
  jmp    L115
  mov    $0x120,%eax
  jmp    L115
  mov    $0x121,%eax
  jmp    L115
  mov    $0x122,%eax
  jmp    L115
  mov    $0x116,%eax
  jmp    L115
  mov    $0x123,%eax
  jmp    L115
  mov    $0x124,%eax
  jmp    L115
  mov    $0x125,%eax
  jmp    L115
  mov    $0x131,%eax
  jmp    L115
  mov    $0x130,%eax
  jmp    L115
  mov    $0x117,%eax
  jmp    L115
  mov    $0x118,%eax
  jmp    L115
  mov    $0x10f,%eax
  jmp    L115
  mov    $0x112,%eax
  jmp    L115
  mov    $0x11e,%eax
  jmp    L115
  mov    $0x113,%eax
  jmp    L115
  mov    $0x115,%eax
  jmp    L115
  mov    $0x12e,%eax
  jmp    L115
  mov    $0x110,%eax
  jmp    L115
  mov    $0x12c,%eax
  jmp    L115
  mov    $0x12b,%eax
  jmp    L115
  mov    $0x114,%eax
  jmp    L115
  mov    $0x177,%eax
  jmp    L115
  mov    $0x178,%eax
  jmp    L115
  mov    $0x179,%eax
  jmp    L115
  mov    $0x17a,%eax
  jmp    L115
  mov    $0x17b,%eax
  jmp    L115
  mov    $0x17c,%eax
  jmp    L115
  mov    $0x17d,%eax
  jmp    L115
  mov    $0x17e,%eax
  jmp    L115
  mov    $0x17f,%eax
  jmp    L115
  mov    $0x180,%eax
  jmp    L115
  mov    $0x182,%eax
  jmp    L115
  mov    $0x12a,%eax
  jmp    L115
  mov    $0x183,%eax
  jmp    L115
  mov    $0x175,%eax
  jmp    L115
  mov    $0x172,%eax
  jmp    L115
  mov    $0x173,%eax
  jmp    L115
  mov    $0x176,%eax
  jmp    L115
  mov    $0x174,%eax
  jmp    L115
  mov    $0x181,%eax
  jmp    L115
L58:
  mov    $0x0,%eax
L115:
  pop    %rbp
  ret
```

assistant: ```c
int e_tast_sim(int c) {
  if (c >= 'A' && c <= 'Z')
    return (c + 1024 - 'A');
  switch (c) {
  case 'a':
    return (285);
  case 'b':
    return (303);
  case 'c':
    return (301);
  case 'd':
    return (287);
  case 'e':
    return (273);
  case 'f':
    return (288);
  case 'g':
    return (289);
  case 'h':
    return (290);
  case 'i':
    return (278);
  case 'j':
    return (291);
  case 'k':
    return (292);
  case 'l':
    return (293);
  case 'm':
    return (305);
  case 'n':
    return (304);
  case 'o':
    return (279);
  case 'p':
    return (280);
  case 'q':
    return (271);
  case 'r':
    return (274);
  case 's':
    return (286);
  case 't':
    return (275);
  case 'u':
    return (277);
  case 'v':
    return (302);
  case 'w':
    return (272);
  case 'x':
    return (300);
  case 'y':
    return (299);
  case 'z':
    return (276);
  case '1':
    return (375);
  case '2':
    return (376);
  case '3':
    return (377);
  case '4':
    return (378);
  case '5':
    return (379);
  case '6':
    return (380);
  case '7':
    return (381);
  case '8':
    return (382);
  case '9':
    return (383);
  case '0':
    return (384);
  case ' ':
    return (386);
  case '#':
    return (298);
  case 1:
    return (387);
  case 5:
    return (373);
  case 2:
    return (370);
  case 6:
    return (371);
  case 16:
    return (374);
  case 14:
    return (372);
  case 8:
    return (385);
  default:
    return (0);
  }
}
```