// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/bsearch.c
// Function: gt_bsearch_unit_test
int gt_bsearch_unit_test(GtError *err)
{
  GtArray *elements, *members;
  int key = 0, element, *member_ptr;
  GtBittab *b;
  int had_err = 0;

  gt_error_check(err);

  elements = gt_array_new(sizeof (int));
  members = gt_array_new(sizeof (int*));

  /* the empty case */
  gt_bsearch_all(members, &key, gt_array_get_space(elements),
                 gt_array_size(elements), sizeof (int), cmp, NULL);
  gt_ensure(!gt_array_size(members)); /* no member found */
  gt_ensure(!gt_bsearch_data(&key, gt_array_get_space(elements),
                                   gt_array_size(elements), sizeof (int), cmp,
                                   NULL));

  /* 1 element */
  key = 7;
  element = 7;
  gt_array_add(elements, element);
  gt_bsearch_all(members, &key, gt_array_get_space(elements),
                 gt_array_size(elements), sizeof (int), cmp, NULL);
  gt_ensure(gt_array_size(members) == 1); /* one member found */
  member_ptr = *(int**) gt_array_get(members, 0);
  gt_ensure(*member_ptr == element);
  member_ptr = gt_bsearch_data(&key, gt_array_get_space(elements),
                               gt_array_size(elements), sizeof (int), cmp,
                               NULL);
  gt_ensure(*member_ptr == element);

  key = -7;
  gt_array_reset(members);
  gt_bsearch_all(members, &key, gt_array_get_space(elements),
                 gt_array_size(elements), sizeof (int), cmp, NULL);
  gt_ensure(!gt_array_size(members)); /* no member found */

  /* 2 elements */
  key = 7;
  gt_array_reset(members);
  gt_array_add(elements, element);
  gt_ensure(gt_array_size(elements) == 2);
  gt_bsearch_all(members, &key, gt_array_get_space(elements),
                 gt_array_size(elements), sizeof (int), cmp, NULL);
  gt_ensure(gt_array_size(members) == 2); /* two members found */
  member_ptr = *(int**) gt_array_get(members, 0);
  gt_ensure(*member_ptr == element);
  member_ptr = *(int**) gt_array_get(members, 1);
  gt_ensure(*member_ptr == element);
  gt_ensure(gt_bsearch_data(&key, gt_array_get_space(elements),
                                  gt_array_size(elements), sizeof (int), cmp,
                                  NULL));

  key = -7;
  gt_array_reset(members);
  gt_bsearch_all(members, &key, gt_array_get_space(elements),
                 gt_array_size(elements), sizeof (int), cmp, NULL);
  gt_ensure(!gt_array_size(members)); /* no member found */
  gt_ensure(!gt_bsearch_data(&key, gt_array_get_space(elements),
                                   gt_array_size(elements), sizeof (int), cmp,
                                   NULL));

  /* 3 elements */
  key = 7;
  gt_array_reset(members);
  gt_array_add(elements, element);
  gt_ensure(gt_array_size(elements) == 3);
  gt_bsearch_all(members, &key, gt_array_get_space(elements),
                 gt_array_size(elements), sizeof (int), cmp, NULL);
  gt_ensure(gt_array_size(members) == 3); /* three members found */
  member_ptr = *(int**) gt_array_get(members, 0);
  gt_ensure(*member_ptr == element);
  member_ptr = *(int**) gt_array_get(members, 1);
  gt_ensure(*member_ptr == element);
  member_ptr = *(int**) gt_array_get(members, 2);
  gt_ensure(*member_ptr == element);
  gt_ensure(gt_bsearch_data(&key, gt_array_get_space(elements),
                                  gt_array_size(elements), sizeof (int), cmp,
                                  NULL));

  key = -7;
  gt_array_reset(members);
  gt_bsearch_all(members, &key, gt_array_get_space(elements),
                 gt_array_size(elements), sizeof (int), cmp, NULL);
  gt_ensure(!gt_array_size(members)); /* no member found */
  gt_ensure(!gt_bsearch_data(&key, gt_array_get_space(elements),
                                   gt_array_size(elements), sizeof (int), cmp,
                                   NULL));

  /* large case: -10 -5 -3 -3 -3 0 1 2 3 */
  gt_array_reset(elements);
  element = -10;
  gt_array_add(elements, element);
  element = -5;
  gt_array_add(elements, element);
  element = -3;
  gt_array_add(elements, element);
  gt_array_add(elements, element);
  gt_array_add(elements, element);
  element = 0;
  gt_array_add(elements, element);
  element = 1;
  gt_array_add(elements, element);
  element = 2;
  gt_array_add(elements, element);
  element = 3;
  gt_array_add(elements, element);
  gt_ensure(gt_array_size(elements) == 9);
  key = -3;
  gt_array_reset(members);
  gt_bsearch_all(members, &key, gt_array_get_space(elements),
                 gt_array_size(elements), sizeof (int), cmp, NULL);
  gt_ensure(gt_array_size(members) == 3); /* three members found */
  member_ptr = *(int**) gt_array_get(members, 0);
  gt_ensure(*member_ptr == -3);
  member_ptr = *(int**) gt_array_get(members, 1);
  gt_ensure(*member_ptr == -3);
  member_ptr = *(int**) gt_array_get(members, 2);
  gt_ensure(*member_ptr == -3);
  gt_ensure(
         gt_bsearch_data(&key, gt_array_get_space(elements),
                         gt_array_size(elements), sizeof (int), cmp,NULL));

  /* test gt_bsearch_all_mark() with large case */
  gt_array_reset(members);
  b = gt_bittab_new(gt_array_size(elements));
  gt_bsearch_all_mark(members, &key, gt_array_get_space(elements),
                   gt_array_size(elements), sizeof (int), cmp, NULL, b);
  gt_ensure(gt_array_size(members) == 3); /* three members found */
  member_ptr = *(int**) gt_array_get(members, 0);
  gt_ensure(*member_ptr == -3);
  member_ptr = *(int**) gt_array_get(members, 1);
  gt_ensure(*member_ptr == -3);
  member_ptr = *(int**) gt_array_get(members, 2);
  gt_ensure(*member_ptr == -3);
  /* the correct elements are marked (and only these) */
  gt_ensure(gt_bittab_bit_is_set(b, 2));
  gt_ensure(gt_bittab_bit_is_set(b, 3));
  gt_ensure(gt_bittab_bit_is_set(b, 4));
  gt_ensure(gt_bittab_count_set_bits(b) == 3);

  /* free */
  gt_array_delete(elements);
  gt_array_delete(members);
  gt_bittab_delete(b);

  return had_err;
}

