// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/dlist.c
// Function: gt_dlist_unit_test
int gt_dlist_unit_test(GtError *err)
{
  GtDlist *dlist;
  GtDlistelem *dlistelem;
  int i, j, size, *data,
      elem_a = 7,
      elem_b = 6,
      elems[MAX_SIZE],
      elems_backup[MAX_SIZE],
      had_err = 0;
  gt_error_check(err);

  /* boundary case: empty dlist */
  dlist = gt_dlist_new(intcompare);
  gt_ensure(!gt_dlist_size(dlist));
  gt_dlist_delete(dlist);

  dlist = gt_dlist_new(NULL);
  gt_ensure(!gt_dlist_size(dlist));
  gt_dlist_delete(dlist);

  /* boundary case: dlist containing one element */
  dlist = gt_dlist_new(intcompare);
  gt_dlist_add(dlist, &elem_a);
  gt_ensure(gt_dlist_size(dlist) == 1);
  gt_ensure(
         elem_a == *(int*) gt_dlistelem_get_data(gt_dlist_first(dlist)));
  gt_dlist_delete(dlist);

  dlist = gt_dlist_new(NULL);
  gt_dlist_add(dlist, &elem_a);
  gt_ensure(gt_dlist_size(dlist) == 1);
  gt_ensure(
         elem_a == *(int*) gt_dlistelem_get_data(gt_dlist_first(dlist)));
  gt_dlist_delete(dlist);

  /* boundary case: dlist containing two elements */
  dlist = gt_dlist_new(intcompare);
  gt_dlist_add(dlist, &elem_a);
  gt_dlist_add(dlist, &elem_b);
  gt_ensure(gt_dlist_size(dlist) == 2);
  gt_ensure(
         elem_b == *(int*) gt_dlistelem_get_data(gt_dlist_first(dlist)));
  gt_dlist_delete(dlist);

  dlist = gt_dlist_new(NULL);
  gt_dlist_add(dlist, &elem_a);
  gt_dlist_add(dlist, &elem_b);
  gt_ensure(gt_dlist_size(dlist) == 2);
  gt_ensure(
         elem_a == *(int*) gt_dlistelem_get_data(gt_dlist_first(dlist)));
  gt_dlist_delete(dlist);

  for (i = 0; i < NUM_OF_TESTS && !had_err; i++) {
    /* construct the random elements for the list */
    size = gt_rand_max(MAX_SIZE);
    for (j = 0; j < size; j++) {
      elems[j] = gt_rand_max(INT_MAX);
      elems_backup[j] = elems[j];
    }

    /* sort the backup elements */
    qsort(elems_backup, size, sizeof (int), intcompare);

    /* test with compare function */
    dlist = gt_dlist_new(intcompare);
    gt_ensure(!gt_dlist_size(dlist));
    for (j = 0; j < size && !had_err; j++) {
      gt_dlist_add(dlist, elems + j);
      gt_ensure(gt_dlist_size(dlist) == j+1);

      for (dlistelem = gt_dlist_first(dlist); dlistelem != NULL;
           dlistelem = gt_dlistelem_next(dlistelem)) {
      }
    }
    j = 0;
    for (dlistelem = gt_dlist_first(dlist); dlistelem != NULL;
         dlistelem = gt_dlistelem_next(dlistelem)) {
      data = gt_dlistelem_get_data(dlistelem);
      gt_ensure(*data == elems_backup[j]);
      j++;
    }
    /* test gt_dlist_find() */
    for (j = 0; j < size; j++) {
      dlistelem = gt_dlist_find(dlist, elems_backup + j);
      gt_ensure(dlistelem);
      gt_ensure(
             *(int*) gt_dlistelem_get_data(dlistelem) == elems_backup[j]);
    }
    /* remove first element */
    if (gt_dlist_size(dlist)) {
      gt_dlist_remove(dlist, gt_dlist_first(dlist));
      if (gt_dlist_size(dlist)) {
        data = gt_dlistelem_get_data(gt_dlist_first(dlist));
        gt_ensure(*data == elems_backup[1]);
      }
    }
    /* remove last element */
    if (gt_dlist_size(dlist)) {
      gt_dlist_remove(dlist, gt_dlist_last(dlist));
      if (gt_dlist_size(dlist)) {
        data = gt_dlistelem_get_data(gt_dlist_last(dlist));
        gt_ensure(*data == elems_backup[size - 2]);
      }
    }
    /* XXX: fix this */
#if 0
    /* remove middle element */
    if (gt_dlist_size(dlist) >= 2) {
      dlistelem = gt_dlist_first(dlist);
      for (j = 1; j < gt_dlist_size(dlist) / 2; j++)
        dlistelem = gt_dlistelem_next(dlistelem);
      gt_dlist_remove(dlist, dlistelem);
      dlistelem = gt_dlist_first(dlist);
      for (j = 1; j < gt_dlist_size(dlist) / 2 + 1; j++)
        dlistelem = gt_dlistelem_next(dlistelem);
      data = gt_dlistelem_get_data(gt_dlist_last(dlist));
      gt_ensure(*data == elems_backup[size / 2 + 1]);
    }
#endif
    gt_dlist_delete(dlist);

    /* test without compare function */
    dlist = gt_dlist_new(NULL);
    gt_ensure(!gt_dlist_size(dlist));
    for (j = 0; j < size && !had_err; j++) {
      gt_dlist_add(dlist, elems + j);
      gt_ensure(gt_dlist_size(dlist) == j+1);
    }
    j = 0;
    for (dlistelem = gt_dlist_first(dlist); dlistelem != NULL;
         dlistelem = gt_dlistelem_next(dlistelem)) {
      data = gt_dlistelem_get_data(dlistelem);
      gt_assert(j < MAX_SIZE);
      gt_ensure(*data == elems[j]);
      j++;
    }
    /* remove first element */
    if (gt_dlist_size(dlist)) {
      gt_dlist_remove(dlist, gt_dlist_first(dlist));
      if (gt_dlist_size(dlist)) {
        data = gt_dlistelem_get_data(gt_dlist_first(dlist));
        gt_ensure(*data == elems[1]);
      }
    }
    /* remove last element */
    if (gt_dlist_size(dlist)) {
      gt_dlist_remove(dlist, gt_dlist_last(dlist));
      if (gt_dlist_size(dlist)) {
        data = gt_dlistelem_get_data(gt_dlist_last(dlist));
        gt_ensure(*data == elems[size - 2]);
      }
    }
    gt_dlist_delete(dlist);
  }

  return had_err;
}

