user: 请将以下的汇编代码转换成C语言代码:

```asm
<adjustSide>:
  endbr64
  push   %r12
  xor    %edi,%edi
  push   %rbx
  sub    $0x8,%rsp
  call   <get_front_ir_dist@plt>
  sub    $0x19,%eax
  mov    %eax,%edx
  neg    %edx
  cmovns %edx,%eax
  cmp    $0x5,%eax
  jg     L43
L58:
  add    $0x8,%rsp
  pop    %rbx
  pop    %r12
  ret
  nopl   0x0(%rax)
L43:
  xor    %edi,%edi
  call   <get_side_ir_dist@plt>
  sub    $0x19,%eax
  mov    %eax,%edx
  neg    %edx
  cmovns %edx,%eax
  cmp    $0x5,%eax
  jle    L58
  xor    %edi,%edi
  call   <get_front_ir_dist@plt>
  cmp    $0x18,%eax
  jle    L53
L114:
  xor    %edi,%edi
  call   <get_front_ir_dist@plt>
  cmp    $0x19,%eax
  jle    L58
  xor    %edi,%edi
  lea    D0(%rip),%rbx
  call   <get_side_ir_dist@plt>
  cmp    $0x19,%eax
  jg     L86
  jmp    L58
  nopw   0x0(%rax,%rax,1)
L48:
  xor    %edi,%edi
  call   <get_side_ir_dist@plt>
  sub    $0x19,%eax
  mov    %eax,%edx
  neg    %edx
  cmovns %edx,%eax
  cmp    $0x5,%eax
  jle    L58
  mov    $0x32,%esi
  mov    $0x1e,%edi
  call   <set_motors@plt>
  xor    %edi,%edi
  call   <get_front_ir_dist@plt>
  xor    %edi,%edi
  mov    %eax,%r12d
  call   <get_side_ir_dist@plt>
  mov    %r12d,%edx
  mov    %rbx,%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <checkWallAhead@plt>
  xor    %eax,%eax
  call   <calcP@plt>
L86:
  xor    %edi,%edi
  call   <get_front_ir_dist@plt>
  sub    $0x19,%eax
  mov    %eax,%edx
  neg    %edx
  cmovns %edx,%eax
  cmp    $0x5,%eax
  jg     L48
  jmp    L58
  nopl   0x0(%rax)
L53:
  xor    %edi,%edi
  lea    D13(%rip),%rbx
  call   <get_side_ir_dist@plt>
  cmp    $0x18,%eax
  jle    L4
  jmp    L114
  nopl   0x0(%rax,%rax,1)
L42:
  xor    %edi,%edi
  call   <get_side_ir_dist@plt>
  sub    $0x19,%eax
  mov    %eax,%edx
  neg    %edx
  cmovns %edx,%eax
  cmp    $0x5,%eax
  jle    L114
  mov    $0x1e,%esi
  mov    $0x32,%edi
  call   <set_motors@plt>
  xor    %edi,%edi
  call   <get_front_ir_dist@plt>
  xor    %edi,%edi
  mov    %eax,%r12d
  call   <get_side_ir_dist@plt>
  mov    %r12d,%edx
  mov    %rbx,%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <checkWallAhead@plt>
  xor    %eax,%eax
  call   <calcP@plt>
L4:
  xor    %edi,%edi
  call   <get_front_ir_dist@plt>
  sub    $0x19,%eax
  mov    %eax,%edx
  neg    %edx
  cmovns %edx,%eax
  cmp    $0x5,%eax
  jg     L42
  jmp    L114
```

tool_calls: name: unpack_data
arguments: data_label: D0
type_infered: string
name: unpack_data
arguments: data_label: D13
type_infered: string

tool: D0:  SIDE IN %d %d


tool: D13:  SIDE OUT %d %d


assistant: ```c
void adjustSide() {
  if (abs(get_front_ir_dist(0) - 25) > 5 && abs(get_side_ir_dist(0) - 25) > 5) {
    if (get_front_ir_dist(0) - 25 < 0 && get_side_ir_dist(0) - 25 < 0) {
      while (abs(get_front_ir_dist(0) - 25) > 5 && abs(get_side_ir_dist(0) - 25) > 5) {
        set_motors(50, 30);
        printf(" SIDE OUT %d %d\n", get_side_ir_dist(0), get_front_ir_dist(0));
        checkWallAhead();
        calcP();
      }
    }
    if (get_front_ir_dist(0) - 25 > 0 && get_side_ir_dist(0) - 25 > 0) {
      while (abs(get_front_ir_dist(0) - 25) > 5 && abs(get_side_ir_dist(0) - 25) > 5) {
        set_motors(30, 50);
        printf(" SIDE IN %d %d\n", get_side_ir_dist(0), get_front_ir_dist(0));
        checkWallAhead();
        calcP();
      }
    }
  }
}
```