// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/extended/rbtree.c
// Function: gt_rbtree_unit_test
int gt_rbtree_unit_test(GtError *err)
{
  int had_err = 0;
  GtRBTree *tree = NULL;
  GtUword i, j, k, *v;
  gt_error_check (err);

  gt_rbtree_xtab = gt_malloc(GT_RBTREE_SIZE * sizeof (*gt_rbtree_xtab));
  gt_rbtree_ytab = gt_malloc(2*GT_RBTREE_SIZE * sizeof (*gt_rbtree_ytab));
  gt_rbtree_ztab = gt_malloc(GT_RBTREE_SIZE * sizeof (*gt_rbtree_ztab));
  gt_rbtree_depths = gt_malloc(GT_RBTREE_SIZE * sizeof (*gt_rbtree_depths));

  tree = gt_rbtree_new(nrbt_cmp_fn, NULL, NULL);
  gt_ensure(tree != NULL);
  for (i = 0; i < (GtUword) GT_RBTREE_SIZE; ++i) {
    gt_rbtree_xtab[i] = i;
  }
  /* Do this loop several times to get different permutations for the random
     case. */
  for (i = 0; i < (GtUword) GT_RBTREE_PASSES; ++i) {
    NRBT_MANGLECHECK(GT_RBTREE_ASCENDING, GtRBTreeBuild, 0);
    NRBT_MANGLECHECK(GT_RBTREE_ASCENDING, GtRBTreeFind, 0);
    NRBT_MANGLECHECK(GT_RBTREE_DESCENDING, GtRBTreeFind, 0);
    NRBT_MANGLECHECK(GT_RBTREE_RANDOMORDER, GtRBTreeFind, 0);
    NRBT_WALKCHECK;
    NRBT_MANGLECHECK (GT_RBTREE_ASCENDING, GtRBTreeDelete, 0);

    NRBT_MANGLECHECK (GT_RBTREE_ASCENDING, GtRBTreeBuild, 0);
    NRBT_WALKCHECK;
    NRBT_MANGLECHECK (GT_RBTREE_DESCENDING, GtRBTreeDelete, 0);

    NRBT_MANGLECHECK (GT_RBTREE_ASCENDING, GtRBTreeBuild, 0);
    NRBT_WALKCHECK;
    NRBT_MANGLECHECK (GT_RBTREE_RANDOMORDER, GtRBTreeDelete, 0);

    NRBT_MANGLECHECK (GT_RBTREE_DESCENDING, GtRBTreeBuild, 0);
    NRBT_MANGLECHECK (GT_RBTREE_ASCENDING, GtRBTreeFind, 0);
    NRBT_MANGLECHECK (GT_RBTREE_DESCENDING, GtRBTreeFind, 0);
    NRBT_MANGLECHECK (GT_RBTREE_RANDOMORDER, GtRBTreeFind, 0);
    NRBT_WALKCHECK;
    NRBT_MANGLECHECK (GT_RBTREE_DESCENDING, GtRBTreeDelete, 0);

    NRBT_MANGLECHECK (GT_RBTREE_DESCENDING,GtRBTreeBuild, 0);
    NRBT_WALKCHECK;
    NRBT_MANGLECHECK (GT_RBTREE_DESCENDING, GtRBTreeDelete, 0);

    NRBT_MANGLECHECK (GT_RBTREE_DESCENDING, GtRBTreeBuild, 0);
    NRBT_WALKCHECK;
    NRBT_MANGLECHECK (GT_RBTREE_RANDOMORDER, GtRBTreeDelete, 0);

    NRBT_MANGLECHECK (GT_RBTREE_RANDOMORDER, GtRBTreeBuild, 0);
    NRBT_MANGLECHECK (GT_RBTREE_ASCENDING, GtRBTreeFind, 0);
    NRBT_MANGLECHECK (GT_RBTREE_DESCENDING, GtRBTreeFind, 0);
    NRBT_MANGLECHECK (GT_RBTREE_RANDOMORDER, GtRBTreeFind, 0);
    NRBT_WALKCHECK;
    NRBT_MANGLECHECK (GT_RBTREE_RANDOMORDER, GtRBTreeDelete, 0);

    for (j = 1UL; j < (GtUword) GT_RBTREE_SIZE; j *= 2) {
      NRBT_MANGLECHECK (GT_RBTREE_RANDOMORDER, GtRBTreeBuildDelete, j);
    }
  }
  for (i = 1UL; i < (GtUword) GT_RBTREE_SIZE; i *= 2) {
    NRBT_MANGLECHECK (GT_RBTREE_ASCENDING, GtRBTreeBuildDelete, i);
    NRBT_MANGLECHECK (GT_RBTREE_DESCENDING, GtRBTreeBuildDelete, i);
    NRBT_MANGLECHECK (GT_RBTREE_ASCENDING, GtRBTreeBuildDelete, i);
    NRBT_MANGLECHECK (GT_RBTREE_DESCENDING, GtRBTreeBuildDelete, i);
    NRBT_MANGLECHECK (GT_RBTREE_ASCENDING, GtRBTreeBuildDelete, i);
    NRBT_MANGLECHECK (GT_RBTREE_DESCENDING, GtRBTreeBuildDelete, i);
    NRBT_MANGLECHECK (GT_RBTREE_ASCENDING, GtRBTreeBuildDelete, i);
    NRBT_MANGLECHECK (GT_RBTREE_DESCENDING, GtRBTreeBuildDelete, i);
  }
  gt_rbtree_delete(tree);
  gt_free(gt_rbtree_xtab);
  gt_free(gt_rbtree_ytab);
  gt_free(gt_rbtree_ztab);
  gt_free(gt_rbtree_depths);

  i = 0; j = 1UL, k = 2UL;
  tree = gt_rbtree_new(nrbt_cmp_fn, NULL, NULL);
  v = gt_rbtree_root_key(tree);
  gt_ensure(!v);
  (void) gt_rbtree_insert(tree, &i);
  v = gt_rbtree_root_key(tree);
  gt_ensure(v == &i);
  gt_ensure(*v == i);
  (void) gt_rbtree_insert(tree, &j);
  (void) gt_rbtree_insert(tree, &k);
  v = gt_rbtree_root_key(tree);
  gt_ensure(v == &j);
  gt_ensure(*v == j);
  gt_rbtree_delete(tree);

  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 0x16eff5
movq %rbx, %rdi
callq 0x101a9a
testb %al, %al
jne 0x16fc94
leaq 0x2288a4(%rip), %r14    # 0x3978a0
movl $0x320, %edi            # imm = 0x320
movq %r14, %rsi
movl $0x418, %edx            # imm = 0x418
callq 0x1092b2
movq %rax, 0x35a7f3(%rip)    # 0x4c9808
movl $0x640, %edi            # imm = 0x640
movq %r14, %rsi
movl $0x419, %edx            # imm = 0x419
callq 0x1092b2
movq %rax, 0x35a7e2(%rip)    # 0x4c9810
movl $0x320, %edi            # imm = 0x320
movq %r14, %rsi
movl $0x41a, %edx            # imm = 0x41A
callq 0x1092b2
movq %rax, 0x35a7d1(%rip)    # 0x4c9818
movl $0x320, %edi            # imm = 0x320
movq %r14, %rsi
movl $0x41b, %edx            # imm = 0x41B
callq 0x1092b2
movq %rax, 0x35a7c0(%rip)    # 0x4c9820
movl $0x28, %edi
movq %r14, %rsi
movl $0x7e, %edx
callq 0x1092b2
movq %rax, %r14
xorl %r12d, %r12d
movq %r12, (%rax)
leaq 0xc17(%rip), %rax       # 0x16fc99
movq %rax, 0x8(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r14)
movq %r12, 0x20(%r14)
testq %r14, %r14
jne 0x16f0c9
leaq 0x1f849c(%rip), %rsi    # 0x36753a
leaq 0x236cf7(%rip), %rdx    # 0x3a5d9c
leaq 0x228a57(%rip), %rcx    # 0x397b03
leaq 0x2287ed(%rip), %r8     # 0x3978a0
movq %rbx, %rdi
movl $0x41e, %r9d            # imm = 0x41E
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movq 0x35a738(%rip), %rax    # 0x4c9808
movq $0x0, (%rsp)
xorl %ecx, %ecx
movq %rcx, (%rax,%rcx,8)
movq (%rsp), %rcx
incq %rcx
movq %rcx, (%rsp)
cmpq $0x64, %rcx
jb 0x16f0da
movq $0x0, (%rsp)
leaq 0x1f843c(%rip), %r15    # 0x36753a
leaq 0x2289fe(%rip), %r13    # 0x397b03
leaq 0x228794(%rip), %rbp    # 0x3978a0
movl %r12d, %eax
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
testl %eax, %eax
jne 0x16f73d
xorl %edi, %edi
xorl %esi, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f150
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x2289d8(%rip), %rdx    # 0x397b17
movq %r13, %rcx
movq %rbp, %r8
movl $0x425, %r9d            # imm = 0x425
jmp 0x16f730
xorl %edi, %edi
movl $0x3, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f186
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x2289e5(%rip), %rdx    # 0x397b5a
movq %r13, %rcx
movq %rbp, %r8
movl $0x426, %r9d            # imm = 0x426
jmp 0x16f730
movl $0x1, %edi
movl $0x3, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f1bf
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x2289ee(%rip), %rdx    # 0x397b9c
movq %r13, %rcx
movq %rbp, %r8
movl $0x427, %r9d            # imm = 0x427
jmp 0x16f730
movl $0x2, %edi
movl $0x3, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f1f8
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x2289f8(%rip), %rdx    # 0x397bdf
movq %r13, %rcx
movq %rbp, %r8
movl $0x428, %r9d            # imm = 0x428
jmp 0x16f730
movq %r14, %rdi
callq 0x16ff40
testl %eax, %eax
je 0x16f222
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x228a12(%rip), %rdx    # 0x397c23
movq %r13, %rcx
movq %rbp, %r8
movl $0x429, %r9d            # imm = 0x429
jmp 0x16f730
xorl %edi, %edi
movl $0x2, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f258
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x228a0c(%rip), %rdx    # 0x397c53
movq %r13, %rcx
movq %rbp, %r8
movl $0x42a, %r9d            # imm = 0x42A
jmp 0x16f730
xorl %edi, %edi
xorl %esi, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f28b
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x22889d(%rip), %rdx    # 0x397b17
movq %r13, %rcx
movq %rbp, %r8
movl $0x42c, %r9d            # imm = 0x42C
jmp 0x16f730
movq %r14, %rdi
callq 0x16ff40
testl %eax, %eax
je 0x16f2b5
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x22897f(%rip), %rdx    # 0x397c23
movq %r13, %rcx
movq %rbp, %r8
movl $0x42d, %r9d            # imm = 0x42D
jmp 0x16f730
movl $0x1, %edi
movl $0x2, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f2ee
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x2289ba(%rip), %rdx    # 0x397c97
movq %r13, %rcx
movq %rbp, %r8
movl $0x42e, %r9d            # imm = 0x42E
jmp 0x16f730
xorl %edi, %edi
xorl %esi, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f321
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x228807(%rip), %rdx    # 0x397b17
movq %r13, %rcx
movq %rbp, %r8
movl $0x430, %r9d            # imm = 0x430
jmp 0x16f730
movq %r14, %rdi
callq 0x16ff40
testl %eax, %eax
je 0x16f34b
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x2288e9(%rip), %rdx    # 0x397c23
movq %r13, %rcx
movq %rbp, %r8
movl $0x431, %r9d            # imm = 0x431
jmp 0x16f730
movl $0x2, %edi
movl $0x2, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f384
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x228969(%rip), %rdx    # 0x397cdc
movq %r13, %rcx
movq %rbp, %r8
movl $0x432, %r9d            # imm = 0x432
jmp 0x16f730
movl $0x1, %edi
xorl %esi, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f3ba
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x228979(%rip), %rdx    # 0x397d22
movq %r13, %rcx
movq %rbp, %r8
movl $0x434, %r9d            # imm = 0x434
jmp 0x16f730
xorl %edi, %edi
movl $0x3, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f3f0
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x22877b(%rip), %rdx    # 0x397b5a
movq %r13, %rcx
movq %rbp, %r8
movl $0x435, %r9d            # imm = 0x435
jmp 0x16f730
movl $0x1, %edi
movl $0x3, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f429
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x228784(%rip), %rdx    # 0x397b9c
movq %r13, %rcx
movq %rbp, %r8
movl $0x436, %r9d            # imm = 0x436
jmp 0x16f730
movl $0x2, %edi
movl $0x3, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f462
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x22878e(%rip), %rdx    # 0x397bdf
movq %r13, %rcx
movq %rbp, %r8
movl $0x437, %r9d            # imm = 0x437
jmp 0x16f730
movq %r14, %rdi
callq 0x16ff40
testl %eax, %eax
je 0x16f48c
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x2287a8(%rip), %rdx    # 0x397c23
movq %r13, %rcx
movq %rbp, %r8
movl $0x438, %r9d            # imm = 0x438
jmp 0x16f730
movl $0x1, %edi
movl $0x2, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f4c5
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x2287e3(%rip), %rdx    # 0x397c97
movq %r13, %rcx
movq %rbp, %r8
movl $0x439, %r9d            # imm = 0x439
jmp 0x16f730
movl $0x1, %edi
xorl %esi, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f4fb
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x228838(%rip), %rdx    # 0x397d22
movq %r13, %rcx
movq %rbp, %r8
movl $0x43b, %r9d            # imm = 0x43B
jmp 0x16f730
movq %r14, %rdi
callq 0x16ff40
testl %eax, %eax
je 0x16f525
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x22870f(%rip), %rdx    # 0x397c23
movq %r13, %rcx
movq %rbp, %r8
movl $0x43c, %r9d            # imm = 0x43C
jmp 0x16f730
movl $0x1, %edi
movl $0x2, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f55e
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x22874a(%rip), %rdx    # 0x397c97
movq %r13, %rcx
movq %rbp, %r8
movl $0x43d, %r9d            # imm = 0x43D
jmp 0x16f730
movl $0x1, %edi
xorl %esi, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f594
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x22879f(%rip), %rdx    # 0x397d22
movq %r13, %rcx
movq %rbp, %r8
movl $0x43f, %r9d            # imm = 0x43F
jmp 0x16f730
movq %r14, %rdi
callq 0x16ff40
testl %eax, %eax
je 0x16f5be
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x228676(%rip), %rdx    # 0x397c23
movq %r13, %rcx
movq %rbp, %r8
movl $0x440, %r9d            # imm = 0x440
jmp 0x16f730
movl $0x2, %edi
movl $0x2, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f5f7
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x2286f6(%rip), %rdx    # 0x397cdc
movq %r13, %rcx
movq %rbp, %r8
movl $0x441, %r9d            # imm = 0x441
jmp 0x16f730
movl $0x2, %edi
xorl %esi, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f62d
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x22874a(%rip), %rdx    # 0x397d66
movq %r13, %rcx
movq %rbp, %r8
movl $0x443, %r9d            # imm = 0x443
jmp 0x16f730
xorl %edi, %edi
movl $0x3, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f663
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x228508(%rip), %rdx    # 0x397b5a
movq %r13, %rcx
movq %rbp, %r8
movl $0x444, %r9d            # imm = 0x444
jmp 0x16f730
movl $0x1, %edi
movl $0x3, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f69c
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x228511(%rip), %rdx    # 0x397b9c
movq %r13, %rcx
movq %rbp, %r8
movl $0x445, %r9d            # imm = 0x445
jmp 0x16f730
movl $0x2, %edi
movl $0x3, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f6d2
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x22851b(%rip), %rdx    # 0x397bdf
movq %r13, %rcx
movq %rbp, %r8
movl $0x446, %r9d            # imm = 0x446
jmp 0x16f730
movq %r14, %rdi
callq 0x16ff40
testl %eax, %eax
je 0x16f6f9
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x228538(%rip), %rdx    # 0x397c23
movq %r13, %rcx
movq %rbp, %r8
movl $0x447, %r9d            # imm = 0x447
jmp 0x16f730
xorl %r12d, %r12d
movl $0x2, %edi
movl $0x2, %esi
movq %r14, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f73d
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x2285b8(%rip), %rdx    # 0x397cdc
movq %r13, %rcx
movq %rbp, %r8
movl $0x448, %r9d            # imm = 0x448
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movq $0x1, 0x8(%rsp)
movl $0x1, %ecx
movl %r12d, %eax
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
testl %eax, %eax
jne 0x16f79a
movl $0x2, %edi
movl $0x1, %esi
movq %r14, %rdx
movq %rbx, %r8
callq 0x16fcad
xorl %r12d, %r12d
testb %al, %al
je 0x16f79a
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x22862a(%rip), %rdx    # 0x397dab
movq %r13, %rcx
movq %rbp, %r8
movl $0x44b, %r9d            # imm = 0x44B
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movq 0x8(%rsp), %rcx
addq %rcx, %rcx
movq %rcx, 0x8(%rsp)
cmpq $0x64, %rcx
jb 0x16f74b
movq (%rsp), %rax
incq %rax
movq %rax, (%rsp)
cmpq $0x64, %rax
jb 0x16f10c
movq $0x1, (%rsp)
movl $0x1, %ecx
leaq 0x22832d(%rip), %r15    # 0x397b03
leaq 0x2280c3(%rip), %rbp    # 0x3978a0
movl %r12d, %eax
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
testl %eax, %eax
je 0x16f7f2
xorl %r13d, %r13d
jmp 0x16f9ee
xorl %edi, %edi
movl $0x1, %esi
movq %r14, %rdx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f82d
xorl %r13d, %r13d
movq %rbx, %rdi
leaq 0x1f7d25(%rip), %rsi    # 0x36753a
leaq 0x2285da(%rip), %rdx    # 0x397df6
movq %r15, %rcx
movq %rbp, %r8
movl $0x44f, %r9d            # imm = 0x44F
jmp 0x16f9e7
movq (%rsp), %rcx
movl $0x1, %edi
movl $0x1, %esi
movq %r14, %rdx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f86f
xorl %r13d, %r13d
movq %rbx, %rdi
leaq 0x1f7ce3(%rip), %rsi    # 0x36753a
leaq 0x2285e1(%rip), %rdx    # 0x397e3f
movq %r15, %rcx
movq %rbp, %r8
movl $0x450, %r9d            # imm = 0x450
jmp 0x16f9e7
movq (%rsp), %rcx
xorl %edi, %edi
movl $0x1, %esi
movq %r14, %rdx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f8ae
xorl %r13d, %r13d
movq %rbx, %rdi
leaq 0x1f7ca4(%rip), %rsi    # 0x36753a
leaq 0x228559(%rip), %rdx    # 0x397df6
movq %r15, %rcx
movq %rbp, %r8
movl $0x451, %r9d            # imm = 0x451
jmp 0x16f9e7
movq (%rsp), %rcx
movl $0x1, %edi
movl $0x1, %esi
movq %r14, %rdx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f8f0
xorl %r13d, %r13d
movq %rbx, %rdi
leaq 0x1f7c62(%rip), %rsi    # 0x36753a
leaq 0x228560(%rip), %rdx    # 0x397e3f
movq %r15, %rcx
movq %rbp, %r8
movl $0x452, %r9d            # imm = 0x452
jmp 0x16f9e7
movq (%rsp), %rcx
xorl %edi, %edi
movl $0x1, %esi
movq %r14, %rdx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f92f
xorl %r13d, %r13d
movq %rbx, %rdi
leaq 0x1f7c23(%rip), %rsi    # 0x36753a
leaq 0x2284d8(%rip), %rdx    # 0x397df6
movq %r15, %rcx
movq %rbp, %r8
movl $0x453, %r9d            # imm = 0x453
jmp 0x16f9e7
movq (%rsp), %rcx
movl $0x1, %edi
movl $0x1, %esi
movq %r14, %rdx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f96e
xorl %r13d, %r13d
movq %rbx, %rdi
leaq 0x1f7be1(%rip), %rsi    # 0x36753a
leaq 0x2284df(%rip), %rdx    # 0x397e3f
movq %r15, %rcx
movq %rbp, %r8
movl $0x454, %r9d            # imm = 0x454
jmp 0x16f9e7
movq (%rsp), %rcx
xorl %edi, %edi
movl $0x1, %esi
movq %r14, %rdx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16f9aa
xorl %r13d, %r13d
movq %rbx, %rdi
leaq 0x1f7ba5(%rip), %rsi    # 0x36753a
leaq 0x22845a(%rip), %rdx    # 0x397df6
movq %r15, %rcx
movq %rbp, %r8
movl $0x455, %r9d            # imm = 0x455
jmp 0x16f9e7
movq (%rsp), %rcx
movl $0x1, %edi
movl $0x1, %esi
movq %r14, %rdx
movq %rbx, %r8
callq 0x16fcad
testb %al, %al
je 0x16fa05
xorl %r13d, %r13d
movq %rbx, %rdi
leaq 0x1f7b66(%rip), %rsi    # 0x36753a
leaq 0x228464(%rip), %rdx    # 0x397e3f
movq %r15, %rcx
movq %rbp, %r8
movl $0x456, %r9d            # imm = 0x456
xorl %eax, %eax
callq 0x1019cf
movq (%rsp), %rcx
addq %rcx, %rcx
movq %rcx, (%rsp)
cmpq $0x64, %rcx
jb 0x16f7dd
jmp 0x16fa0d
xorl %r12d, %r12d
movb $0x1, %r13b
jmp 0x16f9ee
movq %r14, %rdi
callq 0x16df27
leaq 0x227e84(%rip), %r15    # 0x3978a0
movq %r14, %rdi
movq %r15, %rsi
movl $0x8d, %edx
callq 0x109670
movq 0x359dd5(%rip), %rdi    # 0x4c9808
movq %r15, %rsi
movl $0x459, %edx            # imm = 0x459
callq 0x109670
movq 0x359dc9(%rip), %rdi    # 0x4c9810
movq %r15, %rsi
movl $0x45a, %edx            # imm = 0x45A
callq 0x109670
movq 0x359dbd(%rip), %rdi    # 0x4c9818
movq %r15, %rsi
movl $0x45b, %edx            # imm = 0x45B
callq 0x109670
movq 0x359db1(%rip), %rdi    # 0x4c9820
movq %r15, %rsi
movl $0x45c, %edx            # imm = 0x45C
callq 0x109670
xorl %ebp, %ebp
movq %rbp, (%rsp)
movq $0x1, 0x8(%rsp)
movq $0x2, 0x10(%rsp)
movl $0x28, %edi
movq %r15, %rsi
movl $0x7e, %edx
callq 0x1092b2
movq %rax, %r14
movq %rbp, (%rax)
leaq 0x1e6(%rip), %rax       # 0x16fc99
movq %rax, 0x8(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r14)
movq %rbp, 0x20(%r14)
movq %r14, %rdi
callq 0x16ea68
testq %rax, %rax
setne %al
andb %al, %r13b
cmpb $0x1, %r13b
jne 0x16fb0c
leaq 0x1f7a59(%rip), %rsi    # 0x36753a
leaq 0x2283a1(%rip), %rdx    # 0x397e89
leaq 0x228014(%rip), %rcx    # 0x397b03
leaq 0x227daa(%rip), %r8     # 0x3978a0
movq %rbx, %rdi
movl $0x461, %r9d            # imm = 0x461
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movq %rsp, %r13
movq %r14, %rdi
movq %r13, %rsi
callq 0x16e081
movq %r14, %rdi
callq 0x16ea68
movq %rax, %r15
testl %r12d, %r12d
setne %al
cmpq %r13, %r15
sete %cl
orb %al, %cl
jne 0x16fb67
leaq 0x1f79fe(%rip), %rsi    # 0x36753a
leaq 0x228349(%rip), %rdx    # 0x397e8c
leaq 0x227fb9(%rip), %rcx    # 0x397b03
leaq 0x227d4f(%rip), %r8     # 0x3978a0
movq %rbx, %rdi
movl $0x464, %r9d            # imm = 0x464
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movb $0x1, %bpl
testl %r12d, %r12d
jne 0x16fbbb
movq (%r15), %rax
xorl %ebp, %ebp
movl $0x0, %r13d
cmpq (%rsp), %rax
je 0x16fbbb
leaq 0x1f79ad(%rip), %rsi    # 0x36753a
leaq 0x228300(%rip), %rdx    # 0x397e94
leaq 0x227f68(%rip), %rcx    # 0x397b03
leaq 0x227cfe(%rip), %r8     # 0x3978a0
movq %rbx, %rdi
movl $0x465, %r9d            # imm = 0x465
xorl %eax, %eax
callq 0x1019cf
movb $0x1, %bpl
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
leaq 0x8(%rsp), %r12
movq %r14, %rdi
movq %r12, %rsi
callq 0x16e081
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x16e081
movq %r14, %rdi
callq 0x16ea68
movq %rax, %r15
cmpq %r12, %rax
sete %al
orb %bpl, %al
jne 0x16fc20
leaq 0x1f7945(%rip), %rsi    # 0x36753a
leaq 0x2282a0(%rip), %rdx    # 0x397e9c
leaq 0x227f00(%rip), %rcx    # 0x397b03
leaq 0x227c96(%rip), %r8     # 0x3978a0
movq %rbx, %rdi
movl $0x469, %r9d            # imm = 0x469
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testl %r13d, %r13d
jne 0x16fc67
movq (%r15), %rax
xorl %ebp, %ebp
cmpq 0x8(%rsp), %rax
je 0x16fc67
leaq 0x1f78fd(%rip), %rsi    # 0x36753a
leaq 0x228260(%rip), %rdx    # 0x397ea4
leaq 0x227eb8(%rip), %rcx    # 0x397b03
leaq 0x227c4e(%rip), %r8     # 0x3978a0
movq %rbx, %rdi
movl $0x46a, %r9d            # imm = 0x46A
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq %r14, %rdi
callq 0x16df27
leaq 0x227c2a(%rip), %rsi    # 0x3978a0
movq %r14, %rdi
movl $0x8d, %edx
callq 0x109670
movl %ebp, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x506d7