user: What is the c source code of the assembly code below?

```asm
<get_script_type_name>:
  endbr64
  cmp    $0x12,%edi
  ja     L3
  lea    D149(%rip),%rdx
  mov    %edi,%edi
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax)
L3:
  xor    %eax,%eax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D54(%rip),%rax
  ret
  lea    D169(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D7(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D23(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D17(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D136(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D127(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D27(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D34(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D122(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D88(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D97(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D87(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D140(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D135(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D72(%rip),%rax
  ret
```

tool_calls: name: disassemble_data
arguments: data_label: D54
type: string
name: disassemble_data
arguments: data_label: D169
type: string
name: disassemble_data
arguments: data_label: D7
type: string
name: disassemble_data
arguments: data_label: D23
type: string
name: disassemble_data
arguments: data_label: D17
type: string
name: disassemble_data
arguments: data_label: D136
type: string
name: disassemble_data
arguments: data_label: D127
type: string
name: disassemble_data
arguments: data_label: D27
type: string
name: disassemble_data
arguments: data_label: D34
type: string
name: disassemble_data
arguments: data_label: D122
type: string
name: disassemble_data
arguments: data_label: D88
type: string
name: disassemble_data
arguments: data_label: D97
type: string
name: disassemble_data
arguments: data_label: D87
type: string
name: disassemble_data
arguments: data_label: D140
type: string
name: disassemble_data
arguments: data_label: D135
type: string
name: disassemble_data
arguments: data_label: D72
type: string

tool: D54: respawn

tool: D169: death

tool: D7: enter

tool: D23: pickup

tool: D17: bluereturn

tool: D136: redreturn

tool: D127: whitereturn

tool: D27: lightning

tool: D34: unloading

tool: D122: disconnect

tool: D88: return

tool: D97: event

tool: D87: kill

tool: D140: reopen

tool: D135: closed

tool: D72: open

assistant: ```c
const char *get_script_type_name(int type) {
  enum {
    TYPE_CLOSED,
    TYPE_OPEN,
    TYPE_RESPAWN,
    TYPE_DEATH,
    TYPE_ENTER,
    TYPE_PICKUP,
    TYPE_BLUERETURN,
    TYPE_REDRETURN,
    TYPE_WHITERETURN,
    TYPE_LIGHTNING = 12,
    TYPE_UNLOADING,
    TYPE_DISCONNECT,
    TYPE_RETURN,
    TYPE_EVENT,
    TYPE_KILL,
    TYPE_REOPEN,
  };
  switch (type) {
  case TYPE_CLOSED:
    return "closed";
  case TYPE_OPEN:
    return "open";
  case TYPE_RESPAWN:
    return "respawn";
  case TYPE_DEATH:
    return "death";
  case TYPE_ENTER:
    return "enter";
  case TYPE_PICKUP:
    return "pickup";
  case TYPE_BLUERETURN:
    return "bluereturn";
  case TYPE_REDRETURN:
    return "redreturn";
  case TYPE_WHITERETURN:
    return "whitereturn";
  case TYPE_LIGHTNING:
    return "lightning";
  case TYPE_UNLOADING:
    return "unloading";
  case TYPE_DISCONNECT:
    return "disconnect";
  case TYPE_RETURN:
    return "return";
  case TYPE_EVENT:
    return "event";
  case TYPE_KILL:
    return "kill";
  case TYPE_REOPEN:
    return "reopen";
  default:
    return NULL;
  }
}
```