// File: /workspace/github_c_makefile_star2_O0/reactive-systems[P]aiger-ltl-model-checker/aiger.c
// Function: aiger_reencode_lit
static unsigned
aiger_reencode_lit (aiger * public, unsigned lit,
		    unsigned *new, unsigned *code,
		    unsigned **stack_ptr, unsigned * size_stack_ptr)
{
  unsigned res, old, top, child0, child1, tmp, var, size_stack, * stack;
  IMPORT_private_FROM (public);
  aiger_type *type;
  aiger_and *and;

  if (lit < 2)
    return lit;

  res = code[lit];
  if (res)
    return res;

  var = aiger_lit2var (lit);
  assert (var <= public->maxvar);
  type = private->types + var;

  if (type->and)
    {
      top = 0;
      stack = *stack_ptr;
      size_stack = *size_stack_ptr;
      PUSH (stack, top, size_stack, var);

      while (top > 0)
	{
	  old = stack[--top];
	  if (old)
	    {
	      if (code[aiger_var2lit (old)])
		continue;

	      assert (old <= public->maxvar);
	      type = private->types + old;
	      if (type->onstack)
		continue;

	      type->onstack = 1;

	      PUSH (stack, top, size_stack, old);
	      PUSH (stack, top, size_stack, 0);

	      assert (type->and);
	      assert (type->idx < public->num_ands);

	      and = public->ands + type->idx;
	      assert (and);

	      child0 = aiger_lit2var (and->rhs0);
	      child1 = aiger_lit2var (and->rhs1);

	      if (child0 < child1)
		{
		  tmp = child0;
		  child0 = child1;
		  child1 = tmp;
		}

	      assert (child0 >= child1);	/* smaller child first */

	      if (child0)
		{
		  type = private->types + child0;
		  if (!type->input && !type->latch && !type->onstack)
		    PUSH (stack, top, size_stack, child0);
		}

	      if (child1)
		{
		  type = private->types + child1;
		  if (!type->input && !type->latch && !type->onstack)
		    PUSH (stack, top, size_stack, child1);
		}
	    }
	  else
	    {
	      assert (top > 0);
	      old = stack[--top];
	      assert (!code[aiger_var2lit (old)]);
	      type = private->types + old;
	      assert (type->onstack);
	      type->onstack = 0;
	      aiger_new_code (old, new, code);
	    }
	}
      *size_stack_ptr = size_stack;
      *stack_ptr = stack;
    }
  else
    {
      assert (type->input || type->latch);
      assert (lit < *new);

      code[lit] = lit;
      code[aiger_not (lit)] = aiger_not (lit);
    }

  assert (code[lit]);

  return code[lit];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1c0, %rsp            # imm = 0x1C0
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
cmpl $0x2, -0x14(%rbp)
jae 0x5f3b
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x6b41
movq -0x28(%rbp), %rax
movl -0x14(%rbp), %ecx
movl (%rax,%rcx,4), %eax
movl %eax, -0x3c(%rbp)
cmpl $0x0, -0x3c(%rbp)
je 0x5f59
movl -0x3c(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x6b41
movl -0x14(%rbp), %eax
shrl %eax
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl (%rcx), %eax
ja 0x5f6e
jmp 0x5f8d
leaq 0x696f(%rip), %rdi      # 0xc8e4
leaq 0x632d(%rip), %rsi      # 0xc2a9
movl $0x566, %edx            # imm = 0x566
leaq 0x6dbb(%rip), %rcx      # 0xcd43
callq 0x10f0
movq -0x68(%rbp), %rax
movq 0x70(%rax), %rax
movl -0x54(%rbp), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movb (%rax), %al
shrb $0x2, %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
je 0x6a75
movl $0x0, -0x44(%rbp)
movq -0x30(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x60(%rbp)
movq -0x38(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x58(%rbp)
movl -0x44(%rbp), %eax
cmpl -0x58(%rbp), %eax
jne 0x6124
jmp 0x5fe3
movl -0x58(%rbp), %eax
movq %rax, -0x80(%rbp)
cmpq $0x0, -0x80(%rbp)
je 0x6001
movq -0x80(%rbp), %rax
shlq %rax
movq %rax, -0x170(%rbp)
jmp 0x600f
movl $0x1, %eax
movq %rax, -0x170(%rbp)
jmp 0x600f
movq -0x170(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x80(%rbp), %rax
shlq $0x2, %rax
movq %rax, -0x90(%rbp)
movq -0x88(%rbp), %rax
shlq $0x2, %rax
movq %rax, -0x98(%rbp)
movq -0x90(%rbp), %rax
cmpq -0x98(%rbp), %rax
jae 0x605e
movq -0x90(%rbp), %rax
movq %rax, -0x178(%rbp)
jmp 0x606c
movq -0x98(%rbp), %rax
movq %rax, -0x178(%rbp)
movq -0x178(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x68(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x68(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x98(%rbp), %rsi
callq *%rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rdi
movq -0x60(%rbp), %rsi
movq -0xa0(%rbp), %rdx
callq 0x1140
movq -0x98(%rbp), %rax
cmpq -0x90(%rbp), %rax
jbe 0x60ea
movq -0xa8(%rbp), %rdi
addq -0x90(%rbp), %rdi
movq -0x98(%rbp), %rdx
subq -0x90(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq -0x68(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x68(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x60(%rbp), %rsi
movq -0x90(%rbp), %rdx
callq *%rax
movq -0xa8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x88(%rbp), %rax
movl %eax, -0x58(%rbp)
jmp 0x6124
movl -0x54(%rbp), %edx
movq -0x60(%rbp), %rax
movl -0x44(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x44(%rbp)
movl %ecx, %ecx
movl %edx, (%rax,%rcx,4)
jmp 0x613d
cmpl $0x0, -0x44(%rbp)
jbe 0x6a5c
movq -0x60(%rbp), %rax
movl -0x44(%rbp), %ecx
addl $-0x1, %ecx
movl %ecx, -0x44(%rbp)
movl %ecx, %ecx
movl (%rax,%rcx,4), %eax
movl %eax, -0x40(%rbp)
cmpl $0x0, -0x40(%rbp)
je 0x6981
movq -0x28(%rbp), %rax
movl -0x40(%rbp), %ecx
shll %ecx
movl %ecx, %ecx
cmpl $0x0, (%rax,%rcx,4)
je 0x6179
jmp 0x613d
movl -0x40(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl (%rcx), %eax
ja 0x6186
jmp 0x61a5
leaq 0x6c2e(%rip), %rdi      # 0xcdbb
leaq 0x6115(%rip), %rsi      # 0xc2a9
movl $0x578, %edx            # imm = 0x578
leaq 0x6ba3(%rip), %rcx      # 0xcd43
callq 0x10f0
movq -0x68(%rbp), %rax
movq 0x70(%rax), %rax
movl -0x40(%rbp), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movb (%rax), %al
shrb $0x4, %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
je 0x61d3
jmp 0x613d
movq -0x70(%rbp), %rax
movb (%rax), %cl
andb $-0x11, %cl
orb $0x10, %cl
movb %cl, (%rax)
movl -0x44(%rbp), %eax
cmpl -0x58(%rbp), %eax
jne 0x633c
jmp 0x61ef
movl -0x58(%rbp), %eax
movq %rax, -0xb0(%rbp)
cmpq $0x0, -0xb0(%rbp)
je 0x6216
movq -0xb0(%rbp), %rax
shlq %rax
movq %rax, -0x180(%rbp)
jmp 0x6224
movl $0x1, %eax
movq %rax, -0x180(%rbp)
jmp 0x6224
movq -0x180(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0xb0(%rbp), %rax
shlq $0x2, %rax
movq %rax, -0xc0(%rbp)
movq -0xb8(%rbp), %rax
shlq $0x2, %rax
movq %rax, -0xc8(%rbp)
movq -0xc0(%rbp), %rax
cmpq -0xc8(%rbp), %rax
jae 0x6276
movq -0xc0(%rbp), %rax
movq %rax, -0x188(%rbp)
jmp 0x6284
movq -0xc8(%rbp), %rax
movq %rax, -0x188(%rbp)
movq -0x188(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq -0x68(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x68(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0xc8(%rbp), %rsi
callq *%rax
movq %rax, -0xd8(%rbp)
movq -0xd8(%rbp), %rdi
movq -0x60(%rbp), %rsi
movq -0xd0(%rbp), %rdx
callq 0x1140
movq -0xc8(%rbp), %rax
cmpq -0xc0(%rbp), %rax
jbe 0x6302
movq -0xd8(%rbp), %rdi
addq -0xc0(%rbp), %rdi
movq -0xc8(%rbp), %rdx
subq -0xc0(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq -0x68(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x68(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x60(%rbp), %rsi
movq -0xc0(%rbp), %rdx
callq *%rax
movq -0xd8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0xb8(%rbp), %rax
movl %eax, -0x58(%rbp)
jmp 0x633c
movl -0x40(%rbp), %edx
movq -0x60(%rbp), %rax
movl -0x44(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x44(%rbp)
movl %ecx, %ecx
movl %edx, (%rax,%rcx,4)
jmp 0x6355
movl -0x44(%rbp), %eax
cmpl -0x58(%rbp), %eax
jne 0x64b0
jmp 0x6363
movl -0x58(%rbp), %eax
movq %rax, -0xe0(%rbp)
cmpq $0x0, -0xe0(%rbp)
je 0x638a
movq -0xe0(%rbp), %rax
shlq %rax
movq %rax, -0x190(%rbp)
jmp 0x6398
movl $0x1, %eax
movq %rax, -0x190(%rbp)
jmp 0x6398
movq -0x190(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0xe0(%rbp), %rax
shlq $0x2, %rax
movq %rax, -0xf0(%rbp)
movq -0xe8(%rbp), %rax
shlq $0x2, %rax
movq %rax, -0xf8(%rbp)
movq -0xf0(%rbp), %rax
cmpq -0xf8(%rbp), %rax
jae 0x63ea
movq -0xf0(%rbp), %rax
movq %rax, -0x198(%rbp)
jmp 0x63f8
movq -0xf8(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0x198(%rbp), %rax
movq %rax, -0x100(%rbp)
movq -0x68(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x68(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0xf8(%rbp), %rsi
callq *%rax
movq %rax, -0x108(%rbp)
movq -0x108(%rbp), %rdi
movq -0x60(%rbp), %rsi
movq -0x100(%rbp), %rdx
callq 0x1140
movq -0xf8(%rbp), %rax
cmpq -0xf0(%rbp), %rax
jbe 0x6476
movq -0x108(%rbp), %rdi
addq -0xf0(%rbp), %rdi
movq -0xf8(%rbp), %rdx
subq -0xf0(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq -0x68(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x68(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x60(%rbp), %rsi
movq -0xf0(%rbp), %rdx
callq *%rax
movq -0x108(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0xe8(%rbp), %rax
movl %eax, -0x58(%rbp)
jmp 0x64b0
movq -0x60(%rbp), %rax
movl -0x44(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x44(%rbp)
movl %ecx, %ecx
movl $0x0, (%rax,%rcx,4)
movq -0x70(%rbp), %rax
movb (%rax), %al
shrb $0x2, %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
je 0x64dd
jmp 0x64fc
leaq 0x5e90(%rip), %rdi      # 0xc374
leaq 0x5dbe(%rip), %rsi      # 0xc2a9
movl $0x582, %edx            # imm = 0x582
leaq 0x684c(%rip), %rcx      # 0xcd43
callq 0x10f0
movq -0x70(%rbp), %rax
movl 0x4(%rax), %eax
movq -0x10(%rbp), %rcx
cmpl 0x10(%rcx), %eax
jae 0x650e
jmp 0x652d
leaq 0x66fc(%rip), %rdi      # 0xcc11
leaq 0x5d8d(%rip), %rsi      # 0xc2a9
movl $0x583, %edx            # imm = 0x583
leaq 0x681b(%rip), %rcx      # 0xcd43
callq 0x10f0
movq -0x10(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x70(%rbp), %rcx
movl 0x4(%rcx), %ecx
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x78(%rbp)
cmpq $0x0, -0x78(%rbp)
je 0x6550
jmp 0x656f
leaq 0x5e23(%rip), %rdi      # 0xc37a
leaq 0x5d4b(%rip), %rsi      # 0xc2a9
movl $0x586, %edx            # imm = 0x586
leaq 0x67d9(%rip), %rcx      # 0xcd43
callq 0x10f0
movq -0x78(%rbp), %rax
movl 0x4(%rax), %eax
shrl %eax
movl %eax, -0x48(%rbp)
movq -0x78(%rbp), %rax
movl 0x8(%rax), %eax
shrl %eax
movl %eax, -0x4c(%rbp)
movl -0x48(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0x65a1
movl -0x48(%rbp), %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %eax
movl %eax, -0x48(%rbp)
movl -0x50(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x48(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jb 0x65ab
jmp 0x65ca
leaq 0x681f(%rip), %rdi      # 0xcdd1
leaq 0x5cf0(%rip), %rsi      # 0xc2a9
movl $0x592, %edx            # imm = 0x592
leaq 0x677e(%rip), %rcx      # 0xcd43
callq 0x10f0
cmpl $0x0, -0x48(%rbp)
je 0x67a3
movq -0x68(%rbp), %rax
movq 0x70(%rax), %rax
movl -0x48(%rbp), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movb (%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x67a1
movq -0x70(%rbp), %rax
movb (%rax), %al
shrb %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x67a1
movq -0x70(%rbp), %rax
movb (%rax), %al
shrb $0x4, %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x67a1
jmp 0x662d
movl -0x44(%rbp), %eax
cmpl -0x58(%rbp), %eax
jne 0x6788
jmp 0x663b
movl -0x58(%rbp), %eax
movq %rax, -0x110(%rbp)
cmpq $0x0, -0x110(%rbp)
je 0x6662
movq -0x110(%rbp), %rax
shlq %rax
movq %rax, -0x1a0(%rbp)
jmp 0x6670
movl $0x1, %eax
movq %rax, -0x1a0(%rbp)
jmp 0x6670
movq -0x1a0(%rbp), %rax
movq %rax, -0x118(%rbp)
movq -0x110(%rbp), %rax
shlq $0x2, %rax
movq %rax, -0x120(%rbp)
movq -0x118(%rbp), %rax
shlq $0x2, %rax
movq %rax, -0x128(%rbp)
movq -0x120(%rbp), %rax
cmpq -0x128(%rbp), %rax
jae 0x66c2
movq -0x120(%rbp), %rax
movq %rax, -0x1a8(%rbp)
jmp 0x66d0
movq -0x128(%rbp), %rax
movq %rax, -0x1a8(%rbp)
movq -0x1a8(%rbp), %rax
movq %rax, -0x130(%rbp)
movq -0x68(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x68(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x128(%rbp), %rsi
callq *%rax
movq %rax, -0x138(%rbp)
movq -0x138(%rbp), %rdi
movq -0x60(%rbp), %rsi
movq -0x130(%rbp), %rdx
callq 0x1140
movq -0x128(%rbp), %rax
cmpq -0x120(%rbp), %rax
jbe 0x674e
movq -0x138(%rbp), %rdi
addq -0x120(%rbp), %rdi
movq -0x128(%rbp), %rdx
subq -0x120(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq -0x68(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x68(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x60(%rbp), %rsi
movq -0x120(%rbp), %rdx
callq *%rax
movq -0x138(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x118(%rbp), %rax
movl %eax, -0x58(%rbp)
jmp 0x6788
movl -0x48(%rbp), %edx
movq -0x60(%rbp), %rax
movl -0x44(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x44(%rbp)
movl %ecx, %ecx
movl %edx, (%rax,%rcx,4)
jmp 0x67a1
jmp 0x67a3
cmpl $0x0, -0x4c(%rbp)
je 0x697c
movq -0x68(%rbp), %rax
movq 0x70(%rax), %rax
movl -0x4c(%rbp), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movb (%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x697a
movq -0x70(%rbp), %rax
movb (%rax), %al
shrb %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x697a
movq -0x70(%rbp), %rax
movb (%rax), %al
shrb $0x4, %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x697a
jmp 0x6806
movl -0x44(%rbp), %eax
cmpl -0x58(%rbp), %eax
jne 0x6961
jmp 0x6814
movl -0x58(%rbp), %eax
movq %rax, -0x140(%rbp)
cmpq $0x0, -0x140(%rbp)
je 0x683b
movq -0x140(%rbp), %rax
shlq %rax
movq %rax, -0x1b0(%rbp)
jmp 0x6849
movl $0x1, %eax
movq %rax, -0x1b0(%rbp)
jmp 0x6849
movq -0x1b0(%rbp), %rax
movq %rax, -0x148(%rbp)
movq -0x140(%rbp), %rax
shlq $0x2, %rax
movq %rax, -0x150(%rbp)
movq -0x148(%rbp), %rax
shlq $0x2, %rax
movq %rax, -0x158(%rbp)
movq -0x150(%rbp), %rax
cmpq -0x158(%rbp), %rax
jae 0x689b
movq -0x150(%rbp), %rax
movq %rax, -0x1b8(%rbp)
jmp 0x68a9
movq -0x158(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rax
movq %rax, -0x160(%rbp)
movq -0x68(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x68(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x158(%rbp), %rsi
callq *%rax
movq %rax, -0x168(%rbp)
movq -0x168(%rbp), %rdi
movq -0x60(%rbp), %rsi
movq -0x160(%rbp), %rdx
callq 0x1140
movq -0x158(%rbp), %rax
cmpq -0x150(%rbp), %rax
jbe 0x6927
movq -0x168(%rbp), %rdi
addq -0x150(%rbp), %rdi
movq -0x158(%rbp), %rdx
subq -0x150(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq -0x68(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x68(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x60(%rbp), %rsi
movq -0x150(%rbp), %rdx
callq *%rax
movq -0x168(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x148(%rbp), %rax
movl %eax, -0x58(%rbp)
jmp 0x6961
movl -0x4c(%rbp), %edx
movq -0x60(%rbp), %rax
movl -0x44(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x44(%rbp)
movl %ecx, %ecx
movl %edx, (%rax,%rcx,4)
jmp 0x697a
jmp 0x697c
jmp 0x6a57
cmpl $0x0, -0x44(%rbp)
jbe 0x6989
jmp 0x69a8
leaq 0x6452(%rip), %rdi      # 0xcde2
leaq 0x5912(%rip), %rsi      # 0xc2a9
movl $0x5a4, %edx            # imm = 0x5A4
leaq 0x63a0(%rip), %rcx      # 0xcd43
callq 0x10f0
movq -0x60(%rbp), %rax
movl -0x44(%rbp), %ecx
addl $-0x1, %ecx
movl %ecx, -0x44(%rbp)
movl %ecx, %ecx
movl (%rax,%rcx,4), %eax
movl %eax, -0x40(%rbp)
movq -0x28(%rbp), %rax
movl -0x40(%rbp), %ecx
shll %ecx
movl %ecx, %ecx
cmpl $0x0, (%rax,%rcx,4)
jne 0x69d0
jmp 0x69ef
leaq 0x6413(%rip), %rdi      # 0xcdea
leaq 0x58cb(%rip), %rsi      # 0xc2a9
movl $0x5a6, %edx            # imm = 0x5A6
leaq 0x6359(%rip), %rcx      # 0xcd43
callq 0x10f0
movq -0x68(%rbp), %rax
movq 0x70(%rax), %rax
movl -0x40(%rbp), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movb (%rax), %al
shrb $0x4, %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
je 0x6a1a
jmp 0x6a39
leaq 0x6256(%rip), %rdi      # 0xcc77
leaq 0x5881(%rip), %rsi      # 0xc2a9
movl $0x5a8, %edx            # imm = 0x5A8
leaq 0x630f(%rip), %rcx      # 0xcd43
callq 0x10f0
movq -0x70(%rbp), %rax
movb (%rax), %cl
andb $-0x11, %cl
orb $0x0, %cl
movb %cl, (%rax)
movl -0x40(%rbp), %edi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0xa4a0
jmp 0x613d
movl -0x58(%rbp), %ecx
movq -0x38(%rbp), %rax
movl %ecx, (%rax)
movq -0x60(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
jmp 0x6b06
movq -0x70(%rbp), %rax
movb (%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x6a97
movq -0x70(%rbp), %rax
movb (%rax), %al
shrb %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
je 0x6a99
jmp 0x6ab8
leaq 0x6365(%rip), %rdi      # 0xce05
leaq 0x5802(%rip), %rsi      # 0xc2a9
movl $0x5b2, %edx            # imm = 0x5B2
leaq 0x6290(%rip), %rcx      # 0xcd43
callq 0x10f0
movl -0x14(%rbp), %eax
movq -0x20(%rbp), %rcx
cmpl (%rcx), %eax
jae 0x6ac5
jmp 0x6ae4
leaq 0x6354(%rip), %rdi      # 0xce20
leaq 0x57d6(%rip), %rsi      # 0xc2a9
movl $0x5b3, %edx            # imm = 0x5B3
leaq 0x6264(%rip), %rcx      # 0xcd43
callq 0x10f0
movl -0x14(%rbp), %edx
movq -0x28(%rbp), %rax
movl -0x14(%rbp), %ecx
movl %edx, (%rax,%rcx,4)
movl -0x14(%rbp), %edx
xorl $0x1, %edx
movq -0x28(%rbp), %rax
movl -0x14(%rbp), %ecx
xorl $0x1, %ecx
movl %ecx, %ecx
movl %edx, (%rax,%rcx,4)
movq -0x28(%rbp), %rax
movl -0x14(%rbp), %ecx
cmpl $0x0, (%rax,%rcx,4)
je 0x6b15
jmp 0x6b34
leaq 0x6310(%rip), %rdi      # 0xce2c
leaq 0x5786(%rip), %rsi      # 0xc2a9
movl $0x5b9, %edx            # imm = 0x5B9
leaq 0x6214(%rip), %rcx      # 0xcd43
callq 0x10f0
movq -0x28(%rbp), %rax
movl -0x14(%rbp), %ecx
movl (%rax,%rcx,4), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x1c0, %rsp            # imm = 0x1C0
popq %rbp
retq
nopl (%rax)