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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x48(%rbp)
addq $0x50, %rdi
callq 0x74380
subl $0x1, %eax
movl %eax, -0x1c(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x1c(%rbp)
movb %al, -0x49(%rbp)
jl 0x729e7
movq -0x48(%rbp), %rdi
addq $0x50, %rdi
movslq -0x1c(%rbp), %rsi
callq 0x743b0
movq (%rax), %rax
cmpq -0x10(%rbp), %rax
setae %al
movb %al, -0x49(%rbp)
movb -0x49(%rbp), %al
testb $0x1, %al
jne 0x729f3
jmp 0x72a9e
movq -0x48(%rbp), %rdi
movq %rdi, %rax
addq $0x170, %rax            # imm = 0x170
movq %rax, -0x58(%rbp)
addq $0x50, %rdi
movslq -0x1c(%rbp), %rsi
callq 0x743b0
movq -0x58(%rbp), %rdi
movslq 0x8(%rax), %rsi
callq 0xa7c0
movq -0x48(%rbp), %rcx
movl (%rax), %eax
cmpl 0x198(%rcx), %eax
je 0x72a8e
movq -0x48(%rbp), %rdi
movl 0x198(%rdi), %eax
movl %eax, -0x64(%rbp)
movq %rdi, %rax
addq $0x170, %rax            # imm = 0x170
movq %rax, -0x70(%rbp)
addq $0x50, %rdi
movslq -0x1c(%rbp), %rsi
callq 0x743b0
movq -0x70(%rbp), %rdi
movslq 0x8(%rax), %rsi
callq 0xa7c0
movl -0x64(%rbp), %ecx
movq -0x48(%rbp), %rdi
movl %ecx, (%rax)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
addq $0x50, %rdi
movslq -0x1c(%rbp), %rsi
callq 0x743b0
movq -0x60(%rbp), %rdi
movq %rax, %rsi
addq $0x8, %rsi
callq 0xa8c0
jmp 0x72a90
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x729be
movq -0x48(%rbp), %rdi
addq $0xf0, %rdi
callq 0x74380
subl $0x1, %eax
movl %eax, -0x20(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x20(%rbp)
movb %al, -0x71(%rbp)
jl 0x72ae0
movq -0x48(%rbp), %rdi
addq $0xf0, %rdi
movslq -0x20(%rbp), %rsi
callq 0x743b0
movq (%rax), %rax
cmpq -0x10(%rbp), %rax
setae %al
movb %al, -0x71(%rbp)
movb -0x71(%rbp), %al
testb $0x1, %al
jne 0x72aec
jmp 0x72bce
movq -0x48(%rbp), %rdi
movq 0x1a0(%rdi), %rax
movq %rax, -0x80(%rbp)
addq $0xf0, %rdi
movslq -0x20(%rbp), %rsi
callq 0x743b0
movq -0x80(%rbp), %rdi
movslq 0x8(%rax), %rsi
callq 0x3d060
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x3d080
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x72b49
jmp 0x72bbe
leaq -0x30(%rbp), %rdi
callq 0x3d120
movq -0x48(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x3c(%rbp)
addq $0x170, %rdi            # imm = 0x170
movslq -0x3c(%rbp), %rsi
callq 0xa7c0
movq -0x48(%rbp), %rcx
movl (%rax), %eax
cmpl 0x198(%rcx), %eax
je 0x72bae
movq -0x48(%rbp), %rdi
movl 0x198(%rdi), %eax
movl %eax, -0x84(%rbp)
addq $0x170, %rdi            # imm = 0x170
movslq -0x3c(%rbp), %rsi
callq 0xa7c0
movl -0x84(%rbp), %ecx
movl %ecx, (%rax)
movq -0x18(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
callq 0xa8c0
jmp 0x72bb0
leaq -0x30(%rbp), %rdi
callq 0x3d160
jmp 0x72b36
jmp 0x72bc0
movl -0x20(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x72ab4
addq $0x90, %rsp
popq %rbp
retq
nopw (%rax,%rax)