// File: Laakeri[P]maxpre/src/main.cpp
// Function: getFlags[abi:cxx11](int, char**)
map<string, string> getFlags(int argc, char* argv[]) {
	map<string, string> ret;
	for (int i = 3; i < argc; i++) {
		string s(argv[i]);
		if (s.size() == 0 || s[0] != '-') {
			cout<<"c Invalid arg "<<s<<endl;
			cerr<<"Invalid arg "<<s<<endl;
		}
		else {
			int p = -1;
			int prd = 0;
			for (int j = 0; j < (int)s.size(); j++) {
				if (s[j] == '=') {
					p = j;
					break;
				}
				if (j == prd && s[j] == '-') prd++;
			}
			if (p == -1) {
				ret[s.substr(prd)] = "";
			}
			else {
				ret[s.substr(prd, p-prd)] = s.substr(p+1);
			}
		}
	}
	return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x130, %rsp            # imm = 0x130
movq %rdi, -0xd0(%rbp)
movq %rdi, %rax
movq %rax, -0xc8(%rbp)
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movb $0x0, -0x19(%rbp)
callq 0xa410
movl $0x3, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0x4ec3
movq -0x18(%rbp), %rax
movslq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0xe0(%rbp)
leaq -0x41(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x4620
movq -0xe0(%rbp), %rsi
movq -0xd8(%rbp), %rdx
leaq -0x40(%rbp), %rdi
callq 0xa430
jmp 0x4bbf
leaq -0x41(%rbp), %rdi
callq 0x43f0
leaq -0x40(%rbp), %rdi
callq 0x42a0
cmpq $0x0, %rax
je 0x4c00
xorl %eax, %eax
movl %eax, %esi
leaq -0x40(%rbp), %rdi
callq 0x46b0
movq %rax, -0xe8(%rbp)
jmp 0x4bed
movq -0xe8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x4cc4
movq 0xaa3c1(%rip), %rdi     # 0xaefc8
leaq 0x803f6(%rip), %rsi     # 0x85004
callq 0x4380
movq %rax, -0xf0(%rbp)
jmp 0x4c1c
movq -0xf0(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x4370
movq %rax, -0xf8(%rbp)
jmp 0x4c35
movq -0xf8(%rbp), %rdi
movq 0xaa36d(%rip), %rsi     # 0xaefb0
callq 0x43d0
jmp 0x4c4a
movq 0xaa39f(%rip), %rdi     # 0xaeff0
leaq 0x803ae(%rip), %rsi     # 0x85006
callq 0x4380
movq %rax, -0x100(%rbp)
jmp 0x4c66
movq -0x100(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x4370
movq %rax, -0x108(%rbp)
jmp 0x4c7f
movq -0x108(%rbp), %rdi
movq 0xaa323(%rip), %rsi     # 0xaefb0
callq 0x43d0
jmp 0x4c94
jmp 0x4ea1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x41(%rbp), %rdi
callq 0x43f0
jmp 0x4ee9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x4eb8
movl $0xffffffff, -0x58(%rbp) # imm = 0xFFFFFFFF
movl $0x0, -0x5c(%rbp)
movl $0x0, -0x60(%rbp)
movl -0x60(%rbp), %eax
movl %eax, -0x10c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x42a0
movq %rax, %rcx
movl -0x10c(%rbp), %eax
cmpl %ecx, %eax
jge 0x4d6b
movslq -0x60(%rbp), %rsi
leaq -0x40(%rbp), %rdi
callq 0x46b0
movq %rax, -0x118(%rbp)
jmp 0x4d0e
movq -0x118(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0x4d25
movl -0x60(%rbp), %eax
movl %eax, -0x58(%rbp)
jmp 0x4d6b
movl -0x60(%rbp), %eax
cmpl -0x5c(%rbp), %eax
jne 0x4d5b
movslq -0x60(%rbp), %rsi
leaq -0x40(%rbp), %rdi
callq 0x46b0
movq %rax, -0x120(%rbp)
jmp 0x4d43
movq -0x120(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x4d5b
movl -0x5c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x5c(%rbp)
jmp 0x4d5d
movl -0x60(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x60(%rbp)
jmp 0x4cd9
cmpl $-0x1, -0x58(%rbp)
jne 0x4de1
movslq -0x5c(%rbp), %rdx
leaq -0x80(%rbp), %rdi
leaq -0x40(%rbp), %rsi
movq $-0x1, %rcx
callq 0x43b0
jmp 0x4d8b
movq -0xd0(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0xa4e0
movq %rax, -0x128(%rbp)
jmp 0x4da4
movq -0x128(%rbp), %rdi
leaq 0x8324e(%rip), %rsi     # 0x88000
callq 0x44f0
jmp 0x4db9
leaq -0x80(%rbp), %rdi
callq 0x4240
jmp 0x4e9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x4240
jmp 0x4eb8
movl -0x58(%rbp), %eax
incl %eax
movslq %eax, %rdx
leaq -0xa0(%rbp), %rdi
leaq -0x40(%rbp), %rsi
movq $-0x1, %rcx
callq 0x43b0
jmp 0x4e02
movslq -0x5c(%rbp), %rdx
movl %edx, %ecx
movl -0x58(%rbp), %eax
subl %ecx, %eax
movslq %eax, %rcx
leaq -0xc0(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x43b0
jmp 0x4e22
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0xa4e0
movq %rax, -0x130(%rbp)
jmp 0x4e3e
movq -0x130(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x4490
leaq -0xc0(%rbp), %rdi
callq 0x4240
leaq -0xa0(%rbp), %rdi
callq 0x4240
jmp 0x4e9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x4e91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x4240
leaq -0xa0(%rbp), %rdi
callq 0x4240
jmp 0x4eb8
jmp 0x4ea1
leaq -0x40(%rbp), %rdi
callq 0x4240
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x4b77
leaq -0x40(%rbp), %rdi
callq 0x4240
jmp 0x4ee9
movb $0x1, -0x19(%rbp)
testb $0x1, -0x19(%rbp)
jne 0x4ed9
movq -0xd0(%rbp), %rdi
callq 0xa5c0
movq -0xc8(%rbp), %rax
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
movq -0xd0(%rbp), %rdi
callq 0xa5c0
movq -0x50(%rbp), %rdi
callq 0x4610
nop