// File: quancs[P]EAVC/./eavc.h
// Function: prep_handle_dom(unsigned int, bool&)
inline bool prep_handle_dom(unsigned v, bool &found) {
    for (unsigned i = 0; i < dVDegree[v]; i++) {
        unsigned adj = vAdj[v][i];
        if (dVDegree[v] > dVDegree[adj])
            continue;

        //check if N[v] <= N[adj]
        bool adjDomV = true;
        for (unsigned j = 0; j < dVDegree[v]; j++) {
            unsigned vadj = vAdj[v][j];
            if (vadj == adj)
                continue;

            bool contain = false;
            for (unsigned k = 0; k < dVDegree[adj]; k++) {
                if (vAdj[adj][k] == vadj) {
                    contain = true;
                    break;
                }
            }
            if (contain == false) {
                adjDomV = false;
                break;
            }
        }

        if (adjDomV) { //v dominates adj or adj dominates v or they dominate each other
            vInBest[adj] = IN_ABS;
            total_IN_ABS++;

            //remove vForSure from its neighbours
            prep_remove_from_neighbours(adj);

            //set adjAdj's checkAdjDomV to true
            for (unsigned k = 0, dadj = dVDegree[adj]; k < dadj; k++) {
                unsigned adjAdj = vAdj[adj][k];
                checkAdjDomV[adjAdj] = IN;
            }

            //remove vForSure's neighbours
            dVDegree[adj] = 0;
            found = true;
            return false;
        }
    }
    checkAdjDomV[v] = NIN;
    return false;
}

// Assembly:
subq $0x38, %rsp
movl %edi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
movq 0x41e0(%rip), %rcx      # 0xb1b0
movl 0x30(%rsp), %edx
cmpl (%rcx,%rdx,4), %eax
jae 0x719c
movq 0x419c(%rip), %rax      # 0xb180
movl 0x30(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x24(%rsp), %ecx
movl (%rax,%rcx,4), %eax
movl %eax, 0x20(%rsp)
movq 0x41b2(%rip), %rax      # 0xb1b0
movl 0x30(%rsp), %ecx
movl (%rax,%rcx,4), %eax
movq 0x41a4(%rip), %rcx      # 0xb1b0
movl 0x20(%rsp), %edx
cmpl (%rcx,%rdx,4), %eax
jbe 0x701a
jmp 0x718c
movb $0x1, 0x1f(%rsp)
movl $0x0, 0x18(%rsp)
movl 0x18(%rsp), %eax
movq 0x417e(%rip), %rcx      # 0xb1b0
movl 0x30(%rsp), %edx
cmpl (%rcx,%rdx,4), %eax
jae 0x70df
movq 0x413a(%rip), %rax      # 0xb180
movl 0x30(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x18(%rsp), %ecx
movl (%rax,%rcx,4), %eax
movl %eax, 0x14(%rsp)
movl 0x14(%rsp), %eax
cmpl 0x20(%rsp), %eax
jne 0x7065
jmp 0x70cf
movb $0x0, 0x13(%rsp)
movl $0x0, 0xc(%rsp)
movl 0xc(%rsp), %eax
movq 0x4133(%rip), %rcx      # 0xb1b0
movl 0x20(%rsp), %edx
cmpl (%rcx,%rdx,4), %eax
jae 0x70b8
movq 0x40f3(%rip), %rax      # 0xb180
movl 0x20(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movl 0xc(%rsp), %ecx
movl (%rax,%rcx,4), %eax
cmpl 0x14(%rsp), %eax
jne 0x70a9
movb $0x1, 0x13(%rsp)
jmp 0x70b8
jmp 0x70ab
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x7072
movb 0x13(%rsp), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x70cd
movb $0x0, 0x1f(%rsp)
jmp 0x70df
jmp 0x70cf
movl 0x18(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x18(%rsp)
jmp 0x7027
testb $0x1, 0x1f(%rsp)
je 0x718a
movq 0x40b7(%rip), %rax      # 0xb1a8
movl 0x20(%rsp), %ecx
movb $0x4, (%rax,%rcx)
movl 0x40f5(%rip), %eax      # 0xb1f4
addl $0x1, %eax
movl %eax, 0x40ec(%rip)      # 0xb1f4
movl 0x20(%rsp), %edi
callq 0x2c50
movl $0x0, 0x8(%rsp)
movq 0x4090(%rip), %rax      # 0xb1b0
movl 0x20(%rsp), %ecx
movl (%rax,%rcx,4), %eax
movl %eax, 0x4(%rsp)
movl 0x8(%rsp), %eax
cmpl 0x4(%rsp), %eax
jae 0x7169
movq 0x4044(%rip), %rax      # 0xb180
movl 0x20(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x8(%rsp), %ecx
movl (%rax,%rcx,4), %eax
movl %eax, (%rsp)
movq 0x4083(%rip), %rax      # 0xb1d8
movl (%rsp), %ecx
movb $0x3, (%rax,%rcx)
movl 0x8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x8(%rsp)
jmp 0x712b
movq 0x4040(%rip), %rax      # 0xb1b0
movl 0x20(%rsp), %ecx
movl $0x0, (%rax,%rcx,4)
movq 0x28(%rsp), %rax
movb $0x1, (%rax)
movb $0x0, 0x37(%rsp)
jmp 0x71b0
jmp 0x718c
movl 0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x24(%rsp)
jmp 0x6fc5
movq 0x4035(%rip), %rax      # 0xb1d8
movl 0x30(%rsp), %ecx
movb $0x0, (%rax,%rcx)
movb $0x0, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nopl (%rax,%rax)