user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<ssl3_accept>:
  endbr64
  push   %r15
  xor    %eax,%eax
  mov    %edi,%r15d
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x48,%rsp
  call   <__VERIFIER_nondet_int@plt>
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%r12d
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%ebp
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %rax,%r14
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,0x18(%rsp)
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%r13d
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,0x1c(%rsp)
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,0x28(%rsp)
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  xor    %eax,%eax
  call   <__VERIFIER_nondet_long@plt>
  mov    %rax,0x10(%rsp)
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %rax,%rbx
  xor    %eax,%eax
  call   <__VERIFIER_nondet_long@plt>
  mov    %rax,0x20(%rsp)
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,0x8(%rsp)
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,0xc(%rsp)
  xor    %eax,%eax
  call   <__VERIFIER_nondet_ulong@plt>
  mov    %rax,(%rsp)
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %r14d,%r14d
  je     L1362
  cmp    $0x3004,%r15d
  je     L1362
  lea    0x0(,%rbx,8),%eax
  lea    D9(%rip),%r14
  xor    %ebx,%ebx
  mov    %eax,0x2c(%rsp)
L731:
  cmp    $0x21e1,%r15d
  jg     L560
  cmp    $0x210f,%r15d
  jle    L1504
  lea    -0x2110(%r15),%eax
  cmp    $0xd1,%eax
  ja     L1362
  movslq (%r14,%rax,4),%rax
  add    %r14,%rax
  notrack jmp *%rax
  xchg   %ax,%ax
L1504:
  cmp    $0x2003,%r15d
  je     L1362
  cmp    $0x2100,%r15d
  je     L206
  cmp    $0x2000,%r15d
  jne    L578
L1362:
  mov    $0xffffffff,%eax
L1419:
  add    $0x48,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopw   0x0(%rax,%rax,1)
L560:
  mov    %r15d,%edx
  mov    $0xffffffff,%eax
  and    $0xdf,%dh
  cmp    $0x4000,%edx
  jne    L1362
  add    $0x48,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  cmp    $0x5,%ebx
  je     L815
  test   %eax,%eax
  jle    L1179
  cmp    $0x2,%eax
  mov    $0x0,%eax
  jne    L968
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  je     L170
L383:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %ebx,%ebx
  mov    %eax,%edx
  mov    $0x1,%eax
  cmove  %eax,%ebx
L732:
  test   %edx,%edx
  jle    L1179
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  jne    L162
  test   %ebp,%ebp
  jne    L1525
L162:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  cmp    $0x1,%ebx
  mov    $0x2,%ecx
  cmove  %ecx,%ebx
  mov    %eax,%edx
  test   %eax,%eax
  jle    L1179
  test   %r12d,%r12d
  jne    L313
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  jne    L1063
  test   %ebp,%ebp
  jne    L1004
L1063:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  cmp    $0xffffff00,%eax
  mov    $0x0,%eax
  je     L954
  call   <__VERIFIER_nondet_int@plt>
L258:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  cmp    $0xffffffe2,%eax
  jne    L476
  cmpl   $0xffe00000,0x18(%rsp)
  jne    L476
  mov    0x28(%rsp),%esi
  test   %esi,%esi
  jne    L534
  nopl   0x0(%rax,%rax,1)
L476:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  cmp    $0x3,%ebx
  mov    $0x4,%ecx
  cmove  %ecx,%ebx
  mov    %eax,%edx
  test   %eax,%eax
  jle    L1179
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  je     L1008
L696:
  xor    %eax,%eax
  cmp    $0xffffffff,%r13d
  je     L886
  cmp    $0xfffffffc,%r13d
  je     L151
  mov    0x1c(%rsp),%ecx
  test   %ecx,%ecx
  je     L151
  call   <__VERIFIER_nondet_int@plt>
  mov    $0x7b,%r13d
  mov    $0x2170,%r15d
