// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/hpol_processor.c
// Function: gt_hpol_processor_process_complete_segment
static void gt_hpol_processor_process_complete_segment(
    GtAlignedSegment *as, void *data)
{
  GtHpolProcessorAddToHashResult multihit = GT_HPOL_PROCESSOR_NEW_RECORD;
  GtHpolProcessor *hpp = data;
  gt_assert(hpp != NULL);
  if (hpp->output_segments)
    gt_hpol_processor_output_segment(as, gt_aligned_segment_has_indels(as),
        hpp->outfp_segments, NULL);
  if (hpp->processed_segments != NULL)
    multihit = gt_hpol_processor_add_segment_to_hashmap(hpp, as);
  if (multihit == GT_HPOL_PROCESSOR_NEW_RECORD)
  {
    if (gt_aligned_segment_seq_edited(as))
      (hpp->nof_complete_edited)++;
    else
      (hpp->nof_complete_not_edited)++;
  }
  else if (multihit == GT_HPOL_PROCESSOR_REPLACED)
  {
    gt_assert(gt_aligned_segment_seq_edited(as));
    (hpp->nof_complete_edited)++;
    gt_assert(hpp->nof_complete_not_edited > 0);
    (hpp->nof_complete_not_edited)--;
  }
  else if (multihit == GT_HPOL_PROCESSOR_NOT_REPLACED)
  {
    gt_aligned_segment_delete(as);
  }
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movl $0x0, 0x14(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x18e230
movq 0x4adda1(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x387e0a(%rip), %rsi    # 0x516013
leaq 0x3c7b2d(%rip), %rdx    # 0x555d3d
leaq 0x3c7d06(%rip), %rcx    # 0x555f1d
leaq 0x3c7ae2(%rip), %r8     # 0x555d00
movl $0xb6, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x18e232
movq 0x8(%rsp), %rax
testb $0x1, 0xf8(%rax)
je 0x18e272
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
movq 0x20(%rsp), %rdi
callq 0x488d80
movq (%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0xc0(%rcx), %rdx
movzbl %al, %esi
andl $0x1, %esi
xorl %eax, %eax
movl %eax, %ecx
callq 0x18f9f0
movq 0x8(%rsp), %rax
cmpq $0x0, 0xe8(%rax)
je 0x18e294
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x18fc70
movl %eax, 0x14(%rsp)
cmpl $0x0, 0x14(%rsp)
jne 0x18e2d4
movq 0x20(%rsp), %rdi
callq 0x488c70
testb $0x1, %al
jne 0x18e2ab
jmp 0x18e2be
movq 0x8(%rsp), %rax
movq 0x70(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x70(%rax)
jmp 0x18e2cf
movq 0x8(%rsp), %rax
movq 0x78(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x78(%rax)
jmp 0x18e3a8
cmpl $0x1, 0x14(%rsp)
jne 0x18e393
jmp 0x18e2e1
movq 0x20(%rsp), %rdi
callq 0x488c70
testb $0x1, %al
jne 0x18e327
movq 0x4adcaa(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x387d13(%rip), %rsi    # 0x516013
leaq 0x3c7c41(%rip), %rdx    # 0x555f48
leaq 0x3c7c0f(%rip), %rcx    # 0x555f1d
leaq 0x3c79eb(%rip), %r8     # 0x555d00
movl $0xc5, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x18e329
movq 0x8(%rsp), %rax
movq 0x70(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x70(%rax)
movq 0x8(%rsp), %rax
cmpq $0x0, 0x78(%rax)
ja 0x18e37e
movq 0x4adc53(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x387cbc(%rip), %rsi    # 0x516013
leaq 0x3c7c0c(%rip), %rdx    # 0x555f6a
leaq 0x3c7bb8(%rip), %rcx    # 0x555f1d
leaq 0x3c7994(%rip), %r8     # 0x555d00
movl $0xc7, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x18e380
movq 0x8(%rsp), %rax
movq 0x78(%rax), %rcx
addq $-0x1, %rcx
movq %rcx, 0x78(%rax)
jmp 0x18e3a6
cmpl $0x2, 0x14(%rsp)
jne 0x18e3a4
movq 0x20(%rsp), %rdi
callq 0x488de0
jmp 0x18e3a6
jmp 0x18e3a8
addq $0x28, %rsp
retq
nopl (%rax)