user: Please show me the C implementation that matches the assembly code listed below:

```asm
<affect_loc_name>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %edi,-0x4(%rbp)
  cmpl   $0x19,-0x4(%rbp)
  ja     L72
  mov    -0x4(%rbp),%eax
  lea    0x0(,%rax,4),%rdx
  lea    D134(%rip),%rax
  mov    (%rdx,%rax,1),%eax
  cltq
  lea    D134(%rip),%rdx
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D155(%rip),%rax
  jmp    L160
  lea    D47(%rip),%rax
  jmp    L160
  lea    D94(%rip),%rax
  jmp    L160
  lea    D132(%rip),%rax
  jmp    L160
  lea    D7(%rip),%rax
  jmp    L160
  lea    D152(%rip),%rax
  jmp    L160
  lea    D2(%rip),%rax
  jmp    L160
  lea    D273(%rip),%rax
  jmp    L160
  lea    D56(%rip),%rax
  jmp    L160
  lea    D254(%rip),%rax
  jmp    L160
  lea    D44(%rip),%rax
  jmp    L160
  lea    D184(%rip),%rax
  jmp    L160
  lea    D75(%rip),%rax
  jmp    L160
  lea    D86(%rip),%rax
  jmp    L160
  lea    D83(%rip),%rax
  jmp    L160
  lea    D38(%rip),%rax
  jmp    L160
  lea    D48(%rip),%rax
  jmp    L160
  lea    D219(%rip),%rax
  jmp    L160
  lea    D5(%rip),%rax
  jmp    L160
  lea    D271(%rip),%rax
  jmp    L160
  lea    D70(%rip),%rax
  jmp    L160
  lea    D235(%rip),%rax
  jmp    L160
  lea    D36(%rip),%rax
  jmp    L160
  lea    D155(%rip),%rax
  jmp    L160
L72:
  mov    -0x4(%rbp),%eax
  mov    %eax,%esi
  lea    D269(%rip),%rax
  mov    %rax,%rdi
  call   <bug@plt>
  lea    D204(%rip),%rax
L160:
  leave
  ret
```

tool_calls: name: disassemble_data
arguments: data_tag: D155
datatype: string
name: disassemble_data
arguments: data_tag: D47
datatype: string
name: disassemble_data
arguments: data_tag: D94
datatype: string
name: disassemble_data
arguments: data_tag: D132
datatype: string
name: disassemble_data
arguments: data_tag: D7
datatype: string
name: disassemble_data
arguments: data_tag: D152
datatype: string
name: disassemble_data
arguments: data_tag: D2
datatype: string
name: disassemble_data
arguments: data_tag: D273
datatype: string
name: disassemble_data
arguments: data_tag: D56
datatype: string
name: disassemble_data
arguments: data_tag: D254
datatype: string
name: disassemble_data
arguments: data_tag: D44
datatype: string
name: disassemble_data
arguments: data_tag: D184
datatype: string
name: disassemble_data
arguments: data_tag: D75
datatype: string
name: disassemble_data
arguments: data_tag: D86
datatype: string
name: disassemble_data
arguments: data_tag: D83
datatype: string
name: disassemble_data
arguments: data_tag: D38
datatype: string
name: disassemble_data
arguments: data_tag: D48
datatype: string
name: disassemble_data
arguments: data_tag: D219
datatype: string
name: disassemble_data
arguments: data_tag: D5
datatype: string
name: disassemble_data
arguments: data_tag: D271
datatype: string
name: disassemble_data
arguments: data_tag: D70
datatype: string
name: disassemble_data
arguments: data_tag: D235
datatype: string
name: disassemble_data
arguments: data_tag: D36
datatype: string
name: disassemble_data
arguments: data_tag: D269
datatype: string
name: disassemble_data
arguments: data_tag: D204
datatype: string

tool: D155: none

tool: D47: strength

tool: D94: dexterity

tool: D132: intelligence

tool: D7: wisdom

tool: D152: constitution

tool: D2: sex

tool: D273: class

tool: D56: level

tool: D254: age

tool: D44: mana

tool: D184: hp

tool: D75: moves

tool: D86: gold

tool: D83: experience

tool: D38: armor class

tool: D48: hit roll

tool: D219: damage roll

tool: D5: saves

tool: D271: save vs rod

tool: D70: save vs petrification

tool: D235: save vs breath

tool: D36: save vs spell

tool: D269: Affect_location_name: unknown location %d.

tool: D204: (unknown)

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)";
}
```