L1325:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jle    L1179
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  jne    L757
  cmp    $0x2170,%r15d
  jne    L4
  cmpq   $0x233d,(%rsp)
  mov    $0xfffffffe,%ecx
  setne  %al
  cmp    %rcx,0x30(%rsp)
  setne  %dl
  and    %edx,%eax
  cmp    $0x4,%ebx
  setne  %dl
  and    %edx,%eax
  cmpl   $0x400,0x3c(%rsp)
  setne  %dl
  test   %dl,%al
  je     L4
  cmp    $0xfffffffe,%r13d
  jb     L911
L4:
  movl   $0x2180,0x38(%rsp)
  test   %ebp,%ebp
  je     L206
  xor    %eax,%eax
  jmp    L1162
  nopl   0x0(%rax)
L968:
  call   <__VERIFIER_nondet_int@plt>
  cmp    $0x6,%ebx
  mov    %eax,%edx
  mov    $0x7,%eax
  cmove  %eax,%ebx
L1204:
  test   %edx,%edx
  jle    L1179
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  jne    L275
  test   %ebp,%ebp
  jne    L870
L275:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  cmp    $0x7,%ebx
  mov    $0x8,%ecx
  cmove  %ecx,%ebx
  mov    %eax,%edx
  test   %eax,%eax
  jle    L1179
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  je     L926
L1192:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  cmp    $0x8,%ebx
  mov    $0x9,%ecx
  cmove  %ecx,%ebx
  mov    %eax,%edx
  test   %eax,%eax
  jle    L1179
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  je     L305
L133:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  cmp    $0x9,%ebx
  je     L881
  cmp    $0xc,%ebx
  je     L1094
  cmp    $0xf,%ebx
  je     L645
  cmp    $0x12,%ebx
  je     L56
  cmp    $0x15,%ebx
  je     L911
  nopl   0x0(%rax)
L1477:
  test   %eax,%eax
  jle    L1179
  test   %r12d,%r12d
  jne    L1445
L313:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  je     L182
L409:
  mov    0x8(%rsp),%edx
  test   %edx,%edx
  je     L1362
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  cmp    $0xa,%ebx
  je     L228
  cmp    $0xd,%ebx
  je     L1257
  cmp    $0x10,%ebx
  je     L961
  cmp    $0x13,%ebx
  mov    $0x14,%ecx
  cmove  %ecx,%ebx
L894:
  test   %eax,%eax
  jle    L1179
  mov    0xc(%rsp),%eax
  test   %eax,%eax
  je     L1362
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  jne    L369
  test   %ebp,%ebp
  jne    L952
  nopw   0x0(%rax,%rax,1)
L369:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  cmp    $0xb,%ebx
  je     L442
  cmp    $0xe,%ebx
  je     L1049
  cmp    $0x11,%ebx
  je     L1091
  cmp    $0x14,%ebx
  mov    $0x15,%ecx
  cmove  %ecx,%ebx
L405:
  test   %eax,%eax
  jle    L1179
  xor    %eax,%eax
  test   %r12d,%r12d
  jne    L155
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  jne    L1413
  test   %ebp,%ebp
  jne    L772
L1413:
  cmpq   $0x0,0x10(%rsp)
  movl   $0x3,0x38(%rsp)
  jle    L416
L240:
  mov    0x20(%rsp),%rax
  test   %rax,%rax
  jle    L1362
  mov    %rax,0x10(%rsp)
L416:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  je     L84
L480:
  mov    0x38(%rsp),%r15d
  jmp    L731
  nopw   0x0(%rax,%rax,1)
L151:
  call   <__VERIFIER_nondet_int@plt>
  movslq %eax,%rsi
  mov    %rsi,(%rsp)
  cmp    $0xffffff00,%eax
  je     L1263
  cmp    $0xfffffffe,%r13d
  je     L306
  movq   $0x233d,(%rsp)
  mov    $0x7c,%r13d
L1263:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  cmp    $0x4,%ebx
  mov    $0x5,%ecx
  cmove  %ecx,%ebx
  mov    %eax,%edx
  test   %eax,%eax
  jle    L1179
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  je     L676
L757:
  movl   $0x2180,0x38(%rsp)
  nopw   0x0(%rax,%rax,1)
