user: What would the C source look like for the assembly code provided here?

```asm
<affect_loc_name>:
  endbr64
  cmp    $0x36,%edi
  ja     L4
  lea    D156(%rip),%rdx
  mov    %edi,%eax
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax)
L4:
  sub    $0x8,%rsp
  mov    %edi,%esi
  lea    D84(%rip),%rdi
  call   <bug@plt>
  lea    D147(%rip),%rax
  add    $0x8,%rsp
  ret
  xchg   %ax,%ax
  lea    D26(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D59(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D290(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D64(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D139(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D179(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D254(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D31(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D131(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D4(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D90(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D288(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D273(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D162(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D212(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D275(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D93(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D223(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D286(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D10(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D146(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D249(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D184(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D75(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D67(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D138(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D187(%rip),%rax
  ret
```

tool_calls: name: read_data
arguments: data_tag: D84
type_infered: string
name: read_data
arguments: data_tag: D147
type_infered: string
name: read_data
arguments: data_tag: D26
type_infered: string
name: read_data
arguments: data_tag: D59
type_infered: string
name: read_data
arguments: data_tag: D290
type_infered: string
name: read_data
arguments: data_tag: D64
type_infered: string
name: read_data
arguments: data_tag: D139
type_infered: string
name: read_data
arguments: data_tag: D179
type_infered: string
name: read_data
arguments: data_tag: D254
type_infered: string
name: read_data
arguments: data_tag: D31
type_infered: string
name: read_data
arguments: data_tag: D131
type_infered: string
name: read_data
arguments: data_tag: D4
type_infered: string
name: read_data
arguments: data_tag: D90
type_infered: string
name: read_data
arguments: data_tag: D288
type_infered: string
name: read_data
arguments: data_tag: D273
type_infered: string
name: read_data
arguments: data_tag: D162
type_infered: string
name: read_data
arguments: data_tag: D212
type_infered: string
name: read_data
arguments: data_tag: D275
type_infered: string
name: read_data
arguments: data_tag: D93
type_infered: string
name: read_data
arguments: data_tag: D223
type_infered: string
name: read_data
arguments: data_tag: D286
type_infered: string
name: read_data
arguments: data_tag: D10
type_infered: string
name: read_data
arguments: data_tag: D146
type_infered: string
name: read_data
arguments: data_tag: D249
type_infered: string
name: read_data
arguments: data_tag: D184
type_infered: string
name: read_data
arguments: data_tag: D75
type_infered: string
name: read_data
arguments: data_tag: D67
type_infered: string
name: read_data
arguments: data_tag: D138
type_infered: string
name: read_data
arguments: data_tag: D187
type_infered: string

tool: D84: Affect_location_name: unknown location %d.

tool: D147: (unknown)

tool: D26: stun

tool: D59: vision range

tool: D290: vision profile

tool: D64: channeling

tool: D139: absorbtion

tool: D179: save vs spell

tool: D254: save vs breath

tool: D31: save vs petrification

tool: D131: save vs rod

tool: D4: save vs paralysis

tool: D90: damage roll

tool: D288: hit roll

tool: D273: experience

tool: D162: gold

tool: D212: moves

tool: D275: hp

tool: D93: mana

tool: D223: age

tool: D286: level

tool: D10: class

tool: D146: sex

tool: D249: phys-toughness

tool: D184: phys-quickness

tool: D75: ment-intelligence

tool: D67: phys-dexterity

tool: D138: none

tool: D187: phys-strength

assistant: ```c
char *affect_loc_name(int location) {
  switch (location) {
  case 0:
    return "none";
  case 1:
    return "phys-strength";
  case 2:
    return "phys-dexterity";
  case 4:
    return "phys-quickness";
  case 5:
    return "phys-toughness";
  case 3:
    return "ment-intelligence";
  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 54:
    return "stun";
  case 15:
    return "gold";
  case 16:
    return "experience";
  case 18:
    return "hit roll";
  case 19:
    return "damage roll";
  case 20:
    return "save vs paralysis";
  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 50:
    return "absorbtion";
  case 51:
    return "channeling";
  case 52:
    return "vision profile";
  case 53:
    return "vision range";
  }
  bug("Affect_location_name: unknown location %d.", location);
  return "(unknown)";
}
```