// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/bcktab.c
// Function: gt_bcktab_updatespecials
void gt_bcktab_updatespecials(GtBcktab *bcktab,
                              GtCodetype code,
                              unsigned int prefixindex)
{
  GtCodetype specialcode;

  gt_assert(prefixindex > 0);
  gt_assert(prefixindex <= bcktab->prefixlength);
  gt_assert(code < bcktab->numofallcodes);
  if (prefixindex < bcktab->prefixlength-1)
  {
    GtCodetype ordercode = (code - bcktab->filltable[prefixindex])/
                           (bcktab->filltable[prefixindex]+1);
    gt_bcktab_distpfxidx_increment(bcktab,prefixindex-1,ordercode);
  }
  gt_assert(code >= (GtCodetype) (bcktab->numofchars-1));
  specialcode = GT_FROMCODE2SPECIALCODE(code,bcktab->numofchars);
  if (bcktab->ulongcountspecialcodes != NULL)
  {
    bcktab->ulongcountspecialcodes[specialcode]++;
  } else
  {
    gt_assert(bcktab->uintcountspecialcodes != NULL);
    bcktab->uintcountspecialcodes[specialcode]++;
  }
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movl %edx, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
ja 0x205461
movq 0x436b70(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x310bd9(%rip), %rsi    # 0x516013
leaq 0x36bb9f(%rip), %rdx    # 0x570fe0
leaq 0x36bba8(%rip), %rcx    # 0x570ff0
leaq 0x36b9c3(%rip), %r8     # 0x570e12
movl $0x372, %r9d            # imm = 0x372
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x205463
jmp 0x205465
movl 0x24(%rsp), %eax
movq 0x30(%rsp), %rcx
cmpl 0x48(%rcx), %eax
jbe 0x2054ab
movq 0x436b26(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x310b8f(%rip), %rsi    # 0x516013
leaq 0x36bb7e(%rip), %rdx    # 0x571009
leaq 0x36bb5e(%rip), %rcx    # 0x570ff0
leaq 0x36b979(%rip), %r8     # 0x570e12
movl $0x373, %r9d            # imm = 0x373
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2054ad
jmp 0x2054af
movq 0x28(%rsp), %rax
movq 0x30(%rsp), %rcx
cmpq 0x58(%rcx), %rax
jb 0x2054f7
movq 0x436ada(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x310b43(%rip), %rsi    # 0x516013
leaq 0x36bb56(%rip), %rdx    # 0x57102d
leaq 0x36bb12(%rip), %rcx    # 0x570ff0
leaq 0x36b92d(%rip), %r8     # 0x570e12
movl $0x374, %r9d            # imm = 0x374
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2054f9
movl 0x24(%rsp), %eax
movq 0x30(%rsp), %rcx
movl 0x48(%rcx), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jae 0x205557
movq 0x28(%rsp), %rax
movq 0x30(%rsp), %rcx
movq 0x78(%rcx), %rcx
movl 0x24(%rsp), %edx
subq (%rcx,%rdx,8), %rax
movq 0x30(%rsp), %rcx
movq 0x78(%rcx), %rcx
movl 0x24(%rsp), %edx
movq (%rcx,%rdx,8), %rcx
addq $0x1, %rcx
xorl %edx, %edx
divq %rcx
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rdi
movl 0x24(%rsp), %esi
subl $0x1, %esi
movq 0x10(%rsp), %rdx
callq 0x205690
jmp 0x205559
movq 0x28(%rsp), %rax
movq 0x30(%rsp), %rcx
movl 0x4c(%rcx), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
cmpq %rcx, %rax
jae 0x2055a8
movq 0x436a29(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x310a92(%rip), %rsi    # 0x516013
leaq 0x36bac2(%rip), %rdx    # 0x57104a
leaq 0x36ba61(%rip), %rcx    # 0x570ff0
leaq 0x36b87c(%rip), %r8     # 0x570e12
movl $0x37b, %r9d            # imm = 0x37B
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2055aa
movq 0x30(%rsp), %rax
cmpl $0x4, 0x4c(%rax)
jne 0x2055c5
movq 0x28(%rsp), %rax
shrq $0x2, %rax
movq %rax, 0x8(%rsp)
jmp 0x2055ec
movq 0x28(%rsp), %rax
movq 0x30(%rsp), %rcx
movl 0x4c(%rcx), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
subq %rcx, %rax
movq 0x30(%rsp), %rcx
movl 0x4c(%rcx), %ecx
xorl %edx, %edx
divq %rcx
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
cmpq $0x0, 0x20(%rax)
je 0x20561e
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
addq $0x1, %rdx
movq %rdx, (%rax,%rcx,8)
jmp 0x20567d
jmp 0x205620
movq 0x30(%rsp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x205664
movq 0x43696d(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3109d6(%rip), %rsi    # 0x516013
leaq 0x36ba32(%rip), %rdx    # 0x571076
leaq 0x36b9a5(%rip), %rcx    # 0x570ff0
leaq 0x36b7c0(%rip), %r8     # 0x570e12
movl $0x382, %r9d            # imm = 0x382
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x205666
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x18(%rsp), %rcx
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
movl %edx, (%rax,%rcx,4)
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)