// File: /workspace/github_cpp_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r15
movq 0x98(%rdi), %rax
movq %rax, %rcx
subq 0x78(%rdi), %rcx
shrq $0x3, %rcx
cmpq $0x1, %rax
adcq $-0x1, %rcx
shlq $0x5, %rcx
movq 0x80(%rdi), %rax
subq 0x88(%rdi), %rax
movq 0x70(%rdi), %r13
shrq $0x4, %rax
subq 0x60(%rdi), %r13
shrq $0x4, %r13
addq %rax, %r13
addq %rcx, %r13
testl %r13d, %r13d
jle 0x2f458
andl $0x7fffffff, %r13d      # imm = 0x7FFFFFFF
leaq 0x1(%r13), %rbp
shlq $0x4, %r13
addq $-0x10, %r13
leaq 0xc(%rsp), %r12
movq 0x60(%r15), %rcx
movq %rcx, %rax
subq 0x68(%r15), %rax
movq 0x78(%r15), %rsi
sarq $0x4, %rax
leaq (%rax,%rbp), %rdx
addq $-0x2, %rdx
js 0x2f33b
cmpq $0x20, %rdx
jae 0x2f344
cmpq %r14, (%rcx,%r13)
jb 0x2f458
leaq (%rcx,%r13), %rdi
jmp 0x2f37c
movq %rdx, %r8
sarq $0x5, %r8
jmp 0x2f34b
movq %rdx, %r8
shrq $0x5, %r8
movq (%rsi,%r8,8), %rdi
movl %edx, %r9d
andl $0x1f, %r9d
shll $0x4, %r9d
cmpq %r14, (%rdi,%r9)
jb 0x2f458
shlq $0x5, %r8
movq %rax, %r9
subq %r8, %r9
addq %rbp, %r9
shlq $0x4, %r9
addq %r9, %rdi
addq $-0x20, %rdi
movl 0x8(%rdi), %edi
sarl %edi
movslq %edi, %r9
movq 0x170(%r15), %rdi
movl 0x198(%r15), %r8d
cmpl %r8d, (%rdi,%r9,4)
je 0x2f447
testq %rdx, %rdx
js 0x2f3b6
cmpq $0x1f, %rdx
ja 0x2f3bf
movl 0x8(%rcx,%r13), %eax
sarl %eax
cltq
movl %r8d, (%rdi,%rax,4)
jmp 0x2f3f5
movq %rdx, %r9
sarq $0x5, %r9
jmp 0x2f3c6
movq %rdx, %r9
shrq $0x5, %r9
movq (%rsi,%r9,8), %r10
shlq $0x5, %r9
movq %rax, %r11
subq %r9, %r11
addq %rbp, %r11
shlq $0x4, %r11
movl -0x18(%r11,%r10), %r9d
sarl %r9d
movslq %r9d, %r9
movl %r8d, (%rdi,%r9,4)
testq %rdx, %rdx
js 0x2f3fa
cmpq $0x1f, %rdx
ja 0x2f400
addq %r13, %rcx
jmp 0x2f41d
sarq $0x5, %rdx
jmp 0x2f404
shrq $0x5, %rdx
movq (%rsi,%rdx,8), %rcx
shlq $0x5, %rdx
subq %rdx, %rax
addq %rbp, %rax
shlq $0x4, %rax
addq %rax, %rcx
addq $-0x20, %rcx
movl 0x8(%rcx), %eax
sarl %eax
movl %eax, 0xc(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x2f43c
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x2f447
movq %rbx, %rdi
movq %r12, %rdx
callq 0x1ffb8
decq %rbp
addq $-0x10, %r13
cmpq $0x1, %rbp
ja 0x2f308
movq 0x138(%r15), %rax
movq %rax, %rcx
subq 0x118(%r15), %rcx
shrq $0x3, %rcx
cmpq $0x1, %rax
adcq $-0x1, %rcx
shlq $0x5, %rcx
movq 0x120(%r15), %rax
subq 0x128(%r15), %rax
movq 0x110(%r15), %r13
shrq $0x4, %rax
subq 0x100(%r15), %r13
shrq $0x4, %r13
addq %rax, %r13
addq %rcx, %r13
testl %r13d, %r13d
jle 0x2f5b5
andl $0x7fffffff, %r13d      # imm = 0x7FFFFFFF
movq %r14, 0x10(%rsp)
movq %r13, %rbp
decq %r13
movq 0x100(%r15), %rdx
movq 0x118(%r15), %rcx
movq %rdx, %rax
subq 0x108(%r15), %rax
sarq $0x4, %rax
addq %r13, %rax
js 0x2f4fe
cmpq $0x20, %rax
jae 0x2f507
movq %r13, %rax
shlq $0x4, %rax
cmpq %r14, (%rdx,%rax)
jb 0x2f5b5
addq %rax, %rdx
movq %rdx, %rax
jmp 0x2f53b
movq %rax, %rdx
sarq $0x5, %rdx
jmp 0x2f50e
movq %rax, %rdx
shrq $0x5, %rdx
movq (%rcx,%rdx,8), %rsi
shlq $0x5, %rdx
movq %rax, %rdi
subq %rdx, %rdi
shlq $0x4, %rdi
cmpq %r14, (%rsi,%rdi)
jb 0x2f5b5
movq %rax, %rdx
sarq $0x5, %rdx
andl $0x1f, %eax
shll $0x4, %eax
addq (%rcx,%rdx,8), %rax
movq 0x1a0(%r15), %rcx
movslq 0x8(%rax), %rax
movq (%rcx), %rcx
leaq (%rax,%rax,4), %rax
movq (%rcx,%rax,8), %r14
movq 0x8(%rcx,%rax,8), %r12
cmpq %r12, %r14
je 0x2f5a6
movl (%r14), %eax
sarl %eax
movslq %eax, %rcx
movq 0x170(%r15), %rdx
movl 0x198(%r15), %esi
cmpl %esi, (%rdx,%rcx,4)
je 0x2f5a0
movl %esi, (%rdx,%rcx,4)
movl %ecx, 0x8(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x2f593
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x2f5a0
movq %rbx, %rdi
leaq 0x8(%rsp), %rdx
callq 0x1ffb8
addq $0x4, %r14
jmp 0x2f556
cmpq $0x2, %rbp
movq 0x10(%rsp), %r14
jge 0x2f4b8
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq