// File: /workspace/github_c_makefile_star2_O2/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 0x4e34b
movq %rbx, %rdi
callq 0xc103
testb %al, %al
jne 0x4f10f
movq %rbx, 0x8(%rsp)
xorl %eax, %eax
xorl %ebx, %ebx
cmpq $0x31, %rax
ja 0x4ebcf
testl %ebx, %ebx
jne 0x4ebcf
movq %rax, 0x20(%rsp)
movl $0x400, %edi            # imm = 0x400
callq 0x58dd2
movq %rax, 0x18(%rsp)
leaq 0x1(%rax), %rbx
movq %rbx, %rdi
callq 0x4d6a4
movq %rax, %r15
movq %rbx, %rdi
callq 0x4d6a4
movq %rax, %r14
movq %rbx, %rdi
callq 0x4d6a4
movq %rax, %r12
movq %r15, %rdi
callq 0x4df60
movq %rbx, 0x10(%rsp)
cmpq %rbx, %rax
sete %bl
je 0x4e3e2
movq 0x8(%rsp), %rdi
leaq 0x7dd99(%rip), %rsi     # 0xcc159
leaq 0x8a7cc(%rip), %rdx     # 0xd8b93
leaq 0x8a7b1(%rip), %rcx     # 0xd8b7f
leaq 0x8a445(%rip), %r8      # 0xd881a
movl $0x15d, %r9d            # imm = 0x15D
xorl %eax, %eax
callq 0xc007
xorl %r13d, %r13d
cmpq 0x10(%rsp), %r13
jae 0x4e7b9
testb $0x1, %bl
je 0x4e7b9
movq %r15, %rdi
callq 0x4dfa3
movq %rax, %rbx
movq %r13, %rbp
movq %r15, %rdi
callq 0x4e012
cmpq %rax, %rbx
je 0x4e427
movq %r15, %rdi
movq %rbx, %rsi
callq 0x4e055
movq %rax, %rbx
decq %rbp
jmp 0x4e407
testq %rbp, %rbp
je 0x4e455
movq 0x8(%rsp), %rdi
leaq 0x7dd21(%rip), %rsi     # 0xcc159
leaq 0x8a76e(%rip), %rdx     # 0xd8bad
leaq 0x8a739(%rip), %rcx     # 0xd8b7f
leaq 0x8a3cd(%rip), %r8      # 0xd881a
movl $0x166, %r9d            # imm = 0x166
jmp 0x4e4c5
movq %r15, %rdi
callq 0x4e0f8
cmpq %r13, %rax
jne 0x4e49e
movq %r15, %rdi
movq %r13, %rsi
callq 0x4de2d
testb %al, %al
je 0x4e539
movq 0x8(%rsp), %rdi
leaq 0x7dcd8(%rip), %rsi     # 0xcc159
leaq 0x8a753(%rip), %rdx     # 0xd8bdb
leaq 0x8a6f0(%rip), %rcx     # 0xd8b7f
leaq 0x8a384(%rip), %r8      # 0xd881a
movl $0x169, %r9d            # imm = 0x169
jmp 0x4e4c5
movq 0x8(%rsp), %rdi
leaq 0x7dcaf(%rip), %rsi     # 0xcc159
leaq 0x8a709(%rip), %rdx     # 0xd8bba
leaq 0x8a6c7(%rip), %rcx     # 0xd8b7f
leaq 0x8a35b(%rip), %r8      # 0xd881a
movl $0x168, %r9d            # imm = 0x168
xorl %eax, %eax
callq 0xc007
movq %r15, %rdi
movq %r13, %rsi
callq 0x4d737
movq %r14, %rdi
movq %r15, %rsi
callq 0x4d7e3
movq %r12, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x4d8db
movq %r12, %rdi
callq 0x4dd46
movq %r12, %rdi
movq %r15, %rsi
callq 0x4d873
movq %r12, %rdi
movq %r14, %rsi
callq 0x4dbe0
movq %r12, %rdi
movq %r15, %rsi
callq 0x4d873
incq %r13
movq %r12, %rdi
movq %r14, %rsi
callq 0x4db48
movq %r14, %rdi
movq %r14, %rsi
callq 0x4d7e3
xorl %ebx, %ebx
jmp 0x4e3e5
movq %r15, %rdi
movq %r13, %rsi
callq 0x4d737
movq %r15, %rdi
movq %r13, %rsi
callq 0x4de2d
testb %al, %al
je 0x4e5af
movq %r14, %rdi
movq %r15, %rsi
callq 0x4d7e3
movq %r14, %rdi
callq 0x4e0f8
movq 0x18(%rsp), %rcx
subq %r13, %rcx
cmpq %rcx, %rax
jne 0x4e5e2
movq %r15, %rdi
movq %r14, %rsi
callq 0x4dee9
testb %al, %al
je 0x4e615
movq 0x8(%rsp), %rdi
leaq 0x7dbc7(%rip), %rsi     # 0xcc159
leaq 0x8a68c(%rip), %rdx     # 0xd8c25
leaq 0x8a5df(%rip), %rcx     # 0xd8b7f
leaq 0x8a273(%rip), %r8      # 0xd881a
movl $0x16f, %r9d            # imm = 0x16F
jmp 0x4e609
movq 0x8(%rsp), %rdi
leaq 0x7db9e(%rip), %rsi     # 0xcc159
leaq 0x8a61a(%rip), %rdx     # 0xd8bdc
leaq 0x8a5b6(%rip), %rcx     # 0xd8b7f
leaq 0x8a24a(%rip), %r8      # 0xd881a
movl $0x16b, %r9d            # imm = 0x16B
xorl %eax, %eax
callq 0xc007
jmp 0x4e4d7
movq 0x8(%rsp), %rdi
leaq 0x7db6b(%rip), %rsi     # 0xcc159
leaq 0x8a602(%rip), %rdx     # 0xd8bf7
leaq 0x8a583(%rip), %rcx     # 0xd8b7f
leaq 0x8a217(%rip), %r8      # 0xd881a
movl $0x16e, %r9d            # imm = 0x16E
xorl %eax, %eax
callq 0xc007
jmp 0x4e4e2
movq %r12, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x4d8db
movq %r12, %rdi
callq 0x4e0f8
testq %rax, %rax
je 0x4e663
movq 0x8(%rsp), %rdi
leaq 0x7db1d(%rip), %rsi     # 0xcc159
leaq 0x8a5f9(%rip), %rdx     # 0xd8c3c
leaq 0x8a535(%rip), %rcx     # 0xd8b7f
leaq 0x8a1c9(%rip), %r8      # 0xd881a
movl $0x171, %r9d            # imm = 0x171
xorl %eax, %eax
callq 0xc007
jmp 0x4e4f0
movq %r12, %rdi
callq 0x4dd46
movq %r12, %rdi
movq %r15, %rsi
callq 0x4d873
movq %r12, %rdi
movq %r14, %rsi
callq 0x4dbe0
movq %r12, %rdi
callq 0x4df60
cmpq 0x10(%rsp), %rax
jne 0x4e6fe
movq %r12, %rdi
movq %r15, %rsi
callq 0x4d873
movq %r12, %rdi
callq 0x4e0f8
incq %r13
cmpq %r13, %rax
jne 0x4e731
movq %r12, %rdi
movq %r14, %rsi
callq 0x4db48
movq %r12, %rdi
callq 0x4e0f8
testq %rax, %rax
je 0x4e764
movq 0x8(%rsp), %rdi
leaq 0x7da82(%rip), %rsi     # 0xcc159
leaq 0x8a55e(%rip), %rdx     # 0xd8c3c
leaq 0x8a49a(%rip), %rcx     # 0xd8b7f
leaq 0x8a12e(%rip), %r8      # 0xd881a
movl $0x17b, %r9d            # imm = 0x17B
xorl %eax, %eax
callq 0xc007
jmp 0x4e527
movq 0x8(%rsp), %rdi
leaq 0x7da4f(%rip), %rsi     # 0xcc159
leaq 0x8a54e(%rip), %rdx     # 0xd8c5f
leaq 0x8a467(%rip), %rcx     # 0xd8b7f
leaq 0x8a0fb(%rip), %r8      # 0xd881a
movl $0x176, %r9d            # imm = 0x176
xorl %eax, %eax
callq 0xc007
jmp 0x4e50e
movq 0x8(%rsp), %rdi
leaq 0x7da1c(%rip), %rsi     # 0xcc159
leaq 0x8a537(%rip), %rdx     # 0xd8c7b
leaq 0x8a434(%rip), %rcx     # 0xd8b7f
leaq 0x8a0c8(%rip), %r8      # 0xd881a
movl $0x179, %r9d            # imm = 0x179
xorl %eax, %eax
callq 0xc007
jmp 0x4e51c
movq %r14, %rdi
movq %r14, %rsi
callq 0x4d7e3
movq %r15, %rdi
movq %r14, %rsi
callq 0x4dee9
movb $0x1, %bl
testb %al, %al
jne 0x4e3e5
xorl %ebx, %ebx
movq 0x8(%rsp), %rdi
leaq 0x7d9c7(%rip), %rsi     # 0xcc159
leaq 0x8a48d(%rip), %rdx     # 0xd8c26
leaq 0x8a3df(%rip), %rcx     # 0xd8b7f
leaq 0x8a073(%rip), %r8      # 0xd881a
movl $0x17e, %r9d            # imm = 0x17E
xorl %eax, %eax
callq 0xc007
jmp 0x4e3e5
testb $0x1, %bl
je 0x4e84d
movq %r15, %rdi
callq 0x4e0f8
cmpq 0x10(%rsp), %rax
jne 0x4e81f
movq %r14, %rdi
movq %r15, %rsi
callq 0x4d7e3
movq %r14, %rdi
callq 0x4e0f8
testq %rax, %rax
je 0x4ebc6
xorl %ebx, %ebx
movq 0x8(%rsp), %rdi
leaq 0x7d95e(%rip), %rsi     # 0xcc159
leaq 0x8a4c4(%rip), %rdx     # 0xd8cc6
leaq 0x8a376(%rip), %rcx     # 0xd8b7f
leaq 0x8a00a(%rip), %r8      # 0xd881a
movl $0x183, %r9d            # imm = 0x183
xorl %eax, %eax
callq 0xc007
jmp 0x4e85a
movq 0x8(%rsp), %rdi
leaq 0x7d92e(%rip), %rsi     # 0xcc159
leaq 0x8a470(%rip), %rdx     # 0xd8ca2
leaq 0x8a346(%rip), %rcx     # 0xd8b7f
leaq 0x89fda(%rip), %r8      # 0xd881a
movl $0x181, %r9d            # imm = 0x181
xorl %eax, %eax
callq 0xc007
movq %r14, %rdi
movq %r15, %rsi
callq 0x4d7e3
xorl %ebx, %ebx
pushq $-0x1
popq %rcx
xorl %r13d, %r13d
cmpq 0x10(%rsp), %r13
jae 0x4eb9f
testb $0x1, %bl
je 0x4eb9f
movq %r15, %rdi
movq %r13, %rsi
callq 0x4d78d
movq %r15, %rdi
movq %r13, %rsi
callq 0x4de2d
testb %al, %al
je 0x4e8ba
movq 0x8(%rsp), %rdi
leaq 0x7d8bf(%rip), %rsi     # 0xcc159
leaq 0x8a33a(%rip), %rdx     # 0xd8bdb
leaq 0x8a2d7(%rip), %rcx     # 0xd8b7f
leaq 0x89f6b(%rip), %r8      # 0xd881a
movl $0x187, %r9d            # imm = 0x187
jmp 0x4e943
movq %r15, %rdi
callq 0x4e0f8
movq %rax, %rbx
movq 0x18(%rsp), %rax
subq %r13, %rax
cmpq %rax, %rbx
jne 0x4e91c
movq %r14, %rdi
movq %r15, %rsi
callq 0x4d7e3
movq %r15, %rdi
movq %r14, %rsi
callq 0x4dee9
testb %al, %al
je 0x4e9b5
movq 0x8(%rsp), %rdi
leaq 0x7d85d(%rip), %rsi     # 0xcc159
leaq 0x8a322(%rip), %rdx     # 0xd8c25
leaq 0x8a275(%rip), %rcx     # 0xd8b7f
leaq 0x89f09(%rip), %r8      # 0xd881a
movl $0x18b, %r9d            # imm = 0x18B
jmp 0x4ea3b
movq 0x8(%rsp), %rdi
leaq 0x7d831(%rip), %rsi     # 0xcc159
leaq 0x8a3ba(%rip), %rdx     # 0xd8ce9
leaq 0x8a249(%rip), %rcx     # 0xd8b7f
leaq 0x89edd(%rip), %r8      # 0xd881a
movl $0x188, %r9d            # imm = 0x188
xorl %eax, %eax
callq 0xc007
movq %r14, %rdi
movq %r15, %rsi
callq 0x4d7e3
movq %r12, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x4d8db
incq %r13
movq %r13, %rbp
movq %r12, %rdi
callq 0x4dd46
movq %r12, %rdi
movq %r15, %rsi
callq 0x4d873
movq %r12, %rdi
movq %r14, %rsi
callq 0x4dbe0
movq %r12, %rdi
movq %r15, %rsi
callq 0x4d873
movq %r12, %rdi
movq %r14, %rsi
callq 0x4db48
movq %r14, %rdi
movq %r14, %rsi
callq 0x4d7e3
xorl %ebx, %ebx
movq %rbp, %r13
pushq $-0x1
popq %rcx
jmp 0x4e860
movq %r14, %rdi
callq 0x4e0f8
leaq 0x1(%r13), %rbp
cmpq %rbp, %rax
jne 0x4ea14
movq %r12, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x4d8db
movq %r12, %rdi
callq 0x4e0f8
testq %rax, %rax
je 0x4ea47
movq 0x8(%rsp), %rdi
leaq 0x7d76c(%rip), %rsi     # 0xcc159
leaq 0x8a248(%rip), %rdx     # 0xd8c3c
leaq 0x8a184(%rip), %rcx     # 0xd8b7f
leaq 0x89e18(%rip), %r8      # 0xd881a
movl $0x18e, %r9d            # imm = 0x18E
xorl %eax, %eax
callq 0xc007
jmp 0x4e969
movq 0x8(%rsp), %rdi
leaq 0x7d739(%rip), %rsi     # 0xcc159
leaq 0x8a2ee(%rip), %rdx     # 0xd8d15
leaq 0x8a151(%rip), %rcx     # 0xd8b7f
leaq 0x89de5(%rip), %r8      # 0xd881a
movl $0x18c, %r9d            # imm = 0x18C
xorl %eax, %eax
callq 0xc007
jmp 0x4e955
movq %r12, %rdi
callq 0x4dd46
movq %r12, %rdi
movq %r15, %rsi
callq 0x4d873
movq %r12, %rdi
movq %r14, %rsi
callq 0x4dbe0
movq %r12, %rdi
callq 0x4df60
cmpq 0x10(%rsp), %rax
jne 0x4eadf
movq %r12, %rdi
movq %r15, %rsi
callq 0x4d873
movq %r12, %rdi
callq 0x4e0f8
cmpq %rbx, %rax
jne 0x4eb12
movq %r12, %rdi
movq %r14, %rsi
callq 0x4db48
movq %r12, %rdi
callq 0x4e0f8
testq %rax, %rax
je 0x4eb45
movq 0x8(%rsp), %rdi
leaq 0x7d6a1(%rip), %rsi     # 0xcc159
leaq 0x8a17d(%rip), %rdx     # 0xd8c3c
leaq 0x8a0b9(%rip), %rcx     # 0xd8b7f
leaq 0x89d4d(%rip), %r8      # 0xd881a
movl $0x198, %r9d            # imm = 0x198
xorl %eax, %eax
callq 0xc007
jmp 0x4e99d
movq 0x8(%rsp), %rdi
leaq 0x7d66e(%rip), %rsi     # 0xcc159
leaq 0x8a16d(%rip), %rdx     # 0xd8c5f
leaq 0x8a086(%rip), %rcx     # 0xd8b7f
leaq 0x89d1a(%rip), %r8      # 0xd881a
movl $0x193, %r9d            # imm = 0x193
xorl %eax, %eax
callq 0xc007
jmp 0x4e987
movq 0x8(%rsp), %rdi
leaq 0x7d63b(%rip), %rsi     # 0xcc159
leaq 0x8a217(%rip), %rdx     # 0xd8d3c
leaq 0x8a053(%rip), %rcx     # 0xd8b7f
leaq 0x89ce7(%rip), %r8      # 0xd881a
movl $0x196, %r9d            # imm = 0x196
xorl %eax, %eax
callq 0xc007
jmp 0x4e992
movq %r14, %rdi
movq %r14, %rsi
callq 0x4d7e3
movq %r15, %rdi
movq %r14, %rsi
callq 0x4dee9
xorl %ecx, %ecx
movb $0x1, %bl
movq %rbp, %r13
testb %al, %al
jne 0x4e860
xorl %ebx, %ebx
movq 0x8(%rsp), %rdi
leaq 0x7d5e1(%rip), %rsi     # 0xcc159
leaq 0x8a0a7(%rip), %rdx     # 0xd8c26
leaq 0x89ff9(%rip), %rcx     # 0xd8b7f
leaq 0x89c8d(%rip), %r8      # 0xd881a
movl $0x19b, %r9d            # imm = 0x19B
xorl %eax, %eax
callq 0xc007
jmp 0x4e9aa
movq %r15, %rdi
movl %ecx, %ebx
callq 0x4e2ea
movq %r14, %rdi
callq 0x4e2ea
movq %r12, %rdi
callq 0x4e2ea
movq 0x20(%rsp), %rax
incq %rax
jmp 0x4e354
xorl %ecx, %ecx
movb $0x1, %bl
jmp 0x4e85d
leaq 0x8a194(%rip), %rdi     # 0xd8d6a
leaq 0xa29be(%rip), %rsi     # 0xf159b
leaq 0x89c36(%rip), %rdx     # 0xd881a
movl $0x1a4, %ecx            # imm = 0x1A4
callq 0x51a8b
movq %rax, %r12
pushq $0x50
popq %rdi
callq 0x4d6a4
movq %rax, %r14
xorl %r15d, %r15d
cmpq $0x50, %r15
je 0x4ec1b
testb $0x1, %r15b
je 0x4ec16
movq %r14, %rdi
movq %r15, %rsi
callq 0x4d737
incq %r15
jmp 0x4ebff
movq %r14, %rdi
movq %r12, %rsi
callq 0x4e178
movq %r14, %rdi
callq 0x4e2ea
movq %r12, %rdi
callq 0x51cc9
pushq $0x7d
popq %rdi
callq 0x4d6a4
movq %rax, %r14
movq %rax, %rdi
xorl %esi, %esi
callq 0x4d737
pushq $0x20
popq %rsi
movq %r14, %rdi
callq 0x4d737
pushq $0x40
popq %rsi
movq %r14, %rdi
callq 0x4d737
pushq $0x4d
popq %rsi
movq %r14, %rdi
callq 0x4d737
pushq $0x60
popq %rsi
movq %r14, %rdi
callq 0x4d737
pushq $0x7b
popq %rsi
movq %r14, %rdi
callq 0x4d737
testl %ebx, %ebx
movq 0x8(%rsp), %r15
jne 0x4ed83
movq %r14, %rdi
callq 0x4e0f8
cmpq $0x6, %rax
jne 0x4ed57
movq %r14, %rdi
callq 0x4dc78
movq %r14, %rdi
callq 0x4e0f8
cmpq $0x6, %rax
jne 0x4ef16
pushq $0x1
popq %rsi
movq %r14, %rdi
callq 0x4de2d
testb %al, %al
je 0x4ef6c
pushq $0x21
popq %rsi
movq %r14, %rdi
callq 0x4de2d
testb %al, %al
je 0x4efc2
pushq $0x41
popq %rsi
movq %r14, %rdi
callq 0x4de2d
testb %al, %al
je 0x4f018
pushq $0x4e
popq %rsi
movq %r14, %rdi
callq 0x4de2d
testb %al, %al
je 0x4f06b
pushq $0x61
popq %rsi
movq %r14, %rdi
callq 0x4de2d
testb %al, %al
je 0x4f0dc
pushq $0x7c
popq %rsi
movq %r14, %rdi
callq 0x4de2d
movb $0x1, %bl
testb %al, %al
jne 0x4ed8d
leaq 0x7d427(%rip), %rsi     # 0xcc159
leaq 0x8a0e7(%rip), %rdx     # 0xd8e20
leaq 0x89e3f(%rip), %rcx     # 0xd8b7f
leaq 0x89ad3(%rip), %r8      # 0xd881a
xorl %ebx, %ebx
movq %r15, %rdi
movl $0x1be, %r9d            # imm = 0x1BE
jmp 0x4f103
leaq 0x7d3fb(%rip), %rsi     # 0xcc159
leaq 0x8a00f(%rip), %rdx     # 0xd8d74
leaq 0x89e13(%rip), %rcx     # 0xd8b7f
leaq 0x89aa7(%rip), %r8      # 0xd881a
movq %r15, %rdi
movl $0x1b6, %r9d            # imm = 0x1B6
xorl %eax, %eax
callq 0xc007
movq %r14, %rdi
callq 0x4dc78
xorl %ebx, %ebx
movq %r14, %rdi
callq 0x4e2ea
pushq $0x7d
popq %rdi
callq 0x4d6a4
movq %rax, %r14
pushq $0x1
popq %rsi
movq %rax, %rdi
callq 0x4d737
pushq $0x21
popq %rsi
movq %r14, %rdi
callq 0x4d737
pushq $0x41
popq %rsi
movq %r14, %rdi
callq 0x4d737
pushq $0x4d
popq %rsi
movq %r14, %rdi
callq 0x4d737
pushq $0x61
popq %rsi
movq %r14, %rdi
callq 0x4d737
pushq $0x7c
popq %rsi
movq %r14, %rdi
callq 0x4d737
testb %bl, %bl
je 0x4eedf
movq %r14, %rdi
callq 0x4e0f8
cmpq $0x6, %rax
jne 0x4eeb3
movq %r14, %rdi
callq 0x4dcdd
movq %r14, %rdi
callq 0x4e0f8
cmpq $0x6, %rax
jne 0x4eeec
movq %r14, %rdi
xorl %esi, %esi
callq 0x4de2d
testb %al, %al
je 0x4ef42
pushq $0x20
popq %rsi
movq %r14, %rdi
callq 0x4de2d
testb %al, %al
je 0x4ef98
pushq $0x40
popq %rsi
movq %r14, %rdi
callq 0x4de2d
testb %al, %al
je 0x4efee
pushq $0x4c
popq %rsi
movq %r14, %rdi
callq 0x4de2d
testb %al, %al
je 0x4f044
pushq $0x60
popq %rsi
movq %r14, %rdi
callq 0x4de2d
testb %al, %al
je 0x4f094
pushq $0x7b
popq %rsi
movq %r14, %rdi
callq 0x4de2d
xorl %ebx, %ebx
testb %al, %al
jne 0x4f0c3
leaq 0x7d2c9(%rip), %rsi     # 0xcc159
leaq 0x8a031(%rip), %rdx     # 0xd8ec8
leaq 0x89ce1(%rip), %rcx     # 0xd8b7f
leaq 0x89975(%rip), %r8      # 0xd881a
movq %r15, %rdi
movl $0x1d1, %r9d            # imm = 0x1D1
jmp 0x4f0b9
leaq 0x7d29f(%rip), %rsi     # 0xcc159
leaq 0x89eb3(%rip), %rdx     # 0xd8d74
leaq 0x89cb7(%rip), %rcx     # 0xd8b7f
leaq 0x8994b(%rip), %r8      # 0xd881a
movq %r15, %rdi
movl $0x1c9, %r9d            # imm = 0x1C9
xorl %eax, %eax
callq 0xc007
movq %r14, %rdi
callq 0x4dcdd
jmp 0x4f0c0
leaq 0x7d266(%rip), %rsi     # 0xcc159
leaq 0x89e7a(%rip), %rdx     # 0xd8d74
leaq 0x89c7e(%rip), %rcx     # 0xd8b7f
leaq 0x89912(%rip), %r8      # 0xd881a
movq %r15, %rdi
movl $0x1cb, %r9d            # imm = 0x1CB
jmp 0x4f0b9
leaq 0x7d23c(%rip), %rsi     # 0xcc159
leaq 0x89e50(%rip), %rdx     # 0xd8d74
leaq 0x89c54(%rip), %rcx     # 0xd8b7f
leaq 0x898e8(%rip), %r8      # 0xd881a
xorl %ebx, %ebx
movq %r15, %rdi
movl $0x1b8, %r9d            # imm = 0x1B8
jmp 0x4f103
leaq 0x7d210(%rip), %rsi     # 0xcc159
leaq 0x89eed(%rip), %rdx     # 0xd8e3d
leaq 0x89c28(%rip), %rcx     # 0xd8b7f
leaq 0x898bc(%rip), %r8      # 0xd881a
movq %r15, %rdi
movl $0x1cc, %r9d            # imm = 0x1CC
jmp 0x4f0b9
leaq 0x7d1e6(%rip), %rsi     # 0xcc159
leaq 0x89e1b(%rip), %rdx     # 0xd8d95
leaq 0x89bfe(%rip), %rcx     # 0xd8b7f
leaq 0x89892(%rip), %r8      # 0xd881a
xorl %ebx, %ebx
movq %r15, %rdi
movl $0x1b9, %r9d            # imm = 0x1B9
jmp 0x4f103
leaq 0x7d1ba(%rip), %rsi     # 0xcc159
leaq 0x89eb2(%rip), %rdx     # 0xd8e58
leaq 0x89bd2(%rip), %rcx     # 0xd8b7f
leaq 0x89866(%rip), %r8      # 0xd881a
movq %r15, %rdi
movl $0x1cd, %r9d            # imm = 0x1CD
jmp 0x4f0b9
leaq 0x7d190(%rip), %rsi     # 0xcc159
leaq 0x89de0(%rip), %rdx     # 0xd8db0
leaq 0x89ba8(%rip), %rcx     # 0xd8b7f
leaq 0x8983c(%rip), %r8      # 0xd881a
xorl %ebx, %ebx
movq %r15, %rdi
movl $0x1ba, %r9d            # imm = 0x1BA
jmp 0x4f103
leaq 0x7d164(%rip), %rsi     # 0xcc159
leaq 0x89e78(%rip), %rdx     # 0xd8e74
leaq 0x89b7c(%rip), %rcx     # 0xd8b7f
leaq 0x89810(%rip), %r8      # 0xd881a
movq %r15, %rdi
movl $0x1ce, %r9d            # imm = 0x1CE
jmp 0x4f0b9
leaq 0x7d13a(%rip), %rsi     # 0xcc159
leaq 0x89da6(%rip), %rdx     # 0xd8dcc
leaq 0x89b52(%rip), %rcx     # 0xd8b7f
leaq 0x897e6(%rip), %r8      # 0xd881a
xorl %ebx, %ebx
movq %r15, %rdi
movl $0x1bb, %r9d            # imm = 0x1BB
jmp 0x4f103
leaq 0x7d10e(%rip), %rsi     # 0xcc159
leaq 0x89e3e(%rip), %rdx     # 0xd8e90
leaq 0x89b26(%rip), %rcx     # 0xd8b7f
leaq 0x897ba(%rip), %r8      # 0xd881a
movq %r15, %rdi
movl $0x1cf, %r9d            # imm = 0x1CF
jmp 0x4f0b9
leaq 0x7d0e7(%rip), %rsi     # 0xcc159
leaq 0x89d6f(%rip), %rdx     # 0xd8de8
leaq 0x89aff(%rip), %rcx     # 0xd8b7f
leaq 0x89793(%rip), %r8      # 0xd881a
xorl %ebx, %ebx
movq %r15, %rdi
movl $0x1bc, %r9d            # imm = 0x1BC
jmp 0x4f103
leaq 0x7d0be(%rip), %rsi     # 0xcc159
leaq 0x89e0a(%rip), %rdx     # 0xd8eac
leaq 0x89ad6(%rip), %rcx     # 0xd8b7f
leaq 0x8976a(%rip), %r8      # 0xd881a
movq %r15, %rdi
movl $0x1d0, %r9d            # imm = 0x1D0
xorl %eax, %eax
callq 0xc007
pushq $-0x1
popq %rbx
movq %r14, %rdi
callq 0x4e2ea
movl %ebx, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x7d076(%rip), %rsi     # 0xcc159
leaq 0x89d1a(%rip), %rdx     # 0xd8e04
leaq 0x89a8e(%rip), %rcx     # 0xd8b7f
leaq 0x89722(%rip), %r8      # 0xd881a
xorl %ebx, %ebx
movq %r15, %rdi
movl $0x1bd, %r9d            # imm = 0x1BD
xorl %eax, %eax
callq 0xc007
jmp 0x4ed8d
movq 0xdeea2(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x7af46(%rip), %rsi     # 0xca066
leaq 0x7b532(%rip), %rdx     # 0xca659
leaq 0x89a51(%rip), %rcx     # 0xd8b7f
leaq 0x896e5(%rip), %r8      # 0xd881a
movl $0x156, %r9d            # imm = 0x156
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
nop