// File: sthapliyal37[P]Microprocessor_8085_Updated/Validation.cpp
// Function: inputValidation(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
bool inputValidation(string input)
{
	input=split(input);
	string arithmetic[]={"ADD","ADI","SUB","INR","DCR","INX","DCX","DAD","SUI"};
	string logical[]={"CMA","CMP"};
	string branch[]={"JMP","JC","JNC","JZ","JNZ"};
	string transfer[]={"MOV","MVI","LXI","LDA","SHLD","STAX","XCHG","STA","LHLD","SET"};
	int n=sizeof(arithmetic)/sizeof(arithmetic[0]);
	for(int i=0;i<n;i++)
	{
				if(!input.compare(arithmetic[i]))
								return true;
	}
	n=sizeof(logical)/sizeof(logical[0]);
	for(int i=0;i<n;i++)
	{
				if(!input.compare(logical[i]))
								return true;
	}
	n=sizeof(branch)/sizeof(branch[0]);
	for(int i=0;i<n;i++)
	{
				if(!input.compare(branch[i]))
								return true;
	}
		n=sizeof(transfer)/sizeof(transfer[0]);
	for(int i=0;i<n;i++)
	{
				if(!input.compare(transfer[i]))
								return true;
	}
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x6e0, %rsp            # imm = 0x6E0
movq %rdi, %rsi
movq %rsi, -0x420(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x50(%rbp), %rdi
movq %rdi, -0x418(%rbp)
callq 0x3110
movq -0x418(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0x3b60
jmp 0x3f3b
movq -0x420(%rbp), %rdi
leaq -0x30(%rbp), %rsi
movq %rsi, -0x438(%rbp)
callq 0x3330
movq -0x438(%rbp), %rdi
callq 0x3190
leaq -0x50(%rbp), %rdi
callq 0x3190
movb $0x1, -0x192(%rbp)
leaq -0x180(%rbp), %rax
movq %rax, -0x430(%rbp)
movq %rax, -0x188(%rbp)
leaq -0x189(%rbp), %rdi
movq %rdi, -0x428(%rbp)
callq 0x3440
movq -0x430(%rbp), %rdi
movq -0x428(%rbp), %rdx
leaq 0x1106b(%rip), %rsi     # 0x15016
callq 0x50d0
jmp 0x3fb2
leaq -0x160(%rbp), %rax
movq %rax, -0x448(%rbp)
movq %rax, -0x188(%rbp)
leaq -0x18a(%rbp), %rdi
movq %rdi, -0x440(%rbp)
callq 0x3440
movq -0x448(%rbp), %rdi
movq -0x440(%rbp), %rdx
leaq 0x1102b(%rip), %rsi     # 0x1501a
callq 0x50d0
jmp 0x3ff6
leaq -0x140(%rbp), %rax
movq %rax, -0x458(%rbp)
movq %rax, -0x188(%rbp)
leaq -0x18b(%rbp), %rdi
movq %rdi, -0x450(%rbp)
callq 0x3440
movq -0x458(%rbp), %rdi
movq -0x450(%rbp), %rdx
leaq 0x10feb(%rip), %rsi     # 0x1501e
callq 0x50d0
jmp 0x403a
leaq -0x120(%rbp), %rax
movq %rax, -0x468(%rbp)
movq %rax, -0x188(%rbp)
leaq -0x18c(%rbp), %rdi
movq %rdi, -0x460(%rbp)
callq 0x3440
movq -0x468(%rbp), %rdi
movq -0x460(%rbp), %rdx
leaq 0x10fab(%rip), %rsi     # 0x15022
callq 0x50d0
jmp 0x407e
leaq -0x100(%rbp), %rax
movq %rax, -0x478(%rbp)
movq %rax, -0x188(%rbp)
leaq -0x18d(%rbp), %rdi
movq %rdi, -0x470(%rbp)
callq 0x3440
movq -0x478(%rbp), %rdi
movq -0x470(%rbp), %rdx
leaq 0x10f6b(%rip), %rsi     # 0x15026
callq 0x50d0
jmp 0x40c2
leaq -0xe0(%rbp), %rax
movq %rax, -0x488(%rbp)
movq %rax, -0x188(%rbp)
leaq -0x18e(%rbp), %rdi
movq %rdi, -0x480(%rbp)
callq 0x3440
movq -0x488(%rbp), %rdi
movq -0x480(%rbp), %rdx
leaq 0x10f2b(%rip), %rsi     # 0x1502a
callq 0x50d0
jmp 0x4106
leaq -0xc0(%rbp), %rax
movq %rax, -0x498(%rbp)
movq %rax, -0x188(%rbp)
leaq -0x18f(%rbp), %rdi
movq %rdi, -0x490(%rbp)
callq 0x3440
movq -0x498(%rbp), %rdi
movq -0x490(%rbp), %rdx
leaq 0x10eeb(%rip), %rsi     # 0x1502e
callq 0x50d0
jmp 0x414a
leaq -0xa0(%rbp), %rax
movq %rax, -0x4a8(%rbp)
movq %rax, -0x188(%rbp)
leaq -0x190(%rbp), %rdi
movq %rdi, -0x4a0(%rbp)
callq 0x3440
movq -0x4a8(%rbp), %rdi
movq -0x4a0(%rbp), %rdx
leaq 0x10eab(%rip), %rsi     # 0x15032
callq 0x50d0
jmp 0x418e
leaq -0x80(%rbp), %rax
movq %rax, -0x4b8(%rbp)
movq %rax, -0x188(%rbp)
leaq -0x191(%rbp), %rdi
movq %rdi, -0x4b0(%rbp)
callq 0x3440
movq -0x4b8(%rbp), %rdi
movq -0x4b0(%rbp), %rdx
leaq 0x10e6e(%rip), %rsi     # 0x15036
callq 0x50d0
jmp 0x41cf
movb $0x0, -0x192(%rbp)
leaq -0x191(%rbp), %rdi
callq 0x32f0
leaq -0x190(%rbp), %rdi
callq 0x32f0
leaq -0x18f(%rbp), %rdi
callq 0x32f0
leaq -0x18e(%rbp), %rdi
callq 0x32f0
leaq -0x18d(%rbp), %rdi
callq 0x32f0
leaq -0x18c(%rbp), %rdi
callq 0x32f0
leaq -0x18b(%rbp), %rdi
callq 0x32f0
leaq -0x18a(%rbp), %rdi
callq 0x32f0
leaq -0x189(%rbp), %rdi
callq 0x32f0
movb $0x1, -0x1eb(%rbp)
leaq -0x1e0(%rbp), %rax
movq %rax, -0x4c8(%rbp)
movq %rax, -0x1e8(%rbp)
leaq -0x1e9(%rbp), %rdi
movq %rdi, -0x4c0(%rbp)
callq 0x3440
movq -0x4c8(%rbp), %rdi
movq -0x4c0(%rbp), %rdx
leaq 0x10db4(%rip), %rsi     # 0x1503a
callq 0x50d0
jmp 0x428d
leaq -0x1c0(%rbp), %rax
movq %rax, -0x4d8(%rbp)
movq %rax, -0x1e8(%rbp)
leaq -0x1ea(%rbp), %rdi
movq %rdi, -0x4d0(%rbp)
callq 0x3440
movq -0x4d8(%rbp), %rdi
movq -0x4d0(%rbp), %rdx
leaq 0x10d74(%rip), %rsi     # 0x1503e
callq 0x50d0
jmp 0x42d1
movb $0x0, -0x1eb(%rbp)
leaq -0x1ea(%rbp), %rdi
callq 0x32f0
leaq -0x1e9(%rbp), %rdi
callq 0x32f0
movb $0x1, -0x29e(%rbp)
leaq -0x290(%rbp), %rax
movq %rax, -0x4e8(%rbp)
movq %rax, -0x298(%rbp)
leaq -0x299(%rbp), %rdi
movq %rdi, -0x4e0(%rbp)
callq 0x3440
movq -0x4e8(%rbp), %rdi
movq -0x4e0(%rbp), %rdx
leaq 0x10d0e(%rip), %rsi     # 0x15042
callq 0x50d0
jmp 0x433b
leaq -0x270(%rbp), %rax
movq %rax, -0x4f8(%rbp)
movq %rax, -0x298(%rbp)
leaq -0x29a(%rbp), %rdi
movq %rdi, -0x4f0(%rbp)
callq 0x3440
movq -0x4f8(%rbp), %rdi
movq -0x4f0(%rbp), %rdx
leaq 0x10cce(%rip), %rsi     # 0x15046
callq 0x50d0
jmp 0x437f
leaq -0x250(%rbp), %rax
movq %rax, -0x508(%rbp)
movq %rax, -0x298(%rbp)
leaq -0x29b(%rbp), %rdi
movq %rdi, -0x500(%rbp)
callq 0x3440
movq -0x508(%rbp), %rdi
movq -0x500(%rbp), %rdx
leaq 0x10c8d(%rip), %rsi     # 0x15049
callq 0x50d0
jmp 0x43c3
leaq -0x230(%rbp), %rax
movq %rax, -0x518(%rbp)
movq %rax, -0x298(%rbp)
leaq -0x29c(%rbp), %rdi
movq %rdi, -0x510(%rbp)
callq 0x3440
movq -0x518(%rbp), %rdi
movq -0x510(%rbp), %rdx
leaq 0x10c4d(%rip), %rsi     # 0x1504d
callq 0x50d0
jmp 0x4407
leaq -0x210(%rbp), %rax
movq %rax, -0x528(%rbp)
movq %rax, -0x298(%rbp)
leaq -0x29d(%rbp), %rdi
movq %rdi, -0x520(%rbp)
callq 0x3440
movq -0x528(%rbp), %rdi
movq -0x520(%rbp), %rdx
leaq 0x10c0c(%rip), %rsi     # 0x15050
callq 0x50d0
jmp 0x444b
movb $0x0, -0x29e(%rbp)
leaq -0x29d(%rbp), %rdi
callq 0x32f0
leaq -0x29c(%rbp), %rdi
callq 0x32f0
leaq -0x29b(%rbp), %rdi
callq 0x32f0
leaq -0x29a(%rbp), %rdi
callq 0x32f0
leaq -0x299(%rbp), %rdi
callq 0x32f0
movb $0x1, -0x3f3(%rbp)
leaq -0x3e0(%rbp), %rax
movq %rax, -0x538(%rbp)
movq %rax, -0x3e8(%rbp)
leaq -0x3e9(%rbp), %rdi
movq %rdi, -0x530(%rbp)
callq 0x3440
movq -0x538(%rbp), %rdi
movq -0x530(%rbp), %rdx
leaq 0x10b82(%rip), %rsi     # 0x15054
callq 0x50d0
jmp 0x44d9
leaq -0x3c0(%rbp), %rax
movq %rax, -0x548(%rbp)
movq %rax, -0x3e8(%rbp)
leaq -0x3ea(%rbp), %rdi
movq %rdi, -0x540(%rbp)
callq 0x3440
movq -0x548(%rbp), %rdi
movq -0x540(%rbp), %rdx
leaq 0x10b42(%rip), %rsi     # 0x15058
callq 0x50d0
jmp 0x451d
leaq -0x3a0(%rbp), %rax
movq %rax, -0x558(%rbp)
movq %rax, -0x3e8(%rbp)
leaq -0x3eb(%rbp), %rdi
movq %rdi, -0x550(%rbp)
callq 0x3440
movq -0x558(%rbp), %rdi
movq -0x550(%rbp), %rdx
leaq 0x10b02(%rip), %rsi     # 0x1505c
callq 0x50d0
jmp 0x4561
leaq -0x380(%rbp), %rax
movq %rax, -0x568(%rbp)
movq %rax, -0x3e8(%rbp)
leaq -0x3ec(%rbp), %rdi
movq %rdi, -0x560(%rbp)
callq 0x3440
movq -0x568(%rbp), %rdi
movq -0x560(%rbp), %rdx
leaq 0x10ac2(%rip), %rsi     # 0x15060
callq 0x50d0
jmp 0x45a5
leaq -0x360(%rbp), %rax
movq %rax, -0x578(%rbp)
movq %rax, -0x3e8(%rbp)
leaq -0x3ed(%rbp), %rdi
movq %rdi, -0x570(%rbp)
callq 0x3440
movq -0x578(%rbp), %rdi
movq -0x570(%rbp), %rdx
leaq 0x10a82(%rip), %rsi     # 0x15064
callq 0x50d0
jmp 0x45e9
leaq -0x340(%rbp), %rax
movq %rax, -0x588(%rbp)
movq %rax, -0x3e8(%rbp)
leaq -0x3ee(%rbp), %rdi
movq %rdi, -0x580(%rbp)
callq 0x3440
movq -0x588(%rbp), %rdi
movq -0x580(%rbp), %rdx
leaq 0x10a43(%rip), %rsi     # 0x15069
callq 0x50d0
jmp 0x462d
leaq -0x320(%rbp), %rax
movq %rax, -0x598(%rbp)
movq %rax, -0x3e8(%rbp)
leaq -0x3ef(%rbp), %rdi
movq %rdi, -0x590(%rbp)
callq 0x3440
movq -0x598(%rbp), %rdi
movq -0x590(%rbp), %rdx
leaq 0x10a04(%rip), %rsi     # 0x1506e
callq 0x50d0
jmp 0x4671
leaq -0x300(%rbp), %rax
movq %rax, -0x5a8(%rbp)
movq %rax, -0x3e8(%rbp)
leaq -0x3f0(%rbp), %rdi
movq %rdi, -0x5a0(%rbp)
callq 0x3440
movq -0x5a8(%rbp), %rdi
movq -0x5a0(%rbp), %rdx
leaq 0x109c5(%rip), %rsi     # 0x15073
callq 0x50d0
jmp 0x46b5
leaq -0x2e0(%rbp), %rax
movq %rax, -0x5b8(%rbp)
movq %rax, -0x3e8(%rbp)
leaq -0x3f1(%rbp), %rdi
movq %rdi, -0x5b0(%rbp)
callq 0x3440
movq -0x5b8(%rbp), %rdi
movq -0x5b0(%rbp), %rdx
leaq 0x10985(%rip), %rsi     # 0x15077
callq 0x50d0
jmp 0x46f9
leaq -0x2c0(%rbp), %rax
movq %rax, -0x5c8(%rbp)
movq %rax, -0x3e8(%rbp)
leaq -0x3f2(%rbp), %rdi
movq %rdi, -0x5c0(%rbp)
callq 0x3440
movq -0x5c8(%rbp), %rdi
movq -0x5c0(%rbp), %rdx
leaq 0x10946(%rip), %rsi     # 0x1507c
callq 0x50d0
jmp 0x473d
movb $0x0, -0x3f3(%rbp)
leaq -0x3f2(%rbp), %rdi
callq 0x32f0
leaq -0x3f1(%rbp), %rdi
callq 0x32f0
leaq -0x3f0(%rbp), %rdi
callq 0x32f0
leaq -0x3ef(%rbp), %rdi
callq 0x32f0
leaq -0x3ee(%rbp), %rdi
callq 0x32f0
leaq -0x3ed(%rbp), %rdi
callq 0x32f0
leaq -0x3ec(%rbp), %rdi
callq 0x32f0
leaq -0x3eb(%rbp), %rdi
callq 0x32f0
leaq -0x3ea(%rbp), %rdi
callq 0x32f0
leaq -0x3e9(%rbp), %rdi
callq 0x32f0
movl $0x9, -0x3f8(%rbp)
movl $0x0, -0x3fc(%rbp)
movl -0x3fc(%rbp), %eax
cmpl -0x3f8(%rbp), %eax
jge 0x4cb2
movq -0x420(%rbp), %rdi
movslq -0x3fc(%rbp), %rax
shlq $0x5, %rax
leaq -0x180(%rbp,%rax), %rsi
callq 0x3040
movl %eax, -0x5cc(%rbp)
jmp 0x4809
movl -0x5cc(%rbp), %eax
cmpl $0x0, %eax
jne 0x4c9c
movb $0x1, -0x1(%rbp)
movl $0x1, -0x400(%rbp)
jmp 0x4e2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x3190
jmp 0x5088
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x492d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4921
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4915
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4909
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x48d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x191(%rbp), %rdi
callq 0x32f0
leaq -0x190(%rbp), %rdi
callq 0x32f0
leaq -0x18f(%rbp), %rdi
callq 0x32f0
leaq -0x18e(%rbp), %rdi
callq 0x32f0
leaq -0x18d(%rbp), %rdi
callq 0x32f0
leaq -0x18c(%rbp), %rdi
callq 0x32f0
leaq -0x18b(%rbp), %rdi
callq 0x32f0
leaq -0x18a(%rbp), %rdi
callq 0x32f0
leaq -0x189(%rbp), %rdi
callq 0x32f0
testb $0x1, -0x192(%rbp)
jne 0x4944
jmp 0x4991
movq -0x188(%rbp), %rax
leaq -0x180(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x5d8(%rbp)
je 0x498f
movq -0x5d8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x5e0(%rbp)
callq 0x3190
movq -0x5e0(%rbp), %rax
leaq -0x180(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x5d8(%rbp)
jne 0x495e
jmp 0x4991
jmp 0x5088
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x49bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1ea(%rbp), %rdi
callq 0x32f0
leaq -0x1e9(%rbp), %rdi
callq 0x32f0
testb $0x1, -0x1eb(%rbp)
jne 0x49d3
jmp 0x4a20
movq -0x1e8(%rbp), %rax
leaq -0x1e0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x5e8(%rbp)
je 0x4a1e
movq -0x5e8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x5f0(%rbp)
callq 0x3190
movq -0x5f0(%rbp), %rax
leaq -0x1e0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x5e8(%rbp)
jne 0x49ed
jmp 0x4a20
jmp 0x503a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4a99
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4a8d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4a81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4a75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x29d(%rbp), %rdi
callq 0x32f0
leaq -0x29c(%rbp), %rdi
callq 0x32f0
leaq -0x29b(%rbp), %rdi
callq 0x32f0
leaq -0x29a(%rbp), %rdi
callq 0x32f0
leaq -0x299(%rbp), %rdi
callq 0x32f0
testb $0x1, -0x29e(%rbp)
jne 0x4ab0
jmp 0x4afd
movq -0x298(%rbp), %rax
leaq -0x290(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x5f8(%rbp)
je 0x4afb
movq -0x5f8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x600(%rbp)
callq 0x3190
movq -0x600(%rbp), %rax
leaq -0x290(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x5f8(%rbp)
jne 0x4aca
jmp 0x4afd
jmp 0x4faf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4c07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4bfb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4bef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4be3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4bd7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4bcb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4bbf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4bb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4ba7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x3f2(%rbp), %rdi
callq 0x32f0
leaq -0x3f1(%rbp), %rdi
callq 0x32f0
leaq -0x3f0(%rbp), %rdi
callq 0x32f0
leaq -0x3ef(%rbp), %rdi
callq 0x32f0
leaq -0x3ee(%rbp), %rdi
callq 0x32f0
leaq -0x3ed(%rbp), %rdi
callq 0x32f0
leaq -0x3ec(%rbp), %rdi
callq 0x32f0
leaq -0x3eb(%rbp), %rdi
callq 0x32f0
leaq -0x3ea(%rbp), %rdi
callq 0x32f0
leaq -0x3e9(%rbp), %rdi
callq 0x32f0
testb $0x1, -0x3f3(%rbp)
jne 0x4c1e
jmp 0x4c6b
movq -0x3e8(%rbp), %rax
leaq -0x3e0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x608(%rbp)
je 0x4c69
movq -0x608(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x610(%rbp)
callq 0x3190
movq -0x610(%rbp), %rax
leaq -0x3e0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x608(%rbp)
jne 0x4c38
jmp 0x4c6b
jmp 0x4f13
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x3e0(%rbp), %rax
movq %rax, -0x620(%rbp)
addq $0x140, %rax            # imm = 0x140
movq %rax, -0x618(%rbp)
jmp 0x4e94
jmp 0x4c9e
movl -0x3fc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3fc(%rbp)
jmp 0x47d0
movl $0x2, -0x3f8(%rbp)
movl $0x0, -0x404(%rbp)
movl -0x404(%rbp), %eax
cmpl -0x3f8(%rbp), %eax
jge 0x4d2c
movq -0x420(%rbp), %rdi
movslq -0x404(%rbp), %rax
shlq $0x5, %rax
leaq -0x1e0(%rbp,%rax), %rsi
callq 0x3040
movl %eax, -0x624(%rbp)
jmp 0x4cfb
movl -0x624(%rbp), %eax
cmpl $0x0, %eax
jne 0x4d19
movb $0x1, -0x1(%rbp)
movl $0x1, -0x400(%rbp)
jmp 0x4e2b
jmp 0x4d1b
movl -0x404(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x404(%rbp)
jmp 0x4cc6
movl $0x5, -0x3f8(%rbp)
movl $0x0, -0x408(%rbp)
movl -0x408(%rbp), %eax
cmpl -0x3f8(%rbp), %eax
jge 0x4da6
movq -0x420(%rbp), %rdi
movslq -0x408(%rbp), %rax
shlq $0x5, %rax
leaq -0x290(%rbp,%rax), %rsi
callq 0x3040
movl %eax, -0x628(%rbp)
jmp 0x4d75
movl -0x628(%rbp), %eax
cmpl $0x0, %eax
jne 0x4d93
movb $0x1, -0x1(%rbp)
movl $0x1, -0x400(%rbp)
jmp 0x4e2b
jmp 0x4d95
movl -0x408(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x408(%rbp)
jmp 0x4d40
movl $0xa, -0x3f8(%rbp)
movl $0x0, -0x40c(%rbp)
movl -0x40c(%rbp), %eax
cmpl -0x3f8(%rbp), %eax
jge 0x4e1d
movq -0x420(%rbp), %rdi
movslq -0x40c(%rbp), %rax
shlq $0x5, %rax
leaq -0x3e0(%rbp,%rax), %rsi
callq 0x3040
movl %eax, -0x62c(%rbp)
jmp 0x4def
movl -0x62c(%rbp), %eax
cmpl $0x0, %eax
jne 0x4e0a
movb $0x1, -0x1(%rbp)
movl $0x1, -0x400(%rbp)
jmp 0x4e2b
jmp 0x4e0c
movl -0x40c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40c(%rbp)
jmp 0x4dba
movb $0x0, -0x1(%rbp)
movl $0x1, -0x400(%rbp)
leaq -0x3e0(%rbp), %rax
movq %rax, -0x640(%rbp)
addq $0x140, %rax            # imm = 0x140
movq %rax, -0x638(%rbp)
movq -0x638(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x648(%rbp)
callq 0x3190
movq -0x640(%rbp), %rcx
movq -0x648(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x638(%rbp)
jne 0x4e46
leaq -0x290(%rbp), %rax
movq %rax, -0x658(%rbp)
addq $0xa0, %rax
movq %rax, -0x650(%rbp)
jmp 0x4ec7
movq -0x618(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x660(%rbp)
callq 0x3190
movq -0x620(%rbp), %rcx
movq -0x660(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x618(%rbp)
jne 0x4e94
jmp 0x4f13
movq -0x650(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x668(%rbp)
callq 0x3190
movq -0x658(%rbp), %rcx
movq -0x668(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x650(%rbp)
jne 0x4ec7
leaq -0x1e0(%rbp), %rax
movq %rax, -0x678(%rbp)
addq $0x40, %rax
movq %rax, -0x670(%rbp)
jmp 0x4f61
leaq -0x290(%rbp), %rax
movq %rax, -0x688(%rbp)
addq $0xa0, %rax
movq %rax, -0x680(%rbp)
movq -0x680(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x690(%rbp)
callq 0x3190
movq -0x688(%rbp), %rcx
movq -0x690(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x680(%rbp)
jne 0x4f2e
jmp 0x4faf
movq -0x670(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x698(%rbp)
callq 0x3190
movq -0x678(%rbp), %rcx
movq -0x698(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x670(%rbp)
jne 0x4f61
leaq -0x180(%rbp), %rax
movq %rax, -0x6a8(%rbp)
addq $0x120, %rax            # imm = 0x120
movq %rax, -0x6a0(%rbp)
jmp 0x4ffb
leaq -0x1e0(%rbp), %rax
movq %rax, -0x6b8(%rbp)
addq $0x40, %rax
movq %rax, -0x6b0(%rbp)
movq -0x6b0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x6c0(%rbp)
callq 0x3190
movq -0x6b8(%rbp), %rcx
movq -0x6c0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x6b0(%rbp)
jne 0x4fc8
jmp 0x503a
movq -0x6a0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x6c8(%rbp)
callq 0x3190
movq -0x6a8(%rbp), %rcx
movq -0x6c8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x6a0(%rbp)
jne 0x4ffb
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x6e0, %rsp            # imm = 0x6E0
popq %rbp
retq
leaq -0x180(%rbp), %rax
movq %rax, -0x6d8(%rbp)
addq $0x120, %rax            # imm = 0x120
movq %rax, -0x6d0(%rbp)
movq -0x6d0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x6e0(%rbp)
callq 0x3190
movq -0x6d8(%rbp), %rcx
movq -0x6e0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x6d0(%rbp)
jne 0x5055
jmp 0x5088
movq -0x58(%rbp), %rdi
callq 0x3430
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)