L206:
  cmpq   $0x0,0x10(%rsp)
  jg     L240
  jmp    L416
  nopl   0x0(%rax)
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jle    L1179
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  movl   $0x2122,0x38(%rsp)
  test   %eax,%eax
  jne    L206
  test   %ebp,%ebp
  je     L206
L1162:
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L206
  nopw   0x0(%rax,%rax,1)
L1179:
  mov    %edx,%eax
  jmp    L1419
  nopw   0x0(%rax,%rax,1)
L1445:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  jne    L29
  test   %ebp,%ebp
  jne    L100
L29:
  add    $0x48,%rsp
  mov    $0x1,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopw   0x0(%rax,%rax,1)
L926:
  test   %ebp,%ebp
  je     L1192
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L1192
  mov    %edx,%eax
  jmp    L1419
L305:
  test   %ebp,%ebp
  je     L133
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L133
  jmp    L1179
  nopl   0x0(%rax,%rax,1)
L182:
  test   %ebp,%ebp
  je     L409
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L409
  mov    %edx,%eax
  jmp    L1419
L1008:
  test   %ebp,%ebp
  je     L696
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L696
  mov    %edx,%eax
  jmp    L1419
L1525:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L162
  mov    %edx,%eax
  jmp    L1419
  nopl   0x0(%rax,%rax,1)
L1094:
  mov    $0xd,%ebx
  jmp    L1477
  nopw   0x0(%rax,%rax,1)
L1049:
  mov    $0xf,%ebx
  jmp    L405
  nopw   0x0(%rax,%rax,1)
L1257:
  mov    $0xe,%ebx
  jmp    L894
  nopw   0x0(%rax,%rax,1)
L155:
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  jne    L1456
  test   %ebp,%ebp
  jne    L94
  nopl   0x0(%rax)
L1456:
  movl   $0x21c0,0x38(%rsp)
  jmp    L206
  nopl   (%rax)
L815:
  test   %eax,%eax
  jle    L1179
  cmp    $0x2,%eax
  mov    $0x0,%eax
  je     L1441
  call   <__VERIFIER_nondet_int@plt>
  mov    $0x7,%ebx
  mov    %eax,%edx
  jmp    L1204
  nop
L881:
  mov    $0xa,%ebx
  jmp    L1477
  nopw   0x0(%rax,%rax,1)
L442:
  mov    $0xc,%ebx
  jmp    L405
  nopw   0x0(%rax,%rax,1)
L228:
  mov    $0xb,%ebx
  jmp    L894
  nopw   0x0(%rax,%rax,1)
L954:
  call   <__VERIFIER_nondet_int@plt>
  cmp    $0x2,%ebx
  mov    $0x3,%esi
  cmove  %esi,%ebx
  mov    %eax,%edx
  test   %eax,%eax
  jle    L1179
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  jne    L258
  test   %ebp,%ebp
  je     L258
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L258
  mov    %edx,%eax
  jmp    L1419
  nopl   0x0(%rax)
L886:
  call   <__VERIFIER_nondet_int@plt>
  mov    $0x2170,%r15d
  jmp    L1325
L676:
  test   %ebp,%ebp
  je     L757
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L757
  mov    %edx,%eax
  jmp    L1419
L534:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  movslq %eax,%rsi
  cmp    $0xfffffffe,%eax
  mov    $0x0,%eax
  mov    %rsi,0x30(%rsp)
  je     L680
  call   <__VERIFIER_nondet_int@plt>
  mov    $0x200,%edx
  cmp    $0xfffffffc,%eax
  mov    $0x400,%eax
  cmovne %edx,%eax
  mov    %eax,0x3c(%rsp)
  cmp    0x2c(%rsp),%eax
  jge    L626
  movl   $0x64,0x28(%rsp)
  jmp    L476
L170:
  test   %ebp,%ebp
  je     L383
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L383
  mov    %edx,%eax
  jmp    L1419
  nopl   (%rax)
L870:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L275
  mov    %edx,%eax
  jmp    L1419
  nopl   0x0(%rax,%rax,1)
