user: What would the C source look like for the assembly code provided here?

```asm
<ClothingLayerNumber>:
  endbr64
  push   %rbp
  movzbl (%rdi),%eax
  mov    %rdi,%rbp
  cmp    $0x75,%al
  je     L227
L161:
  cmp    $0x73,%al
  je     L173
L125:
  cmp    $0x74,%al
  je     L235
L168:
  cmp    $0x76,%al
  je     L134
L97:
  cmp    $0x6a,%al
  je     L114
L144:
  cmp    $0x63,%al
  je     L77
L212:
  cmp    $0x6f,%al
  je     L11
L82:
  mov    $0xb,%eax
L241:
  pop    %rbp
  ret
  cs nopw 0x0(%rax,%rax,1)
L227:
  lea    D70(%rip),%rsi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x1,%eax
  test   %r8,%r8
  je     L241
  movzbl 0x0(%rbp),%eax
  cmp    $0x75,%al
  jne    L161
  lea    D28(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x2,%eax
  test   %r8,%r8
  je     L241
  movzbl 0x0(%rbp),%eax
  cmp    $0x75,%al
  jne    L161
  lea    D86(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x3,%eax
  test   %r8,%r8
  je     L241
  movzbl 0x0(%rbp),%eax
  cmp    $0x73,%al
  jne    L125
  nopl   0x0(%rax)
L173:
  lea    D42(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x4,%eax
  test   %r8,%r8
  je     L241
  movzbl 0x0(%rbp),%eax
  cmp    $0x74,%al
  jne    L168
  nopl   0x0(%rax)
L235:
  lea    D71(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x5,%eax
  test   %r8,%r8
  je     L241
  movzbl 0x0(%rbp),%eax
  cmp    $0x76,%al
  jne    L97
  nopl   0x0(%rax)
L134:
  lea    D68(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x6,%eax
  test   %r8,%r8
  je     L241
  movzbl 0x0(%rbp),%eax
  cmp    $0x6a,%al
  jne    L144
  nopl   0x0(%rax)
L114:
  lea    D44(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x7,%eax
  test   %r8,%r8
  je     L241
  movzbl 0x0(%rbp),%eax
  cmp    $0x63,%al
  jne    L212
  nopl   0x0(%rax)
L77:
  lea    D89(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x8,%eax
  test   %r8,%r8
  je     L241
  movzbl 0x0(%rbp),%eax
  cmp    $0x6f,%al
  jne    L82
  nopl   0x0(%rax)
L11:
  lea    D46(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %rax,%r8
  mov    $0x9,%eax
  test   %r8,%r8
  je     L241
  cmpb   $0x6f,0x0(%rbp)
  jne    L82
  lea    D84(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L82
  mov    $0xa,%eax
  pop    %rbp
  ret
```

tool_calls: name: parse_data
arguments: tag: D70
datatype: string
name: parse_data
arguments: tag: D28
datatype: string
name: parse_data
arguments: tag: D86
datatype: string
name: parse_data
arguments: tag: D42
datatype: string
name: parse_data
arguments: tag: D71
datatype: string
name: parse_data
arguments: tag: D68
datatype: string
name: parse_data
arguments: tag: D44
datatype: string
name: parse_data
arguments: tag: D89
datatype: string
name: parse_data
arguments: tag: D46
datatype: string
name: parse_data
arguments: tag: D84
datatype: string

tool: D70: underlayerpre

tool: D28: underlayer

tool: D86: underlayerpost

tool: D42: shirtlayer

tool: D71: tielayer

tool: D68: vestlayer

tool: D44: jacketlayer

tool: D89: coatlayer

tool: D46: overlayer

tool: D84: 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);
}
```