user: What would the C source look like for the assembly code provided here?

```asm
<niveldificil>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  mov    %rsi,%rbp
  mov    %rdx,%r10
  mov    %rcx,%r14
  mov    0x38(%rsp),%r11
  mov    0x40(%rsp),%r12
  mov    0x48(%rsp),%rsi
  mov    0x50(%rsp),%rdx
  mov    $0xffffffff,%ecx
  mov    $0x1,%ebx
  jmp    L158
L728:
  mov    $0x0,%eax
  cmpl   $0x1,0x0(%rbp)
  je     L1783
L1054:
  cmpl   $0x1,(%r10)
  je     L1028
L2004:
  cmpl   $0x1,(%r14)
  jne    L1640
L703:
  mov    %eax,%r13d
  or     (%r11),%r13d
  jne    L1640
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r11)
  mov    %ebx,%eax
  jmp    L1640
L3:
  cmpl   $0xffffffff,0x0(%rbp)
  je     L1388
L1170:
  cmpl   $0xffffffff,(%r10)
  je     L1463
L1386:
  cmpl   $0xffffffff,(%r14)
  jne    L1640
  jmp    L703
L1388:
  cmpl   $0x0,(%r10)
  jne    L1170
  jmp    L293
L4:
  mov    %ebx,%eax
  jmp    L1640
L237:
  cmpl   $0x1,(%r10)
  jne    L830
L1605:
  mov    %eax,%r13d
  or     (%rdi),%r13d
  jne    L830
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%rdi)
  mov    %ebx,%eax
  jmp    L830
L660:
  cmpl   $0xffffffff,(%r10)
  jne    L830
  jmp    L1605
L872:
  cmpl   $0x1,(%r8)
  jne    L224
L1210:
  mov    %eax,%r13d
  or     (%rsi),%r13d
  jne    L224
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%rsi)
  mov    %ebx,%eax
  jmp    L224
L589:
  cmpl   $0xffffffff,(%r8)
  jne    L224
  jmp    L1210
L209:
  cmpl   $0x1,(%r8)
  je     L1597
L1917:
  cmpl   $0x1,(%r9)
  je     L312
  mov    (%r8),%r13d
  cmp    $0x1,%r13d
  jne    L2000
  jmp    L1799
L95:
  cmpl   $0xffffffff,(%r8)
  je     L476
L655:
  cmpl   $0xffffffff,(%r9)
  jne    L524
L312:
  mov    %eax,%r13d
  or     (%r8),%r13d
  jne    L524
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r8)
  mov    %ebx,%eax
  jmp    L524
L1420:
  mov    %ebx,%eax
  jmp    L524
L549:
  cmpl   $0x1,(%r9)
  jne    L1799
L48:
  mov    %eax,%r13d
  or     (%r14),%r13d
  jne    L1799
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r14)
  mov    %ebx,%eax
  jmp    L1799
L97:
  cmpl   $0xffffffff,(%r9)
  jne    L1799
  jmp    L48
L75:
  cmpl   $0x1,(%r12)
  je     L1696
L154:
  cmpl   $0x1,(%rsi)
  je     L535
  mov    (%r12),%r13d
  cmp    $0x1,%r13d
  jne    L259
  jmp    L1959
L217:
  cmpl   $0xffffffff,(%r12)
  je     L432
L442:
  cmpl   $0xffffffff,(%rsi)
  jne    L814
L535:
  mov    %eax,%r13d
  or     (%r12),%r13d
  jne    L814
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r12)
  mov    %ebx,%eax
  jmp    L814
L355:
  mov    %ebx,%eax
  jmp    L814
L167:
  cmpl   $0x1,(%rsi)
  jne    L1959
L1479:
  mov    %eax,%r13d
  or     (%r11),%r13d
  jne    L1959
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r11)
  mov    %ebx,%eax
  jmp    L1959
L542:
  cmpl   $0xffffffff,(%rsi)
  jne    L1959
  jmp    L1479
L1611:
  cmpl   $0x1,(%r11)
  je     L279
  mov    (%r14),%r13d
  cmp    $0x1,%r13d
  jne    L875
  jmp    L575
L1274:
  cmpl   $0xffffffff,(%r11)
  jne    L1191
L279:
  mov    %eax,%r13d
  or     (%r14),%r13d
  jne    L1191
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r14)
  mov    %ebx,%eax
  jmp    L1191
L60:
  cmpl   $0x1,(%r11)
  jne    L575
L712:
  mov    %eax,%r13d
  or     (%rdi),%r13d
  jne    L575
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%rdi)
  mov    %ebx,%eax
  jmp    L575
L645:
  cmpl   $0xffffffff,(%r11)
  jne    L575
  jmp    L712
L1750:
  cmpl   $0x1,(%r8)
  je     L89
L509:
  cmpl   $0x1,(%r12)
  je     L556
  mov    (%r8),%r13d
  cmp    $0x1,%r13d
  jne    L1239
  jmp    L1183
L1055:
  cmpl   $0xffffffff,(%r8)
  je     L1511
L1299:
  cmpl   $0xffffffff,(%r12)
  jne    L212
L556:
  mov    %eax,%r13d
  or     (%r8),%r13d
  jne    L212
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r8)
  mov    %ebx,%eax
  jmp    L212
L1439:
  mov    %ebx,%eax
  jmp    L212
L1174:
  cmpl   $0x1,(%r12)
  jne    L1183
L1903:
  mov    %eax,%r13d
  or     0x0(%rbp),%r13d
  jne    L1183
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,0x0(%rbp)
  mov    %ebx,%eax
  jmp    L1183
L1817:
  cmpl   $0xffffffff,(%r12)
  jne    L1183
  jmp    L1903
L163:
  cmpl   $0x1,(%r9)
  je     L1316
L1628:
  cmpl   $0x1,(%rsi)
  jne    L1547
L203:
  mov    %eax,%r13d
  or     (%r9),%r13d
  jne    L1547
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r9)
  mov    %ebx,%eax
  jmp    L1547
L1249:
  cmpl   $0xffffffff,(%r9)
  je     L1123
L1015:
  cmpl   $0xffffffff,(%rsi)
  jne    L1547
  jmp    L203
L967:
  mov    %ebx,%eax
  jmp    L1547
L274:
  cmpl   $0x1,(%rsi)
  jne    L1793
L1093:
  mov    %eax,%r13d
  or     (%r10),%r13d
  jne    L1793
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r10)
  mov    %ebx,%eax
  jmp    L1793
L993:
  cmpl   $0xffffffff,(%rsi)
  jne    L1793
  jmp    L1093
L795:
  cmpl   $0x1,(%rsi)
  jne    L745
L772:
  mov    %eax,%r13d
  or     (%r8),%r13d
  jne    L745
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r8)
  mov    %ebx,%eax
  jmp    L745
L1242:
  cmpl   $0xffffffff,(%rsi)
  jne    L745
  jmp    L772
L732:
  cmpl   $0x1,(%rsi)
  je     L24
  mov    (%r10),%r13d
  cmp    $0x1,%r13d
  jne    L266
L1452:
  mov    %eax,%r15d
  or     (%r11),%r15d
  jne    L1796
L1419:
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r11)
  mov    (%r10),%eax
  cmp    $0x1,%eax
  je     L1796
  cmp    $0xffffffff,%eax
  jne    L768
  mov    %ebx,%eax
  jmp    L1644
L596:
  cmpl   $0xffffffff,(%rsi)
  jne    L1233
L24:
  mov    %eax,%r13d
  or     (%rdi),%r13d
  jne    L1233
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%rdi)
  mov    %ebx,%eax
  jmp    L1233
L1269:
  cmpl   $0x1,(%r8)
  je     L1452
L1796:
  cmpl   $0x1,(%r11)
  je     L1146
  mov    (%r8),%r13d
  cmp    $0x1,%r13d
  jne    L1165
  jmp    L1380
L988:
  cmpl   $0xffffffff,(%r8)
  je     L939
L1644:
  cmpl   $0xffffffff,(%r11)
  jne    L1254
L1146:
  mov    %eax,%r13d
  or     (%r8),%r13d
  jne    L1254
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r8)
  mov    %ebx,%eax
  jmp    L1254
L768:
  mov    %ebx,%eax
  jmp    L1254
L880:
  cmpl   $0x1,(%r11)
  jne    L1380
  mov    %eax,%r15d
  or     (%r10),%r15d
  jne    L1380
L695:
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r10)
  mov    %ebx,%eax
L283:
  mov    %eax,%r13d
  or     (%r10),%r13d
  jne    L1056
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r10)
  mov    %ebx,%eax
L506:
  mov    %eax,%r13d
  or     0x0(%rbp),%r13d
  jne    L493
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,0x0(%rbp)
  mov    0x58(%rsp),%rax
  cmpl   $0x2,(%rax)
  jne    L84
  mov    %ebx,%eax
  jmp    L296
L1063:
  cmpl   $0xffffffff,(%r11)
  je     L340
L1084:
  mov    %eax,%r13d
  or     (%rdi),%r13d
  jne    L283
L965:
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%rdi)
  mov    %ebx,%eax
L1328:
  mov    %eax,%r13d
  or     (%rsi),%r13d
  jne    L506
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%rsi)
  mov    %ebx,%eax
L359:
  mov    0x58(%rsp),%r15
  cmpl   $0x2,(%r15)
  je     L296
L1307:
  test   %eax,%eax
  jne    L84
L158:
  mov    (%rdi),%r13d
  cmp    $0x1,%r13d
  je     L728
  mov    $0x0,%eax
  cmp    $0xffffffff,%r13d
  je     L3
L1640:
  mov    0x0(%rbp),%r13d
  cmp    $0x1,%r13d
  je     L237
  cmp    $0xffffffff,%r13d
  je     L660
L830:
  mov    (%rdi),%r13d
  cmp    $0x1,%r13d
  je     L872
  cmp    $0xffffffff,%r13d
  je     L589
L224:
  mov    (%r14),%r13d
  cmp    $0x1,%r13d
  je     L209
  cmp    $0xffffffff,%r13d
  je     L95
L524:
  mov    (%r8),%r13d
  cmp    $0x1,%r13d
  je     L549
L2000:
  cmp    $0xffffffff,%r13d
  je     L97
L1799:
  mov    (%r11),%r13d
  cmp    $0x1,%r13d
  je     L75
  cmp    $0xffffffff,%r13d
  je     L217
L814:
  mov    (%r12),%r13d
  cmp    $0x1,%r13d
  je     L167
L259:
  cmp    $0xffffffff,%r13d
  je     L542
L1959:
  mov    (%rdi),%r13d
  cmp    $0x1,%r13d
  je     L1611
  cmp    $0xffffffff,%r13d
  je     L1274
L1191:
  mov    (%r14),%r13d
  cmp    $0x1,%r13d
  je     L60
L875:
  cmp    $0xffffffff,%r13d
  je     L645
L575:
  mov    0x0(%rbp),%r13d
  cmp    $0x1,%r13d
  je     L1750
  cmp    $0xffffffff,%r13d
  je     L1055
L212:
  mov    (%r8),%r13d
  cmp    $0x1,%r13d
  je     L1174
L1239:
  cmp    $0xffffffff,%r13d
  je     L1817
L1183:
  mov    (%r10),%r13d
  cmp    $0x1,%r13d
  je     L163
  cmp    $0xffffffff,%r13d
  je     L1249
L1547:
  mov    (%r9),%r13d
  cmp    $0x1,%r13d
  je     L274
  cmp    $0xffffffff,%r13d
  je     L993
L1793:
  mov    (%rdi),%r13d
  cmp    $0x1,%r13d
  je     L795
  cmp    $0xffffffff,%r13d
  je     L1242
L745:
  mov    (%r8),%r13d
  cmp    $0x1,%r13d
  je     L732
  cmp    $0xffffffff,%r13d
  je     L596
L1233:
  mov    (%r10),%r13d
  cmp    $0x1,%r13d
  je     L1269
L266:
  cmp    $0xffffffff,%r13d
  je     L988
L1254:
  mov    (%r8),%r13d
  cmp    $0x1,%r13d
  je     L880
L1165:
  cmp    $0xffffffff,%r13d
  je     L1063
L1380:
  or     %eax,%r13d
  jne    L1084
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r8)
  mov    %ebx,%eax
L1056:
  mov    %eax,%r13d
  or     (%r11),%r13d
  jne    L1328
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r11)
  mov    %ebx,%eax
L493:
  mov    %eax,%r13d
  or     (%r12),%r13d
  jne    L359
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r12)
  mov    0x58(%rsp),%rax
  cmpl   $0x2,(%rax)
  jne    L84
  mov    %ebx,%eax
L296:
  cmpl   $0x1,(%rdx)
  setne  %r13b
  movzbl %r13b,%r13d
  lea    -0x1(%r13,%r13,1),%r13d
  mov    %r13d,(%rdx)
  jmp    L1307
L340:
  mov    %eax,%r15d
  or     (%r10),%r15d
  je     L695
  mov    %eax,%r15d
  or     (%rdi),%r15d
  je     L965
  jmp    L1056
L939:
  mov    %eax,%r15d
  or     (%r11),%r15d
  jne    L1644
  jmp    L1419
L1316:
  mov    %eax,%r15d
  or     (%rsi),%r15d
  jne    L1628
L1341:
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%rsi)
  mov    (%r10),%eax
  cmp    $0x1,%eax
  je     L1628
  cmp    $0xffffffff,%eax
  jne    L967
  mov    %ebx,%eax
  jmp    L1015
L1123:
  mov    %eax,%r15d
  or     (%rsi),%r15d
  jne    L1015
  jmp    L1341
L89:
  mov    %eax,%r15d
  or     (%r12),%r15d
  jne    L509
L1051:
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r12)
  mov    0x0(%rbp),%eax
  cmp    $0x1,%eax
  je     L509
  cmp    $0xffffffff,%eax
  jne    L1439
  mov    %ebx,%eax
  jmp    L1299
L1511:
  mov    %eax,%r15d
  or     (%r12),%r15d
  jne    L1299
  jmp    L1051
L432:
  mov    %eax,%r15d
  or     (%rsi),%r15d
  jne    L442
  jmp    L1924
L1696:
  mov    %eax,%r15d
  or     (%rsi),%r15d
  jne    L154
L1924:
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%rsi)
  mov    (%r11),%eax
  cmp    $0x1,%eax
  je     L154
  cmp    $0xffffffff,%eax
  jne    L355
  mov    %ebx,%eax
  jmp    L442
L1597:
  mov    %eax,%r15d
  or     (%r9),%r15d
  jne    L1917
L713:
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r9)
  mov    (%r14),%eax
  cmp    $0x1,%eax
  je     L1917
  cmp    $0xffffffff,%eax
  jne    L1420
  mov    %ebx,%eax
  jmp    L655
L476:
  mov    %eax,%r15d
  or     (%r9),%r15d
  jne    L655
  jmp    L713
L1463:
  mov    %eax,%r15d
  or     0x0(%rbp),%r15d
  jne    L1386
  jmp    L347
L1028:
  mov    %eax,%r15d
  or     0x0(%rbp),%r15d
  jne    L2004
L347:
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,0x0(%rbp)
  mov    (%rdi),%eax
  cmp    $0x1,%eax
  je     L2004
  cmp    $0xffffffff,%eax
  jne    L4
  mov    %ebx,%eax
  jmp    L1386
L1783:
  mov    $0x0,%eax
  cmpl   $0x0,(%r10)
  jne    L1054
L293:
  mov    (%rdx),%eax
  cmp    $0x1,%eax
  cmovne %ecx,%eax
  mov    %eax,(%r10)
  mov    (%rdi),%eax
  cmp    $0x1,%eax
  je     L1054
  cmp    $0xffffffff,%eax
  jne    L92
  mov    %ebx,%eax
  jmp    L1170
L92:
  mov    %ebx,%eax
  jmp    L1640
L84:
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
```

