// File: chhylp123[P]hifiasm/gfa_ut.cpp
// Function: integer_node_del(ul2ul_idx_t*, unsigned long, unsigned long)
void integer_node_del(ul2ul_idx_t *ul2, uint64_t id, uint64_t is_ct)
{
    ul2ul_item_t *o = get_ul_ovlp(ul2, ulg_id(*ul2, id), ulg_type(*ul2, id));
    if(o) {
        uint64_t k; ul2ul_t *z;
        for (k = 0; k < o->cn; k++) {
            if(is_ct) o->a[k].is_ct = 1;
            else o->a[k].is_del = 1;
            z = get_ul_o(ul2, ulg_id(*ul2, o->a[k].hid), ulg_type(*ul2, o->a[k].hid), ulg_id(*ul2, id), ulg_type(*ul2, id));
            if(is_ct) z->is_ct = 1;
            else z->is_del = 1;
        }
        o->is_del = 1;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jb 0x338d9c
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
subq 0x18(%rcx), %rax
movq %rax, -0x40(%rbp)
jmp 0x338da4
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x18(%rax), %r8
movl $0x1, %eax
xorl %ecx, %ecx
cmpq %r8, %rdx
cmovael %ecx, %eax
movslq %eax, %rdx
callq 0x3370e0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x338f6e
movq $0x0, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
movl 0x1c(%rcx), %ecx
cmpq %rcx, %rax
jae 0x338f58
cmpq $0x0, -0x18(%rbp)
je 0x338e1c
movq -0x20(%rbp), %rax
movq (%rax), %rax
imulq $0x28, -0x28(%rbp), %rcx
addq %rcx, %rax
movb 0x24(%rax), %cl
andb $0x7f, %cl
orb $-0x80, %cl
movb %cl, 0x24(%rax)
jmp 0x338e37
movq -0x20(%rbp), %rax
movq (%rax), %rax
imulq $0x28, -0x28(%rbp), %rcx
addq %rcx, %rax
movb 0x24(%rax), %cl
andb $-0x41, %cl
orb $0x40, %cl
movb %cl, 0x24(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x20(%rbp), %rax
movq (%rax), %rax
imulq $0x28, -0x28(%rbp), %rcx
addq %rcx, %rax
movl (%rax), %eax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jb 0x338e79
movq -0x20(%rbp), %rax
movq (%rax), %rax
imulq $0x28, -0x28(%rbp), %rcx
addq %rcx, %rax
movl (%rax), %eax
movq -0x8(%rbp), %rcx
subq 0x18(%rcx), %rax
movq %rax, -0x50(%rbp)
jmp 0x338e8e
movq -0x20(%rbp), %rax
movq (%rax), %rax
imulq $0x28, -0x28(%rbp), %rcx
addq %rcx, %rax
movl (%rax), %eax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movl %eax, -0x58(%rbp)
movq -0x20(%rbp), %rax
movq (%rax), %rax
imulq $0x28, -0x28(%rbp), %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, %edx
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rsi
movl $0x1, %eax
xorl %ecx, %ecx
cmpq %rsi, %rdx
cmovael %ecx, %eax
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jb 0x338ee0
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
subq 0x18(%rcx), %rax
movq %rax, -0x60(%rbp)
jmp 0x338ee8
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movl -0x54(%rbp), %edx
movl -0x58(%rbp), %esi
movq -0x48(%rbp), %rdi
movq -0x60(%rbp), %rax
movl %eax, %ecx
movq -0x10(%rbp), %r9
movq -0x8(%rbp), %rax
movq 0x18(%rax), %r10
movl $0x1, %r8d
xorl %eax, %eax
cmpq %r10, %r9
cmovael %eax, %r8d
callq 0x337160
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x338f35
movq -0x30(%rbp), %rax
movb 0x24(%rax), %cl
andb $0x7f, %cl
orb $-0x80, %cl
movb %cl, 0x24(%rax)
jmp 0x338f45
movq -0x30(%rbp), %rax
movb 0x24(%rax), %cl
andb $-0x41, %cl
orb $0x40, %cl
movb %cl, 0x24(%rax)
jmp 0x338f47
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x338de4
movq -0x20(%rbp), %rax
movl 0x18(%rax), %ecx
andl $0x7fffffff, %ecx       # imm = 0x7FFFFFFF
orl $0x80000000, %ecx       # imm = 0x80000000
movl %ecx, 0x18(%rax)
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)