L1004:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L1063
  mov    %edx,%eax
  jmp    L1419
  nopl   0x0(%rax,%rax,1)
L100:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  jg     L29
  jmp    L1419
  nopl   0x0(%rax)
L645:
  mov    $0x10,%ebx
  jmp    L1477
L1091:
  mov    $0x12,%ebx
  jmp    L405
L961:
  mov    $0x11,%ebx
  jmp    L894
L84:
  test   %ebp,%ebp
  je     L480
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L480
  mov    %edx,%eax
  jmp    L1419
  cs nopw 0x0(%rax,%rax,1)
L306:
  xor    %eax,%eax
  mov    $0x2170,%r15d
  call   <__VERIFIER_nondet_int@plt>
  movq   $0x233d,(%rsp)
  jmp    L1325
L1441:
  call   <__VERIFIER_nondet_int@plt>
  test   %eax,%eax
  je     L1482
  xor    %eax,%eax
  mov    $0x6,%ebx
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  jmp    L732
L56:
  mov    $0x13,%ebx
  jmp    L1477
L772:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L1413
  mov    %edx,%eax
  jmp    L1419
  nopl   0x0(%rax,%rax,1)
L680:
  call   <__VERIFIER_nondet_int@plt>
  movl   $0x64,0x28(%rsp)
  jmp    L696
L1482:
  test   %ebp,%ebp
  jne    L253
L425:
  mov    $0x6,%ebx
  jmp    L383
L626:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  movl   $0x64,0x28(%rsp)
  jmp    L696
L911:
  xor    %eax,%eax
  call   <__VERIFIER_error@plt>
  mov    $0xffffffff,%eax
  jmp    L1419
L952:
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L369
  mov    %edx,%eax
  jmp    L1419
L94:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L1456
  jmp    L1179
L578:
  cmp    $0x3,%r15d
  jne    L1362
  jmp    L29
L253:
  xor    %eax,%eax
  call   <__VERIFIER_nondet_int@plt>
  mov    %eax,%edx
  test   %eax,%eax
  jg     L425
  mov    %edx,%eax
  jmp    L1419
