// File: /workspace/github_c_makefile_star2_O1/goodpaul6[P]generic/script.c
// Function: parse_unary
static expr_t* parse_unary(script_t* script)
{
	switch(g_cur_tok)
	{
		case TOK_NEW:
		{
			get_next_token();
			
			expr_t* exp = NULL;
			
			if(g_cur_tok == TOK_IDENT)
			{
				type_tag_t* tag = get_type_tag_from_name(script, g_lexeme);
				if(tag->type == TAG_STRUCT)
				{
					exp = create_expr(EXP_STRUCT_NEW);
					
					exp->newx.type = tag;
					vec_init(&exp->newx.init, sizeof(expr_t*));
					
					get_next_token();
					
					if(g_cur_tok == TOK_OPENCURLY)
					{
						get_next_token();
						while(g_cur_tok != TOK_CLOSECURLY)
						{
							expr_t* e = parse_expr(script);
							if(e->type != EXP_BINARY || e->binx.lhs->type != EXP_VAR || e->binx.op != TOK_ASSIGN)
								error_exit_p("Invalid initializer expression for %s\n", tag->ds.name);
							
							vec_push_back(&exp->newx.init, &e);
							if(g_cur_tok == TOK_COMMA) get_next_token();
						}
						get_next_token();
					}
					
					return exp;
				}
				
				// NOTE: http://xkcd.com/292/
				goto not_type;
			}
		
		not_type:
			exp = create_expr(EXP_VAR);
			exp->varx.name = estrdup("new");
			exp->varx.decl = reference_variable(script, "new");
			
			return parse_post(script, exp);
		} break;
		
		case TOK_NOT: case TOK_MINUS:
		{
			expr_t* exp = create_expr(EXP_UNARY);
			exp->unaryx.op = g_cur_tok;
			get_next_token();
			
			exp->unaryx.rhs = parse_expr(script);
			return parse_post(script, exp);
		} break;
		
		default:
			return parse_post(script, parse_factor(script));
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movl 0xb6f8(%rip), %eax      # 0x16350
cmpq $0x26, %rax
ja 0xb434
movq %rdi, %rbx
leaq 0x47dc(%rip), %rcx      # 0xf448
movslq (%rcx,%rax,4), %rdx
addq %rcx, %rdx
movq %rdi, -0x38(%rbp)
jmpq *%rdx
movl $0x1, %edi
callq 0x8991
movq %rax, -0x78(%rbp)
movl 0xb6c3(%rip), %eax      # 0x16350
movl %eax, -0x5c(%rbp)
cmpl $0x7, %eax
sete %r15b
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb6ac(%rip)      # 0x16350
cmpl $0x16, %eax
jne 0xbbfb
leaq 0x2b8(%rbx), %rdi
movslq 0xb57d(%rip), %rsi      # 0x16238
callq 0xdf24
movq %rax, %r14
addq $0xb0, %r14
leaq 0xb68f(%rip), %rsi      # 0x16360
movq %r14, %rdi
callq 0xe328
movq %rax, -0x30(%rbp)
testq %rax, %rax
jne 0xad1b
movq %rbx, %rdi
movl $0xa, %esi
callq 0x816f
movq %rax, %r13
leaq 0xb667(%rip), %rbx      # 0x16360
movq %rbx, %rdi
callq 0x2807
movq %rax, 0x30(%r13)
movq %r14, %rdi
movq %rbx, %rsi
movq -0x38(%rbp), %rbx
movq %r13, -0x30(%rbp)
movq %r13, %rdx
callq 0xe22f
movq -0x30(%rbp), %rax
movb %r15b, 0x28(%rax)
movb $0x1, 0x24(%rax)
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb61c(%rip)      # 0x16350
cmpl $0x1b, %eax
jne 0xbc1d
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb606(%rip)      # 0x16350
movq -0x30(%rbp), %rax
leaq 0x40(%rax), %r15
addq $0x60, %rax
movq %rax, -0x88(%rbp)
leaq -0x58(%rbp), %r13
movq %r15, -0x80(%rbp)
movl 0xb5e4(%rip), %r14d     # 0x16350
cmpl $0x2, %r14d
je 0xae11
cmpl $0x1c, %r14d
je 0xb085
cmpl $0x3, %r14d
jne 0xad93
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb5bd(%rip)      # 0x16350
movl 0xb5b7(%rip), %eax      # 0x16350
cmpq $0x16, %rax
jne 0xbb79
leaq 0xb5b6(%rip), %rdi      # 0x16360
callq 0x2807
movq %rax, %r12
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb591(%rip)      # 0x16350
cmpl $0x19, %eax
je 0xae57
cmpl $0x1d, %eax
jne 0xbbbe
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb572(%rip)      # 0x16350
cmpl $0x7, -0x5c(%rbp)
jne 0xafe3
movl $0x0, -0x50(%rbp)
movq %r12, -0x58(%rbp)
movq %rbx, %rdi
callq 0xbf76
movq %rax, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movl $0x1, %eax
jmp 0xb00d
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb532(%rip)      # 0x16350
cmpl $0x16, %eax
jne 0xbb63
movq %rbx, %rdi
leaq 0xb52f(%rip), %rsi      # 0x16360
callq 0x8dac
movq %rax, -0x58(%rbp)
movq %r15, %rdi
movq %r13, %rsi
callq 0xdf81
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb4fe(%rip)      # 0x16350
jmp 0xad65
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb4ec(%rip)      # 0x16350
movq -0x30(%rbp), %rax
movq 0x30(%rax), %r15
movq %r15, %rdi
callq 0x20b0
movq %rax, %r13
movq %r12, %rdi
callq 0x20b0
movq %rax, %rbx
leaq (%rax,%r13), %rdi
addq $0x3, %rdi
callq 0x21b0
testq %rax, %rax
je 0xbba4
addq %r13, %rbx
movq %rax, %rdi
leaq 0x65c9(%rip), %rsi      # 0x1146e
movq %r15, %rdx
movq %r12, %rcx
movq %rax, %r15
xorl %eax, %eax
callq 0x2220
movb $0x0, 0x1(%r15,%rbx)
movq -0x38(%rbp), %rbx
movq %rbx, %rdi
movq %r15, -0x68(%rbp)
movq %r15, %rsi
callq 0xc0e1
movq %rax, %r13
movq %rax, 0xb370(%rip)      # 0x16248
cmpl $0x3, %r14d
je 0xaeee
leaq 0x658f(%rip), %rdi      # 0x11474
movq -0x30(%rbp), %rsi
callq 0xc1f8
leaq 0xb46b(%rip), %r14      # 0x16360
movl 0xb455(%rip), %eax      # 0x16350
cmpq $0x16, %rax
jne 0xaf6e
movq %r14, %rdi
callq 0x2807
movq %rax, %r15
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb437(%rip)      # 0x16350
cmpl $0x1d, %eax
jne 0xbb52
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb421(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xbf76
movq %r15, %rdi
movq %rax, %rsi
callq 0xc1f8
movq %r15, %rdi
callq 0x2030
movl 0xb400(%rip), %eax      # 0x16350
cmpq $0x1a, %rax
je 0xaef5
cmpl $0x1f, %eax
jne 0xb434
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb3e4(%rip)      # 0x16350
jmp 0xaef5
cmpl $0x1a, %eax
jne 0xbb3e
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb3cc(%rip)      # 0x16350
callq 0xc2b6
cmpl $0x1d, 0xb3c0(%rip)     # 0x16350
jne 0xbb8d
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb3ad(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xbf76
movq 0x10(%r13), %rcx
movq %rax, 0x48(%rcx)
movq -0x68(%rbp), %rdi
callq 0x2030
movq 0xb285(%rip), %rax      # 0x16248
testq %rax, %rax
je 0xbb9b
movq (%rax), %rax
movq %rax, 0xb272(%rip)      # 0x16248
movq -0x80(%rbp), %r15
leaq -0x58(%rbp), %r13
jmp 0xad65
movq -0x30(%rbp), %r14
movl 0x70(%r14), %eax
movl %eax, -0x50(%rbp)
movq %r12, -0x58(%rbp)
movq %rbx, %rdi
callq 0xbf76
movq %rax, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movq 0x38(%r14), %rax
incq %rax
movq -0x30(%rbp), %rcx
movq %rax, 0x38(%rcx)
cmpl $0x24, 0xb334(%rip)     # 0x16350
jne 0xb037
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb325(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xac14
movq %rax, -0x40(%rbp)
movq -0x88(%rbp), %rdi
movq %r13, %rsi
callq 0xdf81
jmp 0xad65
movl $0xd, %edi
callq 0x8991
movq %rax, %r12
movl 0xb2f2(%rip), %eax      # 0x16350
movl %eax, 0x40(%r12)
jmp 0xb838
movl $0x7, %edi
callq 0x8991
cmpl $0xa, 0xb2d7(%rip)      # 0x16350
movq %rax, %r12
sete 0x38(%rax)
jmp 0xb9be
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb2be(%rip)      # 0x16350
movq -0x78(%rbp), %r12
movq -0x30(%rbp), %rax
jmp 0xb84d
movl $0x10, %edi
callq 0x8991
movq %rax, %r12
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb297(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xac14
movq %rax, 0x38(%r12)
cmpl $0x1a, 0xb283(%rip)     # 0x16350
je 0xb9be
leaq 0x6014(%rip), %rdi      # 0x110ee
jmp 0xbb94
movl $0x11, %edi
callq 0x8991
movq %rax, %r14
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb257(%rip)      # 0x16350
movq %r14, %r12
movq $0x0, 0x38(%r14)
leaq -0x58(%rbp), %rdi
movl $0x8, %esi
callq 0xdcb4
cmpl $0x18, 0xb237(%rip)     # 0x16350
je 0xb165
leaq -0x58(%rbp), %r14
leaq -0x70(%rbp), %r15
movq %rbx, %rdi
callq 0xac14
movq %rax, -0x70(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0xdf81
movl 0xb210(%rip), %eax      # 0x16350
cmpq $0x18, %rax
je 0xb15c
cmpl $0x1f, %eax
jne 0xbbd4
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb1f4(%rip)      # 0x16350
cmpl $0x18, 0xb1ed(%rip)     # 0x16350
jne 0xb123
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb1de(%rip)      # 0x16350
movups -0x58(%rbp), %xmm0
movups -0x48(%rbp), %xmm1
movups %xmm1, 0x50(%r12)
movups %xmm0, 0x40(%r12)
cmpq $0x0, -0x48(%rbp)
jne 0xbb14
cmpl $0x1d, %eax
jne 0xbcb8
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb1a9(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xbf76
jmp 0xb84d
movl $0x13, %edi
callq 0x8991
movq %rax, %r12
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb182(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xac14
movq %rax, 0x38(%r12)
movq %rbx, %rdi
callq 0xac14
movq %rax, 0x40(%r12)
cmpl $0xe, 0xb161(%rip)      # 0x16350
jne 0xba65
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb14e(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xac14
movq %rax, 0x48(%r12)
jmp 0xbb14
cmpq $0x0, 0xb02c(%rip)      # 0x16248
je 0xbc40
movl $0x16, %edi
callq 0x8991
movq %rax, %r12
movq 0xb012(%rip), %rax      # 0x16248
movq %rax, 0x38(%r12)
movb $0x1, 0x64(%rax)
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb104(%rip)      # 0x16350
cmpl $0x1e, %eax
jne 0xb94c
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb0ee(%rip)      # 0x16350
movq $0x0, 0x40(%r12)
jmp 0xbb14
movl $0xb, %edi
jmp 0xb830
movl $0x12, %edi
callq 0x8991
movq %rax, %r12
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb0bc(%rip)      # 0x16350
leaq -0x58(%rbp), %rdi
movl $0x8, %esi
callq 0xdcb4
incl 0xaf98(%rip)            # 0x16240
cmpl $0x1c, 0xb0a1(%rip)     # 0x16350
movq %rbx, %r15
je 0xb2dc
leaq -0x58(%rbp), %rbx
leaq -0x70(%rbp), %r14
movq %r15, %rdi
callq 0xac14
movq %rax, -0x70(%rbp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0xdf81
cmpl $0x1c, 0xb076(%rip)     # 0x16350
jne 0xb2bc
movq 0xaf65(%rip), %rdi      # 0x16248
testq %rdi, %rdi
movq %r15, %rbx
je 0xb326
cmpq $0x0, 0x30(%rdi)
je 0xb326
xorl %r14d, %r14d
addq $0x20, %rdi
movq %r14, %rsi
callq 0xdf24
movq (%rax), %rax
movl 0x18(%rax), %ecx
cmpl 0xaf33(%rip), %ecx      # 0x16240
jne 0xb316
movl $0xffffffff, 0x18(%rax) # imm = 0xFFFFFFFF
incq %r14
movq 0xaf28(%rip), %rdi      # 0x16248
cmpq %r14, 0x30(%rdi)
ja 0xb2f5
decl 0xaf14(%rip)            # 0x16240
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xb017(%rip)      # 0x16350
movups -0x58(%rbp), %xmm0
movups -0x48(%rbp), %xmm1
movups %xmm0, 0x38(%r12)
movups %xmm1, 0x48(%r12)
jmp 0xbb14
movl $0x19, %edi
callq 0x8991
movq %rax, %r12
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xafe4(%rip)      # 0x16350
leaq 0xafed(%rip), %rdi      # 0x16360
callq 0x2807
movq %rax, %r14
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xafc8(%rip)      # 0x16350
movq %rbx, %rdi
movq %r14, -0x30(%rbp)
movq %r14, %rsi
callq 0xc0e1
movq %rax, 0x38(%r12)
movq %rax, 0xaea5(%rip)      # 0x16248
cmpl $0x19, 0xafa6(%rip)     # 0x16350
jne 0xbc4c
movq %rax, %r15
movq %r12, %r14
leaq 0xafa3(%rip), %r12      # 0x16360
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xaf86(%rip)      # 0x16350
movl 0xaf80(%rip), %eax      # 0x16350
cmpq $0x16, %rax
jne 0xb9d0
movq %r12, %rdi
callq 0x2807
movq %rax, %r13
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xaf5e(%rip)      # 0x16350
cmpl $0x1d, %eax
jne 0xbbb2
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xaf48(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xbf76
movq %r13, %rdi
movq %rax, %rsi
callq 0xc1f8
movq %r13, %rdi
callq 0x2030
movl 0xaf27(%rip), %eax      # 0x16350
cmpq $0x1a, %rax
je 0xb3ca
cmpl $0x1f, %eax
je 0xb3bd
leaq 0xa805(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rsi
leaq 0x5b0a(%rip), %rdi      # 0x10f50
jmp 0xbb5c
movl $0xc, %edi
jmp 0xb830
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xaeee(%rip)      # 0x16350
cmpl $0x16, %eax
jne 0xbc5c
movl $0x5, %edi
callq 0x8991
movq %rax, %r12
leaq 0xaee1(%rip), %rdi      # 0x16360
callq 0x2807
movq %rax, %r14
movq %rax, 0x38(%r12)
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xaeb7(%rip)      # 0x16350
cmpl $0x1d, %eax
jne 0xbaf4
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xaea1(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xbf76
jmp 0xbb01
movl $0x8, %edi
callq 0x8991
movq %rax, %r12
movb 0xae91(%rip), %al       # 0x16360
movb %al, 0x38(%r12)
jmp 0xb9be
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xae6a(%rip)      # 0x16350
cmpl $0x16, %eax
jne 0xb5c9
leaq 0xae6a(%rip), %rsi      # 0x16360
movq %rbx, %rdi
callq 0x8dac
movl 0x20(%rax), %ebx
cmpl $0xa, %ebx
jne 0xb5c0
movq %rax, %r15
movl $0x2, %edi
callq 0x8991
movq %rax, %r14
movq %r15, 0x38(%rax)
movq %rax, %r12
addq $0x40, %r12
movl $0x8, %esi
movq %r12, %rdi
callq 0xdcb4
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xae11(%rip)      # 0x16350
cmpl $0x1b, %eax
jne 0xb5c0
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xadff(%rip)      # 0x16350
cmpl $0x1c, %eax
je 0xb5b3
leaq -0x58(%rbp), %r13
movq -0x38(%rbp), %rdi
callq 0xac14
movq %rax, -0x58(%rbp)
cmpl $0xe, 0x28(%rax)
jne 0xbbeb
movq 0x38(%rax), %rcx
cmpl $0x5, 0x28(%rcx)
jne 0xbbeb
cmpl $0x24, 0x48(%rax)
jne 0xbbeb
movq %r12, %rdi
movq %r13, %rsi
callq 0xdf81
cmpl $0x1f, 0xadb5(%rip)     # 0x16350
jne 0xb5aa
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xada6(%rip)      # 0x16350
cmpl $0x1c, 0xad9f(%rip)     # 0x16350
jne 0xb55a
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xad90(%rip)      # 0x16350
cmpl $0xa, %ebx
je 0xbb22
movl $0x5, %edi
callq 0x8991
movq %rax, %r12
leaq 0x5645(%rip), %rbx      # 0x10c22
movq %rbx, %rdi
callq 0x2807
movq %rax, 0x38(%r12)
movq -0x38(%rbp), %rdi
movq %rbx, %rsi
movq -0x38(%rbp), %rbx
callq 0x86d2
jmp 0xbb0f
movabsq $0x74726f706d6923, %rax # imm = 0x74726F706D6923
cmpq %rax, 0xad50(%rip)      # 0x16360
jne 0xba73
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xad2d(%rip)      # 0x16350
cmpl $0x22, %eax
jne 0xbc8c
leaq 0x2b8(%rbx), %rdi
movslq 0xabfe(%rip), %rsi      # 0x16238
movq %rdi, -0x30(%rbp)
callq 0xdf24
movq 0x40(%rax), %rdi
callq 0x2807
movq %rax, %r14
movq %rax, %rdi
movl $0x2f, %esi
callq 0x20f0
leaq 0x1(%rax), %rcx
testq %rax, %rax
cmoveq %r14, %rcx
movb $0x0, (%rcx)
movq %r14, %rdi
callq 0x20b0
movq %rax, %r15
leaq 0xace4(%rip), %rdi      # 0x16360
callq 0x20b0
leaq (%r15,%rax), %rdi
incq %rdi
callq 0x21b0
testq %rax, %rax
je 0xbba4
movq %rax, %r12
movq %rax, %rdi
movq %r14, %rsi
callq 0x2050
addq %r12, %r15
leaq 0xacb2(%rip), %rsi      # 0x16360
movq %r15, %rdi
callq 0x2050
leaq 0x40c1(%rip), %rsi      # 0xf77e
movq %r12, %rdi
callq 0x21f0
testq %rax, %rax
je 0xbb34
movq %rax, %r13
movq %r14, -0x68(%rbp)
movq %rax, %rdi
xorl %esi, %esi
movl $0x2, %edx
callq 0x21c0
movq %r13, %rdi
callq 0x2180
movq %rax, %r14
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x21c0
leaq 0x1(%r14), %rdi
callq 0x21b0
testq %rax, %rax
je 0xbba4
movq %rax, %r15
movl $0x1, %esi
movq %rax, %rdi
movq %r14, %rdx
movq %r13, %rcx
callq 0x2080
movb $0x0, (%r15,%r14)
movq %rbx, %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %r15, %rcx
callq 0x3acc
leaq -0x58(%rbp), %rbx
movl %eax, (%rbx)
movslq 0xaaf3(%rip), %rsi      # 0x16238
movq -0x30(%rbp), %rdi
callq 0xdf24
movq %rax, %rdi
movq %rbx, %rsi
movq -0x38(%rbp), %rbx
callq 0xdf81
movq %r15, %rdi
callq 0x2030
movq %r13, %rdi
callq 0x20a0
movq -0x68(%rbp), %r14
movq %r12, %rdi
callq 0x2030
movq %r14, %rdi
callq 0x2030
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xabc2(%rip)      # 0x16350
jmp 0xbadd
xorl %edi, %edi
callq 0x8991
movq %rax, %r12
jmp 0xb9be
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xaba1(%rip)      # 0x16350
cmpl $0x1b, %eax
jne 0xbae7
movl $0x18, %edi
callq 0x8991
movl $0x18, 0x28(%rax)
movq %rax, %r12
leaq 0x38(%rax), %r14
movl $0x8, %esi
movq %r14, %rdi
callq 0xdcb4
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xab66(%rip)      # 0x16350
cmpl $0x1c, %eax
movq %rbx, %r15
je 0xb816
leaq -0x58(%rbp), %rbx
movq %r15, %rdi
callq 0xc31b
movq %rax, -0x58(%rbp)
movq %r14, %rdi
movq %rbx, %rsi
callq 0xdf81
cmpl $0x1c, 0xab3c(%rip)     # 0x16350
jne 0xb7f6
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xab2d(%rip)      # 0x16350
movq %r15, %rbx
jmp 0xbb14
movl $0x1a, %edi
callq 0x8991
movq %rax, %r12
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xab0b(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xac14
movq %rax, 0x38(%r12)
jmp 0xbb14
movl $0x5, %edi
callq 0x8991
movq %rax, %r12
leaq 0xaaf5(%rip), %rbx      # 0x16360
movq %rbx, %rdi
callq 0x2807
movq %rax, 0x38(%r12)
movq -0x38(%rbp), %rdi
movq %rbx, %rsi
movq -0x38(%rbp), %rbx
callq 0x86d2
movq %rax, 0x40(%r12)
jmp 0xb9be
movl $0x15, %edi
callq 0x8991
movq %rax, %r12
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xaaa4(%rip)      # 0x16350
incl 0xa98e(%rip)            # 0x16240
movq %rbx, %rdi
callq 0xac14
movq %rax, 0x38(%r12)
cmpl $0x1f, 0xaa8a(%rip)     # 0x16350
jne 0xbc68
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xaa77(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xac14
movq %rax, 0x40(%r12)
cmpl $0x1f, 0xaa63(%rip)     # 0x16350
jne 0xbc74
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xaa50(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xac14
movq %rax, 0x48(%r12)
movq %rbx, %rdi
callq 0xac14
movq %rax, 0x50(%r12)
decl 0xa920(%rip)            # 0x16240
jmp 0xbb14
movl $0x14, %edi
callq 0x8991
movq %rax, %r12
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xaa11(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xac14
movq %rax, 0x38(%r12)
movq %rbx, %rdi
callq 0xac14
jmp 0xbb0f
movl $0x9, %edi
callq 0x8991
movq %rax, %r12
leaq 0xa9f3(%rip), %rdi      # 0x16360
xorl %esi, %esi
callq 0x2090
movsd %xmm0, -0x30(%rbp)
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xa9ca(%rip)      # 0x16350
movq %rbx, %rdi
movsd -0x30(%rbp), %xmm0
callq 0x89f3
movl %eax, 0x38(%r12)
jmp 0xbb14
movl $0xa, %edi
callq 0x8991
movq %rax, %r12
leaq 0xa9af(%rip), %rsi      # 0x16360
movq %rbx, %rdi
callq 0x8a8f
movl %eax, 0x38(%r12)
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xa985(%rip)      # 0x16350
jmp 0xbb14
cmpl $0x1a, %eax
jne 0xbb3e
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xa96a(%rip)      # 0x16350
callq 0xc2b6
cmpl $0x1d, 0xa95e(%rip)     # 0x16350
jne 0xbb8d
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xa94b(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xbf76
movq 0x10(%r15), %rcx
movq %rax, 0x48(%rcx)
movq %rbx, %rdi
callq 0xac14
movq %rax, 0x40(%r14)
movq 0xa820(%rip), %rax      # 0x16248
testq %rax, %rax
je 0xbb9b
movq (%rax), %rax
movq %rax, 0xa80d(%rip)      # 0x16248
movq 0x10(%r15), %rax
movq 0x48(%rax), %rax
cmpl $0x0, 0x20(%rax)
je 0xba54
cmpb $0x0, 0x64(%r15)
je 0xbc80
movq -0x30(%rbp), %rdi
callq 0x2030
movq %r14, %r12
jmp 0xbb14
movq $0x0, 0x48(%r12)
jmp 0xbb14
movabsq $0x706d6f635f6e6f23, %rax # imm = 0x706D6F635F6E6F23
xorq 0xa8dc(%rip), %rax      # 0x16360
movl 0xa8de(%rip), %ecx      # 0x16368
xorq $0x656c69, %rcx         # imm = 0x656C69
orq %rax, %rcx
jne 0xbca5
xorl %edi, %edi
callq 0xa0ca
movl %eax, 0xa8a9(%rip)      # 0x16350
movq %rbx, %rdi
callq 0xac14
leaq -0x58(%rbp), %rbx
movq %rax, (%rbx)
movq -0x38(%rbp), %rax
leaq 0x2b8(%rax), %rdi
movslq 0xa770(%rip), %rsi      # 0x16238
callq 0xdf24
leaq 0x70(%rax), %rdi
movq %rbx, %rsi
movq -0x38(%rbp), %rbx
callq 0xdf81
movq %rbx, %rdi
callq 0xac14
jmp 0xbaef
movq %rbx, %rdi
callq 0xc31b
movq %rax, %r12
jmp 0xbb14
movq %rbx, %rdi
movl $0xb, %esi
callq 0x816f
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x85ac
movq %rax, 0x40(%r12)
movq %rbx, %rdi
movq %r12, %rsi
callq 0xbd7b
movq %rax, %r14
movq %r14, %rax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x2587
jmp 0xb771
leaq 0xa0fb(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rsi
leaq 0x5618(%rip), %rdi      # 0x11168
jmp 0xbb5c
leaq 0x5634(%rip), %rdi      # 0x1118d
movq %r15, %rsi
xorl %eax, %eax
callq 0x88df
movl %eax, %eax
leaq 0xa0d4(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rsi
leaq 0x5874(%rip), %rdi      # 0x113eb
jmp 0xbb5c
leaq 0xa0c0(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rsi
leaq 0x5895(%rip), %rdi      # 0x11420
jmp 0xbb5c
leaq 0x5623(%rip), %rdi      # 0x111b7
xorl %eax, %eax
callq 0x88df
leaq 0x56cb(%rip), %rdi      # 0x1126d
jmp 0xbbab
leaq 0x60ec(%rip), %rdi      # 0x11c97
xorl %eax, %eax
callq 0x384e
leaq 0x55d4(%rip), %rdi      # 0x1118d
movq %r13, %rsi
jmp 0xbb5c
movl %eax, %eax
leaq 0xa079(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rsi
leaq 0x5875(%rip), %rdi      # 0x11447
jmp 0xbb5c
leaq 0xa065(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rsi
leaq 0x570c(%rip), %rdi      # 0x112f2
jmp 0xbb5c
movq 0x30(%r15), %rsi
leaq 0x5247(%rip), %rdi      # 0x10e3d
jmp 0xbb5c
cmpl $0x7, -0x5c(%rbp)
leaq 0x5027(%rip), %rax      # 0x10c2d
leaq 0x5019(%rip), %rsi      # 0x10c26
cmoveq %rax, %rsi
leaq 0x5783(%rip), %rdi      # 0x1139b
jmp 0xbb5c
movq -0x30(%rbp), %rcx
movq 0x30(%rcx), %rsi
movl %eax, %eax
leaq 0xa012(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rdx
leaq 0x5782(%rip), %rdi      # 0x113bb
xorl %eax, %eax
callq 0x88df
leaq 0x5679(%rip), %rdi      # 0x112c0
jmp 0xbb94
leaq 0x54f9(%rip), %rdi      # 0x1114c
movq -0x30(%rbp), %rsi
jmp 0xbb5c
leaq 0x5383(%rip), %rdi      # 0x10fe6
jmp 0xbb94
leaq 0x5497(%rip), %rdi      # 0x11106
jmp 0xbb94
leaq 0x54af(%rip), %rdi      # 0x1112a
jmp 0xbb94
leaq 0x5548(%rip), %rdi      # 0x111cf
jmp 0xbb94
movl %eax, %eax
leaq 0x9fab(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rsi
leaq 0x52c7(%rip), %rdi      # 0x10f67
jmp 0xbb5c
leaq 0x52fa(%rip), %rdi      # 0x10fa6
leaq 0xa6ad(%rip), %rsi      # 0x16360
jmp 0xbb5c
leaq 0x5644(%rip), %rdi      # 0x11303
jmp 0xbb94