user: 请将以下的汇编代码转换成C语言代码:

```asm
<typestring>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %edi,-0x4(%rbp)
  cmpl   $0x12,-0x4(%rbp)
  ja     L199
  mov    -0x4(%rbp),%eax
  lea    0x0(,%rax,4),%rdx
  lea    D29(%rip),%rax
  mov    (%rdx,%rax,1),%eax
  cltq
  lea    D29(%rip),%rdx
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D166(%rip),%rax
  jmp    L100
  lea    D126(%rip),%rax
  jmp    L100
  lea    D133(%rip),%rax
  jmp    L100
  lea    D98(%rip),%rax
  jmp    L100
  lea    D145(%rip),%rax
  jmp    L100
  lea    D204(%rip),%rax
  jmp    L100
  lea    D199(%rip),%rax
  jmp    L100
  lea    D188(%rip),%rax
  jmp    L100
  lea    D110(%rip),%rax
  jmp    L100
  lea    D68(%rip),%rax
  jmp    L100
  lea    D85(%rip),%rax
  jmp    L100
  lea    D75(%rip),%rax
  jmp    L100
  lea    D3(%rip),%rax
  jmp    L100
  lea    D164(%rip),%rax
  jmp    L100
  lea    D105(%rip),%rax
  jmp    L100
  lea    D22(%rip),%rax
  jmp    L100
  lea    D158(%rip),%rax
  jmp    L100
  lea    D171(%rip),%rax
  jmp    L100
  lea    D73(%rip),%rax
  jmp    L100
L199:
  lea    D125(%rip),%rax
L100:
  pop    %rbp
  ret
```

tool_calls: name: parse_data
arguments: tag: D166
datatype: string
name: parse_data
arguments: tag: D126
datatype: string
name: parse_data
arguments: tag: D133
datatype: string
name: parse_data
arguments: tag: D98
datatype: string
name: parse_data
arguments: tag: D145
datatype: string
name: parse_data
arguments: tag: D204
datatype: string
name: parse_data
arguments: tag: D199
datatype: string
name: parse_data
arguments: tag: D188
datatype: string
name: parse_data
arguments: tag: D110
datatype: string
name: parse_data
arguments: tag: D68
datatype: string
name: parse_data
arguments: tag: D85
datatype: string
name: parse_data
arguments: tag: D75
datatype: string
name: parse_data
arguments: tag: D3
datatype: string
name: parse_data
arguments: tag: D164
datatype: string
name: parse_data
arguments: tag: D105
datatype: string
name: parse_data
arguments: tag: D22
datatype: string
name: parse_data
arguments: tag: D158
datatype: string
name: parse_data
arguments: tag: D171
datatype: string
name: parse_data
arguments: tag: D73
datatype: string
name: parse_data
arguments: tag: D125
datatype: string

tool: D166: undefined

tool: D126: string

tool: D133: localized string

tool: D98: vector

tool: D145: float

tool: D204: int

tool: D199: codepos

tool: D188: object

tool: D110: key/value

tool: D68: function

tool: D85: stack

tool: D75: animation

tool: D3: thread

tool: D164: entity

tool: D105: struct

tool: D22: array

tool: D158: dead thread

tool: D171: dead entity

tool: D73: dead object

tool: D125: default

assistant: ```c
const char *typestring(int type) {
  switch (type) {
  case 0:
    return "undefined";
  case 1:
    return "string";
  case 2:
    return "localized string";
  case 3:
    return "vector";
  case 4:
    return "float";
  case 5:
    return "int";
  case 6:
    return "codepos";
  case 7:
    return "object";
  case 8:
    return "key/value";
  case 9:
    return "function";
  case 10:
    return "stack";
  case 11:
    return "animation";
  case 12:
    return "thread";
  case 13:
    return "entity";
  case 14:
    return "struct";
  case 15:
    return "array";
  case 16:
    return "dead thread";
  case 17:
    return "dead entity";
  case 18:
    return "dead object";
  default:
    return "default";
  }
}
```