user: Please show me the C implementation that matches the assembly code listed below:

```asm
<ClothingLayerNumber>:
  endbr64
  push   %rbp
  movzbl (%rdi),%eax
  mov    %rdi,%rbp
  cmp    $0x75,%al
  je     L90
L252:
  cmp    $0x73,%al
  je     L32
L130:
  cmp    $0x74,%al
  je     L254
L213:
  cmp    $0x76,%al
  je     L221
L104:
  cmp    $0x6a,%al
  je     L31
L199:
  cmp    $0x63,%al
  je     L36
L5:
  cmp    $0x6f,%al
  je     L102
L110:
  mov    $0xb,%eax
L212:
  pop    %rbp
  ret
  cs nopw 0x0(%rax,%rax,1)
L90:
  lea    D47(%rip),%rsi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x1,%eax
  test   %r8,%r8
  je     L212
  movzbl 0x0(%rbp),%eax
  cmp    $0x75,%al
  jne    L252
  lea    D5(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x2,%eax
  test   %r8,%r8
  je     L212
  movzbl 0x0(%rbp),%eax
  cmp    $0x75,%al
  jne    L252
  lea    D77(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x3,%eax
  test   %r8,%r8
  je     L212
  movzbl 0x0(%rbp),%eax
  cmp    $0x73,%al
  jne    L130
  nopl   0x0(%rax)
L32:
  lea    D29(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x4,%eax
  test   %r8,%r8
  je     L212
  movzbl 0x0(%rbp),%eax
  cmp    $0x74,%al
  jne    L213
  nopl   0x0(%rax)
L254:
  lea    D81(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x5,%eax
  test   %r8,%r8
  je     L212
  movzbl 0x0(%rbp),%eax
  cmp    $0x76,%al
  jne    L104
  nopl   0x0(%rax)
L221:
  lea    D48(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x6,%eax
  test   %r8,%r8
  je     L212
  movzbl 0x0(%rbp),%eax
  cmp    $0x6a,%al
  jne    L199
  nopl   0x0(%rax)
L31:
  lea    D23(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x7,%eax
  test   %r8,%r8
  je     L212
  movzbl 0x0(%rbp),%eax
  cmp    $0x63,%al
  jne    L5
  nopl   0x0(%rax)
L36:
  lea    D89(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x8,%eax
  test   %r8,%r8
  je     L212
  movzbl 0x0(%rbp),%eax
  cmp    $0x6f,%al
  jne    L110
  nopl   0x0(%rax)
L102:
  lea    D49(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x9,%eax
  test   %r8,%r8
  je     L212
  cmpb   $0x6f,0x0(%rbp)
  jne    L110
  lea    D59(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L110
  mov    $0xa,%eax
  pop    %rbp
  ret
```

tool_calls: name: unpack_data
arguments: tag: D47
type_infered: string
name: unpack_data
arguments: tag: D5
type_infered: string
name: unpack_data
arguments: tag: D77
type_infered: string
name: unpack_data
arguments: tag: D29
type_infered: string
name: unpack_data
arguments: tag: D81
type_infered: string
name: unpack_data
arguments: tag: D48
type_infered: string
name: unpack_data
arguments: tag: D23
type_infered: string
name: unpack_data
arguments: tag: D89
type_infered: string
name: unpack_data
arguments: tag: D49
type_infered: string
name: unpack_data
arguments: tag: D59
type_infered: string

tool: D47: underlayerpre

tool: D5: underlayer

tool: D77: underlayerpost

tool: D29: shirtlayer

tool: D81: tielayer

tool: D48: vestlayer

tool: D23: jacketlayer

tool: D89: coatlayer

tool: D49: overlayer

tool: D59: overlayerpost

assistant: ```c
int ClothingLayerNumber(char *layer) {
  if ((((layer)[0] == ("underlayerpre")[0]) && (strcmp((layer), ("underlayerpre")) == 0)))
    return (1);
  else if ((((layer)[0] == ("underlayer")[0]) && (strcmp((layer), ("underlayer")) == 0)))
    return (2);
  else if ((((layer)[0] == ("underlayerpost")[0]) && (strcmp((layer), ("underlayerpost")) == 0)))
    return (3);
  else if ((((layer)[0] == ("shirtlayer")[0]) && (strcmp((layer), ("shirtlayer")) == 0)))
    return (4);
  else if ((((layer)[0] == ("tielayer")[0]) && (strcmp((layer), ("tielayer")) == 0)))
    return (5);
  else if ((((layer)[0] == ("vestlayer")[0]) && (strcmp((layer), ("vestlayer")) == 0)))
    return (6);
  else if ((((layer)[0] == ("jacketlayer")[0]) && (strcmp((layer), ("jacketlayer")) == 0)))
    return (7);
  else if ((((layer)[0] == ("coatlayer")[0]) && (strcmp((layer), ("coatlayer")) == 0)))
    return (8);
  else if ((((layer)[0] == ("overlayer")[0]) && (strcmp((layer), ("overlayer")) == 0)))
    return (9);
  else if ((((layer)[0] == ("overlayerpost")[0]) && (strcmp((layer), ("overlayerpost")) == 0)))
    return (10);
  else
    return (11);
}
```