// File: /workspace/github_cpp_makefile_star2_O3/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
movl 0x58(%rdi), %ecx
leal -0x1(%rcx), %eax
cmpl $0xf, %eax
ja 0x11670
leaq 0xa18d(%rip), %rcx      # 0x1b71c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rbx, %rdi
callq 0xf824
leaq 0x38(%rbx), %r14
movl 0x58(%rbx), %eax
cmpl $0x21, %eax
jle 0x11bec
leal -0x2a(%rax), %ecx
cmpl $0x5, %ecx
jae 0x11d9a
movq %rbx, %rdi
movl $0x6, %esi
callq 0xfafa
movl 0x58(%rbx), %esi
leaq -0x88(%rbp), %r14
movq %r14, %rdi
callq 0x12077
movq 0x18(%rbx), %rdi
addq $0x30, %rdi
movq %r14, %rsi
callq 0x3150
leaq -0x78(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x11604
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 0x4d52
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 0xfc00
leaq -0x198(%rbp), %rdi
callq 0x191f8
movq %rbx, %rdi
callq 0xf824
jmp 0x11b82
cmpl $0x28, %ecx
jne 0x1168c
movq %rbx, %rdi
callq 0xf824
movq %rbx, %rdi
xorl %esi, %esi
callq 0xfafa
jmp 0x11c9a
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 0xf8ec
addq $0x20, %rsp
testb %al, %al
je 0x11efb
movq %rbx, %rdi
movl $0x4, %esi
callq 0xfafa
cmpl $0x22, 0x58(%rbx)
jne 0x119d1
movq %rbx, %rdi
movl $0x19, %esi
callq 0xfafa
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 0x4d52
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 0xfc00
leaq -0x168(%rbp), %rdi
callq 0x191f8
movq %rbx, %rdi
movl $0x22, %esi
callq 0xf99e
movq %rbx, %rdi
movl $0x13, %esi
callq 0xf99e
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 0x4d52
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 0xfc00
leaq -0x138(%rbp), %rdi
callq 0x191f8
movq %rbx, %rdi
movl $0x23, %esi
callq 0xf99e
movq 0x18(%rbx), %rax
movq 0x28(%rax), %rax
movq %rax, 0x18(%rbx)
jmp 0x11a30
movq %rbx, %rdi
callq 0xf824
movq %rbx, %rdi
movl $0xb, %esi
callq 0xfafa
movq %rbx, %rdi
movl $0x20, %esi
callq 0xf99e
movq %rbx, %rdi
callq 0x1084a
movq %rbx, %rdi
movl $0x21, %esi
callq 0xf99e
cmpl $0x24, 0x58(%rbx)
jne 0x11b80
jmp 0x119b7
movq %rbx, %rdi
callq 0xf824
movq %rbx, %rdi
movl $0x16, %esi
callq 0xfafa
cmpl $0x28, 0x58(%rbx)
jne 0x11b82
movq %rbx, %rdi
callq 0xf824
jmp 0x11c9a
movq %rbx, %rdi
callq 0xf824
movq %rbx, %rdi
movl $0x17, %esi
callq 0xfafa
jmp 0x11c8d
movq %rbx, %rdi
callq 0xf824
movq %rbx, %rdi
movl $0x7, %esi
callq 0xfafa
movq %rbx, %rdi
movl $0x20, %esi
callq 0xf99e
movq %rbx, %rdi
callq 0x1084a
movq %rbx, %rdi
movl $0x21, %esi
callq 0xf99e
movq %rbx, %rdi
movl $0x8, %esi
callq 0xfafa
cmpl $0x24, 0x58(%rbx)
jne 0x11b8f
movq %rbx, %rdi
callq 0xf824
movq %rbx, %rdi
movl $0x25, %esi
callq 0x11522
jmp 0x11b97
movq %rbx, %rdi
callq 0xf824
movq %rbx, %rdi
movl $0x17, %esi
callq 0xfafa
leaq -0x58(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0xa0c7(%rip), %rsi      # 0x1b9c0
leaq 0xa0c8(%rip), %rdx      # 0x1b9c8
leaq -0x68(%rbp), %r14
movq %r14, %rdi
callq 0x4336
movq 0x18(%rbx), %rdi
addq $0x30, %rdi
movq %r14, %rsi
callq 0x3150
movq -0x68(%rbp), %rdi
cmpq %r15, %rdi
je 0x11931
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3230
jmp 0x11c8d
movq %rbx, %rdi
callq 0xf824
movq %rbx, %rdi
movl $0xa, %esi
callq 0xfafa
movq %rbx, %rdi
movl $0x20, %esi
callq 0xf99e
movq %rbx, %rdi
callq 0x11562
movq (%rbx), %rax
movq 0x28(%rbx), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x4, %rcx
cmpl $0x28, -0x10(%rax,%rcx)
je 0x11983
movq %rbx, %rdi
movl $0x28, %esi
callq 0xf99e
movq %rbx, %rdi
callq 0xfeb6
movq %rbx, %rdi
movl $0x28, %esi
callq 0xf99e
movq %rbx, %rdi
callq 0xfeb6
movq %rbx, %rdi
movl $0x21, %esi
callq 0xf99e
cmpl $0x24, 0x58(%rbx)
jne 0x11bdf
movq %rbx, %rdi
callq 0xf824
movq %rbx, %rdi
movl $0x25, %esi
callq 0x11522
jmp 0x11c9a
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 0x4d52
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 0xfc00
leaq -0x108(%rbp), %rdi
callq 0x191f8
movl 0x58(%rbx), %r15d
cmpl $0x4, %r15d
jne 0x11a8a
movq %rbx, %rdi
callq 0xf824
leaq -0x38(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x99fe(%rip), %rsi      # 0x1b450
leaq 0x99fa(%rip), %rdx      # 0x1b453
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x4336
movq 0x18(%rbx), %rdi
addq $0x30, %rdi
movq %r14, %rsi
callq 0x3150
movq -0x48(%rbp), %rdi
cmpq %r12, %rdi
je 0x11a8a
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3230
movq %rbx, %rdi
movl $0x1, %esi
callq 0xf99e
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 0x4d52
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 0xfc00
leaq -0xd8(%rbp), %rdi
callq 0x191f8
cmpl $0x4, %r15d
jne 0x11b30
cmpl $0x2a, 0x58(%rbx)
jne 0x11c8d
movq %rbx, %rdi
callq 0xf824
movq %rbx, %rdi
movl $0x6, %esi
callq 0xfafa
movq %rbx, %rdi
callq 0xfeb6
leaq 0x18(%rbx), %rcx
movq 0x18(%rbx), %rax
jmp 0x11c86
movq %rbx, %rdi
movl $0x6, %esi
callq 0xfafa
movq %rbx, %rdi
movl $0x2a, %esi
callq 0xf99e
cmpl $0x22, 0x58(%rbx)
jne 0x11c2d
movq %rbx, %rdi
callq 0xf824
movq %rbx, %rdi
movl $0x19, %esi
callq 0xfafa
cmpl $0x23, 0x58(%rbx)
jne 0x11c51
movq %rbx, %rdi
callq 0xf824
jmp 0x11c76
jmp 0x11bdf
movq %rbx, %rdi
callq 0xfeb6
jmp 0x11c8d
movq %rbx, %rdi
callq 0x11562
movq 0x18(%rbx), %rax
movq 0x28(%rax), %rax
movq %rax, 0x18(%rbx)
cmpl $0x3, 0x58(%rbx)
jne 0x11c9a
movq %rbx, %rdi
callq 0xf824
movq %rbx, %rdi
movl $0x9, %esi
callq 0xfafa
cmpl $0x24, 0x58(%rbx)
jne 0x11c3b
movq %rbx, %rdi
callq 0xf824
movq %rbx, %rdi
movl $0x25, %esi
callq 0x11522
jmp 0x11c43
movq %rbx, %rdi
callq 0x11562
jmp 0x11c9a
cmpl $0x18, %eax
je 0x11cb8
cmpl $0x19, %eax
je 0x11d21
cmpl $0x20, %eax
jne 0x11f2d
movq %rbx, %rdi
callq 0xfcb6
movq %rbx, %rdi
movl $0x28, %esi
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xf99e
movq %rbx, %rdi
callq 0xfeb6
movq 0x18(%rbx), %rax
jmp 0x11c82
movq %rbx, %rdi
callq 0x11562
movq 0x18(%rbx), %rax
movq 0x28(%rax), %rax
movq %rax, 0x18(%rbx)
jmp 0x11c9a
movq %rbx, %rdi
callq 0xfeb6
cmpl $0x29, 0x58(%rbx)
jne 0x11c69
movq %rbx, %rdi
callq 0xf824
jmp 0x11c51
movq %rbx, %rdi
movl $0x23, %esi
callq 0xf99e
movq 0x18(%rbx), %rax
movq 0x28(%rax), %rax
movq %rax, 0x18(%rbx)
leaq 0x18(%rbx), %rcx
movq 0x28(%rax), %rax
movq %rax, (%rcx)
movq %rbx, %rdi
movl $0x28, %esi
callq 0xf99e
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
movq %rbx, %rdi
movl $0x13, %esi
callq 0xfafa
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 0x4d52
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 0xfc00
leaq -0x258(%rbp), %rdi
jmp 0x11d88
movq %rbx, %rdi
movl $0x14, %esi
callq 0xfafa
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 0x4d52
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 0xfc00
leaq -0x228(%rbp), %rdi
callq 0x191f8
movq %rbx, %rdi
callq 0xf824
jmp 0x11c8d
cmpl $0x22, %eax
jne 0x11f2d
movq %rbx, %rdi
movl $0x6, %esi
callq 0xfafa
movq %rbx, %rdi
movl $0x19, %esi
callq 0xfafa
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 0x4d52
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 0xfc00
leaq -0x1f8(%rbp), %rdi
callq 0x191f8
movq %rbx, %rdi
callq 0xf824
movq %rbx, %rdi
movl $0x13, %esi
callq 0xf99e
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 0x4d52
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 0xfc00
leaq -0x1c8(%rbp), %rdi
callq 0x191f8
movq %rbx, %rdi
movl $0x23, %esi
callq 0xf99e
movq 0x18(%rbx), %rax
movq 0x28(%rax), %rax
movq %rax, 0x18(%rbx)
movl 0x58(%rbx), %esi
leal -0x2a(%rsi), %eax
cmpl $0x5, %eax
jae 0x11f47
leaq -0xa8(%rbp), %r14
movq %r14, %rdi
callq 0x12077
movq 0x18(%rbx), %rdi
addq $0x30, %rdi
movq %r14, %rsi
callq 0x3150
leaq -0x98(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x11ef6
movq -0x98(%rbp), %rsi
incq %rsi
callq 0x3230
jmp 0x11663
movl $0x50, %edi
callq 0x3120
movq %rax, %r14
addq $0x38, %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0x53b0
leaq 0x10e2a(%rip), %rsi     # 0x22d48
leaq -0xc93f(%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 0x11f5f
movl $0x50, %edi
callq 0x3120
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
callq 0x53b0
leaq 0x10de2(%rip), %rsi     # 0x22d48
leaq -0xc987(%rip), %rdx     # 0x55e6
movq %r15, %rdi
callq 0x33d0
jmp 0x11f77
movq %rax, %rbx
movq %r15, %rdi
jmp 0x1203f
movq %rax, %rbx
leaq -0x98(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1206f
movq -0x98(%rbp), %rsi
jmp 0x12056
movq %rax, %rbx
leaq -0x1c8(%rbp), %rdi
jmp 0x1206a
movq %rax, %rbx
leaq -0x1f8(%rbp), %rdi
jmp 0x1206a
movq %rax, %rbx
leaq -0x228(%rbp), %rdi
jmp 0x1206a
movq %rax, %rbx
leaq -0x258(%rbp), %rdi
jmp 0x1206a
movq %rax, %rbx
leaq -0x198(%rbp), %rdi
jmp 0x1206a
movq %rax, %rbx
leaq -0x78(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1206f
movq -0x78(%rbp), %rsi
jmp 0x12056
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r12, %rdi
je 0x1206f
movq -0x38(%rbp), %rsi
jmp 0x12056
movq %rax, %rbx
leaq -0x138(%rbp), %rdi
jmp 0x1206a
movq %rax, %rbx
leaq -0x108(%rbp), %rdi
jmp 0x1206a
movq %rax, %rbx
leaq -0x168(%rbp), %rdi
jmp 0x1206a
movq %rax, %rbx
movq %r14, %rdi
callq 0x31a0
jmp 0x1206f
movq %rax, %rbx
movq -0x68(%rbp), %rdi
cmpq %r15, %rdi
je 0x1206f
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3230
jmp 0x1206f
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
callq 0x191f8
movq %rbx, %rdi
callq 0x33f0