// File: /workspace/github_c_makefile_star2_O1/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 $0x58, %rsp
movq %rdi, %rbx
testq %rdi, %rdi
je 0x6f1a8
movq %rbx, %rdi
callq 0x3566a
testb %al, %al
jne 0x70109
movq %rbx, 0x18(%rsp)
leaq 0x7fe12(%rip), %r12     # 0xeefc6
movl $0x1, %ebx
movl $0x1, %edi
movl $0x28, %esi
movq %r12, %rdx
movl $0x2b, %ecx
callq 0x3601f
movq %rbx, 0x18(%rax)
movq %rax, %rdi
callq 0x6f134
movl $0x1, %edi
movl $0x28, %esi
movq %r12, %rdx
movl $0x2b, %ecx
callq 0x3601f
movl $0x4, %r14d
movq %r14, 0x18(%rax)
movq %rax, %rdi
callq 0x6f134
movl $0x1, %edi
movl $0x28, %esi
movq %r12, %rdx
movl $0x2b, %ecx
callq 0x3601f
movq %rax, 0x40(%rsp)
movq %rbx, 0x18(%rax)
movl $0x1, %edi
movl $0x28, %esi
movq %r12, %rdx
movl $0x2b, %ecx
callq 0x3601f
movq %rax, %r15
movq %r14, 0x18(%rax)
movl $0x401, %edi            # imm = 0x401
movq %r12, %rsi
movl $0x166, %edx            # imm = 0x166
callq 0x35ee2
movq %rax, 0x48(%rsp)
movl $0x1000, %edi           # imm = 0x1000
movq %r12, %rsi
movl $0x167, %edx            # imm = 0x167
callq 0x35ee2
movq %rax, %r13
movq $0x0, 0x10(%rsp)
leaq 0x73efa(%rip), %r14     # 0xe3179
movq %rax, 0x38(%rsp)
movl $0x400, %edi            # imm = 0x400
callq 0x7a188
movq %rax, 0x50(%rsp)
movq 0x40(%rsp), %rbx
movq %rbx, %rdi
callq 0x6ed13
movq %r15, %rdi
xorl %esi, %esi
callq 0x6ecf7
testq %rbx, %rbx
je 0x6f2d9
cmpq $0x0, 0x8(%rbx)
je 0x6f2d9
xorl %ebx, %ebx
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x80102(%rip), %rdx     # 0xef3c9
leaq 0x800e8(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x16f, %r9d            # imm = 0x16F
jmp 0x6f30a
xorl %ebp, %ebp
movb $0x1, %bl
testq %r15, %r15
je 0x6f316
cmpq $0x0, 0x8(%r15)
je 0x6f316
xorl %ebx, %ebx
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x800ee(%rip), %rdx     # 0xef3e8
leaq 0x800b5(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x170, %r9d            # imm = 0x170
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq $0x0, 0x10(%rsp)
cmpq $0x0, 0x50(%rsp)
setne %cl
andb %bl, %cl
movl $0x1, %eax
cmpb $0x1, %cl
jne 0x6f83f
movl $0x7f, %edi
callq 0x7a188
movb %al, 0xf(%rsp)
movl $0x7fffffff, %edi       # imm = 0x7FFFFFFF
callq 0x7a188
movl %eax, 0x24(%rsp)
movl $0x1, %edx
movq 0x40(%rsp), %rbx
movq %rbx, %rdi
leaq 0xf(%rsp), %rsi
callq 0x6ec0e
movl $0x4, %edx
movq %r15, %rdi
leaq 0x24(%rsp), %rsi
callq 0x6ec0e
testq %rbx, %rbx
je 0x6f388
movq 0x8(%rbx), %rcx
jmp 0x6f38a
xorl %ecx, %ecx
movq 0x10(%rsp), %rsi
leaq 0x1(%rsi), %rax
cmpq %rax, %rcx
jne 0x6f3a3
testq %r15, %r15
je 0x6f3c7
movq 0x8(%r15), %rcx
jmp 0x6f3c9
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x80054(%rip), %rdx     # 0xef406
leaq 0x7fffd(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x179, %r9d            # imm = 0x179
jmp 0x6f48a
xorl %ecx, %ecx
cmpq %rax, %rcx
jne 0x6f429
movq %rbx, %rdi
callq 0x6e9fa
movb (%rax), %al
cmpb 0xf(%rsp), %al
jne 0x6f44a
movq 0x10(%rsp), %rsi
movq %r15, %rdi
callq 0x6e9fa
movl (%rax), %eax
cmpl 0x24(%rsp), %eax
jne 0x6f46b
movl $0x1, %edx
movq %rbx, %rdi
leaq 0xf(%rsp), %rsi
callq 0x6ec0e
movl $0x4, %edx
movq %r15, %rdi
leaq 0x24(%rsp), %rsi
callq 0x6ec0e
testq %rbx, %rbx
je 0x6f5e6
movq 0x8(%rbx), %rcx
jmp 0x6f5e8
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x7ffef(%rip), %rdx     # 0xef427
leaq 0x7ff77(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x17a, %r9d            # imm = 0x17A
jmp 0x6f48a
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x7ffee(%rip), %rdx     # 0xef447
leaq 0x7ff56(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x17b, %r9d            # imm = 0x17B
jmp 0x6f48a
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x7fffa(%rip), %rdx     # 0xef474
leaq 0x7ff35(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x17c, %r9d            # imm = 0x17C
xorl %eax, %eax
callq 0x3559f
movl $0x1, %edx
movq %rbx, %rdi
leaq 0xf(%rsp), %rsi
callq 0x6ec0e
movl $0x4, %edx
movq %r15, %rdi
leaq 0x24(%rsp), %rsi
callq 0x6ec0e
xorl %ebx, %ebx
movq %r14, %r13
movq %r12, %r14
movb 0xf(%rsp), %al
movq 0x10(%rsp), %rcx
movq 0x48(%rsp), %r12
movb %al, (%r12,%rcx)
movq 0x10(%rsp), %rax
movb $0x0, 0x1(%r12,%rax)
movl 0x24(%rsp), %eax
movq 0x10(%rsp), %rcx
movq 0x38(%rsp), %rdx
movl %eax, (%rdx,%rcx,4)
xorl %ebp, %ebp
testb %bl, %bl
je 0x6f54a
movq 0x40(%rsp), %rdi
callq 0x6ebe9
movq %rax, %rbx
movq %r12, %rdi
callq 0xb260
movq %rbx, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0xb2a0
testl %eax, %eax
je 0x6f553
xorl %ebx, %ebx
movq 0x18(%rsp), %rdi
movq %r13, %rsi
leaq 0x80065(%rip), %rdx     # 0xef58e
leaq 0x7fe86(%rip), %rcx     # 0xef3b6
movq %r14, %r12
movq %r14, %r8
movl $0x192, %r9d            # imm = 0x192
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x6f558
xorl %ebx, %ebx
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x6f555
movb $0x1, %bl
movq %r14, %r12
testb %bl, %bl
je 0x6f5b8
xorl %ebx, %ebx
movq %r13, %r14
movq 0x38(%rsp), %r13
movq %r15, %rdi
movq %rbx, %rsi
callq 0x6e9fa
movl (%rax), %eax
cmpl (%r13,%rbx,4), %eax
je 0x6f5a5
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x8005c(%rip), %rdx     # 0xef5e5
leaq 0x7fe26(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x196, %r9d            # imm = 0x196
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
incq %rbx
movq 0x10(%rsp), %rax
cmpq %rax, %rbx
ja 0x6f5c5
testl %ebp, %ebp
je 0x6f566
jmp 0x6f5c5
movq 0x10(%rsp), %rax
movq %r13, %r14
movq 0x38(%rsp), %r13
leaq 0x1(%rax), %rcx
movq %rcx, 0x10(%rsp)
testl %ebp, %ebp
jne 0x6f83b
cmpq 0x50(%rsp), %rcx
jb 0x6f338
jmp 0x6f83b
xorl %ecx, %ecx
movq 0x10(%rsp), %rsi
leaq 0x2(%rsi), %rax
cmpq %rax, %rcx
jne 0x6f601
testq %r15, %r15
je 0x6f627
movq 0x8(%r15), %rcx
jmp 0x6f629
xorl %ebx, %ebx
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x7fe8d(%rip), %rdx     # 0xef49f
leaq 0x7fd9d(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x181, %r9d            # imm = 0x181
jmp 0x6f82f
xorl %ecx, %ecx
cmpq %rax, %rcx
jne 0x6f697
incq %rsi
movq %rbx, %rdi
callq 0x6e9fa
movb (%rax), %al
cmpb 0xf(%rsp), %al
jne 0x6f6bd
movq 0x10(%rsp), %rsi
incq %rsi
movq %r15, %rdi
callq 0x6e9fa
movl (%rax), %eax
cmpl 0x24(%rsp), %eax
jne 0x6f6e3
movq %rbx, %rdi
callq 0x6ea35
movb (%rax), %al
cmpb 0xf(%rsp), %al
jne 0x6f709
movq %r15, %rdi
callq 0x6ea35
movl (%rax), %eax
cmpl 0x24(%rsp), %eax
jne 0x6f72f
testq %rbx, %rbx
je 0x6f755
movq 0x8(%rbx), %rcx
jmp 0x6f757
xorl %ebx, %ebx
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x7fe18(%rip), %rdx     # 0xef4c0
leaq 0x7fd07(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x182, %r9d            # imm = 0x182
jmp 0x6f82f
xorl %ebx, %ebx
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x7fe12(%rip), %rdx     # 0xef4e0
leaq 0x7fce1(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x183, %r9d            # imm = 0x183
jmp 0x6f82f
xorl %ebx, %ebx
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x7fe1b(%rip), %rdx     # 0xef50f
leaq 0x7fcbb(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x184, %r9d            # imm = 0x184
jmp 0x6f82f
xorl %ebx, %ebx
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x7fe22(%rip), %rdx     # 0xef53c
leaq 0x7fc95(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x185, %r9d            # imm = 0x185
jmp 0x6f82f
xorl %ebx, %ebx
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x7fe26(%rip), %rdx     # 0xef566
leaq 0x7fc6f(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x186, %r9d            # imm = 0x186
jmp 0x6f82f
xorl %ecx, %ecx
movq 0x10(%rsp), %rsi
leaq 0x1(%rsi), %rax
cmpq %rax, %rcx
jne 0x6f770
testq %r15, %r15
je 0x6f796
movq 0x8(%r15), %rcx
jmp 0x6f798
xorl %ebx, %ebx
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x7fc85(%rip), %rdx     # 0xef406
leaq 0x7fc2e(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x187, %r9d            # imm = 0x187
jmp 0x6f82f
xorl %ecx, %ecx
cmpq %rax, %rcx
jne 0x6f7eb
movq %rbx, %rdi
callq 0x6e9fa
movb (%rax), %al
cmpb 0xf(%rsp), %al
jne 0x6f80e
movq 0x10(%rsp), %rsi
movq %r15, %rdi
callq 0x6e9fa
movl (%rax), %eax
movb $0x1, %bl
cmpl 0x24(%rsp), %eax
je 0x6f4b7
xorl %ebx, %ebx
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x7fc9b(%rip), %rdx     # 0xef474
leaq 0x7fbd6(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x18a, %r9d            # imm = 0x18A
jmp 0x6f82f
xorl %ebx, %ebx
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x7fc2b(%rip), %rdx     # 0xef427
leaq 0x7fbb3(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x188, %r9d            # imm = 0x188
jmp 0x6f82f
xorl %ebx, %ebx
movq 0x18(%rsp), %rdi
movq %r14, %rsi
leaq 0x7fc28(%rip), %rdx     # 0xef447
leaq 0x7fb90(%rip), %rcx     # 0xef3b6
movq %r12, %r8
movl $0x189, %r9d            # imm = 0x189
xorl %eax, %eax
callq 0x3559f
jmp 0x6f4b7
addq $0x2, %rax
movq %rax, 0x10(%rsp)
cmpq $0x63, %rax
ja 0x6f852
testl %ebp, %ebp
je 0x6f284
testl %ebp, %ebp
je 0x6f860
xorl %ebp, %ebp
xorl %r12d, %r12d
jmp 0x6f975
leaq 0x7f75f(%rip), %rdx     # 0xeefc6
movl $0x1, %edi
movl $0x28, %esi
movl $0x2b, %ecx
callq 0x3601f
movq %rax, %rbp
movq $0x10, 0x18(%rax)
movq $0x0, 0x10(%rsp)
xorl %eax, %eax
leaq 0x28(%rsp), %rbx
leaq 0x1(%rax), %rcx
movq %rcx, 0x28(%rsp)
addq $0x65, %rax
movq %rax, 0x30(%rsp)
movl $0x10, %edx
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x6ec0e
movq 0x10(%rsp), %rax
incq %rax
movq %rax, 0x10(%rsp)
cmpq $0x18, %rax
jb 0x6f896
movq %rbp, %rdi
callq 0x6eb46
movq $0x0, 0x10(%rsp)
leaq 0x28(%rsp), %rbx
xorl %eax, %eax
leaq 0x1(%rax), %rcx
movq %rcx, 0x28(%rsp)
leaq 0x65(%rax), %rcx
movq %rcx, 0x30(%rsp)
movl $0x17, %esi
subq %rax, %rsi
movq %rbp, %rdi
callq 0x6e9fa
movq %rbx, %rdi
movq %rax, %rsi
callq 0x7df58
movl %eax, %r14d
testl %eax, %eax
sete %r12b
je 0x6f949
movq 0x18(%rsp), %rdi
leaq 0x73852(%rip), %rsi     # 0xe3179
leaq 0x7fcef(%rip), %rdx     # 0xef61d
leaq 0x7fa81(%rip), %rcx     # 0xef3b6
leaq 0x7f68a(%rip), %r8      # 0xeefc6
movl $0x1a7, %r9d            # imm = 0x1A7
xorl %eax, %eax
callq 0x3559f
movq 0x10(%rsp), %rax
incq %rax
movq %rax, 0x10(%rsp)
testl %r14d, %r14d
jne 0x6f961
cmpq $0x18, %rax
jb 0x6f8e3
testq %rbp, %rbp
je 0x6f96e
incl 0x20(%rbp)
movq %rbp, %rdi
jmp 0x6f970
xorl %edi, %edi
callq 0x6f134
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
testb %r12b, %r12b
je 0x6f9f5
leaq 0x10(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x77c(%rip), %rsi       # 0x7010e
movq %rbp, %rdi
movq 0x18(%rsp), %r14
movq %r14, %rcx
callq 0x6ef44
movl %eax, %ebx
testl %eax, %eax
jne 0x6f9fa
leaq 0x7fc(%rip), %rsi       # 0x701ab
xorl %ebx, %ebx
movq %rbp, %rdi
xorl %edx, %edx
movq %r14, %rcx
callq 0x6ef44
testl %eax, %eax
jne 0x6f9fa
leaq 0x737b0(%rip), %rsi     # 0xe3179
leaq 0x7fc80(%rip), %rdx     # 0xef650
leaq 0x7f9df(%rip), %rcx     # 0xef3b6
leaq 0x7f5e8(%rip), %r8      # 0xeefc6
movq %r14, %rdi
movl $0x1b0, %r9d            # imm = 0x1B0
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
jmp 0x6f9fa
movq 0x18(%rsp), %r14
testl %ebx, %ebx
jne 0x6fa75
movq %rbp, %rdi
callq 0x6eb46
leaq 0x10(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x6f5(%rip), %rsi       # 0x7010e
movq %rbp, %rdi
movq %r14, %rcx
callq 0x6eece
movl %eax, %ebx
testl %eax, %eax
jne 0x6fa75
leaq 0x77a(%rip), %rsi       # 0x701ab
xorl %ebx, %ebx
movq %rbp, %rdi
xorl %edx, %edx
movq %r14, %rcx
callq 0x6eece
testl %eax, %eax
jne 0x6fa75
leaq 0x7372e(%rip), %rsi     # 0xe3179
leaq 0x7fc38(%rip), %rdx     # 0xef68a
leaq 0x7f95d(%rip), %rcx     # 0xef3b6
leaq 0x7f566(%rip), %r8      # 0xeefc6
movq %r14, %rdi
movl $0x1b6, %r9d            # imm = 0x1B6
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
testl %ebx, %ebx
je 0x6fa87
movq $0x0, 0x38(%rsp)
jmp 0x6fb2c
movq %rbp, %rdi
callq 0x6e96b
movq %rax, 0x38(%rsp)
movq $0x0, 0x10(%rsp)
leaq 0x7f912(%rip), %r12     # 0xef3b6
leaq 0x7f51b(%rip), %rbx     # 0xeefc6
xorl %esi, %esi
testq %rbp, %rbp
je 0x6fab8
movq 0x8(%rbp), %rax
jmp 0x6faba
xorl %eax, %eax
cmpq %rax, %rsi
jae 0x6fb2a
movq %rbp, %rdi
callq 0x6e9fa
movq %rax, %r14
movq 0x10(%rsp), %rsi
movq 0x38(%rsp), %rdi
callq 0x6e9fa
movq %r14, %rdi
movq %rax, %rsi
callq 0x7df58
movl %eax, %r14d
testl %eax, %eax
je 0x6fb11
movq 0x18(%rsp), %rdi
leaq 0x73682(%rip), %rsi     # 0xe3179
leaq 0x7fbbe(%rip), %rdx     # 0xef6bc
movq %r12, %rcx
movq %rbx, %r8
movl $0x1bc, %r9d            # imm = 0x1BC
xorl %eax, %eax
callq 0x3559f
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
testl %r14d, %r14d
je 0x6faad
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
jmp 0x6fb2c
xorl %ebx, %ebx
testl %ebx, %ebx
jne 0x6fcdd
movl $0xd, %esi
movq %rbp, %rdi
callq 0x6ea59
movl $0xc, %esi
movq %rbp, %rdi
callq 0x6ea59
movl $0xb, %esi
movq %rbp, %rdi
callq 0x6ea59
movl $0xa, %esi
movq %rbp, %rdi
callq 0x6ea59
testq %rbp, %rbp
movq 0x18(%rsp), %rdi
je 0x6fb80
cmpq $0x14, 0x8(%rbp)
jne 0x6fb80
xorl %ebx, %ebx
movb $0x1, %r14b
jmp 0x6fbb1
leaq 0x735f2(%rip), %rsi     # 0xe3179
leaq 0x7fb6d(%rip), %rdx     # 0xef6fb
leaq 0x7f821(%rip), %rcx     # 0xef3b6
leaq 0x7f42a(%rip), %r8      # 0xeefc6
xorl %r14d, %r14d
movl $0x1c4, %r9d            # imm = 0x1C4
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq $0x0, 0x10(%rsp)
testb %r14b, %r14b
je 0x6fc46
leaq 0x28(%rsp), %r14
xorl %esi, %esi
leaq 0x1(%rsi), %rax
movq %rax, 0x28(%rsp)
leaq 0x65(%rsi), %rax
movq %rax, 0x30(%rsp)
movq %rbp, %rdi
callq 0x6e9fa
movq %r14, %rdi
movq %rax, %rsi
callq 0x7df58
movl %eax, %r12d
movl $0x0, %ebx
testl %eax, %eax
je 0x6fc2e
movq 0x18(%rsp), %rdi
leaq 0x73572(%rip), %rsi     # 0xe3179
leaq 0x7fb04(%rip), %rdx     # 0xef712
leaq 0x7f7a1(%rip), %rcx     # 0xef3b6
leaq 0x7f3aa(%rip), %r8      # 0xeefc6
movl $0x1c8, %r9d            # imm = 0x1C8
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
testl %r12d, %r12d
jne 0x6fc46
cmpq $0xa, %rsi
jb 0x6fbca
movq $0xa, 0x10(%rsp)
testl %ebx, %ebx
jne 0x6fcdd
movl $0xa, %esi
leaq 0x28(%rsp), %r14
leaq 0x5(%rsi), %rax
movq %rax, 0x28(%rsp)
leaq 0x69(%rsi), %rax
movq %rax, 0x30(%rsp)
movq %rbp, %rdi
callq 0x6e9fa
movq %r14, %rdi
movq %rax, %rsi
callq 0x7df58
movl %eax, %r12d
movl $0x0, %ebx
testl %eax, %eax
je 0x6fcc5
movq 0x18(%rsp), %rdi
leaq 0x734db(%rip), %rsi     # 0xe3179
leaq 0x7fa6d(%rip), %rdx     # 0xef712
leaq 0x7f70a(%rip), %rcx     # 0xef3b6
leaq 0x7f313(%rip), %r8      # 0xeefc6
movl $0x1cd, %r9d            # imm = 0x1CD
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
testl %r12d, %r12d
jne 0x6fcdd
cmpq $0x14, %rsi
jb 0x6fc61
testl %ebx, %ebx
jne 0x6fe75
movl $0xa, %esi
movl $0xd, %edx
movq 0x38(%rsp), %rbx
movq %rbx, %rdi
callq 0x6eac2
testq %rbx, %rbx
movq 0x18(%rsp), %rdi
je 0x6fd14
cmpq $0x14, 0x8(%rbx)
jne 0x6fd14
xorl %ebx, %ebx
movb $0x1, %r14b
jmp 0x6fd45
leaq 0x7345e(%rip), %rsi     # 0xe3179
leaq 0x7fa1e(%rip), %rdx     # 0xef740
leaq 0x7f68d(%rip), %rcx     # 0xef3b6
leaq 0x7f296(%rip), %r8      # 0xeefc6
xorl %r14d, %r14d
movl $0x1d2, %r9d            # imm = 0x1D2
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq $0x0, 0x10(%rsp)
testb %r14b, %r14b
je 0x6fddc
leaq 0x28(%rsp), %r14
xorl %esi, %esi
leaq 0x1(%rsi), %rax
movq %rax, 0x28(%rsp)
leaq 0x65(%rsi), %rax
movq %rax, 0x30(%rsp)
movq 0x38(%rsp), %rdi
callq 0x6e9fa
movq %r14, %rdi
movq %rax, %rsi
callq 0x7df58
movl %eax, %r12d
movl $0x0, %ebx
testl %eax, %eax
je 0x6fdc4
movq 0x18(%rsp), %rdi
leaq 0x733dc(%rip), %rsi     # 0xe3179
leaq 0x7f9b8(%rip), %rdx     # 0xef75c
leaq 0x7f60b(%rip), %rcx     # 0xef3b6
leaq 0x7f214(%rip), %r8      # 0xeefc6
movl $0x1d6, %r9d            # imm = 0x1D6
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
testl %r12d, %r12d
jne 0x6fddc
cmpq $0xa, %rsi
jb 0x6fd5e
movq $0xa, 0x10(%rsp)
testl %ebx, %ebx
jne 0x6fe75
movl $0xa, %esi
leaq 0x28(%rsp), %r14
leaq 0x5(%rsi), %rax
movq %rax, 0x28(%rsp)
leaq 0x69(%rsi), %rax
movq %rax, 0x30(%rsp)
movq 0x38(%rsp), %rdi
callq 0x6e9fa
movq %r14, %rdi
movq %rax, %rsi
callq 0x7df58
movl %eax, %r12d
movl $0x0, %ebx
testl %eax, %eax
je 0x6fe5d
movq 0x18(%rsp), %rdi
leaq 0x73343(%rip), %rsi     # 0xe3179
leaq 0x7f91f(%rip), %rdx     # 0xef75c
leaq 0x7f572(%rip), %rcx     # 0xef3b6
leaq 0x7f17b(%rip), %r8      # 0xeefc6
movl $0x1db, %r9d            # imm = 0x1DB
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
testl %r12d, %r12d
jne 0x6fe75
cmpq $0x14, %rsi
jb 0x6fdf7
testl %ebx, %ebx
jne 0x700ab
movl $0xa, %esi
movl $0x13, %edx
movq 0x38(%rsp), %rbx
movq %rbx, %rdi
callq 0x6eac2
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x6efb8
testq %rbp, %rbp
je 0x6feb2
cmpq $0x1e, 0x8(%rbp)
jne 0x6feb2
xorl %ebx, %ebx
movb $0x1, %r14b
jmp 0x6fee8
leaq 0x732c0(%rip), %rsi     # 0xe3179
leaq 0x7f8cf(%rip), %rdx     # 0xef78f
leaq 0x7f4ef(%rip), %rcx     # 0xef3b6
leaq 0x7f0f8(%rip), %r8      # 0xeefc6
xorl %r14d, %r14d
movq 0x18(%rsp), %rdi
movl $0x1e1, %r9d            # imm = 0x1E1
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq $0x0, 0x10(%rsp)
testb %r14b, %r14b
je 0x6ff7d
leaq 0x28(%rsp), %r14
xorl %esi, %esi
leaq 0x1(%rsi), %rax
movq %rax, 0x28(%rsp)
leaq 0x65(%rsi), %rax
movq %rax, 0x30(%rsp)
movq %rbp, %rdi
callq 0x6e9fa
movq %r14, %rdi
movq %rax, %rsi
callq 0x7df58
movl %eax, %r12d
movl $0x0, %ebx
testl %eax, %eax
je 0x6ff65
movq 0x18(%rsp), %rdi
leaq 0x7323b(%rip), %rsi     # 0xe3179
leaq 0x7f7cd(%rip), %rdx     # 0xef712
leaq 0x7f46a(%rip), %rcx     # 0xef3b6
leaq 0x7f073(%rip), %r8      # 0xeefc6
movl $0x1e5, %r9d            # imm = 0x1E5
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
testl %r12d, %r12d
jne 0x6ff7d
cmpq $0xa, %rsi
jb 0x6ff01
movq $0xa, 0x10(%rsp)
testl %ebx, %ebx
jne 0x70014
movl $0xa, %esi
leaq 0x28(%rsp), %r14
leaq -0x9(%rsi), %rax
movq %rax, 0x28(%rsp)
leaq 0x5b(%rsi), %rax
movq %rax, 0x30(%rsp)
movq %rbp, %rdi
callq 0x6e9fa
movq %r14, %rdi
movq %rax, %rsi
callq 0x7df58
movl %eax, %r12d
movl $0x0, %ebx
testl %eax, %eax
je 0x6fffc
movq 0x18(%rsp), %rdi
leaq 0x731a4(%rip), %rsi     # 0xe3179
leaq 0x7f736(%rip), %rdx     # 0xef712
leaq 0x7f3d3(%rip), %rcx     # 0xef3b6
leaq 0x7efdc(%rip), %r8      # 0xeefc6
movl $0x1ea, %r9d            # imm = 0x1EA
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
testl %r12d, %r12d
jne 0x70014
cmpq $0x14, %rsi
jb 0x6ff98
movq $0x14, 0x10(%rsp)
testl %ebx, %ebx
jne 0x700ab
movl $0x14, %esi
leaq 0x28(%rsp), %r14
leaq -0x5(%rsi), %rax
movq %rax, 0x28(%rsp)
leaq 0x5f(%rsi), %rax
movq %rax, 0x30(%rsp)
movq %rbp, %rdi
callq 0x6e9fa
movq %r14, %rdi
movq %rax, %rsi
callq 0x7df58
movl %eax, %r12d
movl $0x0, %ebx
testl %eax, %eax
je 0x70093
movq 0x18(%rsp), %rdi
leaq 0x7310d(%rip), %rsi     # 0xe3179
leaq 0x7f69f(%rip), %rdx     # 0xef712
leaq 0x7f33c(%rip), %rcx     # 0xef3b6
leaq 0x7ef45(%rip), %r8      # 0xeefc6
movl $0x1ef, %r9d            # imm = 0x1EF
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq 0x10(%rsp), %rsi
incq %rsi
movq %rsi, 0x10(%rsp)
testl %r12d, %r12d
jne 0x700ab
cmpq $0x1e, %rsi
jb 0x7002f
movq 0x38(%rsp), %rdi
callq 0x6f134
movq %rbp, %rdi
callq 0x6f134
movq 0x40(%rsp), %rdi
callq 0x6f134
movq %r15, %rdi
callq 0x6f134
leaq 0x7eef0(%rip), %r14     # 0xeefc6
movq 0x48(%rsp), %rdi
movq %r14, %rsi
movl $0x1f7, %edx            # imm = 0x1F7
callq 0x362a0
movq %r13, %rdi
movq %r14, %rsi
movl $0x1f8, %edx            # imm = 0x1F8
callq 0x362a0
movl %ebx, %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x195df