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

```asm
<ssl3_accept>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x130,%rsp
  mov    %edi,-0x124(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xe4(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xe0(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xdc(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xd8(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xd4(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xd0(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xcc(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xc8(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xc4(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xc0(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xbc(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0x10c(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0x108(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xb8(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xb4(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xb0(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xac(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xa8(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xa4(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xa0(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0x9c(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0x98(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0x94(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0x90(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_long@plt>
  mov    %rax,-0x48(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0x8c(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0x88(%rbp)
  mov    -0x124(%rbp),%eax
  mov    %eax,-0x114(%rbp)
  movl   $0x0,-0xe8(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %rax,-0x40(%rbp)
  mov    -0x40(%rbp),%rax
  mov    %rax,-0x38(%rbp)
  movl   $0x0,-0xfc(%rbp)
  movl   $0xffffffff,-0xf8(%rbp)
  movl   $0x0,-0xf4(%rbp)
  movl   $0x0,-0xf0(%rbp)
  cmpl   $0x0,-0xe4(%rbp)
  je     L1768
  mov    -0xe4(%rbp),%eax
  mov    %eax,-0xfc(%rbp)
  jmp    L1212
L1768:
  cmpl   $0x0,-0xbc(%rbp)
  je     L1212
  mov    -0xbc(%rbp),%eax
  mov    %eax,-0xfc(%rbp)
L1212:
  addl   $0x1,-0xe0(%rbp)
  cmpl   $0x0,-0xd0(%rbp)
  jne    L921
  mov    $0xffffffff,%eax
  jmp    L1330
L921:
  nop
  mov    -0x114(%rbp),%eax
  mov    %eax,-0x84(%rbp)
  cmpl   $0x3004,-0x114(%rbp)
  je     L1382
  cmpl   $0x4000,-0x114(%rbp)
  je     L30
  cmpl   $0x2000,-0x114(%rbp)
  je     L1433
  cmpl   $0x6000,-0x114(%rbp)
  je     L1101
  cmpl   $0x2003,-0x114(%rbp)
  je     L1181
  cmpl   $0x2120,-0x114(%rbp)
  je     L1785
  cmpl   $0x2121,-0x114(%rbp)
  je     L356
  cmpl   $0x2122,-0x114(%rbp)
  je     L1657
  cmpl   $0x2110,-0x114(%rbp)
  je     L1591
  cmpl   $0x2111,-0x114(%rbp)
  je     L504
  cmpl   $0x2112,-0x114(%rbp)
  je     L1427
  cmpl   $0x2130,-0x114(%rbp)
  je     L1717
  cmpl   $0x2131,-0x114(%rbp)
  je     L870
  cmpl   $0x2140,-0x114(%rbp)
  je     L137
  cmpl   $0x2141,-0x114(%rbp)
  je     L741
  cmpl   $0x2150,-0x114(%rbp)
  je     L1648
  cmpl   $0x2151,-0x114(%rbp)
  je     L1285
  cmpl   $0x2160,-0x114(%rbp)
  je     L1744
  cmpl   $0x2161,-0x114(%rbp)
  je     L1295
  cmpl   $0x2170,-0x114(%rbp)
  je     L695
  cmpl   $0x2171,-0x114(%rbp)
  je     L1466
  cmpl   $0x2100,-0x114(%rbp)
  je     L294
  cmpl   $0x2180,-0x114(%rbp)
  je     L487
  cmpl   $0x2181,-0x114(%rbp)
  je     L845
  cmpl   $0x2190,-0x114(%rbp)
  je     L981
  cmpl   $0x2191,-0x114(%rbp)
  je     L1698
  cmpl   $0x21a0,-0x114(%rbp)
  je     L1149
  cmpl   $0x21a1,-0x114(%rbp)
  je     L878
  cmpl   $0x21c0,-0x114(%rbp)
  je     L15
  cmpl   $0x21c1,-0x114(%rbp)
  je     L1237
  cmpl   $0x21d0,-0x114(%rbp)
  je     L714
  cmpl   $0x21d1,-0x114(%rbp)
  je     L79
  cmpl   $0x21e0,-0x114(%rbp)
  je     L1072
  cmpl   $0x21e1,-0x114(%rbp)
  je     L986
  cmpl   $0x3,-0x114(%rbp)
  jne    L632
  jmp    L979
L1382:
  nop
  movl   $0x1,-0x7c(%rbp)
  jmp    L1075
L30:
  nop
  jmp    L1075
L1433:
  nop
  jmp    L1075
L1101:
  nop
  jmp    L1075
L1181:
  nop
L1075:
  movl   $0x1,-0x64(%rbp)
  mov    -0xdc(%rbp),%eax
  shl    $0x3,%eax
  mov    %eax,-0x60(%rbp)
  cmpl   $0x3,-0x60(%rbp)
  je     L644
  mov    $0xffffffff,%eax
  jmp    L1330
L644:
  movl   $0x2000,-0x5c(%rbp)
  cmpl   $0x0,-0x110(%rbp)
  jne    L1057
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0x58(%rbp)
  cmpl   $0x0,-0x58(%rbp)
  jne    L351
  movl   $0xffffffff,-0xf8(%rbp)
  jmp    L1607
L351:
  cmpl   $0x0,-0x9c(%rbp)
  jne    L1615
  movl   $0xffffffff,-0xf8(%rbp)
  jmp    L1607
L1615:
  mov    -0x58(%rbp),%eax
  mov    %eax,-0x110(%rbp)
L1057:
  cmpl   $0x0,-0x98(%rbp)
  jne    L1143
  movl   $0xffffffff,-0xf8(%rbp)
  jmp    L1607
L1143:
  movl   $0x0,-0x80(%rbp)
  cmpl   $0x3004,-0x114(%rbp)
  je     L1494
  cmpl   $0x0,-0x94(%rbp)
  jne    L588
  movl   $0xffffffff,-0xf8(%rbp)
  jmp    L1607
L588:
  movl   $0x2110,-0x114(%rbp)
  addl   $0x1,-0x108(%rbp)
  jmp    L1415
L1494:
  addl   $0x1,-0x10c(%rbp)
  movl   $0x2120,-0x114(%rbp)
  jmp    L1415
L1785:
  nop
  jmp    L1579
L356:
  nop
L1579:
  movl   $0x0,-0x68(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x0,-0xf8(%rbp)
  jle    L971
  movl   $0x2122,-0x100(%rbp)
  movl   $0x2100,-0x114(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L1415
L1657:
  nop
  movl   $0x3,-0x114(%rbp)
  jmp    L1415
L1591:
  nop
  jmp    L1437
L504:
  nop
  jmp    L1437
L1427:
  nop
L1437:
  movl   $0x0,-0x68(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x0,-0xe8(%rbp)
  jne    L919
  movl   $0x1,-0xe8(%rbp)
L919:
  cmpl   $0x0,-0xf8(%rbp)
  jle    L917
  movl   $0x1,-0xf0(%rbp)
  movl   $0x2130,-0x114(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L1415
L1717:
  nop
  jmp    L4
L870:
  nop
L4:
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x1,-0xe8(%rbp)
  jne    L421
  movl   $0x2,-0xe8(%rbp)
L421:
  cmpl   $0x0,-0xf8(%rbp)
  jle    L1228
  cmpl   $0x0,-0xd8(%rbp)
  je     L830
  movl   $0x21d0,-0x114(%rbp)
  jmp    L1585
L830:
  movl   $0x2140,-0x114(%rbp)
L1585:
  movl   $0x0,-0x80(%rbp)
  jmp    L1415
L137:
  nop
  jmp    L1269
L741:
  nop
L1269:
  mov    -0xac(%rbp),%eax
  cltq
  mov    %rax,-0x8(%rbp)
  cmpq   $0xffffffffffffff00,-0x8(%rbp)
  je     L1751
  movl   $0x1,-0xf4(%rbp)
  jmp    L782
L1751:
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x2,-0xe8(%rbp)
  jne    L605
  movl   $0x6,-0xe8(%rbp)
L605:
  cmpl   $0x0,-0xf8(%rbp)
  jle    L312
L782:
  movl   $0x2150,-0x114(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L1415
L1648:
  nop
  jmp    L476
L1285:
  nop
L476:
  mov    -0xac(%rbp),%eax
  cltq
  mov    %rax,-0x28(%rbp)
  mov    -0xcc(%rbp),%eax
  cltq
  mov    %rax,-0x20(%rbp)
  cmpq   $0xffffffffffe00000,-0x20(%rbp)
  je     L74
  movl   $0x1,-0x104(%rbp)
  jmp    L1207
L74:
  movl   $0x0,-0x104(%rbp)
L1207:
  cmpl   $0x0,-0x104(%rbp)
  jne    L199
  cmpq   $0xffffffffffffffe2,-0x28(%rbp)
  jne    L289
  cmpq   $0xffffffffffffffff,-0x28(%rbp)
  je     L10
  cmpl   $0x0,-0xc0(%rbp)
  je     L307
  mov    -0xa8(%rbp),%eax
  cltq
  mov    %rax,-0x18(%rbp)
  cmpq   $0xfffffffffffffffe,-0x18(%rbp)
  je     L387
  mov    -0xa8(%rbp),%eax
  cltq
  mov    %rax,-0x10(%rbp)
  cmpq   $0xfffffffffffffffc,-0x10(%rbp)
  je     L1014
  movl   $0x200,-0xec(%rbp)
  jmp    L794
L1014:
  movl   $0x400,-0xec(%rbp)
L794:
  mov    -0x90(%rbp),%eax
  shl    $0x3,%eax
  mov    %eax,-0x6c(%rbp)
  mov    -0x6c(%rbp),%eax
  cmp    -0xec(%rbp),%eax
  jle    L1352
  jmp    L1652
L199:
  nop
  jmp    L1652
L289:
  nop
  jmp    L1652
L307:
  nop
L1652:
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x6,-0xe8(%rbp)
  jne    L1208
  movl   $0x7,-0xe8(%rbp)
L1208:
  cmpl   $0x0,-0xf8(%rbp)
  jg     L1322
  jmp    L1607
L1352:
  movl   $0x1,-0xf4(%rbp)
  jmp    L1322
L387:
  movl   $0x1,-0xf4(%rbp)
  jmp    L1322
L10:
  movl   $0x1,-0xf4(%rbp)
L1322:
  movl   $0x2160,-0x114(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L1415
L1744:
  nop
  jmp    L542
L1295:
  nop
L542:
  cmpl   $0xffffffff,-0xc8(%rbp)
  je     L607
  cmpl   $0x0,-0xc4(%rbp)
  je     L1440
  cmpl   $0xfffffffc,-0xc8(%rbp)
  je     L483
  movl   $0x1,-0xf4(%rbp)
  movl   $0x0,-0x70(%rbp)
  movl   $0x2170,-0x114(%rbp)
  jmp    L1415
L1440:
  nop
  jmp    L1461
L483:
  nop
L1461:
  mov    -0xac(%rbp),%eax
  cltq
  mov    %rax,-0x30(%rbp)
  cmpq   $0xffffffffffffff00,-0x30(%rbp)
  je     L1367
  cmpl   $0xfffffffe,-0xc8(%rbp)
  jne    L754
  movl   $0x1,-0xf4(%rbp)
  movl   $0x0,-0x70(%rbp)
  movl   $0x2170,-0x114(%rbp)
  jmp    L1415
L1367:
  nop
  jmp    L1293
L754:
  nop
L1293:
  movl   $0x1,-0x70(%rbp)
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x8,-0xe8(%rbp)
  je     L1405
  cmpl   $0x0,-0xf8(%rbp)
  jle    L657
  movl   $0x2100,-0x114(%rbp)
  movl   $0x2180,-0x100(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L1415
L607:
  movl   $0x1,-0xf4(%rbp)
  movl   $0x0,-0x70(%rbp)
  movl   $0x2170,-0x114(%rbp)
  jmp    L1415
L695:
  nop
  jmp    L1263
L1466:
  nop
L1263:
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x0,-0xf8(%rbp)
  jle    L1606
  movl   $0x2180,-0x100(%rbp)
  movl   $0x2100,-0x114(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L1415
L294:
  nop
  cmpq   $0x0,-0x50(%rbp)
  jle    L283
  movl   $0x2,-0x74(%rbp)
  mov    -0x48(%rbp),%rax
  mov    %rax,-0x50(%rbp)
  cmpq   $0x0,-0x50(%rbp)
  jg     L454
  movl   $0xffffffff,-0xf8(%rbp)
  jmp    L1607
L454:
  movl   $0x1,-0x74(%rbp)
L283:
  mov    -0x100(%rbp),%eax
  mov    %eax,-0x114(%rbp)
  jmp    L1415
L487:
  nop
  jmp    L247
L845:
  nop
L247:
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x0,-0xf8(%rbp)
  jle    L616
  cmpl   $0x2,-0xf8(%rbp)
  jne    L1417
  movl   $0x2112,-0x114(%rbp)
  jmp    L1415
L1417:
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x0,-0xf8(%rbp)
  jle    L1761
  movl   $0x0,-0x80(%rbp)
  movl   $0x2190,-0x114(%rbp)
  jmp    L1415
L981:
  nop
  jmp    L1351
L1698:
  nop
L1351:
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x0,-0xf8(%rbp)
  jle    L1328
  movl   $0x21a0,-0x114(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L1415
L1149:
  nop
  jmp    L886
L878:
  nop
L886:
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x0,-0xf8(%rbp)
  jle    L1690
  movl   $0x21c0,-0x114(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L1415
L15:
  nop
  jmp    L1243
L1237:
  nop
L1243:
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x5,-0xe8(%rbp)
  je     L747
  cmpl   $0x0,-0xf8(%rbp)
  jle    L1109
  cmpl   $0x0,-0xd8(%rbp)
  je     L333
  movl   $0x3,-0x114(%rbp)
  jmp    L1134
L333:
  movl   $0x21d0,-0x114(%rbp)
L1134:
  movl   $0x0,-0x80(%rbp)
  jmp    L1415
L714:
  nop
  jmp    L1355
L79:
  nop
L1355:
  mov    -0xb0(%rbp),%eax
  mov    %eax,-0x78(%rbp)
  cmpl   $0x0,-0x8c(%rbp)
  jne    L586
  movl   $0xffffffff,-0xf8(%rbp)
  jmp    L1607
L586:
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x2,-0xe8(%rbp)
  jne    L1281
  movl   $0x3,-0xe8(%rbp)
  jmp    L306
L1281:
  cmpl   $0x4,-0xe8(%rbp)
  jne    L546
  movl   $0x5,-0xe8(%rbp)
  jmp    L306
L546:
  cmpl   $0x7,-0xe8(%rbp)
  jne    L306
  movl   $0x8,-0xe8(%rbp)
L306:
  cmpl   $0x0,-0xf8(%rbp)
  jle    L868
  movl   $0x21e0,-0x114(%rbp)
  movl   $0x0,-0x80(%rbp)
  cmpl   $0x0,-0x88(%rbp)
  jne    L227
  movl   $0xffffffff,-0xf8(%rbp)
  jmp    L1607
L1072:
  nop
  jmp    L940
L986:
  nop
L940:
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x3,-0xe8(%rbp)
  jne    L1750
  movl   $0x4,-0xe8(%rbp)
L1750:
  cmpl   $0x0,-0xf8(%rbp)
  jle    L1776
  movl   $0x2100,-0x114(%rbp)
  cmpl   $0x0,-0xd8(%rbp)
  je     L1759
  movl   $0x21c0,-0x100(%rbp)
  jmp    L1206
L1759:
  movl   $0x3,-0x100(%rbp)
L1206:
  movl   $0x0,-0x80(%rbp)
  jmp    L1415
L979:
  movl   $0x0,-0x110(%rbp)
  movl   $0x0,-0x80(%rbp)
  cmpl   $0x0,-0xf0(%rbp)
  je     L54
  movl   $0x0,-0x7c(%rbp)
  addl   $0x1,-0xb8(%rbp)
L54:
  movl   $0x1,-0xf8(%rbp)
  jmp    L1607
L632:
  nop
  movl   $0xffffffff,-0xf8(%rbp)
  jmp    L1607
L227:
  nop
L1415:
  cmpl   $0x0,-0xb4(%rbp)
  jne    L95
  cmpl   $0x0,-0xf4(%rbp)
  jne    L95
  cmpl   $0x0,-0xd4(%rbp)
  je     L418
  mov    $0x0,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,-0xf8(%rbp)
  cmpl   $0x0,-0xf8(%rbp)
  jle    L368
L418:
  cmpl   $0x0,-0xfc(%rbp)
  je     L95
  mov    -0x114(%rbp),%eax
  cmp    -0x84(%rbp),%eax
  je     L95
  mov    -0x114(%rbp),%eax
  mov    %eax,-0x54(%rbp)
  mov    -0x84(%rbp),%eax
  mov    %eax,-0x114(%rbp)
  mov    -0x54(%rbp),%eax
  mov    %eax,-0x114(%rbp)
L95:
  movl   $0x0,-0xf4(%rbp)
  jmp    L921
L971:
  nop
  jmp    L1607
L917:
  nop
  jmp    L1607
L1228:
  nop
  jmp    L1607
L312:
  nop
  jmp    L1607
L657:
  nop
  jmp    L1607
L1606:
  nop
  jmp    L1607
L616:
  nop
  jmp    L1607
L1761:
  nop
  jmp    L1607
L1328:
  nop
  jmp    L1607
L1690:
  nop
  jmp    L1607
L1109:
  nop
  jmp    L1607
L868:
  nop
  jmp    L1607
L1776:
  nop
  jmp    L1607
L368:
  nop
L1607:
  subl   $0x1,-0xe0(%rbp)
  mov    -0xf8(%rbp),%eax
  jmp    L1330
L1405:
  nop
  jmp    L824
L747:
  nop
L824:
  mov    $0x0,%eax
  call   <__VERIFIER_error@plt>
  mov    $0xffffffff,%eax
L1330:
  leave
  ret
```

