user: 下面的汇编指令对应的C源代码是什么：

```asm
<shiftedInverseMatrix>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x1000,%rsp
  orq    $0x0,(%rsp)
  sub    $0x300,%rsp
  mov    %rdi,-0x12e8(%rbp)
  mov    %rsi,-0x12f0(%rbp)
  mov    %edx,-0x12f4(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  movl   $0x0,-0x12e0(%rbp)
  movl   $0x0,-0x12dc(%rbp)
  movl   $0x0,-0x12d8(%rbp)
  movl   $0x0,-0x12d4(%rbp)
  cmpl   $0x2,-0x12f4(%rbp)
  jne    L267
  movl   $0x0,-0x12e0(%rbp)
  jmp    L222
L300:
  movl   $0x0,-0x12dc(%rbp)
  jmp    L340
L191:
  mov    -0x12e0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x12e8(%rbp),%rax
  add    %rax,%rdx
  mov    -0x12dc(%rbp),%eax
  cltq
  movsd  (%rdx,%rax,8),%xmm1
  mov    -0x12e0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x12f0(%rbp),%rax
  add    %rax,%rdx
  movsd  D5(%rip),%xmm0
  divsd  %xmm1,%xmm0
  mov    -0x12dc(%rbp),%eax
  cltq
  movsd  %xmm0,(%rdx,%rax,8)
  addl   $0x1,-0x12dc(%rbp)
L340:
  mov    -0x12dc(%rbp),%eax
  cmp    -0x12f4(%rbp),%eax
  jl     L191
  addl   $0x1,-0x12e0(%rbp)
L222:
  mov    -0x12e0(%rbp),%eax
  cmp    -0x12f4(%rbp),%eax
  jl     L300
  jmp    L201
L267:
  movl   $0x0,-0x12d8(%rbp)
  movl   $0x0,-0x12e0(%rbp)
  jmp    L292
L82:
  movl   $0x0,-0x12d4(%rbp)
  movl   $0x0,-0x12dc(%rbp)
  jmp    L9
L337:
  mov    -0x12e0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x12e8(%rbp),%rax
  add    %rax,%rdx
  mov    -0x12dc(%rbp),%eax
  cltq
  movsd  (%rdx,%rax,8),%xmm0
  mov    -0x12d4(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x12d8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  add    %rcx,%rax
  movsd  %xmm0,-0x12d0(%rbp,%rax,8)
  addl   $0x1,-0x12d4(%rbp)
  addl   $0x1,-0x12dc(%rbp)
L9:
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  cmp    %eax,-0x12dc(%rbp)
  jl     L337
  addl   $0x1,-0x12d8(%rbp)
  addl   $0x1,-0x12e0(%rbp)
L292:
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  cmp    %eax,-0x12e0(%rbp)
  jl     L82
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  mov    %eax,%edx
  lea    -0xc90(%rbp),%rcx
  lea    -0x12d0(%rbp),%rax
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <inverseOfMatrix@plt>
  movl   $0x0,-0x12d8(%rbp)
  movl   $0x0,-0x12e0(%rbp)
  jmp    L352
L195:
  movl   $0x0,-0x12d4(%rbp)
  movl   $0x0,-0x12dc(%rbp)
  jmp    L161
L353:
  mov    -0x12e0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x12f0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x12d4(%rbp),%eax
  movslq %eax,%rsi
  mov    -0x12d8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  add    %rsi,%rax
  movsd  -0xc90(%rbp,%rax,8),%xmm0
  mov    -0x12dc(%rbp),%eax
  cltq
  movsd  %xmm0,(%rcx,%rax,8)
  addl   $0x1,-0x12d4(%rbp)
  addl   $0x1,-0x12dc(%rbp)
L161:
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  cmp    %eax,-0x12dc(%rbp)
  jl     L353
  addl   $0x1,-0x12d8(%rbp)
  addl   $0x1,-0x12e0(%rbp)
L352:
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  cmp    %eax,-0x12e0(%rbp)
  jl     L195
  movl   $0x0,-0x12d8(%rbp)
  movl   $0x0,-0x12e0(%rbp)
  jmp    L138
L77:
  movl   $0x0,-0x12d4(%rbp)
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  mov    %eax,-0x12dc(%rbp)
  jmp    L357
L136:
  mov    -0x12e0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x12e8(%rbp),%rax
  add    %rax,%rdx
  mov    -0x12dc(%rbp),%eax
  cltq
  movsd  (%rdx,%rax,8),%xmm0
  mov    -0x12d4(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x12d8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  add    %rcx,%rax
  movsd  %xmm0,-0x12d0(%rbp,%rax,8)
  addl   $0x1,-0x12d4(%rbp)
  addl   $0x1,-0x12dc(%rbp)
L357:
  mov    -0x12dc(%rbp),%eax
  cmp    -0x12f4(%rbp),%eax
  jl     L136
  addl   $0x1,-0x12d8(%rbp)
  addl   $0x1,-0x12e0(%rbp)
L138:
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  cmp    %eax,-0x12e0(%rbp)
  jl     L77
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  mov    %eax,%edx
  lea    -0xc90(%rbp),%rcx
  lea    -0x12d0(%rbp),%rax
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <inverseOfMatrix@plt>
  movl   $0x0,-0x12d8(%rbp)
  movl   $0x0,-0x12e0(%rbp)
  jmp    L271
L370:
  movl   $0x0,-0x12d4(%rbp)
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  mov    %eax,-0x12dc(%rbp)
  jmp    L235
L143:
  mov    -0x12e0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x12f0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x12d4(%rbp),%eax
  movslq %eax,%rsi
  mov    -0x12d8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  add    %rsi,%rax
  movsd  -0xc90(%rbp,%rax,8),%xmm0
  mov    -0x12dc(%rbp),%eax
  cltq
  movsd  %xmm0,(%rcx,%rax,8)
  addl   $0x1,-0x12d4(%rbp)
  addl   $0x1,-0x12dc(%rbp)
L235:
  mov    -0x12dc(%rbp),%eax
  cmp    -0x12f4(%rbp),%eax
  jl     L143
  addl   $0x1,-0x12d8(%rbp)
  addl   $0x1,-0x12e0(%rbp)
L271:
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  cmp    %eax,-0x12e0(%rbp)
  jl     L370
  movl   $0x0,-0x12d8(%rbp)
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  mov    %eax,-0x12e0(%rbp)
  jmp    L374
L193:
  movl   $0x0,-0x12d4(%rbp)
  movl   $0x0,-0x12dc(%rbp)
  jmp    L243
L236:
  mov    -0x12e0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x12e8(%rbp),%rax
  add    %rax,%rdx
  mov    -0x12dc(%rbp),%eax
  cltq
  movsd  (%rdx,%rax,8),%xmm0
  mov    -0x12d4(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x12d8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  add    %rcx,%rax
  movsd  %xmm0,-0x12d0(%rbp,%rax,8)
  addl   $0x1,-0x12d4(%rbp)
  addl   $0x1,-0x12dc(%rbp)
L243:
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  cmp    %eax,-0x12dc(%rbp)
  jl     L236
  addl   $0x1,-0x12d8(%rbp)
  addl   $0x1,-0x12e0(%rbp)
L374:
  mov    -0x12e0(%rbp),%eax
  cmp    -0x12f4(%rbp),%eax
  jl     L193
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  mov    %eax,%edx
  lea    -0xc90(%rbp),%rcx
  lea    -0x12d0(%rbp),%rax
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <inverseOfMatrix@plt>
  movl   $0x0,-0x12d8(%rbp)
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  mov    %eax,-0x12e0(%rbp)
  jmp    L41
L266:
  movl   $0x0,-0x12d4(%rbp)
  movl   $0x0,-0x12dc(%rbp)
  jmp    L380
L16:
  mov    -0x12e0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x12f0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x12d4(%rbp),%eax
  movslq %eax,%rsi
  mov    -0x12d8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  add    %rsi,%rax
  movsd  -0xc90(%rbp,%rax,8),%xmm0
  mov    -0x12dc(%rbp),%eax
  cltq
  movsd  %xmm0,(%rcx,%rax,8)
  addl   $0x1,-0x12d4(%rbp)
  addl   $0x1,-0x12dc(%rbp)
L380:
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  cmp    %eax,-0x12dc(%rbp)
  jl     L16
  addl   $0x1,-0x12d8(%rbp)
  addl   $0x1,-0x12e0(%rbp)
L41:
  mov    -0x12e0(%rbp),%eax
  cmp    -0x12f4(%rbp),%eax
  jl     L266
  movl   $0x0,-0x12d8(%rbp)
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  mov    %eax,-0x12e0(%rbp)
  jmp    L322
L203:
  movl   $0x0,-0x12d4(%rbp)
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  mov    %eax,-0x12dc(%rbp)
  jmp    L99
L311:
  mov    -0x12e0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x12e8(%rbp),%rax
  add    %rax,%rdx
  mov    -0x12dc(%rbp),%eax
  cltq
  movsd  (%rdx,%rax,8),%xmm0
  mov    -0x12d4(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x12d8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  add    %rcx,%rax
  movsd  %xmm0,-0x12d0(%rbp,%rax,8)
  addl   $0x1,-0x12d4(%rbp)
  addl   $0x1,-0x12dc(%rbp)
L99:
  mov    -0x12dc(%rbp),%eax
  cmp    -0x12f4(%rbp),%eax
  jl     L311
  addl   $0x1,-0x12d8(%rbp)
  addl   $0x1,-0x12e0(%rbp)
L322:
  mov    -0x12e0(%rbp),%eax
  cmp    -0x12f4(%rbp),%eax
  jl     L203
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  mov    %eax,%edx
  lea    -0xc90(%rbp),%rcx
  lea    -0x12d0(%rbp),%rax
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <inverseOfMatrix@plt>
  movl   $0x0,-0x12d8(%rbp)
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  mov    %eax,-0x12e0(%rbp)
  jmp    L35
L100:
  movl   $0x0,-0x12d4(%rbp)
  mov    -0x12f4(%rbp),%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  mov    %eax,-0x12dc(%rbp)
  jmp    L124
L389:
  mov    -0x12e0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x12f0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x12d4(%rbp),%eax
  movslq %eax,%rsi
  mov    -0x12d8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  add    %rsi,%rax
  movsd  -0xc90(%rbp,%rax,8),%xmm0
  mov    -0x12dc(%rbp),%eax
  cltq
  movsd  %xmm0,(%rcx,%rax,8)
  addl   $0x1,-0x12d4(%rbp)
  addl   $0x1,-0x12dc(%rbp)
L124:
  mov    -0x12dc(%rbp),%eax
  cmp    -0x12f4(%rbp),%eax
  jl     L389
  addl   $0x1,-0x12d8(%rbp)
  addl   $0x1,-0x12e0(%rbp)
L35:
  mov    -0x12e0(%rbp),%eax
  cmp    -0x12f4(%rbp),%eax
  jl     L100
L201:
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L339
  call   <__stack_chk_fail@plt>
L339:
  leave
  ret
```

