// File: tomsmeding[P]MarioLANG/mariolang.cpp
// Function: Level::execcommandSingle(mario*)
bool execcommandSingle(mario *m){
		int num;
		char c;
		SHOW_DEBUG("ECS at %d,%d: '%c'",m->ipx,m->ipy,code[m->ipy][m->ipx]);
		if(animate){
			animationFrameStart(m->ipx,m->ipy,code[m->ipy][m->ipx]);
		}
		//if(animate)cout<<"\x1B[s\x1B["<<m->ipy+1<<";"<<m->ipx+1<<"H\x1B[41;1m"<<code[m->ipy][m->ipx]<<"\x1B[0m\x1B[u"<<flush;
		char codechar=code[m->ipy][m->ipx];
		if(m->skip){
			if(strchr("=|#\")(+-.:,;><^![@w",codechar)!=NULL)m->skip=false;
			codechar='\0';
		}
		switch(codechar){
		case '=': case '|': case '#': case '"':
			FATAL_FALSE("Mario somehow got stuck.");
		case ')':
			m->memp++;
			if(m->memp>memory.sizepos()-1){
				SHOW_MESSAGE("Resizing memory to the right...");
				memory.resizepos(memory.sizepos()*2);
			}
			break;
		case '(':
			m->memp--;
			if(m->memp<-memory.sizeneg()){
				SHOW_MESSAGE("Resizing memory to the left...");
				memory.resizeneg(memory.sizeneg()*2);
			}
			break;
		case '+':
			memory[m->memp]++;
			break;
		case '-':
			memory[m->memp]--;
			break;
		case '.':
			if(animate){
				c=memory[m->memp];
				if(c=='\r')outputx=0;
				else if(c=='\n'){outputx=0;outputy++;}
				else if(c=='\t'){outputx=TABWIDTH*(outputx/TABWIDTH+1);}
				else if(c>=0&&c<32){printf("^%c",'@'+c);outputx+=2;}
				else if(c==127){printf("^?");outputx+=2;}
				else {printf("%c",c);outputx++;}
			} else printf("%c",(char)memory[m->memp]);
			fflush(stdout);
			break;
		case ':':
			num=printf("%d ",memory[m->memp]);
			if(num<0)ERROR_FALSE("FATAL: IO error, printf returned a negative value!");
			fflush(stdout);
			outputx+=num;
			break;
		case ',':
			if(animate){
				moveto(0,inputy);
				printf("\x1B[34mInput char?\x1B[0m "); fflush(stdout);
				memory[m->memp]=getch();
			} else {
				memory[m->memp]=getchar();
			}
			if(animate){
				printf("\x1B[2K"); fflush(stdout);
				moveto(outputx,outputy);
			}
			SHOW_MESSAGE("Read input: char %c",(unsigned char)memory[m->memp]);
			break;
		case ';':
			if(animate){
				moveto(0,inputy);
				printf("\x1B[34mInput number?\x1B[0m "); fflush(stdout);
				c=getch();
				num=0;
				while(c!='\r'&&c!='\n'){
					if(c>='0'&&c<='9'){
						num=10*num+c-'0';
						printf("%c",c); fflush(stdout);
					} else if(c==127&&num!=0){ //backspace
						printf("\x1B[D \x1B[D"); fflush(stdout);
						num/=10;
					}
					c=getch();
				}
				memory[m->memp]=num;
				printf("\x1B[2K"); fflush(stdout);
				moveto(outputx,outputy);
			} else {
				scanf("%d",&memory[m->memp]);
			}
			SHOW_MESSAGE("Read input: number %d",(int)memory[m->memp]);
			break;
		case '>':
			m->dir=DIRRIGHT;
			m->walking=true;
			break;
		case '<':
			m->dir=DIRLEFT;
			m->walking=true;
			break;
		case '^':
			if(m->ipy!=0)m->ipy--;
			if(code[m->ipy][m->ipx]=='<'){
				m->dir=DIRLEFT;
				if(m->ipx==0)ERROR_FALSE("Mario walked out of the world.");
			} else if(code[m->ipy][m->ipx]=='>'){
				m->dir=DIRRIGHT;
				if(m->ipx>=(int)code[m->ipy].size())ERROR_FALSE("Mario walked out of the world.");
			} else ERROR_FALSE("Mario is exhausted of jumping infinitely.");
			m->walking=true;
			break;
		case '!':
			m->walking=false;m->dir=DIRNONE;
			break;
		case '[':
			if(memory[m->memp]==0)m->skip=true;
			break;
		case '@':
			if(m->dir==DIRRIGHT)m->dir=DIRLEFT;
			else if(m->dir==DIRLEFT)m->dir=DIRRIGHT;
			else ERROR_FALSE("The world glitched.");
			break;
		case 'w':
			animatedelay+=200000;
			break;
		default:
			break;
		}
		if(animate){
			animationFrameEnd(m,m->ipx,m->ipy,code[m->ipy][m->ipx]);
		}
		//if(animate)cout<<"\x1B[s\x1B["<<m->ipy+1+(code[m->ipy+1][m->ipx]=='^')<<";"<<m->ipx+1<<"H"<<code[m->ipy+(code[m->ipy+1][m->ipx]=='^')][m->ipx]<<"\x1B[u"<<flush;
		return true;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpl $0x3, 0x549a(%rip)      # 0xb1ac
jl 0x5da9
movq 0x52b1(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x186f(%rip), %rsi      # 0x7598
movb $0x0, %al
callq 0x2250
movq -0x28(%rbp), %rdi
movq 0x5295(%rip), %rax      # 0xafd0
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x2c(%rbp)
addq $0x30, %rdi
movq -0x18(%rbp), %rax
movslq 0x4(%rax), %rsi
callq 0x35d0
movq %rax, %rdi
movq -0x18(%rbp), %rax
movslq (%rax), %rsi
callq 0x22f0
movq -0x38(%rbp), %rdi
movl -0x30(%rbp), %edx
movl -0x2c(%rbp), %ecx
movsbl (%rax), %r8d
leaq 0x1814(%rip), %rsi      # 0x759e
movb $0x0, %al
callq 0x2250
movq 0x5238(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x1756(%rip), %rsi      # 0x74f8
movb $0x0, %al
callq 0x2250
testb $0x1, 0x5404(%rip)      # 0xb1b4
je 0x5dfb
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x3c(%rbp)
addq $0x30, %rdi
movq -0x18(%rbp), %rax
movslq 0x4(%rax), %rsi
callq 0x35d0
movq %rax, %rdi
movq -0x18(%rbp), %rax
movslq (%rax), %rsi
callq 0x22f0
movq -0x28(%rbp), %rdi
movl -0x40(%rbp), %esi
movl -0x3c(%rbp), %edx
movsbl (%rax), %ecx
callq 0x68a0
movq -0x28(%rbp), %rdi
addq $0x30, %rdi
movq -0x18(%rbp), %rax
movslq 0x4(%rax), %rsi
callq 0x35d0
movq %rax, %rdi
movq -0x18(%rbp), %rax
movslq (%rax), %rsi
callq 0x22f0
movb (%rax), %al
movb %al, -0x1e(%rbp)
movq -0x18(%rbp), %rax
testb $0x1, 0x11(%rax)
je 0x5e50
movsbl -0x1e(%rbp), %esi
leaq 0x1778(%rip), %rdi      # 0x75b1
callq 0x20a0
cmpq $0x0, %rax
je 0x5e4c
movq -0x18(%rbp), %rax
movb $0x0, 0x11(%rax)
movb $0x0, -0x1e(%rbp)
movsbl -0x1e(%rbp), %eax
addl $-0x21, %eax
movl %eax, %ecx
movq %rcx, -0x48(%rbp)
subl $0x5b, %eax
ja 0x6807
movq -0x48(%rbp), %rax
leaq 0x1193(%rip), %rcx      # 0x7004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x0, 0x532b(%rip)      # 0xb1ac
jl 0x5ecb
movq 0x5146(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x168d(%rip), %rsi      # 0x7521
movb $0x0, %al
callq 0x2250
movq 0x512e(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x1719(%rip), %rsi      # 0x75c5
movb $0x0, %al
callq 0x2250
movq 0x5116(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x1634(%rip), %rsi      # 0x74f8
movb $0x0, %al
callq 0x2250
movb $0x0, -0x1(%rbp)
jmp 0x6872
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x18(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x4c(%rbp)
callq 0x6900
movl %eax, %ecx
movl -0x4c(%rbp), %eax
subl $0x1, %ecx
cmpl %ecx, %eax
jle 0x5f69
cmpl $0x2, 0x52a5(%rip)      # 0xb1ac
jl 0x5f51
movq 0x50c0(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x1594(%rip), %rsi      # 0x74ae
movb $0x0, %al
callq 0x2250
movq 0x50a8(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x16ac(%rip), %rsi      # 0x75de
movb $0x0, %al
callq 0x2250
movq 0x5090(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x15ae(%rip), %rsi      # 0x74f8
movb $0x0, %al
callq 0x2250
movq -0x28(%rbp), %rdi
callq 0x6900
movq -0x28(%rbp), %rdi
movl %eax, %esi
shll %esi
xorl %edx, %edx
callq 0x3f40
jmp 0x6809
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x8(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x18(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x50(%rbp)
callq 0x6920
movl %eax, %edx
movl -0x50(%rbp), %eax
xorl %ecx, %ecx
subl %edx, %ecx
cmpl %ecx, %eax
jge 0x6004
cmpl $0x2, 0x520a(%rip)      # 0xb1ac
jl 0x5fec
movq 0x5025(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x14f9(%rip), %rsi      # 0x74ae
movb $0x0, %al
callq 0x2250
movq 0x500d(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x1631(%rip), %rsi      # 0x75fe
movb $0x0, %al
callq 0x2250
movq 0x4ff5(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x1513(%rip), %rsi      # 0x74f8
movb $0x0, %al
callq 0x2250
movq -0x28(%rbp), %rdi
callq 0x6920
movq -0x28(%rbp), %rdi
movl %eax, %esi
shll %esi
xorl %edx, %edx
callq 0x3f70
jmp 0x6809
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x5c90
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x6809
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x5c90
movl (%rax), %ecx
addl $-0x1, %ecx
movl %ecx, (%rax)
jmp 0x6809
testb $0x1, 0x516c(%rip)      # 0xb1b4
je 0x614c
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x5c90
movl (%rax), %eax
movb %al, -0x1d(%rbp)
movsbl -0x1d(%rbp), %eax
cmpl $0xd, %eax
jne 0x607c
movq -0x28(%rbp), %rax
movl $0x0, 0x48(%rax)
jmp 0x614a
movsbl -0x1d(%rbp), %eax
cmpl $0xa, %eax
jne 0x609e
movq -0x28(%rbp), %rax
movl $0x0, 0x48(%rax)
movl 0x4c(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x4c(%rax)
jmp 0x6148
movsbl -0x1d(%rbp), %eax
cmpl $0x9, %eax
jne 0x60c7
movq -0x28(%rbp), %rax
movl 0x48(%rax), %eax
movl $0x8, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movq -0x28(%rbp), %rax
addl $0x1, %ecx
shll $0x3, %ecx
movl %ecx, 0x48(%rax)
jmp 0x6146
movsbl -0x1d(%rbp), %eax
cmpl $0x0, %eax
jl 0x60fd
movsbl -0x1d(%rbp), %eax
cmpl $0x20, %eax
jge 0x60fd
movsbl -0x1d(%rbp), %esi
addl $0x40, %esi
leaq 0x1536(%rip), %rdi      # 0x761d
movb $0x0, %al
callq 0x2030
movq -0x28(%rbp), %rax
movl 0x48(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x48(%rax)
jmp 0x6144
movsbl -0x1d(%rbp), %eax
cmpl $0x7f, %eax
jne 0x6123
leaq 0x1514(%rip), %rdi      # 0x7621
movb $0x0, %al
callq 0x2030
movq -0x28(%rbp), %rax
movl 0x48(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x48(%rax)
jmp 0x6142
movsbl -0x1d(%rbp), %esi
leaq 0x1559(%rip), %rdi      # 0x7687
movb $0x0, %al
callq 0x2030
movq -0x28(%rbp), %rax
movl 0x48(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x48(%rax)
jmp 0x6144
jmp 0x6146
jmp 0x6148
jmp 0x614a
jmp 0x616f
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x5c90
movl (%rax), %eax
movsbl %al, %esi
leaq 0x151f(%rip), %rdi      # 0x7687
movb $0x0, %al
callq 0x2030
movq 0x4e42(%rip), %rax      # 0xafb8
movq (%rax), %rdi
callq 0x21c0
jmp 0x6809
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x5c90
movl (%rax), %esi
leaq 0x1488(%rip), %rdi      # 0x7624
movb $0x0, %al
callq 0x2030
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jge 0x6206
cmpl $0x1, 0x4ff9(%rip)      # 0xb1ac
jl 0x61fd
movq 0x4e14(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x1338(%rip), %rsi      # 0x74fe
movb $0x0, %al
callq 0x2250
movq 0x4dfc(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x144a(%rip), %rsi      # 0x7628
movb $0x0, %al
callq 0x2250
movq 0x4de4(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x1302(%rip), %rsi      # 0x74f8
movb $0x0, %al
callq 0x2250
movb $0x0, -0x1(%rbp)
jmp 0x6872
movq 0x4dab(%rip), %rax      # 0xafb8
movq (%rax), %rdi
callq 0x21c0
movq -0x28(%rbp), %rax
movl -0x1c(%rbp), %ecx
addl 0x48(%rax), %ecx
movl %ecx, 0x48(%rax)
jmp 0x6809
testb $0x1, 0x4f86(%rip)      # 0xb1b4
je 0x627d
movq -0x28(%rbp), %rax
movl 0x50(%rax), %esi
xorl %edi, %edi
callq 0x2520
leaq 0x1416(%rip), %rdi      # 0x765b
movb $0x0, %al
callq 0x2030
movq 0x4d65(%rip), %rax      # 0xafb8
movq (%rax), %rdi
callq 0x21c0
callq 0x2440
movq -0x28(%rbp), %rdi
movsbl %al, %eax
movl %eax, -0x54(%rbp)
movq -0x18(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x5c90
movl -0x54(%rbp), %ecx
movl %ecx, (%rax)
jmp 0x629a
callq 0x2210
movq -0x28(%rbp), %rdi
movl %eax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x5c90
movl -0x58(%rbp), %ecx
movl %ecx, (%rax)
testb $0x1, 0x4f13(%rip)      # 0xb1b4
je 0x62cf
leaq 0x13c7(%rip), %rdi      # 0x7671
movb $0x0, %al
callq 0x2030
movq 0x4d00(%rip), %rax      # 0xafb8
movq (%rax), %rdi
callq 0x21c0
movq -0x28(%rbp), %rax
movl 0x48(%rax), %edi
movl 0x4c(%rax), %esi
callq 0x2520
cmpl $0x2, 0x4ed6(%rip)      # 0xb1ac
jl 0x633d
movq 0x4cf1(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x11c5(%rip), %rsi      # 0x74ae
movb $0x0, %al
callq 0x2250
movq -0x28(%rbp), %rdi
movq 0x4cd5(%rip), %rax      # 0xafd0
movq (%rax), %rax
movq %rax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x5c90
movq -0x60(%rbp), %rdi
movl (%rax), %eax
movzbl %al, %edx
leaq 0x1358(%rip), %rsi      # 0x7676
movb $0x0, %al
callq 0x2250
movq 0x4ca4(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0x11c2(%rip), %rsi      # 0x74f8
movb $0x0, %al
callq 0x2250
jmp 0x6809
testb $0x1, 0x4e6b(%rip)      # 0xb1b4
je 0x6487
movq -0x28(%rbp), %rax
movl 0x50(%rax), %esi
xorl %edi, %edi
callq 0x2520
leaq 0x1326(%rip), %rdi      # 0x768a
movb $0x0, %al
callq 0x2030
movq 0x4c46(%rip), %rax      # 0xafb8
movq (%rax), %rdi
callq 0x21c0
callq 0x2440
movb %al, -0x1d(%rbp)
movl $0x0, -0x1c(%rbp)
movsbl -0x1d(%rbp), %ecx
xorl %eax, %eax
cmpl $0xd, %ecx
movb %al, -0x61(%rbp)
je 0x63a4
movsbl -0x1d(%rbp), %eax
cmpl $0xa, %eax
setne %al
movb %al, -0x61(%rbp)
movb -0x61(%rbp), %al
testb $0x1, %al
jne 0x63b0
jmp 0x643e
movsbl -0x1d(%rbp), %eax
cmpl $0x30, %eax
jl 0x63f5
movsbl -0x1d(%rbp), %eax
cmpl $0x39, %eax
jg 0x63f5
imull $0xa, -0x1c(%rbp), %eax
movsbl -0x1d(%rbp), %ecx
addl %ecx, %eax
subl $0x30, %eax
movl %eax, -0x1c(%rbp)
movsbl -0x1d(%rbp), %esi
leaq 0x12aa(%rip), %rdi      # 0x7687
movb $0x0, %al
callq 0x2030
movq 0x4bcd(%rip), %rax      # 0xafb8
movq (%rax), %rdi
callq 0x21c0
jmp 0x6431
movsbl -0x1d(%rbp), %eax
cmpl $0x7f, %eax
jne 0x642f
cmpl $0x0, -0x1c(%rbp)
je 0x642f
leaq 0x1297(%rip), %rdi      # 0x76a2
movb $0x0, %al
callq 0x2030
movq 0x4b9f(%rip), %rax      # 0xafb8
movq (%rax), %rdi
callq 0x21c0
movl -0x1c(%rbp), %eax
movl $0xa, %ecx
cltd
idivl %ecx
movl %eax, -0x1c(%rbp)
jmp 0x6431
callq 0x2440
movb %al, -0x1d(%rbp)
jmp 0x6389
movq -0x28(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, -0x68(%rbp)
movq -0x18(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x5c90
movl -0x68(%rbp), %ecx
movl %ecx, (%rax)
leaq 0x1211(%rip), %rdi      # 0x7671
movb $0x0, %al
callq 0x2030
movq 0x4b4a(%rip), %rax      # 0xafb8
movq (%rax), %rdi
callq 0x21c0
movq -0x28(%rbp), %rax
movl 0x48(%rax), %edi
movl 0x4c(%rax), %esi
callq 0x2520
jmp 0x64a8
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x5c90
movq %rax, %rsi
leaq 0x121c(%rip), %rdi      # 0x76bd
movb $0x0, %al
callq 0x21b0
cmpl $0x2, 0x4cfd(%rip)      # 0xb1ac
jl 0x6513
movq 0x4b18(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0xfec(%rip), %rsi       # 0x74ae
movb $0x0, %al
callq 0x2250
movq -0x28(%rbp), %rdi
movq 0x4afc(%rip), %rax      # 0xafd0
movq (%rax), %rax
movq %rax, -0x70(%rbp)
movq -0x18(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x5c90
movq -0x70(%rbp), %rdi
movl (%rax), %edx
leaq 0x11b6(%rip), %rsi      # 0x76aa
movb $0x0, %al
callq 0x2250
movq 0x4ace(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0xfec(%rip), %rsi       # 0x74f8
movb $0x0, %al
callq 0x2250
jmp 0x6809
movq -0x18(%rbp), %rax
movl $0x0, 0xc(%rax)
movq -0x18(%rbp), %rax
movb $0x1, 0x10(%rax)
jmp 0x6809
movq -0x18(%rbp), %rax
movl $0x2, 0xc(%rax)
movq -0x18(%rbp), %rax
movb $0x1, 0x10(%rax)
jmp 0x6809
movq -0x18(%rbp), %rax
cmpl $0x0, 0x4(%rax)
je 0x655f
movq -0x18(%rbp), %rax
movl 0x4(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x4(%rax)
movq -0x28(%rbp), %rdi
addq $0x30, %rdi
movq -0x18(%rbp), %rax
movslq 0x4(%rax), %rsi
callq 0x35d0
movq %rax, %rdi
movq -0x18(%rbp), %rax
movslq (%rax), %rsi
callq 0x22f0
movsbl (%rax), %eax
cmpl $0x3c, %eax
jne 0x65fe
movq -0x18(%rbp), %rax
movl $0x2, 0xc(%rax)
movq -0x18(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x65f9
cmpl $0x1, 0x4c06(%rip)      # 0xb1ac
jl 0x65f0
movq 0x4a21(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0xf45(%rip), %rsi       # 0x74fe
movb $0x0, %al
callq 0x2250
movq 0x4a09(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0xf71(%rip), %rsi       # 0x7542
movb $0x0, %al
callq 0x2250
movq 0x49f1(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0xf0f(%rip), %rsi       # 0x74f8
movb $0x0, %al
callq 0x2250
movb $0x0, -0x1(%rbp)
jmp 0x6872
jmp 0x6721
movq -0x28(%rbp), %rdi
addq $0x30, %rdi
movq -0x18(%rbp), %rax
movslq 0x4(%rax), %rsi
callq 0x35d0
movq %rax, %rdi
movq -0x18(%rbp), %rax
movslq (%rax), %rsi
callq 0x22f0
movsbl (%rax), %eax
cmpl $0x3e, %eax
jne 0x66c5
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rax
movl $0x0, 0xc(%rax)
movq -0x18(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x74(%rbp)
addq $0x30, %rdi
movq -0x18(%rbp), %rax
movslq 0x4(%rax), %rsi
callq 0x35d0
movq %rax, %rdi
callq 0x2130
movq %rax, %rcx
movl -0x74(%rbp), %eax
cmpl %ecx, %eax
jl 0x66c3
cmpl $0x1, 0x4b3c(%rip)      # 0xb1ac
jl 0x66ba
movq 0x4957(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0xe7b(%rip), %rsi       # 0x74fe
movb $0x0, %al
callq 0x2250
movq 0x493f(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0xea7(%rip), %rsi       # 0x7542
movb $0x0, %al
callq 0x2250
movq 0x4927(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0xe45(%rip), %rsi       # 0x74f8
movb $0x0, %al
callq 0x2250
movb $0x0, -0x1(%rbp)
jmp 0x6872
jmp 0x671f
cmpl $0x1, 0x4ae0(%rip)      # 0xb1ac
jl 0x6716
movq 0x48fb(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0xe1f(%rip), %rsi       # 0x74fe
movb $0x0, %al
callq 0x2250
movq 0x48e3(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0xfc9(%rip), %rsi       # 0x76c0
movb $0x0, %al
callq 0x2250
movq 0x48cb(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0xde9(%rip), %rsi       # 0x74f8
movb $0x0, %al
callq 0x2250
movb $0x0, -0x1(%rbp)
jmp 0x6872
jmp 0x6721
movq -0x18(%rbp), %rax
movb $0x1, 0x10(%rax)
jmp 0x6809
movq -0x18(%rbp), %rax
movb $0x0, 0x10(%rax)
movq -0x18(%rbp), %rax
movl $0x3, 0xc(%rax)
jmp 0x6809
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x5c90
cmpl $0x0, (%rax)
jne 0x6763
movq -0x18(%rbp), %rax
movb $0x1, 0x11(%rax)
jmp 0x6809
movq -0x18(%rbp), %rax
cmpl $0x0, 0xc(%rax)
jne 0x677f
movq -0x18(%rbp), %rax
movl $0x2, 0xc(%rax)
jmp 0x67f2
movq -0x18(%rbp), %rax
cmpl $0x2, 0xc(%rax)
jne 0x6796
movq -0x18(%rbp), %rax
movl $0x0, 0xc(%rax)
jmp 0x67f0
cmpl $0x1, 0x4a0f(%rip)      # 0xb1ac
jl 0x67e7
movq 0x482a(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0xd4e(%rip), %rsi       # 0x74fe
movb $0x0, %al
callq 0x2250
movq 0x4812(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0xf22(%rip), %rsi       # 0x76ea
movb $0x0, %al
callq 0x2250
movq 0x47fa(%rip), %rax      # 0xafd0
movq (%rax), %rdi
leaq 0xd18(%rip), %rsi       # 0x74f8
movb $0x0, %al
callq 0x2250
movb $0x0, -0x1(%rbp)
jmp 0x6872
jmp 0x67f2
jmp 0x6809
movl 0x49b6(%rip), %eax      # 0xb1b0
addl $0x30d40, %eax          # imm = 0x30D40
movl %eax, 0x49ab(%rip)      # 0xb1b0
jmp 0x6809
jmp 0x6809
testb $0x1, 0x49a4(%rip)      # 0xb1b4
je 0x686e
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x18(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x7c(%rbp)
movq -0x18(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x78(%rbp)
addq $0x30, %rdi
movq -0x18(%rbp), %rax
movslq 0x4(%rax), %rsi
callq 0x35d0
movq %rax, %rdi
movq -0x18(%rbp), %rax
movslq (%rax), %rsi
callq 0x22f0
movq -0x28(%rbp), %rdi
movq -0x88(%rbp), %rsi
movl -0x7c(%rbp), %edx
movl -0x78(%rbp), %ecx
movsbl (%rax), %r8d
callq 0x6940
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x90, %rsp
popq %rbp
retq