// File: /workspace/github_c_makefile_star2_O3/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, %rbx
testq %rdi, %rdi
je 0x71436
movq %rbx, %rdi
callq 0x34fea
testb %al, %al
jne 0x7226f
xorl %r14d, %r14d
movq %rbx, (%rsp)
movl $0x400, %edi            # imm = 0x400
callq 0x7a51d
movq %rax, 0x18(%rsp)
leaq 0x1(%rax), %r13
movq %r13, %rdi
callq 0x70cd4
movq %rax, %rbp
movq %r13, %rdi
callq 0x70cd4
movq %rax, %r15
movq %r13, %rdi
callq 0x70cd4
movq %rax, 0x8(%rsp)
movq %rbp, %rdi
callq 0x71194
cmpq %r13, %rax
jne 0x71675
setne %al
testq %r13, %r13
sete %cl
orb %al, %cl
jne 0x71614
xorl %ebx, %ebx
movq %r15, 0x10(%rsp)
movq %r14, %r15
movq %rbp, %rdi
callq 0x711a4
movq %rax, %r12
movq %rbp, %rdi
callq 0x711eb
xorl %r14d, %r14d
cmpq %rax, %r12
je 0x714d5
incq %r14
movq %rbp, %rdi
movq %r12, %rsi
callq 0x711fb
movq %rax, %r12
movq %rbp, %rdi
callq 0x711eb
jmp 0x714b5
cmpq %rbx, %r14
jne 0x7180c
movq %rbp, %rdi
callq 0x71242
cmpq %rbx, %rax
movq %r15, %r14
movq 0x8(%rsp), %r12
jne 0x71848
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x710ce
testb %al, %al
movq 0x10(%rsp), %r15
jne 0x7187c
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x70d40
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x710ce
testb %al, %al
je 0x718ba
movq %r15, %rdi
movq %rbp, %rsi
callq 0x70d90
movq %r15, %rdi
callq 0x71242
movq 0x18(%rsp), %rcx
subq %rbx, %rcx
cmpq %rcx, %rax
jne 0x718f7
movq %rbp, %rdi
movq %r15, %rsi
callq 0x71138
testb %al, %al
jne 0x71922
movq %r12, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x70e38
movq %r12, %rdi
callq 0x71242
testq %rax, %rax
jne 0x719e2
movq %r12, %rdi
callq 0x71036
movq %r12, %rdi
movq %rbp, %rsi
callq 0x70dfc
movq %r12, %rdi
movq %r15, %rsi
callq 0x70f84
movq %r12, %rdi
callq 0x71194
cmpq %r13, %rax
jne 0x71a17
movq %r12, %rdi
movq %rbp, %rsi
callq 0x70dfc
movq %r12, %rdi
callq 0x71242
incq %rbx
cmpq %rbx, %rax
jne 0x71a4c
movq %r12, %rdi
movq %r15, %rsi
callq 0x70f43
movq %r12, %rdi
callq 0x71242
testq %rax, %rax
jne 0x71a81
movq %r15, %rdi
movq %r15, %rsi
callq 0x70d90
movq %rbp, %rdi
movq %r15, %rsi
callq 0x71138
testb %al, %al
je 0x71ab6
cmpq %r13, %rbx
jb 0x7149c
movq %rbp, %rdi
callq 0x71242
cmpq %r13, %rax
jne 0x7169c
movq %r15, %rdi
movq %rbp, %rsi
callq 0x70d90
movq %r15, %rdi
callq 0x71242
testq %rax, %rax
movq (%rsp), %rbx
je 0x716d1
xorl %r12d, %r12d
movq %rbx, %rdi
leaq 0x71b0b(%rip), %rsi     # 0xe3159
leaq 0x7e6c9(%rip), %rdx     # 0xefd1e
leaq 0x7e57b(%rip), %rcx     # 0xefbd7
leaq 0x7e20f(%rip), %r8      # 0xef872
movl $0x183, %r9d            # imm = 0x183
xorl %eax, %eax
callq 0x34f1f
jmp 0x719ad
movq %rbx, %rdi
leaq 0x71ada(%rip), %rsi     # 0xe3159
leaq 0x7e565(%rip), %rdx     # 0xefbeb
leaq 0x7e54a(%rip), %rcx     # 0xefbd7
leaq 0x7e1de(%rip), %r8      # 0xef872
movl $0x15d, %r9d            # imm = 0x15D
jmp 0x716c5
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x71aaf(%rip), %rsi     # 0xe3159
leaq 0x7e649(%rip), %rdx     # 0xefcfa
leaq 0x7e51f(%rip), %rcx     # 0xefbd7
leaq 0x7e1b3(%rip), %r8      # 0xef872
movl $0x181, %r9d            # imm = 0x181
xorl %eax, %eax
callq 0x34f1f
jmp 0x7199f
testq %r13, %r13
je 0x71804
xorl %ebx, %ebx
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x70d67
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x710ce
testb %al, %al
jne 0x71ae4
movq %rbp, %rdi
callq 0x71242
cmpq %rax, 0x18(%rsp)
jne 0x71b0f
movq %rax, %r12
movq %r15, %rdi
movq %rbp, %rsi
callq 0x70d90
movq %rbp, %rdi
movq %r15, %rsi
callq 0x71138
testb %al, %al
jne 0x71b4c
movq %r15, %rdi
callq 0x71242
incq %rbx
cmpq %rax, %rbx
jne 0x71b77
movq %r12, 0x20(%rsp)
movq 0x8(%rsp), %r12
movq %r12, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x70e38
movq %r12, %rdi
callq 0x71242
testq %rax, %rax
jne 0x71bf9
movq %r12, %rdi
callq 0x71036
movq %r12, %rdi
movq %rbp, %rsi
callq 0x70dfc
movq %r12, %rdi
movq %r15, %rsi
callq 0x70f84
movq %r12, %rdi
callq 0x71194
cmpq %r13, %rax
jne 0x71c2b
movq %r12, %rdi
movq %rbp, %rsi
callq 0x70dfc
movq %r12, %rdi
callq 0x71242
cmpq 0x20(%rsp), %rax
jne 0x71c60
movq %r12, %rdi
movq %r15, %rsi
callq 0x70f43
movq %r12, %rdi
callq 0x71242
testq %rax, %rax
jne 0x71c95
movq %r15, %rdi
movq %r15, %rsi
callq 0x70d90
movq %rbp, %rdi
movq %r15, %rsi
callq 0x71138
testb %al, %al
je 0x71cca
decq 0x18(%rsp)
cmpq %r13, %rbx
jb 0x716dc
movq (%rsp), %rbx
movb $0x1, %r12b
jmp 0x719ad
movq (%rsp), %rdi
leaq 0x71942(%rip), %rsi     # 0xe3159
leaq 0x7e3e7(%rip), %rdx     # 0xefc05
leaq 0x7e3b2(%rip), %rcx     # 0xefbd7
leaq 0x7e046(%rip), %r8      # 0xef872
movl $0x166, %r9d            # imm = 0x166
xorl %eax, %eax
callq 0x34f1f
movq %r15, %r14
movq 0x10(%rsp), %r15
movq 0x8(%rsp), %r12
jmp 0x718a9
movq (%rsp), %rdi
leaq 0x71906(%rip), %rsi     # 0xe3159
leaq 0x7e3b8(%rip), %rdx     # 0xefc12
leaq 0x7e376(%rip), %rcx     # 0xefbd7
leaq 0x7e00a(%rip), %r8      # 0xef872
movl $0x168, %r9d            # imm = 0x168
xorl %eax, %eax
callq 0x34f1f
movq 0x10(%rsp), %r15
jmp 0x718a9
movq (%rsp), %rdi
leaq 0x718d2(%rip), %rsi     # 0xe3159
leaq 0x7e3a5(%rip), %rdx     # 0xefc33
leaq 0x7e342(%rip), %rcx     # 0xefbd7
leaq 0x7dfd6(%rip), %r8      # 0xef872
movl $0x169, %r9d            # imm = 0x169
xorl %eax, %eax
callq 0x34f1f
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x70d40
movq (%rsp), %rbx
jmp 0x718ea
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x71891(%rip), %rsi     # 0xe3159
leaq 0x7e365(%rip), %rdx     # 0xefc34
leaq 0x7e301(%rip), %rcx     # 0xefbd7
leaq 0x7df95(%rip), %r8      # 0xef872
movl $0x16b, %r9d            # imm = 0x16B
xorl %eax, %eax
callq 0x34f1f
movq %r15, %rdi
movq %rbp, %rsi
callq 0x70d90
jmp 0x71952
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x71854(%rip), %rsi     # 0xe3159
leaq 0x7e343(%rip), %rdx     # 0xefc4f
leaq 0x7e2c4(%rip), %rcx     # 0xefbd7
leaq 0x7df58(%rip), %r8      # 0xef872
movl $0x16e, %r9d            # imm = 0x16E
jmp 0x7194b
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x71829(%rip), %rsi     # 0xe3159
leaq 0x7e346(%rip), %rdx     # 0xefc7d
leaq 0x7e299(%rip), %rcx     # 0xefbd7
leaq 0x7df2d(%rip), %r8      # 0xef872
movl $0x16f, %r9d            # imm = 0x16F
xorl %eax, %eax
callq 0x34f1f
movq %r12, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x70e38
movq %r12, %rdi
callq 0x71036
movq %r12, %rdi
movq %rbp, %rsi
callq 0x70dfc
movq %r12, %rdi
movq %r15, %rsi
callq 0x70f84
movq %r12, %rdi
movq %rbp, %rsi
callq 0x70dfc
movq %r12, %rdi
movq %r15, %rsi
callq 0x70f43
movq %r15, %rdi
movq %r15, %rsi
callq 0x70d90
movq %r15, %rdi
movq %rbp, %rsi
callq 0x70d90
xorl %r12d, %r12d
movq %rbp, %rdi
callq 0x713d5
movq %r15, %rdi
callq 0x713d5
movq 0x8(%rsp), %rdi
callq 0x713d5
cmpq $0x30, %r14
ja 0x71cfb
incq %r14
testb %r12b, %r12b
jne 0x7143d
jmp 0x71cfb
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x71769(%rip), %rsi     # 0xe3159
leaq 0x7e29d(%rip), %rdx     # 0xefc94
leaq 0x7e1d9(%rip), %rcx     # 0xefbd7
leaq 0x7de6d(%rip), %r8      # 0xef872
movl $0x171, %r9d            # imm = 0x171
xorl %eax, %eax
callq 0x34f1f
jmp 0x71960
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x71734(%rip), %rsi     # 0xe3159
leaq 0x7e28b(%rip), %rdx     # 0xefcb7
leaq 0x7e1a4(%rip), %rcx     # 0xefbd7
leaq 0x7de38(%rip), %r8      # 0xef872
movl $0x176, %r9d            # imm = 0x176
xorl %eax, %eax
callq 0x34f1f
jmp 0x7197e
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x716ff(%rip), %rsi     # 0xe3159
leaq 0x7e272(%rip), %rdx     # 0xefcd3
leaq 0x7e16f(%rip), %rcx     # 0xefbd7
leaq 0x7de03(%rip), %r8      # 0xef872
movl $0x179, %r9d            # imm = 0x179
xorl %eax, %eax
callq 0x34f1f
jmp 0x71989
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x716ca(%rip), %rsi     # 0xe3159
leaq 0x7e1fe(%rip), %rdx     # 0xefc94
leaq 0x7e13a(%rip), %rcx     # 0xefbd7
leaq 0x7ddce(%rip), %r8      # 0xef872
movl $0x17b, %r9d            # imm = 0x17B
xorl %eax, %eax
callq 0x34f1f
jmp 0x71994
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x71695(%rip), %rsi     # 0xe3159
leaq 0x7e1b3(%rip), %rdx     # 0xefc7e
leaq 0x7e105(%rip), %rcx     # 0xefbd7
leaq 0x7dd99(%rip), %r8      # 0xef872
movl $0x17e, %r9d            # imm = 0x17E
jmp 0x716c5
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x71667(%rip), %rsi     # 0xe3159
leaq 0x7e13a(%rip), %rdx     # 0xefc33
leaq 0x7e0d7(%rip), %rcx     # 0xefbd7
leaq 0x7dd6b(%rip), %r8      # 0xef872
movl $0x187, %r9d            # imm = 0x187
jmp 0x71b38
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x7163c(%rip), %rsi     # 0xe3159
leaq 0x7e21d(%rip), %rdx     # 0xefd41
leaq 0x7e0ac(%rip), %rcx     # 0xefbd7
leaq 0x7dd40(%rip), %r8      # 0xef872
movl $0x188, %r9d            # imm = 0x188
xorl %eax, %eax
callq 0x34f1f
movq %r15, %rdi
movq %rbp, %rsi
callq 0x70d90
jmp 0x71ba7
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x715ff(%rip), %rsi     # 0xe3159
leaq 0x7e11c(%rip), %rdx     # 0xefc7d
leaq 0x7e06f(%rip), %rcx     # 0xefbd7
leaq 0x7dd03(%rip), %r8      # 0xef872
movl $0x18b, %r9d            # imm = 0x18B
jmp 0x71ba0
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x715d4(%rip), %rsi     # 0xe3159
leaq 0x7e1e1(%rip), %rdx     # 0xefd6d
leaq 0x7e044(%rip), %rcx     # 0xefbd7
leaq 0x7dcd8(%rip), %r8      # 0xef872
movl $0x18c, %r9d            # imm = 0x18C
xorl %eax, %eax
callq 0x34f1f
movq 0x8(%rsp), %r12
movq %r12, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x70e38
movq %r12, %rdi
callq 0x71036
movq %r12, %rdi
movq %rbp, %rsi
callq 0x70dfc
movq %r12, %rdi
movq %r15, %rsi
callq 0x70f84
movq %r12, %rdi
movq %rbp, %rsi
callq 0x70dfc
movq %r12, %rdi
movq %r15, %rsi
callq 0x70f43
movq %r15, %rdi
movq %r15, %rsi
jmp 0x719a5
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x71552(%rip), %rsi     # 0xe3159
leaq 0x7e086(%rip), %rdx     # 0xefc94
leaq 0x7dfc2(%rip), %rcx     # 0xefbd7
leaq 0x7dc56(%rip), %r8      # 0xef872
movl $0x18e, %r9d            # imm = 0x18E
xorl %eax, %eax
callq 0x34f1f
jmp 0x71bba
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x71520(%rip), %rsi     # 0xe3159
leaq 0x7e077(%rip), %rdx     # 0xefcb7
leaq 0x7df90(%rip), %rcx     # 0xefbd7
leaq 0x7dc24(%rip), %r8      # 0xef872
movl $0x193, %r9d            # imm = 0x193
xorl %eax, %eax
callq 0x34f1f
jmp 0x71bd8
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x714eb(%rip), %rsi     # 0xe3159
leaq 0x7e11f(%rip), %rdx     # 0xefd94
leaq 0x7df5b(%rip), %rcx     # 0xefbd7
leaq 0x7dbef(%rip), %r8      # 0xef872
movl $0x196, %r9d            # imm = 0x196
xorl %eax, %eax
callq 0x34f1f
jmp 0x71be3
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x714b6(%rip), %rsi     # 0xe3159
leaq 0x7dfea(%rip), %rdx     # 0xefc94
leaq 0x7df26(%rip), %rcx     # 0xefbd7
leaq 0x7dbba(%rip), %r8      # 0xef872
movl $0x198, %r9d            # imm = 0x198
xorl %eax, %eax
callq 0x34f1f
jmp 0x71bee
xorl %r12d, %r12d
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0x7147e(%rip), %rsi     # 0xe3159
leaq 0x7df9c(%rip), %rdx     # 0xefc7e
leaq 0x7deee(%rip), %rcx     # 0xefbd7
leaq 0x7db82(%rip), %r8      # 0xef872
movl $0x19b, %r9d            # imm = 0x19B
jmp 0x71669
leaq 0x7e0c0(%rip), %rdi     # 0xefdc2
leaq 0x965e6(%rip), %rsi     # 0x1082ef
leaq 0x7db62(%rip), %rdx     # 0xef872
movl $0x1a4, %ecx            # imm = 0x1A4
callq 0x743ed
movq %rax, %rbx
movl $0x50, %edi
callq 0x70cd4
movq %rax, %r14
xorl %r15d, %r15d
testb $0x1, %r15b
je 0x71d3e
movq %r14, %rdi
movq %r15, %rsi
callq 0x70d40
incq %r15
cmpq $0x50, %r15
jne 0x71d2d
movq %r14, %rdi
movq %rbx, %rsi
callq 0x71295
movq %r14, %rdi
callq 0x713d5
movq %rbx, %rdi
callq 0x74532
movl $0x7d, %edi
callq 0x70cd4
movq %rax, %r14
movq %rax, %rdi
xorl %esi, %esi
callq 0x70d40
movl $0x20, %esi
movq %r14, %rdi
callq 0x70d40
movl $0x40, %esi
movq %r14, %rdi
callq 0x70d40
movl $0x4d, %esi
movq %r14, %rdi
callq 0x70d40
movl $0x60, %esi
movq %r14, %rdi
callq 0x70d40
movl $0x7b, %esi
movq %r14, %rdi
callq 0x70d40
testb %r12b, %r12b
je 0x71ec9
movq %r14, %rdi
callq 0x71242
cmpq $0x6, %rax
jne 0x71e9c
movq %r14, %rdi
callq 0x70fc5
movq %r14, %rdi
callq 0x71242
cmpq $0x6, %rax
jne 0x71ed8
movl $0x1, %esi
movq %r14, %rdi
callq 0x710ce
testb %al, %al
je 0x71f05
movl $0x21, %esi
movq %r14, %rdi
callq 0x710ce
testb %al, %al
je 0x71f32
movl $0x41, %esi
movq %r14, %rdi
callq 0x710ce
testb %al, %al
je 0x71f5c
movl $0x4e, %esi
movq %r14, %rdi
callq 0x710ce
testb %al, %al
je 0x71f86
movl $0x61, %esi
movq %r14, %rdi
callq 0x710ce
testb %al, %al
je 0x71fb0
movl $0x7c, %esi
movq %r14, %rdi
callq 0x710ce
movb $0x1, %bl
testb %al, %al
jne 0x71fdf
leaq 0x712e3(%rip), %rsi     # 0xe3159
leaq 0x7dffb(%rip), %rdx     # 0xefe78
leaq 0x7dd53(%rip), %rcx     # 0xefbd7
leaq 0x7d9e7(%rip), %r8      # 0xef872
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0x1be, %r9d            # imm = 0x1BE
jmp 0x71fd8
leaq 0x712b6(%rip), %rsi     # 0xe3159
leaq 0x7df22(%rip), %rdx     # 0xefdcc
leaq 0x7dd26(%rip), %rcx     # 0xefbd7
leaq 0x7d9ba(%rip), %r8      # 0xef872
movq (%rsp), %rdi
movl $0x1b6, %r9d            # imm = 0x1B6
xorl %eax, %eax
callq 0x34f1f
movq %r14, %rdi
callq 0x70fc5
xorl %ebx, %ebx
jmp 0x71fdf
leaq 0x7127a(%rip), %rsi     # 0xe3159
leaq 0x7dee6(%rip), %rdx     # 0xefdcc
leaq 0x7dcea(%rip), %rcx     # 0xefbd7
leaq 0x7d97e(%rip), %r8      # 0xef872
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0x1b8, %r9d            # imm = 0x1B8
jmp 0x71fd8
leaq 0x7124d(%rip), %rsi     # 0xe3159
leaq 0x7deda(%rip), %rdx     # 0xefded
leaq 0x7dcbd(%rip), %rcx     # 0xefbd7
leaq 0x7d951(%rip), %r8      # 0xef872
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0x1b9, %r9d            # imm = 0x1B9
jmp 0x71fd8
leaq 0x71220(%rip), %rsi     # 0xe3159
leaq 0x7dec8(%rip), %rdx     # 0xefe08
leaq 0x7dc90(%rip), %rcx     # 0xefbd7
leaq 0x7d924(%rip), %r8      # 0xef872
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0x1ba, %r9d            # imm = 0x1BA
jmp 0x71fd8
leaq 0x711f6(%rip), %rsi     # 0xe3159
leaq 0x7deba(%rip), %rdx     # 0xefe24
leaq 0x7dc66(%rip), %rcx     # 0xefbd7
leaq 0x7d8fa(%rip), %r8      # 0xef872
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0x1bb, %r9d            # imm = 0x1BB
jmp 0x71fd8
leaq 0x711cc(%rip), %rsi     # 0xe3159
leaq 0x7deac(%rip), %rdx     # 0xefe40
leaq 0x7dc3c(%rip), %rcx     # 0xefbd7
leaq 0x7d8d0(%rip), %r8      # 0xef872
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0x1bc, %r9d            # imm = 0x1BC
jmp 0x71fd8
leaq 0x711a2(%rip), %rsi     # 0xe3159
leaq 0x7de9e(%rip), %rdx     # 0xefe5c
leaq 0x7dc12(%rip), %rcx     # 0xefbd7
leaq 0x7d8a6(%rip), %r8      # 0xef872
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0x1bd, %r9d            # imm = 0x1BD
xorl %eax, %eax
callq 0x34f1f
movq %r14, %rdi
callq 0x713d5
movl $0x7d, %edi
callq 0x70cd4
movq %rax, %r14
movl $0x1, %esi
movq %rax, %rdi
callq 0x70d40
movl $0x21, %esi
movq %r14, %rdi
callq 0x70d40
movl $0x41, %esi
movq %r14, %rdi
callq 0x70d40
movl $0x4d, %esi
movq %r14, %rdi
callq 0x70d40
movl $0x61, %esi
movq %r14, %rdi
callq 0x70d40
movl $0x7c, %esi
movq %r14, %rdi
callq 0x70d40
testb %bl, %bl
je 0x7214f
movq %r14, %rdi
callq 0x71242
cmpq $0x6, %rax
jne 0x72122
movq %r14, %rdi
callq 0x70ffc
movq %r14, %rdi
callq 0x71242
cmpq $0x6, %rax
movq (%rsp), %rbx
jne 0x7215c
movq %r14, %rdi
xorl %esi, %esi
callq 0x710ce
testb %al, %al
je 0x72186
movl $0x20, %esi
movq %r14, %rdi
callq 0x710ce
testb %al, %al
je 0x721b0
movl $0x40, %esi
movq %r14, %rdi
callq 0x710ce
testb %al, %al
je 0x721d7
movl $0x4c, %esi
movq %r14, %rdi
callq 0x710ce
testb %al, %al
je 0x721fe
movl $0x60, %esi
movq %r14, %rdi
callq 0x710ce
testb %al, %al
je 0x72225
movl $0x7b, %esi
movq %r14, %rdi
callq 0x710ce
xorl %ebx, %ebx
testb %al, %al
jne 0x72256
leaq 0x7105b(%rip), %rsi     # 0xe3159
leaq 0x7de1b(%rip), %rdx     # 0xeff20
leaq 0x7dacb(%rip), %rcx     # 0xefbd7
leaq 0x7d75f(%rip), %r8      # 0xef872
movq (%rsp), %rdi
movl $0x1d1, %r9d            # imm = 0x1D1
jmp 0x7224a
leaq 0x71030(%rip), %rsi     # 0xe3159
leaq 0x7dc9c(%rip), %rdx     # 0xefdcc
leaq 0x7daa0(%rip), %rcx     # 0xefbd7
leaq 0x7d734(%rip), %r8      # 0xef872
movq (%rsp), %rdi
movl $0x1c9, %r9d            # imm = 0x1C9
xorl %eax, %eax
callq 0x34f1f
movq %r14, %rdi
callq 0x70ffc
jmp 0x72251
leaq 0x70ff6(%rip), %rsi     # 0xe3159
leaq 0x7dc62(%rip), %rdx     # 0xefdcc
leaq 0x7da66(%rip), %rcx     # 0xefbd7
leaq 0x7d6fa(%rip), %r8      # 0xef872
movq %rbx, %rdi
movl $0x1cb, %r9d            # imm = 0x1CB
jmp 0x7224a
leaq 0x70fcc(%rip), %rsi     # 0xe3159
leaq 0x7dd01(%rip), %rdx     # 0xefe95
leaq 0x7da3c(%rip), %rcx     # 0xefbd7
leaq 0x7d6d0(%rip), %r8      # 0xef872
movq %rbx, %rdi
movl $0x1cc, %r9d            # imm = 0x1CC
jmp 0x7224a
leaq 0x70fa2(%rip), %rsi     # 0xe3159
leaq 0x7dcf2(%rip), %rdx     # 0xefeb0
leaq 0x7da12(%rip), %rcx     # 0xefbd7
leaq 0x7d6a6(%rip), %r8      # 0xef872
movq %rbx, %rdi
movl $0x1cd, %r9d            # imm = 0x1CD
jmp 0x7224a
leaq 0x70f7b(%rip), %rsi     # 0xe3159
leaq 0x7dce7(%rip), %rdx     # 0xefecc
leaq 0x7d9eb(%rip), %rcx     # 0xefbd7
leaq 0x7d67f(%rip), %r8      # 0xef872
movq %rbx, %rdi
movl $0x1ce, %r9d            # imm = 0x1CE
jmp 0x7224a
leaq 0x70f54(%rip), %rsi     # 0xe3159
leaq 0x7dcdc(%rip), %rdx     # 0xefee8
leaq 0x7d9c4(%rip), %rcx     # 0xefbd7
leaq 0x7d658(%rip), %r8      # 0xef872
movq %rbx, %rdi
movl $0x1cf, %r9d            # imm = 0x1CF
jmp 0x7224a
leaq 0x70f2d(%rip), %rsi     # 0xe3159
leaq 0x7dcd1(%rip), %rdx     # 0xeff04
leaq 0x7d99d(%rip), %rcx     # 0xefbd7
leaq 0x7d631(%rip), %r8      # 0xef872
movq %rbx, %rdi
movl $0x1d0, %r9d            # imm = 0x1D0
xorl %eax, %eax
callq 0x34f1f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq %r14, %rdi
callq 0x713d5
movl %ebx, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x19d70