user: 这段汇编代码用C语言表示是什么样的？

```asm
<apariencia>:
  endbr64
  push   %r12
  lea    D59(%rip),%r12
  push   %rbp
  mov    %r12,%rdi
  mov    %rsi,%rbp
  add    $0xa,%rbp
  sub    $0x8,%rsp
  call   <stringLength@plt>
  mov    %rbp,%rsi
  mov    %r12,%rdi
  mov    %eax,%edx
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L45
  call   <getCurrentSConsole@plt>
  mov    $0xb691,%esi
  mov    %eax,%edi
  call   <setSConsolebackGroundColour@plt>
  xor    %eax,%eax
  call   <getCurrentSConsole@plt>
  xor    %esi,%esi
  mov    %eax,%edi
  call   <setSConsoleFontColour@plt>
  lea    D68(%rip),%rdi
  call   <uart_puts@plt>
L56:
  xor    %eax,%eax
  call   <getCurrentSConsole@plt>
  add    $0x8,%rsp
  pop    %rbp
  mov    %eax,%edi
  pop    %r12
  jmp    1100 <focusSConsole@plt>
  nopl   0x0(%rax)
L45:
  lea    D70(%rip),%r12
  mov    %r12,%rdi
  call   <stringLength@plt>
  mov    %rbp,%rsi
  mov    %r12,%rdi
  mov    %eax,%edx
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L6
  call   <getCurrentSConsole@plt>
  mov    $0x2844,%esi
  mov    %eax,%edi
  call   <setSConsolebackGroundColour@plt>
  xor    %eax,%eax
  call   <getCurrentSConsole@plt>
  mov    $0xafe5,%esi
  mov    %eax,%edi
  call   <setSConsoleFontColour@plt>
  lea    D78(%rip),%rdi
  call   <uart_puts@plt>
  jmp    L56
  nopw   0x0(%rax,%rax,1)
L6:
  lea    D31(%rip),%r12
  mov    %r12,%rdi
  call   <stringLength@plt>
  mov    %rbp,%rsi
  mov    %r12,%rdi
  mov    %eax,%edx
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L47
  call   <getCurrentSConsole@plt>
  xor    %esi,%esi
  mov    %eax,%edi
  call   <setSConsolebackGroundColour@plt>
  xor    %eax,%eax
  call   <getCurrentSConsole@plt>
  mov    $0xffff,%esi
  mov    %eax,%edi
  call   <setSConsoleFontColour@plt>
  lea    D0(%rip),%rdi
  call   <uart_puts@plt>
  jmp    L56
  nopw   0x0(%rax,%rax,1)
L47:
  lea    D57(%rip),%r12
  mov    %r12,%rdi
  call   <stringLength@plt>
  mov    %rbp,%rsi
  mov    %r12,%rdi
  mov    %eax,%edx
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L56
  call   <getCurrentSConsole@plt>
  mov    $0xf,%esi
  mov    %eax,%edi
  call   <setSConsolebackGroundColour@plt>
  xor    %eax,%eax
  call   <getCurrentSConsole@plt>
  mov    $0xffff,%esi
  mov    %eax,%edi
  call   <setSConsoleFontColour@plt>
  lea    D40(%rip),%rdi
  call   <uart_puts@plt>
  jmp    L56
```

tool_calls: name: retrieve_data
arguments: data_label: D59
data_type: string
name: retrieve_data
arguments: data_label: D68
data_type: string
name: retrieve_data
arguments: data_label: D70
data_type: string
name: retrieve_data
arguments: data_label: D78
data_type: string
name: retrieve_data
arguments: data_label: D31
data_type: string
name: retrieve_data
arguments: data_label: D0
data_type: string
name: retrieve_data
arguments: data_label: D57
data_type: string
name: retrieve_data
arguments: data_label: D40
data_type: string

tool: D59: lima

tool: D68: <<< cambiando a estilo lima>>>>>>>

tool: D70: ros

tool: D78: <<< cambiando a estilo ros>>>>>>>

tool: D31: nyb

tool: D0: <<< cambiando a estilo nyb>>>>>>>

tool: D57: ayb

tool: D40: <<< cambiando a estilo ayb>>>>>>>

assistant: ```c
void apariencia(unsigned int argc, unsigned char (*argv_pointer)[10]) {
  if (!strncmp("lima", argv_pointer[1], stringLength("lima"))) {
    setSConsolebackGroundColour(getCurrentSConsole(), 0xb691);
    setSConsoleFontColour(getCurrentSConsole(), 0x0000);
    uart_puts("<<< cambiando a estilo lima>>>>>>>");
  } else if (!strncmp("ros", argv_pointer[1], stringLength("ros"))) {
    setSConsolebackGroundColour(getCurrentSConsole(), 0x2844);
    setSConsoleFontColour(getCurrentSConsole(), 0xAFE5);
    uart_puts("<<< cambiando a estilo ros>>>>>>>");
  } else if (!strncmp("nyb", argv_pointer[1], stringLength("nyb"))) {
    setSConsolebackGroundColour(getCurrentSConsole(), 0x0000);
    setSConsoleFontColour(getCurrentSConsole(), 0xFFFF);
    uart_puts("<<< cambiando a estilo nyb>>>>>>>");
  } else if (!strncmp("ayb", argv_pointer[1], stringLength("ayb"))) {
    setSConsolebackGroundColour(getCurrentSConsole(), 0x000F);
    setSConsoleFontColour(getCurrentSConsole(), 0xFFFF);
    uart_puts("<<< cambiando a estilo ayb>>>>>>>");
  }
  focusSConsole(getCurrentSConsole());
}
```