user: What is the c source code of the assembly code below?

```asm
<main>:
  endbr64
  push   %r15
  xor    %eax,%eax
  mov    $0x1,%r15d
  push   %r14
  mov    $0x2112,%r14d
  push   %r13
  mov    $0x2190,%r13d
  push   %r12
  xor    %r12d,%r12d
  push   %rbp
  push   %rbx
  sub    $0x18,%rsp
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%ebp
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%ebx
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,0x4(%rsp)
  xor    %eax,%eax
  call   <__VERIFIER_nondet_long@plt>
  mov    %rax,0x8(%rsp)
L30:
  test   %r12d,%r12d
  mov    $0x2130,%eax
  cmove  %r15d,%r12d
  nopl   0x0(%rax)
L325:
  cmp    $0x2140,%eax
  jle    L310
L172:
  cmp    $0x2180,%eax
  je     L287
  jg     L119
  cmp    $0x2150,%eax
  je     L155
  jg     L105
  cmp    $0x2130,%eax
  je     L205
  cmp    $0x2140,%eax
  jne    L130
L155:
  mov    $0x2170,%eax
  cmp    $0xffffffff,%ebx
  je     L325
  cmp    $0xfffffffc,%ebx
  je     L339
  mov    0x4(%rsp),%edx
  mov    $0x2170,%eax
  test   %edx,%edx
  jne    L325
L339:
  cmpq   $0xffffffffffffff00,0x8(%rsp)
  je     L323
  mov    $0x2170,%eax
  cmp    $0xfffffffe,%ebx
  je     L325
L323:
  mov    $0x2180,%eax
  jmp    L325
  nopl   0x0(%rax,%rax,1)
L119:
  cmp    $0x21c0,%eax
  je     L80
  jle    L5
  cmp    $0x21d0,%eax
  jne    L53
  cmp    $0x2,%r12d
  mov    $0x3,%esi
  mov    $0x21e0,%eax
  cmove  %esi,%r12d
  cmp    $0x2140,%eax
  jg     L172
  nopl   0x0(%rax)
L310:
  cmp    $0x2,%r12d
  jle    L172
L78:
  xor    %eax,%eax
  call   <__VERIFIER_error@plt>
L173:
  add    $0x18,%rsp
  mov    $0xffffffff,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L130:
  cmp    $0x2112,%eax
  je     L30
L53:
  cmp    $0x4,%r12d
  je     L96
  cmp    $0x5,%r12d
  je     L78
L81:
  test   %ebp,%ebp
  jne    L306
  jmp    L173
  cs nopw 0x0(%rax,%rax,1)
L5:
  cmp    $0x2190,%eax
  je     L41
  cmp    $0x21a0,%eax
  jne    L53
L306:
  mov    $0x21c0,%eax
  jmp    L325
  nopl   0x0(%rax,%rax,1)
L105:
  cmp    $0x2160,%eax
  je     L155
  cmp    $0x2170,%eax
  jne    L53
L287:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  cmp    $0x2,%eax
  mov    %r13d,%eax
  cmove  %r14d,%eax
  jmp    L325
  nopl   0x0(%rax,%rax,1)
L41:
  mov    $0x21a0,%eax
  jmp    L325
  nopw   0x0(%rax,%rax,1)
L205:
  cmp    $0x1,%r12d
  mov    $0x2,%eax
  cmove  %eax,%r12d
  cmp    $0x1,%ebp
  sbb    %eax,%eax
  and    $0x70,%al
  add    $0x21d0,%eax
  jmp    L325
  xchg   %ax,%ax
L80:
  cmp    $0x3,%r12d
  mov    $0x4,%eax
  cmove  %eax,%r12d
  test   %ebp,%ebp
  jne    L173
  mov    $0x21d0,%eax
  jmp    L325
  nop
L96:
  mov    $0x5,%r12d
  jmp    L81
```

assistant: ```c
int main() {
  int s__state;
  int s__hit = __VERIFIER_nondet_int();
  int s__verify_mode = __VERIFIER_nondet_int();
  int s__session__peer = __VERIFIER_nondet_int();
  unsigned long s__s3__tmp__new_cipher__algorithms = __VERIFIER_nondet_long();
  int buf;
  int cb;
  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 == 8496) {
                  goto switch_1_8496;
                } else {
                  {
                    if (s__state == 8512) {
                      goto switch_1_8512;
                    } else {
                      {
                        if (s__state == 8528) {
                          goto switch_1_8528;
                        } else {
                          {
                            if (s__state == 8544) {
                              goto switch_1_8544;
                            } else {
                              {
                                if (s__state == 8560) {
                                  goto switch_1_8560;
                                } else {
                                  {
                                    if (s__state == 8576) {
                                      goto switch_1_8576;
                                    } else {
                                      {
                                        if (s__state == 8592) {
                                          goto switch_1_8592;
                                        } else {
                                          {
                                            if (s__state == 8608) {
                                              goto switch_1_8608;
                                            } else {
                                              {
                                                if (s__state == 8640) {
                                                  goto switch_1_8640;
                                                } else {
                                                  {
                                                    if (s__state == 8656) {
                                                      goto switch_1_8656;
                                                    } else {
                                                      {
                                                        if (s__state == 8672) {
                                                          goto switch_1_8672;
                                                        } else {
                                                          goto end;
                                                        switch_1_8466:
                                                          if (blastFlag == 0) {
                                                            blastFlag = 1;
                                                          }
                                                          s__state = 8496;
                                                          goto switch_1_break;
                                                        switch_1_8496:
                                                          if (blastFlag == 1) {
                                                            blastFlag = 2;
                                                          }
                                                          if (s__hit) {
                                                            s__state = 8656;
                                                          } else {
                                                            s__state = 8512;
                                                          }
                                                          goto switch_1_break;
                                                        switch_1_8512:
                                                          s__state = 8528;
                                                          goto switch_1_break;
                                                        switch_1_8528:
                                                          s__state = 8544;
                                                          goto switch_1_break;
                                                        switch_1_8544:
                                                          if (s__verify_mode + 1) {
                                                            if (s__session__peer != 0) {
                                                              if (s__verify_mode + 4) {
                                                                s__state = 8560;
                                                              } else {
                                                                goto _L___2;
                                                              }
                                                            } else {
                                                            _L___2:
                                                              if (s__s3__tmp__new_cipher__algorithms + 256UL) {
                                                                if (s__verify_mode + 2) {
                                                                  goto _L___1;
                                                                } else {
                                                                  s__state = 8560;
                                                                }
                                                              } else {
                                                              _L___1:
                                                                s__state = 8576;
                                                              }
                                                            }
                                                          } else {
                                                            s__state = 8560;
                                                          }
                                                          goto switch_1_break;
                                                        switch_1_8560:
                                                          s__state = 8576;
                                                          goto switch_1_break;
                                                        switch_1_8576:
                                                          tmp___1 = __VERIFIER_nondet_int();
                                                          if (tmp___1 == 2) {
                                                            s__state = 8466;
                                                          } else {
                                                            s__state = 8592;
                                                          }
                                                          goto switch_1_break;
                                                        switch_1_8592:
                                                          s__state = 8608;
                                                          goto switch_1_break;
                                                        switch_1_8608:
                                                          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;
                                                          }
                                                          s__state = 8672;
                                                          goto switch_1_break;
                                                        switch_1_8672:
                                                          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);
}
```