// File: Laakeri[P]maxpre/src/touchedlist.cpp
// Function: maxPreprocessor::TouchedList::getTouchedLiteralsCh(unsigned long, std::vector<int, std::allocator<int>>&)
void TouchedList::getTouchedLiteralsCh(uint64_t eitr, std::vector<int>& ret) {
	for (int i = (int)touchedLiterals.size() - 1; i >= 0 && touchedLiterals[i].F >= eitr; i--) {
		if (getI[touchedLiterals[i].S] != getItr) {
			getI[touchedLiterals[i].S] = getItr;
			ret.push_back(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[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)
callq 0x74380
subl $0x1, %eax
movl %eax, -0x1c(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x1c(%rbp)
movb %al, -0x49(%rbp)
jl 0x7279f
movq -0x48(%rbp), %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 0x727ab
jmp 0x7284a
movq -0x48(%rbp), %rdi
movq %rdi, %rax
addq $0x170, %rax            # imm = 0x170
movq %rax, -0x58(%rbp)
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 0x7283a
movq -0x48(%rbp), %rdi
movl 0x198(%rdi), %eax
movl %eax, -0x64(%rbp)
movq %rdi, %rax
addq $0x170, %rax            # imm = 0x170
movq %rax, -0x70(%rbp)
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)
movslq -0x1c(%rbp), %rsi
callq 0x743b0
movq -0x60(%rbp), %rdi
movq %rax, %rsi
addq $0x8, %rsi
callq 0xa8c0
jmp 0x7283c
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x7277a
movq -0x48(%rbp), %rdi
addq $0xa0, %rdi
callq 0x74380
subl $0x1, %eax
movl %eax, -0x20(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x20(%rbp)
movb %al, -0x71(%rbp)
jl 0x7288c
movq -0x48(%rbp), %rdi
addq $0xa0, %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 0x72898
jmp 0x7297a
movq -0x48(%rbp), %rdi
movq 0x1a0(%rdi), %rax
movq %rax, -0x80(%rbp)
addq $0xa0, %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 0x728f5
jmp 0x7296a
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 0x7295a
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 0x7295c
leaq -0x30(%rbp), %rdi
callq 0x3d160
jmp 0x728e2
jmp 0x7296c
movl -0x20(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x72860
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)