// File: Laakeri[P]maxpre/src/main.cpp
// Function: parseBVEgate(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&)
bool parseBVEgate(map<string, string>& flags) {
	bool BVEgate = false;
	if (flags.count("bvegate")) {
		if (flags["bvegate"] == "1") {
			BVEgate = true;
			cout<<"c BVE gate extraction enabled"<<endl;
			cerr<<"BVE gate extraction enabled"<<endl;
		}
		else if (flags["bvegate"] == "0") {
			BVEgate = false;
			cout<<"c BVE gate extraction disabled"<<endl;
			cerr<<"BVE gate extraction disabled"<<endl;
		}
		else {
			cout<<"Invalid bvegate flag"<<endl;
			cerr<<"Invalid bvegate flag"<<endl;
			exit(0);
		}
	}
	else {
		cout<<"c No -bvegate= given, defaulting to disabled"<<endl;
		cerr<<"No -bvegate= given, defaulting to disabled"<<endl;
	}
	return BVEgate;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rdi, -0x8(%rbp)
movb $0x0, -0x9(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq -0x31(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x4620
movq -0xa0(%rbp), %rdx
leaq 0x7fb69(%rip), %rsi     # 0x850a5
leaq -0x30(%rbp), %rdi
callq 0xa430
jmp 0x5547
movq -0xa8(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xa5e0
movq %rax, -0xb0(%rbp)
jmp 0x5560
leaq -0x30(%rbp), %rdi
callq 0x4240
leaq -0x31(%rbp), %rdi
callq 0x43f0
movq -0xb0(%rbp), %rax
cmpq $0x0, %rax
je 0x5826
movq -0x8(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq -0x69(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x4620
movq -0xb8(%rbp), %rdx
leaq 0x7faf9(%rip), %rsi     # 0x850a5
leaq -0x68(%rbp), %rdi
callq 0xa430
jmp 0x55b7
movq -0xc0(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0xa4e0
movq %rax, -0xc8(%rbp)
jmp 0x55d0
movq -0xc8(%rbp), %rdi
leaq 0x81313(%rip), %rsi     # 0x868f1
callq 0xa640
movb %al, -0xc9(%rbp)
jmp 0x55eb
leaq -0x68(%rbp), %rdi
callq 0x4240
leaq -0x69(%rbp), %rdi
callq 0x43f0
movb -0xc9(%rbp), %al
testb $0x1, %al
jne 0x560c
jmp 0x56bb
movb $0x1, -0x9(%rbp)
movq 0xa99b1(%rip), %rdi     # 0xaefc8
leaq 0x7fa8f(%rip), %rsi     # 0x850ad
callq 0x4380
movq %rax, %rdi
movq 0xa9983(%rip), %rsi     # 0xaefb0
callq 0x43d0
movq 0xa99b7(%rip), %rdi     # 0xaeff0
leaq 0x7fa6f(%rip), %rsi     # 0x850af
callq 0x4380
movq %rax, %rdi
movq 0xa9961(%rip), %rsi     # 0xaefb0
callq 0x43d0
jmp 0x5824
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x567c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4240
leaq -0x31(%rbp), %rdi
callq 0x43f0
jmp 0x5878
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x56ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x4240
leaq -0x69(%rbp), %rdi
callq 0x43f0
jmp 0x5878
movq -0x8(%rbp), %rax
movq %rax, -0xe0(%rbp)
leaq -0x91(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x4620
movq -0xd8(%rbp), %rdx
leaq 0x7f9be(%rip), %rsi     # 0x850a5
leaq -0x90(%rbp), %rdi
callq 0xa430
jmp 0x56f5
movq -0xe0(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0xa4e0
movq %rax, -0xe8(%rbp)
jmp 0x5711
movq -0xe8(%rbp), %rdi
leaq 0x82503(%rip), %rsi     # 0x87c22
callq 0xa640
movb %al, -0xe9(%rbp)
jmp 0x572c
leaq -0x90(%rbp), %rdi
callq 0x4240
leaq -0x91(%rbp), %rdi
callq 0x43f0
movb -0xe9(%rbp), %al
testb $0x1, %al
jne 0x5753
jmp 0x57d7
movb $0x0, -0x9(%rbp)
movq 0xa986a(%rip), %rdi     # 0xaefc8
leaq 0x7f966(%rip), %rsi     # 0x850cb
callq 0x4380
movq %rax, %rdi
movq 0xa983c(%rip), %rsi     # 0xaefb0
callq 0x43d0
movq 0xa9870(%rip), %rdi     # 0xaeff0
leaq 0x7f946(%rip), %rsi     # 0x850cd
callq 0x4380
movq %rax, %rdi
movq 0xa981a(%rip), %rsi     # 0xaefb0
callq 0x43d0
jmp 0x5822
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x57c6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x4240
leaq -0x91(%rbp), %rdi
callq 0x43f0
jmp 0x5878
movq 0xa97ea(%rip), %rdi     # 0xaefc8
leaq 0x7f905(%rip), %rsi     # 0x850ea
callq 0x4380
movq %rax, %rdi
movq 0xa97bc(%rip), %rsi     # 0xaefb0
callq 0x43d0
movq 0xa97f0(%rip), %rdi     # 0xaeff0
leaq 0x7f8e3(%rip), %rsi     # 0x850ea
callq 0x4380
movq %rax, %rdi
movq 0xa979a(%rip), %rsi     # 0xaefb0
callq 0x43d0
xorl %edi, %edi
callq 0x4480
jmp 0x5824
jmp 0x586a
movq 0xa979b(%rip), %rdi     # 0xaefc8
leaq 0x7f8cb(%rip), %rsi     # 0x850ff
callq 0x4380
movq %rax, %rdi
movq 0xa976d(%rip), %rsi     # 0xaefb0
callq 0x43d0
movq 0xa97a1(%rip), %rdi     # 0xaeff0
leaq 0x7f8ab(%rip), %rsi     # 0x85101
callq 0x4380
movq %rax, %rdi
movq 0xa974b(%rip), %rsi     # 0xaefb0
callq 0x43d0
movb -0x9(%rbp), %al
andb $0x1, %al
addq $0xf0, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x4610
nopw %cs:(%rax,%rax)