user: Translate the below assembly code into C programming language:

```asm
<main>:
  endbr64
  push   %r15
  xor    %eax,%eax
  mov    $0x1,%r15d
  push   %r14
  mov    $0x2112,%r14d
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x18,%rsp
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%r13d
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%ebx
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%r12d
  xor    %eax,%eax
  call   <__VERIFIER_nondet_long@plt>
  cmp    $0xfffffffc,%ebx
  setne  %bpl
  test   %r12d,%r12d
  setne  %dl
  and    %edx,%ebp
  cmp    $0xffffffffffffff00,%rax
  sete   %r12b
  cmp    $0xfffffffe,%ebx
  setne  %al
  or     %eax,%r12d
  mov    %r12b,0xf(%rsp)
  xor    %r12d,%r12d
  nopl   0x0(%rax)
L6:
  test   %r12d,%r12d
  mov    $0x2130,%eax
  cmove  %r15d,%r12d
  nopl   0x0(%rax)
L164:
  cmp    $0x2140,%eax
  jle    L15
L191:
  cmp    $0x2180,%eax
  je     L260
  jg     L148
  cmp    $0x2150,%eax
  je     L241
  jg     L193
  cmp    $0x2130,%eax
  je     L117
  cmp    $0x2140,%eax
  jne    L59
L241:
  mov    $0x2170,%eax
  cmp    $0xffffffff,%ebx
  je     L164
  test   %bpl,%bpl
  jne    L164
  cmpb   $0x1,0xf(%rsp)
  sbb    %eax,%eax
  and    $0xfffffff0,%eax
  add    $0x2180,%eax
  cmp    $0x2140,%eax
  jg     L191
  nopl   0x0(%rax)
L15:
  cmp    $0x2,%r12d
  jle    L191
L274:
  xor    %eax,%eax
  call   <__VERIFIER_error@plt>
L220:
  add    $0x18,%rsp
  mov    $0xffffffff,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopl   0x0(%rax)
L148:
  cmp    $0x21c0,%eax
  je     L173
  jle    L266
  cmp    $0x21d0,%eax
  jne    L190
  cmp    $0x2,%r12d
  mov    $0x3,%esi
  mov    $0x21e0,%eax
  cmove  %esi,%r12d
  jmp    L164
L59:
  cmp    $0x2112,%eax
  je     L6
  xchg   %ax,%ax
L190:
  cmp    $0x4,%r12d
  je     L205
  cmp    $0x5,%r12d
  je     L274
L127:
  test   %r13d,%r13d
  jne    L124
  jmp    L220
  nopw   0x0(%rax,%rax,1)
L266:
  cmp    $0x2190,%eax
  je     L133
  cmp    $0x21a0,%eax
  jne    L190
L124:
  mov    $0x21c0,%eax
  jmp    L164
  nopl   0x0(%rax,%rax,1)
L193:
  cmp    $0x2160,%eax
  je     L241
  cmp    $0x2170,%eax
  jne    L190
L260:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  cmp    $0x2,%eax
  mov    $0x2190,%eax
  cmove  %r14d,%eax
  jmp    L164
  nopw   0x0(%rax,%rax,1)
L133:
  mov    $0x21a0,%eax
  jmp    L164
  nopw   0x0(%rax,%rax,1)
L117:
  cmp    $0x1,%r12d
  mov    $0x2,%eax
  cmove  %eax,%r12d
  cmp    $0x1,%r13d
  sbb    %eax,%eax
  and    $0x70,%al
  add    $0x21d0,%eax
  jmp    L164
  nop
L173:
  cmp    $0x3,%r12d
  mov    $0x4,%eax
  cmove  %eax,%r12d
  test   %r13d,%r13d
  jne    L220
  mov    $0x21d0,%eax
  jmp    L164
L205:
  mov    $0x5,%r12d
  jmp    L127
```

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);
}
```