user: 请从给定的汇编指令推导出C源代码:

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0x8(%rbp)
  movl   $0x2112,-0x10(%rbp)
  movl   $0x0,-0xc(%rbp)
L77:
  cmpl   $0x2140,-0x10(%rbp)
  jg     L122
  cmpl   $0x2,-0xc(%rbp)
  jg     L62
L122:
  cmpl   $0x2112,-0x10(%rbp)
  je     L115
  cmpl   $0x2140,-0x10(%rbp)
  je     L260
  cmpl   $0x21c0,-0x10(%rbp)
  je     L22
  cmpl   $0x21d0,-0x10(%rbp)
  jne    L35
  jmp    L171
L115:
  nop
  cmpl   $0x0,-0xc(%rbp)
  jne    L80
  movl   $0x2,-0xc(%rbp)
L80:
  cmpl   $0x0,-0x8(%rbp)
  je     L148
  movl   $0x21d0,-0x10(%rbp)
  jmp    L40
L148:
  movl   $0x2140,-0x10(%rbp)
  jmp    L40
L260:
  nop
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0x4(%rbp)
  cmpl   $0x0,-0x4(%rbp)
  je     L241
  movl   $0x2112,-0x10(%rbp)
  jmp    L40
L241:
  movl   $0x21c0,-0x10(%rbp)
  jmp    L40
L22:
  nop
  cmpl   $0x3,-0xc(%rbp)
  jne    L79
  movl   $0x4,-0xc(%rbp)
L79:
  cmpl   $0x0,-0x8(%rbp)
  jne    L156
  movl   $0x21d0,-0x10(%rbp)
  jmp    L40
L171:
  cmpl   $0x2,-0xc(%rbp)
  jne    L71
  movl   $0x3,-0xc(%rbp)
L71:
  cmpl   $0x4,-0xc(%rbp)
  jne    L263
  movl   $0x5,-0xc(%rbp)
  jmp    L184
L263:
  cmpl   $0x5,-0xc(%rbp)
  je     L27
L184:
  cmpl   $0x0,-0x8(%rbp)
  je     L189
  movl   $0x21c0,-0x10(%rbp)
  nop
L40:
  jmp    L77
L35:
  nop
  jmp    L93
L156:
  nop
  jmp    L93
L189:
  nop
L93:
  mov    $0xffffffff,%eax
  jmp    L61
L62:
  nop
  jmp    L18
L27:
  nop
L18:
  mov    $0x0,%eax
  call   <__VERIFIER_error@plt>
  mov    $0xffffffff,%eax
L61:
  leave
  ret
```

assistant: ```c
int main() {
  int s__state;
  int s__hit = __VERIFIER_nondet_int();
  int blastFlag;
  int tmp___1;
  s__state = 8466;
  blastFlag = 0;
  while (1) {
    if (s__state <= 8512 && blastFlag > 2) {
      goto ERROR;
    }
    {
      {
        {
          {
            {
              if (s__state == 8466) {
                goto switch_1_8466;
              } else {
                {
                  {
                    if (s__state == 8512) {
                      goto switch_1_8512;
                    } else {
                      {
                        {
                          {
                            {
                              {
                                {
                                  {
                                    {
                                      {
                                        {
                                          {
                                            {
                                              {
                                                if (s__state == 8640) {
                                                  goto switch_1_8640;
                                                } else {
                                                  {
                                                    if (s__state == 8656) {
                                                      goto switch_1_8656;
                                                    } else {
                                                      {
                                                        {
                                                          goto end;
                                                        switch_1_8466:
                                                          if (blastFlag == 0) {
                                                            blastFlag = 2;
                                                          }
                                                          if (s__hit) {
                                                            s__state = 8656;
                                                          } else {
                                                            s__state = 8512;
                                                          }
                                                          goto switch_1_break;
                                                        switch_1_8512:
                                                          tmp___1 = __VERIFIER_nondet_int();
                                                          if (tmp___1) {
                                                            s__state = 8466;
                                                          } else {
                                                            s__state = 8640;
                                                          }
                                                          goto switch_1_break;
                                                        switch_1_8640:
                                                          if (blastFlag == 3) {
                                                            blastFlag = 4;
                                                          }
                                                          if (s__hit) {
                                                            goto end;
                                                          } else {
                                                            s__state = 8656;
                                                          }
                                                          goto switch_1_break;
                                                        switch_1_8656:
                                                          if (blastFlag == 2) {
                                                            blastFlag = 3;
                                                          }
                                                          if (blastFlag == 4) {
                                                            blastFlag = 5;
                                                          } else {
                                                            if (blastFlag == 5) {
                                                              goto ERROR;
                                                            }
                                                          }
                                                          if (s__hit) {
                                                            s__state = 8640;
                                                          } else {
                                                            goto end;
                                                          }
                                                          goto switch_1_break;
                                                        }
                                                      }
                                                    }
                                                  }
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  switch_1_break:;
  }
end:
  return (-1);
ERROR:
  __VERIFIER_error();
  return (-1);
}
```