// File: /workspace/github_c_makefile_star2_O0/reactive-systems[P]aiger-ltl-model-checker/aiger.c
// Function: aiger_read_header
static const char *
aiger_read_header (aiger * public, aiger_reader * reader)
{
  IMPORT_private_FROM (public);
  unsigned i, j, lit, next, reset;
  unsigned * sizes, * lits;
  const char *error;
  char ch;

  aiger_next_ch (reader);
  if (reader->ch != 'a')
    return aiger_error_u (private,
			  "line %u: expected 'a' as first character",
			  reader->lineno);

  if (aiger_next_ch (reader) != 'i' && reader->ch != 'a')
    return aiger_error_u (private,
			  "line %u: expected 'i' or 'a' after 'a'",
			  reader->lineno);

  if (reader->ch == 'a')
    reader->mode = aiger_ascii_mode;
  else
    reader->mode = aiger_binary_mode;

  if (aiger_next_ch (reader) != 'g')
    return aiger_error_u (private,
			  "line %u: expected 'g' after 'a[ai]'",
			  reader->lineno);

  if (aiger_next_ch (reader) != ' ')
    return aiger_error_u (private,
			  "line %u: expected ' ' after 'a[ai]g'",
			  reader->lineno);

  aiger_next_ch (reader);

  if (aiger_read_literal (private, reader, &reader->maxvar, ' ', 0) ||
      aiger_read_literal (private, reader, &reader->inputs, ' ', 0) ||
      aiger_read_literal (private, reader, &reader->latches, ' ', 0) ||
      aiger_read_literal (private, reader, &reader->outputs, ' ', 0) ||
      aiger_read_literal (private, reader, &reader->ands, 0, &ch) ||
      (ch == ' ' &&
       aiger_read_literal (private, reader, &reader->bad, 0, &ch)) ||
      (ch == ' ' &&
       aiger_read_literal (private, reader, &reader->constraints, 0, &ch)) ||
      (ch == ' ' &&
       aiger_read_literal (private, reader, &reader->justice, 0, &ch)) ||
      (ch == ' ' &&
       aiger_read_literal (private, reader, &reader->fairness, '\n', 0)))
    {
      assert (private->error);
      return private->error;
    }

  if (reader->mode == aiger_binary_mode)
    {
      i = reader->inputs;
      i += reader->latches;
      i += reader->ands;

      if (i != reader->maxvar)
	return aiger_error_u (private,
			      "line %u: invalid maximal variable index",
			      reader->lineno);
    }

  public->maxvar = reader->maxvar;

  FIT (private->types, private->size_types, public->maxvar + 1);
  FIT (public->inputs, private->size_inputs, reader->inputs);
  FIT (public->latches, private->size_latches, reader->latches);
  FIT (public->outputs, private->size_outputs, reader->outputs);
  FIT (public->ands, private->size_ands, reader->ands);
  FIT (public->bad, private->size_bad, reader->bad);
  FIT (public->constraints, private->size_constraints, reader->constraints);
  FIT (public->justice, private->size_justice, reader->justice);
  FIT (public->fairness, private->size_fairness, reader->fairness);

  for (i = 0; i < reader->inputs; i++)
    {
      if (reader->mode == aiger_ascii_mode)
	{
	  error = aiger_read_literal (private, reader, &lit, '\n', 0);
	  if (error)
	    return error;

	  if (!lit || aiger_sign (lit)
	      || aiger_lit2var (lit) > public->maxvar)
	    return aiger_error_uu (private,
				   "line %u: literal %u is not a valid input",
				   reader->lineno_at_last_token_start, lit);

	  error = aiger_already_defined (public, reader, lit);
	  if (error)
	    return error;
	}
      else
	lit = 2 * (i + 1);

      aiger_add_input (public, lit, 0);
    }

  for (i = 0; i < reader->latches; i++)
    {
      if (reader->mode == aiger_ascii_mode)
	{
	  error = aiger_read_literal (private, reader, &lit, ' ', 0);
	  if (error)
	    return error;

	  if (!lit || aiger_sign (lit)
	      || aiger_lit2var (lit) > public->maxvar)
	    return aiger_error_uu (private,
				   "line %u: literal %u is not a valid latch",
				   reader->lineno_at_last_token_start, lit);

	  error = aiger_already_defined (public, reader, lit);
	  if (error)
	    return error;
	}
      else
	lit = 2 * (i + reader->inputs + 1);

      error = aiger_read_literal (private, reader, &next, 0, &ch);
      if (error)
	return error;

      if (aiger_lit2var (next) > public->maxvar)
	return aiger_error_uu (private,
			       "line %u: literal %u is not a valid literal",
			       reader->lineno_at_last_token_start, next);

      aiger_add_latch (public, lit, next, 0);

      if (ch == ' ')
	{
	  error = aiger_read_literal (private, reader, &reset, '\n', 0);
	  if (error)
	    return error;

	  aiger_add_reset (public, lit, reset);
	}
    }

  for (i = 0; i < reader->outputs; i++)
    {
      error = aiger_read_literal (private, reader, &lit, '\n', 0);
      if (error)
	return error;

      if (aiger_lit2var (lit) > public->maxvar)
	return aiger_error_uu (private,
			       "line %u: literal %u is not a valid output",
			       reader->lineno_at_last_token_start, lit);

      aiger_add_output (public, lit, 0);
    }

  for (i = 0; i < reader->bad; i++)
    {
      error = aiger_read_literal (private, reader, &lit, '\n', 0);
      if (error)
	return error;

      if (aiger_lit2var (lit) > public->maxvar)
	return aiger_error_uu (private,
			       "line %u: literal %u is not valid bad",
			       reader->lineno_at_last_token_start, lit);

      aiger_add_bad (public, lit, 0);
    }

  for (i = 0; i < reader->constraints; i++)
    {
      error = aiger_read_literal (private, reader, &lit, '\n', 0);
      if (error)
	return error;

      if (aiger_lit2var (lit) > public->maxvar)
	return aiger_error_uu (private,
		 "line %u: literal %u is not a valid constraint",
		 reader->lineno_at_last_token_start, lit);

      aiger_add_constraint (public, lit, 0);
    }

  if (reader->justice)
    {
      NEWN (sizes, reader->justice);
      error =  0;
      for (i = 0; !error && i < reader->justice; i++)
	error = aiger_read_literal (private, reader, sizes + i, '\n', 0);
      for (i = 0; !error && i < reader->justice; i++)
	{
	  NEWN (lits, sizes[i]);
	  for (j = 0; !error && j < sizes[i]; j++)
	    error = aiger_read_literal (private, reader, lits + j, '\n', 0);
	  if (!error)
	    aiger_add_justice (public, sizes[i], lits, 0);
	  DELETEN (lits, sizes[i]);
	}
      DELETEN (sizes, reader->justice);
      if (error)
	return error;
    }

  for (i = 0; i < reader->fairness; i++)
    {
      error = aiger_read_literal (private, reader, &lit, '\n', 0);
      if (error)
	return error;

      if (aiger_lit2var (lit) > public->maxvar)
	return aiger_error_uu (private,
		 "line %u: literal %u is not valid fairness",
		 reader->lineno_at_last_token_start, lit);

      aiger_add_fairness (public, lit, 0);
    }

  reader->done_with_reading_header = 1;
  reader->looks_like_aag = 1;

  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x280, %rsp            # imm = 0x280
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0xae30
movq -0x18(%rbp), %rax
cmpl $0x61, 0x10(%rax)
je 0x79de
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x14(%rax), %edx
leaq 0x5548(%rip), %rsi      # 0xcf18
callq 0xa150
movq %rax, -0x8(%rbp)
jmp 0x8fff
movq -0x18(%rbp), %rdi
callq 0xae30
cmpl $0x69, %eax
je 0x7a16
movq -0x18(%rbp), %rax
cmpl $0x61, 0x10(%rax)
je 0x7a16
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x14(%rax), %edx
leaq 0x5539(%rip), %rsi      # 0xcf41
callq 0xa150
movq %rax, -0x8(%rbp)
jmp 0x8fff
movq -0x18(%rbp), %rax
cmpl $0x61, 0x10(%rax)
jne 0x7a2d
movq -0x18(%rbp), %rax
movl $0x1, 0x28(%rax)
jmp 0x7a38
movq -0x18(%rbp), %rax
movl $0x0, 0x28(%rax)
movq -0x18(%rbp), %rdi
callq 0xae30
cmpl $0x67, %eax
je 0x7a66
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x14(%rax), %edx
leaq 0x5510(%rip), %rsi      # 0xcf68
callq 0xa150
movq %rax, -0x8(%rbp)
jmp 0x8fff
movq -0x18(%rbp), %rdi
callq 0xae30
cmpl $0x20, %eax
je 0x7a94
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x14(%rax), %edx
leaq 0x5506(%rip), %rsi      # 0xcf8c
callq 0xa150
movq %rax, -0x8(%rbp)
jmp 0x8fff
movq -0x18(%rbp), %rdi
callq 0xae30
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0x2c, %rdx
movl $0x20, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0xaf30
cmpq $0x0, %rax
jne 0x7c16
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0x30, %rdx
movl $0x20, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0xaf30
cmpq $0x0, %rax
jne 0x7c16
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0x34, %rdx
movl $0x20, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0xaf30
cmpq $0x0, %rax
jne 0x7c16
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0x38, %rdx
movl $0x20, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0xaf30
cmpq $0x0, %rax
jne 0x7c16
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0x3c, %rdx
xorl %ecx, %ecx
leaq -0x51(%rbp), %r8
callq 0xaf30
cmpq $0x0, %rax
jne 0x7c16
movsbl -0x51(%rbp), %eax
cmpl $0x20, %eax
jne 0x7b94
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0x40, %rdx
xorl %ecx, %ecx
leaq -0x51(%rbp), %r8
callq 0xaf30
cmpq $0x0, %rax
jne 0x7c16
movsbl -0x51(%rbp), %eax
cmpl $0x20, %eax
jne 0x7bbe
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0x44, %rdx
xorl %ecx, %ecx
leaq -0x51(%rbp), %r8
callq 0xaf30
cmpq $0x0, %rax
jne 0x7c16
movsbl -0x51(%rbp), %eax
cmpl $0x20, %eax
jne 0x7be8
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0x48, %rdx
xorl %ecx, %ecx
leaq -0x51(%rbp), %r8
callq 0xaf30
cmpq $0x0, %rax
jne 0x7c16
movsbl -0x51(%rbp), %eax
cmpl $0x20, %eax
jne 0x7c59
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0x4c, %rdx
movl $0xa, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0xaf30
cmpq $0x0, %rax
je 0x7c59
movq -0x20(%rbp), %rax
cmpq $0x0, 0xd0(%rax)
je 0x7c26
jmp 0x7c45
leaq 0x4e3a(%rip), %rdi      # 0xca67
leaq 0x4675(%rip), %rsi      # 0xc2a9
movl $0x811, %edx            # imm = 0x811
leaq 0x5371(%rip), %rcx      # 0xcfb1
callq 0x10f0
movq -0x20(%rbp), %rax
movq 0xd0(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x8fff
movq -0x18(%rbp), %rax
cmpl $0x0, 0x28(%rax)
jne 0x7cb5
movq -0x18(%rbp), %rax
movl 0x30(%rax), %eax
movl %eax, -0x24(%rbp)
movq -0x18(%rbp), %rax
movl 0x34(%rax), %eax
addl -0x24(%rbp), %eax
movl %eax, -0x24(%rbp)
movq -0x18(%rbp), %rax
movl 0x3c(%rax), %eax
addl -0x24(%rbp), %eax
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x2c(%rcx), %eax
je 0x7cb3
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x14(%rax), %edx
leaq 0x5343(%rip), %rsi      # 0xcfe8
callq 0xa150
movq %rax, -0x8(%rbp)
jmp 0x8fff
jmp 0x7cb5
movq -0x18(%rbp), %rax
movl 0x2c(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movq -0x20(%rbp), %rax
movl 0x78(%rax), %eax
movq %rax, -0x60(%rbp)
movq -0x10(%rbp), %rax
movl (%rax), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, -0x68(%rbp)
movq -0x60(%rbp), %rax
cmpq -0x68(%rbp), %rax
jae 0x7dd0
jmp 0x7cec
movq -0x60(%rbp), %rax
shlq $0x3, %rax
movq %rax, -0x70(%rbp)
movq -0x68(%rbp), %rax
shlq $0x3, %rax
movq %rax, -0x78(%rbp)
movq -0x70(%rbp), %rax
cmpq -0x78(%rbp), %rax
jae 0x7d1b
movq -0x70(%rbp), %rax
movq %rax, -0x230(%rbp)
jmp 0x7d26
movq -0x78(%rbp), %rax
movq %rax, -0x230(%rbp)
movq -0x230(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x20(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x78(%rbp), %rsi
callq *%rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x70(%rax), %rsi
movq -0x80(%rbp), %rdx
callq 0x1140
movq -0x78(%rbp), %rax
cmpq -0x70(%rbp), %rax
jbe 0x7d90
movq -0x88(%rbp), %rdi
addq -0x70(%rbp), %rdi
movq -0x78(%rbp), %rdx
subq -0x70(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq -0x20(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x20(%rbp), %rcx
movq 0x70(%rcx), %rsi
movq -0x70(%rbp), %rdx
callq *%rax
movq -0x88(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x70(%rax)
movq -0x68(%rbp), %rax
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x78(%rax)
jmp 0x7dd2
jmp 0x7dd4
movq -0x20(%rbp), %rax
movl 0x8c(%rax), %eax
movq %rax, -0x90(%rbp)
movq -0x18(%rbp), %rax
movl 0x30(%rax), %eax
movq %rax, -0x98(%rbp)
movq -0x90(%rbp), %rax
cmpq -0x98(%rbp), %rax
jae 0x7f26
jmp 0x7e09
movq -0x90(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0xa0(%rbp)
movq -0x98(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0xa8(%rbp)
movq -0xa0(%rbp), %rax
cmpq -0xa8(%rbp), %rax
jae 0x7e4d
movq -0xa0(%rbp), %rax
movq %rax, -0x238(%rbp)
jmp 0x7e5b
movq -0xa8(%rbp), %rax
movq %rax, -0x238(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x20(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0xa8(%rbp), %rsi
callq *%rax
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rsi
movq -0xb0(%rbp), %rdx
callq 0x1140
movq -0xa8(%rbp), %rax
cmpq -0xa0(%rbp), %rax
jbe 0x7edd
movq -0xb8(%rbp), %rdi
addq -0xa0(%rbp), %rdi
movq -0xa8(%rbp), %rdx
subq -0xa0(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq -0x20(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x10(%rbp), %rcx
movq 0x28(%rcx), %rsi
movq -0xa0(%rbp), %rdx
callq *%rax
movq -0xb8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x98(%rbp), %rax
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x8c(%rax)
jmp 0x7f28
jmp 0x7f2a
movq -0x20(%rbp), %rax
movl 0x90(%rax), %eax
movq %rax, -0xc0(%rbp)
movq -0x18(%rbp), %rax
movl 0x34(%rax), %eax
movq %rax, -0xc8(%rbp)
movq -0xc0(%rbp), %rax
cmpq -0xc8(%rbp), %rax
jae 0x807c
jmp 0x7f5f
movq -0xc0(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0xd0(%rbp)
movq -0xc8(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0xd8(%rbp)
movq -0xd0(%rbp), %rax
cmpq -0xd8(%rbp), %rax
jae 0x7fa3
movq -0xd0(%rbp), %rax
movq %rax, -0x240(%rbp)
jmp 0x7fb1
movq -0xd8(%rbp), %rax
movq %rax, -0x240(%rbp)
movq -0x240(%rbp), %rax
movq %rax, -0xe0(%rbp)
movq -0x20(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0xd8(%rbp), %rsi
callq *%rax
movq %rax, -0xe8(%rbp)
movq -0xe8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rsi
movq -0xe0(%rbp), %rdx
callq 0x1140
movq -0xd8(%rbp), %rax
cmpq -0xd0(%rbp), %rax
jbe 0x8033
movq -0xe8(%rbp), %rdi
addq -0xd0(%rbp), %rdi
movq -0xd8(%rbp), %rdx
subq -0xd0(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq -0x20(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x10(%rbp), %rcx
movq 0x30(%rcx), %rsi
movq -0xd0(%rbp), %rdx
callq *%rax
movq -0xe8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x30(%rax)
movq -0xc8(%rbp), %rax
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x90(%rax)
jmp 0x807e
jmp 0x8080
movq -0x20(%rbp), %rax
movl 0x94(%rax), %eax
movq %rax, -0xf0(%rbp)
movq -0x18(%rbp), %rax
movl 0x38(%rax), %eax
movq %rax, -0xf8(%rbp)
movq -0xf0(%rbp), %rax
cmpq -0xf8(%rbp), %rax
jae 0x81d2
jmp 0x80b5
movq -0xf0(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0x100(%rbp)
movq -0xf8(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0x108(%rbp)
movq -0x100(%rbp), %rax
cmpq -0x108(%rbp), %rax
jae 0x80f9
movq -0x100(%rbp), %rax
movq %rax, -0x248(%rbp)
jmp 0x8107
movq -0x108(%rbp), %rax
movq %rax, -0x248(%rbp)
movq -0x248(%rbp), %rax
movq %rax, -0x110(%rbp)
movq -0x20(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x108(%rbp), %rsi
callq *%rax
movq %rax, -0x118(%rbp)
movq -0x118(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movq -0x110(%rbp), %rdx
callq 0x1140
movq -0x108(%rbp), %rax
cmpq -0x100(%rbp), %rax
jbe 0x8189
movq -0x118(%rbp), %rdi
addq -0x100(%rbp), %rdi
movq -0x108(%rbp), %rdx
subq -0x100(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq -0x20(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x10(%rbp), %rcx
movq 0x38(%rcx), %rsi
movq -0x100(%rbp), %rdx
callq *%rax
movq -0x118(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x38(%rax)
movq -0xf8(%rbp), %rax
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x94(%rax)
jmp 0x81d4
jmp 0x81d6
movq -0x20(%rbp), %rax
movl 0x98(%rax), %eax
movq %rax, -0x120(%rbp)
movq -0x18(%rbp), %rax
movl 0x3c(%rax), %eax
movq %rax, -0x128(%rbp)
movq -0x120(%rbp), %rax
cmpq -0x128(%rbp), %rax
jae 0x8322
jmp 0x820b
imulq $0xc, -0x120(%rbp), %rax
movq %rax, -0x130(%rbp)
imulq $0xc, -0x128(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x130(%rbp), %rax
cmpq -0x138(%rbp), %rax
jae 0x8249
movq -0x130(%rbp), %rax
movq %rax, -0x250(%rbp)
jmp 0x8257
movq -0x138(%rbp), %rax
movq %rax, -0x250(%rbp)
movq -0x250(%rbp), %rax
movq %rax, -0x140(%rbp)
movq -0x20(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x138(%rbp), %rsi
callq *%rax
movq %rax, -0x148(%rbp)
movq -0x148(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x60(%rax), %rsi
movq -0x140(%rbp), %rdx
callq 0x1140
movq -0x138(%rbp), %rax
cmpq -0x130(%rbp), %rax
jbe 0x82d9
movq -0x148(%rbp), %rdi
addq -0x130(%rbp), %rdi
movq -0x138(%rbp), %rdx
subq -0x130(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq -0x20(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x10(%rbp), %rcx
movq 0x60(%rcx), %rsi
movq -0x130(%rbp), %rdx
callq *%rax
movq -0x148(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x60(%rax)
movq -0x128(%rbp), %rax
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x98(%rax)
jmp 0x8324
jmp 0x8326
movq -0x20(%rbp), %rax
movl 0x9c(%rax), %eax
movq %rax, -0x150(%rbp)
movq -0x18(%rbp), %rax
movl 0x40(%rax), %eax
movq %rax, -0x158(%rbp)
movq -0x150(%rbp), %rax
cmpq -0x158(%rbp), %rax
jae 0x8478
jmp 0x835b
movq -0x150(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0x160(%rbp)
movq -0x158(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0x168(%rbp)
movq -0x160(%rbp), %rax
cmpq -0x168(%rbp), %rax
jae 0x839f
movq -0x160(%rbp), %rax
movq %rax, -0x258(%rbp)
jmp 0x83ad
movq -0x168(%rbp), %rax
movq %rax, -0x258(%rbp)
movq -0x258(%rbp), %rax
movq %rax, -0x170(%rbp)
movq -0x20(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x168(%rbp), %rsi
callq *%rax
movq %rax, -0x178(%rbp)
movq -0x178(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rsi
movq -0x170(%rbp), %rdx
callq 0x1140
movq -0x168(%rbp), %rax
cmpq -0x160(%rbp), %rax
jbe 0x842f
movq -0x178(%rbp), %rdi
addq -0x160(%rbp), %rdi
movq -0x168(%rbp), %rdx
subq -0x160(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq -0x20(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x10(%rbp), %rcx
movq 0x40(%rcx), %rsi
movq -0x160(%rbp), %rdx
callq *%rax
movq -0x178(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x40(%rax)
movq -0x158(%rbp), %rax
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x9c(%rax)
jmp 0x847a
jmp 0x847c
movq -0x20(%rbp), %rax
movl 0xa0(%rax), %eax
movq %rax, -0x180(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %eax
movq %rax, -0x188(%rbp)
movq -0x180(%rbp), %rax
cmpq -0x188(%rbp), %rax
jae 0x85ce
jmp 0x84b1
movq -0x180(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0x190(%rbp)
movq -0x188(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0x198(%rbp)
movq -0x190(%rbp), %rax
cmpq -0x198(%rbp), %rax
jae 0x84f5
movq -0x190(%rbp), %rax
movq %rax, -0x260(%rbp)
jmp 0x8503
movq -0x198(%rbp), %rax
movq %rax, -0x260(%rbp)
movq -0x260(%rbp), %rax
movq %rax, -0x1a0(%rbp)
movq -0x20(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x198(%rbp), %rsi
callq *%rax
movq %rax, -0x1a8(%rbp)
movq -0x1a8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x48(%rax), %rsi
movq -0x1a0(%rbp), %rdx
callq 0x1140
movq -0x198(%rbp), %rax
cmpq -0x190(%rbp), %rax
jbe 0x8585
movq -0x1a8(%rbp), %rdi
addq -0x190(%rbp), %rdi
movq -0x198(%rbp), %rdx
subq -0x190(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq -0x20(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x10(%rbp), %rcx
movq 0x48(%rcx), %rsi
movq -0x190(%rbp), %rdx
callq *%rax
movq -0x1a8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x48(%rax)
movq -0x188(%rbp), %rax
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0xa0(%rax)
jmp 0x85d0
jmp 0x85d2
movq -0x20(%rbp), %rax
movl 0xa4(%rax), %eax
movq %rax, -0x1b0(%rbp)
movq -0x18(%rbp), %rax
movl 0x48(%rax), %eax
movq %rax, -0x1b8(%rbp)
movq -0x1b0(%rbp), %rax
cmpq -0x1b8(%rbp), %rax
jae 0x8724
jmp 0x8607
movq -0x1b0(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0x1c0(%rbp)
movq -0x1b8(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0x1c8(%rbp)
movq -0x1c0(%rbp), %rax
cmpq -0x1c8(%rbp), %rax
jae 0x864b
movq -0x1c0(%rbp), %rax
movq %rax, -0x268(%rbp)
jmp 0x8659
movq -0x1c8(%rbp), %rax
movq %rax, -0x268(%rbp)
movq -0x268(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x20(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x1c8(%rbp), %rsi
callq *%rax
movq %rax, -0x1d8(%rbp)
movq -0x1d8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rsi
movq -0x1d0(%rbp), %rdx
callq 0x1140
movq -0x1c8(%rbp), %rax
cmpq -0x1c0(%rbp), %rax
jbe 0x86db
movq -0x1d8(%rbp), %rdi
addq -0x1c0(%rbp), %rdi
movq -0x1c8(%rbp), %rdx
subq -0x1c0(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq -0x20(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x10(%rbp), %rcx
movq 0x50(%rcx), %rsi
movq -0x1c0(%rbp), %rdx
callq *%rax
movq -0x1d8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x50(%rax)
movq -0x1b8(%rbp), %rax
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0xa4(%rax)
jmp 0x8726
jmp 0x8728
movq -0x20(%rbp), %rax
movl 0xa8(%rax), %eax
movq %rax, -0x1e0(%rbp)
movq -0x18(%rbp), %rax
movl 0x4c(%rax), %eax
movq %rax, -0x1e8(%rbp)
movq -0x1e0(%rbp), %rax
cmpq -0x1e8(%rbp), %rax
jae 0x887a
jmp 0x875d
movq -0x1e0(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0x1f0(%rbp)
movq -0x1e8(%rbp), %rax
shlq $0x5, %rax
movq %rax, -0x1f8(%rbp)
movq -0x1f0(%rbp), %rax
cmpq -0x1f8(%rbp), %rax
jae 0x87a1
movq -0x1f0(%rbp), %rax
movq %rax, -0x270(%rbp)
jmp 0x87af
movq -0x1f8(%rbp), %rax
movq %rax, -0x270(%rbp)
movq -0x270(%rbp), %rax
movq %rax, -0x200(%rbp)
movq -0x20(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x1f8(%rbp), %rsi
callq *%rax
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rsi
movq -0x200(%rbp), %rdx
callq 0x1140
movq -0x1f8(%rbp), %rax
cmpq -0x1f0(%rbp), %rax
jbe 0x8831
movq -0x208(%rbp), %rdi
addq -0x1f0(%rbp), %rdi
movq -0x1f8(%rbp), %rdx
subq -0x1f0(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq -0x20(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x10(%rbp), %rcx
movq 0x58(%rcx), %rsi
movq -0x1f0(%rbp), %rdx
callq *%rax
movq -0x208(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
movq -0x1e8(%rbp), %rax
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0xa8(%rax)
jmp 0x887c
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x30(%rcx), %eax
jae 0x8968
movq -0x18(%rbp), %rax
cmpl $0x1, 0x28(%rax)
jne 0x893f
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x2c(%rbp), %rdx
movl $0xa, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0xaf30
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x88d4
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x8fff
cmpl $0x0, -0x2c(%rbp)
je 0x88f2
movl -0x2c(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x88f2
movl -0x2c(%rbp), %eax
shrl %eax
movq -0x10(%rbp), %rcx
cmpl (%rcx), %eax
jbe 0x8915
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x1c(%rax), %edx
movl -0x2c(%rbp), %ecx
leaq 0x4709(%rip), %rsi      # 0xd010
callq 0x9fe0
movq %rax, -0x8(%rbp)
jmp 0x8fff
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x2c(%rbp), %edx
callq 0xb0c0
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x893d
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x8fff
jmp 0x894a
movl -0x24(%rbp), %eax
addl $0x1, %eax
shll %eax
movl %eax, -0x2c(%rbp)
movq -0x10(%rbp), %rdi
movl -0x2c(%rbp), %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x2770
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x8883
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x34(%rcx), %eax
jae 0x8b0a
movq -0x18(%rbp), %rax
cmpl $0x1, 0x28(%rax)
jne 0x8a2b
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x2c(%rbp), %rdx
movl $0x20, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0xaf30
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x89c0
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x8fff
cmpl $0x0, -0x2c(%rbp)
je 0x89de
movl -0x2c(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x89de
movl -0x2c(%rbp), %eax
shrl %eax
movq -0x10(%rbp), %rcx
cmpl (%rcx), %eax
jbe 0x8a01
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x1c(%rax), %edx
movl -0x2c(%rbp), %ecx
leaq 0x4646(%rip), %rsi      # 0xd039
callq 0x9fe0
movq %rax, -0x8(%rbp)
jmp 0x8fff
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x2c(%rbp), %edx
callq 0xb0c0
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x8a29
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x8fff
jmp 0x8a3d
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
addl 0x30(%rcx), %eax
addl $0x1, %eax
shll %eax
movl %eax, -0x2c(%rbp)
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x30(%rbp), %rdx
xorl %ecx, %ecx
leaq -0x51(%rbp), %r8
callq 0xaf30
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x8a6c
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x8fff
movl -0x30(%rbp), %eax
shrl %eax
movq -0x10(%rbp), %rcx
cmpl (%rcx), %eax
jbe 0x8a9c
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x1c(%rax), %edx
movl -0x30(%rbp), %ecx
leaq 0x45d4(%rip), %rsi      # 0xd062
callq 0x9fe0
movq %rax, -0x8(%rbp)
jmp 0x8fff
movq -0x10(%rbp), %rdi
movl -0x2c(%rbp), %esi
movl -0x30(%rbp), %edx
xorl %eax, %eax
movl %eax, %ecx
callq 0x2c90
movsbl -0x51(%rbp), %eax
cmpl $0x20, %eax
jne 0x8afa
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x34(%rbp), %rdx
movl $0xa, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0xaf30
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x8aeb
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x8fff
movq -0x10(%rbp), %rdi
movl -0x2c(%rbp), %esi
movl -0x34(%rbp), %edx
callq 0x2fb0
jmp 0x8afc
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x896f
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x38(%rcx), %eax
jae 0x8ba2
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x2c(%rbp), %rdx
movl $0xa, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0xaf30
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x8b54
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x8fff
movl -0x2c(%rbp), %eax
shrl %eax
movq -0x10(%rbp), %rcx
cmpl (%rcx), %eax
jbe 0x8b84
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x1c(%rax), %edx
movl -0x2c(%rbp), %ecx
leaq 0x4517(%rip), %rsi      # 0xd08d
callq 0x9fe0
movq %rax, -0x8(%rbp)
jmp 0x8fff
movq -0x10(%rbp), %rdi
movl -0x2c(%rbp), %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x3120
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x8b11
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x40(%rcx), %eax
jae 0x8c3a
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x2c(%rbp), %rdx
movl $0xa, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0xaf30
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x8bec
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x8fff
movl -0x2c(%rbp), %eax
shrl %eax
movq -0x10(%rbp), %rcx
cmpl (%rcx), %eax
jbe 0x8c1c
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x1c(%rax), %edx
movl -0x2c(%rbp), %ecx
leaq 0x44a9(%rip), %rsi      # 0xd0b7
callq 0x9fe0
movq %rax, -0x8(%rbp)
jmp 0x8fff
movq -0x10(%rbp), %rdi
movl -0x2c(%rbp), %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x32e0
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x8ba9
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x44(%rcx), %eax
jae 0x8cd2
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x2c(%rbp), %rdx
movl $0xa, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0xaf30
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x8c84
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x8fff
movl -0x2c(%rbp), %eax
shrl %eax
movq -0x10(%rbp), %rcx
cmpl (%rcx), %eax
jbe 0x8cb4
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x1c(%rax), %edx
movl -0x2c(%rbp), %ecx
leaq 0x4436(%rip), %rsi      # 0xd0dc
callq 0x9fe0
movq %rax, -0x8(%rbp)
jmp 0x8fff
movq -0x10(%rbp), %rdi
movl -0x2c(%rbp), %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x34a0
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x8c41
movq -0x18(%rbp), %rax
cmpl $0x0, 0x48(%rax)
je 0x8f53
jmp 0x8ce2
movq -0x18(%rbp), %rax
movl 0x48(%rax), %eax
shlq $0x2, %rax
movq %rax, -0x210(%rbp)
movq -0x20(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x210(%rbp), %rsi
callq *%rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
movq -0x210(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movq $0x0, -0x50(%rbp)
movl $0x0, -0x24(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x50(%rbp)
movb %al, -0x271(%rbp)
jne 0x8d5a
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x48(%rcx), %eax
setb %al
movb %al, -0x271(%rbp)
movb -0x271(%rbp), %al
testb $0x1, %al
jne 0x8d66
jmp 0x8d9a
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x40(%rbp), %rdx
movl -0x24(%rbp), %eax
shlq $0x2, %rax
addq %rax, %rdx
movl $0xa, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0xaf30
movq %rax, -0x50(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x8d38
movl $0x0, -0x24(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x50(%rbp)
movb %al, -0x272(%rbp)
jne 0x8dc3
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x48(%rcx), %eax
setb %al
movb %al, -0x272(%rbp)
movb -0x272(%rbp), %al
testb $0x1, %al
jne 0x8dd2
jmp 0x8efe
jmp 0x8dd4
movq -0x40(%rbp), %rax
movl -0x24(%rbp), %ecx
movl (%rax,%rcx,4), %eax
shlq $0x2, %rax
movq %rax, -0x218(%rbp)
movq -0x20(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x218(%rbp), %rsi
callq *%rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
movq -0x218(%rbp), %rdx
xorl %esi, %esi
callq 0x1100
movl $0x0, -0x28(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x50(%rbp)
movb %al, -0x273(%rbp)
jne 0x8e4a
movl -0x28(%rbp), %eax
movq -0x40(%rbp), %rcx
movl -0x24(%rbp), %edx
cmpl (%rcx,%rdx,4), %eax
setb %al
movb %al, -0x273(%rbp)
movb -0x273(%rbp), %al
testb $0x1, %al
jne 0x8e56
jmp 0x8e8a
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x48(%rbp), %rdx
movl -0x28(%rbp), %eax
shlq $0x2, %rax
addq %rax, %rdx
movl $0xa, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0xaf30
movq %rax, -0x50(%rbp)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x8e25
cmpq $0x0, -0x50(%rbp)
jne 0x8eac
movq -0x10(%rbp), %rdi
movq -0x40(%rbp), %rax
movl -0x24(%rbp), %ecx
movl (%rax,%rcx,4), %esi
movq -0x48(%rbp), %rdx
xorl %eax, %eax
movl %eax, %ecx
callq 0x3660
jmp 0x8eae
movq -0x40(%rbp), %rax
movl -0x24(%rbp), %ecx
movl (%rax,%rcx,4), %eax
shlq $0x2, %rax
movq %rax, -0x220(%rbp)
movq -0x20(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x48(%rbp), %rsi
movq -0x220(%rbp), %rdx
callq *%rax
movq $0x0, -0x48(%rbp)
jmp 0x8ef0
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x8da1
jmp 0x8f00
movq -0x18(%rbp), %rax
movl 0x48(%rax), %eax
shlq $0x2, %rax
movq %rax, -0x228(%rbp)
movq -0x20(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x20(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x40(%rbp), %rsi
movq -0x228(%rbp), %rdx
callq *%rax
movq $0x0, -0x40(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x8f51
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x8fff
jmp 0x8f53
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x4c(%rcx), %eax
jae 0x8fe1
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x2c(%rbp), %rdx
movl $0xa, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0xaf30
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x8f96
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x8fff
movl -0x2c(%rbp), %eax
shrl %eax
movq -0x10(%rbp), %rcx
cmpl (%rcx), %eax
jbe 0x8fc3
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x1c(%rax), %edx
movl -0x2c(%rbp), %ecx
leaq 0x4152(%rip), %rsi      # 0xd10a
callq 0x9fe0
movq %rax, -0x8(%rbp)
jmp 0x8fff
movq -0x10(%rbp), %rdi
movl -0x2c(%rbp), %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x38b0
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x8f5a
movq -0x18(%rbp), %rax
movl $0x1, 0x20(%rax)
movq -0x18(%rbp), %rax
movl $0x1, 0x24(%rax)
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x280, %rsp            # imm = 0x280
popq %rbp
retq
nopl (%rax)