user: 请从给定的汇编指令推导出C源代码:

```asm
<affect_loc_name>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %edi,-0x4(%rbp)
  cmpl   $0x36,-0x4(%rbp)
  ja     L22
  mov    -0x4(%rbp),%eax
  lea    0x0(,%rax,4),%rdx
  lea    D89(%rip),%rax
  mov    (%rdx,%rax,1),%eax
  cltq
  lea    D89(%rip),%rdx
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D251(%rip),%rax
  jmp    L118
  lea    D199(%rip),%rax
  jmp    L118
  lea    D51(%rip),%rax
  jmp    L118
  lea    D144(%rip),%rax
  jmp    L118
  lea    D213(%rip),%rax
  jmp    L118
  lea    D77(%rip),%rax
  jmp    L118
  lea    D147(%rip),%rax
  jmp    L118
  lea    D169(%rip),%rax
  jmp    L118
  lea    D300(%rip),%rax
  jmp    L118
  lea    D135(%rip),%rax
  jmp    L118
  lea    D122(%rip),%rax
  jmp    L118
  lea    D64(%rip),%rax
  jmp    L118
  lea    D75(%rip),%rax
  jmp    L118
  lea    D258(%rip),%rax
  jmp    L118
  lea    D56(%rip),%rax
  jmp    L118
  lea    D40(%rip),%rax
  jmp    L118
  lea    D80(%rip),%rax
  jmp    L118
  lea    D232(%rip),%rax
  jmp    L118
  lea    D84(%rip),%rax
  jmp    L118
  lea    D71(%rip),%rax
  jmp    L118
  lea    D82(%rip),%rax
  jmp    L118
  lea    D210(%rip),%rax
  jmp    L118
  lea    D244(%rip),%rax
  jmp    L118
  lea    D245(%rip),%rax
  jmp    L118
  lea    D224(%rip),%rax
  jmp    L118
  lea    D131(%rip),%rax
  jmp    L118
  lea    D298(%rip),%rax
  jmp    L118
L22:
  mov    -0x4(%rbp),%eax
  mov    %eax,%esi
  lea    D284(%rip),%rax
  mov    %rax,%rdi
  call   <bug@plt>
  lea    D249(%rip),%rax
L118:
  leave
  ret
```

tool_calls: name: retrieve_data
arguments: label: D251
type_guessed: string
name: retrieve_data
arguments: label: D199
type_guessed: string
name: retrieve_data
arguments: label: D51
type_guessed: string
name: retrieve_data
arguments: label: D144
type_guessed: string
name: retrieve_data
arguments: label: D213
type_guessed: string
name: retrieve_data
arguments: label: D77
type_guessed: string
name: retrieve_data
arguments: label: D147
type_guessed: string
name: retrieve_data
arguments: label: D169
type_guessed: string
name: retrieve_data
arguments: label: D300
type_guessed: string
name: retrieve_data
arguments: label: D135
type_guessed: string
name: retrieve_data
arguments: label: D122
type_guessed: string
name: retrieve_data
arguments: label: D64
type_guessed: string
name: retrieve_data
arguments: label: D75
type_guessed: string
name: retrieve_data
arguments: label: D258
type_guessed: string
name: retrieve_data
arguments: label: D56
type_guessed: string
name: retrieve_data
arguments: label: D40
type_guessed: string
name: retrieve_data
arguments: label: D80
type_guessed: string
name: retrieve_data
arguments: label: D232
type_guessed: string
name: retrieve_data
arguments: label: D84
type_guessed: string
name: retrieve_data
arguments: label: D71
type_guessed: string
name: retrieve_data
arguments: label: D82
type_guessed: string
name: retrieve_data
arguments: label: D210
type_guessed: string
name: retrieve_data
arguments: label: D244
type_guessed: string
name: retrieve_data
arguments: label: D245
type_guessed: string
name: retrieve_data
arguments: label: D224
type_guessed: string
name: retrieve_data
arguments: label: D131
type_guessed: string
name: retrieve_data
arguments: label: D298
type_guessed: string
name: retrieve_data
arguments: label: D284
type_guessed: string
name: retrieve_data
arguments: label: D249
type_guessed: string

tool: D251: none

tool: D199: phys-strength

tool: D51: phys-dexterity

tool: D144: phys-quickness

tool: D213: phys-toughness

tool: D77: ment-intelligence

tool: D147: sex

tool: D169: class

tool: D300: level

tool: D135: age

tool: D122: mana

tool: D64: hp

tool: D75: moves

tool: D258: stun

tool: D56: gold

tool: D40: experience

tool: D80: hit roll

tool: D232: damage roll

tool: D84: save vs paralysis

tool: D71: save vs rod

tool: D82: save vs petrification

tool: D210: save vs breath

tool: D244: save vs spell

tool: D245: absorbtion

tool: D224: channeling

tool: D131: vision profile

tool: D298: vision range

tool: D284: Affect_location_name: unknown location %d.

tool: D249: (unknown)

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