user: 请显示与下面列出的汇编代码相匹配的C语言实现:

```asm
<solve_sdk>:
  endbr64
  push   %r15
  mov    %rdi,%rax
  mov    %rdi,%r15
  xor    %ecx,%ecx
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0xf8,%rsp
L900:
  mov    (%rax),%edx
  test   %edx,%edx
  je     L602
  mov    0x4(%rax),%ebx
  test   %ebx,%ebx
  je     L1413
  mov    0x8(%rax),%r11d
  test   %r11d,%r11d
  je     L1571
  mov    0xc(%rax),%r10d
  test   %r10d,%r10d
  je     L1566
  mov    0x10(%rax),%r9d
  test   %r9d,%r9d
  je     L1156
  mov    0x14(%rax),%r8d
  test   %r8d,%r8d
  je     L1431
  mov    0x18(%rax),%edi
  test   %edi,%edi
  je     L1951
  mov    0x1c(%rax),%esi
  test   %esi,%esi
  je     L502
  mov    0x20(%rax),%edx
  test   %edx,%edx
  je     L1189
  add    $0x1,%ecx
  add    $0x24,%rax
  cmp    $0x9,%ecx
  jne    L900
  nopl   0x0(%rax,%rax,1)
L1397:
  mov    $0x1,%eax
L1246:
  add    $0xf8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L602:
  mov    %edx,0xc0(%rsp)
  mov    %ecx,0xc4(%rsp)
  mov    %rax,0xd0(%rsp)
L1739:
  movslq 0xc0(%rsp),%rax
  movl   $0x1,0xa4(%rsp)
  mov    %rax,0xe8(%rsp)
  jmp    L1020
L1875:
  addl   $0x1,0xa4(%rsp)
  mov    0xa4(%rsp),%eax
  cmp    $0xa,%eax
  je     L1179
L1020:
  mov    0xc0(%rsp),%ecx
  mov    0xc4(%rsp),%edx
  mov    %r15,%rdi
  mov    0xa4(%rsp),%esi
  call   <legal_move@plt>
  test   %rax,%rax
  je     L1875
  mov    0xd0(%rsp),%rax
  mov    0xa4(%rsp),%ecx
  mov    0xe8(%rsp),%rsi
  mov    %ecx,(%rax,%rsi,4)
  mov    %r15,%rax
  xor    %ecx,%ecx
  mov    (%rax),%edx
  test   %edx,%edx
  je     L168
L1324:
  mov    0x4(%rax),%r8d
  test   %r8d,%r8d
  je     L5
  mov    0x8(%rax),%edi
  test   %edi,%edi
  je     L479
  mov    0xc(%rax),%esi
  test   %esi,%esi
  je     L1422
  mov    0x10(%rax),%edx
  test   %edx,%edx
  je     L1150
  mov    0x14(%rax),%r14d
  test   %r14d,%r14d
  je     L149
  mov    0x18(%rax),%r13d
  test   %r13d,%r13d
  je     L1160
  mov    0x1c(%rax),%r12d
  test   %r12d,%r12d
  je     L1958
  mov    0x20(%rax),%ebp
  test   %ebp,%ebp
  je     L70
  add    $0x1,%ecx
  add    $0x24,%rax
  cmp    $0x9,%ecx
  je     L1397
  mov    (%rax),%edx
  test   %edx,%edx
  jne    L1324
L168:
  mov    %edx,0xa8(%rsp)
  mov    %ecx,0xac(%rsp)
  mov    %rax,0xc8(%rsp)
  jmp    L1318
L1179:
  xor    %eax,%eax
  jmp    L1246
L1958:
  mov    %ecx,0xac(%rsp)
  mov    %rax,0xc8(%rsp)
  movl   $0x7,0xa8(%rsp)
L1318:
  movslq 0xa8(%rsp),%rax
  movl   $0x1,0x78(%rsp)
  mov    %rax,0xe0(%rsp)
  jmp    L1118
L637:
  addl   $0x1,0x78(%rsp)
  mov    0x78(%rsp),%eax
  cmp    $0xa,%eax
  je     L873
L1118:
  mov    0xa8(%rsp),%ecx
  mov    0xac(%rsp),%edx
  mov    %r15,%rdi
  mov    0x78(%rsp),%esi
  call   <legal_move@plt>
  test   %rax,%rax
  je     L637
  mov    0xc8(%rsp),%rax
  mov    0xe0(%rsp),%rsi
  xor    %edx,%edx
  mov    0x78(%rsp),%edi
  mov    %edi,(%rax,%rsi,4)
  mov    %r15,%rax
  mov    (%rax),%ecx
  test   %ecx,%ecx
  je     L2022
L1611:
  mov    0x4(%rax),%r14d
  test   %r14d,%r14d
  je     L1526
  mov    0x8(%rax),%r13d
  test   %r13d,%r13d
  je     L1103
  mov    0xc(%rax),%r12d
  test   %r12d,%r12d
  je     L755
  mov    0x10(%rax),%ebp
  test   %ebp,%ebp
  je     L1352
  mov    0x14(%rax),%ebx
  test   %ebx,%ebx
  je     L690
  mov    0x18(%rax),%r11d
  test   %r11d,%r11d
  je     L768
  mov    0x1c(%rax),%r10d
  test   %r10d,%r10d
  je     L1680
  mov    0x20(%rax),%r9d
  test   %r9d,%r9d
  je     L1936
  add    $0x1,%edx
  add    $0x24,%rax
  cmp    $0x9,%edx
  je     L1397
  mov    (%rax),%ecx
  test   %ecx,%ecx
  jne    L1611
L2022:
  mov    %ecx,0x94(%rsp)
  mov    %edx,0xa0(%rsp)
  mov    %rax,0xb0(%rsp)
  jmp    L1598
L873:
  mov    0xd0(%rsp),%rax
  mov    0xe8(%rsp),%rsi
  movl   $0x0,(%rax,%rsi,4)
  jmp    L1875
L1526:
  mov    %edx,0xa0(%rsp)
  mov    %rax,0xb0(%rsp)
  movl   $0x1,0x94(%rsp)
L1598:
  movslq 0x94(%rsp),%rax
  movl   $0x1,0x5c(%rsp)
  mov    %rax,0xd8(%rsp)
  jmp    L726
  nopl   0x0(%rax,%rax,1)
L814:
  addl   $0x1,0x5c(%rsp)
  mov    0x5c(%rsp),%eax
  cmp    $0xa,%eax
  je     L985
L726:
  mov    0x94(%rsp),%ecx
  mov    0xa0(%rsp),%edx
  mov    %r15,%rdi
  mov    0x5c(%rsp),%esi
  call   <legal_move@plt>
  test   %rax,%rax
  je     L814
  mov    0xb0(%rsp),%rax
  mov    0xd8(%rsp),%rcx
  mov    0x5c(%rsp),%esi
  mov    %esi,(%rax,%rcx,4)
  mov    %r15,%rax
  xor    %ecx,%ecx
  mov    (%rax),%edx
  test   %edx,%edx
  je     L1133
L697:
  mov    0x4(%rax),%ebx
  test   %ebx,%ebx
  je     L195
  mov    0x8(%rax),%r11d
  test   %r11d,%r11d
  je     L1779
  mov    0xc(%rax),%r10d
  test   %r10d,%r10d
  je     L606
  mov    0x10(%rax),%r9d
  test   %r9d,%r9d
  je     L1374
  mov    0x14(%rax),%r8d
  test   %r8d,%r8d
  je     L1810
  mov    0x18(%rax),%edi
  test   %edi,%edi
  je     L470
  mov    0x1c(%rax),%esi
  test   %esi,%esi
  je     L41
  mov    0x20(%rax),%edx
  test   %edx,%edx
  je     L1797
  add    $0x1,%ecx
  add    $0x24,%rax
  cmp    $0x9,%ecx
  je     L1397
  mov    (%rax),%edx
  test   %edx,%edx
  jne    L697
L1133:
  mov    %edx,0x7c(%rsp)
  mov    %ecx,0x90(%rsp)
  mov    %rax,0x98(%rsp)
  jmp    L1605
L985:
  mov    0xc8(%rsp),%rax
  mov    0xe0(%rsp),%rcx
  movl   $0x0,(%rax,%rcx,4)
  jmp    L637
L1779:
  mov    %ecx,0x90(%rsp)
  mov    %rax,0x98(%rsp)
  movl   $0x2,0x7c(%rsp)
L1605:
  movslq 0x7c(%rsp),%rax
  movl   $0x1,0x50(%rsp)
  mov    %rax,0xb8(%rsp)
  jmp    L441
  nopl   0x0(%rax,%rax,1)
L746:
  addl   $0x1,0x50(%rsp)
  mov    0x50(%rsp),%eax
  cmp    $0xa,%eax
  je     L1809
L441:
  mov    0x7c(%rsp),%ecx
  mov    0x90(%rsp),%edx
  mov    %r15,%rdi
  mov    0x50(%rsp),%esi
  call   <legal_move@plt>
  test   %rax,%rax
  je     L746
  mov    0x98(%rsp),%rax
  mov    0xb8(%rsp),%rsi
  xor    %edx,%edx
  mov    0x50(%rsp),%edi
  mov    %edi,(%rax,%rsi,4)
  mov    %r15,%rax
  mov    (%rax),%ecx
  test   %ecx,%ecx
  je     L1756
L1831:
  mov    0x4(%rax),%r8d
  test   %r8d,%r8d
  je     L1561
  mov    0x8(%rax),%edi
  test   %edi,%edi
  je     L1027
  mov    0xc(%rax),%esi
  test   %esi,%esi
  je     L1981
  mov    0x10(%rax),%ecx
  test   %ecx,%ecx
  je     L86
  mov    0x14(%rax),%r14d
  test   %r14d,%r14d
  je     L1113
  mov    0x18(%rax),%r13d
  test   %r13d,%r13d
  je     L972
  mov    0x1c(%rax),%r12d
  test   %r12d,%r12d
  je     L933
  mov    0x20(%rax),%ebp
  test   %ebp,%ebp
  je     L1097
  add    $0x1,%edx
  add    $0x24,%rax
  cmp    $0x9,%edx
  je     L1397
  mov    (%rax),%ecx
  test   %ecx,%ecx
  jne    L1831
L1756:
  mov    %ecx,0x70(%rsp)
  mov    %edx,0x74(%rsp)
  mov    %rax,0x80(%rsp)
  jmp    L1230
L1809:
  mov    0xb0(%rsp),%rax
  mov    0xd8(%rsp),%rdi
  movl   $0x0,(%rax,%rdi,4)
  jmp    L814
L1561:
  mov    %edx,0x74(%rsp)
  mov    %rax,0x80(%rsp)
  movl   $0x1,0x70(%rsp)
L1230:
  movslq 0x70(%rsp),%rax
  movl   $0x1,0x1c(%rsp)
  mov    %rax,0x88(%rsp)
  jmp    L392
  nop
L915:
  addl   $0x1,0x1c(%rsp)
  mov    0x1c(%rsp),%eax
  cmp    $0xa,%eax
  je     L1403
L392:
  mov    0x70(%rsp),%ecx
  mov    0x74(%rsp),%edx
  mov    %r15,%rdi
  mov    0x1c(%rsp),%esi
  call   <legal_move@plt>
  test   %rax,%rax
  je     L915
  mov    0x80(%rsp),%rax
  mov    0x88(%rsp),%rsi
  xor    %edx,%edx
  mov    0x1c(%rsp),%edi
  mov    %edi,(%rax,%rsi,4)
  mov    %r15,%rax
  mov    (%rax),%ecx
  test   %ecx,%ecx
  je     L1364
L1031:
  mov    0x4(%rax),%r14d
  test   %r14d,%r14d
  je     L1157
  mov    0x8(%rax),%r13d
  test   %r13d,%r13d
  je     L663
  mov    0xc(%rax),%r12d
  test   %r12d,%r12d
  je     L718
  mov    0x10(%rax),%ebp
  test   %ebp,%ebp
  je     L1582
  mov    0x14(%rax),%ebx
  test   %ebx,%ebx
  je     L1433
  mov    0x18(%rax),%r11d
  test   %r11d,%r11d
  je     L1201
  mov    0x1c(%rax),%r10d
  test   %r10d,%r10d
  je     L1800
  mov    0x20(%rax),%r9d
  test   %r9d,%r9d
  je     L1047
  add    $0x1,%edx
  add    $0x24,%rax
  cmp    $0x9,%edx
  je     L1397
  mov    (%rax),%ecx
  test   %ecx,%ecx
  jne    L1031
L1364:
  mov    %ecx,0x54(%rsp)
  mov    %edx,0x58(%rsp)
  mov    %rax,0x68(%rsp)
  jmp    L1539
L1403:
  mov    0x98(%rsp),%rax
  mov    0xb8(%rsp),%rsi
  movl   $0x0,(%rax,%rsi,4)
  jmp    L746
L1157:
  mov    %edx,0x58(%rsp)
  mov    %rax,0x68(%rsp)
  movl   $0x1,0x54(%rsp)
  nopl   0x0(%rax,%rax,1)
L1539:
  movslq 0x54(%rsp),%rax
  movl   $0x1,0x10(%rsp)
  mov    %r15,%r14
  mov    %rax,0x60(%rsp)
  jmp    L84
  nop
L279:
  addl   $0x1,0x10(%rsp)
  mov    0x10(%rsp),%eax
  cmp    $0xa,%eax
  je     L884
L84:
  mov    0x54(%rsp),%ecx
  mov    0x58(%rsp),%edx
  mov    %r14,%rdi
  mov    0x10(%rsp),%esi
  call   <legal_move@plt>
  test   %rax,%rax
  je     L279
  mov    0x68(%rsp),%rax
  mov    0x60(%rsp),%rsi
  xor    %ecx,%ecx
  mov    0x10(%rsp),%edi
  mov    %edi,(%rax,%rsi,4)
  mov    %r14,%rax
  mov    (%rax),%edx
  test   %edx,%edx
  je     L1251
L76:
  mov    0x4(%rax),%r11d
  test   %r11d,%r11d
  je     L304
  mov    0x8(%rax),%r10d
  test   %r10d,%r10d
  je     L362
  mov    0xc(%rax),%r9d
  test   %r9d,%r9d
  je     L286
  mov    0x10(%rax),%r8d
  test   %r8d,%r8d
  je     L183
  mov    0x14(%rax),%edi
  test   %edi,%edi
  je     L1996
  mov    0x18(%rax),%esi
  test   %esi,%esi
  je     L1184
  mov    0x1c(%rax),%edx
  test   %edx,%edx
  je     L1548
  mov    0x20(%rax),%r15d
  test   %r15d,%r15d
  je     L1619
  add    $0x1,%ecx
  add    $0x24,%rax
  cmp    $0x9,%ecx
  je     L1397
  mov    (%rax),%edx
  test   %edx,%edx
  jne    L76
L1251:
  mov    %edx,0x38(%rsp)
  mov    %ecx,0x3c(%rsp)
  mov    %rax,0x40(%rsp)
  nopl   0x0(%rax)
L1477:
  movslq 0x38(%rsp),%rax
  movl   $0x1,0xc(%rsp)
  mov    %rax,0x48(%rsp)
  jmp    L1601
  nopl   0x0(%rax)
L1596:
  addl   $0x1,0xc(%rsp)
  mov    0xc(%rsp),%eax
  cmp    $0xa,%eax
  je     L1610
L1601:
  mov    0x38(%rsp),%ecx
  mov    0x3c(%rsp),%edx
  mov    %r14,%rdi
  mov    0xc(%rsp),%esi
  call   <legal_move@plt>
  test   %rax,%rax
  je     L1596
  mov    0x40(%rsp),%rax
  mov    0x48(%rsp),%rdi
  mov    %r14,%rbx
  xor    %edx,%edx
  mov    0xc(%rsp),%esi
  mov    %esi,(%rax,%rdi,4)
  mov    (%rbx),%eax
  test   %eax,%eax
  je     L1551
L270:
  mov    0x4(%rbx),%eax
  test   %eax,%eax
  je     L4
  mov    0x8(%rbx),%eax
  test   %eax,%eax
  je     L1894
  mov    0xc(%rbx),%eax
  test   %eax,%eax
  je     L772
  mov    0x10(%rbx),%eax
  test   %eax,%eax
  je     L1991
  mov    0x14(%rbx),%r15d
  test   %r15d,%r15d
  je     L1219
  mov    0x18(%rbx),%r13d
  test   %r13d,%r13d
  je     L36
  mov    0x1c(%rbx),%r12d
  test   %r12d,%r12d
  je     L1748
  mov    0x20(%rbx),%ebp
  test   %ebp,%ebp
  je     L703
  add    $0x1,%edx
  add    $0x24,%rbx
  cmp    $0x9,%edx
  je     L1397
  mov    (%rbx),%eax
  test   %eax,%eax
  jne    L270
L1551:
  mov    %eax,0x14(%rsp)
  mov    %edx,0x18(%rsp)
  nopl   0x0(%rax,%rax,1)
L1553:
  movslq 0x14(%rsp),%rax
  mov    %rbx,0x28(%rsp)
  mov    $0x1,%ebp
  mov    %rax,0x20(%rsp)
  jmp    L63
  cs nopw 0x0(%rax,%rax,1)
L25:
  add    $0x1,%ebp
  cmp    $0xa,%ebp
  je     L1045
L63:
  mov    0x14(%rsp),%ecx
  mov    0x18(%rsp),%edx
  mov    %ebp,%esi
  mov    %r14,%rdi
  call   <legal_move@plt>
  test   %rax,%rax
  je     L25
  mov    0x28(%rsp),%rax
  mov    0x20(%rsp),%rsi
  mov    %r14,%rbx
  xor    %r15d,%r15d
  mov    %ebp,(%rax,%rsi,4)
  mov    (%rbx),%r12d
  test   %r12d,%r12d
  je     L1523
L1007:
  mov    0x4(%rbx),%r10d
  test   %r10d,%r10d
  je     L767
  mov    0x8(%rbx),%r9d
  test   %r9d,%r9d
  je     L941
  mov    0xc(%rbx),%r8d
  test   %r8d,%r8d
  je     L333
  mov    0x10(%rbx),%edi
  test   %edi,%edi
  je     L867
  mov    0x14(%rbx),%esi
  test   %esi,%esi
  je     L199
  mov    0x18(%rbx),%ecx
  test   %ecx,%ecx
  je     L159
  mov    0x1c(%rbx),%edx
  test   %edx,%edx
  je     L163
  mov    0x20(%rbx),%eax
  test   %eax,%eax
  je     L1124
  add    $0x1,%r15d
  add    $0x24,%rbx
  cmp    $0x9,%r15d
  je     L1397
  mov    (%rbx),%r12d
  test   %r12d,%r12d
  jne    L1007
  nopw   0x0(%rax,%rax,1)
L1523:
  movslq %r12d,%rax
  mov    $0x1,%r13d
  mov    %rax,0x30(%rsp)
  jmp    L1194
L112:
  add    $0x1,%r13d
  cmp    $0xa,%r13d
  je     L1527
L1194:
  mov    %r12d,%ecx
  mov    %r15d,%edx
  mov    %r13d,%esi
  mov    %r14,%rdi
  call   <legal_move@plt>
  test   %rax,%rax
  je     L112
  mov    0x30(%rsp),%rax
  mov    %r14,%rdi
  mov    %r13d,(%rbx,%rax,4)
  call   <solve_sdk>
  test   %eax,%eax
  jne    L1397
  mov    0x30(%rsp),%rax
  add    $0x1,%r13d
  movl   $0x0,(%rbx,%rax,4)
  cmp    $0xa,%r13d
  jne    L1194
L1527:
  mov    0x28(%rsp),%rax
  mov    0x20(%rsp),%rdi
  add    $0x1,%ebp
  movl   $0x0,(%rax,%rdi,4)
  cmp    $0xa,%ebp
  jne    L63
L1045:
  mov    0x40(%rsp),%rax
  mov    0x48(%rsp),%rdi
  addl   $0x1,0xc(%rsp)
  movl   $0x0,(%rax,%rdi,4)
  mov    0xc(%rsp),%eax
  cmp    $0xa,%eax
  jne    L1601
L1610:
  mov    0x68(%rsp),%rax
  mov    0x60(%rsp),%rsi
  addl   $0x1,0x10(%rsp)
  movl   $0x0,(%rax,%rsi,4)
  mov    0x10(%rsp),%eax
  cmp    $0xa,%eax
  jne    L84
L884:
  mov    0x80(%rsp),%rax
  mov    0x88(%rsp),%rcx
  mov    %r14,%r15
  movl   $0x0,(%rax,%rcx,4)
  jmp    L915
L767:
  mov    $0x1,%r12d
  jmp    L1523
L941:
  mov    $0x2,%r12d
  jmp    L1523
L333:
  mov    $0x3,%r12d
  jmp    L1523
L867:
  mov    $0x4,%r12d
  jmp    L1523
L199:
  mov    $0x5,%r12d
  jmp    L1523
L159:
  mov    $0x6,%r12d
  jmp    L1523
L163:
  mov    $0x7,%r12d
  jmp    L1523
L1124:
  mov    $0x8,%r12d
  jmp    L1523
L4:
  mov    %edx,0x18(%rsp)
  movl   $0x1,0x14(%rsp)
  jmp    L1553
L1894:
  mov    %edx,0x18(%rsp)
  movl   $0x2,0x14(%rsp)
  jmp    L1553
L772:
  mov    %edx,0x18(%rsp)
  movl   $0x3,0x14(%rsp)
  jmp    L1553
L1991:
  mov    %edx,0x18(%rsp)
  movl   $0x4,0x14(%rsp)
  jmp    L1553
L1219:
  mov    %edx,0x18(%rsp)
  movl   $0x5,0x14(%rsp)
  jmp    L1553
L36:
  mov    %edx,0x18(%rsp)
  movl   $0x6,0x14(%rsp)
  jmp    L1553
L1748:
  mov    %edx,0x18(%rsp)
  movl   $0x7,0x14(%rsp)
  jmp    L1553
L703:
  mov    %edx,0x18(%rsp)
  movl   $0x8,0x14(%rsp)
  jmp    L1553
L304:
  mov    %ecx,0x3c(%rsp)
  mov    %rax,0x40(%rsp)
  movl   $0x1,0x38(%rsp)
  jmp    L1477
L362:
  mov    %ecx,0x3c(%rsp)
  mov    %rax,0x40(%rsp)
  movl   $0x2,0x38(%rsp)
  jmp    L1477
L286:
  mov    %ecx,0x3c(%rsp)
  mov    %rax,0x40(%rsp)
  movl   $0x3,0x38(%rsp)
  jmp    L1477
L183:
  mov    %ecx,0x3c(%rsp)
  mov    %rax,0x40(%rsp)
  movl   $0x4,0x38(%rsp)
  jmp    L1477
L1996:
  mov    %ecx,0x3c(%rsp)
  mov    %rax,0x40(%rsp)
  movl   $0x5,0x38(%rsp)
  jmp    L1477
L1184:
  mov    %ecx,0x3c(%rsp)
  mov    %rax,0x40(%rsp)
  movl   $0x6,0x38(%rsp)
  jmp    L1477
L1548:
  mov    %ecx,0x3c(%rsp)
  mov    %rax,0x40(%rsp)
  movl   $0x7,0x38(%rsp)
  jmp    L1477
L1619:
  mov    %ecx,0x3c(%rsp)
  mov    %rax,0x40(%rsp)
  movl   $0x8,0x38(%rsp)
  jmp    L1477
L663:
  mov    %edx,0x58(%rsp)
  mov    %rax,0x68(%rsp)
  movl   $0x2,0x54(%rsp)
  jmp    L1539
L718:
  mov    %edx,0x58(%rsp)
  mov    %rax,0x68(%rsp)
  movl   $0x3,0x54(%rsp)
  jmp    L1539
L1433:
  mov    %edx,0x58(%rsp)
  mov    %rax,0x68(%rsp)
  movl   $0x5,0x54(%rsp)
  jmp    L1539
L1582:
  mov    %edx,0x58(%rsp)
  mov    %rax,0x68(%rsp)
  movl   $0x4,0x54(%rsp)
  jmp    L1539
L1201:
  mov    %edx,0x58(%rsp)
  mov    %rax,0x68(%rsp)
  movl   $0x6,0x54(%rsp)
  jmp    L1539
L1047:
  mov    %edx,0x58(%rsp)
  mov    %rax,0x68(%rsp)
  movl   $0x8,0x54(%rsp)
  jmp    L1539
L1800:
  mov    %edx,0x58(%rsp)
  mov    %rax,0x68(%rsp)
  movl   $0x7,0x54(%rsp)
  jmp    L1539
L1981:
  mov    %edx,0x74(%rsp)
  mov    %rax,0x80(%rsp)
  movl   $0x3,0x70(%rsp)
  jmp    L1230
L1027:
  mov    %edx,0x74(%rsp)
  mov    %rax,0x80(%rsp)
  movl   $0x2,0x70(%rsp)
  jmp    L1230
L86:
  mov    %edx,0x74(%rsp)
  mov    %rax,0x80(%rsp)
  movl   $0x4,0x70(%rsp)
  jmp    L1230
L1113:
  mov    %edx,0x74(%rsp)
  mov    %rax,0x80(%rsp)
  movl   $0x5,0x70(%rsp)
  jmp    L1230
L972:
  mov    %edx,0x74(%rsp)
  mov    %rax,0x80(%rsp)
  movl   $0x6,0x70(%rsp)
  jmp    L1230
L1097:
  mov    %edx,0x74(%rsp)
  mov    %rax,0x80(%rsp)
  movl   $0x8,0x70(%rsp)
  jmp    L1230
L933:
  mov    %edx,0x74(%rsp)
  mov    %rax,0x80(%rsp)
  movl   $0x7,0x70(%rsp)
  jmp    L1230
L195:
  mov    %ecx,0x90(%rsp)
  mov    %rax,0x98(%rsp)
  movl   $0x1,0x7c(%rsp)
  jmp    L1605
L606:
  mov    %ecx,0x90(%rsp)
  mov    %rax,0x98(%rsp)
  movl   $0x3,0x7c(%rsp)
  jmp    L1605
L470:
  mov    %ecx,0x90(%rsp)
  mov    %rax,0x98(%rsp)
  movl   $0x6,0x7c(%rsp)
  jmp    L1605
L1810:
  mov    %ecx,0x90(%rsp)
  mov    %rax,0x98(%rsp)
  movl   $0x5,0x7c(%rsp)
  jmp    L1605
L1374:
  mov    %ecx,0x90(%rsp)
  mov    %rax,0x98(%rsp)
  movl   $0x4,0x7c(%rsp)
  jmp    L1605
L1797:
  mov    %ecx,0x90(%rsp)
  mov    %rax,0x98(%rsp)
  movl   $0x8,0x7c(%rsp)
  jmp    L1605
L41:
  mov    %ecx,0x90(%rsp)
  mov    %rax,0x98(%rsp)
  movl   $0x7,0x7c(%rsp)
  jmp    L1605
L755:
  mov    %edx,0xa0(%rsp)
  mov    %rax,0xb0(%rsp)
  movl   $0x3,0x94(%rsp)
  jmp    L1598
L1103:
  mov    %edx,0xa0(%rsp)
  mov    %rax,0xb0(%rsp)
  movl   $0x2,0x94(%rsp)
  jmp    L1598
L1680:
  mov    %edx,0xa0(%rsp)
  mov    %rax,0xb0(%rsp)
  movl   $0x7,0x94(%rsp)
  jmp    L1598
L768:
  mov    %edx,0xa0(%rsp)
  mov    %rax,0xb0(%rsp)
  movl   $0x6,0x94(%rsp)
  jmp    L1598
L690:
  mov    %edx,0xa0(%rsp)
  mov    %rax,0xb0(%rsp)
  movl   $0x5,0x94(%rsp)
  jmp    L1598
L1352:
  mov    %edx,0xa0(%rsp)
  mov    %rax,0xb0(%rsp)
  movl   $0x4,0x94(%rsp)
  jmp    L1598
L1936:
  mov    %edx,0xa0(%rsp)
  mov    %rax,0xb0(%rsp)
  movl   $0x8,0x94(%rsp)
  jmp    L1598
L1160:
  mov    %ecx,0xac(%rsp)
  mov    %rax,0xc8(%rsp)
  movl   $0x6,0xa8(%rsp)
  jmp    L1318
L149:
  mov    %ecx,0xac(%rsp)
  mov    %rax,0xc8(%rsp)
  movl   $0x5,0xa8(%rsp)
  jmp    L1318
L1150:
  mov    %ecx,0xac(%rsp)
  mov    %rax,0xc8(%rsp)
  movl   $0x4,0xa8(%rsp)
  jmp    L1318
L1422:
  mov    %ecx,0xac(%rsp)
  mov    %rax,0xc8(%rsp)
  movl   $0x3,0xa8(%rsp)
  jmp    L1318
L479:
  mov    %ecx,0xac(%rsp)
  mov    %rax,0xc8(%rsp)
  movl   $0x2,0xa8(%rsp)
  jmp    L1318
L5:
  mov    %ecx,0xac(%rsp)
  mov    %rax,0xc8(%rsp)
  movl   $0x1,0xa8(%rsp)
  jmp    L1318
L70:
  mov    %ecx,0xac(%rsp)
  mov    %rax,0xc8(%rsp)
  movl   $0x8,0xa8(%rsp)
  jmp    L1318
L1413:
  mov    %ecx,0xc4(%rsp)
  mov    %rax,0xd0(%rsp)
  movl   $0x1,0xc0(%rsp)
  jmp    L1739
L1571:
  mov    %ecx,0xc4(%rsp)
  mov    %rax,0xd0(%rsp)
  movl   $0x2,0xc0(%rsp)
  jmp    L1739
L1566:
  mov    %ecx,0xc4(%rsp)
  mov    %rax,0xd0(%rsp)
  movl   $0x3,0xc0(%rsp)
  jmp    L1739
L1156:
  mov    %ecx,0xc4(%rsp)
  mov    %rax,0xd0(%rsp)
  movl   $0x4,0xc0(%rsp)
  jmp    L1739
L1431:
  mov    %ecx,0xc4(%rsp)
  mov    %rax,0xd0(%rsp)
  movl   $0x5,0xc0(%rsp)
  jmp    L1739
L1951:
  mov    %ecx,0xc4(%rsp)
  mov    %rax,0xd0(%rsp)
  movl   $0x6,0xc0(%rsp)
  jmp    L1739
L502:
  mov    %ecx,0xc4(%rsp)
  mov    %rax,0xd0(%rsp)
  movl   $0x7,0xc0(%rsp)
  jmp    L1739
L1189:
  mov    %ecx,0xc4(%rsp)
  mov    %rax,0xd0(%rsp)
  movl   $0x8,0xc0(%rsp)
  jmp    L1739
```

assistant: ```c
int solve_sdk(int pzl[][9]) {
  int r;
  int c;
  int n;
  for (r = 0; r < 9; r++) {
    for (c = 0; c < 9; c++) {
      if (pzl[r][c] == 0) {
        for (n = 1; n <= 9; n++) {
          if (legal_move(pzl, n, r, c)) {
            pzl[r][c] = n;
            if (solve_sdk(pzl)) {
              return 1;
            } else {
              pzl[r][c] = 0;
            }
          }
        }
        return 0;
      }
    }
  }
  return 1;
}
```