assistant: ```c
int ssl3_accept(int initial_state) {
  int s__info_callback = __VERIFIER_nondet_int();
  int s__in_handshake = __VERIFIER_nondet_int();
  int s__state;
  int s__new_session;
  int s__server;
  int s__version = __VERIFIER_nondet_int();
  int s__type;
  int s__init_num;
  int s__hit = __VERIFIER_nondet_int();
  int s__rwstate;
  int s__init_buf___0;
  int s__debug = __VERIFIER_nondet_int();
  int s__shutdown;
  int s__cert = __VERIFIER_nondet_int();
  int s__options = __VERIFIER_nondet_int();
  int s__verify_mode = __VERIFIER_nondet_int();
  int s__session__peer = __VERIFIER_nondet_int();
  int s__cert__pkeys__AT0__privatekey = __VERIFIER_nondet_int();
  int s__ctx__info_callback = __VERIFIER_nondet_int();
  int s__ctx__stats__sess_accept_renegotiate = __VERIFIER_nondet_int();
  int s__ctx__stats__sess_accept = __VERIFIER_nondet_int();
  int s__ctx__stats__sess_accept_good = __VERIFIER_nondet_int();
  int s__s3__tmp__cert_request;
  int s__s3__tmp__reuse_message = __VERIFIER_nondet_int();
  int s__s3__tmp__use_rsa_tmp;
  int s__s3__tmp__new_cipher = __VERIFIER_nondet_int();
  int s__s3__tmp__new_cipher__algorithms = __VERIFIER_nondet_int();
  int s__s3__tmp__next_state___0;
  int s__s3__tmp__new_cipher__algo_strength = __VERIFIER_nondet_int();
  int s__session__cipher;
  int buf;
  unsigned long l;
  unsigned long Time;
  unsigned long tmp;
  int cb;
  long num1;
  int ret;
  int new_state;
  int state;
  int skip;
  int got_new_session;
  int tmp___1 = __VERIFIER_nondet_int();
  int tmp___2 = __VERIFIER_nondet_int();
  int tmp___3 = __VERIFIER_nondet_int();
  int tmp___4 = __VERIFIER_nondet_int();
  int tmp___5 = __VERIFIER_nondet_int();
  int tmp___6 = __VERIFIER_nondet_int();
  int tmp___7;
  long tmp___8 = __VERIFIER_nondet_long();
  int tmp___9 = __VERIFIER_nondet_int();
  int tmp___10 = __VERIFIER_nondet_int();
  int blastFlag;
  int __cil_tmp55;
  unsigned long __cil_tmp56;
  unsigned long __cil_tmp57;
  unsigned long __cil_tmp58;
  unsigned long __cil_tmp59;
  int __cil_tmp60;
  unsigned long __cil_tmp61;
  {
    ;
    s__state = initial_state;
    blastFlag = 0;
    tmp = __VERIFIER_nondet_int();
    Time = tmp;
    cb = 0;
    ret = -1;
    skip = 0;
    got_new_session = 0;
    if (s__info_callback != 0) {
      cb = s__info_callback;
    } else {
      if (s__ctx__info_callback != 0) {
        cb = s__ctx__info_callback;
      }
    }
    s__in_handshake++;
    if (tmp___1 + 12288) {
      if (tmp___2 + 16384) {
      }
    }
    if (s__cert == 0) {
      return (-1);
    }
    {
      while (1) {
      while_0_continue:;
        state = s__state;
        if (s__state == 12292) {
          goto switch_1_12292;
        } else {
          if (s__state == 16384) {
            goto switch_1_16384;
          } else {
            if (s__state == 8192) {
              goto switch_1_8192;
            } else {
              if (s__state == 24576) {
                goto switch_1_24576;
              } else {
                if (s__state == 8195) {
                  goto switch_1_8195;
                } else {
                  if (s__state == 8480) {
                    goto switch_1_8480;
                  } else {
                    if (s__state == 8481) {
                      goto switch_1_8481;
                    } else {
                      if (s__state == 8482) {
                        goto switch_1_8482;
                      } else {
                        if (s__state == 8464) {
                          goto switch_1_8464;
                        } else {
                          if (s__state == 8465) {
                            goto switch_1_8465;
                          } else {
                            if (s__state == 8466) {
                              goto switch_1_8466;
                            } else {
                              if (s__state == 8496) {
                                goto switch_1_8496;
                              } else {
                                if (s__state == 8497) {
                                  goto switch_1_8497;
                                } else {
                                  if (s__state == 8512) {
                                    goto switch_1_8512;
                                  } else {
                                    if (s__state == 8513) {
                                      goto switch_1_8513;
                                    } else {
                                      if (s__state == 8528) {
                                        goto switch_1_8528;
                                      } else {
                                        if (s__state == 8529) {
                                          goto switch_1_8529;
                                        } else {
                                          if (s__state == 8544) {
                                            goto switch_1_8544;
                                          } else {
                                            if (s__state == 8545) {
                                              goto switch_1_8545;
                                            } else {
                                              if (s__state == 8560) {
                                                goto switch_1_8560;
                                              } else {
                                                if (s__state == 8561) {
                                                  goto switch_1_8561;
                                                } else {
                                                  if (s__state == 8448) {
                                                    goto switch_1_8448;
                                                  } else {
                                                    if (s__state == 8576) {
                                                      goto switch_1_8576;
                                                    } else {
                                                      if (s__state == 8577) {
                                                        goto switch_1_8577;
                                                      } else {
                                                        if (s__state == 8592) {
                                                          goto switch_1_8592;
                                                        } else {
                                                          if (s__state == 8593) {
                                                            goto switch_1_8593;
                                                          } else {
                                                            if (s__state == 8608) {
                                                              goto switch_1_8608;
                                                            } else {
                                                              if (s__state == 8609) {
                                                                goto switch_1_8609;
                                                              } else {
                                                                if (s__state == 8640) {
                                                                  goto switch_1_8640;
                                                                } else {
                                                                  if (s__state == 8641) {
                                                                    goto switch_1_8641;
                                                                  } else {
                                                                    if (s__state == 8656) {
                                                                      goto switch_1_8656;
                                                                    } else {
                                                                      if (s__state == 8657) {
                                                                        goto switch_1_8657;
                                                                      } else {
                                                                        if (s__state == 8672) {
                                                                          goto switch_1_8672;
                                                                        } else {
                                                                          if (s__state == 8673) {
                                                                            goto switch_1_8673;
                                                                          } else {
                                                                            if (s__state == 3) {
                                                                              goto switch_1_3;
                                                                            } else {
                                                                              goto switch_1_default;
                                                                              if (0) {
                                                                              switch_1_12292:
                                                                                s__new_session = 1;
                                                                              switch_1_16384:;
                                                                              switch_1_8192:;
                                                                              switch_1_24576:;
                                                                              switch_1_8195:
                                                                                s__server = 1;
                                                                                if (cb != 0) {
                                                                                }
                                                                                {
                                                                                  __cil_tmp55 = s__version * 8;
                                                                                  if (__cil_tmp55 != 3) {
                                                                                    return (-1);
                                                                                  }
                                                                                }
                                                                                s__type = 8192;
                                                                                if (s__init_buf___0 == 0) {
                                                                                  buf = __VERIFIER_nondet_int();
                                                                                  if (buf == 0) {
                                                                                    ret = -1;
                                                                                    goto end;
                                                                                  }
                                                                                  if (!tmp___3) {
                                                                                    ret = -1;
                                                                                    goto end;
                                                                                  }
                                                                                  s__init_buf___0 = buf;
                                                                                }
                                                                                if (!tmp___4) {
                                                                                  ret = -1;
                                                                                  goto end;
                                                                                }
                                                                                s__init_num = 0;
                                                                                if (s__state != 12292) {
                                                                                  if (!tmp___5) {
                                                                                    ret = -1;
                                                                                    goto end;
                                                                                  }
                                                                                  s__state = 8464;
                                                                                  s__ctx__stats__sess_accept++;
                                                                                } else {
                                                                                  s__ctx__stats__sess_accept_renegotiate++;
                                                                                  s__state = 8480;
                                                                                }
                                                                                goto switch_1_break;
                                                                              switch_1_8480:;
                                                                              switch_1_8481:
                                                                                s__shutdown = 0;
                                                                                ret = __VERIFIER_nondet_int();
                                                                                if (ret <= 0) {
                                                                                  goto end;
                                                                                }
                                                                                s__s3__tmp__next_state___0 = 8482;
                                                                                s__state = 8448;
                                                                                s__init_num = 0;
                                                                                goto switch_1_break;
                                                                              switch_1_8482:
                                                                                s__state = 3;
                                                                                goto switch_1_break;
                                                                              switch_1_8464:;
                                                                              switch_1_8465:;
                                                                              switch_1_8466:
                                                                                s__shutdown = 0;
                                                                                ret = __VERIFIER_nondet_int();
                                                                                if (blastFlag == 0) {
                                                                                  blastFlag = 1;
                                                                                }
                                                                                if (ret <= 0) {
                                                                                  goto end;
                                                                                }
                                                                                got_new_session = 1;
                                                                                s__state = 8496;
                                                                                s__init_num = 0;
                                                                                goto switch_1_break;
                                                                              switch_1_8496:;
                                                                              switch_1_8497:
                                                                                ret = __VERIFIER_nondet_int();
                                                                                if (blastFlag == 1) {
                                                                                  blastFlag = 2;
                                                                                }
                                                                                if (ret <= 0) {
                                                                                  goto end;
                                                                                }
                                                                                if (s__hit) {
                                                                                  s__state = 8656;
                                                                                } else {
                                                                                  s__state = 8512;
                                                                                }
                                                                                s__init_num = 0;
                                                                                goto switch_1_break;
                                                                              switch_1_8512:;
                                                                              switch_1_8513:;
                                                                                {
                                                                                  __cil_tmp56 = (unsigned long)s__s3__tmp__new_cipher__algorithms;
                                                                                  if (__cil_tmp56 + 256UL) {
                                                                                    skip = 1;
                                                                                  } else {
                                                                                    ret = __VERIFIER_nondet_int();
                                                                                    if (blastFlag == 2) {
                                                                                      blastFlag = 6;
                                                                                    }
                                                                                    if (ret <= 0) {
                                                                                      goto end;
                                                                                    }
                                                                                  }
                                                                                }
                                                                                s__state = 8528;
                                                                                s__init_num = 0;
                                                                                goto switch_1_break;
                                                                              switch_1_8528:;
                                                                              switch_1_8529:
                                                                                l = (unsigned long)s__s3__tmp__new_cipher__algorithms;
                                                                                {
                                                                                  __cil_tmp57 = (unsigned long)s__options;
                                                                                  if (__cil_tmp57 + 2097152UL) {
                                                                                    s__s3__tmp__use_rsa_tmp = 1;
                                                                                  } else {
                                                                                    s__s3__tmp__use_rsa_tmp = 0;
                                                                                  }
                                                                                }
                                                                                if (s__s3__tmp__use_rsa_tmp) {
                                                                                  goto _L___0;
                                                                                } else {
                                                                                  if (l + 30UL) {
                                                                                    goto _L___0;
                                                                                  } else {
                                                                                    if (l + 1UL) {
                                                                                      if (s__cert__pkeys__AT0__privatekey == 0) {
                                                                                        goto _L___0;
                                                                                      } else {
                                                                                        {
                                                                                          __cil_tmp58 = (unsigned long)s__s3__tmp__new_cipher__algo_strength;
                                                                                          if (__cil_tmp58 + 2UL) {
                                                                                            {
                                                                                              __cil_tmp59 = (unsigned long)s__s3__tmp__new_cipher__algo_strength;
                                                                                              if (__cil_tmp59 + 4UL) {
                                                                                                tmp___7 = 512;
                                                                                              } else {
                                                                                                tmp___7 = 1024;
                                                                                              }
                                                                                            }
                                                                                            {
                                                                                              __cil_tmp60 = tmp___6 * 8;
                                                                                              if (__cil_tmp60 > tmp___7) {
                                                                                              _L___0:
                                                                                                ret = __VERIFIER_nondet_int();
                                                                                                if (blastFlag == 6) {
                                                                                                  blastFlag = 7;
                                                                                                }
                                                                                                if (ret <= 0) {
                                                                                                  goto end;
                                                                                                }
                                                                                              } else {
                                                                                                skip = 1;
                                                                                              }
                                                                                            }
                                                                                          } else {
                                                                                            skip = 1;
                                                                                          }
                                                                                        }
                                                                                      }
                                                                                    } else {
                                                                                      skip = 1;
                                                                                    }
                                                                                  }
                                                                                }
                                                                                s__state = 8544;
                                                                                s__init_num = 0;
                                                                                goto switch_1_break;
                                                                              switch_1_8544:;
                                                                              switch_1_8545:;
                                                                                if (s__verify_mode + 1) {
                                                                                  if (s__session__peer != 0) {
                                                                                    if (s__verify_mode + 4) {
                                                                                      skip = 1;
                                                                                      s__s3__tmp__cert_request = 0;
                                                                                      s__state = 8560;
                                                                                    } else {
                                                                                      goto _L___2;
                                                                                    }
                                                                                  } else {
                                                                                  _L___2 : {
                                                                                    __cil_tmp61 = (unsigned long)s__s3__tmp__new_cipher__algorithms;
                                                                                    if (__cil_tmp61 + 256UL) {
                                                                                      if (s__verify_mode + 2) {
                                                                                        goto _L___1;
                                                                                      } else {
                                                                                        skip = 1;
                                                                                        s__s3__tmp__cert_request = 0;
                                                                                        s__state = 8560;
                                                                                      }
                                                                                    } else {
                                                                                    _L___1:
                                                                                      s__s3__tmp__cert_request = 1;
                                                                                      ret = __VERIFIER_nondet_int();
                                                                                      if (blastFlag == 8) {
                                                                                        goto ERROR;
                                                                                      }
                                                                                      if (ret <= 0) {
                                                                                        goto end;
                                                                                      }
                                                                                      s__state = 8448;
                                                                                      s__s3__tmp__next_state___0 = 8576;
                                                                                      s__init_num = 0;
                                                                                    }
                                                                                  }
                                                                                  }
                                                                                } else {
                                                                                  skip = 1;
                                                                                  s__s3__tmp__cert_request = 0;
                                                                                  s__state = 8560;
                                                                                }
                                                                                goto switch_1_break;
                                                                              switch_1_8560:;
                                                                              switch_1_8561:
                                                                                ret = __VERIFIER_nondet_int();
                                                                                if (ret <= 0) {
                                                                                  goto end;
                                                                                }
                                                                                s__s3__tmp__next_state___0 = 8576;
                                                                                s__state = 8448;
                                                                                s__init_num = 0;
                                                                                goto switch_1_break;
                                                                              switch_1_8448:
                                                                                if (num1 > 0L) {
                                                                                  s__rwstate = 2;
                                                                                  num1 = tmp___8;
                                                                                  if (num1 <= 0L) {
                                                                                    ret = -1;
                                                                                    goto end;
                                                                                  }
                                                                                  s__rwstate = 1;
                                                                                }
                                                                                s__state = s__s3__tmp__next_state___0;
                                                                                goto switch_1_break;
                                                                              switch_1_8576:;
                                                                              switch_1_8577:
                                                                                ret = __VERIFIER_nondet_int();
                                                                                if (ret <= 0) {
                                                                                  goto end;
                                                                                }
                                                                                if (ret == 2) {
                                                                                  s__state = 8466;
                                                                                } else {
                                                                                  ret = __VERIFIER_nondet_int();
                                                                                  if (ret <= 0) {
                                                                                    goto end;
                                                                                  }
                                                                                  s__init_num = 0;
                                                                                  s__state = 8592;
                                                                                }
                                                                                goto switch_1_break;
                                                                              switch_1_8592:;
                                                                              switch_1_8593:
                                                                                ret = __VERIFIER_nondet_int();
                                                                                if (ret <= 0) {
                                                                                  goto end;
                                                                                }
                                                                                s__state = 8608;
                                                                                s__init_num = 0;
                                                                                goto switch_1_break;
                                                                              switch_1_8608:;
                                                                              switch_1_8609:
                                                                                ret = __VERIFIER_nondet_int();
                                                                                if (ret <= 0) {
                                                                                  goto end;
                                                                                }
                                                                                s__state = 8640;
                                                                                s__init_num = 0;
                                                                                goto switch_1_break;
                                                                              switch_1_8640:;
                                                                              switch_1_8641:
                                                                                ret = __VERIFIER_nondet_int();
                                                                                if (blastFlag == 5) {
                                                                                  goto ERROR;
                                                                                }
                                                                                if (ret <= 0) {
                                                                                  goto end;
                                                                                }
                                                                                if (s__hit) {
                                                                                  s__state = 3;
                                                                                } else {
                                                                                  s__state = 8656;
                                                                                }
                                                                                s__init_num = 0;
                                                                                goto switch_1_break;
                                                                              switch_1_8656:;
                                                                              switch_1_8657:
                                                                                s__session__cipher = s__s3__tmp__new_cipher;
                                                                                if (!tmp___9) {
                                                                                  ret = -1;
                                                                                  goto end;
                                                                                }
                                                                                ret = __VERIFIER_nondet_int();
                                                                                if (blastFlag == 2) {
                                                                                  blastFlag = 3;
                                                                                } else {
                                                                                  if (blastFlag == 4) {
                                                                                    blastFlag = 5;
                                                                                  } else {
                                                                                    if (blastFlag == 7) {
                                                                                      blastFlag = 8;
                                                                                    }
                                                                                  }
                                                                                }
                                                                                if (ret <= 0) {
                                                                                  goto end;
                                                                                }
                                                                                s__state = 8672;
                                                                                s__init_num = 0;
                                                                                if (!tmp___10) {
                                                                                  ret = -1;
                                                                                  goto end;
                                                                                }
                                                                                goto switch_1_break;
                                                                              switch_1_8672:;
                                                                              switch_1_8673:
                                                                                ret = __VERIFIER_nondet_int();
                                                                                if (blastFlag == 3) {
                                                                                  blastFlag = 4;
                                                                                }
                                                                                if (ret <= 0) {
                                                                                  goto end;
                                                                                }
                                                                                s__state = 8448;
                                                                                if (s__hit) {
                                                                                  s__s3__tmp__next_state___0 = 8640;
                                                                                } else {
                                                                                  s__s3__tmp__next_state___0 = 3;
                                                                                }
                                                                                s__init_num = 0;
                                                                                goto switch_1_break;
                                                                              switch_1_3:
                                                                                s__init_buf___0 = 0;
                                                                                s__init_num = 0;
                                                                                if (got_new_session) {
                                                                                  s__new_session = 0;
                                                                                  s__ctx__stats__sess_accept_good++;
                                                                                  if (cb != 0) {
                                                                                  }
                                                                                }
                                                                                ret = 1;
                                                                                goto end;
                                                                              switch_1_default:
                                                                                ret = -1;
                                                                                goto end;
                                                                              } else {
                                                                              switch_1_break:;
                                                                              }
                                                                            }
                                                                          }
                                                                        }
                                                                      }
                                                                    }
                                                                  }
                                                                }
                                                              }
                                                            }
                                                          }
                                                        }
                                                      }
                                                    }
                                                  }
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
        if (!s__s3__tmp__reuse_message) {
          if (!skip) {
            if (s__debug) {
              ret = __VERIFIER_nondet_int();
              if (ret <= 0) {
                goto end;
              }
            }
            if (cb != 0) {
              if (s__state != state) {
                new_state = s__state;
                s__state = state;
                s__state = new_state;
              }
            }
          }
        }
        skip = 0;
      }
    while_0_break:;
    }
  end:
    s__in_handshake--;
    if (cb != 0) {
    }
    return (ret);
  ERROR:
    __VERIFIER_error();
    return (-1);
  }
}
```