// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_sortbench.c
// Function: gt_sortbench_runner
static int gt_sortbench_runner(GT_UNUSED int argc, GT_UNUSED const char **argv,
                                GT_UNUSED int parsed_args,
                                void *tool_arguments, GT_UNUSED GtError *err)
{
  QSortBenchArguments *arguments = tool_arguments;
  int had_err = 0;
  size_t method;
  GtTimer *timer;
  GtUword *array = NULL, *array_copy = NULL, idx, r;
  Gtuint64keyPair *arraykeypair = NULL, *arraykeypair_copy = NULL;
  uint8_t *flba = NULL;
  size_t flba_unitsize = 0;

  gt_error_check(err);
  gt_assert(arguments);
  if (arguments->verbose) {
    printf("# number of items = "GT_WU"\n", arguments->num_values);
    printf("# max value items = "GT_WU"\n", arguments->maxvalue);
    printf("# implementation = %s\n", gt_str_get(arguments->impl));
  }

  /* prepare benchmark input data */
  if (strcmp(gt_str_get(arguments->impl),"radixkeypair") == 0)
  {
    arraykeypair = gt_malloc(sizeof (*arraykeypair) * arguments->num_values);
  } else
  {
    bool alloc_array;
    if (strcmp(gt_str_get(arguments->impl),"radixflba") == 0)
    {
      size_t bits = gt_radixsort_bits(arguments->maxvalue);
      flba_unitsize = gt_radixsort_bits2bytes(bits);
      flba = gt_malloc(sizeof (*flba) * arguments->num_values * flba_unitsize);
      alloc_array = arguments->verify;
    } else
    {
      alloc_array = true;
    }
    if (alloc_array)
    {
      array = gt_malloc(sizeof (*array) * arguments->num_values);
    }
  }
  if (arguments->use_aqsort)
  {
    if (arguments->verbose)
    {
      printf("# using aqsort\n");
    }
    gt_assert(array != NULL);
    gt_sortbench_aqsort(arguments->num_values, array);
  } else
  {
    if (arguments->use_permute)
    {
      if (arguments->verbose)
      {
        printf("# using permuted array\n");
      }
      gt_assert(array != NULL);
      for (idx = 0; idx < arguments->num_values; idx++)
      {
        array[idx] = idx;
      }
      gt_qbenchsort_permute_ulong_array(array, arguments->num_values);
    } else
    {
      if (arguments->verbose)
      {
        printf("# using simple array of random numbers\n");
      }
      if (arraykeypair != NULL)
      {
        for (idx = 0; idx < arguments->num_values; idx++)
        {
          arraykeypair[idx].uint64_a = random() % (arguments->maxvalue+1);
          arraykeypair[idx].uint64_b = random() % (arguments->maxvalue+1);
        }
      } else
      {
        if (flba != NULL)
        {
          uint8_t *flba_buffer = gt_malloc(sizeof *flba_buffer * flba_unitsize);
          gt_assert(!arguments->verify || array != NULL);
          for (idx = 0; idx < arguments->num_values; idx++)
          {
            GtUword value = (GtUword) (random() % (arguments->maxvalue+1));
            gt_uword2flba(flba_buffer,value,flba_unitsize);
            memcpy(flba + idx * flba_unitsize,flba_buffer,flba_unitsize);
            if (arguments->verify)
            {
              array[idx] = value;
            }
          }
          gt_free(flba_buffer);
        } else
        {
          gt_assert(array != NULL);
          for (idx = 0; idx < arguments->num_values; idx++)
          {
            array[idx] = random() % (arguments->maxvalue+1);
          }
        }
      }
    }
  }
  if (arguments->verify)
  {
    if (arraykeypair != NULL)
    {
      arraykeypair_copy = gt_malloc(sizeof (*arraykeypair_copy) *
                                    arguments->num_values);
      for (idx = 0; idx < arguments->num_values; idx++)
      {
        arraykeypair_copy[idx] = arraykeypair[idx];
      }
      qsort(arraykeypair_copy,(size_t) arguments->num_values,
            sizeof *arraykeypair_copy,
            voidkeypairqsortcmp);
    } else
    {
      if (flba != NULL)
      {
        gt_assert(array != NULL);
        qsort(array,(size_t) arguments->num_values,sizeof *array,voidqsortcmp);
      } else
      {
        array_copy = gt_malloc(sizeof (*array_copy) * arguments->num_values);
        gt_assert(array != NULL);
        for (idx = 0; idx < arguments->num_values; idx++)
        {
          array_copy[idx] = array[idx];
        }
        qsort(array_copy,(size_t) arguments->num_values,sizeof *array_copy,
              voidqsortcmp);
      }
    }
  }
  timer = gt_timer_new();
  gt_timer_start(timer);
  /* run implementation */
  if (arraykeypair != NULL)
  {
    for (r = 0; r < arguments->runs; r++)
    {
      gt_radixsort_inplace_Gtuint64keyPair(arraykeypair,arguments->num_values);
    }
  } else
  {
    if (flba != NULL)
    {
      gt_assert(flba_unitsize > 0);
      gt_radixsort_inplace_flba(flba,arguments->num_values,flba_unitsize);
    } else
    {
      for (method = 0; method < GT_NUM_OF_SORT_IMPLEMENTATIONS; method++)
      {
        if (strcmp(gt_str_get(arguments->impl),
                   gt_sort_implementation_names[method]) == 0)
        {
          for (r = 0; r < arguments->runs; r++)
          {
            gt_assert(array != NULL && arraykeypair == NULL);
            gt_assert(method < GT_NUM_OF_SORT_IMPLEMENTATIONS);
            gt_sort_implementation_funcs[method](array, arguments->num_values);
          }
          break;
        }
      }
    }
  }
  printf("# TIME %s-t%u-r" GT_WU "-n" GT_WU " overall ",
          gt_str_get(arguments->impl),
#ifdef GT_THREADS_ENABLED
          gt_jobs,
#else
          1U,
#endif
          arguments->runs,arguments->num_values);
  gt_timer_show_formatted(timer,GT_WD ".%02ld\n",stdout);
  gt_timer_delete(timer);
  if (arguments->verify)
  {
    if (arraykeypair != NULL)
    {
      gt_sortbench_verify_keypair(arraykeypair,arraykeypair_copy,
                                  arguments->num_values);
    } else
    {
      if (flba != NULL)
      {
        gt_assert(array != NULL);
        gt_sortbench_verify_flba(flba,array,arguments->num_values,
                                 flba_unitsize);
      } else
      {
        gt_sortbench_verify(array,array_copy,arguments->num_values);
      }
    }
  }
  gt_free(flba);
  gt_free(array);
  gt_free(array_copy);
  gt_free(arraykeypair);
  gt_free(arraykeypair_copy);
  if (cmpcount > 0)
  {
    printf("cmpcount = "GT_WU"\n",cmpcount);
  }
  return had_err;
}

