// File: /workspace/github_cpp_makefile_star2_O1/RuiDGPires[P]CrimLang/src/parser.cpp
// Function: ps_Tracker::statement()
void _ps_Tracker::statement(){
	if (accept(crl::Token::Type::SEMICLN))
		this->enter(crl::Node::Type::NONE);
	else if (accept(crl::Token::Type::IF)){
		this->enter(crl::Node::Type::IF);

		this->expect(crl::Token::Type::LPAREN);
		this->casted_expression();	
		this->expect(crl::Token::Type::RPAREN);

		this->enter(crl::Node::Type::THEN);
		if (accept(crl::Token::Type::LBRACK))
			this->block(crl::Token::Type::RBRACK);
		else
			this->statement();
		
		this->leave(); // LEAVE THEN

		if (accept(crl::Token::Type::ELSE)){
			this->enter(crl::Node::Type::ELSE);
			if (accept(crl::Token::Type::LBRACK))
				this->block(crl::Token::Type::RBRACK);
			else
				this->statement();
			this->leave();
		}
	}else if (accept(crl::Token::Type::WHILE)){
		this->enter(crl::Node::Type::WHILE);

		this->expect(crl::Token::Type::LPAREN);
		this->casted_expression();	
		this->expect(crl::Token::Type::RPAREN);

		if (accept(crl::Token::Type::LBRACK))
			this->block(crl::Token::Type::RBRACK);
		else
			this->statement();
	}else if (accept(crl::Token::Type::FOR)){
		this->enter(crl::Node::Type::FOR);
		this->expect(crl::Token::Type::LPAREN);
		this->statement();	
		if (this->previous().type != crl::Token::Type::SEMICLN)
			this->expect(crl::Token::Type::SEMICLN);

		this->expression();
		this->expect(crl::Token::Type::SEMICLN);
		this->expression();
		this->expect(crl::Token::Type::RPAREN);

		if (accept(crl::Token::Type::LBRACK))
			this->block(crl::Token::Type::RBRACK);
		else
			this->statement();
	}else if (accept(crl::Token::Type::RETURN)){
		this->enter(crl::Node::Type::RETURN);
		if (!accept(crl::Token::Type::SEMICLN)){
			this->expression();
			this->expect(crl::Token::Type::SEMICLN);
		}
	}else if (accept(crl::Token::Type::BREAK)){
		this->enter(crl::Node::Type::BREAK);
		this->expect(crl::Token::Type::SEMICLN);
	}else if (accept(crl::Token::Type::CONTINUE)){
		this->enter(crl::Node::Type::BREAK);
		this->annotate("continue");
		this->expect(crl::Token::Type::SEMICLN);
	}else if (accept(crl::Token::Type::IDENT)){
		if (this->current.type == crl::Token::Type::LPAREN){
			this->func_call();
			this->expect(crl::Token::Type::SEMICLN);
			return;
		}else if (this->current.type == crl::Token::Type::INC){
			this->enter(crl::Node::Type::INC);
			this->add(this->previous());
			this->next();
			this->expect(crl::Token::Type::SEMICLN);
		}else if (this->current.type == crl::Token::Type::DECR){
			this->enter(crl::Node::Type::DEC);
			this->add(this->previous());
			this->next();
			this->expect(crl::Token::Type::SEMICLN);
		}else if (this->current.type == crl::Token::Type::LSBR){
			this->enter(crl::Node::Type::ASSIGN);
			this->enter(crl::Node::Type::VECTOR);
			this->add(this->previous());
			this->next();
			EXP_AND_ADD(crl::Token::Type::INT);
			this->expect(crl::Token::Type::RSBR);
			this->leave();

			if (!IS_ASSIGN_TOK(this->current.type))
				throw crl::UnexpectedToken(this->current);

			this->annotate(parse_assign(this->current.type));
			this->next();
			this->expression();
			this->expect(crl::Token::Type::SEMICLN);
		}else if (IS_ASSIGN_TOK(this->current.type)){
			this->enter(crl::Node::Type::ASSIGN);
			this->annotate(parse_assign(this->current.type));
			this->add(this->previous());
			this->next();
			this->expression();
			this->expect(crl::Token::Type::SEMICLN);
		}else throw crl::UnexpectedToken(this->current);

	}else if (accept TYPE_SPEC()){
		this->enter(crl::Node::Type::INIT);
		if (this->current.type == crl::Token::Type::LSBR){
			this->enter(crl::Node::Type::VECTOR);
			this->add(this->previous());
			this->expect(crl::Token::Type::LSBR);
			EXP_AND_ADD(crl::Token::Type::INT);
			this->expect(crl::Token::Type::RSBR);
			this->leave();
		}else
			this->add(this->previous());

		// VAR INIT
		bool _mutable = accept(crl::Token::Type::MUT);
		if (_mutable)
			this->annotate("mut");

		EXP_AND_ADD(crl::Token::Type::IDENT);

		if (!_mutable){
			this->enter(crl::Node::Type::ASSIGN);
			expect(crl::Token::Type::BECOMES);
			if (accept(crl::Token::Type::LSBR)){
				this->enter(crl::Node::Type::VECTOR);
				if (!accept(crl::Token::Type::RSBR)){
					do{
						this->expression();
					}while(accept(crl::Token::Type::COMMA));
					expect(crl::Token::Type::RSBR);
				}
				this->leave();
			}else
				this->expression();
			this->leave();
		}else{
			if (accept(crl::Token::Type::BECOMES)){
				this->enter(crl::Node::Type::ASSIGN);
				this->expression();
				this->leave();
			}
		}
		
		expect(crl::Token::Type::SEMICLN);
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x238, %rsp            # imm = 0x238
movq %rdi, %rbx
cmpl $0x28, 0x58(%rdi)
jne 0x116f7
movq %rbx, %rdi
callq 0xf8a4
movq %rbx, %rdi
xorl %esi, %esi
callq 0xfba2
movq 0x18(%rbx), %rax
movq 0x28(%rax), %rax
movq %rax, 0x18(%rbx)
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x2, 0x58(%rbx)
jne 0x1175e
movq %rbx, %rdi
callq 0xf8a4
movq %rbx, %rdi
movl $0x7, %esi
callq 0xfba2
movq %rbx, %rdi
movl $0x20, %esi
callq 0xfa30
movq %rbx, %rdi
callq 0x108f2
movq %rbx, %rdi
movl $0x21, %esi
callq 0xfa30
movq %rbx, %rdi
movl $0x8, %esi
callq 0xfba2
cmpl $0x24, 0x58(%rbx)
jne 0x117ae
movq %rbx, %rdi
callq 0xf8a4
movq %rbx, %rdi
movl $0x25, %esi
callq 0x1166a
jmp 0x117b6
cmpl $0x10, 0x58(%rbx)
jne 0x11805
movq %rbx, %rdi
callq 0xf8a4
movq %rbx, %rdi
movl $0xb, %esi
callq 0xfba2
movq %rbx, %rdi
movl $0x20, %esi
callq 0xfa30
movq %rbx, %rdi
callq 0x108f2
movq %rbx, %rdi
movl $0x21, %esi
callq 0xfa30
cmpl $0x24, 0x58(%rbx)
jne 0x118a6
jmp 0x1188c
movq %rbx, %rdi
callq 0x116aa
movq 0x18(%rbx), %rax
movq 0x28(%rax), %rax
movq %rax, 0x18(%rbx)
cmpl $0x3, 0x58(%rbx)
jne 0x116d9
movq %rbx, %rdi
callq 0xf8a4
movq %rbx, %rdi
movl $0x9, %esi
callq 0xfba2
cmpl $0x24, 0x58(%rbx)
jne 0x118a8
movq %rbx, %rdi
callq 0xf8a4
movq %rbx, %rdi
movl $0x25, %esi
callq 0x1166a
jmp 0x118b0
cmpl $0xf, 0x58(%rbx)
jne 0x118c1
movq %rbx, %rdi
callq 0xf8a4
movq %rbx, %rdi
movl $0xa, %esi
callq 0xfba2
movq %rbx, %rdi
movl $0x20, %esi
callq 0xfa30
movq %rbx, %rdi
callq 0x116aa
movq (%rbx), %rax
movq 0x28(%rbx), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x4, %rcx
cmpl $0x28, -0x10(%rax,%rcx)
je 0x1185c
movq %rbx, %rdi
movl $0x28, %esi
callq 0xfa30
movq %rbx, %rdi
callq 0xff5e
movq %rbx, %rdi
movl $0x28, %esi
callq 0xfa30
movq %rbx, %rdi
callq 0xff5e
movq %rbx, %rdi
movl $0x21, %esi
callq 0xfa30
cmpl $0x24, 0x58(%rbx)
jne 0x118ef
movq %rbx, %rdi
callq 0xf8a4
movq %rbx, %rdi
movl $0x25, %esi
callq 0x1166a
jmp 0x116d9
jmp 0x118ef
movq %rbx, %rdi
callq 0x116aa
movq 0x18(%rbx), %rax
movq 0x28(%rax), %rax
movq %rax, 0x18(%rbx)
jmp 0x116d9
cmpl $0xc, 0x58(%rbx)
jne 0x118fc
movq %rbx, %rdi
callq 0xf8a4
movq %rbx, %rdi
movl $0x16, %esi
callq 0xfba2
cmpl $0x28, 0x58(%rbx)
jne 0x1191c
movq %rbx, %rdi
callq 0xf8a4
jmp 0x116d9
movq %rbx, %rdi
callq 0x116aa
jmp 0x116d9
cmpl $0xd, 0x58(%rbx)
jne 0x11929
movq %rbx, %rdi
callq 0xf8a4
movq %rbx, %rdi
movl $0x17, %esi
callq 0xfba2
jmp 0x11ec5
movq %rbx, %rdi
callq 0xff5e
jmp 0x11ec5
cmpl $0xe, 0x58(%rbx)
jne 0x11990
movq %rbx, %rdi
callq 0xf8a4
movq %rbx, %rdi
movl $0x17, %esi
callq 0xfba2
leaq -0x58(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0xa02d(%rip), %rsi      # 0x1b980
leaq 0xa02e(%rip), %rdx      # 0x1b988
leaq -0x68(%rbp), %r14
movq %r14, %rdi
callq 0x433a
movq 0x18(%rbx), %rdi
addq $0x30, %rdi
movq %r14, %rsi
callq 0x3150
movq -0x68(%rbp), %rdi
cmpq %r15, %rdi
je 0x1198b
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3230
jmp 0x11ec5
cmpl $0x1, 0x58(%rbx)
jne 0x11a72
movq %rbx, %rdi
callq 0xf8a4
leaq 0x38(%rbx), %r14
movl 0x58(%rbx), %eax
cmpl $0x21, %eax
jle 0x11d5f
leal -0x2a(%rax), %ecx
cmpl $0x5, %ecx
jae 0x11ed7
movq %rbx, %rdi
movl $0x6, %esi
callq 0xfba2
movl 0x58(%rbx), %esi
leaq -0x88(%rbp), %r14
movq %r14, %rdi
callq 0x121ae
movq 0x18(%rbx), %rdi
addq $0x30, %rdi
movq %r14, %rsi
callq 0x3150
leaq -0x78(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x11a06
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x3230
movq (%rbx), %r15
movq 0x28(%rbx), %rax
leaq (%rax,%rax,2), %r12
shlq $0x4, %r12
leaq -0x188(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x30(%r15,%r12), %rsi
movq -0x28(%r15,%r12), %rdx
addq %rsi, %rdx
leaq -0x198(%rbp), %r14
movq %r14, %rdi
callq 0x4d4a
movl -0x8(%r15,%r12), %eax
movl %eax, 0x28(%r14)
movq -0x10(%r15,%r12), %rax
movq %rax, 0x20(%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0xfca8
leaq -0x198(%rbp), %rdi
callq 0x192b0
movq %rbx, %rdi
callq 0xf8a4
jmp 0x1191c
subq $0x8, %rsp
movq %rbx, %rdi
movl $0x7, %esi
movl $0x5, %edx
movl $0x6, %ecx
movl $0x7, %r8d
movl $0x9, %r9d
xorl %eax, %eax
pushq $0xb
pushq $0xa
pushq $0x8
callq 0xf96c
addq $0x20, %rsp
testb %al, %al
je 0x12038
movq %rbx, %rdi
movl $0x4, %esi
callq 0xfba2
cmpl $0x22, 0x58(%rbx)
jne 0x11bc4
movq %rbx, %rdi
movl $0x19, %esi
callq 0xfba2
movq (%rbx), %r15
movq 0x28(%rbx), %rax
leaq (%rax,%rax,2), %r12
shlq $0x4, %r12
leaq -0x158(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x30(%r15,%r12), %rsi
movq -0x28(%r15,%r12), %rdx
addq %rsi, %rdx
leaq -0x168(%rbp), %r14
movq %r14, %rdi
callq 0x4d4a
movl -0x8(%r15,%r12), %eax
movl %eax, 0x28(%r14)
movq -0x10(%r15,%r12), %rax
movq %rax, 0x20(%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0xfca8
leaq -0x168(%rbp), %rdi
callq 0x192b0
movq %rbx, %rdi
movl $0x22, %esi
callq 0xfa30
movq %rbx, %rdi
movl $0x13, %esi
callq 0xfa30
movq (%rbx), %r15
movq 0x28(%rbx), %rax
leaq (%rax,%rax,2), %r12
shlq $0x4, %r12
leaq -0x128(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x30(%r15,%r12), %rsi
movq -0x28(%r15,%r12), %rdx
addq %rsi, %rdx
leaq -0x138(%rbp), %r14
movq %r14, %rdi
callq 0x4d4a
movl -0x8(%r15,%r12), %eax
movl %eax, 0x28(%r14)
movq -0x10(%r15,%r12), %rax
movq %rax, 0x20(%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0xfca8
leaq -0x138(%rbp), %rdi
callq 0x192b0
movq %rbx, %rdi
movl $0x23, %esi
callq 0xfa30
movq 0x18(%rbx), %rax
movq 0x28(%rax), %rax
movq %rax, 0x18(%rbx)
jmp 0x11c23
movq (%rbx), %r15
movq 0x28(%rbx), %rax
leaq (%rax,%rax,2), %r12
shlq $0x4, %r12
leaq -0xf8(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x30(%r15,%r12), %rsi
movq -0x28(%r15,%r12), %rdx
addq %rsi, %rdx
leaq -0x108(%rbp), %r14
movq %r14, %rdi
callq 0x4d4a
movl -0x8(%r15,%r12), %eax
movl %eax, 0x28(%r14)
movq -0x10(%r15,%r12), %rax
movq %rax, 0x20(%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0xfca8
leaq -0x108(%rbp), %rdi
callq 0x192b0
movl 0x58(%rbx), %r15d
cmpl $0x4, %r15d
jne 0x11c7d
movq %rbx, %rdi
callq 0xf8a4
leaq -0x38(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x980b(%rip), %rsi      # 0x1b450
leaq 0x9807(%rip), %rdx      # 0x1b453
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x433a
movq 0x18(%rbx), %rdi
addq $0x30, %rdi
movq %r14, %rsi
callq 0x3150
movq -0x48(%rbp), %rdi
cmpq %r12, %rdi
je 0x11c7d
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3230
movq %rbx, %rdi
movl $0x1, %esi
callq 0xfa30
movq (%rbx), %r12
movq 0x28(%rbx), %rax
leaq (%rax,%rax,2), %r13
shlq $0x4, %r13
leaq -0xc8(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x30(%r12,%r13), %rsi
movq -0x28(%r12,%r13), %rdx
addq %rsi, %rdx
leaq -0xd8(%rbp), %r14
movq %r14, %rdi
callq 0x4d4a
movl -0x8(%r12,%r13), %eax
movl %eax, 0x28(%r14)
movq -0x10(%r12,%r13), %rax
movq %rax, 0x20(%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0xfca8
leaq -0xd8(%rbp), %rdi
callq 0x192b0
cmpl $0x4, %r15d
jne 0x11d13
cmpl $0x2a, 0x58(%rbx)
jne 0x11ec5
movq %rbx, %rdi
callq 0xf8a4
movq %rbx, %rdi
movl $0x6, %esi
callq 0xfba2
jmp 0x11d9c
movq %rbx, %rdi
movl $0x6, %esi
callq 0xfba2
movq %rbx, %rdi
movl $0x2a, %esi
callq 0xfa30
cmpl $0x22, 0x58(%rbx)
jne 0x11d9c
movq %rbx, %rdi
callq 0xf8a4
movq %rbx, %rdi
movl $0x19, %esi
callq 0xfba2
cmpl $0x23, 0x58(%rbx)
jne 0x11e88
movq %rbx, %rdi
callq 0xf8a4
jmp 0x11ead
cmpl $0x18, %eax
je 0x11da9
cmpl $0x19, %eax
je 0x11e12
cmpl $0x20, %eax
jne 0x1206a
movq %rbx, %rdi
callq 0xfd5e
movq %rbx, %rdi
movl $0x28, %esi
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xfa30
movq %rbx, %rdi
callq 0xff5e
jmp 0x11eb9
movq %rbx, %rdi
movl $0x13, %esi
callq 0xfba2
movq (%rbx), %r15
movq 0x28(%rbx), %rax
leaq (%rax,%rax,2), %r12
shlq $0x4, %r12
leaq -0x248(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x30(%r15,%r12), %rsi
movq -0x28(%r15,%r12), %rdx
addq %rsi, %rdx
leaq -0x258(%rbp), %r14
movq %r14, %rdi
callq 0x4d4a
movl -0x8(%r15,%r12), %eax
movl %eax, 0x28(%r14)
movq -0x10(%r15,%r12), %rax
movq %rax, 0x20(%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0xfca8
leaq -0x258(%rbp), %rdi
jmp 0x11e79
movq %rbx, %rdi
movl $0x14, %esi
callq 0xfba2
movq (%rbx), %r15
movq 0x28(%rbx), %rax
leaq (%rax,%rax,2), %r12
shlq $0x4, %r12
leaq -0x218(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x30(%r15,%r12), %rsi
movq -0x28(%r15,%r12), %rdx
addq %rsi, %rdx
leaq -0x228(%rbp), %r14
movq %r14, %rdi
callq 0x4d4a
movl -0x8(%r15,%r12), %eax
movl %eax, 0x28(%r14)
movq -0x10(%r15,%r12), %rax
movq %rax, 0x20(%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0xfca8
leaq -0x228(%rbp), %rdi
callq 0x192b0
movq %rbx, %rdi
callq 0xf8a4
jmp 0x11ec5
movq %rbx, %rdi
callq 0xff5e
cmpl $0x29, 0x58(%rbx)
jne 0x11ea0
movq %rbx, %rdi
callq 0xf8a4
jmp 0x11e88
movq %rbx, %rdi
movl $0x23, %esi
callq 0xfa30
movq 0x18(%rbx), %rax
movq 0x28(%rax), %rax
movq %rax, 0x18(%rbx)
movq 0x18(%rbx), %rax
movq 0x28(%rax), %rax
movq %rax, 0x18(%rbx)
movq %rbx, %rdi
movl $0x28, %esi
callq 0xfa30
jmp 0x116d9
cmpl $0x22, %eax
jne 0x1206a
movq %rbx, %rdi
movl $0x6, %esi
callq 0xfba2
movq %rbx, %rdi
movl $0x19, %esi
callq 0xfba2
movq (%rbx), %r12
movq 0x28(%rbx), %rax
leaq (%rax,%rax,2), %r13
shlq $0x4, %r13
leaq -0x1e8(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x30(%r12,%r13), %rsi
movq -0x28(%r12,%r13), %rdx
addq %rsi, %rdx
leaq -0x1f8(%rbp), %r15
movq %r15, %rdi
callq 0x4d4a
movl -0x8(%r12,%r13), %eax
movl %eax, 0x28(%r15)
movq -0x10(%r12,%r13), %rax
movq %rax, 0x20(%r15)
movq %rbx, %rdi
movq %r15, %rsi
callq 0xfca8
leaq -0x1f8(%rbp), %rdi
callq 0x192b0
movq %rbx, %rdi
callq 0xf8a4
movq %rbx, %rdi
movl $0x13, %esi
callq 0xfa30
movq (%rbx), %r12
movq 0x28(%rbx), %rax
leaq (%rax,%rax,2), %r13
shlq $0x4, %r13
leaq -0x1b8(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x30(%r12,%r13), %rsi
movq -0x28(%r12,%r13), %rdx
addq %rsi, %rdx
leaq -0x1c8(%rbp), %r15
movq %r15, %rdi
callq 0x4d4a
movl -0x8(%r12,%r13), %eax
movl %eax, 0x28(%r15)
movq -0x10(%r12,%r13), %rax
movq %rax, 0x20(%r15)
movq %rbx, %rdi
movq %r15, %rsi
callq 0xfca8
leaq -0x1c8(%rbp), %rdi
callq 0x192b0
movq %rbx, %rdi
movl $0x23, %esi
callq 0xfa30
movq 0x18(%rbx), %rax
movq 0x28(%rax), %rax
movq %rax, 0x18(%rbx)
movl 0x58(%rbx), %esi
leal -0x2a(%rsi), %eax
cmpl $0x5, %eax
jae 0x12084
leaq -0xa8(%rbp), %r14
movq %r14, %rdi
callq 0x121ae
movq 0x18(%rbx), %rdi
addq $0x30, %rdi
movq %r14, %rsi
callq 0x3150
leaq -0x98(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x12033
movq -0x98(%rbp), %rsi
incq %rsi
callq 0x3230
jmp 0x11a65
movl $0x50, %edi
callq 0x3120
movq %rax, %r14
addq $0x38, %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0x53b0
leaq 0x10ced(%rip), %rsi     # 0x22d48
leaq -0xca7c(%rip), %rdx     # 0x55e6
movq %r14, %rdi
callq 0x33d0
movl $0x50, %edi
callq 0x3120
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
callq 0x53b0
jmp 0x1209c
movl $0x50, %edi
callq 0x3120
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
callq 0x53b0
leaq 0x10ca5(%rip), %rsi     # 0x22d48
leaq -0xcac4(%rip), %rdx     # 0x55e6
movq %r15, %rdi
callq 0x33d0
jmp 0x120b4
movq %rax, %rbx
movq %r15, %rdi
jmp 0x12176
movq %rax, %rbx
leaq -0x98(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x121a6
movq -0x98(%rbp), %rsi
jmp 0x1219e
movq %rax, %rbx
leaq -0x1c8(%rbp), %rdi
jmp 0x12187
movq %rax, %rbx
leaq -0x1f8(%rbp), %rdi
jmp 0x12187
movq %rax, %rbx
leaq -0x228(%rbp), %rdi
jmp 0x12187
movq %rax, %rbx
leaq -0x258(%rbp), %rdi
jmp 0x12187
movq %rax, %rbx
leaq -0x198(%rbp), %rdi
jmp 0x12187
movq %rax, %rbx
leaq -0x78(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x121a6
movq -0x78(%rbp), %rsi
jmp 0x1219e
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r12, %rdi
je 0x121a6
movq -0x38(%rbp), %rsi
jmp 0x1219e
movq %rax, %rbx
leaq -0x138(%rbp), %rdi
jmp 0x12187
movq %rax, %rbx
leaq -0x108(%rbp), %rdi
jmp 0x12187
movq %rax, %rbx
leaq -0x168(%rbp), %rdi
jmp 0x12187
movq %rax, %rbx
movq %r14, %rdi
callq 0x31a0
jmp 0x121a6
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
callq 0x192b0
jmp 0x121a6
movq %rax, %rbx
movq -0x68(%rbp), %rdi
cmpq %r15, %rdi
je 0x121a6
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3230
movq %rbx, %rdi
callq 0x33f0