tool_calls: name: parse_data
arguments: label: D5
datatype: byte[8]

tool: {"D5": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3f]}

assistant: ```c
void shiftedInverseMatrix(double arr[][20], double shifted[][20], int size) {
  int i = 0;
  int j = 0;
  int m = 0;
  int n = 0;
  double arr1[10][20];
  double inverse[20][20];
  if (size == 2) {
    for (i = 0; i < size; i++) {
      for (j = 0; j < size; j++)
        shifted[i][j] = 1 / arr[i][j];
    }
  } else {
    m = 0;
    for (i = 0; i < size / 2; i++) {
      n = 0;
      for (j = 0; j < size / 2; j++) {
        arr1[m][n] = arr[i][j];
        n++;
      }
      m++;
    }
    inverseOfMatrix(arr1, inverse, size / 2);
    m = 0;
    for (i = 0; i < size / 2; i++) {
      n = 0;
      for (j = 0; j < size / 2; j++) {
        shifted[i][j] = inverse[m][n];
        n++;
      }
      m++;
    }
    m = 0;
    for (i = 0; i < size / 2; i++) {
      n = 0;
      for (j = size / 2; j < size; j++) {
        arr1[m][n] = arr[i][j];
        n++;
      }
      m++;
    }
    inverseOfMatrix(arr1, inverse, size / 2);
    m = 0;
    for (i = 0; i < size / 2; i++) {
      n = 0;
      for (j = size / 2; j < size; j++) {
        shifted[i][j] = inverse[m][n];
        n++;
      }
      m++;
    }
    m = 0;
    for (i = size / 2; i < size; i++) {
      n = 0;
      for (j = 0; j < size / 2; j++) {
        arr1[m][n] = arr[i][j];
        n++;
      }
      m++;
    }
    inverseOfMatrix(arr1, inverse, size / 2);
    m = 0;
    for (i = size / 2; i < size; i++) {
      n = 0;
      for (j = 0; j < size / 2; j++) {
        shifted[i][j] = inverse[m][n];
        n++;
      }
      m++;
    }
    m = 0;
    for (i = size / 2; i < size; i++) {
      n = 0;
      for (j = size / 2; j < size; j++) {
        arr1[m][n] = arr[i][j];
        n++;
      }
      m++;
    }
    inverseOfMatrix(arr1, inverse, size / 2);
    m = 0;
    for (i = size / 2; i < size; i++) {
      n = 0;
      for (j = size / 2; j < size; j++) {
        shifted[i][j] = inverse[m][n];
        n++;
      }
      m++;
    }
  }
}
```