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

```asm
<affect_loc_name>:
  endbr64
  cmp    $0x19,%edi
  ja     L8
  lea    D15(%rip),%rdx
  mov    %edi,%eax
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax)
  lea    D46(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D25(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
L8:
  sub    $0x8,%rsp
  mov    %edi,%esi
  lea    D89(%rip),%rdi
  call   <bug@plt>
  lea    D194(%rip),%rax
  add    $0x8,%rsp
  ret
  xchg   %ax,%ax
  lea    D222(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D97(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D5(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D54(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D39(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D136(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D77(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D23(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D80(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D142(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D219(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D203(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D225(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D69(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D199(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D4(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D247(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D228(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D146(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D17(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D180(%rip),%rax
  ret
```

tool_calls: name: read_data
arguments: label: D46
data_type: string
name: read_data
arguments: label: D25
data_type: string
name: read_data
arguments: label: D89
data_type: string
name: read_data
arguments: label: D194
data_type: string
name: read_data
arguments: label: D222
data_type: string
name: read_data
arguments: label: D97
data_type: string
name: read_data
arguments: label: D5
data_type: string
name: read_data
arguments: label: D54
data_type: string
name: read_data
arguments: label: D39
data_type: string
name: read_data
arguments: label: D136
data_type: string
name: read_data
arguments: label: D77
data_type: string
name: read_data
arguments: label: D23
data_type: string
name: read_data
arguments: label: D80
data_type: string
name: read_data
arguments: label: D142
data_type: string
name: read_data
arguments: label: D219
data_type: string
name: read_data
arguments: label: D203
data_type: string
name: read_data
arguments: label: D225
data_type: string
name: read_data
arguments: label: D69
data_type: string
name: read_data
arguments: label: D199
data_type: string
name: read_data
arguments: label: D4
data_type: string
name: read_data
arguments: label: D247
data_type: string
name: read_data
arguments: label: D228
data_type: string
name: read_data
arguments: label: D146
data_type: string
name: read_data
arguments: label: D17
data_type: string
name: read_data
arguments: label: D180
data_type: string

tool: D46: none

tool: D25: dexterity

tool: D89: Affect_location_name: unknown location %d.

tool: D194: (unknown)

tool: D222: save vs spell

tool: D97: save vs breath

tool: D5: save vs petrification

tool: D54: save vs rod

tool: D39: saves

tool: D136: damage roll

tool: D77: hit roll

tool: D23: armor class

tool: D80: experience

tool: D142: gold

tool: D219: moves

tool: D203: hp

tool: D225: mana

tool: D69: age

tool: D199: level

tool: D4: class

tool: D247: sex

tool: D228: constitution

tool: D146: wisdom

tool: D17: intelligence

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