// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/extended/tag_value_map.c
// Function: gt_tag_value_map_unit_test
int gt_tag_value_map_unit_test(GtError *err)
{
  GtTagValueMap map;
  int had_err = 0;

  gt_error_check(err);

  /* test gt_tag_value_map_set() (new tags are shorter than old tags) */
  map = create_filled_tag_value_list();
  gt_ensure(gt_tag_value_map_size(map) == 3);
  gt_tag_value_map_set(&map, "tag 1", "val X");
  gt_tag_value_map_set(&map, "tag 2", "val Y");
  gt_tag_value_map_set(&map, "tag 3", "val Z");
  gt_ensure(!gt_tag_value_map_get(map, "unused tag"));
  gt_assert(!gt_tag_value_map_get(map, "value X"));
  gt_assert(!gt_tag_value_map_get(map, "value Y"));
  gt_assert(!gt_tag_value_map_get(map, "value Z"));
  gt_ensure(!strcmp(gt_tag_value_map_get(map, "tag 1"), "val X"));
  gt_ensure(!strcmp(gt_tag_value_map_get(map, "tag 2"), "val Y"));
  gt_ensure(!strcmp(gt_tag_value_map_get(map, "tag 3"), "val Z"));
  gt_tag_value_map_delete(map);

  /* test gt_tag_value_map_set() (new tags have same length) */
  if (!had_err) {
    map = create_filled_tag_value_list();
    gt_tag_value_map_set(&map, "tag 1", "value X");
    gt_tag_value_map_set(&map, "tag 2", "value Y");
    gt_tag_value_map_set(&map, "tag 3", "value Z");
    gt_ensure(!gt_tag_value_map_get(map, "unused tag"));
    gt_assert(!gt_tag_value_map_get(map, "value X"));
    gt_assert(!gt_tag_value_map_get(map, "value Y"));
    gt_assert(!gt_tag_value_map_get(map, "value Z"));
    gt_ensure(!strcmp(gt_tag_value_map_get(map, "tag 1"), "value X"));
    gt_ensure(!strcmp(gt_tag_value_map_get(map, "tag 2"), "value Y"));
    gt_ensure(!strcmp(gt_tag_value_map_get(map, "tag 3"), "value Z"));
    gt_tag_value_map_delete(map);
  }

  /* test gt_tag_value_map_set() (new tags are longer than old tags) */
  if (!had_err) {
    map = create_filled_tag_value_list();
    gt_tag_value_map_set(&map, "tag 1", "value XXX");
    gt_tag_value_map_set(&map, "tag 2", "value YYY");
    gt_tag_value_map_set(&map, "tag 3", "value ZZZ");
    gt_ensure(!gt_tag_value_map_get(map, "unused tag"));
    gt_assert(!gt_tag_value_map_get(map, "value XXX"));
    gt_assert(!gt_tag_value_map_get(map, "value YYY"));
    gt_assert(!gt_tag_value_map_get(map, "value ZZZ"));
    gt_ensure(
              !strcmp(gt_tag_value_map_get(map, "tag 1"), "value XXX"));
    gt_ensure(
              !strcmp(gt_tag_value_map_get(map, "tag 2"), "value YYY"));
    gt_ensure(
              !strcmp(gt_tag_value_map_get(map, "tag 3"), "value ZZZ"));
    gt_tag_value_map_delete(map);
  }

  /* test gt_tag_value_map_remove() (remove first tag)*/
  if (!had_err) {
    size_t old_map_len, new_map_len;
    map = create_filled_tag_value_list();
    gt_tag_value_map_set(&map, "tag 1", "value XXX");
    gt_tag_value_map_set(&map, "tag 2", "value YYY");
    gt_tag_value_map_set(&map, "tag 3", "value ZZZ");
    old_map_len = get_map_len(map);
    gt_tag_value_map_remove(&map, "tag 1");
    gt_assert(!gt_tag_value_map_get(map, "tag 1"));
    gt_ensure(gt_tag_value_map_size(map) == 2);
    new_map_len = get_map_len(map);
    gt_ensure(!gt_tag_value_map_get(map, "unused tag"));
    gt_ensure(!(old_map_len - new_map_len - strlen("tag 1") - 1
                     - strlen("value XXX") -1));
    gt_tag_value_map_delete(map);
  }

  /* test gt_tag_value_map_remove() (remove middle tag)*/
  if (!had_err) {
    size_t old_map_len, new_map_len;
    map = create_filled_tag_value_list();
    gt_tag_value_map_set(&map, "tag 1", "value XXX");
    gt_tag_value_map_set(&map, "tag 2", "value YYY");
    gt_tag_value_map_set(&map, "tag 3", "value ZZZ");
    old_map_len = get_map_len(map);
    gt_tag_value_map_remove(&map, "tag 2");
    gt_assert(!gt_tag_value_map_get(map, "tag 2"));
    gt_ensure(gt_tag_value_map_size(map) == 2);
    new_map_len = get_map_len(map);
    gt_ensure(!gt_tag_value_map_get(map, "unused tag"));
    gt_ensure(!(old_map_len - new_map_len - strlen("tag 2") - 1
                     - strlen("value YYY") -1));
    gt_tag_value_map_delete(map);
  }

  /* test gt_tag_value_map_remove() (remove last tag)*/
  if (!had_err) {
    size_t old_map_len, new_map_len;
    map = create_filled_tag_value_list();
    gt_tag_value_map_set(&map, "tag 1", "value XXX");
    gt_tag_value_map_set(&map, "tag 2", "value YYY");
    gt_tag_value_map_set(&map, "tag 3", "value ZZZ");
    old_map_len = get_map_len(map);
    gt_tag_value_map_remove(&map, "tag 3");
    gt_assert(!gt_tag_value_map_get(map, "tag 3"));
    gt_ensure(gt_tag_value_map_size(map) == 2);
    new_map_len = get_map_len(map);
    gt_ensure(!gt_tag_value_map_get(map, "unused tag"));
    gt_ensure(!(old_map_len - new_map_len - strlen("tag 3") - 1
                     - strlen("value ZZZ") -1));
    gt_tag_value_map_delete(map);
  }

  /* test gt_tag_value_map_get_value() (value == tag bug) */
  if (!had_err) {
    GtTagValueMap map = gt_tag_value_map_new("tag 1", "foo");
    gt_tag_value_map_add(&map, "tag 2", "bar");
    gt_ensure(!strcmp(gt_tag_value_map_get(map, "tag 1"), "foo"));
    gt_ensure(!strcmp(gt_tag_value_map_get(map, "tag 2"), "bar"));
    gt_ensure(!gt_tag_value_map_get(map, "bar"));
    gt_ensure(!gt_tag_value_map_get(map, "foo"));
    gt_tag_value_map_delete(map);
  }

  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
testq %rdi, %rdi
je 0x4a0ac
movq %rbx, %rdi
callq 0x34fea
testb %al, %al
jne 0x4aa12
callq 0x4ad8a
movq %rax, 0x8(%rsp)
movq %rax, %rdi
callq 0x49e85
cmpq $0x3, %rax
jne 0x4a157
leaq 0x9f5cd(%rip), %rsi     # 0xe969c
leaq 0x9f704(%rip), %rdx     # 0xe97da
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x49c80
leaq 0x9f5c0(%rip), %rsi     # 0xe96aa
leaq 0x9f6ef(%rip), %rdx     # 0xe97e0
movq %r14, %rdi
callq 0x49c80
leaq 0x9f5b8(%rip), %rsi     # 0xe96b8
leaq 0x9f6df(%rip), %rdx     # 0xe97e6
movq %r14, %rdi
callq 0x49c80
movq (%r14), %rdi
leaq 0x9f5ad(%rip), %rsi     # 0xe96c6
callq 0x49e69
testq %rax, %rax
je 0x4a1ce
leaq 0x9902b(%rip), %rsi     # 0xe3159
leaq 0x9f59c(%rip), %rdx     # 0xe96d1
leaq 0x9f663(%rip), %rcx     # 0xe979f
leaq 0x9f34b(%rip), %r8      # 0xe948e
xorl %ebp, %ebp
movq %rbx, %rdi
movl $0x126, %r9d            # imm = 0x126
xorl %eax, %eax
callq 0x34f1f
jmp 0x4a1d1
leaq 0x98ffb(%rip), %rsi     # 0xe3159
leaq 0x9f655(%rip), %rdx     # 0xe97ba
leaq 0x9f633(%rip), %rcx     # 0xe979f
leaq 0x9f31b(%rip), %r8      # 0xe948e
xorl %ebp, %ebp
movq %rbx, %rdi
movl $0x122, %r9d            # imm = 0x122
xorl %eax, %eax
callq 0x34f1f
leaq 0x9f510(%rip), %rsi     # 0xe969c
leaq 0x9f647(%rip), %rdx     # 0xe97da
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x49c80
leaq 0x9f503(%rip), %rsi     # 0xe96aa
leaq 0x9f632(%rip), %rdx     # 0xe97e0
movq %r14, %rdi
callq 0x49c80
leaq 0x9f4fb(%rip), %rsi     # 0xe96b8
leaq 0x9f622(%rip), %rdx     # 0xe97e6
movq %r14, %rdi
callq 0x49c80
jmp 0x4a1d1
movb $0x1, %bpl
movq 0x8(%rsp), %rdi
leaq 0x9f60f(%rip), %rsi     # 0xe97ec
callq 0x49e69
testq %rax, %rax
jne 0x4aa03
movq 0x8(%rsp), %rdi
leaq 0x9f623(%rip), %rsi     # 0xe981a
callq 0x49e69
testq %rax, %rax
jne 0x4aa08
movq 0x8(%rsp), %rdi
leaq 0x9f637(%rip), %rsi     # 0xe9848
callq 0x49e69
testq %rax, %rax
jne 0x4aa0d
testb %bpl, %bpl
je 0x4a311
movq 0x8(%rsp), %rdi
leaq 0x9f468(%rip), %rsi     # 0xe969c
callq 0x49e69
leaq 0x9f59a(%rip), %rsi     # 0xe97da
movq %rax, %rdi
callq 0xb890
testl %eax, %eax
je 0x4a276
leaq 0x98f06(%rip), %rsi     # 0xe3159
leaq 0x9f61c(%rip), %rdx     # 0xe9876
leaq 0x9f53e(%rip), %rcx     # 0xe979f
leaq 0x9f226(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x12a, %r9d            # imm = 0x12A
jmp 0x4a30a
movq 0x8(%rsp), %rdi
leaq 0x9f428(%rip), %rsi     # 0xe96aa
callq 0x49e69
leaq 0x9f552(%rip), %rsi     # 0xe97e0
movq %rax, %rdi
callq 0xb890
testl %eax, %eax
je 0x4a2c1
leaq 0x98eb8(%rip), %rsi     # 0xe3159
leaq 0x9f603(%rip), %rdx     # 0xe98ab
leaq 0x9f4f0(%rip), %rcx     # 0xe979f
leaq 0x9f1d8(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x12b, %r9d            # imm = 0x12B
jmp 0x4a30a
movq 0x8(%rsp), %rdi
leaq 0x9f3eb(%rip), %rsi     # 0xe96b8
callq 0x49e69
leaq 0x9f50d(%rip), %rsi     # 0xe97e6
movq %rax, %rdi
callq 0xb890
testl %eax, %eax
je 0x4a342
leaq 0x98e6d(%rip), %rsi     # 0xe3159
leaq 0x9f5ed(%rip), %rdx     # 0xe98e0
leaq 0x9f4a5(%rip), %rcx     # 0xe979f
leaq 0x9f18d(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x12c, %r9d            # imm = 0x12C
xorl %eax, %eax
callq 0x34f1f
movq 0x8(%rsp), %rdi
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
testq %rdi, %rdi
je 0x4a331
leaq 0x9f167(%rip), %rsi     # 0xe948e
movl $0x199, %edx            # imm = 0x199
callq 0x35c27
movl %ebx, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x4a35d
leaq 0x9f13b(%rip), %rsi     # 0xe948e
movl $0x199, %edx            # imm = 0x199
callq 0x35c27
callq 0x4ad8a
leaq 0x8(%rsp), %r14
movq %rax, (%r14)
leaq 0x9f32b(%rip), %rsi     # 0xe969c
leaq 0x9f474(%rip), %rdx     # 0xe97ec
movq %r14, %rdi
callq 0x49c80
leaq 0x9f323(%rip), %rsi     # 0xe96aa
leaq 0x9f48c(%rip), %rdx     # 0xe981a
movq %r14, %rdi
callq 0x49c80
leaq 0x9f31b(%rip), %rsi     # 0xe96b8
leaq 0x9f4a4(%rip), %rdx     # 0xe9848
movq %r14, %rdi
callq 0x49c80
movq (%r14), %rdi
leaq 0x9f310(%rip), %rsi     # 0xe96c6
callq 0x49e69
movq %rax, %r14
testq %rax, %rax
je 0x4a3ef
leaq 0x98d8f(%rip), %rsi     # 0xe3159
leaq 0x9f300(%rip), %rdx     # 0xe96d1
leaq 0x9f3c7(%rip), %rcx     # 0xe979f
leaq 0x9f0af(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x135, %r9d            # imm = 0x135
xorl %eax, %eax
callq 0x34f1f
movq 0x8(%rsp), %rdi
leaq 0x9f3f1(%rip), %rsi     # 0xe97ec
callq 0x49e69
testq %rax, %rax
jne 0x4aba8
movq 0x8(%rsp), %rdi
leaq 0x9f405(%rip), %rsi     # 0xe981a
callq 0x49e69
testq %rax, %rax
jne 0x4abad
movq 0x8(%rsp), %rdi
leaq 0x9f419(%rip), %rsi     # 0xe9848
callq 0x49e69
testq %rax, %rax
jne 0x4abb2
testq %r14, %r14
jne 0x4a311
movq 0x8(%rsp), %rdi
leaq 0x9f24a(%rip), %rsi     # 0xe969c
callq 0x49e69
leaq 0x9f38e(%rip), %rsi     # 0xe97ec
movq %rax, %rdi
callq 0xb890
testl %eax, %eax
je 0x4a494
leaq 0x98ce8(%rip), %rsi     # 0xe3159
leaq 0x9f49d(%rip), %rdx     # 0xe9915
leaq 0x9f320(%rip), %rcx     # 0xe979f
leaq 0x9f008(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x139, %r9d            # imm = 0x139
jmp 0x4a30a
movq 0x8(%rsp), %rdi
leaq 0x9f20a(%rip), %rsi     # 0xe96aa
callq 0x49e69
leaq 0x9f36e(%rip), %rsi     # 0xe981a
movq %rax, %rdi
callq 0xb890
testl %eax, %eax
je 0x4a4e2
leaq 0x98c9a(%rip), %rsi     # 0xe3159
leaq 0x9f486(%rip), %rdx     # 0xe994c
leaq 0x9f2d2(%rip), %rcx     # 0xe979f
leaq 0x9efba(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x13a, %r9d            # imm = 0x13A
jmp 0x4a30a
movq 0x8(%rsp), %rdi
leaq 0x9f1ca(%rip), %rsi     # 0xe96b8
callq 0x49e69
leaq 0x9f34e(%rip), %rsi     # 0xe9848
movq %rax, %rdi
callq 0xb890
testl %eax, %eax
je 0x4a530
leaq 0x98c4c(%rip), %rsi     # 0xe3159
leaq 0x9f46f(%rip), %rdx     # 0xe9983
leaq 0x9f284(%rip), %rcx     # 0xe979f
leaq 0x9ef6c(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x13b, %r9d            # imm = 0x13B
jmp 0x4a30a
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x4a54b
leaq 0x9ef4d(%rip), %rsi     # 0xe948e
movl $0x199, %edx            # imm = 0x199
callq 0x35c27
callq 0x4ad8a
leaq 0x8(%rsp), %r14
movq %rax, (%r14)
leaq 0x9f13d(%rip), %rsi     # 0xe969c
leaq 0x9f454(%rip), %rdx     # 0xe99ba
movq %r14, %rdi
callq 0x49c80
leaq 0x9f135(%rip), %rsi     # 0xe96aa
leaq 0x9f448(%rip), %rdx     # 0xe99c4
movq %r14, %rdi
callq 0x49c80
leaq 0x9f12d(%rip), %rsi     # 0xe96b8
leaq 0x9f43c(%rip), %rdx     # 0xe99ce
movq %r14, %rdi
callq 0x49c80
movq (%r14), %rdi
leaq 0x9f122(%rip), %rsi     # 0xe96c6
callq 0x49e69
movq %rax, %r14
testq %rax, %rax
je 0x4a5dd
leaq 0x98ba1(%rip), %rsi     # 0xe3159
leaq 0x9f112(%rip), %rdx     # 0xe96d1
leaq 0x9f1d9(%rip), %rcx     # 0xe979f
leaq 0x9eec1(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x145, %r9d            # imm = 0x145
xorl %eax, %eax
callq 0x34f1f
movq 0x8(%rsp), %rdi
leaq 0x9f3d1(%rip), %rsi     # 0xe99ba
callq 0x49e69
testq %rax, %rax
jne 0x4ad17
movq 0x8(%rsp), %rdi
leaq 0x9f3c1(%rip), %rsi     # 0xe99c4
callq 0x49e69
testq %rax, %rax
jne 0x4ad1c
movq 0x8(%rsp), %rdi
leaq 0x9f3b1(%rip), %rsi     # 0xe99ce
callq 0x49e69
testq %rax, %rax
jne 0x4ad21
testq %r14, %r14
jne 0x4a311
movq 0x8(%rsp), %rdi
leaq 0x9f05c(%rip), %rsi     # 0xe969c
callq 0x49e69
leaq 0x9f36e(%rip), %rsi     # 0xe99ba
movq %rax, %rdi
callq 0xb890
testl %eax, %eax
je 0x4a682
leaq 0x98afa(%rip), %rsi     # 0xe3159
leaq 0x9f3ea(%rip), %rdx     # 0xe9a50
leaq 0x9f132(%rip), %rcx     # 0xe979f
leaq 0x9ee1a(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x14a, %r9d            # imm = 0x14A
jmp 0x4a30a
movq 0x8(%rsp), %rdi
leaq 0x9f01c(%rip), %rsi     # 0xe96aa
callq 0x49e69
leaq 0x9f32a(%rip), %rsi     # 0xe99c4
movq %rax, %rdi
callq 0xb890
testl %eax, %eax
je 0x4a6d0
leaq 0x98aac(%rip), %rsi     # 0xe3159
leaq 0x9f3d5(%rip), %rdx     # 0xe9a89
leaq 0x9f0e4(%rip), %rcx     # 0xe979f
leaq 0x9edcc(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x14c, %r9d            # imm = 0x14C
jmp 0x4a30a
movq 0x8(%rsp), %rdi
leaq 0x9efdc(%rip), %rsi     # 0xe96b8
callq 0x49e69
leaq 0x9f2e6(%rip), %rsi     # 0xe99ce
movq %rax, %rdi
callq 0xb890
testl %eax, %eax
je 0x4a71e
leaq 0x98a5e(%rip), %rsi     # 0xe3159
leaq 0x9f3c0(%rip), %rdx     # 0xe9ac2
leaq 0x9f096(%rip), %rcx     # 0xe979f
leaq 0x9ed7e(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x14e, %r9d            # imm = 0x14E
jmp 0x4a30a
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x4a739
leaq 0x9ed5f(%rip), %rsi     # 0xe948e
movl $0x199, %edx            # imm = 0x199
callq 0x35c27
callq 0x4ad8a
leaq 0x8(%rsp), %r14
movq %rax, (%r14)
leaq 0x9ef4f(%rip), %rsi     # 0xe969c
leaq 0x9f266(%rip), %rdx     # 0xe99ba
movq %r14, %rdi
callq 0x49c80
leaq 0x9ef47(%rip), %rsi     # 0xe96aa
leaq 0x9f25a(%rip), %rdx     # 0xe99c4
movq %r14, %rdi
callq 0x49c80
leaq 0x9ef3f(%rip), %rsi     # 0xe96b8
leaq 0x9f24e(%rip), %rdx     # 0xe99ce
movq %r14, %rdi
callq 0x49c80
movq (%r14), %r12
movq %r12, %r13
movq %r13, %rax
incq %r13
cmpb $0x0, (%rax)
jne 0x4a78e
leaq 0x2(%rax), %r13
cmpb $0x0, 0x1(%rax)
jne 0x4a78e
leaq 0x9eef2(%rip), %r14     # 0xe969c
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x49b5d
movq (%r15), %rdi
movq %r14, %rsi
callq 0x49e69
testq %rax, %rax
jne 0x4ad7b
movq 0x8(%rsp), %rdi
callq 0x49e85
movq %rax, %r14
cmpq $0x2, %rax
je 0x4a80d
leaq 0x98971(%rip), %rsi     # 0xe3159
leaq 0x9f330(%rip), %rdx     # 0xe9b1f
leaq 0x9efa9(%rip), %rcx     # 0xe979f
leaq 0x9ec91(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x15c, %r9d            # imm = 0x15C
xorl %eax, %eax
callq 0x34f1f
movq 0x8(%rsp), %r15
movq %r15, %rbp
movq %rbp, %rax
incq %rbp
cmpb $0x0, (%rax)
jne 0x4a815
leaq 0x2(%rax), %rbp
cmpb $0x0, 0x1(%rax)
jne 0x4a815
cmpq $0x2, %r14
jne 0x4a311
leaq 0x9ee8b(%rip), %rsi     # 0xe96c6
movq %r15, %rdi
callq 0x49e69
testq %rax, %rax
je 0x4a872
leaq 0x9890a(%rip), %rsi     # 0xe3159
leaq 0x9ee7b(%rip), %rdx     # 0xe96d1
leaq 0x9ef42(%rip), %rcx     # 0xe979f
leaq 0x9ec2a(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x15e, %r9d            # imm = 0x15E
jmp 0x4a30a
addq %r15, %r13
addq %rbp, %r12
subq %r12, %r13
cmpq $0x10, %r13
jne 0x4a9d9
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x4a8a0
leaq 0x9ebf8(%rip), %rsi     # 0xe948e
movl $0x199, %edx            # imm = 0x199
callq 0x35c27
callq 0x4ad8a
leaq 0x8(%rsp), %r14
movq %rax, (%r14)
leaq 0x9ede8(%rip), %rsi     # 0xe969c
leaq 0x9f0ff(%rip), %rdx     # 0xe99ba
movq %r14, %rdi
callq 0x49c80
leaq 0x9ede0(%rip), %rsi     # 0xe96aa
leaq 0x9f0f3(%rip), %rdx     # 0xe99c4
movq %r14, %rdi
callq 0x49c80
leaq 0x9edd8(%rip), %rsi     # 0xe96b8
leaq 0x9f0e7(%rip), %rdx     # 0xe99ce
movq %r14, %rdi
callq 0x49c80
movq (%r14), %r12
movq %r12, %r13
movq %r13, %rax
incq %r13
cmpb $0x0, (%rax)
jne 0x4a8f5
leaq 0x2(%rax), %r13
cmpb $0x0, 0x1(%rax)
jne 0x4a8f5
leaq 0x9ed99(%rip), %r14     # 0xe96aa
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x49b5d
movq (%r15), %rdi
movq %r14, %rsi
callq 0x49e69
testq %rax, %rax
jne 0x4ad80
movq 0x8(%rsp), %rdi
callq 0x49e85
movq %rax, %r14
cmpq $0x2, %rax
je 0x4a974
leaq 0x9880a(%rip), %rsi     # 0xe3159
leaq 0x9f1c9(%rip), %rdx     # 0xe9b1f
leaq 0x9ee42(%rip), %rcx     # 0xe979f
leaq 0x9eb2a(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x16e, %r9d            # imm = 0x16E
xorl %eax, %eax
callq 0x34f1f
movq 0x8(%rsp), %r15
movq %r15, %rbp
movq %rbp, %rax
incq %rbp
cmpb $0x0, (%rax)
jne 0x4a97c
leaq 0x2(%rax), %rbp
cmpb $0x0, 0x1(%rax)
jne 0x4a97c
cmpq $0x2, %r14
jne 0x4a311
leaq 0x9ed24(%rip), %rsi     # 0xe96c6
movq %r15, %rdi
callq 0x49e69
testq %rax, %rax
je 0x4aa17
leaq 0x987a3(%rip), %rsi     # 0xe3159
leaq 0x9ed14(%rip), %rdx     # 0xe96d1
leaq 0x9eddb(%rip), %rcx     # 0xe979f
leaq 0x9eac3(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x170, %r9d            # imm = 0x170
jmp 0x4a30a
leaq 0x98779(%rip), %rsi     # 0xe3159
leaq 0x9f158(%rip), %rdx     # 0xe9b3f
leaq 0x9edb1(%rip), %rcx     # 0xe979f
leaq 0x9ea99(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x160, %r9d            # imm = 0x160
jmp 0x4a30a
callq 0x149c3
callq 0x149fc
callq 0x14a35
callq 0x1498a
addq %r15, %r13
addq %rbp, %r12
subq %r12, %r13
cmpq $0x10, %r13
jne 0x4ab7e
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x4aa45
leaq 0x9ea53(%rip), %rsi     # 0xe948e
movl $0x199, %edx            # imm = 0x199
callq 0x35c27
callq 0x4ad8a
leaq 0x8(%rsp), %r14
movq %rax, (%r14)
leaq 0x9ec43(%rip), %rsi     # 0xe969c
leaq 0x9ef5a(%rip), %rdx     # 0xe99ba
movq %r14, %rdi
callq 0x49c80
leaq 0x9ec3b(%rip), %rsi     # 0xe96aa
leaq 0x9ef4e(%rip), %rdx     # 0xe99c4
movq %r14, %rdi
callq 0x49c80
leaq 0x9ec33(%rip), %rsi     # 0xe96b8
leaq 0x9ef42(%rip), %rdx     # 0xe99ce
movq %r14, %rdi
callq 0x49c80
movq (%r14), %r12
movq %r12, %r13
movq %r13, %rax
incq %r13
cmpb $0x0, (%rax)
jne 0x4aa9a
leaq 0x2(%rax), %r13
cmpb $0x0, 0x1(%rax)
jne 0x4aa9a
leaq 0x9ec02(%rip), %r14     # 0xe96b8
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x49b5d
movq (%r15), %rdi
movq %r14, %rsi
callq 0x49e69
testq %rax, %rax
jne 0x4ad85
movq 0x8(%rsp), %rdi
callq 0x49e85
movq %rax, %r14
cmpq $0x2, %rax
je 0x4ab19
leaq 0x98665(%rip), %rsi     # 0xe3159
leaq 0x9f024(%rip), %rdx     # 0xe9b1f
leaq 0x9ec9d(%rip), %rcx     # 0xe979f
leaq 0x9e985(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x180, %r9d            # imm = 0x180
xorl %eax, %eax
callq 0x34f1f
movq 0x8(%rsp), %r15
movq %r15, %rbp
movq %rbp, %rax
incq %rbp
cmpb $0x0, (%rax)
jne 0x4ab21
leaq 0x2(%rax), %rbp
cmpb $0x0, 0x1(%rax)
jne 0x4ab21
cmpq $0x2, %r14
jne 0x4a311
leaq 0x9eb7f(%rip), %rsi     # 0xe96c6
movq %r15, %rdi
callq 0x49e69
testq %rax, %rax
je 0x4abb7
leaq 0x985fe(%rip), %rsi     # 0xe3159
leaq 0x9eb6f(%rip), %rdx     # 0xe96d1
leaq 0x9ec36(%rip), %rcx     # 0xe979f
leaq 0x9e91e(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x182, %r9d            # imm = 0x182
jmp 0x4a30a
leaq 0x985d4(%rip), %rsi     # 0xe3159
leaq 0x9f023(%rip), %rdx     # 0xe9baf
leaq 0x9ec0c(%rip), %rcx     # 0xe979f
leaq 0x9e8f4(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x172, %r9d            # imm = 0x172
jmp 0x4a30a
callq 0x14a6e
callq 0x14aa7
callq 0x14ae0
addq %r15, %r13
addq %rbp, %r12
subq %r12, %r13
cmpq $0x10, %r13
jne 0x4ac62
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x4abe5
leaq 0x9e8b3(%rip), %rsi     # 0xe948e
movl $0x199, %edx            # imm = 0x199
callq 0x35c27
leaq 0x9eab0(%rip), %r14     # 0xe969c
leaq 0xa6fee(%rip), %r15     # 0xf1be1
movq %r14, %rdi
movq %r15, %rsi
callq 0x49920
leaq 0x10(%rsp), %r12
movq %rax, (%r12)
leaq 0x9ea9c(%rip), %rsi     # 0xe96aa
leaq 0xa6662(%rip), %rdx     # 0xf1277
movq %r12, %rdi
callq 0x499d4
movq (%r12), %rdi
movq %r14, %rsi
callq 0x49e69
movq %rax, %rdi
movq %r15, %rsi
callq 0xb890
testl %eax, %eax
je 0x4ac8c
leaq 0x9851a(%rip), %rsi     # 0xe3159
leaq 0x9f025(%rip), %rdx     # 0xe9c6b
leaq 0x9eb52(%rip), %rcx     # 0xe979f
leaq 0x9e83a(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x18c, %r9d            # imm = 0x18C
jmp 0x4ad61
leaq 0x984f0(%rip), %rsi     # 0xe3159
leaq 0x9efaf(%rip), %rdx     # 0xe9c1f
leaq 0x9eb28(%rip), %rcx     # 0xe979f
leaq 0x9e810(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x184, %r9d            # imm = 0x184
jmp 0x4a30a
movq 0x10(%rsp), %rdi
leaq 0x9ea12(%rip), %rsi     # 0xe96aa
callq 0x49e69
leaq 0xa65d3(%rip), %rsi     # 0xf1277
movq %rax, %rdi
callq 0xb890
testl %eax, %eax
je 0x4acda
leaq 0x984a2(%rip), %rsi     # 0xe3159
leaq 0x9efe0(%rip), %rdx     # 0xe9c9e
leaq 0x9eada(%rip), %rcx     # 0xe979f
leaq 0x9e7c2(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x18d, %r9d            # imm = 0x18D
jmp 0x4ad61
movq 0x10(%rsp), %rdi
leaq 0xa6591(%rip), %rsi     # 0xf1277
callq 0x49e69
testq %rax, %rax
je 0x4ad26
leaq 0x98462(%rip), %rsi     # 0xe3159
leaq 0x9efd3(%rip), %rdx     # 0xe9cd1
leaq 0x9ea9a(%rip), %rcx     # 0xe979f
leaq 0x9e782(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x18e, %r9d            # imm = 0x18E
jmp 0x4ad61
callq 0x14b19
callq 0x14b52
callq 0x14b8b
movq 0x10(%rsp), %rdi
leaq 0xa6eaf(%rip), %rsi     # 0xf1be1
callq 0x49e69
testq %rax, %rax
je 0x4ad77
leaq 0x98416(%rip), %rsi     # 0xe3159
leaq 0x9efa9(%rip), %rdx     # 0xe9cf3
leaq 0x9ea4e(%rip), %rcx     # 0xe979f
leaq 0x9e736(%rip), %r8      # 0xe948e
movq %rbx, %rdi
movl $0x18f, %r9d            # imm = 0x18F
xorl %eax, %eax
callq 0x34f1f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq 0x10(%rsp), %rdi
jmp 0x4a31b
xorl %ebx, %ebx
jmp 0x4ad6d
callq 0x14bc4
callq 0x14bfd
callq 0x14c36