// Assembly:
subq $0x118, %rsp            # imm = 0x118
movq %rdi, 0x110(%rsp)
movl $0x0, 0xfc(%rsp)
movl $0x0, 0xe4(%rsp)
cmpq $0x0, 0x110(%rsp)
je 0x11047b
movq 0x110(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x110443
jmp 0x11047b
movq 0xa3b8e(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x4dc12(%rip), %rsi     # 0x15e066
leaq 0x4e1ed(%rip), %rdx     # 0x15e648
leaq 0x746e6(%rip), %rcx     # 0x184b48
leaq 0x746b8(%rip), %r8      # 0x184b21
movl $0x79, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x11047d
movl $0x4, %edi
callq 0x75ab0
movq %rax, 0x108(%rsp)
movl $0x8, %edi
callq 0x75ab0
movq %rax, 0x100(%rsp)
movq 0x100(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0xd8(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0xd0(%rsp), %rdi
movq 0xd8(%rsp), %rdx
movq %rax, %rcx
leaq 0xfc(%rsp), %rsi
movl $0x4, %r8d
leaq 0x1595(%rip), %r9       # 0x111a90
xorl %eax, %eax
movq $0x0, (%rsp)
callq 0x1102a0
cmpl $0x0, 0xe4(%rsp)
jne 0x110565
movq 0x100(%rsp), %rdi
callq 0x76490
cmpq $0x0, %rax
je 0x110563
movq 0x110(%rsp), %rdi
leaq 0x4fc41(%rip), %rsi     # 0x160177
leaq 0x74620(%rip), %rdx     # 0x184b5d
leaq 0x74604(%rip), %rcx     # 0x184b48
leaq 0x745d6(%rip), %r8      # 0x184b21
movl $0x81, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110565
jmp 0x110567
jmp 0x110569
cmpl $0x0, 0xe4(%rsp)
jne 0x110606
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0xc8(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0xc8(%rsp), %rsi
movq %rax, %rdx
leaq 0xfc(%rsp), %rdi
movl $0x4, %ecx
leaq 0x14d8(%rip), %r8       # 0x111a90
xorl %eax, %eax
movl %eax, %r9d
callq 0x10ff00
cmpq $0x0, %rax
je 0x110604
movq 0x110(%rsp), %rdi
leaq 0x4fba0(%rip), %rsi     # 0x160177
leaq 0x74597(%rip), %rdx     # 0x184b75
leaq 0x74563(%rip), %rcx     # 0x184b48
leaq 0x74535(%rip), %r8      # 0x184b21
movl $0x84, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110606
jmp 0x110608
movl $0x7, 0xfc(%rsp)
movl $0x7, 0xf8(%rsp)
movq 0x108(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
movl $0x4, %edx
callq 0x76220
movq 0x100(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0xc0(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0xb8(%rsp), %rdi
movq 0xc0(%rsp), %rdx
movq %rax, %rcx
leaq 0xfc(%rsp), %rsi
movl $0x4, %r8d
leaq 0x13fe(%rip), %r9       # 0x111a90
xorl %eax, %eax
movq $0x0, (%rsp)
callq 0x1102a0
cmpl $0x0, 0xe4(%rsp)
jne 0x1106fc
movq 0x100(%rsp), %rdi
callq 0x76490
cmpq $0x1, %rax
je 0x1106fa
movq 0x110(%rsp), %rdi
leaq 0x4faaa(%rip), %rsi     # 0x160177
leaq 0x74508(%rip), %rdx     # 0x184bdc
leaq 0x7446d(%rip), %rcx     # 0x184b48
leaq 0x7443f(%rip), %r8      # 0x184b21
movl $0x8c, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x1106fc
jmp 0x1106fe
movq 0x100(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x75c80
movq (%rax), %rax
movq %rax, 0xf0(%rsp)
cmpl $0x0, 0xe4(%rsp)
jne 0x110775
movq 0xf0(%rsp), %rax
movl (%rax), %eax
cmpl 0xf8(%rsp), %eax
je 0x110773
movq 0x110(%rsp), %rdi
leaq 0x4fa31(%rip), %rsi     # 0x160177
leaq 0x744ab(%rip), %rdx     # 0x184bf8
leaq 0x743f4(%rip), %rcx     # 0x184b48
leaq 0x743c6(%rip), %r8      # 0x184b21
movl $0x8e, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110775
jmp 0x110777
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0xb0(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0xb0(%rsp), %rsi
movq %rax, %rdx
leaq 0xfc(%rsp), %rdi
movl $0x4, %ecx
leaq 0x12d8(%rip), %r8       # 0x111a90
xorl %eax, %eax
movl %eax, %r9d
callq 0x10ff00
movq %rax, 0xf0(%rsp)
cmpl $0x0, 0xe4(%rsp)
jne 0x110825
movq 0xf0(%rsp), %rax
movl (%rax), %eax
cmpl 0xf8(%rsp), %eax
je 0x110823
movq 0x110(%rsp), %rdi
leaq 0x4f981(%rip), %rsi     # 0x160177
leaq 0x743fb(%rip), %rdx     # 0x184bf8
leaq 0x74344(%rip), %rcx     # 0x184b48
leaq 0x74316(%rip), %r8      # 0x184b21
movl $0x92, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110825
jmp 0x110827
movl $0xfffffff9, 0xfc(%rsp) # imm = 0xFFFFFFF9
movq 0x100(%rsp), %rdi
callq 0x765c0
movq 0x100(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0xa8(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0xa0(%rsp), %rdi
movq 0xa8(%rsp), %rdx
movq %rax, %rcx
leaq 0xfc(%rsp), %rsi
movl $0x4, %r8d
leaq 0x11f7(%rip), %r9       # 0x111a90
xorl %eax, %eax
movq $0x0, (%rsp)
callq 0x1102a0
cmpl $0x0, 0xe4(%rsp)
jne 0x110903
movq 0x100(%rsp), %rdi
callq 0x76490
cmpq $0x0, %rax
je 0x110901
movq 0x110(%rsp), %rdi
leaq 0x4f8a3(%rip), %rsi     # 0x160177
leaq 0x74282(%rip), %rdx     # 0x184b5d
leaq 0x74266(%rip), %rcx     # 0x184b48
leaq 0x74238(%rip), %r8      # 0x184b21
movl $0x98, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110903
jmp 0x110905
movl $0x7, 0xfc(%rsp)
movq 0x100(%rsp), %rdi
callq 0x765c0
movq 0x108(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
movl $0x4, %edx
callq 0x76220
cmpl $0x0, 0xe4(%rsp)
jne 0x110992
movq 0x108(%rsp), %rdi
callq 0x76490
cmpq $0x2, %rax
je 0x110990
movq 0x110(%rsp), %rdi
leaq 0x4f814(%rip), %rsi     # 0x160177
leaq 0x742a5(%rip), %rdx     # 0x184c0f
leaq 0x741d7(%rip), %rcx     # 0x184b48
leaq 0x741a9(%rip), %r8      # 0x184b21
movl $0x9e, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110992
jmp 0x110994
movq 0x100(%rsp), %rax
movq %rax, 0x90(%rsp)
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0x98(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0x90(%rsp), %rdi
movq 0x98(%rsp), %rdx
movq %rax, %rcx
leaq 0xfc(%rsp), %rsi
movl $0x4, %r8d
leaq 0x10a2(%rip), %r9       # 0x111a90
xorl %eax, %eax
movq $0x0, (%rsp)
callq 0x1102a0
cmpl $0x0, 0xe4(%rsp)
jne 0x110a58
movq 0x100(%rsp), %rdi
callq 0x76490
cmpq $0x2, %rax
je 0x110a56
movq 0x110(%rsp), %rdi
leaq 0x4f74e(%rip), %rsi     # 0x160177
leaq 0x741fc(%rip), %rdx     # 0x184c2c
leaq 0x74111(%rip), %rcx     # 0x184b48
leaq 0x740e3(%rip), %r8      # 0x184b21
movl $0xa1, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110a58
jmp 0x110a5a
movq 0x100(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x75c80
movq (%rax), %rax
movq %rax, 0xf0(%rsp)
cmpl $0x0, 0xe4(%rsp)
jne 0x110ad1
movq 0xf0(%rsp), %rax
movl (%rax), %eax
cmpl 0xf8(%rsp), %eax
je 0x110acf
movq 0x110(%rsp), %rdi
leaq 0x4f6d5(%rip), %rsi     # 0x160177
leaq 0x7414f(%rip), %rdx     # 0x184bf8
leaq 0x74098(%rip), %rcx     # 0x184b48
leaq 0x7406a(%rip), %r8      # 0x184b21
movl $0xa3, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110ad1
jmp 0x110ad3
movq 0x100(%rsp), %rdi
movl $0x1, %esi
callq 0x75c80
movq (%rax), %rax
movq %rax, 0xf0(%rsp)
cmpl $0x0, 0xe4(%rsp)
jne 0x110b4b
movq 0xf0(%rsp), %rax
movl (%rax), %eax
cmpl 0xf8(%rsp), %eax
je 0x110b49
movq 0x110(%rsp), %rdi
leaq 0x4f65b(%rip), %rsi     # 0x160177
leaq 0x740d5(%rip), %rdx     # 0x184bf8
leaq 0x7401e(%rip), %rcx     # 0x184b48
leaq 0x73ff0(%rip), %r8      # 0x184b21
movl $0xa5, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110b4b
jmp 0x110b4d
jmp 0x110b4f
cmpl $0x0, 0xe4(%rsp)
jne 0x110bec
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0x88(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0x88(%rsp), %rsi
movq %rax, %rdx
leaq 0xfc(%rsp), %rdi
movl $0x4, %ecx
leaq 0xef2(%rip), %r8        # 0x111a90
xorl %eax, %eax
movl %eax, %r9d
callq 0x10ff00
cmpq $0x0, %rax
jne 0x110bea
movq 0x110(%rsp), %rdi
leaq 0x4f5ba(%rip), %rsi     # 0x160177
leaq 0x73fb2(%rip), %rdx     # 0x184b76
leaq 0x73f7d(%rip), %rcx     # 0x184b48
leaq 0x73f4f(%rip), %r8      # 0x184b21
movl $0xa8, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110bec
jmp 0x110bee
movl $0xfffffff9, 0xfc(%rsp) # imm = 0xFFFFFFF9
movq 0x100(%rsp), %rdi
callq 0x765c0
movq 0x100(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0x80(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0x78(%rsp), %rdi
movq 0x80(%rsp), %rdx
movq %rax, %rcx
leaq 0xfc(%rsp), %rsi
movl $0x4, %r8d
leaq 0xe36(%rip), %r9        # 0x111a90
xorl %eax, %eax
movq $0x0, (%rsp)
callq 0x1102a0
cmpl $0x0, 0xe4(%rsp)
jne 0x110cc4
movq 0x100(%rsp), %rdi
callq 0x76490
cmpq $0x0, %rax
je 0x110cc2
movq 0x110(%rsp), %rdi
leaq 0x4f4e2(%rip), %rsi     # 0x160177
leaq 0x73ec1(%rip), %rdx     # 0x184b5d
leaq 0x73ea5(%rip), %rcx     # 0x184b48
leaq 0x73e77(%rip), %r8      # 0x184b21
movl $0xae, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110cc4
jmp 0x110cc6
jmp 0x110cc8
cmpl $0x0, 0xe4(%rsp)
jne 0x110d5f
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0x70(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0x70(%rsp), %rsi
movq %rax, %rdx
leaq 0xfc(%rsp), %rdi
movl $0x4, %ecx
leaq 0xd7f(%rip), %r8        # 0x111a90
xorl %eax, %eax
movl %eax, %r9d
callq 0x10ff00
cmpq $0x0, %rax
je 0x110d5d
movq 0x110(%rsp), %rdi
leaq 0x4f447(%rip), %rsi     # 0x160177
leaq 0x73e3e(%rip), %rdx     # 0x184b75
leaq 0x73e0a(%rip), %rcx     # 0x184b48
leaq 0x73ddc(%rip), %r8      # 0x184b21
movl $0xb1, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110d5f
jmp 0x110d61
movl $0x7, 0xfc(%rsp)
movq 0x100(%rsp), %rdi
callq 0x765c0
movq 0x108(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
movl $0x4, %edx
callq 0x76220
cmpl $0x0, 0xe4(%rsp)
jne 0x110dee
movq 0x108(%rsp), %rdi
callq 0x76490
cmpq $0x3, %rax
je 0x110dec
movq 0x110(%rsp), %rdi
leaq 0x4f3b8(%rip), %rsi     # 0x160177
leaq 0x73e82(%rip), %rdx     # 0x184c48
leaq 0x73d7b(%rip), %rcx     # 0x184b48
leaq 0x73d4d(%rip), %r8      # 0x184b21
movl $0xb7, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110dee
jmp 0x110df0
movq 0x100(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0x68(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0x60(%rsp), %rdi
movq 0x68(%rsp), %rdx
movq %rax, %rcx
leaq 0xfc(%rsp), %rsi
movl $0x4, %r8d
leaq 0xc52(%rip), %r9        # 0x111a90
xorl %eax, %eax
movq $0x0, (%rsp)
callq 0x1102a0
cmpl $0x0, 0xe4(%rsp)
jne 0x110ea8
movq 0x100(%rsp), %rdi
callq 0x76490
cmpq $0x3, %rax
je 0x110ea6
movq 0x110(%rsp), %rdi
leaq 0x4f2fe(%rip), %rsi     # 0x160177
leaq 0x73de5(%rip), %rdx     # 0x184c65
leaq 0x73cc1(%rip), %rcx     # 0x184b48
leaq 0x73c93(%rip), %r8      # 0x184b21
movl $0xba, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110ea8
jmp 0x110eaa
movq 0x100(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x75c80
movq (%rax), %rax
movq %rax, 0xf0(%rsp)
cmpl $0x0, 0xe4(%rsp)
jne 0x110f21
movq 0xf0(%rsp), %rax
movl (%rax), %eax
cmpl 0xf8(%rsp), %eax
je 0x110f1f
movq 0x110(%rsp), %rdi
leaq 0x4f285(%rip), %rsi     # 0x160177
leaq 0x73cff(%rip), %rdx     # 0x184bf8
leaq 0x73c48(%rip), %rcx     # 0x184b48
leaq 0x73c1a(%rip), %r8      # 0x184b21
movl $0xbc, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110f21
jmp 0x110f23
movq 0x100(%rsp), %rdi
movl $0x1, %esi
callq 0x75c80
movq (%rax), %rax
movq %rax, 0xf0(%rsp)
cmpl $0x0, 0xe4(%rsp)
jne 0x110f9b
movq 0xf0(%rsp), %rax
movl (%rax), %eax
cmpl 0xf8(%rsp), %eax
je 0x110f99
movq 0x110(%rsp), %rdi
leaq 0x4f20b(%rip), %rsi     # 0x160177
leaq 0x73c85(%rip), %rdx     # 0x184bf8
leaq 0x73bce(%rip), %rcx     # 0x184b48
leaq 0x73ba0(%rip), %r8      # 0x184b21
movl $0xbe, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x110f9b
jmp 0x110f9d
movq 0x100(%rsp), %rdi
movl $0x2, %esi
callq 0x75c80
movq (%rax), %rax
movq %rax, 0xf0(%rsp)
cmpl $0x0, 0xe4(%rsp)
jne 0x111015
movq 0xf0(%rsp), %rax
movl (%rax), %eax
cmpl 0xf8(%rsp), %eax
je 0x111013
movq 0x110(%rsp), %rdi
leaq 0x4f191(%rip), %rsi     # 0x160177
leaq 0x73c0b(%rip), %rdx     # 0x184bf8
leaq 0x73b54(%rip), %rcx     # 0x184b48
leaq 0x73b26(%rip), %r8      # 0x184b21
movl $0xc0, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x111015
jmp 0x111017
jmp 0x111019
cmpl $0x0, 0xe4(%rsp)
jne 0x1110b0
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0x58(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0x58(%rsp), %rsi
movq %rax, %rdx
leaq 0xfc(%rsp), %rdi
movl $0x4, %ecx
leaq 0xa2e(%rip), %r8        # 0x111a90
xorl %eax, %eax
movl %eax, %r9d
callq 0x10ff00
cmpq $0x0, %rax
jne 0x1110ae
movq 0x110(%rsp), %rdi
leaq 0x4f0f6(%rip), %rsi     # 0x160177
leaq 0x73aee(%rip), %rdx     # 0x184b76
leaq 0x73ab9(%rip), %rcx     # 0x184b48
leaq 0x73a8b(%rip), %r8      # 0x184b21
movl $0xc3, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x1110b0
jmp 0x1110b2
movl $0xfffffff9, 0xfc(%rsp) # imm = 0xFFFFFFF9
movq 0x100(%rsp), %rdi
callq 0x765c0
movq 0x100(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0x50(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0x48(%rsp), %rdi
movq 0x50(%rsp), %rdx
movq %rax, %rcx
leaq 0xfc(%rsp), %rsi
movl $0x4, %r8d
leaq 0x978(%rip), %r9        # 0x111a90
xorl %eax, %eax
movq $0x0, (%rsp)
callq 0x1102a0
cmpl $0x0, 0xe4(%rsp)
jne 0x111182
movq 0x100(%rsp), %rdi
callq 0x76490
cmpq $0x0, %rax
je 0x111180
movq 0x110(%rsp), %rdi
leaq 0x4f024(%rip), %rsi     # 0x160177
leaq 0x73a03(%rip), %rdx     # 0x184b5d
leaq 0x739e7(%rip), %rcx     # 0x184b48
leaq 0x739b9(%rip), %r8      # 0x184b21
movl $0xc9, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x111182
jmp 0x111184
jmp 0x111186
cmpl $0x0, 0xe4(%rsp)
jne 0x11121d
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0x40(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0x40(%rsp), %rsi
movq %rax, %rdx
leaq 0xfc(%rsp), %rdi
movl $0x4, %ecx
leaq 0x8c1(%rip), %r8        # 0x111a90
xorl %eax, %eax
movl %eax, %r9d
callq 0x10ff00
cmpq $0x0, %rax
je 0x11121b
movq 0x110(%rsp), %rdi
leaq 0x4ef89(%rip), %rsi     # 0x160177
leaq 0x73980(%rip), %rdx     # 0x184b75
leaq 0x7394c(%rip), %rcx     # 0x184b48
leaq 0x7391e(%rip), %r8      # 0x184b21
movl $0xcc, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x11121d
jmp 0x11121f
movq 0x108(%rsp), %rdi
callq 0x765c0
movl $0xfffffff6, 0xf8(%rsp) # imm = 0xFFFFFFF6
movq 0x108(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
movl $0x4, %edx
callq 0x76220
movl $0xfffffffb, 0xf8(%rsp) # imm = 0xFFFFFFFB
movq 0x108(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
movl $0x4, %edx
callq 0x76220
movl $0xfffffffd, 0xf8(%rsp) # imm = 0xFFFFFFFD
movq 0x108(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
movl $0x4, %edx
callq 0x76220
movq 0x108(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
movl $0x4, %edx
callq 0x76220
movq 0x108(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
movl $0x4, %edx
callq 0x76220
movl $0x0, 0xf8(%rsp)
movq 0x108(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
movl $0x4, %edx
callq 0x76220
movl $0x1, 0xf8(%rsp)
movq 0x108(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
movl $0x4, %edx
callq 0x76220
movl $0x2, 0xf8(%rsp)
movq 0x108(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
movl $0x4, %edx
callq 0x76220
movl $0x3, 0xf8(%rsp)
movq 0x108(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
movl $0x4, %edx
callq 0x76220
cmpl $0x0, 0xe4(%rsp)
jne 0x1113be
movq 0x108(%rsp), %rdi
callq 0x76490
cmpq $0x9, %rax
je 0x1113bc
movq 0x110(%rsp), %rdi
leaq 0x4ede8(%rip), %rsi     # 0x160177
leaq 0x738eb(%rip), %rdx     # 0x184c81
leaq 0x737ab(%rip), %rcx     # 0x184b48
leaq 0x7377d(%rip), %r8      # 0x184b21
movl $0xe0, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x1113be
jmp 0x1113c0
movl $0xfffffffd, 0xfc(%rsp) # imm = 0xFFFFFFFD
movq 0x100(%rsp), %rdi
callq 0x765c0
movq 0x100(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0x38(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0x30(%rsp), %rdi
movq 0x38(%rsp), %rdx
movq %rax, %rcx
leaq 0xfc(%rsp), %rsi
movl $0x4, %r8d
leaq 0x66a(%rip), %r9        # 0x111a90
xorl %eax, %eax
movq $0x0, (%rsp)
callq 0x1102a0
cmpl $0x0, 0xe4(%rsp)
jne 0x111490
movq 0x100(%rsp), %rdi
callq 0x76490
cmpq $0x3, %rax
je 0x11148e
movq 0x110(%rsp), %rdi
leaq 0x4ed16(%rip), %rsi     # 0x160177
leaq 0x737fd(%rip), %rdx     # 0x184c65
leaq 0x736d9(%rip), %rcx     # 0x184b48
leaq 0x736ab(%rip), %r8      # 0x184b21
movl $0xe5, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x111490
jmp 0x111492
movq 0x100(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x75c80
movq (%rax), %rax
movq %rax, 0xf0(%rsp)
cmpl $0x0, 0xe4(%rsp)
jne 0x111503
movq 0xf0(%rsp), %rax
cmpl $-0x3, (%rax)
je 0x111501
movq 0x110(%rsp), %rdi
leaq 0x4eca3(%rip), %rsi     # 0x160177
leaq 0x737c3(%rip), %rdx     # 0x184c9e
leaq 0x73666(%rip), %rcx     # 0x184b48
leaq 0x73638(%rip), %r8      # 0x184b21
movl $0xe7, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x111503
jmp 0x111505
movq 0x100(%rsp), %rdi
movl $0x1, %esi
callq 0x75c80
movq (%rax), %rax
movq %rax, 0xf0(%rsp)
cmpl $0x0, 0xe4(%rsp)
jne 0x111577
movq 0xf0(%rsp), %rax
cmpl $-0x3, (%rax)
je 0x111575
movq 0x110(%rsp), %rdi
leaq 0x4ec2f(%rip), %rsi     # 0x160177
leaq 0x7374f(%rip), %rdx     # 0x184c9e
leaq 0x735f2(%rip), %rcx     # 0x184b48
leaq 0x735c4(%rip), %r8      # 0x184b21
movl $0xe9, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x111577
jmp 0x111579
movq 0x100(%rsp), %rdi
movl $0x2, %esi
callq 0x75c80
movq (%rax), %rax
movq %rax, 0xf0(%rsp)
cmpl $0x0, 0xe4(%rsp)
jne 0x1115eb
movq 0xf0(%rsp), %rax
cmpl $-0x3, (%rax)
je 0x1115e9
movq 0x110(%rsp), %rdi
leaq 0x4ebbb(%rip), %rsi     # 0x160177
leaq 0x736db(%rip), %rdx     # 0x184c9e
leaq 0x7357e(%rip), %rcx     # 0x184b48
leaq 0x73550(%rip), %r8      # 0x184b21
movl $0xeb, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x1115eb
jmp 0x1115ed
jmp 0x1115ef
cmpl $0x0, 0xe4(%rsp)
jne 0x111686
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0x28(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0x28(%rsp), %rsi
movq %rax, %rdx
leaq 0xfc(%rsp), %rdi
movl $0x4, %ecx
leaq 0x458(%rip), %r8        # 0x111a90
xorl %eax, %eax
movl %eax, %r9d
callq 0x10ff00
cmpq $0x0, %rax
jne 0x111684
movq 0x110(%rsp), %rdi
leaq 0x4eb20(%rip), %rsi     # 0x160177
leaq 0x73652(%rip), %rdx     # 0x184cb0
leaq 0x734e3(%rip), %rcx     # 0x184b48
leaq 0x734b5(%rip), %r8      # 0x184b21
movl $0xee, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x111686
jmp 0x111688
movq 0x100(%rsp), %rdi
callq 0x765c0
movq 0x108(%rsp), %rdi
callq 0x76490
movq %rax, %rdi
callq 0x78f00
movq %rax, 0xe8(%rsp)
movq 0x100(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x108(%rsp), %rdi
callq 0x761a0
movq %rax, 0x20(%rsp)
movq 0x108(%rsp), %rdi
callq 0x76490
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rdx
movq %rax, %rcx
movq 0xe8(%rsp), %rax
leaq 0xfc(%rsp), %rsi
movl $0x4, %r8d
leaq 0x388(%rip), %r9        # 0x111a90
xorl %r10d, %r10d
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x110350
cmpl $0x0, 0xe4(%rsp)
jne 0x111778
movq 0x100(%rsp), %rdi
callq 0x76490
cmpq $0x3, %rax
je 0x111776
movq 0x110(%rsp), %rdi
leaq 0x4ea2e(%rip), %rsi     # 0x160177
leaq 0x73515(%rip), %rdx     # 0x184c65
leaq 0x733f1(%rip), %rcx     # 0x184b48
leaq 0x733c3(%rip), %r8      # 0x184b21
movl $0xf5, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x111778
jmp 0x11177a
movq 0x100(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x75c80
movq (%rax), %rax
movq %rax, 0xf0(%rsp)
cmpl $0x0, 0xe4(%rsp)
jne 0x1117eb
movq 0xf0(%rsp), %rax
cmpl $-0x3, (%rax)
je 0x1117e9
movq 0x110(%rsp), %rdi
leaq 0x4e9bb(%rip), %rsi     # 0x160177
leaq 0x734db(%rip), %rdx     # 0x184c9e
leaq 0x7337e(%rip), %rcx     # 0x184b48
leaq 0x73350(%rip), %r8      # 0x184b21
movl $0xf7, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x1117eb
jmp 0x1117ed
movq 0x100(%rsp), %rdi
movl $0x1, %esi
callq 0x75c80
movq (%rax), %rax
movq %rax, 0xf0(%rsp)
cmpl $0x0, 0xe4(%rsp)
jne 0x11185f
movq 0xf0(%rsp), %rax
cmpl $-0x3, (%rax)
je 0x11185d
movq 0x110(%rsp), %rdi
leaq 0x4e947(%rip), %rsi     # 0x160177
leaq 0x73467(%rip), %rdx     # 0x184c9e
leaq 0x7330a(%rip), %rcx     # 0x184b48
leaq 0x732dc(%rip), %r8      # 0x184b21
movl $0xf9, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x11185f
jmp 0x111861
movq 0x100(%rsp), %rdi
movl $0x2, %esi
callq 0x75c80
movq (%rax), %rax
movq %rax, 0xf0(%rsp)
cmpl $0x0, 0xe4(%rsp)
jne 0x1118d3
movq 0xf0(%rsp), %rax
cmpl $-0x3, (%rax)
je 0x1118d1
movq 0x110(%rsp), %rdi
leaq 0x4e8d3(%rip), %rsi     # 0x160177
leaq 0x733f3(%rip), %rdx     # 0x184c9e
leaq 0x73296(%rip), %rcx     # 0x184b48
leaq 0x73268(%rip), %r8      # 0x184b21
movl $0xfb, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x1118d3
jmp 0x1118d5
jmp 0x1118d7
cmpl $0x0, 0xe4(%rsp)
jne 0x111935
movq 0xe8(%rsp), %rdi
movl $0x2, %esi
callq 0x79c60
testb $0x1, %al
jne 0x111933
movq 0x110(%rsp), %rdi
leaq 0x4e871(%rip), %rsi     # 0x160177
leaq 0x73408(%rip), %rdx     # 0x184d15
leaq 0x73234(%rip), %rcx     # 0x184b48
leaq 0x73206(%rip), %r8      # 0x184b21
movl $0xfd, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x111935
jmp 0x111937
jmp 0x111939
cmpl $0x0, 0xe4(%rsp)
jne 0x111997
movq 0xe8(%rsp), %rdi
movl $0x3, %esi
callq 0x79c60
testb $0x1, %al
jne 0x111995
movq 0x110(%rsp), %rdi
leaq 0x4e80f(%rip), %rsi     # 0x160177
leaq 0x733c1(%rip), %rdx     # 0x184d30
leaq 0x731d2(%rip), %rcx     # 0x184b48
leaq 0x731a4(%rip), %r8      # 0x184b21
movl $0xfe, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x111997
jmp 0x111999
jmp 0x11199b
cmpl $0x0, 0xe4(%rsp)
jne 0x1119f9
movq 0xe8(%rsp), %rdi
movl $0x4, %esi
callq 0x79c60
testb $0x1, %al
jne 0x1119f7
movq 0x110(%rsp), %rdi
leaq 0x4e7ad(%rip), %rsi     # 0x160177
leaq 0x7337a(%rip), %rdx     # 0x184d4b
leaq 0x73170(%rip), %rcx     # 0x184b48
leaq 0x73142(%rip), %r8      # 0x184b21
movl $0xff, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x1119f9
jmp 0x1119fb
jmp 0x1119fd
cmpl $0x0, 0xe4(%rsp)
jne 0x111a58
movq 0xe8(%rsp), %rdi
callq 0x7a120
cmpq $0x3, %rax
je 0x111a56
movq 0x110(%rsp), %rdi
leaq 0x4e74e(%rip), %rsi     # 0x160177
leaq 0x73336(%rip), %rdx     # 0x184d66
leaq 0x73111(%rip), %rcx     # 0x184b48
leaq 0x730e3(%rip), %r8      # 0x184b21
movl $0x100, %r9d            # imm = 0x100
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0xe4(%rsp) # imm = 0xFFFFFFFF
jmp 0x111a58
jmp 0x111a5a
movq 0x108(%rsp), %rdi
callq 0x770a0
movq 0x100(%rsp), %rdi
callq 0x770a0
movq 0xe8(%rsp), %rdi
callq 0x7a420
movl 0xe4(%rsp), %eax
addq $0x118, %rsp            # imm = 0x118
retq