// Assembly:
subq $0x2078, %rsp           # imm = 0x2078
movq %rdi, 0x2070(%rsp)
movl $0x7, 0x2044(%rsp)
movl $0x6, 0x2040(%rsp)
movl $0x0, 0x3c(%rsp)
cmpq $0x0, 0x2070(%rsp)
je 0x7e333
movq 0x2070(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x7e2fb
jmp 0x7e333
movq 0x135cd6(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xdfd5a(%rip), %rsi     # 0x15e066
leaq 0xe0335(%rip), %rdx     # 0x15e648
leaq 0xef6d3(%rip), %rcx     # 0x16d9ed
leaq 0xef565(%rip), %r8      # 0x16d886
movl $0xd8, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x7e335
leaq 0xf04(%rip), %rdi       # 0x7f240
callq 0x7d760
movq %rax, 0x2068(%rsp)
cmpl $0x0, 0x3c(%rsp)
jne 0x7e39e
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x0, %rax
je 0x7e39c
movq 0x2070(%rsp), %rdi
leaq 0xe1e05(%rip), %rsi     # 0x160177
leaq 0xef687(%rip), %rdx     # 0x16da00
leaq 0xef66d(%rip), %rcx     # 0x16d9ed
leaq 0xef4ff(%rip), %r8      # 0x16d886
movl $0xdc, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7e39e
jmp 0x7e3a0
movq 0x2068(%rsp), %rdi
callq 0x7e220
xorl %eax, %eax
movl %eax, %edi
callq 0x7d760
movq %rax, 0x2068(%rsp)
cmpl $0x0, 0x3c(%rsp)
jne 0x7e413
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x0, %rax
je 0x7e411
movq 0x2070(%rsp), %rdi
leaq 0xe1d90(%rip), %rsi     # 0x160177
leaq 0xef612(%rip), %rdx     # 0x16da00
leaq 0xef5f8(%rip), %rcx     # 0x16d9ed
leaq 0xef48a(%rip), %r8      # 0x16d886
movl $0xe0, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7e413
jmp 0x7e415
movq 0x2068(%rsp), %rdi
callq 0x7e220
leaq 0xe17(%rip), %rdi       # 0x7f240
callq 0x7d760
movq %rax, 0x2068(%rsp)
movq 0x2068(%rsp), %rdi
leaq 0x2044(%rsp), %rsi
callq 0x7dab0
cmpl $0x0, 0x3c(%rsp)
jne 0x7e4a0
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x1, %rax
je 0x7e49e
movq 0x2070(%rsp), %rdi
leaq 0xe1d03(%rip), %rsi     # 0x160177
leaq 0xef59b(%rip), %rdx     # 0x16da16
leaq 0xef56b(%rip), %rcx     # 0x16d9ed
leaq 0xef3fd(%rip), %r8      # 0x16d886
movl $0xe6, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7e4a0
jmp 0x7e4a2
jmp 0x7e4a4
cmpl $0x0, 0x3c(%rsp)
jne 0x7e511
movl 0x2044(%rsp), %eax
movl %eax, 0x38(%rsp)
movq 0x2068(%rsp), %rdi
callq 0x7d850
movq %rax, %rdi
callq 0x7d9e0
movq %rax, %rcx
movl 0x38(%rsp), %eax
cmpl (%rcx), %eax
je 0x7e50f
movq 0x2070(%rsp), %rdi
leaq 0xe1c92(%rip), %rsi     # 0x160177
leaq 0xef544(%rip), %rdx     # 0x16da30
leaq 0xef4fa(%rip), %rcx     # 0x16d9ed
leaq 0xef38c(%rip), %r8      # 0x16d886
movl $0xe8, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7e511
jmp 0x7e513
movq 0x2068(%rsp), %rdi
callq 0x7e220
xorl %eax, %eax
movl %eax, %edi
callq 0x7d760
movq %rax, 0x2068(%rsp)
movq 0x2068(%rsp), %rdi
leaq 0x2044(%rsp), %rsi
callq 0x7dab0
cmpl $0x0, 0x3c(%rsp)
jne 0x7e59b
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x1, %rax
je 0x7e599
movq 0x2070(%rsp), %rdi
leaq 0xe1c08(%rip), %rsi     # 0x160177
leaq 0xef4a0(%rip), %rdx     # 0x16da16
leaq 0xef470(%rip), %rcx     # 0x16d9ed
leaq 0xef302(%rip), %r8      # 0x16d886
movl $0xed, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7e59b
jmp 0x7e59d
jmp 0x7e59f
cmpl $0x0, 0x3c(%rsp)
jne 0x7e60c
movl 0x2044(%rsp), %eax
movl %eax, 0x34(%rsp)
movq 0x2068(%rsp), %rdi
callq 0x7d850
movq %rax, %rdi
callq 0x7d9e0
movq %rax, %rcx
movl 0x34(%rsp), %eax
cmpl (%rcx), %eax
je 0x7e60a
movq 0x2070(%rsp), %rdi
leaq 0xe1b97(%rip), %rsi     # 0x160177
leaq 0xef449(%rip), %rdx     # 0x16da30
leaq 0xef3ff(%rip), %rcx     # 0x16d9ed
leaq 0xef291(%rip), %r8      # 0x16d886
movl $0xef, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7e60c
jmp 0x7e60e
movq 0x2068(%rsp), %rdi
callq 0x7e220
leaq 0xc1e(%rip), %rdi       # 0x7f240
callq 0x7d760
movq %rax, 0x2068(%rsp)
movq 0x2068(%rsp), %rdi
leaq 0x2044(%rsp), %rsi
callq 0x7dab0
movq 0x2068(%rsp), %rdi
leaq 0x2040(%rsp), %rsi
callq 0x7dab0
cmpl $0x0, 0x3c(%rsp)
jne 0x7e6ae
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x2, %rax
je 0x7e6ac
movq 0x2070(%rsp), %rdi
leaq 0xe1af5(%rip), %rsi     # 0x160177
leaq 0xef3e6(%rip), %rdx     # 0x16da6f
leaq 0xef35d(%rip), %rcx     # 0x16d9ed
leaq 0xef1ef(%rip), %r8      # 0x16d886
movl $0xf6, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7e6ae
jmp 0x7e6b0
jmp 0x7e6b2
cmpl $0x0, 0x3c(%rsp)
jne 0x7e71f
movl 0x2040(%rsp), %eax
movl %eax, 0x30(%rsp)
movq 0x2068(%rsp), %rdi
callq 0x7d850
movq %rax, %rdi
callq 0x7d9e0
movq %rax, %rcx
movl 0x30(%rsp), %eax
cmpl (%rcx), %eax
je 0x7e71d
movq 0x2070(%rsp), %rdi
leaq 0xe1a84(%rip), %rsi     # 0x160177
leaq 0xef38f(%rip), %rdx     # 0x16da89
leaq 0xef2ec(%rip), %rcx     # 0x16d9ed
leaq 0xef17e(%rip), %r8      # 0x16d886
movl $0xf8, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7e71f
jmp 0x7e721
movq 0x2068(%rsp), %rdi
callq 0x7e220
xorl %eax, %eax
movl %eax, %edi
callq 0x7d760
movq %rax, 0x2068(%rsp)
movq 0x2068(%rsp), %rdi
leaq 0x2044(%rsp), %rsi
callq 0x7dab0
movq 0x2068(%rsp), %rdi
leaq 0x2040(%rsp), %rsi
callq 0x7dab0
cmpl $0x0, 0x3c(%rsp)
jne 0x7e7be
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x2, %rax
je 0x7e7bc
movq 0x2070(%rsp), %rdi
leaq 0xe19e5(%rip), %rsi     # 0x160177
leaq 0xef2d6(%rip), %rdx     # 0x16da6f
leaq 0xef24d(%rip), %rcx     # 0x16d9ed
leaq 0xef0df(%rip), %r8      # 0x16d886
movl $0xfe, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7e7be
jmp 0x7e7c0
jmp 0x7e7c2
cmpl $0x0, 0x3c(%rsp)
jne 0x7e82f
movl 0x2044(%rsp), %eax
movl %eax, 0x2c(%rsp)
movq 0x2068(%rsp), %rdi
callq 0x7d850
movq %rax, %rdi
callq 0x7d9e0
movq %rax, %rcx
movl 0x2c(%rsp), %eax
cmpl (%rcx), %eax
je 0x7e82d
movq 0x2070(%rsp), %rdi
leaq 0xe1974(%rip), %rsi     # 0x160177
leaq 0xef226(%rip), %rdx     # 0x16da30
leaq 0xef1dc(%rip), %rcx     # 0x16d9ed
leaq 0xef06e(%rip), %r8      # 0x16d886
movl $0x100, %r9d            # imm = 0x100
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7e82f
jmp 0x7e831
movq 0x2068(%rsp), %rdi
callq 0x7e220
movl $0x0, 0x205c(%rsp)
xorl %eax, %eax
cmpl $0x64, 0x205c(%rsp)
movb %al, 0x2b(%rsp)
jge 0x7e867
cmpl $0x0, 0x3c(%rsp)
setne %al
xorb $-0x1, %al
movb %al, 0x2b(%rsp)
movb 0x2b(%rsp), %al
testb $0x1, %al
jne 0x7e874
jmp 0x7f22b
movl $0x400, %edi            # imm = 0x400
callq 0x8c3c0
movl %eax, 0x2054(%rsp)
movl $0x0, 0x2058(%rsp)
movl 0x2058(%rsp), %eax
cmpl 0x2054(%rsp), %eax
jge 0x7e8e9
movl $0x7fffffff, %edi       # imm = 0x7FFFFFFF
callq 0x8c3c0
movl %eax, %ecx
movslq 0x2058(%rsp), %rax
movl %ecx, 0x1040(%rsp,%rax,4)
movslq 0x2058(%rsp), %rax
movl 0x1040(%rsp,%rax,4), %ecx
movslq 0x2058(%rsp), %rax
movl %ecx, 0x40(%rsp,%rax,4)
movl 0x2058(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2058(%rsp)
jmp 0x7e890
leaq 0x40(%rsp), %rdi
movslq 0x2054(%rsp), %rsi
movl $0x4, %edx
leaq 0x93e(%rip), %rcx       # 0x7f240
callq 0xbc40
leaq 0x932(%rip), %rdi       # 0x7f240
callq 0x7d760
movq %rax, 0x2068(%rsp)
cmpl $0x0, 0x3c(%rsp)
jne 0x7e970
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x0, %rax
je 0x7e96e
movq 0x2070(%rsp), %rdi
leaq 0xe1833(%rip), %rsi     # 0x160177
leaq 0xef0b5(%rip), %rdx     # 0x16da00
leaq 0xef09b(%rip), %rcx     # 0x16d9ed
leaq 0xeef2d(%rip), %r8      # 0x16d886
movl $0x110, %r9d            # imm = 0x110
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7e970
jmp 0x7e972
movl $0x0, 0x2058(%rsp)
movl 0x2058(%rsp), %ecx
xorl %eax, %eax
cmpl 0x2054(%rsp), %ecx
movb %al, 0x2a(%rsp)
jge 0x7e9a1
cmpl $0x0, 0x3c(%rsp)
setne %al
xorb $-0x1, %al
movb %al, 0x2a(%rsp)
movb 0x2a(%rsp), %al
testb $0x1, %al
jne 0x7e9ae
jmp 0x7ea86
movq 0x2068(%rsp), %rdi
leaq 0x1040(%rsp), %rsi
movslq 0x2058(%rsp), %rax
shlq $0x2, %rax
addq %rax, %rsi
callq 0x7dab0
cmpl $0x0, 0x3c(%rsp)
jne 0x7ea33
movq 0x2068(%rsp), %rdi
callq 0x7da80
movl 0x2058(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
cmpq %rcx, %rax
je 0x7ea31
movq 0x2070(%rsp), %rdi
leaq 0xe1770(%rip), %rsi     # 0x160177
leaq 0xef0ba(%rip), %rdx     # 0x16dac8
leaq 0xeefd8(%rip), %rcx     # 0x16d9ed
leaq 0xeee6a(%rip), %r8      # 0x16d886
movl $0x113, %r9d            # imm = 0x113
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7ea33
jmp 0x7ea35
movq 0x2068(%rsp), %rdi
callq 0x7d850
movq %rax, 0x2060(%rsp)
cmpq $0x0, 0x2060(%rsp)
je 0x7ea6e
jmp 0x7ea57
movq 0x2060(%rsp), %rdi
callq 0x7da30
movq %rax, 0x2060(%rsp)
jmp 0x7ea4a
jmp 0x7ea70
movl 0x2058(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2058(%rsp)
jmp 0x7e97d
movl $0x0, 0x2058(%rsp)
movq 0x2068(%rsp), %rdi
callq 0x7d850
movq %rax, 0x2060(%rsp)
cmpq $0x0, 0x2060(%rsp)
je 0x7eb51
movq 0x2060(%rsp), %rdi
callq 0x7d9e0
movq %rax, 0x2048(%rsp)
cmpl $0x0, 0x3c(%rsp)
jne 0x7eb24
movq 0x2048(%rsp), %rax
movl (%rax), %eax
movslq 0x2058(%rsp), %rcx
cmpl 0x40(%rsp,%rcx,4), %eax
je 0x7eb22
movq 0x2070(%rsp), %rdi
leaq 0xe167f(%rip), %rsi     # 0x160177
leaq 0xeefe5(%rip), %rdx     # 0x16dae4
leaq 0xeeee7(%rip), %rcx     # 0x16d9ed
leaq 0xeed79(%rip), %r8      # 0x16d886
movl $0x11d, %r9d            # imm = 0x11D
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7eb24
jmp 0x7eb26
movl 0x2058(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2058(%rsp)
movq 0x2060(%rsp), %rdi
callq 0x7da30
movq %rax, 0x2060(%rsp)
jmp 0x7eaa6
movl $0x0, 0x2058(%rsp)
movl 0x2058(%rsp), %eax
cmpl 0x2054(%rsp), %eax
jge 0x7ec63
movq 0x2068(%rsp), %rdi
leaq 0x40(%rsp), %rsi
movslq 0x2058(%rsp), %rax
shlq $0x2, %rax
addq %rax, %rsi
callq 0x7d8f0
movq %rax, 0x2060(%rsp)
cmpl $0x0, 0x3c(%rsp)
jne 0x7ebe6
cmpq $0x0, 0x2060(%rsp)
jne 0x7ebe4
movq 0x2070(%rsp), %rdi
leaq 0xe15bd(%rip), %rsi     # 0x160177
leaq 0xeed87(%rip), %rdx     # 0x16d948
leaq 0xeee25(%rip), %rcx     # 0x16d9ed
leaq 0xeecb7(%rip), %r8      # 0x16d886
movl $0x123, %r9d            # imm = 0x123
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7ebe6
jmp 0x7ebe8
jmp 0x7ebea
cmpl $0x0, 0x3c(%rsp)
jne 0x7ec49
movq 0x2060(%rsp), %rdi
callq 0x7d9e0
movl (%rax), %eax
movslq 0x2058(%rsp), %rcx
cmpl 0x40(%rsp,%rcx,4), %eax
je 0x7ec47
movq 0x2070(%rsp), %rdi
leaq 0xe155a(%rip), %rsi     # 0x160177
leaq 0xeeed9(%rip), %rdx     # 0x16dafd
leaq 0xeedc2(%rip), %rcx     # 0x16d9ed
leaq 0xeec54(%rip), %r8      # 0x16d886
movl $0x125, %r9d            # imm = 0x125
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7ec49
jmp 0x7ec4b
jmp 0x7ec4d
movl 0x2058(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2058(%rsp)
jmp 0x7eb5c
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x0, %rax
je 0x7ed29
movq 0x2068(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x2068(%rsp), %rdi
callq 0x7d850
movq 0x20(%rsp), %rdi
movq %rax, %rsi
callq 0x7df70
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x0, %rax
je 0x7ed27
movq 0x2068(%rsp), %rdi
callq 0x7d850
movq %rax, %rdi
callq 0x7d9e0
movq %rax, 0x2048(%rsp)
cmpl $0x0, 0x3c(%rsp)
jne 0x7ed23
movq 0x2048(%rsp), %rax
movl (%rax), %eax
cmpl 0x44(%rsp), %eax
je 0x7ed21
movq 0x2070(%rsp), %rdi
leaq 0xe1480(%rip), %rsi     # 0x160177
leaq 0xeee3b(%rip), %rdx     # 0x16db39
leaq 0xeece8(%rip), %rcx     # 0x16d9ed
leaq 0xeeb7a(%rip), %r8      # 0x16d886
movl $0x12c, %r9d            # imm = 0x12C
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7ed23
jmp 0x7ed25
jmp 0x7ed27
jmp 0x7ed29
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x0, %rax
je 0x7ee00
movq 0x2068(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x2068(%rsp), %rdi
callq 0x7d8a0
movq 0x18(%rsp), %rdi
movq %rax, %rsi
callq 0x7df70
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x0, %rax
je 0x7edfe
movq 0x2068(%rsp), %rdi
callq 0x7d8a0
movq %rax, %rdi
callq 0x7d9e0
movq %rax, 0x2048(%rsp)
cmpl $0x0, 0x3c(%rsp)
jne 0x7edfa
movq 0x2048(%rsp), %rax
movl (%rax), %eax
movl 0x2054(%rsp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
cmpl 0x40(%rsp,%rcx,4), %eax
je 0x7edf8
movq 0x2070(%rsp), %rdi
leaq 0xe13a9(%rip), %rsi     # 0x160177
leaq 0xeed7d(%rip), %rdx     # 0x16db52
leaq 0xeec11(%rip), %rcx     # 0x16d9ed
leaq 0xeeaa3(%rip), %r8      # 0x16d886
movl $0x134, %r9d            # imm = 0x134
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7edfa
jmp 0x7edfc
jmp 0x7edfe
jmp 0x7ee00
movq 0x2068(%rsp), %rdi
callq 0x7e220
xorl %eax, %eax
movl %eax, %edi
callq 0x7d760
movq %rax, 0x2068(%rsp)
cmpl $0x0, 0x3c(%rsp)
jne 0x7ee73
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x0, %rax
je 0x7ee71
movq 0x2070(%rsp), %rdi
leaq 0xe1330(%rip), %rsi     # 0x160177
leaq 0xeebb2(%rip), %rdx     # 0x16da00
leaq 0xeeb98(%rip), %rcx     # 0x16d9ed
leaq 0xeea2a(%rip), %r8      # 0x16d886
movl $0x14a, %r9d            # imm = 0x14A
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7ee73
jmp 0x7ee75
movl $0x0, 0x2058(%rsp)
movl 0x2058(%rsp), %ecx
xorl %eax, %eax
cmpl 0x2054(%rsp), %ecx
movb %al, 0x17(%rsp)
jge 0x7eea4
cmpl $0x0, 0x3c(%rsp)
setne %al
xorb $-0x1, %al
movb %al, 0x17(%rsp)
movb 0x17(%rsp), %al
testb $0x1, %al
jne 0x7eeb1
jmp 0x7ef50
movq 0x2068(%rsp), %rdi
leaq 0x1040(%rsp), %rsi
movslq 0x2058(%rsp), %rax
shlq $0x2, %rax
addq %rax, %rsi
callq 0x7dab0
cmpl $0x0, 0x3c(%rsp)
jne 0x7ef36
movq 0x2068(%rsp), %rdi
callq 0x7da80
movl 0x2058(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
cmpq %rcx, %rax
je 0x7ef34
movq 0x2070(%rsp), %rdi
leaq 0xe126d(%rip), %rsi     # 0x160177
leaq 0xeebb7(%rip), %rdx     # 0x16dac8
leaq 0xeead5(%rip), %rcx     # 0x16d9ed
leaq 0xee967(%rip), %r8      # 0x16d886
movl $0x14d, %r9d            # imm = 0x14D
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7ef36
jmp 0x7ef38
jmp 0x7ef3a
movl 0x2058(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2058(%rsp)
jmp 0x7ee80
movl $0x0, 0x2058(%rsp)
movq 0x2068(%rsp), %rdi
callq 0x7d850
movq %rax, 0x2060(%rsp)
cmpq $0x0, 0x2060(%rsp)
je 0x7f067
movq 0x2060(%rsp), %rdi
callq 0x7d9e0
movq %rax, 0x2048(%rsp)
cmpl $0x400, 0x2058(%rsp) # imm = 0x400
jl 0x7efd9
movq 0x135030(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xdf0b4(%rip), %rsi     # 0x15e066
leaq 0xeebb9(%rip), %rdx     # 0x16db72
leaq 0xeea2d(%rip), %rcx     # 0x16d9ed
leaq 0xee8bf(%rip), %r8      # 0x16d886
movl $0x153, %r9d            # imm = 0x153
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x7efdb
jmp 0x7efdd
cmpl $0x0, 0x3c(%rsp)
jne 0x7f03a
movq 0x2048(%rsp), %rax
movl (%rax), %eax
movslq 0x2058(%rsp), %rcx
cmpl 0x1040(%rsp,%rcx,4), %eax
je 0x7f038
movq 0x2070(%rsp), %rdi
leaq 0xe1169(%rip), %rsi     # 0x160177
leaq 0xeeb6a(%rip), %rdx     # 0x16db7f
leaq 0xee9d1(%rip), %rcx     # 0x16d9ed
leaq 0xee863(%rip), %r8      # 0x16d886
movl $0x154, %r9d            # imm = 0x154
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7f03a
jmp 0x7f03c
movl 0x2058(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2058(%rsp)
movq 0x2060(%rsp), %rdi
callq 0x7da30
movq %rax, 0x2060(%rsp)
jmp 0x7ef70
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x0, %rax
je 0x7f130
movq 0x2068(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x2068(%rsp), %rdi
callq 0x7d850
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x7df70
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x0, %rax
je 0x7f12e
movq 0x2068(%rsp), %rdi
callq 0x7d850
movq %rax, %rdi
callq 0x7d9e0
movq %rax, 0x2048(%rsp)
cmpl $0x0, 0x3c(%rsp)
jne 0x7f12a
movq 0x2048(%rsp), %rax
movl (%rax), %eax
cmpl 0x1044(%rsp), %eax
je 0x7f128
movq 0x2070(%rsp), %rdi
leaq 0xe1079(%rip), %rsi     # 0x160177
leaq 0xeea8c(%rip), %rdx     # 0x16db91
leaq 0xee8e1(%rip), %rcx     # 0x16d9ed
leaq 0xee773(%rip), %r8      # 0x16d886
movl $0x15c, %r9d            # imm = 0x15C
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7f12a
jmp 0x7f12c
jmp 0x7f12e
jmp 0x7f130
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x0, %rax
je 0x7f208
movq 0x2068(%rsp), %rax
movq %rax, (%rsp)
movq 0x2068(%rsp), %rdi
callq 0x7d8a0
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x7df70
movq 0x2068(%rsp), %rdi
callq 0x7da80
cmpq $0x0, %rax
je 0x7f206
movq 0x2068(%rsp), %rdi
callq 0x7d8a0
movq %rax, %rdi
callq 0x7d9e0
movq %rax, 0x2048(%rsp)
cmpl $0x0, 0x3c(%rsp)
jne 0x7f202
movq 0x2048(%rsp), %rax
movl (%rax), %eax
movl 0x2054(%rsp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
cmpl 0x1040(%rsp,%rcx,4), %eax
je 0x7f200
movq 0x2070(%rsp), %rdi
leaq 0xe0fa1(%rip), %rsi     # 0x160177
leaq 0xee9c6(%rip), %rdx     # 0x16dba3
leaq 0xee809(%rip), %rcx     # 0x16d9ed
leaq 0xee69b(%rip), %r8      # 0x16d886
movl $0x164, %r9d            # imm = 0x164
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x3c(%rsp) # imm = 0xFFFFFFFF
jmp 0x7f202
jmp 0x7f204
jmp 0x7f206
jmp 0x7f208
movq 0x2068(%rsp), %rdi
callq 0x7e220
movl 0x205c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x205c(%rsp)
jmp 0x7e849
movl 0x3c(%rsp), %eax
addq $0x2078, %rsp           # imm = 0x2078
retq
nopw (%rax,%rax)