user: 这段汇编代码用C语言表示是什么样的?

```asm
<prog_type_to_name>:
  endbr64
  lea    D94(%rip),%rax
  cmp    $0x200,%edi
  je     L104
  jg     L61
  cmp    $0x20,%edi
  jg     L113
  lea    D89(%rip),%rax
  test   %edi,%edi
  jle    L104
  cmp    $0x20,%edi
  ja     L137
  lea    D22(%rip),%rdx
  mov    %edi,%edi
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   (%rax)
L137:
  lea    D89(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
L113:
  lea    D98(%rip),%rax
  cmp    $0x80,%edi
  je     L104
  cmp    $0x100,%edi
  jne    L74
  lea    D28(%rip),%rax
L104:
  ret
L74:
  cmp    $0x40,%edi
  lea    D131(%rip),%rdx
  lea    D89(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopl   (%rax)
L61:
  lea    D222(%rip),%rax
  cmp    $0x4000,%edi
  je     L104
  jle    L97
  lea    D171(%rip),%rax
  cmp    $0x20000,%edi
  je     L104
  jle    L36
  cmp    $0x40000,%edi
  lea    D67(%rip),%rdx
  lea    D89(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopl   0x0(%rax,%rax,1)
L97:
  lea    D69(%rip),%rax
  cmp    $0x1000,%edi
  je     L104
  jle    L80
  cmp    $0x2000,%edi
  lea    D173(%rip),%rdx
  lea    D89(%rip),%rax
  cmove  %rdx,%rax
  ret
L36:
  lea    D15(%rip),%rax
  cmp    $0x8000,%edi
  je     L104
  cmp    $0x10000,%edi
  lea    D208(%rip),%rdx
  lea    D89(%rip),%rax
  cmove  %rdx,%rax
  ret
L80:
  lea    D81(%rip),%rax
  cmp    $0x400,%edi
  je     L104
  cmp    $0x800,%edi
  lea    D50(%rip),%rdx
  lea    D89(%rip),%rax
  cmove  %rdx,%rax
  ret
  nopw   0x0(%rax,%rax,1)
  lea    D187(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D103(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D137(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D193(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D122(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D47(%rip),%rax
  ret
```

tool_calls: name: disassemble_data
arguments: label: D94
type_guessed: string
name: disassemble_data
arguments: label: D89
type_guessed: string
name: disassemble_data
arguments: label: D98
type_guessed: string
name: disassemble_data
arguments: label: D28
type_guessed: string
name: disassemble_data
arguments: label: D131
type_guessed: string
name: disassemble_data
arguments: label: D222
type_guessed: string
name: disassemble_data
arguments: label: D171
type_guessed: string
name: disassemble_data
arguments: label: D67
type_guessed: string
name: disassemble_data
arguments: label: D69
type_guessed: string
name: disassemble_data
arguments: label: D173
type_guessed: string
name: disassemble_data
arguments: label: D15
type_guessed: string
name: disassemble_data
arguments: label: D208
type_guessed: string
name: disassemble_data
arguments: label: D81
type_guessed: string
name: disassemble_data
arguments: label: D50
type_guessed: string
name: disassemble_data
arguments: label: D187
type_guessed: string
name: disassemble_data
arguments: label: D103
type_guessed: string
name: disassemble_data
arguments: label: D137
type_guessed: string
name: disassemble_data
arguments: label: D193
type_guessed: string
name: disassemble_data
arguments: label: D122
type_guessed: string
name: disassemble_data
arguments: label: D47
type_guessed: string

tool: D94: HPCNT

tool: D89: ERROR

tool: D98: GRALL

tool: D28: KILL

tool: D131: GREET

tool: D222: DELAY

tool: D171: DROP

tool: D67: SIT

tool: D69: EXIT

tool: D173: EXALL

tool: D15: SURRENDER

tool: D208: GET

tool: D81: RANDOM

tool: D50: SPEECH

tool: D187: FIGHT

tool: D103: GIVE

tool: D137: ENTRY

tool: D193: DEATH

tool: D122: BRIBE

tool: D47: ACT

assistant: ```c
char *prog_type_to_name(int type) {
  switch (type) {
  case (1):
    return "ACT";
  case (2048):
    return "SPEECH";
  case (1024):
    return "RANDOM";
  case (16):
    return "FIGHT";
  case (512):
    return "HPCNT";
  case (4):
    return "DEATH";
  case (8):
    return "ENTRY";
  case (64):
    return "GREET";
  case (128):
    return "GRALL";
  case (32):
    return "GIVE";
  case (2):
    return "BRIBE";
  case (256):
    return "KILL";
  case (16384):
    return "DELAY";
  case (32768):
    return "SURRENDER";
  case (4096):
    return "EXIT";
  case (8192):
    return "EXALL";
  case (65536):
    return "GET";
  case (131072):
    return "DROP";
  case (262144):
    return "SIT";
  default:
    return "ERROR";
  }
}
```