// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/core/array.c
// Function: gt_array_unit_test
int gt_array_unit_test(GtError *err)
{
  GtArray *char_array, *int_array, *a = NULL, *aref, *aclone = NULL;
  char cc, *char_array_test;
  int ci, *int_array_test;
  GtUword i, j, size;
  GtRange range;
  int had_err = 0;
  gt_error_check(err);

  /* testing an empty array */
  char_array = gt_array_new(sizeof (char));
  gt_array_delete(char_array);
  int_array = gt_array_new(sizeof (int));
  gt_array_delete(int_array);

  char_array = gt_array_new(sizeof (char));
  int_array = gt_array_new(sizeof (int));
  char_array_test = gt_malloc((ARRAY_MAX_SIZE + 1) * sizeof (char));
  int_array_test = gt_malloc(ARRAY_MAX_SIZE * sizeof (int));

  for (i = 0; !had_err && i < ARRAY_NUM_OF_TESTS; i++) {
    size = gt_rand_max(ARRAY_MAX_SIZE);

    gt_array_reset(char_array);
    gt_array_set_size(int_array, 0);

    gt_ensure(gt_array_size(char_array) == 0);
    gt_ensure(gt_array_size(int_array) == 0);

    for (i = 0; !had_err && i < size; i++) {
      cc = gt_rand_max(CHAR_MAX);
      ci = gt_rand_max(INT_MAX);

      gt_array_add(char_array, cc);
      gt_array_add(int_array, ci);

      gt_ensure(gt_array_size(char_array) == i+1);
      gt_ensure(gt_array_size(int_array) == i+1);
      gt_ensure(*((char*) gt_array_get(char_array, i)) == cc);
      gt_ensure(*((int*) gt_array_get(int_array, i)) == ci);

      gt_array_add_elem(char_array, &cc, sizeof (char));
      gt_array_add_elem(int_array, &ci, sizeof (int));

      gt_ensure(gt_array_size(char_array) == i+2);
      gt_ensure(gt_array_size(int_array) == i+2);
      gt_ensure(*((char*) gt_array_get(char_array, i+1)) == cc);
      gt_ensure(*((int*) gt_array_get(int_array, i+1)) == ci);
      gt_ensure(*((char*) gt_array_pop(char_array)) == cc);
      gt_ensure(*((int*) gt_array_pop(int_array)) == ci);
      gt_ensure(gt_array_size(char_array) == i+1);
      gt_ensure(gt_array_size(int_array) == i+1);
      gt_ensure(*((char*) gt_array_get(char_array, i)) == cc);
      gt_ensure(*((int*) gt_array_get(int_array, i)) == ci);

      char_array_test[i] = cc;
      char_array_test[i+1]= '\0';
      int_array_test[i] = ci;

      gt_ensure(strncmp(gt_array_get_space(char_array),
                                 char_array_test,
                                 strlen(char_array_test)) == 0);

      for (j = 0; j <= i && !had_err; j++)
        gt_ensure(
               *(int*) gt_array_get(int_array, j) == int_array_test[j]);
    }
  }

  /* test gt_array_reverse(), gt_array_iterate(), gt_array_rem(),
     gt_array_rem_span(), and gt_array_ref() */
  if (!had_err) {
    a = gt_array_new(sizeof (GtRange));
    for (i = 0; i < 24; i++) {
      range.start = i + 1;
      range.end   = i + 101;
      gt_array_add(a, range);
    }
    gt_array_reverse(a);
    for (i = 0; !had_err && i < 24; i++) {
      range.start = i + 1;
      range.end   = i + 101;
      gt_ensure(!gt_range_compare(&range, gt_array_get(a, 23 - i)));
    }
    aref = gt_array_ref(a);
    gt_array_delete(aref);
  }
  if (!had_err) {
    i = 0;
    had_err = gt_array_iterate_reverse(a, iterate_test_func, &i, err);
    gt_ensure(
              gt_array_iterate_reverse(a, iterate_fail_func, NULL, err));
  }
  if (!had_err) {
    gt_array_reverse(a);
    i = 0;
    had_err = gt_array_iterate(a, iterate_test_func, &i, err);
    gt_ensure(gt_array_iterate(a, iterate_fail_func, NULL, err));
  }
  if (!had_err) {
    aclone = gt_array_clone(a);
    for (i = 0;!had_err && i < gt_array_size(a); i++) {
      gt_ensure(!gt_range_compare(gt_array_get(a, i),
                                        gt_array_get(aclone, i)));
    }
  }
  if (!had_err) {
    gt_array_rem(a, 13);
    gt_array_rem(a, 12);
    gt_array_rem(a, 11);
    gt_array_rem(a, 10);
    gt_ensure(gt_array_size(a) == 20);
    for (i = 0; !had_err && i < 10; i++) {
      range.start = i + 1;
      range.end   = i + 101;
      gt_ensure(!gt_range_compare(&range, gt_array_get(a, i)));
    }
    for (i = 10; !had_err && i < 20; i++) {
      range.start = 4 + i + 1;
      range.end   = 4 + i + 101;
      gt_ensure(!gt_range_compare(&range, gt_array_get(a, i)));
    }
  }
  if (!had_err) {
    gt_array_rem_span(aclone, 10, 13);
    gt_ensure(gt_array_size(aclone) == 20);
    for (i = 0; !had_err && i < 10; i++) {
      range.start = i + 1;
      range.end   = i + 101;
      gt_ensure(!gt_range_compare(&range, gt_array_get(aclone, i)));
    }
    for (i = 10; !had_err && i < 20; i++) {
      range.start = 4 + i + 1;
      range.end   = 4 + i + 101;
      gt_ensure(!gt_range_compare(&range, gt_array_get(aclone, i)));
    }
  }
  if (!had_err) {
    gt_array_rem_span(aclone, 10, 19);
    gt_array_prepend_array(a, aclone);
    gt_ensure(gt_array_size(a) == 30);
    for (i = 0; !had_err && i < 10; i++) {
      range.start = i + 1;
      range.end   = i + 101;
      gt_ensure(!gt_range_compare(&range, gt_array_get(a, i)));
    }
    for (i = 10; !had_err && i < 20; i++) {
      range.start = i + 1 - 10;
      range.end   = i + 101 - 10;
      gt_ensure(!gt_range_compare(&range, gt_array_get(a, i)));
    }
    for (i = 20; !had_err && i < 30; i++) {
      range.start = 4 + i + 1 - 10;
      range.end   = 4 + i + 101 - 10;
      gt_ensure(!gt_range_compare(&range, gt_array_get(a, i)));
    }
  }
  gt_array_delete(aclone);
  gt_array_delete(a);

  gt_array_delete(char_array);
  gt_array_delete(int_array);
  gt_free(char_array_test);
  gt_free(int_array_test);

  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
testq %rdi, %rdi
je 0x6f7dc
movq %rbx, %rdi
callq 0x34fea
testb %al, %al
jne 0x706fa
movq %rbx, 0x18(%rsp)
leaq 0x7f793(%rip), %r12     # 0xeef7b
movl $0x1, %r14d
movl $0x1, %edi
movl $0x28, %esi
movq %r12, %rdx
movl $0x2b, %ecx
callq 0x359a6
movq %r14, 0x18(%rax)
movq %rax, %rdi
callq 0x6f768
movl $0x1, %edi
movl $0x28, %esi
movq %r12, %rdx
movl $0x2b, %ecx
callq 0x359a6
movl $0x4, %r15d
movq %r15, 0x18(%rax)
movq %rax, %rdi
callq 0x6f768
movl $0x1, %edi
movl $0x28, %esi
movq %r12, %rdx
movl $0x2b, %ecx
callq 0x359a6
movq %rax, %rbx
movq %r14, 0x18(%rax)
movl $0x1, %edi
movl $0x28, %esi
movq %r12, %rdx
movl $0x2b, %ecx
callq 0x359a6
movq %rax, %r14
movq %r15, 0x18(%rax)
movl $0x401, %edi            # imm = 0x401
movq %r12, %rsi
movl $0x166, %edx            # imm = 0x166
callq 0x35862
movq %rax, %r15
movl $0x1000, %edi           # imm = 0x1000
movq %r12, %rsi
movl $0x167, %edx            # imm = 0x167
callq 0x35862
movq %rax, %r12
movq $0x0, 0x10(%rsp)
movl $0x400, %edi            # imm = 0x400
callq 0x7a51d
movq %rax, %r13
movq %rbx, %rdi
callq 0x6f349
movq %r14, %rdi
xorl %esi, %esi
callq 0x6f32d
testq %rbx, %rbx
je 0x6f8d8
cmpq $0x0, 0x8(%rbx)
jne 0x6ff58
testq %r14, %r14
je 0x6f8e8
cmpq $0x0, 0x8(%r14)
jne 0x6ff81
movq $0x0, 0x10(%rsp)
testq %r13, %r13
je 0x6fe15
movl $0x7f, %edi
callq 0x7a51d
movb %al, 0xf(%rsp)
movl $0x7fffffff, %edi       # imm = 0x7FFFFFFF
callq 0x7a51d
movl %eax, 0x24(%rsp)
movl $0x1, %edx
movq %rbx, %rdi
leaq 0xf(%rsp), %rsi
callq 0x6f240
movl $0x4, %edx
movq %r14, %rdi
leaq 0x24(%rsp), %rsi
callq 0x6f240
testq %rbx, %rbx
je 0x6f945
movq 0x8(%rbx), %rax
jmp 0x6f947
xorl %eax, %eax
movq 0x10(%rsp), %rsi
leaq 0x1(%rsi), %rcx
cmpq %rcx, %rax
jne 0x6f960
testq %r14, %r14
je 0x6f98c
movq 0x8(%r14), %rcx
jmp 0x6f98e
movq 0x18(%rsp), %rdi
leaq 0x737ed(%rip), %rsi     # 0xe3159
leaq 0x7fa48(%rip), %rdx     # 0xef3bb
leaq 0x7f9f1(%rip), %rcx     # 0xef36b
leaq 0x7f5fa(%rip), %r8      # 0xeef7b
movl $0x179, %r9d            # imm = 0x179
jmp 0x6fa6b
xorl %ecx, %ecx
cmpq %rax, %rcx
jne 0x6f9f2
movq %rbx, %rdi
callq 0x6f037
movb (%rax), %al
cmpb 0xf(%rsp), %al
jne 0x6fa1b
movq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x6f037
movl (%rax), %eax
cmpl 0x24(%rsp), %eax
jne 0x6fa44
movl $0x1, %edx
movq %rbx, %rdi
leaq 0xf(%rsp), %rsi
callq 0x6f240
movl $0x4, %edx
movq %r14, %rdi
leaq 0x24(%rsp), %rsi
callq 0x6f240
testq %rbx, %rbx
je 0x6fb30
movq 0x8(%rbx), %rax
jmp 0x6fb32
movq 0x18(%rsp), %rdi
leaq 0x7375b(%rip), %rsi     # 0xe3159
leaq 0x7f9d7(%rip), %rdx     # 0xef3dc
leaq 0x7f95f(%rip), %rcx     # 0xef36b
leaq 0x7f568(%rip), %r8      # 0xeef7b
movl $0x17a, %r9d            # imm = 0x17A
jmp 0x6fa6b
movq 0x18(%rsp), %rdi
leaq 0x73732(%rip), %rsi     # 0xe3159
leaq 0x7f9ce(%rip), %rdx     # 0xef3fc
leaq 0x7f936(%rip), %rcx     # 0xef36b
leaq 0x7f53f(%rip), %r8      # 0xeef7b
movl $0x17b, %r9d            # imm = 0x17B
jmp 0x6fa6b
movq 0x18(%rsp), %rdi
leaq 0x73709(%rip), %rsi     # 0xe3159
leaq 0x7f9d2(%rip), %rdx     # 0xef429
leaq 0x7f90d(%rip), %rcx     # 0xef36b
leaq 0x7f516(%rip), %r8      # 0xeef7b
movl $0x17c, %r9d            # imm = 0x17C
xorl %eax, %eax
callq 0x34f1f
movl $0x1, %edx
movq %rbx, %rdi
leaq 0xf(%rsp), %rsi
callq 0x6f240
movl $0x4, %edx
movq %r14, %rdi
leaq 0x24(%rsp), %rsi
callq 0x6f240
xorl %ebp, %ebp
movb 0xf(%rsp), %al
movq 0x10(%rsp), %rcx
movb %al, (%r15,%rcx)
movq 0x10(%rsp), %rax
movb $0x0, 0x1(%r15,%rax)
movl 0x24(%rsp), %eax
movq 0x10(%rsp), %rcx
movl %eax, (%r12,%rcx,4)
testb %bpl, %bpl
je 0x6fe61
movq %rbx, %rdi
callq 0x6f21b
movq %rax, %rbp
movq %r15, %rdi
callq 0xb260
movq %rbp, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0xb2a0
testl %eax, %eax
jne 0x6fe33
xorl %ebp, %ebp
movq %r14, %rdi
movq %rbp, %rsi
callq 0x6f037
movl (%rax), %eax
movl (%r12,%rbp,4), %ecx
cmpl %ecx, %eax
jne 0x6fdda
movq 0x10(%rsp), %rax
jne 0x6fb19
incq %rbp
cmpq %rax, %rbp
jbe 0x6faf1
leaq 0x1(%rax), %rcx
movq %rcx, 0x10(%rsp)
cmpq %r13, %rcx
jb 0x6f8fa
jmp 0x6fe6a
xorl %eax, %eax
movq 0x10(%rsp), %rsi
leaq 0x2(%rsi), %rcx
cmpq %rcx, %rax
jne 0x6fb4b
testq %r14, %r14
je 0x6fb79
movq 0x8(%r14), %rcx
jmp 0x6fb7b
xorl %ebp, %ebp
movq 0x18(%rsp), %rdi
leaq 0x73600(%rip), %rsi     # 0xe3159
leaq 0x7f8f4(%rip), %rdx     # 0xef454
leaq 0x7f804(%rip), %rcx     # 0xef36b
leaq 0x7f40d(%rip), %r8      # 0xeef7b
movl $0x181, %r9d            # imm = 0x181
jmp 0x6fdce
xorl %ecx, %ecx
cmpq %rax, %rcx
jne 0x6fbed
incq %rsi
movq %rbx, %rdi
callq 0x6f037
movb (%rax), %al
cmpb 0xf(%rsp), %al
jne 0x6fc1b
movq 0x10(%rsp), %rsi
incq %rsi
movq %r14, %rdi
callq 0x6f037
movl (%rax), %eax
cmpl 0x24(%rsp), %eax
jne 0x6fc49
movq %rbx, %rdi
callq 0x6f072
movb (%rax), %al
cmpb 0xf(%rsp), %al
jne 0x6fc77
movq %r14, %rdi
callq 0x6f072
movl (%rax), %eax
cmpl 0x24(%rsp), %eax
jne 0x6fca5
testq %rbx, %rbx
je 0x6fcd3
movq 0x8(%rbx), %rax
jmp 0x6fcd5
xorl %ebp, %ebp
movq 0x18(%rsp), %rdi
leaq 0x7355e(%rip), %rsi     # 0xe3159
leaq 0x7f873(%rip), %rdx     # 0xef475
leaq 0x7f762(%rip), %rcx     # 0xef36b
leaq 0x7f36b(%rip), %r8      # 0xeef7b
movl $0x182, %r9d            # imm = 0x182
jmp 0x6fdce
xorl %ebp, %ebp
movq 0x18(%rsp), %rdi
leaq 0x73530(%rip), %rsi     # 0xe3159
leaq 0x7f865(%rip), %rdx     # 0xef495
leaq 0x7f734(%rip), %rcx     # 0xef36b
leaq 0x7f33d(%rip), %r8      # 0xeef7b
movl $0x183, %r9d            # imm = 0x183
jmp 0x6fdce
xorl %ebp, %ebp
movq 0x18(%rsp), %rdi
leaq 0x73502(%rip), %rsi     # 0xe3159
leaq 0x7f866(%rip), %rdx     # 0xef4c4
leaq 0x7f706(%rip), %rcx     # 0xef36b
leaq 0x7f30f(%rip), %r8      # 0xeef7b
movl $0x184, %r9d            # imm = 0x184
jmp 0x6fdce
xorl %ebp, %ebp
movq 0x18(%rsp), %rdi
leaq 0x734d4(%rip), %rsi     # 0xe3159
leaq 0x7f865(%rip), %rdx     # 0xef4f1
leaq 0x7f6d8(%rip), %rcx     # 0xef36b
leaq 0x7f2e1(%rip), %r8      # 0xeef7b
movl $0x185, %r9d            # imm = 0x185
jmp 0x6fdce
xorl %ebp, %ebp
movq 0x18(%rsp), %rdi
leaq 0x734a6(%rip), %rsi     # 0xe3159
leaq 0x7f861(%rip), %rdx     # 0xef51b
leaq 0x7f6aa(%rip), %rcx     # 0xef36b
leaq 0x7f2b3(%rip), %r8      # 0xeef7b
movl $0x186, %r9d            # imm = 0x186
jmp 0x6fdce
xorl %eax, %eax
movq 0x10(%rsp), %rsi
leaq 0x1(%rsi), %rcx
cmpq %rcx, %rax
jne 0x6fcee
testq %r14, %r14
je 0x6fd1c
movq 0x8(%r14), %rcx
jmp 0x6fd1e
xorl %ebp, %ebp
movq 0x18(%rsp), %rdi
leaq 0x7345d(%rip), %rsi     # 0xe3159
leaq 0x7f6b8(%rip), %rdx     # 0xef3bb
leaq 0x7f661(%rip), %rcx     # 0xef36b
leaq 0x7f26a(%rip), %r8      # 0xeef7b
movl $0x187, %r9d            # imm = 0x187
jmp 0x6fdce
xorl %ecx, %ecx
cmpq %rax, %rcx
jne 0x6fd7a
movq %rbx, %rdi
callq 0x6f037
movb (%rax), %al
cmpb 0xf(%rsp), %al
jne 0x6fda5
movq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x6f037
movl (%rax), %eax
movb $0x1, %bpl
cmpl 0x24(%rsp), %eax
je 0x6fa98
xorl %ebp, %ebp
movq 0x18(%rsp), %rdi
leaq 0x733fc(%rip), %rsi     # 0xe3159
leaq 0x7f6c5(%rip), %rdx     # 0xef429
leaq 0x7f600(%rip), %rcx     # 0xef36b
leaq 0x7f209(%rip), %r8      # 0xeef7b
movl $0x18a, %r9d            # imm = 0x18A
jmp 0x6fdce
xorl %ebp, %ebp
movq 0x18(%rsp), %rdi
leaq 0x733d1(%rip), %rsi     # 0xe3159
leaq 0x7f64d(%rip), %rdx     # 0xef3dc
leaq 0x7f5d5(%rip), %rcx     # 0xef36b
leaq 0x7f1de(%rip), %r8      # 0xeef7b
movl $0x188, %r9d            # imm = 0x188
jmp 0x6fdce
xorl %ebp, %ebp
movq 0x18(%rsp), %rdi
leaq 0x733a6(%rip), %rsi     # 0xe3159
leaq 0x7f642(%rip), %rdx     # 0xef3fc
leaq 0x7f5aa(%rip), %rcx     # 0xef36b
leaq 0x7f1b3(%rip), %r8      # 0xeef7b
movl $0x189, %r9d            # imm = 0x189
xorl %eax, %eax
callq 0x34f1f
jmp 0x6fa98
xorl %ebp, %ebp
movq 0x18(%rsp), %rdi
leaq 0x73371(%rip), %rsi     # 0xe3159
leaq 0x7f7ab(%rip), %rdx     # 0xef59a
leaq 0x7f575(%rip), %rcx     # 0xef36b
leaq 0x7f17e(%rip), %r8      # 0xeef7b
movl $0x196, %r9d            # imm = 0x196
xorl %eax, %eax
callq 0x34f1f
movq 0x10(%rsp), %rax
addq $0x2, %rax
jmp 0x6fe1d
movb $0x1, %bpl
movl $0x1, %eax
movq %rax, 0x10(%rsp)
cmpq $0x63, %rax
ja 0x6fe6f
testb %bpl, %bpl
jne 0x6f8a9
jmp 0x6fe6f
movq 0x18(%rsp), %rdi
leaq 0x7331a(%rip), %rsi     # 0xe3159
leaq 0x7f6fd(%rip), %rdx     # 0xef543
leaq 0x7f51e(%rip), %rcx     # 0xef36b
leaq 0x7f127(%rip), %r8      # 0xeef7b
movl $0x192, %r9d            # imm = 0x192
xorl %eax, %eax
callq 0x34f1f
movq 0x10(%rsp), %rax
xorl %ebp, %ebp
jmp 0x6fe0f
movb $0x1, %bpl
jmp 0x6fe0f
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
testb %bpl, %bpl
je 0x6ffbe
leaq 0x7f0f6(%rip), %rdx     # 0xeef7b
movl $0x1, %edi
movl $0x28, %esi
movl $0x2b, %ecx
callq 0x359a6
movq %rax, %rbp
movq $0x10, 0x18(%rax)
movq $0x0, 0x10(%rsp)
xorl %eax, %eax
leaq 0x38(%rsp), %r13
leaq 0x1(%rax), %rcx
movq %rcx, 0x38(%rsp)
addq $0x65, %rax
movq %rax, 0x40(%rsp)
movl $0x10, %edx
movq %rbp, %rdi
movq %r13, %rsi
callq 0x6f240
movq 0x10(%rsp), %rax
incq %rax
movq %rax, 0x10(%rsp)
cmpq $0x18, %rax
jb 0x6feb4
movq %rbp, 0x30(%rsp)
movq %rbp, %rdi
callq 0x6f179
movq $0x0, 0x10(%rsp)
xorl %eax, %eax
leaq 0x38(%rsp), %rbp
leaq 0x1(%rax), %rcx
movq %rcx, 0x38(%rsp)
leaq 0x65(%rax), %rcx
movq %rcx, 0x40(%rsp)
movl $0x17, %esi
subq %rax, %rsi
movq 0x30(%rsp), %rdi
callq 0x6f037
movq %rbp, %rdi
movq %rax, %rsi
callq 0x7e09c
movl %eax, %r13d
testl %eax, %eax
jne 0x70018
movq 0x10(%rsp), %rax
incq %rax
movq %rax, 0x10(%rsp)
cmpq $0x18, %rax
jb 0x6ff06
jmp 0x7004b
leaq 0x731fa(%rip), %rsi     # 0xe3159
leaq 0x7f418(%rip), %rdx     # 0xef37e
leaq 0x7f3fe(%rip), %rcx     # 0xef36b
leaq 0x7f007(%rip), %r8      # 0xeef7b
movq 0x18(%rsp), %rdi
movl $0x16f, %r9d            # imm = 0x16F
jmp 0x6ffa8
leaq 0x731d1(%rip), %rsi     # 0xe3159
leaq 0x7f40e(%rip), %rdx     # 0xef39d
leaq 0x7f3d5(%rip), %rcx     # 0xef36b
leaq 0x7efde(%rip), %r8      # 0xeef7b
movq 0x18(%rsp), %rdi
movl $0x170, %r9d            # imm = 0x170
xorl %eax, %eax
callq 0x34f1f
movq $0x1, 0x10(%rsp)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
xorl %edi, %edi
xorl %ebp, %ebp
callq 0x6f768
movq %rbp, %rdi
callq 0x6f768
movq %rbx, %rdi
callq 0x6f768
movq %r14, %rdi
callq 0x6f768
leaq 0x7ef95(%rip), %rbx     # 0xeef7b
movq %r15, %rdi
movq %rbx, %rsi
movl $0x1f7, %edx            # imm = 0x1F7
callq 0x35c27
movq %r12, %rdi
movq %rbx, %rsi
movl $0x1f8, %edx            # imm = 0x1F8
callq 0x35c27
movl %r13d, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x7313a(%rip), %rsi     # 0xe3159
leaq 0x7f5ac(%rip), %rdx     # 0xef5d2
leaq 0x7f33e(%rip), %rcx     # 0xef36b
leaq 0x7ef47(%rip), %r8      # 0xeef7b
movq 0x18(%rsp), %rdi
movl $0x1a7, %r9d            # imm = 0x1A7
xorl %eax, %eax
callq 0x34f1f
incq 0x10(%rsp)
movq 0x30(%rsp), %rbp
testq %rbp, %rbp
je 0x70058
incl 0x20(%rbp)
movq %rbp, %rdi
callq 0x6f768
testl %r13d, %r13d
je 0x70072
xorl %edi, %edi
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
jmp 0x6ffc2
leaq 0x10(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x6a6(%rip), %rsi       # 0x7072b
movq %rbp, %rdi
movq 0x18(%rsp), %r13
movq %r13, %rcx
callq 0x6f57a
testl %eax, %eax
je 0x700a3
xorl %edi, %edi
movl %eax, %r13d
jmp 0x6ffc2
leaq 0x71e(%rip), %rsi       # 0x707c8
movq %rbp, %rdi
xorl %edx, %edx
movq %r13, %rcx
callq 0x6f57a
testl %eax, %eax
je 0x7016f
movq %rbp, %rdi
callq 0x6f179
leaq 0x10(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x651(%rip), %rsi       # 0x7072b
movq %rbp, %rdi
movq %r13, %rcx
callq 0x6f504
testl %eax, %eax
jne 0x70099
leaq 0x6d8(%rip), %rsi       # 0x707c8
movq %rbp, %rdi
xorl %edx, %edx
movq %r13, %rcx
callq 0x6f504
testl %eax, %eax
je 0x701a0
movq %rbp, %rdi
callq 0x6efab
movq %rax, 0x28(%rsp)
movq $0x0, 0x10(%rsp)
xorl %esi, %esi
testq %rbp, %rbp
je 0x70128
movq 0x8(%rbp), %rax
jmp 0x7012a
xorl %eax, %eax
cmpq %rax, %rsi
jae 0x701c7
movq %rbp, %rdi
callq 0x6f037
movq %rax, %r13
movq 0x10(%rsp), %rsi
movq 0x28(%rsp), %rdi
callq 0x6f037
movq %r13, %rdi
movq %rax, %rsi
callq 0x7e09c
testl %eax, %eax
jne 0x704ce
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
jmp 0x7011d
leaq 0x72fe3(%rip), %rsi     # 0xe3159
leaq 0x7f488(%rip), %rdx     # 0xef605
leaq 0x7f1e7(%rip), %rcx     # 0xef36b
leaq 0x7edf0(%rip), %r8      # 0xeef7b
movq %r13, %rdi
movl $0x1b0, %r9d            # imm = 0x1B0
xorl %eax, %eax
callq 0x34f1f
jmp 0x70065
leaq 0x72fb2(%rip), %rsi     # 0xe3159
leaq 0x7f491(%rip), %rdx     # 0xef63f
leaq 0x7f1b6(%rip), %rcx     # 0xef36b
leaq 0x7edbf(%rip), %r8      # 0xeef7b
movq %r13, %rdi
movl $0x1b6, %r9d            # imm = 0x1B6
jmp 0x70194
movl $0xd, %esi
movq %rbp, %rdi
callq 0x6f096
movl $0xc, %esi
movq %rbp, %rdi
callq 0x6f096
movl $0xb, %esi
movq %rbp, %rdi
callq 0x6f096
movl $0xa, %esi
movq %rbp, %rdi
callq 0x6f096
testq %rbp, %rbp
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
je 0x70509
cmpq $0x14, 0x8(%rbp)
jne 0x70509
movq $0x0, 0x10(%rsp)
xorl %esi, %esi
leaq 0x38(%rsp), %r13
leaq 0x1(%rsi), %rax
movq %rax, 0x38(%rsp)
leaq 0x65(%rsi), %rax
movq %rax, 0x40(%rsp)
movq %rbp, %rdi
callq 0x6f037
movq %r13, %rdi
movq %rax, %rsi
callq 0x7e09c
testl %eax, %eax
jne 0x7054a
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
cmpq $0xa, %rsi
jb 0x70225
movq $0xa, 0x10(%rsp)
movl $0xa, %esi
leaq 0x38(%rsp), %r13
leaq 0x5(%rsi), %rax
movq %rax, 0x38(%rsp)
leaq 0x69(%rsi), %rax
movq %rax, 0x40(%rsp)
movq %rbp, %rdi
callq 0x6f037
movq %r13, %rdi
movq %rax, %rsi
callq 0x7e09c
testl %eax, %eax
jne 0x70586
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
cmpq $0x14, %rsi
jb 0x70278
movl $0xa, %esi
movl $0xd, %edx
movq 0x28(%rsp), %r13
movq %r13, %rdi
callq 0x6f0fe
testq %r13, %r13
je 0x705b2
cmpq $0x14, 0x8(%r13)
jne 0x705b2
movq $0x0, 0x10(%rsp)
xorl %esi, %esi
leaq 0x38(%rsp), %r13
leaq 0x1(%rsi), %rax
movq %rax, 0x38(%rsp)
leaq 0x65(%rsi), %rax
movq %rax, 0x40(%rsp)
movq 0x28(%rsp), %rdi
callq 0x6f037
movq %r13, %rdi
movq %rax, %rsi
callq 0x7e09c
testl %eax, %eax
jne 0x705f3
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
cmpq $0xa, %rsi
jb 0x702f3
movq $0xa, 0x10(%rsp)
movl $0xa, %esi
leaq 0x38(%rsp), %r13
leaq 0x5(%rsi), %rax
movq %rax, 0x38(%rsp)
leaq 0x69(%rsi), %rax
movq %rax, 0x40(%rsp)
movq 0x28(%rsp), %rdi
callq 0x6f037
movq %r13, %rdi
movq %rax, %rsi
callq 0x7e09c
testl %eax, %eax
jne 0x7062c
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
cmpq $0x14, %rsi
jb 0x70348
movl $0xa, %esi
movl $0x13, %edx
movq 0x28(%rsp), %rbp
movq %rbp, %rdi
callq 0x6f0fe
movq 0x30(%rsp), %r13
movq %r13, %rdi
movq %rbp, %rsi
callq 0x6f5ee
testq %r13, %r13
je 0x70661
movq 0x30(%rsp), %rax
cmpq $0x1e, 0x8(%rax)
jne 0x70661
movq $0x0, 0x10(%rsp)
xorl %esi, %esi
leaq 0x38(%rsp), %r13
leaq 0x1(%rsi), %rax
movq %rax, 0x38(%rsp)
leaq 0x65(%rsi), %rax
movq %rax, 0x40(%rsp)
movq 0x30(%rsp), %rdi
callq 0x6f037
movq %r13, %rdi
movq %rax, %rsi
callq 0x7e09c
testl %eax, %eax
jne 0x706a8
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
cmpq $0xa, %rsi
jb 0x703da
movq $0xa, 0x10(%rsp)
movl $0xa, %esi
leaq 0x38(%rsp), %r13
leaq -0x9(%rsi), %rax
movq %rax, 0x38(%rsp)
leaq 0x5b(%rsi), %rax
movq %rax, 0x40(%rsp)
movq 0x30(%rsp), %rdi
callq 0x6f037
movq %r13, %rdi
movq %rax, %rsi
callq 0x7e09c
testl %eax, %eax
jne 0x706d1
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
cmpq $0x14, %rsi
jb 0x7042f
movq $0x14, 0x10(%rsp)
movl $0x14, %esi
leaq 0x38(%rsp), %r13
leaq -0x5(%rsi), %rax
movq %rax, 0x38(%rsp)
leaq 0x5f(%rsi), %rax
movq %rax, 0x40(%rsp)
movq 0x30(%rsp), %rdi
callq 0x6f037
movq %r13, %rdi
movq %rax, %rsi
callq 0x7e09c
testl %eax, %eax
jne 0x706ff
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
cmpq $0x1e, %rsi
jb 0x70484
xorl %r13d, %r13d
jmp 0x7069e
leaq 0x72c84(%rip), %rsi     # 0xe3159
leaq 0x7f195(%rip), %rdx     # 0xef671
leaq 0x7ee88(%rip), %rcx     # 0xef36b
leaq 0x7ea91(%rip), %r8      # 0xeef7b
movq 0x18(%rsp), %rdi
movl $0x1bc, %r9d            # imm = 0x1BC
xorl %eax, %eax
callq 0x34f1f
incq 0x10(%rsp)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
jmp 0x70540
leaq 0x72c49(%rip), %rsi     # 0xe3159
leaq 0x7f199(%rip), %rdx     # 0xef6b0
leaq 0x7ee4d(%rip), %rcx     # 0xef36b
leaq 0x7ea56(%rip), %r8      # 0xeef7b
movq 0x18(%rsp), %rdi
movl $0x1c4, %r9d            # imm = 0x1C4
xorl %eax, %eax
callq 0x34f1f
movq $0xa, 0x10(%rsp)
movq 0x28(%rsp), %rdi
jmp 0x6ffc2
leaq 0x72c08(%rip), %rsi     # 0xe3159
leaq 0x7f16f(%rip), %rdx     # 0xef6c7
leaq 0x7ee0c(%rip), %rcx     # 0xef36b
leaq 0x7ea15(%rip), %r8      # 0xeef7b
movq 0x18(%rsp), %rdi
movl $0x1c8, %r9d            # imm = 0x1C8
xorl %eax, %eax
callq 0x34f1f
movq $0xa, 0x10(%rsp)
jmp 0x70501
leaq 0x72bcc(%rip), %rsi     # 0xe3159
leaq 0x7f133(%rip), %rdx     # 0xef6c7
leaq 0x7edd0(%rip), %rcx     # 0xef36b
leaq 0x7e9d9(%rip), %r8      # 0xeef7b
movq 0x18(%rsp), %rdi
movl $0x1cd, %r9d            # imm = 0x1CD
jmp 0x704f5
leaq 0x72ba0(%rip), %rsi     # 0xe3159
leaq 0x7f135(%rip), %rdx     # 0xef6f5
leaq 0x7eda4(%rip), %rcx     # 0xef36b
leaq 0x7e9ad(%rip), %r8      # 0xeef7b
movq 0x18(%rsp), %rdi
movl $0x1d2, %r9d            # imm = 0x1D2
xorl %eax, %eax
callq 0x34f1f
movq 0x28(%rsp), %rdi
movq $0xa, 0x10(%rsp)
jmp 0x70067
leaq 0x72b5f(%rip), %rsi     # 0xe3159
leaq 0x7f110(%rip), %rdx     # 0xef711
leaq 0x7ed63(%rip), %rcx     # 0xef36b
leaq 0x7e96c(%rip), %r8      # 0xeef7b
movq 0x18(%rsp), %rdi
movl $0x1d6, %r9d            # imm = 0x1D6
xorl %eax, %eax
callq 0x34f1f
movq $0xa, 0x10(%rsp)
jmp 0x70698
leaq 0x72b26(%rip), %rsi     # 0xe3159
leaq 0x7f0d7(%rip), %rdx     # 0xef711
leaq 0x7ed2a(%rip), %rcx     # 0xef36b
leaq 0x7e933(%rip), %r8      # 0xeef7b
movq 0x18(%rsp), %rdi
movl $0x1db, %r9d            # imm = 0x1DB
xorl %eax, %eax
callq 0x34f1f
incq 0x10(%rsp)
jmp 0x70698
leaq 0x72af1(%rip), %rsi     # 0xe3159
leaq 0x7f0d5(%rip), %rdx     # 0xef744
leaq 0x7ecf5(%rip), %rcx     # 0xef36b
leaq 0x7e8fe(%rip), %r8      # 0xeef7b
movq 0x18(%rsp), %rdi
movl $0x1e1, %r9d            # imm = 0x1E1
xorl %eax, %eax
callq 0x34f1f
movq $0x14, 0x10(%rsp)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movq 0x30(%rsp), %rbp
jmp 0x70540
leaq 0x72aaa(%rip), %rsi     # 0xe3159
leaq 0x7f011(%rip), %rdx     # 0xef6c7
leaq 0x7ecae(%rip), %rcx     # 0xef36b
leaq 0x7e8b7(%rip), %r8      # 0xeef7b
movq 0x18(%rsp), %rdi
movl $0x1e5, %r9d            # imm = 0x1E5
jmp 0x70688
leaq 0x72a81(%rip), %rsi     # 0xe3159
leaq 0x7efe8(%rip), %rdx     # 0xef6c7
leaq 0x7ec85(%rip), %rcx     # 0xef36b
leaq 0x7e88e(%rip), %r8      # 0xeef7b
movq 0x18(%rsp), %rdi
movl $0x1ea, %r9d            # imm = 0x1EA
jmp 0x70688
callq 0x1958a
leaq 0x72a53(%rip), %rsi     # 0xe3159
leaq 0x7efba(%rip), %rdx     # 0xef6c7
leaq 0x7ec57(%rip), %rcx     # 0xef36b
leaq 0x7e860(%rip), %r8      # 0xeef7b
movq 0x18(%rsp), %rdi
movl $0x1ef, %r9d            # imm = 0x1EF
jmp 0x70653