user: Translate the below assembly code into C programming language:

```asm
<tile_property_identifier>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    -0x8(%rbp),%rax
  lea    D36(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L250
  mov    $0xf,%eax
  jmp    L82
L250:
  mov    -0x8(%rbp),%rax
  lea    D129(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L100
  mov    $0x12,%eax
  jmp    L82
L100:
  mov    -0x8(%rbp),%rax
  lea    D110(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L217
  mov    $0x10,%eax
  jmp    L82
L217:
  mov    -0x8(%rbp),%rax
  lea    D11(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L39
  mov    $0x11,%eax
  jmp    L82
L39:
  mov    -0x8(%rbp),%rax
  lea    D134(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L256
  mov    $0xe,%eax
  jmp    L82
L256:
  mov    -0x8(%rbp),%rax
  lea    D26(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L205
  mov    $0x23,%eax
  jmp    L82
L205:
  mov    -0x8(%rbp),%rax
  lea    D112(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L3
  mov    $0x13,%eax
  jmp    L82
L3:
  mov    -0x8(%rbp),%rax
  lea    D61(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L51
  mov    $0x14,%eax
  jmp    L82
L51:
  mov    -0x8(%rbp),%rax
  lea    D104(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L132
  mov    $0x16,%eax
  jmp    L82
L132:
  mov    -0x8(%rbp),%rax
  lea    D13(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L49
  mov    $0x15,%eax
  jmp    L82
L49:
  mov    -0x8(%rbp),%rax
  lea    D50(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L188
  mov    $0x17,%eax
  jmp    L82
L188:
  mov    -0x8(%rbp),%rax
  lea    D81(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L187
  mov    $0x22,%eax
  jmp    L82
L187:
  mov    -0x8(%rbp),%rax
  lea    D56(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L8
  mov    $0x20,%eax
  jmp    L82
L8:
  mov    -0x8(%rbp),%rax
  lea    D0(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L173
  mov    $0x21,%eax
  jmp    L82
L173:
  mov    $0xffffffff,%eax
L82:
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: label: D36
type: string
name: extract_symbolic_data
arguments: label: D129
type: string
name: extract_symbolic_data
arguments: label: D110
type: string
name: extract_symbolic_data
arguments: label: D11
type: string
name: extract_symbolic_data
arguments: label: D134
type: string
name: extract_symbolic_data
arguments: label: D26
type: string
name: extract_symbolic_data
arguments: label: D112
type: string
name: extract_symbolic_data
arguments: label: D61
type: string
name: extract_symbolic_data
arguments: label: D104
type: string
name: extract_symbolic_data
arguments: label: D13
type: string
name: extract_symbolic_data
arguments: label: D50
type: string
name: extract_symbolic_data
arguments: label: D81
type: string
name: extract_symbolic_data
arguments: label: D56
type: string
name: extract_symbolic_data
arguments: label: D0
type: string

tool: D36: once

tool: D129: active

tool: D110: tid

tool: D11: dirs

tool: D134: space

tool: D26: floor

tool: D112: horz

tool: D61: open

tool: D104: locked

tool: D13: ext

tool: D50: breaks

tool: D81: key

tool: D56: depth

tool: D0: msg

assistant: ```c
unsigned int tile_property_identifier(const char *name) {
  if (strcmp(name, "once") == 0) {
    return 0x0000000F;
  } else if (strcmp(name, "active") == 0) {
    return 0x00000012;
  } else if (strcmp(name, "tid") == 0) {
    return 0x00000010;
  } else if (strcmp(name, "dirs") == 0) {
    return 0x00000011;
  } else if (strcmp(name, "space") == 0) {
    return 0x0000000E;
  } else if (strcmp(name, "floor") == 0) {
    return 0x00000023;
  } else if (strcmp(name, "horz") == 0) {
    return 0x00000013;
  } else if (strcmp(name, "open") == 0) {
    return 0x00000014;
  } else if (strcmp(name, "locked") == 0) {
    return 0x00000016;
  } else if (strcmp(name, "ext") == 0) {
    return 0x00000015;
  } else if (strcmp(name, "breaks") == 0) {
    return 0x00000017;
  } else if (strcmp(name, "key") == 0) {
    return 0x00000022;
  } else if (strcmp(name, "depth") == 0) {
    return 0x00000020;
  } else if (strcmp(name, "msg") == 0) {
    return 0x00000021;
  }
  return 0xFFFFFFFF;
}
```