// File: /workspace/github_c_makefile_star2_O0/samtools[P]htslib/bgzf.c
// Function: bgzf_index_add_block
int bgzf_index_add_block(BGZF *fp)
{
    fp->idx->noffs++;
    if ( fp->idx->noffs > fp->idx->moffs )
    {
        fp->idx->moffs = fp->idx->noffs;
        kroundup32(fp->idx->moffs);
        fp->idx->offs = (bgzidx1_t*) realloc(fp->idx->offs, fp->idx->moffs*sizeof(bgzidx1_t));
        if ( !fp->idx->offs ) return -1;
    }
    fp->idx->offs[ fp->idx->noffs-1 ].uaddr = fp->idx->ublock_addr;
    fp->idx->offs[ fp->idx->noffs-1 ].caddr = fp->block_address;
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movl (%rax), %eax
movq -0x10(%rbp), %rcx
movq 0x50(%rcx), %rcx
cmpl 0x4(%rcx), %eax
jle 0xdd06
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movl (%rax), %ecx
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
cmpl $0x0, 0x4(%rax)
jle 0xdcba
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movl 0x4(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movl 0x4(%rax), %ecx
sarl $0x0, %ecx
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
orl 0x4(%rax), %ecx
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movl 0x4(%rax), %ecx
sarl %ecx
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
orl 0x4(%rax), %ecx
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movl 0x4(%rax), %ecx
sarl $0x2, %ecx
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
orl 0x4(%rax), %ecx
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movl 0x4(%rax), %ecx
sarl $0x4, %ecx
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
orl 0x4(%rax), %ecx
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movl 0x4(%rax), %ecx
sarl $0x8, %ecx
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
orl 0x4(%rax), %ecx
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movl 0x4(%rax), %ecx
sarl $0x10, %ecx
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
orl 0x4(%rax), %ecx
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movl 0x4(%rax), %eax
movq -0x10(%rbp), %rcx
movq 0x50(%rcx), %rcx
imull $0x0, 0x4(%rcx), %edx
addl $0x1, %edx
xorl %ecx, %ecx
subl %edx, %ecx
cmpl $0x0, %ecx
setg %cl
xorb $-0x1, %cl
andb $0x1, %cl
movzbl %cl, %ecx
movslq %ecx, %rdx
movl $0x1f, %ecx
subq %rdx, %rcx
sarl %cl, %eax
andl $0x1, %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
addl 0x4(%rax), %ecx
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movl 0x4(%rax), %eax
jmp 0xdcbc
jmp 0xdcbc
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movslq 0x4(%rax), %rsi
shlq $0x4, %rsi
callq 0x4820
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
cmpq $0x0, 0x8(%rax)
jne 0xdd04
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xdd6e
jmp 0xdd06
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movq 0x10(%rax), %rcx
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rdx
movq 0x50(%rdx), %rdx
movl (%rdx), %edx
subl $0x1, %edx
movslq %edx, %rdx
shlq $0x4, %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rcx
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rdx
movq 0x50(%rdx), %rdx
movl (%rdx), %edx
subl $0x1, %edx
movslq %edx, %rdx
shlq $0x4, %rdx
addq %rdx, %rax
movq %rcx, 0x8(%rax)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)