// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/esa-scanprj.c
// Function: gt_scannedprjkey_add
void gt_scannedprjkey_add(GtScannedprjkeytable *scannedprjkeytable,
                          const char *keystring,
                          void *valueptr,
                          size_t sizeval,
                          bool readdouble,
                          bool *readflag)
{
  GtScannedprjkey rikvalue;

  rikvalue.keystring = keystring;
  rikvalue.readflag = readflag;
  rikvalue.readdouble = readdouble;
  if (readdouble)
  {
    gt_assert(sizeval == sizeof (double));
    rikvalue.uint32valueptr = NULL;
    rikvalue.uint64valueptr = NULL;
    rikvalue.doublevalueptr = valueptr;
    rikvalue.ptrdefined = true;
  } else
  {
    gt_assert(sizeval == 0 || sizeval == (size_t) 4 || sizeval == (size_t) 8);
    switch (sizeval)
    {
      case 0: rikvalue.uint32valueptr = NULL;
              rikvalue.uint64valueptr = NULL;
              rikvalue.ptrdefined = false;
              break;
      case 4: gt_assert(sizeof (uint32_t) == (size_t) 4);
              rikvalue.uint32valueptr = valueptr;
              rikvalue.uint64valueptr = NULL;
              rikvalue.ptrdefined = true;
              break;
      case 8: gt_assert(sizeof (uint64_t) == (size_t) 8);
              rikvalue.uint64valueptr = valueptr;
              rikvalue.uint32valueptr = NULL;
              rikvalue.ptrdefined = true;
              break;
    }
  }
  rikvalue.found = false;
  gt_array_add_elem(scannedprjkeytable->arr,&rikvalue,
                    sizeof (GtScannedprjkey));
}

// Assembly:
subq $0x68, %rsp
movb %r8b, %al
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
movq %rdx, 0x50(%rsp)
movq %rcx, 0x48(%rsp)
andb $0x1, %al
movb %al, 0x47(%rsp)
movq %r9, 0x38(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x30(%rsp)
movb 0x47(%rsp), %al
andb $0x1, %al
movb %al, 0x28(%rsp)
testb $0x1, 0x47(%rsp)
je 0x23aab5
jmp 0x23aa4d
cmpq $0x8, 0x48(%rsp)
je 0x23aa8d
movq 0x401544(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2db5ad(%rip), %rsi    # 0x516013
leaq 0x33c9cf(%rip), %rdx    # 0x57743c
leaq 0x33c9e3(%rip), %rcx    # 0x577457
leaq 0x33c9a9(%rip), %r8     # 0x577424
movl $0x53, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x23aa8f
movq $0x0, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
movq 0x50(%rsp), %rax
movq %rax, 0x20(%rsp)
movb $0x1, 0x29(%rsp)
jmp 0x23ab86
jmp 0x23aab7
cmpq $0x0, 0x48(%rsp)
je 0x23ab07
cmpq $0x4, 0x48(%rsp)
je 0x23ab07
cmpq $0x8, 0x48(%rsp)
je 0x23ab07
movq 0x4014ca(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2db533(%rip), %rsi    # 0x516013
leaq 0x33c985(%rip), %rdx    # 0x57746c
leaq 0x33c969(%rip), %rcx    # 0x577457
leaq 0x33c92f(%rip), %r8     # 0x577424
movl $0x5a, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x23ab09
movq 0x48(%rsp), %rax
movq %rax, (%rsp)
testq %rax, %rax
je 0x23ab31
jmp 0x23ab19
movq (%rsp), %rax
subq $0x4, %rax
je 0x23ab4a
jmp 0x23ab25
movq (%rsp), %rax
subq $0x8, %rax
je 0x23ab68
jmp 0x23ab84
movq $0x0, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
movb $0x0, 0x29(%rsp)
jmp 0x23ab84
jmp 0x23ab4c
jmp 0x23ab4e
movq 0x50(%rsp), %rax
movq %rax, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
movb $0x1, 0x29(%rsp)
jmp 0x23ab84
jmp 0x23ab6a
jmp 0x23ab6c
movq 0x50(%rsp), %rax
movq %rax, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movb $0x1, 0x29(%rsp)
jmp 0x23ab86
movb $0x0, 0x2a(%rsp)
movq 0x60(%rsp), %rax
movq (%rax), %rdi
leaq 0x8(%rsp), %rsi
movl $0x30, %edx
callq 0x81100
addq $0x68, %rsp
retq
nopw (%rax,%rax)