// File: Silica[P]PSL/./PSL/parser.h
// Function: PSL::variable::Parser::ParseStatement(PSL::variable&, PSL::variable&)
void ParseStatement(variable &g, variable &c)
	{
		int n = t->checkNext();
		if (n == ';')	// empty
		{
			t->getNext();
			return;
		}
		#ifdef PSL_DEBUG
		c.pushlabel(t->getFile() + " " + t->getLine());
		#endif
		if (n == '{'/*'}'*/)	// anonymouse scope
		{
			t->getNext();
			variable v;
			ParseBlock(g, v);
			if (v.codelength())
				c.pushcode(new Variable::SCOPE(v.getcode()));
			return;
		}
		if (n == Tokenizer::IDENTIFIER)
		{
			if (t->nstr == "global" || t->nstr == "static" || t->nstr == "local" || t->nstr == "yield")
			{
				c.pushcode(new Variable::POP);
				ParseExpression(c, ';');
				return;
			}
			t->getNext();
			if (t->nstr == "if")
			{
				ParseIf(g, c);
				return;
			}
			if (t->nstr == "for")
			{
				ParseFor(g, c);
				return;
			}
			if (t->nstr == "while")
			{
				ParseWhile(g, c);
				return;
			}
			if (t->nstr == "return")
			{
				if (t->checkNext() != ';')
				{
					c.pushcode(new Variable::POP);
					ParseExpression(c, ';');
				}
				c.pushcode(new Variable::RETURN);
				return;
			}
			if (t->nstr == "continue")
			{
				if (!t->getNextIf(';'))	Error(TINA, ';', "continue");
				c.pushcode(new Variable::CONTINUE);
				return;
			}
			if (t->nstr == "break")
			{
				if (!t->getNextIf(';'))	Error(TINA, ';', "break");
				c.pushcode(new Variable::BREAK);
				return;
			}
			if (t->nstr == "goto")
			{
				if (!t->getNextIf(Tokenizer::IDENTIFIER))
					Error(TINLAG);
				else
				{
					c.pushcode(new Variable::GOTO(t->nstr));
					if (!t->getNextIf(';'))
						Error(TINA, ';', "goto");
				}
				return;
			}

			string name = t->nstr;
			int line = t->getLine();
			n = t->checkNext();
			if (n == ':')	// label
			{
				t->getNext();
				c.pushlabel(name);
				return;
			}
			if (n == '{'/*'}'*/)	// class definition
			{
				t->getNext();
				if (g.exist(name))
					Error(IIAE, 0, name, line);
				variable m = g[name];
				ParseBlock(m, m);
				return;
			}
			if (n == '('/*')'*/)
			{
				variable arg;
				t->getNext();
				if (!t->getNextIf(/*'('*/')'))
					ParseExpression(arg, /*'('*/')');
				else
					arg.pushcode(new Variable::PUSH_NULL);
				n = t->checkNext();
				if (n == '{'/*'}'*/ || n == Tokenizer::IDENTIFIER)	// function definition
				{
					if (g.exist(name))
						Error(IIAE, 0, name, line);
					variable m = g[name];
					m = arg;
					m.pushcode(new Variable::ARGUMENT);
					if (n == '{'/*'}'*/)
					{
						t->getNext();
						ParseBlock(m, m);
					}
					else if (n == Tokenizer::IDENTIFIER)
						ParseStatement(m, m);
					return;
				}
				else	// call
				{
					c.pushcode(new Variable::POP);
					c.pushcode(new Variable::VARIABLE(name));
					c.getcode()->push(arg.getcode());
					c.pushcode(new Variable::CALL);
				}
			}
			else
			{
				c.pushcode(new Variable::POP);
				c.pushcode(new Variable::VARIABLE(name));
			}
			getSuffOp(c);
			if (t->getNextIf(Tokenizer::IDENTIFIER))
			{
				c.pushcode(new Variable::INSTANCE);
				c.pushcode(new Variable::DECLARATION(t->nstr));
				getSuffOp(c);
			}
			ParseExpression(c, ';', true);
		}
		else
		{
			c.pushcode(new Variable::POP);
			ParseExpression(c, ';');
		}
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1d0, %rsp            # imm = 0x1D0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq (%rax), %rdi
callq 0x232e0
movl %eax, -0x1c(%rbp)
cmpl $0x3b, -0x1c(%rbp)
jne 0x23371
movq -0x68(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
jmp 0x23f27
cmpl $0x7b, -0x1c(%rbp)
jne 0x23454
movq -0x68(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
leaq -0x28(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x1a130
movq -0x68(%rbp), %rdi
movq -0x70(%rbp), %rdx
movq -0x10(%rbp), %rsi
callq 0x26fa0
jmp 0x233a7
leaq -0x28(%rbp), %rdi
callq 0x27030
movq %rax, -0x78(%rbp)
jmp 0x233b6
movq -0x78(%rbp), %rax
cmpq $0x0, %rax
je 0x23438
movq -0x18(%rbp), %rax
movq %rax, -0x88(%rbp)
movl $0x10, %edi
callq 0x27050
movq %rax, -0x80(%rbp)
jmp 0x233db
leaq -0x28(%rbp), %rdi
callq 0x27070
movq %rax, -0x90(%rbp)
jmp 0x233ed
movq -0x90(%rbp), %rsi
movq -0x80(%rbp), %rdi
callq 0x27090
jmp 0x233ff
movq -0x80(%rbp), %rsi
movq -0x88(%rbp), %rdi
callq 0x23150
jmp 0x23411
jmp 0x23438
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x23446
movq -0x80(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x270e0
jmp 0x23446
leaq -0x28(%rbp), %rdi
callq 0xcdc0
jmp 0x23f27
leaq -0x28(%rbp), %rdi
callq 0xcdc0
jmp 0x23f30
cmpl $0x1, -0x1c(%rbp)
jne 0x23edc
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x68, %rdi
leaq 0x1b70d(%rip), %rsi     # 0x3eb7d
callq 0x26a00
testb $0x1, %al
jne 0x234cc
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x68, %rdi
leaq 0x1b6f9(%rip), %rsi     # 0x3eb84
callq 0x26a00
testb $0x1, %al
jne 0x234cc
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x68, %rdi
leaq 0x1b6e5(%rip), %rsi     # 0x3eb8b
callq 0x26a00
testb $0x1, %al
jne 0x234cc
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x68, %rdi
leaq 0x1b6d0(%rip), %rsi     # 0x3eb91
callq 0x26a00
testb $0x1, %al
jne 0x234cc
jmp 0x2351c
movq -0x18(%rbp), %rax
movq %rax, -0xa0(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0x98(%rbp)
callq 0x27110
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rsi
callq 0x23150
movq -0x68(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl $0x3b, %edx
xorl %ecx, %ecx
callq 0x27150
jmp 0x23f27
movq -0x68(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x68, %rdi
leaq 0x1b5eb(%rip), %rsi     # 0x3eb25
callq 0x26a00
testb $0x1, %al
jne 0x23545
jmp 0x2355b
movq -0x68(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x271f0
jmp 0x23f27
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x68, %rdi
leaq 0x1b62a(%rip), %rsi     # 0x3eb97
callq 0x26a00
testb $0x1, %al
jne 0x23578
jmp 0x2358e
movq -0x68(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x27580
jmp 0x23f27
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x68, %rdi
leaq 0x1b5fb(%rip), %rsi     # 0x3eb9b
callq 0x26a00
testb $0x1, %al
jne 0x235ab
jmp 0x235c1
movq -0x68(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x27a20
jmp 0x23f27
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x68, %rdi
leaq 0x1b5ce(%rip), %rsi     # 0x3eba1
callq 0x26a00
testb $0x1, %al
jne 0x235e1
jmp 0x23679
movq -0x68(%rbp), %rax
movq (%rax), %rdi
callq 0x232e0
cmpl $0x3b, %eax
je 0x2363d
movq -0x18(%rbp), %rax
movq %rax, -0xb0(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0xa8(%rbp)
callq 0x27110
movq -0xb0(%rbp), %rdi
movq -0xa8(%rbp), %rsi
callq 0x23150
movq -0x68(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl $0x3b, %edx
xorl %ecx, %ecx
callq 0x27150
movq -0x18(%rbp), %rax
movq %rax, -0xc0(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0xb8(%rbp)
callq 0x27cf0
movq -0xc0(%rbp), %rdi
movq -0xb8(%rbp), %rsi
callq 0x23150
jmp 0x23f27
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x68, %rdi
leaq 0x1b51d(%rip), %rsi     # 0x3eba8
callq 0x26a00
testb $0x1, %al
jne 0x23696
jmp 0x23707
movq -0x68(%rbp), %rax
movq (%rax), %rdi
movl $0x3b, %esi
callq 0x27d30
testb $0x1, %al
jne 0x236cb
movq -0x68(%rbp), %rdi
movl $0x2, %esi
movl $0x3b, %edx
leaq 0x1b4e8(%rip), %rcx     # 0x3eba8
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x27d80
movq -0x18(%rbp), %rax
movq %rax, -0xd0(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0xc8(%rbp)
callq 0x27f60
movq -0xd0(%rbp), %rdi
movq -0xc8(%rbp), %rsi
callq 0x23150
jmp 0x23f27
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x68, %rdi
leaq 0x1b498(%rip), %rsi     # 0x3ebb1
callq 0x26a00
testb $0x1, %al
jne 0x23724
jmp 0x23795
movq -0x68(%rbp), %rax
movq (%rax), %rdi
movl $0x3b, %esi
callq 0x27d30
testb $0x1, %al
jne 0x23759
movq -0x68(%rbp), %rdi
movl $0x2, %esi
movl $0x3b, %edx
leaq 0x1b463(%rip), %rcx     # 0x3ebb1
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x27d80
movq -0x18(%rbp), %rax
movq %rax, -0xe0(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0xd8(%rbp)
callq 0x27fa0
movq -0xe0(%rbp), %rdi
movq -0xd8(%rbp), %rsi
callq 0x23150
jmp 0x23f27
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x68, %rdi
leaq 0x1b410(%rip), %rsi     # 0x3ebb7
callq 0x26a00
testb $0x1, %al
jne 0x237b5
jmp 0x2388e
movq -0x68(%rbp), %rax
movq (%rax), %rdi
movl $0x1, %esi
callq 0x27d30
testb $0x1, %al
jne 0x237ec
movq -0x68(%rbp), %rdi
movl $0x4, %esi
xorl %edx, %edx
leaq 0x1b207(%rip), %rcx     # 0x3e9e3
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x27d80
jmp 0x23889
movq -0x18(%rbp), %rax
movq %rax, -0xf0(%rbp)
movl $0x10, %edi
callq 0x27fe0
movq %rax, %rdi
movq -0x68(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0xe8(%rbp)
movq (%rax), %rsi
addq $0x68, %rsi
callq 0x28000
jmp 0x23820
movq -0xe8(%rbp), %rsi
movq -0xf0(%rbp), %rdi
callq 0x23150
movq -0x68(%rbp), %rax
movq (%rax), %rdi
movl $0x3b, %esi
callq 0x27d30
testb $0x1, %al
jne 0x23887
movq -0x68(%rbp), %rdi
movl $0x2, %esi
movl $0x3b, %edx
leaq 0x1b35a(%rip), %rcx     # 0x3ebb7
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x27d80
jmp 0x23887
movq -0xe8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x28090
jmp 0x23f30
jmp 0x23889
jmp 0x23f27
movq -0x68(%rbp), %rax
movq (%rax), %rsi
addq $0x68, %rsi
leaq -0x40(%rbp), %rdi
callq 0x15ea0
movq -0x68(%rbp), %rax
movq (%rax), %rdi
callq 0x280c0
movl %eax, -0xf4(%rbp)
jmp 0x238b6
movq -0x68(%rbp), %rax
movl -0xf4(%rbp), %ecx
movl %ecx, -0x44(%rbp)
movq (%rax), %rdi
callq 0x232e0
movl %eax, -0xf8(%rbp)
jmp 0x238d3
movl -0xf8(%rbp), %eax
movl %eax, -0x1c(%rbp)
cmpl $0x3a, -0x1c(%rbp)
jne 0x2391c
movq -0x68(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
jmp 0x238f0
movq -0x18(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x28100
jmp 0x238ff
movl $0x1, -0x48(%rbp)
jmp 0x23ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x23ed1
cmpl $0x7b, -0x1c(%rbp)
jne 0x239da
movq -0x68(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
jmp 0x23934
movq -0x10(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x28130
movb %al, -0xf9(%rbp)
jmp 0x23949
movb -0xf9(%rbp), %al
testb $0x1, %al
jne 0x23955
jmp 0x23986
leaq -0x40(%rbp), %rdi
callq 0x23050
movq %rax, -0x108(%rbp)
jmp 0x23967
movq -0x108(%rbp), %rcx
movq -0x68(%rbp), %rdi
movl -0x44(%rbp), %r8d
movl $0xb, %esi
xorl %edx, %edx
callq 0x27d80
jmp 0x23984
jmp 0x23986
movq -0x10(%rbp), %rsi
leaq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rdx
callq 0x1d320
jmp 0x23999
movq -0x68(%rbp), %rdi
leaq -0x50(%rbp), %rdx
movq %rdx, %rsi
callq 0x26fa0
jmp 0x239ab
movl $0x1, -0x48(%rbp)
leaq -0x50(%rbp), %rdi
callq 0xcdc0
jmp 0x23ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x50(%rbp), %rdi
callq 0xcdc0
jmp 0x23ed1
cmpl $0x28, -0x1c(%rbp)
jne 0x23d0b
leaq -0x58(%rbp), %rdi
callq 0x1a130
jmp 0x239ef
movq -0x68(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
jmp 0x239fd
movq -0x68(%rbp), %rax
movq (%rax), %rdi
movl $0x29, %esi
callq 0x27d30
movb %al, -0x109(%rbp)
jmp 0x23a16
movb -0x109(%rbp), %al
testb $0x1, %al
jne 0x23a4b
jmp 0x23a22
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rsi
movl $0x29, %edx
xorl %ecx, %ecx
callq 0x27150
jmp 0x23a38
jmp 0x23a7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x23cfd
movl $0x8, %edi
callq 0x1ee10
movq %rax, -0x118(%rbp)
jmp 0x23a5e
movq -0x118(%rbp), %rdi
callq 0x23180
movq -0x118(%rbp), %rsi
leaq -0x58(%rbp), %rdi
callq 0x23150
jmp 0x23a7c
jmp 0x23a7e
movq -0x68(%rbp), %rax
movq (%rax), %rdi
callq 0x232e0
movl %eax, -0x11c(%rbp)
jmp 0x23a92
movl -0x11c(%rbp), %eax
movl %eax, -0x1c(%rbp)
cmpl $0x7b, -0x1c(%rbp)
je 0x23aab
cmpl $0x1, -0x1c(%rbp)
jne 0x23bc3
movq -0x10(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x28130
movb %al, -0x11d(%rbp)
jmp 0x23ac0
movb -0x11d(%rbp), %al
testb $0x1, %al
jne 0x23acc
jmp 0x23afd
leaq -0x40(%rbp), %rdi
callq 0x23050
movq %rax, -0x128(%rbp)
jmp 0x23ade
movq -0x128(%rbp), %rcx
movq -0x68(%rbp), %rdi
movl -0x44(%rbp), %r8d
movl $0xb, %esi
xorl %edx, %edx
callq 0x27d80
jmp 0x23afb
jmp 0x23afd
movq -0x10(%rbp), %rsi
leaq -0x60(%rbp), %rdi
leaq -0x40(%rbp), %rdx
callq 0x1d320
jmp 0x23b10
leaq -0x60(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x1d200
jmp 0x23b1f
movl $0x8, %edi
callq 0x1ee10
movq %rax, -0x130(%rbp)
jmp 0x23b32
movq -0x130(%rbp), %rdi
callq 0x232a0
movq -0x130(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0x23150
jmp 0x23b50
cmpl $0x7b, -0x1c(%rbp)
jne 0x23b92
movq -0x68(%rbp), %rax
movq (%rax), %rdi
callq 0x26620
jmp 0x23b64
movq -0x68(%rbp), %rdi
leaq -0x60(%rbp), %rdx
movq %rdx, %rsi
callq 0x26fa0
jmp 0x23b76
jmp 0x23bae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x60(%rbp), %rdi
callq 0xcdc0
jmp 0x23cfd
cmpl $0x1, -0x1c(%rbp)
jne 0x23bac
movq -0x68(%rbp), %rdi
leaq -0x60(%rbp), %rdx
movq %rdx, %rsi
callq 0x23330
jmp 0x23baa
jmp 0x23bac
jmp 0x23bae
movl $0x1, -0x48(%rbp)
leaq -0x60(%rbp), %rdi
callq 0xcdc0
jmp 0x23ce2
movq -0x18(%rbp), %rax
movq %rax, -0x140(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, -0x138(%rbp)
jmp 0x23be1
movq -0x138(%rbp), %rdi
callq 0x27110
movq -0x140(%rbp), %rdi
movq -0x138(%rbp), %rsi
callq 0x23150
jmp 0x23c02
movq -0x18(%rbp), %rax
movq %rax, -0x150(%rbp)
movl $0x10, %edi
callq 0x28160
movq %rax, -0x148(%rbp)
jmp 0x23c20
movq -0x148(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x28180
jmp 0x23c32
movq -0x148(%rbp), %rsi
movq -0x150(%rbp), %rdi
callq 0x23150
jmp 0x23c47
movq -0x18(%rbp), %rdi
callq 0x27070
movq %rax, -0x158(%rbp)
jmp 0x23c59
leaq -0x58(%rbp), %rdi
callq 0x27070
movq %rax, -0x160(%rbp)
jmp 0x23c6b
movq -0x160(%rbp), %rsi
movq -0x158(%rbp), %rdi
callq 0x1bd00
jmp 0x23c80
movq -0x18(%rbp), %rax
movq %rax, -0x170(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, -0x168(%rbp)
jmp 0x23c9e
movq -0x168(%rbp), %rdi
callq 0x28240
movq -0x170(%rbp), %rdi
movq -0x168(%rbp), %rsi
callq 0x23150
jmp 0x23cbf
jmp 0x23cdb
movq -0x148(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x28210
jmp 0x23cfd
movl $0x0, -0x48(%rbp)
leaq -0x58(%rbp), %rdi
callq 0xcdc0
movl -0x48(%rbp), %eax
testl %eax, %eax
jne 0x23ebb
jmp 0x23cf8
jmp 0x23dae
leaq -0x58(%rbp), %rdi
callq 0xcdc0
jmp 0x23ed1
movq -0x18(%rbp), %rax
movq %rax, -0x180(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, -0x178(%rbp)
jmp 0x23d29
movq -0x178(%rbp), %rdi
callq 0x27110
movq -0x180(%rbp), %rdi
movq -0x178(%rbp), %rsi
callq 0x23150
jmp 0x23d4a
movq -0x18(%rbp), %rax
movq %rax, -0x190(%rbp)
movl $0x10, %edi
callq 0x28160
movq %rax, -0x188(%rbp)
jmp 0x23d68
movq -0x188(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x28180
jmp 0x23d7a
movq -0x188(%rbp), %rsi
movq -0x190(%rbp), %rdi
callq 0x23150
jmp 0x23d8f
jmp 0x23dae
movq -0x188(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x28210
jmp 0x23ed1
movq -0x68(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x28280
jmp 0x23dbd
movq -0x68(%rbp), %rax
movq (%rax), %rdi
movl $0x1, %esi
callq 0x27d30
movb %al, -0x191(%rbp)
jmp 0x23dd6
movb -0x191(%rbp), %al
testb $0x1, %al
jne 0x23de5
jmp 0x23e9b
movq -0x18(%rbp), %rax
movq %rax, -0x1a8(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, -0x1a0(%rbp)
jmp 0x23e03
movq -0x1a0(%rbp), %rdi
callq 0x28560
movq -0x1a8(%rbp), %rdi
movq -0x1a0(%rbp), %rsi
callq 0x23150
jmp 0x23e24
movq -0x18(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movl $0x10, %edi
callq 0x285a0
movq %rax, -0x1b0(%rbp)
jmp 0x23e42
movq -0x1b0(%rbp), %rdi
movq -0x68(%rbp), %rax
movq (%rax), %rsi
addq $0x68, %rsi
callq 0x285c0
jmp 0x23e5b
movq -0x1b0(%rbp), %rsi
movq -0x1b8(%rbp), %rdi
callq 0x23150
jmp 0x23e70
movq -0x68(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x28280
jmp 0x23e7f
jmp 0x23e9b
movq -0x1b0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x28650
jmp 0x23ed1
movq -0x68(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl $0x3b, %edx
movl $0x1, %ecx
callq 0x27150
jmp 0x23eb4
movl $0x0, -0x48(%rbp)
leaq -0x40(%rbp), %rdi
callq 0xc950
movl -0x48(%rbp), %eax
testl %eax, %eax
je 0x23ecf
jmp 0x23ecd
jmp 0x23f27
jmp 0x23f27
leaq -0x40(%rbp), %rdi
callq 0xc950
jmp 0x23f30
movq -0x18(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movl $0x8, %edi
callq 0x1ee10
movq %rax, %rdi
movq %rdi, -0x1c0(%rbp)
callq 0x27110
movq -0x1c8(%rbp), %rdi
movq -0x1c0(%rbp), %rsi
callq 0x23150
movq -0x68(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl $0x3b, %edx
xorl %ecx, %ecx
callq 0x27150
addq $0x1d0, %rsp            # imm = 0x1D0
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0xc280
nopl (%rax)