// Assembly:
subq $0xa8, %rsp
movl %edi, 0xa4(%rsp)
movq %rsi, 0x98(%rsp)
movl %edx, 0x94(%rsp)
movq %rcx, 0x88(%rsp)
movq %r8, 0x80(%rsp)
movq 0x88(%rsp), %rax
movq %rax, 0x78(%rsp)
movl $0x0, 0x74(%rsp)
movq $0x0, 0x58(%rsp)
movq $0x0, 0x50(%rsp)
movq $0x0, 0x38(%rsp)
movq $0x0, 0x30(%rsp)
movq $0x0, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
cmpq $0x0, 0x80(%rsp)
je 0x71ade
movq 0x80(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x71aa6
jmp 0x71ade
movq 0x5ca4f3(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a455c(%rip), %rsi    # 0x516013
leaq 0x4a4701(%rip), %rdx    # 0x5161bf
leaq 0x4baab4(%rip), %rcx    # 0x52c579
leaq 0x4ba761(%rip), %r8     # 0x52c22d
movl $0x248, %r9d            # imm = 0x248
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x71ae0
jmp 0x71ae2
cmpq $0x0, 0x78(%rsp)
jne 0x71b22
movq 0x5ca4af(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a4518(%rip), %rsi    # 0x516013
leaq 0x50905d(%rip), %rdx    # 0x57ab5f
leaq 0x4baa70(%rip), %rcx    # 0x52c579
leaq 0x4ba71d(%rip), %r8     # 0x52c22d
movl $0x249, %r9d            # imm = 0x249
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x71b24
movq 0x78(%rsp), %rax
testb $0x1, 0x23(%rax)
je 0x71b7b
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rsi
leaq 0x4baa4e(%rip), %rdi    # 0x52c58d
movb $0x0, %al
callq 0x19070
movq 0x78(%rsp), %rax
movq 0x18(%rax), %rsi
leaq 0x4baa50(%rip), %rdi    # 0x52c5a6
movb $0x0, %al
callq 0x19070
movq 0x78(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rsi
leaq 0x4baa4b(%rip), %rdi    # 0x52c5bf
movb $0x0, %al
callq 0x19070
movq 0x78(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
leaq 0x4ba949(%rip), %rsi    # 0x52c4db
callq 0x19980
cmpl $0x0, %eax
jne 0x71bc4
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rdi
shlq $0x4, %rdi
leaq 0x4ba67d(%rip), %rsi    # 0x52c22d
movl $0x253, %edx            # imm = 0x253
callq 0xe80f0
movq %rax, 0x38(%rsp)
jmp 0x71c71
movq 0x78(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
leaq 0x4ba954(%rip), %rsi    # 0x52c52f
callq 0x19980
cmpl $0x0, %eax
jne 0x71c40
movq 0x78(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x1019c0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
callq 0x101a20
movq %rax, 0x20(%rsp)
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rdi
shlq $0x0, %rdi
imulq 0x20(%rsp), %rdi
leaq 0x4ba60c(%rip), %rsi    # 0x52c22d
movl $0x25b, %edx            # imm = 0x25B
callq 0xe80f0
movq %rax, 0x28(%rsp)
movq 0x78(%rsp), %rax
movb 0x22(%rax), %al
andb $0x1, %al
movb %al, 0x1f(%rsp)
jmp 0x71c45
movb $0x1, 0x1f(%rsp)
testb $0x1, 0x1f(%rsp)
je 0x71c6f
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rdi
shlq $0x3, %rdi
leaq 0x4ba5cd(%rip), %rsi    # 0x52c22d
movl $0x263, %edx            # imm = 0x263
callq 0xe80f0
movq %rax, 0x58(%rsp)
jmp 0x71c71
movq 0x78(%rsp), %rax
testb $0x1, 0x20(%rax)
je 0x71cf1
movq 0x78(%rsp), %rax
testb $0x1, 0x23(%rax)
je 0x71c95
leaq 0x4ba948(%rip), %rdi    # 0x52c5d6
movb $0x0, %al
callq 0x19070
jmp 0x71c97
cmpq $0x0, 0x58(%rsp)
jne 0x71cd7
movq 0x5ca2fa(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a4363(%rip), %rsi    # 0x516013
leaq 0x4ba985(%rip), %rdx    # 0x52c63c
leaq 0x4ba8bb(%rip), %rcx    # 0x52c579
leaq 0x4ba568(%rip), %r8     # 0x52c22d
movl $0x26c, %r9d            # imm = 0x26C
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x71cd9
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x58(%rsp), %rsi
callq 0x72600
jmp 0x72046
movq 0x78(%rsp), %rax
testb $0x1, 0x21(%rax)
je 0x71db1
movq 0x78(%rsp), %rax
testb $0x1, 0x23(%rax)
je 0x71d19
leaq 0x4ba8d4(%rip), %rdi    # 0x52c5e6
movb $0x0, %al
callq 0x19070
jmp 0x71d1b
cmpq $0x0, 0x58(%rsp)
jne 0x71d5b
movq 0x5ca276(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a42df(%rip), %rsi    # 0x516013
leaq 0x4ba901(%rip), %rdx    # 0x52c63c
leaq 0x4ba837(%rip), %rcx    # 0x52c579
leaq 0x4ba4e4(%rip), %r8     # 0x52c22d
movl $0x276, %r9d            # imm = 0x276
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x71d5d
movq $0x0, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x78(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jae 0x71d99
movq 0x48(%rsp), %rdx
movq 0x58(%rsp), %rax
movq 0x48(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x48(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x48(%rsp)
jmp 0x71d66
movq 0x58(%rsp), %rdi
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0x727c0
jmp 0x72044
movq 0x78(%rsp), %rax
testb $0x1, 0x23(%rax)
je 0x71dca
leaq 0x4ba83b(%rip), %rdi    # 0x52c5fe
movb $0x0, %al
callq 0x19070
cmpq $0x0, 0x38(%rsp)
je 0x71e6c
movq $0x0, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x78(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jae 0x71e67
callq 0x127e80
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movl %eax, %eax
movq 0x78(%rsp), %rcx
movq 0x18(%rcx), %rcx
addq $0x1, %rcx
xorl %edx, %edx
divq %rcx
movq 0x38(%rsp), %rax
movq 0x48(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rdx, (%rax)
callq 0x127e80
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movl %eax, %eax
movq 0x78(%rsp), %rcx
movq 0x18(%rcx), %rcx
addq $0x1, %rcx
xorl %edx, %edx
divq %rcx
movq 0x38(%rsp), %rax
movq 0x48(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rdx, 0x8(%rax)
movq 0x48(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x48(%rsp)
jmp 0x71ddf
jmp 0x72042
cmpq $0x0, 0x28(%rsp)
je 0x71fa5
movq 0x20(%rsp), %rdi
shlq $0x0, %rdi
leaq 0x4ba3a5(%rip), %rsi    # 0x52c22d
movl $0x28d, %edx            # imm = 0x28D
callq 0xe80f0
movq %rax, 0x8(%rsp)
movq 0x78(%rsp), %rax
testb $0x1, 0x22(%rax)
je 0x71ee2
cmpq $0x0, 0x58(%rsp)
jne 0x71ee2
movq 0x5ca0ef(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a4158(%rip), %rsi    # 0x516013
leaq 0x4ba764(%rip), %rdx    # 0x52c626
leaq 0x4ba6b0(%rip), %rcx    # 0x52c579
leaq 0x4ba35d(%rip), %r8     # 0x52c22d
movl $0x28e, %r9d            # imm = 0x28E
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x71ee4
movq $0x0, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x78(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jae 0x71f8a
callq 0x127e80
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movl %eax, %eax
movq 0x78(%rsp), %rcx
movq 0x18(%rcx), %rcx
addq $0x1, %rcx
xorl %edx, %edx
divq %rcx
movq %rdx, (%rsp)
movq 0x8(%rsp), %rdi
movq (%rsp), %rsi
movq 0x20(%rsp), %rdx
callq 0x72850
movq 0x28(%rsp), %rdi
movq 0x48(%rsp), %rax
imulq 0x20(%rsp), %rax
addq %rax, %rdi
movq 0x8(%rsp), %rsi
movq 0x20(%rsp), %rdx
callq 0x19610
movq 0x78(%rsp), %rax
testb $0x1, 0x22(%rax)
je 0x71f75
movq (%rsp), %rdx
movq 0x58(%rsp), %rax
movq 0x48(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x71f77
movq 0x48(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x48(%rsp)
jmp 0x71eed
movq 0x8(%rsp), %rdi
leaq 0x4ba297(%rip), %rsi    # 0x52c22d
movl $0x299, %edx            # imm = 0x299
callq 0xe88c0
jmp 0x72040
jmp 0x71fa7
cmpq $0x0, 0x58(%rsp)
jne 0x71fe7
movq 0x5c9fea(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a4053(%rip), %rsi    # 0x516013
leaq 0x4ba675(%rip), %rdx    # 0x52c63c
leaq 0x4ba5ab(%rip), %rcx    # 0x52c579
leaq 0x4ba258(%rip), %r8     # 0x52c22d
movl $0x29c, %r9d            # imm = 0x29C
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x71fe9
movq $0x0, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x78(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jae 0x7203e
callq 0x127e80
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movl %eax, %eax
movq 0x78(%rsp), %rcx
movq 0x18(%rcx), %rcx
addq $0x1, %rcx
xorl %edx, %edx
divq %rcx
movq 0x58(%rsp), %rax
movq 0x48(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x48(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x48(%rsp)
jmp 0x71ff2
jmp 0x72040
jmp 0x72042
jmp 0x72044
jmp 0x72046
movq 0x78(%rsp), %rax
testb $0x1, 0x22(%rax)
je 0x7223e
cmpq $0x0, 0x38(%rsp)
je 0x72101
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rdi
shlq $0x4, %rdi
leaq 0x4ba1b8(%rip), %rsi    # 0x52c22d
movl $0x2aa, %edx            # imm = 0x2AA
callq 0xe80f0
movq %rax, 0x30(%rsp)
movq $0x0, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x78(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jae 0x720dd
movq 0x30(%rsp), %rax
movq 0x48(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x38(%rsp), %rcx
movq 0x48(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq 0x48(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x48(%rsp)
jmp 0x7208d
movq 0x30(%rsp), %rdi
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rsi
movl $0x10, %edx
leaq 0x899(%rip), %rcx       # 0x72990
callq 0x19e70
jmp 0x7223c
cmpq $0x0, 0x28(%rsp)
je 0x72171
jmp 0x7210b
cmpq $0x0, 0x58(%rsp)
jne 0x7214b
movq 0x5c9e86(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a3eef(%rip), %rsi    # 0x516013
leaq 0x4ba511(%rip), %rdx    # 0x52c63c
leaq 0x4ba447(%rip), %rcx    # 0x52c579
leaq 0x4ba0f4(%rip), %r8     # 0x52c22d
movl $0x2b6, %r9d            # imm = 0x2B6
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x7214d
movq 0x58(%rsp), %rdi
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rsi
movl $0x8, %edx
leaq 0x8c9(%rip), %rcx       # 0x72a30
callq 0x19e70
jmp 0x7223a
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rdi
shlq $0x3, %rdi
leaq 0x4ba0a8(%rip), %rsi    # 0x52c22d
movl $0x2ba, %edx            # imm = 0x2BA
callq 0xe80f0
movq %rax, 0x50(%rsp)
cmpq $0x0, 0x58(%rsp)
jne 0x721d4
movq 0x5c9dfd(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a3e66(%rip), %rsi    # 0x516013
leaq 0x4ba488(%rip), %rdx    # 0x52c63c
leaq 0x4ba3be(%rip), %rcx    # 0x52c579
leaq 0x4ba06b(%rip), %r8     # 0x52c22d
movl $0x2bb, %r9d            # imm = 0x2BB
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x721d6
movq $0x0, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x78(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jae 0x7221b
movq 0x58(%rsp), %rax
movq 0x48(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
movq 0x50(%rsp), %rax
movq 0x48(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x48(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x48(%rsp)
jmp 0x721df
movq 0x50(%rsp), %rdi
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rsi
movl $0x8, %edx
leaq 0x7fb(%rip), %rcx       # 0x72a30
callq 0x19e70
jmp 0x7223c
jmp 0x7223e
callq 0x121340
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rdi
callq 0x1213f0
cmpq $0x0, 0x38(%rsp)
je 0x7229b
movq $0x0, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq 0x78(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x72296
movq 0x38(%rsp), %rdi
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0x1017d0
movq 0x40(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x40(%rsp)
jmp 0x72263
jmp 0x72442
cmpq $0x0, 0x28(%rsp)
je 0x72304
jmp 0x722a5
cmpq $0x0, 0x20(%rsp)
ja 0x722e5
movq 0x5c9cec(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a3d55(%rip), %rsi    # 0x516013
leaq 0x4ba385(%rip), %rdx    # 0x52c64a
leaq 0x4ba2ad(%rip), %rcx    # 0x52c579
leaq 0x4b9f5a(%rip), %r8     # 0x52c22d
movl $0x2d2, %r9d            # imm = 0x2D2
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x722e7
movq 0x28(%rsp), %rdi
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rsi
movq 0x20(%rsp), %rdx
callq 0x101820
jmp 0x72440
movq $0x0, 0x68(%rsp)
cmpq $0x8, 0x68(%rsp)
jae 0x7243e
movq 0x78(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
movq 0x68(%rsp), %rcx
leaq 0x5ca63b(%rip), %rax    # 0x63c970
movq (%rax,%rcx,8), %rsi
callq 0x19980
cmpl $0x0, %eax
jne 0x72429
movq $0x0, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq 0x78(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x72427
jmp 0x72366
cmpq $0x0, 0x58(%rsp)
je 0x72376
cmpq $0x0, 0x38(%rsp)
je 0x723ae
movq 0x5c9c23(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a3c8c(%rip), %rsi    # 0x516013
leaq 0x4ba2ce(%rip), %rdx    # 0x52c65c
leaq 0x4ba1e4(%rip), %rcx    # 0x52c579
leaq 0x4b9e91(%rip), %r8     # 0x52c22d
movl $0x2dd, %r9d            # imm = 0x2DD
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x723b0
jmp 0x723b2
cmpq $0x8, 0x68(%rsp)
jb 0x723f2
movq 0x5c9bdf(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a3c48(%rip), %rsi    # 0x516013
leaq 0x4ba2b0(%rip), %rdx    # 0x52c682
leaq 0x4ba1a0(%rip), %rcx    # 0x52c579
leaq 0x4b9e4d(%rip), %r8     # 0x52c22d
movl $0x2de, %r9d            # imm = 0x2DE
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x723f4
movq 0x68(%rsp), %rcx
leaq 0x5ca5d0(%rip), %rax    # 0x63c9d0
movq (%rax,%rcx,8), %rax
movq 0x58(%rsp), %rdi
movq 0x78(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq 0x40(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x40(%rsp)
jmp 0x72350
jmp 0x7243e
jmp 0x7242b
movq 0x68(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x68(%rsp)
jmp 0x7230d
jmp 0x72440
jmp 0x72442
movq 0x78(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, %rsi
leaq 0x5caf1f(%rip), %rax    # 0x63d378
movl (%rax), %edx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x8(%rax), %r8
leaq 0x4ba236(%rip), %rdi    # 0x52c6aa
movb $0x0, %al
callq 0x19070
movq 0x60(%rsp), %rdi
movq 0x5c9ab1(%rip), %rax    # 0x63bf38
movq (%rax), %rdx
leaq 0x4aede1(%rip), %rsi    # 0x521272
callq 0x121520
movq 0x60(%rsp), %rdi
callq 0x121f00
movq 0x78(%rsp), %rax
testb $0x1, 0x22(%rax)
je 0x7255b
cmpq $0x0, 0x38(%rsp)
je 0x724d4
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rdx
callq 0x72a90
jmp 0x72559
cmpq $0x0, 0x28(%rsp)
je 0x7253f
jmp 0x724de
cmpq $0x0, 0x58(%rsp)
jne 0x7251e
movq 0x5c9ab3(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a3b1c(%rip), %rsi    # 0x516013
leaq 0x4ba13e(%rip), %rdx    # 0x52c63c
leaq 0x4ba074(%rip), %rcx    # 0x52c579
leaq 0x4b9d21(%rip), %r8     # 0x52c22d
movl $0x2fa, %r9d            # imm = 0x2FA
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x72520
movq 0x28(%rsp), %rdi
movq 0x58(%rsp), %rsi
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rdx
movq 0x20(%rsp), %rcx
callq 0x72d30
jmp 0x72557
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %rsi
movq 0x78(%rsp), %rax
movq 0x8(%rax), %rdx
callq 0x72e00
jmp 0x72559
jmp 0x7255b
movq 0x28(%rsp), %rdi
leaq 0x4b9cc6(%rip), %rsi    # 0x52c22d
movl $0x303, %edx            # imm = 0x303
callq 0xe88c0
movq 0x58(%rsp), %rdi
leaq 0x4b9cb0(%rip), %rsi    # 0x52c22d
movl $0x304, %edx            # imm = 0x304
callq 0xe88c0
movq 0x50(%rsp), %rdi
leaq 0x4b9c9a(%rip), %rsi    # 0x52c22d
movl $0x305, %edx            # imm = 0x305
callq 0xe88c0
movq 0x38(%rsp), %rdi
leaq 0x4b9c84(%rip), %rsi    # 0x52c22d
movl $0x306, %edx            # imm = 0x306
callq 0xe88c0
movq 0x30(%rsp), %rdi
leaq 0x4b9c6e(%rip), %rsi    # 0x52c22d
movl $0x307, %edx            # imm = 0x307
callq 0xe88c0
cmpq $0x0, 0x5d0527(%rip)    # 0x642af8
jbe 0x725e8
movq 0x5d051e(%rip), %rsi    # 0x642af8
leaq 0x4ba0ea(%rip), %rdi    # 0x52c6cb
movb $0x0, %al
callq 0x19070
movl 0x74(%rsp), %eax
addq $0xa8, %rsp
retq
nopw %cs:(%rax,%rax)