// File: Laakeri[P]maxpre/src/touchedlist.cpp
// Function: maxPreprocessor::TouchedList::getModVarsCh(unsigned long, std::vector<int, std::allocator<int>>&)
void TouchedList::getModVarsCh(uint64_t eitr, std::vector<int>& ret) {
	for (int i = (int)modLiterals.size() - 1; i >= 0 && modLiterals[i].F >= eitr; i--) {
		if (getI[litVariable(modLiterals[i].S)] != getItr) {
			getI[litVariable(modLiterals[i].S)] = getItr;
			ret.push_back(litVariable(modLiterals[i].S));
		}
	}
	for (int i = (int)modClauses.size() - 1; i >= 0 && modClauses[i].F >= eitr; i--) {
		for (int l : pi.clauses[modClauses[i].S].lit) {
			if (getI[litVariable(l)] != getItr) {
				getI[litVariable(l)] = getItr;
				ret.push_back(litVariable(l));
			}
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x50(%rbp)
addq $0x50, %rdi
callq 0x74380
subl $0x1, %eax
movl %eax, -0x1c(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x1c(%rbp)
movb %al, -0x51(%rbp)
jl 0x72ed7
movq -0x50(%rbp), %rdi
addq $0x50, %rdi
movslq -0x1c(%rbp), %rsi
callq 0x743b0
movq (%rax), %rax
cmpq -0x10(%rbp), %rax
setae %al
movb %al, -0x51(%rbp)
movb -0x51(%rbp), %al
testb $0x1, %al
jne 0x72ee3
jmp 0x72fa4
movq -0x50(%rbp), %rdi
movq %rdi, %rax
addq $0x170, %rax            # imm = 0x170
movq %rax, -0x60(%rbp)
addq $0x50, %rdi
movslq -0x1c(%rbp), %rsi
callq 0x743b0
movl 0x8(%rax), %edi
callq 0x3c880
movq -0x60(%rbp), %rdi
movslq %eax, %rsi
callq 0xa7c0
movq -0x50(%rbp), %rcx
movl (%rax), %eax
cmpl 0x198(%rcx), %eax
je 0x72f94
movq -0x50(%rbp), %rdi
movl 0x198(%rdi), %eax
movl %eax, -0x6c(%rbp)
movq %rdi, %rax
addq $0x170, %rax            # imm = 0x170
movq %rax, -0x78(%rbp)
addq $0x50, %rdi
movslq -0x1c(%rbp), %rsi
callq 0x743b0
movl 0x8(%rax), %edi
callq 0x3c880
movq -0x78(%rbp), %rdi
movslq %eax, %rsi
callq 0xa7c0
movl -0x6c(%rbp), %ecx
movq -0x50(%rbp), %rdi
movl %ecx, (%rax)
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
addq $0x50, %rdi
movslq -0x1c(%rbp), %rsi
callq 0x743b0
movl 0x8(%rax), %edi
callq 0x3c880
movq -0x68(%rbp), %rdi
movl %eax, -0x20(%rbp)
leaq -0x20(%rbp), %rsi
callq 0x3c850
jmp 0x72f96
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x72eae
movq -0x50(%rbp), %rdi
addq $0xf0, %rdi
callq 0x74380
subl $0x1, %eax
movl %eax, -0x24(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x24(%rbp)
movb %al, -0x79(%rbp)
jl 0x72fe6
movq -0x50(%rbp), %rdi
addq $0xf0, %rdi
movslq -0x24(%rbp), %rsi
callq 0x743b0
movq (%rax), %rax
cmpq -0x10(%rbp), %rax
setae %al
movb %al, -0x79(%rbp)
movb -0x79(%rbp), %al
testb $0x1, %al
jne 0x72ff2
jmp 0x73121
movq -0x50(%rbp), %rdi
movq 0x1a0(%rdi), %rax
movq %rax, -0x88(%rbp)
addq $0xf0, %rdi
movslq -0x24(%rbp), %rsi
callq 0x743b0
movq -0x88(%rbp), %rdi
movslq 0x8(%rax), %rsi
callq 0x3d060
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
callq 0x3d080
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x40(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x73058
jmp 0x73111
leaq -0x38(%rbp), %rdi
callq 0x3d120
movq %rax, %rcx
movq -0x50(%rbp), %rax
movl (%rcx), %ecx
movl %ecx, -0x44(%rbp)
addq $0x170, %rax            # imm = 0x170
movq %rax, -0x90(%rbp)
movl -0x44(%rbp), %edi
callq 0x3c880
movq -0x90(%rbp), %rdi
movslq %eax, %rsi
callq 0xa7c0
movq -0x50(%rbp), %rcx
movl (%rax), %eax
cmpl 0x198(%rcx), %eax
je 0x73101
movq -0x50(%rbp), %rax
movl 0x198(%rax), %ecx
movl %ecx, -0x9c(%rbp)
addq $0x170, %rax            # imm = 0x170
movq %rax, -0xa8(%rbp)
movl -0x44(%rbp), %edi
callq 0x3c880
movq -0xa8(%rbp), %rdi
movslq %eax, %rsi
callq 0xa7c0
movl -0x9c(%rbp), %ecx
movl %ecx, (%rax)
movq -0x18(%rbp), %rax
movq %rax, -0x98(%rbp)
movl -0x44(%rbp), %edi
callq 0x3c880
movq -0x98(%rbp), %rdi
movl %eax, -0x48(%rbp)
leaq -0x48(%rbp), %rsi
callq 0x3c850
jmp 0x73103
leaq -0x38(%rbp), %rdi
callq 0x3d160
jmp 0x73042
jmp 0x73113
movl -0x24(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x72fba
addq $0xb0, %rsp
popq %rbp
retq
nopw (%rax,%rax)