// File: Laakeri[P]maxpre/src/touchedlist.cpp
// Function: maxPreprocessor::TouchedList::getTouchedVarsCh(unsigned long, std::vector<int, std::allocator<int>>&)
void TouchedList::getTouchedVarsCh(uint64_t eitr, std::vector<int>& ret) {
	for (int i = (int)touchedLiterals.size() - 1; i >= 0 && touchedLiterals[i].F >= eitr; i--) {
		if (getI[litVariable(touchedLiterals[i].S)] != getItr) {
			getI[litVariable(touchedLiterals[i].S)] = getItr;
			ret.push_back(litVariable(touchedLiterals[i].S));
		}
	}
	for (int i = (int)touchedClauses.size() - 1; i >= 0 && touchedClauses[i].F >= eitr; i--) {
		for (int l : pi.clauses[touchedClauses[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)
callq 0x74380
subl $0x1, %eax
movl %eax, -0x1c(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x1c(%rbp)
movb %al, -0x51(%rbp)
jl 0x72c2f
movq -0x50(%rbp), %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 0x72c3b
jmp 0x72cf0
movq -0x50(%rbp), %rdi
movq %rdi, %rax
addq $0x170, %rax            # imm = 0x170
movq %rax, -0x60(%rbp)
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 0x72ce0
movq -0x50(%rbp), %rdi
movl 0x198(%rdi), %eax
movl %eax, -0x6c(%rbp)
movq %rdi, %rax
addq $0x170, %rax            # imm = 0x170
movq %rax, -0x78(%rbp)
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)
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 0x72ce2
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x72c0a
movq -0x50(%rbp), %rdi
addq $0xa0, %rdi
callq 0x74380
subl $0x1, %eax
movl %eax, -0x24(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x24(%rbp)
movb %al, -0x79(%rbp)
jl 0x72d32
movq -0x50(%rbp), %rdi
addq $0xa0, %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 0x72d3e
jmp 0x72e6d
movq -0x50(%rbp), %rdi
movq 0x1a0(%rdi), %rax
movq %rax, -0x88(%rbp)
addq $0xa0, %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 0x72da4
jmp 0x72e5d
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 0x72e4d
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 0x72e4f
leaq -0x38(%rbp), %rdi
callq 0x3d160
jmp 0x72d8e
jmp 0x72e5f
movl -0x24(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x72d06
addq $0xb0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)