// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/timer.c
// Function: gt_timer_show_progress_va
void gt_timer_show_progress_va(GT_WIN32_UNUSED GtTimer *t,
                               GT_WIN32_UNUSED FILE *fp,
                               GT_WIN32_UNUSED const char *desc,
                               GT_WIN32_UNUSED va_list ap)
{
#ifndef _WIN32
  char buf[BUFSIZ];
  struct timeval elapsed_tv, elapsed_user_tv, elapsed_sys_tv;
  gt_assert(t && desc);

  gettimeofday(&t->stop_tv, NULL);
  gt_xgetrusage(RUSAGE_SELF, &t->stop_ru);
  timeval_subtract(&elapsed_tv, &t->stop_tv, &t->start_tv);
  timeval_subtract(&elapsed_user_tv, &t->stop_ru.ru_utime,
    &t->start_ru.ru_utime);
  timeval_subtract(&elapsed_sys_tv, &t->stop_ru.ru_stime,
    &t->start_ru.ru_stime);
  gt_timer_print_progress_report(t, &elapsed_tv, &elapsed_user_tv,
    &elapsed_sys_tv, t->statedesc, fp);
  if (t->statedesc)
    gt_free(t->statedesc);
  (void) vsnprintf(buf, BUFSIZ, desc, ap);
  t->statedesc = gt_cstr_dup(buf);
  gettimeofday(&t->start_tv, NULL);
  gt_xgetrusage(RUSAGE_SELF, &t->start_ru);
#else
  /* XXX */
  fprintf(stderr, "gt_timer_show_progress_va() not implemented\n");
  exit(EXIT_FAILURE);
#endif
}

// Assembly:
subq $0x2058, %rsp           # imm = 0x2058
movq %rdi, 0x2050(%rsp)
movq %rsi, 0x2048(%rsp)
movq %rdx, 0x2040(%rsp)
movq %rcx, 0x2038(%rsp)
cmpq $0x0, 0x2050(%rsp)
je 0x14be2d
cmpq $0x0, 0x2040(%rsp)
jne 0x14be65
movq 0x681a4(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x12228(%rip), %rsi     # 0x15e066
leaq 0x4122c(%rip), %rdx     # 0x18d071
leaq 0x41250(%rip), %rcx     # 0x18d09c
leaq 0x4116a(%rip), %r8      # 0x18cfbd
movl $0x108, %r9d            # imm = 0x108
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x14be67
movq 0x2050(%rsp), %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xb9e0
movq 0x2050(%rsp), %rsi
addq $0x150, %rsi            # imm = 0x150
xorl %edi, %edi
callq 0xa2c40
movq 0x2050(%rsp), %rsi
addq $0x20, %rsi
movq 0x2050(%rsp), %rdx
addq $0x10, %rdx
leaq 0x20(%rsp), %rdi
callq 0x14b960
movq 0x2050(%rsp), %rsi
addq $0x150, %rsi            # imm = 0x150
movq 0x2050(%rsp), %rdx
addq $0xc0, %rdx
leaq 0x10(%rsp), %rdi
callq 0x14b960
movq 0x2050(%rsp), %rsi
addq $0x150, %rsi            # imm = 0x150
addq $0x10, %rsi
movq 0x2050(%rsp), %rdx
addq $0xc0, %rdx
addq $0x10, %rdx
movq %rsp, %rdi
callq 0x14b960
movq 0x2050(%rsp), %rdi
movq 0x2050(%rsp), %rax
movq 0x1e8(%rax), %r8
movq 0x2048(%rsp), %r9
leaq 0x20(%rsp), %rsi
leaq 0x10(%rsp), %rdx
movq %rsp, %rcx
callq 0x14bfe0
movq 0x2050(%rsp), %rax
cmpq $0x0, 0x1e8(%rax)
je 0x14bf6d
movq 0x2050(%rsp), %rax
movq 0x1e8(%rax), %rdi
leaq 0x4105a(%rip), %rsi     # 0x18cfbd
movl $0x114, %edx            # imm = 0x114
callq 0xdab0
leaq 0x30(%rsp), %rdi
movq 0x2040(%rsp), %rdx
movq 0x2038(%rsp), %rcx
movl $0x2000, %esi           # imm = 0x2000
callq 0xb390
leaq 0x30(%rsp), %rdi
callq 0x7c400
movq %rax, %rcx
movq 0x2050(%rsp), %rax
movq %rcx, 0x1e8(%rax)
movq 0x2050(%rsp), %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xb9e0
movq 0x2050(%rsp), %rsi
addq $0xc0, %rsi
xorl %edi, %edi
callq 0xa2c40
addq $0x2058, %rsp           # imm = 0x2058
retq
nopl (%rax,%rax)