// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/core/bittab.c
// Function: gt_bittab_unit_test
int gt_bittab_unit_test(GtError *err)
{
  GtUword i, j, size, bit, counter;
  GtBittab *b, *tmp, *and;
  FILE *fp;
  int had_err = 0;
  gt_error_check(err);

  for (i = 0; i < BITTAB_NUM_OF_TESTS && !had_err; i++) {
    size = gt_rand_max(BITTAB_MAX_SIZE) + 1;
    b = gt_bittab_new(size);
    tmp = gt_bittab_new(size);
    and = gt_bittab_new(size);
    gt_ensure(gt_bittab_size(b) == size);

    for (j = 0; j < size && !had_err; j++) {
      counter = 0;
      for (bit  = gt_bittab_get_first_bitnum(b);
           bit != gt_bittab_get_last_bitnum(b);
           bit  = gt_bittab_get_next_bitnum(b, bit)) {
        counter++;
      }
      gt_ensure(counter == j);

      gt_ensure(gt_bittab_count_set_bits(b) == j);
      gt_ensure(!gt_bittab_bit_is_set(b, j));
      gt_bittab_set_bit(b, j);
      gt_ensure(gt_bittab_bit_is_set(b, j));

      gt_bittab_complement(tmp, b);
      gt_ensure(gt_bittab_count_set_bits(tmp) == size - j - 1);
      gt_ensure(!gt_bittab_cmp(b, tmp));
      gt_bittab_and(and, b, tmp);
      gt_ensure(gt_bittab_count_set_bits(and) == 0);

      gt_bittab_unset(and);
      gt_bittab_equal(and, b);
      gt_bittab_or_equal(and, tmp);
      gt_ensure(gt_bittab_size(and) == size);

      gt_bittab_equal(and, b);
      gt_ensure(gt_bittab_count_set_bits(and) == j + 1);
      gt_bittab_and_equal(and, tmp);
      gt_ensure(gt_bittab_count_set_bits(and) == 0);

      gt_bittab_complement(tmp, tmp);
      gt_ensure(gt_bittab_cmp(b, tmp));
    }

    gt_ensure(gt_bittab_count_set_bits(b) == size);
    gt_bittab_complement(tmp, b);
    gt_ensure(gt_bittab_count_set_bits(tmp) == 0);

    for (j = 0; j < size && !had_err; j++) {
      gt_bittab_unset_bit(b, j);
      gt_ensure(!gt_bittab_bit_is_set(b, j));
      gt_ensure(gt_bittab_count_set_bits(b) == size - j - 1);

      gt_bittab_complement(tmp, b);
      gt_ensure(!gt_bittab_cmp(b, tmp));
      gt_ensure(gt_bittab_count_set_bits(tmp) == j + 1);
      gt_bittab_and(and, b, tmp);
      gt_ensure(gt_bittab_count_set_bits(and) == 0);

      gt_bittab_unset(and);
      gt_bittab_equal(and, b);
      gt_bittab_or_equal(and, tmp);
      gt_ensure(gt_bittab_size(and) == size);

      gt_bittab_equal(and, b);
      gt_ensure(gt_bittab_count_set_bits(and) == size - j - 1);
      gt_bittab_and_equal(and, tmp);
      gt_ensure(gt_bittab_count_set_bits(and) == 0);

      gt_bittab_complement(tmp, tmp);
      gt_ensure(gt_bittab_cmp(b, tmp));
    }

    gt_bittab_delete(b);
    gt_bittab_delete(tmp);
    gt_bittab_delete(and);
  }

  /* test gt_bittab_show */
  fp = gt_fa_xfopen("/dev/null", "w");
  b = gt_bittab_new(80);
  for (i = 0; i < 80; i++) {
    if (i % 2)
      gt_bittab_set_bit(b, i);
  }
  gt_bittab_show(b, fp);
  gt_bittab_delete(b);
  gt_fa_xfclose(fp);

  /* test gt_bittab_shift_left_equal() */
  b = gt_bittab_new(125);
  gt_bittab_set_bit(b, 0);
  gt_bittab_set_bit(b, 32);
  gt_bittab_set_bit(b, 64);
  gt_bittab_set_bit(b, 77);
  gt_bittab_set_bit(b, 96);
  gt_bittab_set_bit(b, 123);
  gt_ensure(gt_bittab_count_set_bits(b) == 6);
  gt_bittab_shift_left_equal(b);
  gt_ensure(gt_bittab_count_set_bits(b) == 6);
  gt_ensure(gt_bittab_bit_is_set(b, 1));
  gt_ensure(gt_bittab_bit_is_set(b, 33));
  gt_ensure(gt_bittab_bit_is_set(b, 65));
  gt_ensure(gt_bittab_bit_is_set(b, 78));
  gt_ensure(gt_bittab_bit_is_set(b, 97));
  gt_ensure(gt_bittab_bit_is_set(b, 124));
  gt_bittab_delete(b);

  /* test gt_bittab_shift_right_equal() */
  b = gt_bittab_new(125);
  gt_bittab_set_bit(b, 1);
  gt_bittab_set_bit(b, 33);
  gt_bittab_set_bit(b, 65);
  gt_bittab_set_bit(b, 77);
  gt_bittab_set_bit(b, 97);
  gt_bittab_set_bit(b, 124);
  gt_ensure(gt_bittab_count_set_bits(b) == 6);
  gt_bittab_shift_right_equal(b);
  gt_ensure(gt_bittab_count_set_bits(b) == 6);
  gt_ensure(gt_bittab_bit_is_set(b, 0));
  gt_ensure(gt_bittab_bit_is_set(b, 32));
  gt_ensure(gt_bittab_bit_is_set(b, 64));
  gt_ensure(gt_bittab_bit_is_set(b, 76));
  gt_ensure(gt_bittab_bit_is_set(b, 96));
  gt_ensure(gt_bittab_bit_is_set(b, 123));
  gt_bittab_delete(b);

  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r15
testq %rdi, %rdi
je 0x70e95
movq %r15, %rdi
callq 0x3566a
testb %al, %al
jne 0x71c9f
xorl %r12d, %r12d
xorl %eax, %eax
movq %r15, 0x18(%rsp)
movq %rax, 0x20(%rsp)
movl $0x400, %edi            # imm = 0x400
callq 0x7a188
movq %rax, 0x10(%rsp)
leaq 0x1(%rax), %rbx
movq %rbx, %rdi
callq 0x70724
movq %rax, %rbp
movq %rbx, %rdi
callq 0x70724
movq %rax, %r14
movq %rbx, %rdi
callq 0x70724
movq %rax, %r13
movq %rbp, %rdi
callq 0x70bd9
movq %rbx, 0x8(%rsp)
cmpq %rbx, %rax
je 0x70f1c
movq %r15, %rdi
leaq 0x72285(%rip), %rsi     # 0xe3179
leaq 0x7ed3b(%rip), %rdx     # 0xefc36
leaq 0x7ed20(%rip), %rcx     # 0xefc22
leaq 0x7e9b4(%rip), %r8      # 0xef8bd
movl $0x15d, %r9d            # imm = 0x15D
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
cmpq $0x0, 0x8(%rsp)
sete %al
testl %r12d, %r12d
sete %r12b
setne %cl
orb %al, %cl
jne 0x71309
xorl %ebx, %ebx
movq %rbp, %rdi
callq 0x70be9
movq %rax, %r12
movq %rbp, %rdi
callq 0x70c3c
xorl %r15d, %r15d
cmpq %rax, %r12
je 0x70f6f
incq %r15
movq %rbp, %rdi
movq %r12, %rsi
callq 0x70c4c
movq %rax, %r12
movq %rbp, %rdi
callq 0x70c3c
jmp 0x70f4f
cmpq %rbx, %r15
jne 0x70fc0
movq %rbp, %rdi
callq 0x70ca1
cmpq %rbx, %rax
movq 0x18(%rsp), %r15
jne 0x70fec
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x70b1b
testb %al, %al
je 0x7109a
movq %r15, %rdi
leaq 0x721d6(%rip), %rsi     # 0xe3179
leaq 0x7ecd4(%rip), %rdx     # 0xefc7e
leaq 0x7ec71(%rip), %rcx     # 0xefc22
leaq 0x7e905(%rip), %r8      # 0xef8bd
movl $0x169, %r9d            # imm = 0x169
jmp 0x71011
movq 0x18(%rsp), %r15
movq %r15, %rdi
leaq 0x721aa(%rip), %rsi     # 0xe3179
leaq 0x7ec7a(%rip), %rdx     # 0xefc50
leaq 0x7ec45(%rip), %rcx     # 0xefc22
leaq 0x7e8d9(%rip), %r8      # 0xef8bd
movl $0x166, %r9d            # imm = 0x166
jmp 0x71011
movq %r15, %rdi
leaq 0x72183(%rip), %rsi     # 0xe3179
leaq 0x7ec60(%rip), %rdx     # 0xefc5d
leaq 0x7ec1e(%rip), %rcx     # 0xefc22
leaq 0x7e8b2(%rip), %r8      # 0xef8bd
movl $0x168, %r9d            # imm = 0x168
xorl %eax, %eax
callq 0x3559f
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x70790
movq %r14, %rdi
movq %rbp, %rsi
callq 0x707e0
movq %r13, %rdi
movq %rbp, %rsi
movq %r14, %rdx
callq 0x70885
movq %r13, %rdi
callq 0x70a83
movq %r13, %rdi
movq %rbp, %rsi
callq 0x70849
movq %r13, %rdi
movq %r14, %rsi
callq 0x709d1
movq %r13, %rdi
movq %rbp, %rsi
callq 0x70849
movq %r13, %rdi
movq %r14, %rsi
callq 0x70990
movq %r14, %rdi
movq %r14, %rsi
callq 0x707e0
xorl %r12d, %r12d
incq %rbx
cmpq 0x8(%rsp), %rbx
jae 0x71309
testb %r12b, %r12b
jne 0x70f39
jmp 0x71309
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x70790
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x70b1b
testb %al, %al
je 0x7110e
movq %r14, %rdi
movq %rbp, %rsi
callq 0x707e0
movq %r14, %rdi
callq 0x70ca1
movq 0x10(%rsp), %rcx
subq %rbx, %rcx
cmpq %rcx, %rax
jne 0x7113f
movq %rbp, %rdi
movq %r14, %rsi
callq 0x70b82
testb %al, %al
je 0x71170
movq %r15, %rdi
leaq 0x72088(%rip), %rsi     # 0xe3179
leaq 0x7ebd0(%rip), %rdx     # 0xefcc8
leaq 0x7eb23(%rip), %rcx     # 0xefc22
leaq 0x7e7b7(%rip), %r8      # 0xef8bd
movl $0x16f, %r9d            # imm = 0x16F
jmp 0x71164
movq %r15, %rdi
leaq 0x72061(%rip), %rsi     # 0xe3179
leaq 0x7eb60(%rip), %rdx     # 0xefc7f
leaq 0x7eafc(%rip), %rcx     # 0xefc22
leaq 0x7e790(%rip), %r8      # 0xef8bd
movl $0x16b, %r9d            # imm = 0x16B
xorl %eax, %eax
callq 0x3559f
jmp 0x71023
movq %r15, %rdi
leaq 0x72030(%rip), %rsi     # 0xe3179
leaq 0x7eb4a(%rip), %rdx     # 0xefc9a
leaq 0x7eacb(%rip), %rcx     # 0xefc22
leaq 0x7e75f(%rip), %r8      # 0xef8bd
movl $0x16e, %r9d            # imm = 0x16E
xorl %eax, %eax
callq 0x3559f
jmp 0x7102e
movq %r13, %rdi
movq %rbp, %rsi
movq %r14, %rdx
callq 0x70885
movq %r13, %rdi
callq 0x70ca1
testq %rax, %rax
je 0x711bc
movq %r15, %rdi
leaq 0x71fe4(%rip), %rsi     # 0xe3179
leaq 0x7eb43(%rip), %rdx     # 0xefcdf
leaq 0x7ea7f(%rip), %rcx     # 0xefc22
leaq 0x7e713(%rip), %r8      # 0xef8bd
movl $0x171, %r9d            # imm = 0x171
xorl %eax, %eax
callq 0x3559f
jmp 0x7103c
movq %r13, %rdi
callq 0x70a83
movq %r13, %rdi
movq %rbp, %rsi
callq 0x70849
movq %r13, %rdi
movq %r14, %rsi
callq 0x709d1
movq %r13, %rdi
callq 0x70bd9
cmpq 0x8(%rsp), %rax
jne 0x71252
movq %r13, %rdi
movq %rbp, %rsi
callq 0x70849
movq %r13, %rdi
callq 0x70ca1
leaq 0x1(%rbx), %rcx
cmpq %rcx, %rax
jne 0x71283
movq %r13, %rdi
movq %r14, %rsi
callq 0x70990
movq %r13, %rdi
callq 0x70ca1
testq %rax, %rax
je 0x712b4
movq %r15, %rdi
leaq 0x71f4e(%rip), %rsi     # 0xe3179
leaq 0x7eaad(%rip), %rdx     # 0xefcdf
leaq 0x7e9e9(%rip), %rcx     # 0xefc22
leaq 0x7e67d(%rip), %r8      # 0xef8bd
movl $0x17b, %r9d            # imm = 0x17B
xorl %eax, %eax
callq 0x3559f
jmp 0x71070
movq %r15, %rdi
leaq 0x71f1d(%rip), %rsi     # 0xe3179
leaq 0x7ea9f(%rip), %rdx     # 0xefd02
leaq 0x7e9b8(%rip), %rcx     # 0xefc22
leaq 0x7e64c(%rip), %r8      # 0xef8bd
movl $0x176, %r9d            # imm = 0x176
xorl %eax, %eax
callq 0x3559f
jmp 0x7105a
movq %r15, %rdi
leaq 0x71eec(%rip), %rsi     # 0xe3179
leaq 0x7ea8a(%rip), %rdx     # 0xefd1e
leaq 0x7e987(%rip), %rcx     # 0xefc22
leaq 0x7e61b(%rip), %r8      # 0xef8bd
movl $0x179, %r9d            # imm = 0x179
xorl %eax, %eax
callq 0x3559f
jmp 0x71065
movq %r14, %rdi
movq %r14, %rsi
callq 0x707e0
movq %rbp, %rdi
movq %r14, %rsi
callq 0x70b82
movb $0x1, %r12b
testb %al, %al
jne 0x7107e
xorl %r12d, %r12d
movq %r15, %rdi
leaq 0x71e97(%rip), %rsi     # 0xe3179
leaq 0x7e9e0(%rip), %rdx     # 0xefcc9
leaq 0x7e932(%rip), %rcx     # 0xefc22
leaq 0x7e5c6(%rip), %r8      # 0xef8bd
movl $0x17e, %r9d            # imm = 0x17E
xorl %eax, %eax
callq 0x3559f
jmp 0x7107e
testb %r12b, %r12b
je 0x7139e
movq %rbp, %rdi
callq 0x70ca1
cmpq 0x8(%rsp), %rax
jne 0x71372
movq %r14, %rdi
movq %rbp, %rsi
callq 0x707e0
movq %r14, %rdi
callq 0x70ca1
testq %rax, %rax
je 0x71721
xorl %ebx, %ebx
movq %r15, %rdi
leaq 0x71e30(%rip), %rsi     # 0xe3179
leaq 0x7ea19(%rip), %rdx     # 0xefd69
leaq 0x7e8cb(%rip), %rcx     # 0xefc22
leaq 0x7e55f(%rip), %r8      # 0xef8bd
movl $0x183, %r9d            # imm = 0x183
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
jmp 0x713b0
movq %r15, %rdi
leaq 0x71dfd(%rip), %rsi     # 0xe3179
leaq 0x7e9c2(%rip), %rdx     # 0xefd45
leaq 0x7e898(%rip), %rcx     # 0xefc22
leaq 0x7e52c(%rip), %r8      # 0xef8bd
movl $0x181, %r9d            # imm = 0x181
xorl %eax, %eax
callq 0x3559f
movq %r14, %rdi
movq %rbp, %rsi
callq 0x707e0
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
xorl %ebx, %ebx
cmpq $0x0, 0x8(%rsp)
sete %al
xorb $0x1, %bl
orb %al, %bl
jne 0x716ed
movl $0x1, %r12d
leaq -0x1(%r12), %rbx
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x707b7
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x70b1b
testb %al, %al
je 0x71410
movq %r15, %rdi
leaq 0x71d86(%rip), %rsi     # 0xe3179
leaq 0x7e884(%rip), %rdx     # 0xefc7e
leaq 0x7e821(%rip), %rcx     # 0xefc22
leaq 0x7e4b5(%rip), %r8      # 0xef8bd
movl $0x187, %r9d            # imm = 0x187
jmp 0x7148c
movq %rbp, %rdi
callq 0x70ca1
cmpq %rax, 0x10(%rsp)
jne 0x71467
movq %r14, %rdi
movq %rbp, %rsi
callq 0x707e0
movq %rbp, %rdi
movq %r14, %rsi
callq 0x70b82
testb %al, %al
je 0x71512
movq %r15, %rdi
leaq 0x71d32(%rip), %rsi     # 0xe3179
leaq 0x7e87a(%rip), %rdx     # 0xefcc8
leaq 0x7e7cd(%rip), %rcx     # 0xefc22
leaq 0x7e461(%rip), %r8      # 0xef8bd
movl $0x18b, %r9d            # imm = 0x18B
jmp 0x71590
movq %r15, %rdi
leaq 0x71d08(%rip), %rsi     # 0xe3179
leaq 0x7e914(%rip), %rdx     # 0xefd8c
leaq 0x7e7a3(%rip), %rcx     # 0xefc22
leaq 0x7e437(%rip), %r8      # 0xef8bd
movl $0x188, %r9d            # imm = 0x188
xorl %eax, %eax
callq 0x3559f
movq %r14, %rdi
movq %rbp, %rsi
callq 0x707e0
movq %r13, %rdi
movq %rbp, %rsi
movq %r14, %rdx
callq 0x70885
movq %r13, %rdi
callq 0x70a83
movq %r13, %rdi
movq %rbp, %rsi
callq 0x70849
movq %r13, %rdi
movq %r14, %rsi
callq 0x709d1
movq %r13, %rdi
movq %rbp, %rsi
callq 0x70849
movq %r13, %rdi
movq %r14, %rsi
callq 0x70990
movq %r14, %rdi
movq %r14, %rsi
callq 0x707e0
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
xorl %ebx, %ebx
cmpq 0x8(%rsp), %r12
jae 0x716ed
incq %r12
decq 0x10(%rsp)
testb %bl, %bl
jne 0x713ca
jmp 0x716ed
movq %r14, %rdi
callq 0x70ca1
cmpq %rax, %r12
jne 0x7156b
movq %r13, %rdi
movq %rbp, %rsi
movq %r14, %rdx
callq 0x70885
movq %r13, %rdi
callq 0x70ca1
testq %rax, %rax
je 0x7159c
movq %r15, %rdi
leaq 0x71c35(%rip), %rsi     # 0xe3179
leaq 0x7e794(%rip), %rdx     # 0xefcdf
leaq 0x7e6d0(%rip), %rcx     # 0xefc22
leaq 0x7e364(%rip), %r8      # 0xef8bd
movl $0x18e, %r9d            # imm = 0x18E
xorl %eax, %eax
callq 0x3559f
jmp 0x714ac
movq %r15, %rdi
leaq 0x71c04(%rip), %rsi     # 0xe3179
leaq 0x7e83c(%rip), %rdx     # 0xefdb8
leaq 0x7e69f(%rip), %rcx     # 0xefc22
leaq 0x7e333(%rip), %r8      # 0xef8bd
movl $0x18c, %r9d            # imm = 0x18C
xorl %eax, %eax
callq 0x3559f
jmp 0x7149e
movq %r13, %rdi
callq 0x70a83
movq %r13, %rdi
movq %rbp, %rsi
callq 0x70849
movq %r13, %rdi
movq %r14, %rsi
callq 0x709d1
movq %r13, %rdi
callq 0x70bd9
cmpq 0x8(%rsp), %rax
jne 0x71630
movq %r13, %rdi
movq %rbp, %rsi
callq 0x70849
movq %r13, %rdi
callq 0x70ca1
cmpq %rax, 0x10(%rsp)
jne 0x71661
movq %r13, %rdi
movq %r14, %rsi
callq 0x70990
movq %r13, %rdi
callq 0x70ca1
testq %rax, %rax
je 0x71692
movq %r15, %rdi
leaq 0x71b70(%rip), %rsi     # 0xe3179
leaq 0x7e6cf(%rip), %rdx     # 0xefcdf
leaq 0x7e60b(%rip), %rcx     # 0xefc22
leaq 0x7e29f(%rip), %r8      # 0xef8bd
movl $0x198, %r9d            # imm = 0x198
xorl %eax, %eax
callq 0x3559f
jmp 0x714e0
movq %r15, %rdi
leaq 0x71b3f(%rip), %rsi     # 0xe3179
leaq 0x7e6c1(%rip), %rdx     # 0xefd02
leaq 0x7e5da(%rip), %rcx     # 0xefc22
leaq 0x7e26e(%rip), %r8      # 0xef8bd
movl $0x193, %r9d            # imm = 0x193
xorl %eax, %eax
callq 0x3559f
jmp 0x714ca
movq %r15, %rdi
leaq 0x71b0e(%rip), %rsi     # 0xe3179
leaq 0x7e76d(%rip), %rdx     # 0xefddf
leaq 0x7e5a9(%rip), %rcx     # 0xefc22
leaq 0x7e23d(%rip), %r8      # 0xef8bd
movl $0x196, %r9d            # imm = 0x196
xorl %eax, %eax
callq 0x3559f
jmp 0x714d5
movq %r14, %rdi
movq %r14, %rsi
callq 0x707e0
movq %rbp, %rdi
movq %r14, %rsi
callq 0x70b82
testb %al, %al
je 0x716b5
xorl %ecx, %ecx
movb $0x1, %bl
jmp 0x714f2
xorl %ebx, %ebx
movq %r15, %rdi
leaq 0x71ab8(%rip), %rsi     # 0xe3179
leaq 0x7e601(%rip), %rdx     # 0xefcc9
leaq 0x7e553(%rip), %rcx     # 0xefc22
leaq 0x7e1e7(%rip), %r8      # 0xef8bd
movl $0x19b, %r9d            # imm = 0x19B
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
jmp 0x714f2
movl %ecx, %r12d
movq %rbp, %rdi
callq 0x70e34
movq %r14, %rdi
callq 0x70e34
movq %r13, %rdi
callq 0x70e34
movq 0x20(%rsp), %rax
cmpq $0x30, %rax
ja 0x7172a
incq %rax
testl %r12d, %r12d
je 0x70e9f
jmp 0x7172a
xorl %ecx, %ecx
movb $0x1, %bl
jmp 0x713b0
leaq 0x7e6dc(%rip), %rdi     # 0xefe0d
leaq 0x96d8f(%rip), %rsi     # 0x1084c7
leaq 0x7e17e(%rip), %rdx     # 0xef8bd
movl $0x1a4, %ecx            # imm = 0x1A4
callq 0x73e59
movq %rax, %rbx
movl $0x50, %edi
callq 0x70724
movq %rax, %r14
xorl %r15d, %r15d
testb $0x1, %r15b
je 0x7176d
movq %r14, %rdi
movq %r15, %rsi
callq 0x70790
incq %r15
cmpq $0x50, %r15
jne 0x7175c
movq %r14, %rdi
movq %rbx, %rsi
callq 0x70cf4
movq %r14, %rdi
callq 0x70e34
movq %rbx, %rdi
callq 0x73f9e
movl $0x7d, %edi
callq 0x70724
movq %rax, %r14
movq %rax, %rdi
xorl %esi, %esi
callq 0x70790
movl $0x20, %esi
movq %r14, %rdi
callq 0x70790
movl $0x40, %esi
movq %r14, %rdi
callq 0x70790
movl $0x4d, %esi
movq %r14, %rdi
callq 0x70790
movl $0x60, %esi
movq %r14, %rdi
callq 0x70790
movl $0x7b, %esi
movq %r14, %rdi
callq 0x70790
testl %r12d, %r12d
movq 0x18(%rsp), %r15
jne 0x718f8
movq %r14, %rdi
callq 0x70ca1
cmpq $0x6, %rax
jne 0x718cc
movq %r14, %rdi
callq 0x70a12
movq %r14, %rdi
callq 0x70ca1
cmpq $0x6, %rax
jne 0x71aa4
movl $0x1, %esi
movq %r14, %rdi
callq 0x70b1b
testb %al, %al
je 0x71afa
movl $0x21, %esi
movq %r14, %rdi
callq 0x70b1b
testb %al, %al
je 0x71b50
movl $0x41, %esi
movq %r14, %rdi
callq 0x70b1b
testb %al, %al
je 0x71ba6
movl $0x4e, %esi
movq %r14, %rdi
callq 0x70b1b
testb %al, %al
je 0x71bf9
movl $0x61, %esi
movq %r14, %rdi
callq 0x70b1b
testb %al, %al
je 0x71c6c
movl $0x7c, %esi
movq %r14, %rdi
callq 0x70b1b
movb $0x1, %bpl
testb %al, %al
jne 0x71902
leaq 0x718d2(%rip), %rsi     # 0xe3179
leaq 0x7e615(%rip), %rdx     # 0xefec3
leaq 0x7e36d(%rip), %rcx     # 0xefc22
leaq 0x7e001(%rip), %r8      # 0xef8bd
xorl %ebp, %ebp
movq %r15, %rdi
movl $0x1be, %r9d            # imm = 0x1BE
jmp 0x71c93
leaq 0x718a6(%rip), %rsi     # 0xe3179
leaq 0x7e53d(%rip), %rdx     # 0xefe17
leaq 0x7e341(%rip), %rcx     # 0xefc22
leaq 0x7dfd5(%rip), %r8      # 0xef8bd
movq %r15, %rdi
movl $0x1b6, %r9d            # imm = 0x1B6
xorl %eax, %eax
callq 0x3559f
movq %r14, %rdi
callq 0x70a12
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x70e34
movl $0x7d, %edi
callq 0x70724
movq %rax, %rbx
movl $0x1, %esi
movq %rax, %rdi
callq 0x70790
movl $0x21, %esi
movq %rbx, %rdi
callq 0x70790
movl $0x41, %esi
movq %rbx, %rdi
callq 0x70790
movl $0x4d, %esi
movq %rbx, %rdi
callq 0x70790
movl $0x61, %esi
movq %rbx, %rdi
callq 0x70790
movl $0x7c, %esi
movq %rbx, %rdi
callq 0x70790
testb %bpl, %bpl
je 0x71a6d
movq %rbx, %rdi
callq 0x70ca1
cmpq $0x6, %rax
jne 0x71a41
movq %rbx, %rdi
callq 0x70a49
movq %rbx, %rdi
callq 0x70ca1
cmpq $0x6, %rax
jne 0x71a7a
movq %rbx, %rdi
xorl %esi, %esi
callq 0x70b1b
testb %al, %al
je 0x71ad0
movl $0x20, %esi
movq %rbx, %rdi
callq 0x70b1b
testb %al, %al
je 0x71b26
movl $0x40, %esi
movq %rbx, %rdi
callq 0x70b1b
testb %al, %al
je 0x71b7c
movl $0x4c, %esi
movq %rbx, %rdi
callq 0x70b1b
testb %al, %al
je 0x71bd2
movl $0x60, %esi
movq %rbx, %rdi
callq 0x70b1b
testb %al, %al
je 0x71c22
movl $0x7b, %esi
movq %rbx, %rdi
callq 0x70b1b
xorl %ebp, %ebp
testb %al, %al
jne 0x71c53
leaq 0x7175b(%rip), %rsi     # 0xe3179
leaq 0x7e546(%rip), %rdx     # 0xeff6b
leaq 0x7e1f6(%rip), %rcx     # 0xefc22
leaq 0x7de8a(%rip), %r8      # 0xef8bd
movq %r15, %rdi
movl $0x1d1, %r9d            # imm = 0x1D1
jmp 0x71c47
leaq 0x71731(%rip), %rsi     # 0xe3179
leaq 0x7e3c8(%rip), %rdx     # 0xefe17
leaq 0x7e1cc(%rip), %rcx     # 0xefc22
leaq 0x7de60(%rip), %r8      # 0xef8bd
movq %r15, %rdi
movl $0x1c9, %r9d            # imm = 0x1C9
xorl %eax, %eax
callq 0x3559f
movq %rbx, %rdi
callq 0x70a49
jmp 0x71c4e
leaq 0x716f8(%rip), %rsi     # 0xe3179
leaq 0x7e38f(%rip), %rdx     # 0xefe17
leaq 0x7e193(%rip), %rcx     # 0xefc22
leaq 0x7de27(%rip), %r8      # 0xef8bd
movq %r15, %rdi
movl $0x1cb, %r9d            # imm = 0x1CB
jmp 0x71c47
leaq 0x716ce(%rip), %rsi     # 0xe3179
leaq 0x7e365(%rip), %rdx     # 0xefe17
leaq 0x7e169(%rip), %rcx     # 0xefc22
leaq 0x7ddfd(%rip), %r8      # 0xef8bd
xorl %ebp, %ebp
movq %r15, %rdi
movl $0x1b8, %r9d            # imm = 0x1B8
jmp 0x71c93
leaq 0x716a2(%rip), %rsi     # 0xe3179
leaq 0x7e402(%rip), %rdx     # 0xefee0
leaq 0x7e13d(%rip), %rcx     # 0xefc22
leaq 0x7ddd1(%rip), %r8      # 0xef8bd
movq %r15, %rdi
movl $0x1cc, %r9d            # imm = 0x1CC
jmp 0x71c47
leaq 0x71678(%rip), %rsi     # 0xe3179
leaq 0x7e330(%rip), %rdx     # 0xefe38
leaq 0x7e113(%rip), %rcx     # 0xefc22
leaq 0x7dda7(%rip), %r8      # 0xef8bd
xorl %ebp, %ebp
movq %r15, %rdi
movl $0x1b9, %r9d            # imm = 0x1B9
jmp 0x71c93
leaq 0x7164c(%rip), %rsi     # 0xe3179
leaq 0x7e3c7(%rip), %rdx     # 0xefefb
leaq 0x7e0e7(%rip), %rcx     # 0xefc22
leaq 0x7dd7b(%rip), %r8      # 0xef8bd
movq %r15, %rdi
movl $0x1cd, %r9d            # imm = 0x1CD
jmp 0x71c47
leaq 0x71622(%rip), %rsi     # 0xe3179
leaq 0x7e2f5(%rip), %rdx     # 0xefe53
leaq 0x7e0bd(%rip), %rcx     # 0xefc22
leaq 0x7dd51(%rip), %r8      # 0xef8bd
xorl %ebp, %ebp
movq %r15, %rdi
movl $0x1ba, %r9d            # imm = 0x1BA
jmp 0x71c93
leaq 0x715f6(%rip), %rsi     # 0xe3179
leaq 0x7e38d(%rip), %rdx     # 0xeff17
leaq 0x7e091(%rip), %rcx     # 0xefc22
leaq 0x7dd25(%rip), %r8      # 0xef8bd
movq %r15, %rdi
movl $0x1ce, %r9d            # imm = 0x1CE
jmp 0x71c47
leaq 0x715cc(%rip), %rsi     # 0xe3179
leaq 0x7e2bb(%rip), %rdx     # 0xefe6f
leaq 0x7e067(%rip), %rcx     # 0xefc22
leaq 0x7dcfb(%rip), %r8      # 0xef8bd
xorl %ebp, %ebp
movq %r15, %rdi
movl $0x1bb, %r9d            # imm = 0x1BB
jmp 0x71c93
leaq 0x715a0(%rip), %rsi     # 0xe3179
leaq 0x7e353(%rip), %rdx     # 0xeff33
leaq 0x7e03b(%rip), %rcx     # 0xefc22
leaq 0x7dccf(%rip), %r8      # 0xef8bd
movq %r15, %rdi
movl $0x1cf, %r9d            # imm = 0x1CF
jmp 0x71c47
leaq 0x71579(%rip), %rsi     # 0xe3179
leaq 0x7e284(%rip), %rdx     # 0xefe8b
leaq 0x7e014(%rip), %rcx     # 0xefc22
leaq 0x7dca8(%rip), %r8      # 0xef8bd
xorl %ebp, %ebp
movq %r15, %rdi
movl $0x1bc, %r9d            # imm = 0x1BC
jmp 0x71c93
leaq 0x71550(%rip), %rsi     # 0xe3179
leaq 0x7e31f(%rip), %rdx     # 0xeff4f
leaq 0x7dfeb(%rip), %rcx     # 0xefc22
leaq 0x7dc7f(%rip), %r8      # 0xef8bd
movq %r15, %rdi
movl $0x1d0, %r9d            # imm = 0x1D0
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq %rbx, %rdi
callq 0x70e34
movl %ebp, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x71506(%rip), %rsi     # 0xe3179
leaq 0x7e22d(%rip), %rdx     # 0xefea7
leaq 0x7dfa1(%rip), %rcx     # 0xefc22
leaq 0x7dc35(%rip), %r8      # 0xef8bd
xorl %ebp, %ebp
movq %r15, %rdi
movl $0x1bd, %r9d            # imm = 0x1BD
xorl %eax, %eax
callq 0x3559f
jmp 0x71902
callq 0x19dc5