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

```asm
<affect_loc_name>:
  endbr64
  cmp    $0x19,%edi
  ja     L1
  lea    D203(%rip),%rdx
  mov    %edi,%eax
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax)
  lea    D22(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D243(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
L1:
  sub    $0x8,%rsp
  mov    %edi,%esi
  lea    D50(%rip),%rdi
  call   <bug@plt>
  lea    D167(%rip),%rax
  add    $0x8,%rsp
  ret
  xchg   %ax,%ax
  lea    D247(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D113(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D123(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D20(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D39(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D3(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D202(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D188(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D174(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D255(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D13(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D193(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D141(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D104(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D196(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D180(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D162(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D157(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D173(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D238(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D132(%rip),%rax
  ret
```

tool_calls: name: disassemble_data
arguments: tag: D22
datatype: string
name: disassemble_data
arguments: tag: D243
datatype: string
name: disassemble_data
arguments: tag: D50
datatype: string
name: disassemble_data
arguments: tag: D167
datatype: string
name: disassemble_data
arguments: tag: D247
datatype: string
name: disassemble_data
arguments: tag: D113
datatype: string
name: disassemble_data
arguments: tag: D123
datatype: string
name: disassemble_data
arguments: tag: D20
datatype: string
name: disassemble_data
arguments: tag: D39
datatype: string
name: disassemble_data
arguments: tag: D3
datatype: string
name: disassemble_data
arguments: tag: D202
datatype: string
name: disassemble_data
arguments: tag: D188
datatype: string
name: disassemble_data
arguments: tag: D174
datatype: string
name: disassemble_data
arguments: tag: D255
datatype: string
name: disassemble_data
arguments: tag: D13
datatype: string
name: disassemble_data
arguments: tag: D193
datatype: string
name: disassemble_data
arguments: tag: D141
datatype: string
name: disassemble_data
arguments: tag: D104
datatype: string
name: disassemble_data
arguments: tag: D196
datatype: string
name: disassemble_data
arguments: tag: D180
datatype: string
name: disassemble_data
arguments: tag: D162
datatype: string
name: disassemble_data
arguments: tag: D157
datatype: string
name: disassemble_data
arguments: tag: D173
datatype: string
name: disassemble_data
arguments: tag: D238
datatype: string
name: disassemble_data
arguments: tag: D132
datatype: string

tool: D22: none

tool: D243: dexterity

tool: D50: Affect_location_name: unknown location %d.

tool: D167: (unknown)

tool: D247: save vs spell

tool: D113: save vs breath

tool: D123: save vs petrification

tool: D20: save vs rod

tool: D39: saves

tool: D3: damage roll

tool: D202: hit roll

tool: D188: armor class

tool: D174: experience

tool: D255: gold

tool: D13: moves

tool: D193: hp

tool: D141: mana

tool: D104: age

tool: D196: level

tool: D180: class

tool: D162: sex

tool: D157: constitution

tool: D173: wisdom

tool: D238: intelligence

tool: D132: strength

assistant: ```c
char *affect_loc_name(int location) {
  switch (location) {
  case 0:
    return "none";
  case 1:
    return "strength";
  case 2:
    return "dexterity";
  case 3:
    return "intelligence";
  case 4:
    return "wisdom";
  case 5:
    return "constitution";
  case 6:
    return "sex";
  case 7:
    return "class";
  case 8:
    return "level";
  case 9:
    return "age";
  case 12:
    return "mana";
  case 13:
    return "hp";
  case 14:
    return "moves";
  case 15:
    return "gold";
  case 16:
    return "experience";
  case 17:
    return "armor class";
  case 18:
    return "hit roll";
  case 19:
    return "damage roll";
  case 20:
    return "saves";
  case 21:
    return "save vs rod";
  case 22:
    return "save vs petrification";
  case 23:
    return "save vs breath";
  case 24:
    return "save vs spell";
  case 25:
    return "none";
  }
  bug("Affect_location_name: unknown location %d.", location);
  return "(unknown)";
}
```