assistant: ```c
void niveldificil(int *tabuleiro0, int *tabuleiro1, int *tabuleiro2, int *tabuleiro3, int *tabuleiro4, int *tabuleiro5, int *tabuleiro6, int *tabuleiro7, int *tabuleiro8, int *turnomaquina, int *mododejogo) {
  int marquei = 0;
  while (marquei == 0) {
    if ((*tabuleiro0 == 1 && *tabuleiro1 == 1 && *tabuleiro2 == 0 && marquei == 0) || (*tabuleiro0 == -1 && *tabuleiro1 == -1 && *tabuleiro2 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro2 = 1;
      else
        *tabuleiro2 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro0 == 1 && *tabuleiro2 == 1 && *tabuleiro1 == 0 && marquei == 0) || (*tabuleiro0 == -1 && *tabuleiro2 == -1 && *tabuleiro1 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro1 = 1;
      else
        *tabuleiro1 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro0 == 1 && *tabuleiro3 == 1 && *tabuleiro6 == 0 && marquei == 0) || (*tabuleiro0 == -1 && *tabuleiro3 == -1 && *tabuleiro6 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro6 = 1;
      else
        *tabuleiro6 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro1 == 1 && *tabuleiro2 == 1 && *tabuleiro0 == 0 && marquei == 0) || (*tabuleiro1 == -1 && *tabuleiro2 == -1 && *tabuleiro0 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro0 = 1;
      else
        *tabuleiro0 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro0 == 1 && *tabuleiro4 == 1 && *tabuleiro8 == 0 && marquei == 0) || (*tabuleiro0 == -1 && *tabuleiro4 == -1 && *tabuleiro8 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro8 = 1;
      else
        *tabuleiro8 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro3 == 1 && *tabuleiro4 == 1 && *tabuleiro5 == 0 && marquei == 0) || (*tabuleiro3 == -1 && *tabuleiro4 == -1 && *tabuleiro5 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro5 = 1;
      else
        *tabuleiro5 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro3 == 1 && *tabuleiro5 == 1 && *tabuleiro4 == 0 && marquei == 0) || (*tabuleiro3 == -1 && *tabuleiro5 == -1 && *tabuleiro4 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro4 = 1;
      else
        *tabuleiro4 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro4 == 1 && *tabuleiro5 == 1 && *tabuleiro3 == 0 && marquei == 0) || (*tabuleiro4 == -1 && *tabuleiro5 == -1 && *tabuleiro3 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro3 = 1;
      else
        *tabuleiro3 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro6 == 1 && *tabuleiro7 == 1 && *tabuleiro8 == 0 && marquei == 0) || (*tabuleiro6 == -1 && *tabuleiro7 == -1 && *tabuleiro8 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro8 = 1;
      else
        *tabuleiro8 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro6 == 1 && *tabuleiro8 == 1 && *tabuleiro7 == 0 && marquei == 0) || (*tabuleiro6 == -1 && *tabuleiro8 == -1 && *tabuleiro7 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro7 = 1;
      else
        *tabuleiro7 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro7 == 1 && *tabuleiro8 == 1 && *tabuleiro6 == 0 && marquei == 0) || (*tabuleiro7 == -1 && *tabuleiro8 == -1 && *tabuleiro6 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro6 = 1;
      else
        *tabuleiro6 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro0 == 1 && *tabuleiro6 == 1 && *tabuleiro3 == 0 && marquei == 0) || (*tabuleiro0 == -1 && *tabuleiro6 == -1 && *tabuleiro3 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro3 = 1;
      else
        *tabuleiro3 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro3 == 1 && *tabuleiro6 == 1 && *tabuleiro0 == 0 && marquei == 0) || (*tabuleiro3 == -1 && *tabuleiro6 == -1 && *tabuleiro0 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro0 = 1;
      else
        *tabuleiro0 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro1 == 1 && *tabuleiro4 == 1 && *tabuleiro7 == 0 && marquei == 0) || (*tabuleiro1 == -1 && *tabuleiro4 == -1 && *tabuleiro7 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro7 = 1;
      else
        *tabuleiro7 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro1 == 1 && *tabuleiro7 == 1 && *tabuleiro4 == 0 && marquei == 0) || (*tabuleiro1 == -1 && *tabuleiro7 == -1 && *tabuleiro4 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro4 = 1;
      else
        *tabuleiro4 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro4 == 1 && *tabuleiro7 == 1 && *tabuleiro1 == 0 && marquei == 0) || (*tabuleiro4 == -1 && *tabuleiro7 == -1 && *tabuleiro1 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro1 = 1;
      else
        *tabuleiro1 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro2 == 1 && *tabuleiro5 == 1 && *tabuleiro8 == 0 && marquei == 0) || (*tabuleiro2 == -1 && *tabuleiro5 == -1 && *tabuleiro8 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro8 = 1;
      else
        *tabuleiro8 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro2 == 1 && *tabuleiro8 == 1 && *tabuleiro5 == 0 && marquei == 0) || (*tabuleiro2 == -1 && *tabuleiro8 == -1 && *tabuleiro5 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro5 = 1;
      else
        *tabuleiro5 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro5 == 1 && *tabuleiro8 == 1 && *tabuleiro2 == 0 && marquei == 0) || (*tabuleiro5 == -1 && *tabuleiro8 == -1 && *tabuleiro2 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro2 = 1;
      else
        *tabuleiro2 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro0 == 1 && *tabuleiro8 == 1 && *tabuleiro4 == 0 && marquei == 0) || (*tabuleiro0 == -1 && *tabuleiro8 == -1 && *tabuleiro4 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro4 = 1;
      else
        *tabuleiro4 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro4 == 1 && *tabuleiro8 == 1 && *tabuleiro0 == 0 && marquei == 0) || (*tabuleiro4 == -1 && *tabuleiro8 == -1 && *tabuleiro0 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro0 = 1;
      else
        *tabuleiro0 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro2 == 1 && *tabuleiro4 == 1 && *tabuleiro6 == 0 && marquei == 0) || (*tabuleiro2 == -1 && *tabuleiro4 == -1 && *tabuleiro6 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro6 = 1;
      else
        *tabuleiro6 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro2 == 1 && *tabuleiro6 == 1 && *tabuleiro4 == 0 && marquei == 0) || (*tabuleiro2 == -1 && *tabuleiro6 == -1 && *tabuleiro4 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro4 = 1;
      else
        *tabuleiro4 = -1;
      marquei = marquei + 1;
    }
    if ((*tabuleiro4 == 1 && *tabuleiro6 == 1 && *tabuleiro2 == 0 && marquei == 0) || (*tabuleiro4 == -1 && *tabuleiro6 == -1 && *tabuleiro2 == 0 && marquei == 0)) {
      if (*turnomaquina == 1)
        *tabuleiro2 = 1;
      else
        *tabuleiro2 = -1;
      marquei = marquei + 1;
    }
    if (*tabuleiro4 == 0 && marquei == 0) {
      if (*turnomaquina == 1)
        *tabuleiro4 = 1;
      else
        *tabuleiro4 = -1;
      marquei = 1;
    }
    if (*tabuleiro0 == 0 && marquei == 0) {
      if (*turnomaquina == 1)
        *tabuleiro0 = 1;
      else
        *tabuleiro0 = -1;
      marquei = 1;
    }
    if (*tabuleiro2 == 0 && marquei == 0) {
      if (*turnomaquina == 1)
        *tabuleiro2 = 1;
      else
        *tabuleiro2 = -1;
      marquei = 1;
    }
    if (*tabuleiro6 == 0 && marquei == 0) {
      if (*turnomaquina == 1)
        *tabuleiro6 = 1;
      else
        *tabuleiro6 = -1;
      marquei = 1;
    }
    if (*tabuleiro8 == 0 && marquei == 0) {
      if (*turnomaquina == 1)
        *tabuleiro8 = 1;
      else
        *tabuleiro8 = -1;
      marquei = 1;
    }
    if (*tabuleiro1 == 0 && marquei == 0) {
      if (*turnomaquina == 1)
        *tabuleiro1 = 1;
      else
        *tabuleiro1 = -1;
      marquei = 1;
    }
    if (*tabuleiro7 == 0 && marquei == 0) {
      if (*turnomaquina == 1)
        *tabuleiro7 = 1;
      else
        *tabuleiro7 = -1;
      marquei = 1;
    }
    if (*mododejogo == 2) {
      if (*turnomaquina == 1)
        *turnomaquina = -1;
      else
        *turnomaquina = 1;
    }
  }
}
```