user: 请将这段汇编代码片段转换成等效的C代码:

```asm
<set_param>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    %rsi,-0x10(%rbp)
  mov    -0x10(%rbp),%rax
  lea    D29(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L56
  mov    -0x10(%rbp),%rax
  lea    D49(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L73
L56:
  mov    -0x8(%rbp),%rax
  movl   $0x40,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x4,%rax
  movl   $0x20,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x8,%rax
  movl   $0x20,(%rax)
  jmp    L136
L73:
  mov    -0x10(%rbp),%rax
  lea    D26(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L121
  mov    -0x10(%rbp),%rax
  lea    D2(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L37
L121:
  mov    -0x8(%rbp),%rax
  movl   $0x80,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x4,%rax
  movl   $0x40,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x8,%rax
  movl   $0x40,(%rax)
  jmp    L136
L37:
  mov    -0x10(%rbp),%rax
  lea    D63(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L66
  mov    -0x10(%rbp),%rax
  lea    D78(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L36
L66:
  mov    -0x8(%rbp),%rax
  movl   $0x100,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x4,%rax
  movl   $0x80,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x8,%rax
  movl   $0x80,(%rax)
  jmp    L136
L36:
  mov    -0x10(%rbp),%rax
  lea    D27(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L16
  mov    -0x10(%rbp),%rax
  lea    D24(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L5
L16:
  mov    -0x8(%rbp),%rax
  movl   $0x200,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x4,%rax
  movl   $0x100,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x8,%rax
  movl   $0x100,(%rax)
  jmp    L136
L5:
  mov    -0x10(%rbp),%rax
  lea    D7(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L40
  mov    -0x10(%rbp),%rax
  lea    D84(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L136
L40:
  mov    -0x8(%rbp),%rax
  movl   $0x400,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x4,%rax
  movl   $0x200,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x8,%rax
  movl   $0x200,(%rax)
  nop
L136:
  leave
  ret
```

tool_calls: name: disassemble_data
arguments: tag: D29
data_type: string
name: disassemble_data
arguments: tag: D49
data_type: string
name: disassemble_data
arguments: tag: D26
data_type: string
name: disassemble_data
arguments: tag: D2
data_type: string
name: disassemble_data
arguments: tag: D63
data_type: string
name: disassemble_data
arguments: tag: D78
data_type: string
name: disassemble_data
arguments: tag: D27
data_type: string
name: disassemble_data
arguments: tag: D24
data_type: string
name: disassemble_data
arguments: tag: D7
data_type: string
name: disassemble_data
arguments: tag: D84
data_type: string

tool: D29: XS

tool: D49: xs

tool: D26: S

tool: D2: s

tool: D63: M

tool: D78: m

tool: D27: L

tool: D24: l

tool: D7: XL

tool: D84: xl

assistant: ```c
void set_param(int is[], char *size) {
  if (!strcmp(size, "XS") || !strcmp(size, "xs")) {
    is[0] = 64;
    is[1] = 32;
    is[2] = 32;
    return;
  }
  if (!strcmp(size, "S") || !strcmp(size, "s")) {
    is[0] = 128;
    is[1] = 64;
    is[2] = 64;
    return;
  }
  if (!strcmp(size, "M") || !strcmp(size, "m")) {
    is[0] = 256;
    is[1] = 128;
    is[2] = 128;
    return;
  }
  if (!strcmp(size, "L") || !strcmp(size, "l")) {
    is[0] = 512;
    is[1] = 256;
    is[2] = 256;
    return;
  }
  if (!strcmp(size, "XL") || !strcmp(size, "xl")) {
    is[0] = 1024;
    is[1] = 512;
    is[2] = 512;
    return;
  } else {
  }
}
```