// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/tests/../include/lois.h
// Function: lois::lsetof<lois::lpair<lois::term, lois::term>>::insert(lois::lpair<lois::term, lois::term>, std::shared_ptr<lois::Context>, std::shared_ptr<lois::Context>)
void lsetof<T>::insert(T a, contextptr ain, contextptr nowenv) {

  if(debuglois) std::cout << ido << "insert " << a << ieol << "  ENV " << emptycontext << ieol << "  AIN "<< ain << std::endl;
  autoindenter i1;
  
  varlist selvar;
  rbool selphi = ftrue;
  
  varlist to_quantify;
  
  contextptr ainlocal = nowenv;  

  contextptr nowenv2 = nowenv;  

  while(ainlocal != ain) {
    nowenv2 = ainlocal;
    if(!ainlocal) throw env_exception();
    rbool aphi = ainlocal->phi;
    selphi = selphi && aphi;
    for(auto w: ainlocal->var) 
      if(isused(w, selphi) || isused(w, a)) {
        term w1 = valueKnown(selphi, w, false);
        if(debuglois) std::cout << ido << "checking variable: " << w << std::endl;
        
        if(w1.p) {
          if(debuglois) std::cout << ido << "value known to be " << w1 << std::endl;
          if(debuglois) std::cout << "sub selphi\n";
          selphi = substitute(selphi, w, w1);
          if(debuglois) std::cout << "selphi = " << selphi << std::endl;
          if(debuglois) std::cout << "sub a::\n";
          if(debuglois) std::cout << "a = " << a << std::endl;
          in_substitution = true;
          a = substitute(a, w, w1);
          in_substitution = false;
          if(debuglois) std::cout << "a = " << a << std::endl;
          }
        else if(isused(w, a)) {
          if(debuglois) std::cout << ido << "value of " << w << " not known, added to selvar" << std::endl;
          selvar.push_back(w);
          }
        else {
          if(debuglois) std::cout << ido << "value of " << w << " not known, added to to_quantify" << std::endl;
          to_quantify.push_back(w);
          }
        }
    ainlocal = ainlocal->parent;
    }
  
  nowenv = nowenv2;
  if(to_quantify.size()) {
    if(debuglois) std::cout << ido << "phi (1) = " << selphi << std::endl;
    if(debuglois) for(vptr v: to_quantify) std::cout << ido << "quantifier to add: " << v << std::endl;
    selphi = makequantifier(false, selphi, to_quantify);
    if(debuglois) std::cout << ido << "phi (2) = " << selphi << std::endl;
    }
#ifdef AGGSYM
  aggressive_simplify(selvar, selphi, a, ain);
#endif

  if(debuglois) {
    for(vptr v: selvar) 
    std::cout << ido << "| selvar = " << v << std::endl;
    std::cout << ido << "| selphi = " << selphi << std::endl;
    std::cout << ido << "| a      = " << a << std::endl;
    }

  elts.emplace_back(std::make_shared<SimpleSetOf<T>>(selvar, selphi, a));
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2e8, %rsp            # imm = 0x2E8
movq %rcx, 0x88(%rsp)
movq %rdx, 0x68(%rsp)
movq %rsi, %r14
movq %rdi, 0x208(%rsp)
leaq 0x32206(%rip), %rax     # 0x53b90
cmpb $0x1, (%rax)
jne 0x21b7e
leaq 0x318ce(%rip), %rax     # 0x53268
movq (%rax), %rsi
movq 0x3162c(%rip), %rdi     # 0x52fd0
callq 0x3b148
movq %rax, %rbx
leaq 0x1e785(%rip), %rsi     # 0x40138
movl $0x7, %edx
movq %rax, %rdi
callq 0x72c0
movq (%r14), %rax
movq %rax, 0x2b0(%rsp)
movq 0x8(%r14), %rax
movq %rax, 0x2b8(%rsp)
testq %rax, %rax
je 0x219f1
movq 0x315e5(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x219ed
incl 0x8(%rax)
jmp 0x219f1
lock
incl 0x8(%rax)
movq 0x10(%r14), %rax
movq %rax, 0x2c0(%rsp)
movq 0x18(%r14), %rax
movq %rax, 0x2c8(%rsp)
testq %rax, %rax
je 0x21a23
movq 0x315b3(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x21a1f
incl 0x8(%rax)
jmp 0x21a23
lock
incl 0x8(%rax)
leaq 0x2b0(%rsp), %rsi
movq %rbx, %rdi
callq 0x23168
leaq 0x31836(%rip), %r15     # 0x53270
movq (%r15), %rsi
movq %rax, %rdi
callq 0x3b148
movq %rax, %rbx
leaq 0x1e6f1(%rip), %rsi     # 0x40140
movl $0x6, %edx
movq %rax, %rdi
callq 0x72c0
leaq 0x31cfd(%rip), %rax     # 0x53760
movq (%rax), %rcx
movq 0x8(%rax), %rax
movq %rcx, 0x1f8(%rsp)
movq %rax, 0x200(%rsp)
testq %rax, %rax
je 0x21a94
movq 0x31542(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x21a90
incl 0x8(%rax)
jmp 0x21a94
lock
incl 0x8(%rax)
leaq 0x1f8(%rsp), %rsi
movq %rbx, %rdi
callq 0x160cc
movq (%r15), %rsi
movq %rax, %rdi
callq 0x3b148
movq %rax, %rbx
leaq 0x1e68e(%rip), %rsi     # 0x40147
movl $0x6, %edx
movq %rax, %rdi
callq 0x72c0
movq 0x68(%rsp), %rcx
movq (%rcx), %rax
movq %rax, 0x1e8(%rsp)
movq 0x8(%rcx), %rax
movq %rax, 0x1f0(%rsp)
testq %rax, %rax
je 0x21afc
movq 0x314da(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x21af8
incl 0x8(%rax)
jmp 0x21afc
lock
incl 0x8(%rax)
leaq 0x1e8(%rsp), %rsi
movq %rbx, %rdi
callq 0x160cc
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0x1f0(%rsp), %rdi
testq %rdi, %rdi
je 0x21b48
callq 0x13308
movq 0x200(%rsp), %rdi
testq %rdi, %rdi
je 0x21b5a
callq 0x13308
movq 0x2c8(%rsp), %rdi
testq %rdi, %rdi
je 0x21b6c
callq 0x13308
movq 0x2b8(%rsp), %rdi
testq %rdi, %rdi
je 0x21b7e
callq 0x13308
leaq 0x31d5b(%rip), %rax     # 0x538e0
addl $0x2, (%rax)
xorps %xmm0, %xmm0
movaps %xmm0, 0xa0(%rsp)
movq $0x0, 0xb0(%rsp)
leaq 0x31c0a(%rip), %rax     # 0x537b0
movq (%rax), %rcx
movq 0x8(%rax), %rax
movq %rcx, 0x8(%rsp)
movq %rax, 0x10(%rsp)
testq %rax, %rax
je 0x21bd1
movq 0x31405(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x21bcd
incl 0x8(%rax)
jmp 0x21bd1
lock
incl 0x8(%rax)
movaps %xmm0, 0x70(%rsp)
movq $0x0, 0x80(%rsp)
movq 0x88(%rsp), %rcx
movq (%rcx), %rax
movq %rax, 0x58(%rsp)
movq 0x8(%rcx), %rax
movq %rax, 0x60(%rsp)
testq %rax, %rax
je 0x21c15
movq 0x313c1(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x21c11
incl 0x8(%rax)
jmp 0x21c15
lock
incl 0x8(%rax)
movq 0x88(%rsp), %rcx
movq (%rcx), %rax
movq %rax, 0x90(%rsp)
movq 0x8(%rcx), %rax
movq %rax, 0x98(%rsp)
testq %rax, %rax
je 0x21c4e
movq 0x31388(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x21c4a
incl 0x8(%rax)
jmp 0x21c4e
lock
incl 0x8(%rax)
movq 0x58(%rsp), %rax
movq 0x68(%rsp), %rcx
cmpq (%rcx), %rax
je 0x22830
leaq 0x60(%rsp), %rbx
movq 0x3135b(%rip), %r15     # 0x52fc8
movq %rax, 0x90(%rsp)
leaq 0x98(%rsp), %rdi
movq %rbx, %rsi
callq 0x16086
movq 0x58(%rsp), %rcx
testq %rcx, %rcx
je 0x22eb0
movq 0x10(%rcx), %rax
movq 0x18(%rcx), %rcx
movq %rcx, 0x28(%rsp)
testq %rcx, %rcx
je 0x21cbe
cmpb $0x0, (%r15)
je 0x21cb5
movq 0x28(%rsp), %rcx
incl 0x8(%rcx)
jmp 0x21cbe
movq 0x28(%rsp), %rcx
lock
incl 0x8(%rcx)
movq 0x8(%rsp), %rdx
movq 0x10(%rsp), %rcx
movq %rdx, 0x1d8(%rsp)
movq %rcx, 0x1e0(%rsp)
testq %rcx, %rcx
je 0x21cec
cmpb $0x0, (%r15)
je 0x21ce8
incl 0x8(%rcx)
jmp 0x21cec
lock
incl 0x8(%rcx)
movq %rax, 0x1c8(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x1d0(%rsp)
testq %rax, %rax
je 0x21d1f
cmpb $0x0, (%r15)
je 0x21d16
movq 0x28(%rsp), %rax
incl 0x8(%rax)
jmp 0x21d1f
movq 0x28(%rsp), %rax
lock
incl 0x8(%rax)
leaq 0x30(%rsp), %rdi
leaq 0x1d8(%rsp), %rsi
leaq 0x1c8(%rsp), %rdx
callq 0x2b0ed
movaps 0x30(%rsp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, 0x30(%rsp)
movq 0x10(%rsp), %rdi
movups %xmm0, 0x8(%rsp)
testq %rdi, %rdi
je 0x21d5a
callq 0x13308
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x21d69
callq 0x13308
movq 0x1d0(%rsp), %rdi
testq %rdi, %rdi
je 0x21d7b
callq 0x13308
movq 0x1e0(%rsp), %rdi
testq %rdi, %rdi
je 0x21d8d
callq 0x13308
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rbx
movq 0x28(%rax), %r12
cmpq %r12, %rbx
je 0x227f0
movq (%rbx), %rax
movq %rax, 0x18(%rsp)
movq 0x8(%rbx), %rax
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0x21dc8
cmpb $0x0, (%r15)
je 0x21dc4
incl 0x8(%rax)
jmp 0x21dc8
lock
incl 0x8(%rax)
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x1b8(%rsp)
movq %rax, 0x1c0(%rsp)
testq %rax, %rax
je 0x21df6
cmpb $0x0, (%r15)
je 0x21df2
incl 0x8(%rax)
jmp 0x21df6
lock
incl 0x8(%rax)
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x1a8(%rsp)
movq %rax, 0x1b0(%rsp)
testq %rax, %rax
je 0x21e24
cmpb $0x0, (%r15)
je 0x21e20
incl 0x8(%rax)
jmp 0x21e24
lock
incl 0x8(%rax)
leaq 0x1b8(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x29657
movl %eax, %r13d
movb $0x1, %bpl
testb %al, %al
jne 0x21ee3
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x198(%rsp)
movq %rax, 0x1a0(%rsp)
testq %rax, %rax
je 0x21e75
cmpb $0x0, (%r15)
je 0x21e71
incl 0x8(%rax)
jmp 0x21e75
lock
incl 0x8(%rax)
movq (%r14), %rax
movq %rax, 0x290(%rsp)
movq 0x8(%r14), %rax
movq %rax, 0x298(%rsp)
testq %rax, %rax
je 0x21ea0
cmpb $0x0, (%r15)
je 0x21e9c
incl 0x8(%rax)
jmp 0x21ea0
lock
incl 0x8(%rax)
movq 0x10(%r14), %rax
movq %rax, 0x2a0(%rsp)
movq 0x18(%r14), %rax
movq %rax, 0x2a8(%rsp)
testq %rax, %rax
je 0x21ecc
cmpb $0x0, (%r15)
je 0x21ec8
incl 0x8(%rax)
jmp 0x21ecc
lock
incl 0x8(%rax)
leaq 0x198(%rsp), %rdi
leaq 0x290(%rsp), %rsi
callq 0x23205
movl %eax, %ebp
testb %r13b, %r13b
jne 0x21f1e
movq 0x2a8(%rsp), %rdi
testq %rdi, %rdi
je 0x21efa
callq 0x13308
movq 0x298(%rsp), %rdi
testq %rdi, %rdi
je 0x21f0c
callq 0x13308
movq 0x1a0(%rsp), %rdi
testq %rdi, %rdi
je 0x21f1e
callq 0x13308
movq 0x1b0(%rsp), %rdi
testq %rdi, %rdi
je 0x21f30
callq 0x13308
movq 0x1c0(%rsp), %rdi
testq %rdi, %rdi
je 0x21f42
callq 0x13308
testb %bpl, %bpl
je 0x227d8
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x188(%rsp)
movq %rax, 0x190(%rsp)
testq %rax, %rax
je 0x21f79
cmpb $0x0, (%r15)
je 0x21f75
incl 0x8(%rax)
jmp 0x21f79
lock
incl 0x8(%rax)
leaq 0xb8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x188(%rsp), %rdx
xorl %ecx, %ecx
callq 0x2d181
movq 0x190(%rsp), %rdi
testq %rdi, %rdi
je 0x21fa7
callq 0x13308
leaq 0x31be2(%rip), %rax     # 0x53b90
cmpb $0x1, (%rax)
jne 0x2205e
leaq 0x312aa(%rip), %rax     # 0x53268
movq (%rax), %rsi
movq 0x31008(%rip), %rdi     # 0x52fd0
callq 0x3b148
movq %rax, %r13
movl $0x13, %edx
movq %rax, %rdi
leaq 0x1e16f(%rip), %rsi     # 0x4014e
callq 0x72c0
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x178(%rsp)
movq %rax, 0x180(%rsp)
testq %rax, %rax
je 0x22012
cmpb $0x0, (%r15)
je 0x2200e
incl 0x8(%rax)
jmp 0x22012
lock
incl 0x8(%rax)
movq %r13, %rdi
leaq 0x178(%rsp), %rsi
callq 0x2a0f7
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %r13, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0x180(%rsp), %rdi
testq %rdi, %rdi
je 0x2205e
callq 0x13308
cmpq $0x0, 0xb8(%rsp)
je 0x220be
leaq 0x31b20(%rip), %rax     # 0x53b90
cmpb $0x1, (%rax)
jne 0x2212f
leaq 0x311e8(%rip), %rax     # 0x53268
movq (%rax), %rsi
movq 0x30f46(%rip), %rdi     # 0x52fd0
callq 0x3b148
movq %rax, %r13
movl $0x12, %edx
movq %rax, %rdi
leaq 0x1e0c1(%rip), %rsi     # 0x40162
callq 0x72c0
movq 0xb8(%rsp), %rdi
testq %rdi, %rdi
je 0x220f3
movq (%rdi), %rax
movq %r13, %rsi
callq *0x10(%rax)
jmp 0x22107
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x138(%rsp)
movq %rax, 0x140(%rsp)
testq %rax, %rax
je 0x22243
cmpb $0x0, (%r15)
je 0x2223f
incl 0x8(%rax)
jmp 0x22243
movl $0xb, %edx
movq %r13, %rdi
leaq 0x1dff1(%rip), %rsi     # 0x400f3
callq 0x72c0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %r13, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
leaq 0x31a5a(%rip), %rax     # 0x53b90
cmpb $0x1, (%rax)
jne 0x22153
movl $0xb, %edx
movq 0x30e89(%rip), %rdi     # 0x52fd0
leaq 0x1e027(%rip), %rsi     # 0x40175
callq 0x72c0
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x168(%rsp)
movq %rax, 0x170(%rsp)
testq %rax, %rax
je 0x22181
cmpb $0x0, (%r15)
je 0x2217d
incl 0x8(%rax)
jmp 0x22181
lock
incl 0x8(%rax)
leaq 0x30(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x168(%rsp), %rdx
leaq 0xb8(%rsp), %rcx
callq 0x1618d
movaps 0x30(%rsp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, 0x30(%rsp)
movq 0x10(%rsp), %rdi
movups %xmm0, 0x8(%rsp)
testq %rdi, %rdi
je 0x221c1
callq 0x13308
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x221d0
callq 0x13308
movq 0x170(%rsp), %rdi
testq %rdi, %rdi
je 0x221e2
callq 0x13308
leaq 0x319a7(%rip), %rax     # 0x53b90
cmpb $0x1, (%rax)
jne 0x2242a
movl $0x9, %edx
movq 0x30dd2(%rip), %rdi     # 0x52fd0
leaq 0x1e009(%rip), %rsi     # 0x4020e
callq 0x72c0
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x158(%rsp)
movq %rax, 0x160(%rsp)
testq %rax, %rax
je 0x223da
cmpb $0x0, (%r15)
je 0x223d6
incl 0x8(%rax)
jmp 0x223da
lock
incl 0x8(%rax)
movq (%r14), %rax
movq %rax, 0x230(%rsp)
movq 0x8(%r14), %rax
movq %rax, 0x238(%rsp)
testq %rax, %rax
je 0x2226e
cmpb $0x0, (%r15)
je 0x2226a
incl 0x8(%rax)
jmp 0x2226e
lock
incl 0x8(%rax)
movq 0x10(%r14), %rax
movq %rax, 0x240(%rsp)
movq 0x18(%r14), %rax
movq %rax, 0x248(%rsp)
testq %rax, %rax
je 0x2229a
cmpb $0x0, (%r15)
je 0x22296
incl 0x8(%rax)
jmp 0x2229a
lock
incl 0x8(%rax)
leaq 0x138(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0x23205
movl %eax, %ebp
movq 0x248(%rsp), %rdi
testq %rdi, %rdi
je 0x222c3
callq 0x13308
movq 0x238(%rsp), %rdi
testq %rdi, %rdi
je 0x222d5
callq 0x13308
movq 0x140(%rsp), %rdi
testq %rdi, %rdi
je 0x222e7
callq 0x13308
leaq 0x318a2(%rip), %rax     # 0x53b90
movb (%rax), %al
testb %bpl, %bpl
je 0x22367
leaq 0xa0(%rsp), %r13
testb %al, %al
je 0x227b9
leaq 0x30f5c(%rip), %rax     # 0x53268
movq (%rax), %rsi
movq 0x30cba(%rip), %rdi     # 0x52fd0
callq 0x3b148
movq %rax, %r13
movl $0x9, %edx
movq %rax, %rdi
leaq 0x1de62(%rip), %rsi     # 0x4018f
callq 0x72c0
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x128(%rsp)
movq %rax, 0x130(%rsp)
testq %rax, %rax
je 0x226ee
cmpb $0x0, (%r15)
je 0x226ea
incl 0x8(%rax)
jmp 0x226ee
leaq 0x70(%rsp), %r13
testb %al, %al
je 0x227b9
leaq 0x30eed(%rip), %rax     # 0x53268
movq (%rax), %rsi
movq 0x30c4b(%rip), %rdi     # 0x52fd0
callq 0x3b148
movq %rax, %r13
movl $0x9, %edx
movq %rax, %rdi
leaq 0x1ddf3(%rip), %rsi     # 0x4018f
callq 0x72c0
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x118(%rsp)
movq %rax, 0x120(%rsp)
testq %rax, %rax
je 0x22753
cmpb $0x0, (%r15)
je 0x2274f
incl 0x8(%rax)
jmp 0x22753
lock
incl 0x8(%rax)
movq 0x30bef(%rip), %rdi     # 0x52fd0
leaq 0x158(%rsp), %rsi
callq 0x29634
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %r13, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0x160(%rsp), %rdi
testq %rdi, %rdi
je 0x2242a
callq 0x13308
leaq 0x3175f(%rip), %rax     # 0x53b90
cmpb $0x1, (%rax)
jne 0x2244e
movl $0x8, %edx
movq 0x30b8e(%rip), %rdi     # 0x52fd0
leaq 0x1dd38(%rip), %rsi     # 0x40181
callq 0x72c0
leaq 0x3173b(%rip), %rax     # 0x53b90
cmpb $0x1, (%rax)
jne 0x2252f
movl $0x4, %edx
movq 0x30b66(%rip), %rdi     # 0x52fd0
leaq 0x1dd19(%rip), %rsi     # 0x4018a
callq 0x72c0
movq (%r14), %rax
movq %rax, 0x270(%rsp)
movq 0x8(%r14), %rax
movq %rax, 0x278(%rsp)
testq %rax, %rax
je 0x224a1
cmpb $0x0, (%r15)
je 0x2249d
incl 0x8(%rax)
jmp 0x224a1
lock
incl 0x8(%rax)
movq 0x10(%r14), %rax
movq %rax, 0x280(%rsp)
movq 0x18(%r14), %rax
movq %rax, 0x288(%rsp)
testq %rax, %rax
je 0x224cd
cmpb $0x0, (%r15)
je 0x224c9
incl 0x8(%rax)
jmp 0x224cd
lock
incl 0x8(%rax)
movq 0x30afc(%rip), %rdi     # 0x52fd0
leaq 0x270(%rsp), %rsi
callq 0x23168
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %r13, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0x288(%rsp), %rdi
testq %rdi, %rdi
je 0x2251d
callq 0x13308
movq 0x278(%rsp), %rdi
testq %rdi, %rdi
je 0x2252f
callq 0x13308
leaq 0x316a2(%rip), %rax     # 0x53bd8
movb $0x1, (%rax)
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x148(%rsp)
movq %rax, 0x150(%rsp)
testq %rax, %rax
je 0x22567
cmpb $0x0, (%r15)
je 0x22563
incl 0x8(%rax)
jmp 0x22567
lock
incl 0x8(%rax)
leaq 0x30(%rsp), %rdi
movq %r14, %rsi
leaq 0x148(%rsp), %rdx
leaq 0xb8(%rsp), %rcx
callq 0x23359
movaps 0x30(%rsp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, 0x30(%rsp)
movq 0x8(%r14), %rdi
movups %xmm0, (%r14)
testq %rdi, %rdi
je 0x225a3
callq 0x13308
movaps 0x40(%rsp), %xmm0
leaq 0x40(%rsp), %rax
xorps %xmm1, %xmm1
movups %xmm1, (%rax)
movq 0x18(%r14), %rdi
movups %xmm0, 0x10(%r14)
testq %rdi, %rdi
je 0x225c6
callq 0x13308
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x225d5
callq 0x13308
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x225e4
callq 0x13308
movq 0x150(%rsp), %rdi
testq %rdi, %rdi
je 0x225f6
callq 0x13308
leaq 0x315db(%rip), %rax     # 0x53bd8
movb $0x0, (%rax)
leaq 0x31589(%rip), %rax     # 0x53b90
cmpb $0x1, (%rax)
jne 0x227c6
movl $0x4, %edx
movq 0x309b4(%rip), %rdi     # 0x52fd0
leaq 0x1db67(%rip), %rsi     # 0x4018a
callq 0x72c0
movq (%r14), %rax
movq %rax, 0x250(%rsp)
movq 0x8(%r14), %rax
movq %rax, 0x258(%rsp)
testq %rax, %rax
je 0x22653
cmpb $0x0, (%r15)
je 0x2264f
incl 0x8(%rax)
jmp 0x22653
lock
incl 0x8(%rax)
movq 0x10(%r14), %rax
movq %rax, 0x260(%rsp)
movq 0x18(%r14), %rax
movq %rax, 0x268(%rsp)
testq %rax, %rax
je 0x2267f
cmpb $0x0, (%r15)
je 0x2267b
incl 0x8(%rax)
jmp 0x2267f
lock
incl 0x8(%rax)
movq 0x3094a(%rip), %rdi     # 0x52fd0
leaq 0x250(%rsp), %rsi
callq 0x23168
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %r13, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0x268(%rsp), %rdi
testq %rdi, %rdi
je 0x226cf
callq 0x13308
movq 0x258(%rsp), %rdi
testq %rdi, %rdi
je 0x227c6
callq 0x13308
jmp 0x227c6
lock
incl 0x8(%rax)
movq %r13, %rdi
leaq 0x128(%rsp), %rsi
callq 0x2a0f7
movq %rax, %r13
movl $0x1b, %edx
movq %rax, %rdi
leaq 0x1da89(%rip), %rsi     # 0x40199
callq 0x72c0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %r13, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0x130(%rsp), %rdi
leaq 0xa0(%rsp), %r13
jmp 0x227af
lock
incl 0x8(%rax)
movq %r13, %rdi
leaq 0x118(%rsp), %rsi
callq 0x2a0f7
movq %rax, %r13
movl $0x20, %edx
movq %rax, %rdi
leaq 0x1da40(%rip), %rsi     # 0x401b5
callq 0x72c0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %r13, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0x120(%rsp), %rdi
leaq 0x70(%rsp), %r13
testq %rdi, %rdi
je 0x227b9
callq 0x13308
movq %r13, %rdi
leaq 0x18(%rsp), %rsi
callq 0x162a6
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x227d8
callq 0x13308
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x227e7
callq 0x13308
addq $0x10, %rbx
jmp 0x21d9a
movq 0x58(%rsp), %rsi
movq (%rsi), %rax
movq %rax, 0x58(%rsp)
addq $0x8, %rsi
leaq 0x60(%rsp), %rbx
movq %rbx, %rdi
callq 0x16086
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x2281d
callq 0x13308
movq 0x58(%rsp), %rax
movq 0x68(%rsp), %rcx
cmpq (%rcx), %rax
jne 0x21c6d
movq 0x90(%rsp), %rax
movq 0x88(%rsp), %rdi
movq %rax, (%rdi)
addq $0x8, %rdi
leaq 0x98(%rsp), %rsi
callq 0x16086
movq 0x78(%rsp), %rax
cmpq 0x70(%rsp), %rax
je 0x22b47
leaq 0x31325(%rip), %rax     # 0x53b90
cmpb $0x1, (%rax)
jne 0x22921
leaq 0x309ed(%rip), %rax     # 0x53268
movq (%rax), %rsi
movq 0x3074b(%rip), %rdi     # 0x52fd0
callq 0x3b148
movq %rax, %rbx
leaq 0x1d942(%rip), %rsi     # 0x401d6
movl $0xa, %edx
movq %rax, %rdi
callq 0x72c0
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x108(%rsp)
movq %rax, 0x110(%rsp)
testq %rax, %rax
je 0x228d5
movq 0x30701(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x228d1
incl 0x8(%rax)
jmp 0x228d5
lock
incl 0x8(%rax)
leaq 0x108(%rsp), %rsi
movq %rbx, %rdi
callq 0x29634
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0x110(%rsp), %rdi
testq %rdi, %rdi
je 0x22921
callq 0x13308
leaq 0x31268(%rip), %rax     # 0x53b90
cmpb $0x1, (%rax)
jne 0x22a22
movq 0x70(%rsp), %rbx
movq 0x78(%rsp), %r12
cmpq %r12, %rbx
je 0x22a22
movq (%rbx), %r13
movq 0x8(%rbx), %r15
testq %r15, %r15
je 0x22967
movq 0x30671(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x22962
incl 0x8(%r15)
jmp 0x22967
lock
incl 0x8(%r15)
leaq 0x308fa(%rip), %rax     # 0x53268
movq (%rax), %rsi
movq 0x30658(%rip), %rdi     # 0x52fd0
callq 0x3b148
movq %rax, %rbp
movl $0x13, %edx
movq %rax, %rdi
leaq 0x1d852(%rip), %rsi     # 0x401e1
callq 0x72c0
movq %r13, 0xf8(%rsp)
movq %r15, 0x100(%rsp)
testq %r15, %r15
je 0x229c0
movq 0x30618(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x229bb
incl 0x8(%r15)
jmp 0x229c0
lock
incl 0x8(%r15)
movq %rbp, %rdi
leaq 0xf8(%rsp), %rsi
callq 0x2a0f7
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %rbp, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0x100(%rsp), %rdi
testq %rdi, %rdi
je 0x22a0c
callq 0x13308
testq %r15, %r15
je 0x22a19
movq %r15, %rdi
callq 0x13308
addq $0x10, %rbx
jmp 0x2293b
leaq 0x2d0(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x162e6
leaq 0x30(%rsp), %rdi
leaq 0x8(%rsp), %rdx
leaq 0x2d0(%rsp), %rcx
xorl %esi, %esi
callq 0x2d0ae
movaps 0x30(%rsp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, 0x30(%rsp)
movq 0x10(%rsp), %rdi
movups %xmm0, 0x8(%rsp)
testq %rdi, %rdi
je 0x22a6e
callq 0x13308
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x22a7d
callq 0x13308
leaq 0x2d0(%rsp), %rdi
callq 0x16384
leaq 0x310ff(%rip), %rax     # 0x53b90
cmpb $0x1, (%rax)
jne 0x22b47
leaq 0x307c7(%rip), %rax     # 0x53268
movq (%rax), %rsi
movq 0x30525(%rip), %rdi     # 0x52fd0
callq 0x3b148
movq %rax, %rbx
leaq 0x1d73b(%rip), %rsi     # 0x401f5
movl $0xa, %edx
movq %rax, %rdi
callq 0x72c0
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0xe8(%rsp)
movq %rax, 0xf0(%rsp)
testq %rax, %rax
je 0x22afb
movq 0x304db(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x22af7
incl 0x8(%rax)
jmp 0x22afb
lock
incl 0x8(%rax)
leaq 0xe8(%rsp), %rsi
movq %rbx, %rdi
callq 0x29634
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x22b47
callq 0x13308
leaq 0xa0(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movq %r14, %rdx
movq 0x68(%rsp), %rcx
callq 0x2346b
leaq 0x31028(%rip), %rax     # 0x53b90
cmpb $0x1, (%rax)
jne 0x22dfc
movq 0xa0(%rsp), %rbx
movq 0xa8(%rsp), %r12
cmpq %r12, %rbx
je 0x22c68
movq (%rbx), %r13
movq 0x8(%rbx), %r15
testq %r15, %r15
je 0x22bad
movq 0x3042b(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x22ba8
incl 0x8(%r15)
jmp 0x22bad
lock
incl 0x8(%r15)
leaq 0x306b4(%rip), %rax     # 0x53268
movq (%rax), %rsi
movq 0x30412(%rip), %rdi     # 0x52fd0
callq 0x3b148
movq %rax, %rbp
movl $0xb, %edx
movq %rax, %rdi
leaq 0x1d62b(%rip), %rsi     # 0x40200
callq 0x72c0
movq %r13, 0xd8(%rsp)
movq %r15, 0xe0(%rsp)
testq %r15, %r15
je 0x22c06
movq 0x303d2(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x22c01
incl 0x8(%r15)
jmp 0x22c06
lock
incl 0x8(%r15)
movq %rbp, %rdi
leaq 0xd8(%rsp), %rsi
callq 0x2a0f7
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %rbp, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0xe0(%rsp), %rdi
testq %rdi, %rdi
je 0x22c52
callq 0x13308
testq %r15, %r15
je 0x22c5f
movq %r15, %rdi
callq 0x13308
addq $0x10, %rbx
jmp 0x22b81
leaq 0x305f9(%rip), %r15     # 0x53268
movq (%r15), %rsi
movq 0x30357(%rip), %rdi     # 0x52fd0
callq 0x3b148
movq %rax, %rbx
leaq 0x1d584(%rip), %rsi     # 0x4020c
movl $0xb, %edx
movq %rax, %rdi
callq 0x72c0
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0xc8(%rsp)
movq %rax, 0xd0(%rsp)
testq %rax, %rax
je 0x22cc9
movq 0x3030d(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x22cc5
incl 0x8(%rax)
jmp 0x22cc9
lock
incl 0x8(%rax)
leaq 0xc8(%rsp), %rsi
movq %rbx, %rdi
callq 0x29634
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x22d15
callq 0x13308
movq (%r15), %rsi
movq 0x302b1(%rip), %rdi     # 0x52fd0
callq 0x3b148
movq %rax, %rbx
leaq 0x1d4ea(%rip), %rsi     # 0x40218
movl $0xb, %edx
movq %rax, %rdi
callq 0x72c0
movq (%r14), %rax
movq %rax, 0x210(%rsp)
movq 0x8(%r14), %rax
movq %rax, 0x218(%rsp)
testq %rax, %rax
je 0x22d6c
movq 0x3026a(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x22d68
incl 0x8(%rax)
jmp 0x22d6c
lock
incl 0x8(%rax)
movq 0x10(%r14), %rax
movq %rax, 0x220(%rsp)
movq 0x18(%r14), %rax
movq %rax, 0x228(%rsp)
testq %rax, %rax
je 0x22d9e
movq 0x30238(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x22d9a
incl 0x8(%rax)
jmp 0x22d9e
lock
incl 0x8(%rax)
leaq 0x210(%rsp), %rsi
movq %rbx, %rdi
callq 0x23168
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0x228(%rsp), %rdi
testq %rdi, %rdi
je 0x22dea
callq 0x13308
movq 0x218(%rsp), %rdi
testq %rdi, %rdi
je 0x22dfc
callq 0x13308
leaq 0x38(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x30(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0xa0(%rsp), %rcx
leaq 0x8(%rsp), %r8
movq %r14, %r9
callq 0x239b4
movq 0x208(%rsp), %rdi
addq $0x10, %rdi
leaq 0x30(%rsp), %rsi
callq 0x23548
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x22e4d
callq 0x13308
movq 0x98(%rsp), %rdi
testq %rdi, %rdi
je 0x22e5f
callq 0x13308
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x22e6e
callq 0x13308
leaq 0x70(%rsp), %rdi
callq 0x16384
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x22e87
callq 0x13308
leaq 0xa0(%rsp), %rdi
callq 0x16384
leaq 0x30a45(%rip), %rax     # 0x538e0
addl $-0x2, (%rax)
addq $0x2e8, %rsp            # imm = 0x2E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x8, %edi
callq 0x7150
leaq 0x2e637(%rip), %rcx     # 0x514f8
movq %rcx, (%rax)
leaq 0x2e605(%rip), %rsi     # 0x514d0
movq 0x3010e(%rip), %rdx     # 0x52fe0
movq %rax, %rdi
callq 0x7400
movq %rax, %rbx
leaq 0x2d0(%rsp), %rdi
callq 0x16384
jmp 0x2310f
jmp 0x22fb7
movq %rax, %rbx
movq 0x38(%rsp), %rdi
jmp 0x23105
jmp 0x22fb7
movq %rax, %rbx
movq 0xf0(%rsp), %rdi
jmp 0x23105
movq %rax, %rbx
movq 0x110(%rsp), %rdi
jmp 0x23105
movq %rax, %rbx
jmp 0x22f6a
movq %rax, %rbx
jmp 0x22f7c
movq %rax, %rbx
leaq 0x210(%rsp), %rdi
callq 0x119a8
jmp 0x2310f
movq %rax, %rbx
movq 0xd0(%rsp), %rdi
jmp 0x23105
movq %rax, %rbx
movq 0x1f0(%rsp), %rdi
testq %rdi, %rdi
je 0x22f6a
callq 0x13308
movq 0x200(%rsp), %rdi
testq %rdi, %rdi
je 0x22f7c
callq 0x13308
leaq 0x2b0(%rsp), %rdi
callq 0x119a8
jmp 0x23160
jmp 0x22fb2
movq %rax, %rbx
movq 0x1d0(%rsp), %rdi
testq %rdi, %rdi
je 0x22fa5
callq 0x13308
movq 0x1e0(%rsp), %rdi
jmp 0x230f6
movq %rax, %rbx
jmp 0x22fe1
movq %rax, %rbx
jmp 0x2310f
movq %rax, %rbx
movq 0x100(%rsp), %rdi
jmp 0x22fd7
movq %rax, %rbx
movq 0xe0(%rsp), %rdi
testq %rdi, %rdi
je 0x22fe1
callq 0x13308
testq %r15, %r15
je 0x2310f
movq %r15, %rdi
jmp 0x2310a
movq %rax, %rbx
leaq 0x230(%rsp), %rdi
callq 0x119a8
movq 0x140(%rsp), %rdi
jmp 0x230b1
movq %rax, %rbx
movq 0x130(%rsp), %rdi
jmp 0x230b1
movq %rax, %rbx
movq 0x120(%rsp), %rdi
jmp 0x230b1
movq %rax, %rbx
movq 0x150(%rsp), %rdi
jmp 0x230b1
movq %rax, %rbx
movq 0x170(%rsp), %rdi
jmp 0x230b1
movq %rax, %rbx
leaq 0x290(%rsp), %rdi
callq 0x119a8
movq 0x1a0(%rsp), %rdi
testq %rdi, %rdi
je 0x230c0
callq 0x13308
jmp 0x230c0
movq %rax, %rbx
movq 0x190(%rsp), %rdi
jmp 0x230e7
movq %rax, %rbx
leaq 0x270(%rsp), %rdi
jmp 0x2309f
movq %rax, %rbx
movq 0x160(%rsp), %rdi
jmp 0x230b1
movq %rax, %rbx
leaq 0x250(%rsp), %rdi
callq 0x119a8
jmp 0x230df
movq %rax, %rbx
movq 0x180(%rsp), %rdi
testq %rdi, %rdi
je 0x230df
callq 0x13308
jmp 0x230df
movq %rax, %rbx
movq 0x1b0(%rsp), %rdi
testq %rdi, %rdi
je 0x230d2
callq 0x13308
movq 0x1c0(%rsp), %rdi
jmp 0x230e7
movq %rax, %rbx
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x230f1
callq 0x13308
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x23100
callq 0x13308
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x2310f
callq 0x13308
movq 0x98(%rsp), %rdi
testq %rdi, %rdi
je 0x23121
callq 0x13308
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x23130
callq 0x13308
leaq 0x70(%rsp), %rdi
callq 0x16384
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x23149
callq 0x13308
leaq 0xa0(%rsp), %rdi
callq 0x16384
leaq 0x30783(%rip), %rax     # 0x538e0
addl $-0x2, (%rax)
movq %rbx, %rdi
callq 0x7430