```

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;
  int s__s3__tmp__use_rsa_tmp;
  int s__s3__tmp__new_cipher = __VERIFIER_nondet_int();
  int s__s3__tmp__new_cipher__algorithms;
  int s__s3__tmp__next_state___0;
  int s__s3__tmp__new_cipher__algo_strength;
  int s__session__cipher;
  int buf;
  unsigned long l;
  unsigned long Time;
  unsigned long tmp;
  int cb;
  long num1 = __VERIFIER_nondet_long();
  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 = __VERIFIER_nondet_ulong();
  {
    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:;
                                                                                {
                                                                                  s__s3__tmp__new_cipher__algorithms = __VERIFIER_nondet_int();
                                                                                  __cil_tmp56 = (unsigned long)s__s3__tmp__new_cipher__algorithms;
                                                                                  if (__cil_tmp56 + 256UL) {
                                                                                    __cil_tmp56 = 256345;
                                                                                    skip = 1;
                                                                                  } else {
                                                                                    ret = __VERIFIER_nondet_int();
                                                                                    if (blastFlag == 2) {
                                                                                      blastFlag = 3;
                                                                                    }
                                                                                    if (ret <= 0) {
                                                                                      goto end;
                                                                                    }
                                                                                  }
                                                                                }
                                                                                s__state = 8528;
                                                                                s__init_num = 0;
                                                                                goto switch_1_break;
                                                                              switch_1_8528:;
                                                                              switch_1_8529:
                                                                                s__s3__tmp__new_cipher__algorithms = __VERIFIER_nondet_int();
                                                                                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 {
                                                                                        {
                                                                                          s__cert__pkeys__AT0__privatekey = 100;
                                                                                          s__s3__tmp__new_cipher__algo_strength = __VERIFIER_nondet_int();
                                                                                          __cil_tmp58 = (unsigned long)s__s3__tmp__new_cipher__algo_strength;
                                                                                          if (__cil_tmp58 + 2UL) {
                                                                                            {
                                                                                              s__s3__tmp__new_cipher__algo_strength = __VERIFIER_nondet_int();
                                                                                              __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 == 3) {
                                                                                                  blastFlag = 4;
                                                                                                }
                                                                                                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) {
                                                                                      s__verify_mode = 123;
                                                                                      skip = 1;
                                                                                      s__s3__tmp__cert_request = 0;
                                                                                      s__state = 8560;
                                                                                    } else {
                                                                                      goto _L___2;
                                                                                    }
                                                                                  } else {
                                                                                  _L___2 : {
                                                                                    s__s3__tmp__new_cipher__algorithms = __VERIFIER_nondet_int();
                                                                                    __cil_tmp61 = (unsigned long)s__s3__tmp__new_cipher__algorithms;
                                                                                    if (__cil_tmp61 + 256UL) {
                                                                                      __cil_tmp61 = 9021;
                                                                                      if (s__verify_mode + 2) {
                                                                                        s__verify_mode = 124;
                                                                                        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 == 4) {
                                                                                        blastFlag = 5;
                                                                                      }
                                                                                      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 (blastFlag == 5) {
                                                                                  blastFlag = 6;
                                                                                }
                                                                                if (ret <= 0) {
                                                                                  goto end;
                                                                                }
                                                                                if (ret == 2) {
                                                                                  s__state = 8466;
                                                                                } else {
                                                                                  ret = __VERIFIER_nondet_int();
                                                                                  if (blastFlag == 6) {
                                                                                    blastFlag = 7;
                                                                                  }
                                                                                  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 (blastFlag == 7) {
                                                                                  blastFlag = 8;
                                                                                }
                                                                                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 (blastFlag == 8) {
                                                                                  blastFlag = 9;
                                                                                }
                                                                                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 == 9) {
                                                                                  blastFlag = 10;
                                                                                } else {
                                                                                  if (blastFlag == 12) {
                                                                                    blastFlag = 13;
                                                                                  } else {
                                                                                    if (blastFlag == 15) {
                                                                                      blastFlag = 16;
                                                                                    } else {
                                                                                      if (blastFlag == 18) {
                                                                                        blastFlag = 19;
                                                                                      } else {
                                                                                        if (blastFlag == 21) {
                                                                                          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 == 10) {
                                                                                  blastFlag = 11;
                                                                                } else {
                                                                                  if (blastFlag == 13) {
                                                                                    blastFlag = 14;
                                                                                  } else {
                                                                                    if (blastFlag == 16) {
                                                                                      blastFlag = 17;
                                                                                    } else {
                                                                                      if (blastFlag == 19) {
                                                                                        blastFlag = 20;
                                                                                      }
                                                                                    }
                                                                                  }
                                                                                }
                                                                                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 == 11) {
                                                                                  blastFlag = 12;
                                                                                } else {
                                                                                  if (blastFlag == 14) {
                                                                                    blastFlag = 15;
                                                                                  } else {
                                                                                    if (blastFlag == 17) {
                                                                                      blastFlag = 18;
                                                                                    } else {
                                                                                      if (blastFlag == 20) {
                                                                                        blastFlag = 21;
                                                                                      }
                                                                                    }
                                                                                  }
                                                                                }
                                                                                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:;
                                                                              }
                                                                            }
                                                                          }
                                                                        }
                                                                      }
                                                                    }
                                                                  }
                                                                }
                                                              }
                                                            }
                                                          }
                                                        }
                                                      }
                                                    }
                                                  }
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
        s__s3__tmp__reuse_message = __VERIFIER_nondet_int();
        if (!s__s3__tmp__reuse_message) {
          if (!skip) {
            if (state == 8560) {
              if (s__state == 8448) {
                if (s__verify_mode != -1) {
                  if (s__verify_mode != -2) {
                    if (__cil_tmp61 != 9021) {
                      if (__cil_tmp58 != 4294967294) {
                        if (blastFlag != 4) {
                          if (tmp___7 != 1024) {
                            goto ERROR;
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
            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);
  }
}
```