// File: /workspace/github_cpp_makefile_star2_O1/alexwarth[P]nothing/main.cpp
// Function: init(int)
void init(int _debug) {
  debug   = _debug;
  OTSize  = 0;
  sp      = Int(0);
  ip      = Int(-1);
  growOT();
  nil     = mk(0);   // allocate nil before any other objects so it gets to be 0
  globals = cons(nil, nil);
  stack    = addGlobal(mk(sizeof(contextSlots) + 1024));
  internedStringsRef = addGlobal(ref(nil));
  chars = addGlobal(mk(256));

  // "objectify" primNames (they were C strings up to this point)
  for (int p = 0; p < numPrims; p++)
    primNames[p] = (void *)_p1(StrIntern, stringify((const char *)primNames[p]));
  
  sIntern       = _p1(StrIntern, stringify("intern"));
  sIdentityHash = _p1(StrIntern, stringify("identityHash"));
  sPrint        = _p1(StrIntern, stringify("print"));
  sPrintln      = _p1(StrIntern, stringify("println"));
  sAdd          = _p1(StrIntern, stringify("+"));
  sSub          = _p1(StrIntern, stringify("-"));
  sMul          = _p1(StrIntern, stringify("*"));

  Obj = _p3(MkClass, _p1(StrIntern, stringify("Obj")), nil, nil);
    installPrimAsMethod(Obj, sIdentityHash, ObjIdentityHash); 
    installPrimAsMethod(Obj, sPrint,        ObjPrint       );
    installPrimAsMethod(Obj, sPrintln,      ObjPrintln     );
    for (int idx = 0; idx < OTSize; idx++) {
      if (IntValue(OT[idx].numSlots) < 0)
        continue;
      OT[idx].cls = Obj;
    }
  value_t classSlotNames = _p1(Push, mk(7));
    slotAtPut(classSlotNames, Int(0), _p1(StrIntern, stringify("name"      )));
    slotAtPut(classSlotNames, Int(1), _p1(StrIntern, stringify("slotNames" )));
    slotAtPut(classSlotNames, Int(2), _p1(StrIntern, stringify("numSlots"  )));
    slotAtPut(classSlotNames, Int(3), _p1(StrIntern, stringify("vTableSize")));
    slotAtPut(classSlotNames, Int(4), _p1(StrIntern, stringify("sels"      )));
    slotAtPut(classSlotNames, Int(5), _p1(StrIntern, stringify("impls"     )));
    slotAtPut(classSlotNames, Int(6), _p1(StrIntern, stringify("super     ")));
    assert(numSlots(classSlotNames) == Int(sizeof(classSlots) / sizeof(value_t))); // sanity check
  Class = addGlobal(_p2(MkObj, Obj, Int(7)));
    _p4(ClassInit, Class, _p1(StrIntern, stringify("Class")), Obj, classSlotNames);
    _p(Pop); // pop classSlotNames
    classOf_(Class, Class);
    classOf_(Obj,   Class);
  Int = _p3(MkClass, _p1(StrIntern, stringify("Int")), Obj, nil);
    installPrimAsMethod(Int, sPrint,        IntPrint);
    installPrimAsMethod(Int, sAdd,          IntAdd  );
    installPrimAsMethod(Int, sSub,          IntSub  );
    installPrimAsMethod(Int, sMul,          IntMul  );
  Nil = _p3(MkClass, _p1(StrIntern, stringify("Nil")), Obj, nil);
    installPrimAsMethod(Nil, sPrint, NilPrint);
    classOf_(nil, Nil);
  Str = _p3(MkClass, _p1(StrIntern, stringify("Str")), Obj, nil);
    installPrimAsMethod(Str, sIntern, StrIntern);
    installPrimAsMethod(Str, sPrint,  StrPrint);
    for (value_t curr = deref(internedStringsRef); curr != nil; curr = cdr(curr)) {
      value_t internedString = car(curr);
      OT[OopValue(internedString)].cls = Str;
    }

  fp = sp; // done at the end in the code above (intentionally) has left something on the stack
  initDone = 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %edi, 0xb195(%rip)      # 0x13540
movq $0x0, 0xb1f2(%rip) # 0x135a8
movl $0x1, 0xb19c(%rip)      # 0x1355c
movl $0xffffffff, 0xb18a(%rip) # imm = 0xFFFFFFFF
callq 0x2902
xorl %edi, %edi
callq 0x2d35
movl %eax, %ebx
movl %eax, 0xb16a(%rip)      # 0x13548
movl $0x2, %edi
callq 0x2d35
movl 0xb152(%rip), %ecx      # 0x13540
testl %ecx, %ecx
sete %dl
testb $0x1, %al
sete %sil
orb %dl, %sil
je 0x939a
movl %eax, %edx
sarl %edx
movslq %edx, %rdx
testl %ecx, %ecx
je 0x842d
movq 0xb19c(%rip), %rcx      # 0x135b0
leaq (%rdx,%rdx,2), %rsi
movl (%rcx,%rsi,8), %ecx
testb $0x1, %cl
je 0x9419
cmpl $0x1, %ecx
jle 0x9422
testb $0x1, %al
sete %dil
movq 0xb176(%rip), %rcx      # 0x135b0
leaq (%rdx,%rdx,2), %rdx
movq 0x10(%rcx,%rdx,8), %rsi
movl %ebx, (%rsi)
movl 0xb0f5(%rip), %esi      # 0x13540
testl %esi, %esi
sete %r8b
orb %dil, %r8b
je 0x939a
testl %esi, %esi
je 0x8474
movl (%rcx,%rdx,8), %esi
testb $0x1, %sil
je 0x9419
cmpl $0x3, %esi
jle 0x9422
leaq (%rcx,%rdx,8), %rcx
addq $0x10, %rcx
movq (%rcx), %rcx
movl %ebx, 0x4(%rcx)
movl %eax, 0xb0d8(%rip)      # 0x13560
movl $0x414, %edi            # imm = 0x414
callq 0x2d35
movl %eax, %ebx
movl %eax, %edi
callq 0x2bcc
movl %ebx, 0xb0ab(%rip)      # 0x1354c
movl 0xb0a1(%rip), %ebp      # 0x13548
movl $0x1, %edi
callq 0x2d35
movl %eax, %ebx
movl 0xb087(%rip), %ecx      # 0x13540
testl %ecx, %ecx
sete %al
testb $0x1, %bl
sete %dl
orb %al, %dl
je 0x9441
movl %ebx, %eax
sarl %eax
cltq
testl %ecx, %ecx
je 0x84f6
movq 0xb0d3(%rip), %rcx      # 0x135b0
leaq (%rax,%rax,2), %rdx
movl (%rcx,%rdx,8), %ecx
testb $0x1, %cl
je 0x95d7
cmpl $0x1, %ecx
jle 0x95e0
movq 0xb0b3(%rip), %rcx      # 0x135b0
leaq (%rax,%rax,2), %rax
movq 0x10(%rcx,%rax,8), %rax
movl %ebp, (%rax)
movl %ebx, %edi
callq 0x2bcc
movl %ebx, 0xb04f(%rip)      # 0x13564
movl $0x100, %edi            # imm = 0x100
callq 0x2d35
movl %eax, %ebx
movl %eax, %edi
callq 0x2bcc
movl %ebx, 0xb03a(%rip)      # 0x13568
cmpq $0x0, 0xaf4a(%rip)      # 0x13480
je 0x8593
leaq 0xad41(%rip), %rbx      # 0x13280
xorl %r14d, %r14d
leaq 0xab37(%rip), %r15      # 0x13080
movl 0xafe5(%rip), %eax      # 0x13534
cmpl $0x0, 0xafea(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x9240
sarl %eax
cltq
movq (%r15,%rax,8), %r12
movq (%rbx), %rdi
callq 0x7a5e
movl %eax, %edi
callq *%r12
cltq
movq %rax, (%rbx)
incq %r14
addq $0x8, %rbx
cmpq %r14, 0xaeef(%rip)      # 0x13480
ja 0x8549
movl 0xaf9b(%rip), %eax      # 0x13534
cmpl $0x0, 0xafa0(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
testb %dl, %cl
jne 0x944d
sarl %eax
cltq
leaq 0xaac5(%rip), %r14      # 0x13080
movq (%r14,%rax,8), %rbx
leaq 0x7ac4(%rip), %rdi      # 0x1008a
callq 0x7a5e
movl %eax, %edi
callq *%rbx
movl %eax, 0xafb3(%rip)      # 0x13588
movl 0xaf59(%rip), %eax      # 0x13534
cmpl $0x0, 0xaf5e(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x946c
sarl %eax
cltq
movq (%r14,%rax,8), %rbx
leaq 0x7a8d(%rip), %rdi      # 0x10091
callq 0x7a5e
movl %eax, %edi
callq *%rbx
movl %eax, 0xaf79(%rip)      # 0x1358c
movl 0xaf1b(%rip), %eax      # 0x13534
cmpl $0x0, 0xaf20(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x948b
sarl %eax
cltq
movq (%r14,%rax,8), %rbx
leaq 0x7a5c(%rip), %rdi      # 0x1009e
callq 0x7a5e
movl %eax, %edi
callq *%rbx
movl %eax, 0xaf3f(%rip)      # 0x13590
movl 0xaedd(%rip), %eax      # 0x13534
cmpl $0x0, 0xaee2(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x94aa
sarl %eax
cltq
movq (%r14,%rax,8), %rbx
leaq 0x7a24(%rip), %rdi      # 0x100a4
callq 0x7a5e
movl %eax, %edi
callq *%rbx
movl %eax, 0xaf05(%rip)      # 0x13594
movl 0xae9f(%rip), %eax      # 0x13534
cmpl $0x0, 0xaea4(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x94c9
sarl %eax
cltq
movq (%r14,%rax,8), %rbx
leaq 0x79ee(%rip), %rdi      # 0x100ac
callq 0x7a5e
movl %eax, %edi
callq *%rbx
movl %eax, 0xaecb(%rip)      # 0x13598
movl 0xae61(%rip), %eax      # 0x13534
cmpl $0x0, 0xae66(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x94e8
sarl %eax
cltq
movq (%r14,%rax,8), %rbx
leaq 0x79b2(%rip), %rdi      # 0x100ae
callq 0x7a5e
movl %eax, %edi
callq *%rbx
movl %eax, 0xae91(%rip)      # 0x1359c
movl 0xae23(%rip), %eax      # 0x13534
cmpl $0x0, 0xae28(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x9507
sarl %eax
cltq
movq (%r14,%rax,8), %rbx
leaq 0x7976(%rip), %rdi      # 0x100b0
callq 0x7a5e
movl %eax, %edi
callq *%rbx
movl %eax, 0xae57(%rip)      # 0x135a0
movl 0xad39(%rip), %eax      # 0x13488
cmpl $0x0, 0xadea(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x931e
sarl %eax
cltq
movl 0xadd5(%rip), %edi      # 0x13548
callq *(%r14,%rax,8)
movl 0xad0b(%rip), %eax      # 0x13488
cmpl $0x0, 0xadbc(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x931e
sarl %eax
cltq
movl 0xada7(%rip), %edi      # 0x13548
callq *(%r14,%rax,8)
movl 0xad41(%rip), %eax      # 0x134ec
movl 0xad8f(%rip), %ecx      # 0x13540
testl %ecx, %ecx
setne %dl
testb $0x1, %al
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
je 0x931e
testl %ecx, %ecx
setne %dl
movl 0xad60(%rip), %ecx      # 0x13534
testb $0x1, %cl
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
je 0x931e
sarl %eax
cltq
movq (%r14,%rax,8), %rbx
sarl %ecx
movslq %ecx, %rax
movq (%r14,%rax,8), %r15
leaq 0x5dcd(%rip), %rdi      # 0xe5cd
callq 0x7a5e
movl %eax, %edi
callq *%r15
movl %eax, %edi
callq *%rbx
movl %eax, 0xad58(%rip)      # 0x1356c
movl 0xad72(%rip), %esi      # 0x1358c
movl 0xace8(%rip), %edx      # 0x13508
movl %eax, %edi
callq 0x7bf2
movl 0xad3f(%rip), %edi      # 0x1356c
movl 0xad5d(%rip), %esi      # 0x13590
movl 0xacdf(%rip), %edx      # 0x13518
callq 0x7bf2
movl 0xad28(%rip), %edi      # 0x1356c
movl 0xad4a(%rip), %esi      # 0x13594
movl 0xaccc(%rip), %edx      # 0x1351c
callq 0x7bf2
movq 0xad4c(%rip), %rax      # 0x135a8
testq %rax, %rax
je 0x8898
movq 0xad48(%rip), %rcx      # 0x135b0
addq $0x4, %rcx
movl -0x4(%rcx), %edx
cmpl $0x0, 0xacca(%rip)      # 0x13540
je 0x8883
movl %edx, %esi
andl $0x1, %esi
je 0x925f
testl %edx, %edx
js 0x888f
movl 0xacdf(%rip), %edx      # 0x1356c
movl %edx, (%rcx)
addq $0x18, %rcx
decq %rax
jne 0x886c
movl 0xabea(%rip), %eax      # 0x13488
cmpl $0x0, 0xac9b(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
testb %dl, %cl
jne 0x9526
sarl %eax
cltq
movq (%r14,%rax,8), %rbx
movl $0x7, %edi
callq 0x2d35
movl %eax, %edi
callq *%rbx
movl %eax, %ebx
movl 0xac6d(%rip), %ecx      # 0x13540
testl %ecx, %ecx
je 0x88e2
movl %ebx, %eax
andl $0x1, %eax
jne 0x9545
movl 0xac4c(%rip), %eax      # 0x13534
testl %ecx, %ecx
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x93c5
movl %ebx, %ebp
sarl %ebp
sarl %eax
cltq
movq (%r14,%rax,8), %r15
leaq 0x77a2(%rip), %rdi      # 0x100b2
callq 0x7a5e
movl %eax, %edi
callq *%r15
cmpl $0x0, 0xac1f(%rip)      # 0x13540
movslq %ebp, %rcx
je 0x8946
movq 0xac83(%rip), %rdx      # 0x135b0
leaq (%rcx,%rcx,2), %rsi
movl (%rdx,%rsi,8), %edx
testb $0x1, %dl
je 0x93c5
cmpl $0x1, %edx
jle 0x95ff
testb $0x1, %bl
sete %dl
movq 0xac5d(%rip), %rsi      # 0x135b0
leaq (%rcx,%rcx,2), %r15
movq 0x10(%rsi,%r15,8), %rcx
movl %eax, (%rcx)
movl 0xabdc(%rip), %ecx      # 0x13540
testl %ecx, %ecx
sete %al
orb %dl, %al
je 0x9551
movl 0xabbd(%rip), %eax      # 0x13534
testl %ecx, %ecx
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x93d1
sarl %eax
cltq
movq (%r14,%rax,8), %r12
leaq 0x77ea(%rip), %rdi      # 0x10185
callq 0x7a5e
movl %eax, %edi
callq *%r12
movl 0xab95(%rip), %ecx      # 0x13540
testl %ecx, %ecx
je 0x89cc
movq 0xabfa(%rip), %rdx      # 0x135b0
movl (%rdx,%r15,8), %edx
testb $0x1, %dl
je 0x93d1
cmpl $0x3, %edx
jle 0x961e
testl %ecx, %ecx
sete %dl
testb $0x1, %bl
sete %sil
movq 0xabd1(%rip), %rdi      # 0x135b0
movq 0x10(%rdi,%r15,8), %rdi
movl %eax, 0x4(%rdi)
orb %dl, %sil
je 0x955d
movl 0xab3e(%rip), %eax      # 0x13534
testl %ecx, %ecx
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x93dd
sarl %eax
cltq
movq (%r14,%rax,8), %r12
leaq 0x7843(%rip), %rdi      # 0x1025d
callq 0x7a5e
movl %eax, %edi
callq *%r12
movl 0xab16(%rip), %ecx      # 0x13540
testl %ecx, %ecx
je 0x8a4b
movq 0xab7b(%rip), %rdx      # 0x135b0
movl (%rdx,%r15,8), %edx
testb $0x1, %dl
je 0x93dd
cmpl $0x5, %edx
jle 0x963d
testl %ecx, %ecx
sete %dl
testb $0x1, %bl
sete %sil
movq 0xab52(%rip), %rdi      # 0x135b0
movq 0x10(%rdi,%r15,8), %rdi
movl %eax, 0x8(%rdi)
orb %dl, %sil
je 0x9569
movl 0xaabf(%rip), %eax      # 0x13534
testl %ecx, %ecx
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x93e9
sarl %eax
cltq
movq (%r14,%rax,8), %r12
leaq 0x789b(%rip), %rdi      # 0x10334
callq 0x7a5e
movl %eax, %edi
callq *%r12
movl 0xaa97(%rip), %ecx      # 0x13540
testl %ecx, %ecx
je 0x8aca
movq 0xaafc(%rip), %rdx      # 0x135b0
movl (%rdx,%r15,8), %edx
testb $0x1, %dl
je 0x93e9
cmpl $0x7, %edx
jle 0x965c
testl %ecx, %ecx
sete %dl
testb $0x1, %bl
sete %sil
movq 0xaad3(%rip), %rdi      # 0x135b0
movq 0x10(%rdi,%r15,8), %rdi
movl %eax, 0xc(%rdi)
orb %dl, %sil
je 0x9575
movl 0xaa40(%rip), %eax      # 0x13534
testl %ecx, %ecx
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x93f5
sarl %eax
cltq
movq (%r14,%rax,8), %r12
leaq 0x78f5(%rip), %rdi      # 0x1040d
callq 0x7a5e
movl %eax, %edi
callq *%r12
movl 0xaa18(%rip), %ecx      # 0x13540
testl %ecx, %ecx
je 0x8b49
movq 0xaa7d(%rip), %rdx      # 0x135b0
movl (%rdx,%r15,8), %edx
testb $0x1, %dl
je 0x93f5
cmpl $0x9, %edx
jle 0x967b
testl %ecx, %ecx
sete %dl
testb $0x1, %bl
sete %sil
movq 0xaa54(%rip), %rdi      # 0x135b0
movq 0x10(%rdi,%r15,8), %rdi
movl %eax, 0x10(%rdi)
orb %dl, %sil
je 0x9581
movl 0xa9c1(%rip), %eax      # 0x13534
testl %ecx, %ecx
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x9401
sarl %eax
cltq
movq (%r14,%rax,8), %r12
leaq 0x7949(%rip), %rdi      # 0x104e0
callq 0x7a5e
movl %eax, %edi
callq *%r12
movl 0xa999(%rip), %ecx      # 0x13540
testl %ecx, %ecx
je 0x8bc8
movq 0xa9fe(%rip), %rdx      # 0x135b0
movl (%rdx,%r15,8), %edx
testb $0x1, %dl
je 0x9401
cmpl $0xb, %edx
jle 0x969a
testl %ecx, %ecx
sete %dl
testb $0x1, %bl
sete %sil
movq 0xa9d5(%rip), %rdi      # 0x135b0
movq 0x10(%rdi,%r15,8), %rdi
movl %eax, 0x14(%rdi)
orb %dl, %sil
je 0x958d
movl 0xa942(%rip), %eax      # 0x13534
testl %ecx, %ecx
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x940d
sarl %eax
cltq
movq (%r14,%rax,8), %r12
leaq 0x799e(%rip), %rdi      # 0x105b4
callq 0x7a5e
movl %eax, %edi
callq *%r12
cmpl $0x0, 0xa919(%rip)      # 0x13540
je 0x8c46
movq 0xa980(%rip), %rcx      # 0x135b0
movl (%rcx,%r15,8), %ecx
testb $0x1, %cl
je 0x940d
cmpl $0xd, %ecx
jle 0x96b9
movq 0xa963(%rip), %rcx      # 0x135b0
movq 0x10(%rcx,%r15,8), %rcx
movl %eax, 0x18(%rcx)
movl %ebx, %edi
callq 0x29fa
cmpl $0xf, %eax
jne 0x9599
movl 0xa81d(%rip), %eax      # 0x13488
cmpl $0x0, 0xa8ce(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x93a6
sarl %eax
cltq
movl $0xf, %edi
callq *(%r14,%rax,8)
movl 0xa84c(%rip), %eax      # 0x134e4
cmpl $0x0, 0xa8a1(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x93a6
sarl %eax
cltq
movl 0xa8b0(%rip), %edi      # 0x1356c
callq *(%r14,%rax,8)
movl %eax, %ebp
movl %eax, %edi
callq 0x2bcc
movl %ebp, 0xa8b5(%rip)      # 0x13584
movl 0xa7b3(%rip), %eax      # 0x13488
cmpl $0x0, 0xa864(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x92ff
sarl %eax
cltq
movl %ebx, %edi
callq *(%r14,%rax,8)
movl 0xa789(%rip), %eax      # 0x13488
cmpl $0x0, 0xa83a(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x92ff
sarl %eax
cltq
movl 0xa849(%rip), %edi      # 0x1356c
callq *(%r14,%rax,8)
movl 0xa75b(%rip), %eax      # 0x13488
movl 0xa80d(%rip), %ecx      # 0x13540
testl %ecx, %ecx
setne %dl
testb $0x1, %al
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
je 0x92ff
testl %ecx, %ecx
setne %dl
movl 0xa7de(%rip), %ecx      # 0x13534
testb $0x1, %cl
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
je 0x92ff
sarl %eax
cltq
movq (%r14,%rax,8), %rbx
sarl %ecx
movslq %ecx, %rax
movq (%r14,%rax,8), %r15
leaq 0x595f(%rip), %rdi      # 0xe6e1
callq 0x7a5e
movl %eax, %edi
callq *%r15
movl %eax, %edi
callq *%rbx
movl 0xa752(%rip), %eax      # 0x134e8
cmpl $0x0, 0xa7a3(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x92ff
sarl %eax
cltq
movl 0xa7ca(%rip), %edi      # 0x13584
callq *(%r14,%rax,8)
movl 0xa6c8(%rip), %eax      # 0x1348c
cmpl $0x0, 0xa775(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x95b8
sarl %eax
cltq
movl 0xa760(%rip), %edi      # 0x13548
callq *(%r14,%rax,8)
movl 0xa792(%rip), %edi      # 0x13584
movl %edi, %esi
callq 0x2aaa
movl 0xa76d(%rip), %edi      # 0x1356c
movl 0xa77f(%rip), %esi      # 0x13584
callq 0x2aaa
movl 0xa678(%rip), %eax      # 0x13488
cmpl $0x0, 0xa729(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x933d
sarl %eax
cltq
movl 0xa714(%rip), %edi      # 0x13548
callq *(%r14,%rax,8)
movl 0xa64a(%rip), %eax      # 0x13488
cmpl $0x0, 0xa6fb(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x933d
sarl %eax
cltq
movl 0xa70a(%rip), %edi      # 0x1356c
callq *(%r14,%rax,8)
movl 0xa680(%rip), %eax      # 0x134ec
movl 0xa6ce(%rip), %ecx      # 0x13540
testl %ecx, %ecx
setne %dl
testb $0x1, %al
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
je 0x933d
testl %ecx, %ecx
setne %dl
movl 0xa69f(%rip), %ecx      # 0x13534
testb $0x1, %cl
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
je 0x933d
sarl %eax
cltq
movq (%r14,%rax,8), %rbx
sarl %ecx
movslq %ecx, %rax
movq (%r14,%rax,8), %r15
leaq 0x7812(%rip), %rdi      # 0x106d3
callq 0x7a5e
movl %eax, %edi
callq *%r15
movl %eax, %edi
callq *%rbx
movl %eax, 0xa69f(%rip)      # 0x13574
movl 0xa6b5(%rip), %esi      # 0x13590
movl 0xa62f(%rip), %edx      # 0x13510
movl %eax, %edi
callq 0x7bf2
movl 0xa686(%rip), %edi      # 0x13574
movl 0xa6a4(%rip), %esi      # 0x13598
movl 0xa62a(%rip), %edx      # 0x13524
callq 0x7bf2
movl 0xa66f(%rip), %edi      # 0x13574
movl 0xa691(%rip), %esi      # 0x1359c
movl 0xa617(%rip), %edx      # 0x13528
callq 0x7bf2
movl 0xa658(%rip), %edi      # 0x13574
movl 0xa67e(%rip), %esi      # 0x135a0
movl 0xa604(%rip), %edx      # 0x1352c
callq 0x7bf2
movl 0xa555(%rip), %eax      # 0x13488
cmpl $0x0, 0xa606(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x935c
sarl %eax
cltq
movl 0xa5f1(%rip), %edi      # 0x13548
callq *(%r14,%rax,8)
movl 0xa527(%rip), %eax      # 0x13488
cmpl $0x0, 0xa5d8(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x935c
sarl %eax
cltq
movl 0xa5e7(%rip), %edi      # 0x1356c
callq *(%r14,%rax,8)
movl 0xa55d(%rip), %eax      # 0x134ec
movl 0xa5ab(%rip), %ecx      # 0x13540
testl %ecx, %ecx
setne %dl
testb $0x1, %al
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
je 0x935c
testl %ecx, %ecx
setne %dl
movl 0xa57c(%rip), %ecx      # 0x13534
testb $0x1, %cl
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
je 0x935c
sarl %eax
cltq
movq (%r14,%rax,8), %rbx
sarl %ecx
movslq %ecx, %rax
movq (%r14,%rax,8), %r15
leaq 0x76f3(%rip), %rdi      # 0x106d7
callq 0x7a5e
movl %eax, %edi
callq *%r15
movl %eax, %edi
callq *%rbx
movl %eax, 0xa578(%rip)      # 0x13570
movl 0xa592(%rip), %esi      # 0x13590
movl 0xa508(%rip), %edx      # 0x1350c
movl %eax, %edi
callq 0x7bf2
movl 0xa537(%rip), %edi      # 0x13548
movl 0xa559(%rip), %esi      # 0x13570
callq 0x2aaa
movl 0xa466(%rip), %eax      # 0x13488
cmpl $0x0, 0xa517(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x937b
sarl %eax
cltq
movl 0xa502(%rip), %edi      # 0x13548
callq *(%r14,%rax,8)
movl 0xa438(%rip), %eax      # 0x13488
cmpl $0x0, 0xa4e9(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x937b
sarl %eax
cltq
movl 0xa4f8(%rip), %edi      # 0x1356c
callq *(%r14,%rax,8)
movl 0xa46e(%rip), %eax      # 0x134ec
movl 0xa4bc(%rip), %ecx      # 0x13540
testl %ecx, %ecx
setne %dl
testb $0x1, %al
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
je 0x937b
testl %ecx, %ecx
setne %dl
movl 0xa48d(%rip), %ecx      # 0x13534
testb $0x1, %cl
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
je 0x937b
sarl %eax
cltq
movq (%r14,%rax,8), %rbx
sarl %ecx
movslq %ecx, %rax
movq (%r14,%rax,8), %r14
leaq 0x7608(%rip), %rdi      # 0x106db
callq 0x7a5e
movl %eax, %edi
callq *%r14
movl %eax, %edi
callq *%rbx
movl %eax, 0xa491(%rip)      # 0x13578
movl 0xa49b(%rip), %esi      # 0x13588
movl 0xa441(%rip), %edx      # 0x13534
movl %eax, %edi
callq 0x7bf2
movl 0xa478(%rip), %edi      # 0x13578
movl 0xa48a(%rip), %esi      # 0x13590
movl 0xa408(%rip), %edx      # 0x13514
callq 0x7bf2
movl 0xa44d(%rip), %eax      # 0x13564
movl 0xa423(%rip), %edx      # 0x13540
testl %edx, %edx
sete %cl
testb $0x1, %al
sete %sil
orb %cl, %sil
je 0x927e
sarl %eax
movslq %eax, %rcx
testl %edx, %edx
je 0x9159
movq 0xa46f(%rip), %rax      # 0x135b0
leaq (%rcx,%rcx,2), %rdx
movl (%rax,%rdx,8), %eax
testb $0x1, %al
je 0x92b8
cmpl $0x1, %eax
jle 0x92af
movq 0xa450(%rip), %rax      # 0x135b0
leaq (%rcx,%rcx,2), %rcx
movq 0x10(%rax,%rcx,8), %rcx
movl (%rcx), %ecx
cmpl 0xa3d7(%rip), %ecx      # 0x13548
je 0x9221
movl 0xa3c3(%rip), %esi      # 0x13540
testl %esi, %esi
sete %dl
testb $0x1, %cl
sete %dil
orb %dl, %dil
je 0x9287
movl %ecx, %edx
sarl %edx
movslq %edx, %rdx
testl %esi, %esi
je 0x91b7
leaq (%rdx,%rdx,2), %rdi
movl (%rax,%rdi,8), %edi
testb $0x1, %dil
je 0x92e0
cmpl $0x1, %edi
jle 0x92d7
leaq (%rdx,%rdx,2), %rdi
movq 0x10(%rax,%rdi,8), %rdx
movl (%rdx), %r8d
testl %esi, %esi
je 0x91d3
movl %r8d, %esi
andl $0x1, %esi
jne 0x9290
testb $0x1, %cl
sete %sil
movl 0xa398(%rip), %ecx      # 0x13578
sarl %r8d
movslq %r8d, %r8
leaq (%r8,%r8,2), %r8
movl %ecx, 0x4(%rax,%r8,8)
movl 0xa34b(%rip), %ecx      # 0x13540
testl %ecx, %ecx
sete %r8b
orb %sil, %r8b
je 0x927e
testl %ecx, %ecx
je 0x9219
movl (%rax,%rdi,8), %ecx
testb $0x1, %cl
je 0x92b8
cmpl $0x3, %ecx
jle 0x92af
movl 0x4(%rdx), %ecx
jmp 0x916b
movl 0xa335(%rip), %eax      # 0x1355c
movl %eax, 0xa32b(%rip)      # 0x13558
movl $0x1, 0xa30d(%rip)      # 0x13544
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2f47(%rip), %rdi      # 0xc18e
leaq 0x2de9(%rip), %rsi      # 0xc037
leaq 0x6c8a(%rip), %rcx      # 0xfedf
movl $0x218, %edx            # imm = 0x218
callq 0x2060
leaq 0x2f28(%rip), %rdi      # 0xc18e
leaq 0x2dca(%rip), %rsi      # 0xc037
leaq 0x6c6b(%rip), %rcx      # 0xfedf
movl $0x227, %edx            # imm = 0x227
callq 0x2060
leaq 0x2dd5(%rip), %rdi      # 0xc05a
jmp 0x92bf
leaq 0x2dcc(%rip), %rdi      # 0xc05a
jmp 0x92e7
leaq 0x2dc3(%rip), %rdi      # 0xc05a
leaq 0x2d99(%rip), %rsi      # 0xc037
leaq 0x6c3a(%rip), %rcx      # 0xfedf
movl $0x246, %edx            # imm = 0x246
callq 0x2060
leaq 0x7429(%rip), %rdi      # 0x106df
jmp 0x92bf
leaq 0x2ecf(%rip), %rdi      # 0xc18e
leaq 0x2d71(%rip), %rsi      # 0xc037
leaq 0x6c12(%rip), %rcx      # 0xfedf
movl $0x244, %edx            # imm = 0x244
callq 0x2060
leaq 0x74cf(%rip), %rdi      # 0x107ad
jmp 0x92e7
leaq 0x2ea7(%rip), %rdi      # 0xc18e
leaq 0x2d49(%rip), %rsi      # 0xc037
leaq 0x6bea(%rip), %rcx      # 0xfedf
movl $0x245, %edx            # imm = 0x245
callq 0x2060
leaq 0x2e88(%rip), %rdi      # 0xc18e
leaq 0x2d2a(%rip), %rsi      # 0xc037
leaq 0x6bcb(%rip), %rcx      # 0xfedf
movl $0x235, %edx            # imm = 0x235
callq 0x2060
leaq 0x2e69(%rip), %rdi      # 0xc18e
leaq 0x2d0b(%rip), %rsi      # 0xc037
leaq 0x6bac(%rip), %rcx      # 0xfedf
movl $0x222, %edx            # imm = 0x222
callq 0x2060
leaq 0x2e4a(%rip), %rdi      # 0xc18e
leaq 0x2cec(%rip), %rsi      # 0xc037
leaq 0x6b8d(%rip), %rcx      # 0xfedf
movl $0x239, %edx            # imm = 0x239
callq 0x2060
leaq 0x2e2b(%rip), %rdi      # 0xc18e
leaq 0x2ccd(%rip), %rsi      # 0xc037
leaq 0x6b6e(%rip), %rcx      # 0xfedf
movl $0x23e, %edx            # imm = 0x23E
callq 0x2060
leaq 0x2e0c(%rip), %rdi      # 0xc18e
leaq 0x2cae(%rip), %rsi      # 0xc037
leaq 0x6b4f(%rip), %rcx      # 0xfedf
movl $0x241, %edx            # imm = 0x241
callq 0x2060
leaq 0x2cb9(%rip), %rdi      # 0xc05a
jmp 0x9429
leaq 0x2de1(%rip), %rdi      # 0xc18e
leaq 0x2c83(%rip), %rsi      # 0xc037
leaq 0x6b24(%rip), %rcx      # 0xfedf
movl $0x234, %edx            # imm = 0x234
callq 0x2060
leaq 0x2dc2(%rip), %rdi      # 0xc18e
jmp 0x9606
leaq 0x2db6(%rip), %rdi      # 0xc18e
jmp 0x9625
leaq 0x2daa(%rip), %rdi      # 0xc18e
jmp 0x9644
leaq 0x2d9e(%rip), %rdi      # 0xc18e
jmp 0x9663
leaq 0x2d92(%rip), %rdi      # 0xc18e
jmp 0x9682
leaq 0x2d86(%rip), %rdi      # 0xc18e
jmp 0x96a1
leaq 0x2d7a(%rip), %rdi      # 0xc18e
jmp 0x96c0
leaq 0x2d6e(%rip), %rdi      # 0xc18e
jmp 0x9429
leaq 0x6ac5(%rip), %rdi      # 0xfeee
leaq 0x2c07(%rip), %rsi      # 0xc037
leaq 0x6aa8(%rip), %rcx      # 0xfedf
movl $0x211, %edx            # imm = 0x211
callq 0x2060
leaq 0x2c12(%rip), %rdi      # 0xc05a
jmp 0x95e7
leaq 0x2d3a(%rip), %rdi      # 0xc18e
leaq 0x2bdc(%rip), %rsi      # 0xc037
leaq 0x6a7d(%rip), %rcx      # 0xfedf
movl $0x21a, %edx            # imm = 0x21A
callq 0x2060
leaq 0x2d1b(%rip), %rdi      # 0xc18e
leaq 0x2bbd(%rip), %rsi      # 0xc037
leaq 0x6a5e(%rip), %rcx      # 0xfedf
movl $0x21b, %edx            # imm = 0x21B
callq 0x2060
leaq 0x2cfc(%rip), %rdi      # 0xc18e
leaq 0x2b9e(%rip), %rsi      # 0xc037
leaq 0x6a3f(%rip), %rcx      # 0xfedf
movl $0x21c, %edx            # imm = 0x21C
callq 0x2060
leaq 0x2cdd(%rip), %rdi      # 0xc18e
leaq 0x2b7f(%rip), %rsi      # 0xc037
leaq 0x6a20(%rip), %rcx      # 0xfedf
movl $0x21d, %edx            # imm = 0x21D
callq 0x2060
leaq 0x2cbe(%rip), %rdi      # 0xc18e
leaq 0x2b60(%rip), %rsi      # 0xc037
leaq 0x6a01(%rip), %rcx      # 0xfedf
movl $0x21e, %edx            # imm = 0x21E
callq 0x2060
leaq 0x2c9f(%rip), %rdi      # 0xc18e
leaq 0x2b41(%rip), %rsi      # 0xc037
leaq 0x69e2(%rip), %rcx      # 0xfedf
movl $0x21f, %edx            # imm = 0x21F
callq 0x2060
leaq 0x2c80(%rip), %rdi      # 0xc18e
leaq 0x2b22(%rip), %rsi      # 0xc037
leaq 0x69c3(%rip), %rcx      # 0xfedf
movl $0x220, %edx            # imm = 0x220
callq 0x2060
leaq 0x2c61(%rip), %rdi      # 0xc18e
leaq 0x2b03(%rip), %rsi      # 0xc037
leaq 0x69a4(%rip), %rcx      # 0xfedf
movl $0x22b, %edx            # imm = 0x22B
callq 0x2060
leaq 0x2b0e(%rip), %rdi      # 0xc05a
jmp 0x9606
leaq 0x2b02(%rip), %rdi      # 0xc05a
jmp 0x9625
leaq 0x2af6(%rip), %rdi      # 0xc05a
jmp 0x9644
leaq 0x2aea(%rip), %rdi      # 0xc05a
jmp 0x9663
leaq 0x2ade(%rip), %rdi      # 0xc05a
jmp 0x9682
leaq 0x2ad2(%rip), %rdi      # 0xc05a
jmp 0x96a1
leaq 0x2ac6(%rip), %rdi      # 0xc05a
jmp 0x96c0
leaq 0x70ed(%rip), %rdi      # 0x1068d
leaq 0x2a90(%rip), %rsi      # 0xc037
leaq 0x6931(%rip), %rcx      # 0xfedf
movl $0x233, %edx            # imm = 0x233
callq 0x2060
leaq 0x2bcf(%rip), %rdi      # 0xc18e
leaq 0x2a71(%rip), %rsi      # 0xc037
leaq 0x6912(%rip), %rcx      # 0xfedf
movl $0x236, %edx            # imm = 0x236
callq 0x2060
leaq 0x2bb0(%rip), %rdi      # 0xc18e
jmp 0x95e7
leaq 0x69d5(%rip), %rdi      # 0xffbc
leaq 0x2a49(%rip), %rsi      # 0xc037
leaq 0x68ea(%rip), %rcx      # 0xfedf
movl $0x213, %edx            # imm = 0x213
callq 0x2060
leaq 0x6ab1(%rip), %rdi      # 0x100b7
leaq 0x2a2a(%rip), %rsi      # 0xc037
leaq 0x68cb(%rip), %rcx      # 0xfedf
movl $0x22c, %edx            # imm = 0x22C
callq 0x2060
leaq 0x6b6a(%rip), %rdi      # 0x1018f
leaq 0x2a0b(%rip), %rsi      # 0xc037
leaq 0x68ac(%rip), %rcx      # 0xfedf
movl $0x22d, %edx            # imm = 0x22D
callq 0x2060
leaq 0x6c22(%rip), %rdi      # 0x10266
leaq 0x29ec(%rip), %rsi      # 0xc037
leaq 0x688d(%rip), %rcx      # 0xfedf
movl $0x22e, %edx            # imm = 0x22E
callq 0x2060
leaq 0x6cdc(%rip), %rdi      # 0x1033f
leaq 0x29cd(%rip), %rsi      # 0xc037
leaq 0x686e(%rip), %rcx      # 0xfedf
movl $0x22f, %edx            # imm = 0x22F
callq 0x2060
leaq 0x6d90(%rip), %rdi      # 0x10412
leaq 0x29ae(%rip), %rsi      # 0xc037
leaq 0x684f(%rip), %rcx      # 0xfedf
movl $0x230, %edx            # imm = 0x230
callq 0x2060
leaq 0x6e45(%rip), %rdi      # 0x104e6
leaq 0x298f(%rip), %rsi      # 0xc037
leaq 0x6830(%rip), %rcx      # 0xfedf
movl $0x231, %edx            # imm = 0x231
callq 0x2060
leaq 0x6eff(%rip), %rdi      # 0x105bf
leaq 0x2970(%rip), %rsi      # 0xc037
leaq 0x6811(%rip), %rcx      # 0xfedf
movl $0x232, %edx            # imm = 0x232
callq 0x2060