// File: /workspace/github_c_makefile_star2_O3/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 $0x58, %rsp
movl 0xb8cf(%rip), %eax      # 0x16360
cmpq $0x26, %rax
ja 0xb20a
movq %rdi, %rbx
leaq 0x49a3(%rip), %rcx      # 0xf448
movslq (%rcx,%rax,4), %rdx
addq %rcx, %rdx
movq %rdi, -0x38(%rbp)
jmpq *%rdx
movl $0x1, %edi
callq 0x8840
movq %rax, %r12
movl 0xb89b(%rip), %eax      # 0x16360
movl %eax, -0x60(%rbp)
cmpl $0x7, %eax
sete %r15b
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb884(%rip)      # 0x16360
cmpl $0x16, %eax
jne 0xba4b
leaq 0x2b8(%rbx), %rdi
movslq 0xb755(%rip), %rsi      # 0x16248
callq 0xdcf3
movq %rax, %r14
addq $0xb0, %r14
leaq 0xb867(%rip), %rsi      # 0x16370
movq %r14, %rdi
callq 0xe108
movq %rax, %r13
testq %rax, %rax
jne 0xab4e
movq %rbx, %rdi
movl $0xa, %esi
callq 0x8156
movq %rax, %r13
leaq 0xb840(%rip), %rbx      # 0x16370
movq %rbx, %rdi
callq 0x2817
movq %rax, 0x30(%r13)
movq %r14, %rdi
movq %rbx, %rsi
movq -0x38(%rbp), %rbx
movq %r13, %rdx
callq 0xe013
movq %r12, -0x70(%rbp)
movb %r15b, 0x28(%r13)
movb $0x1, 0x24(%r13)
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb7f8(%rip)      # 0x16360
cmpl $0x1b, %eax
jne 0xba6d
xorl %edi, %edi
callq 0x9eb1
movl %eax, %r12d
movl %eax, 0xb7df(%rip)      # 0x16360
leaq 0x40(%r13), %r14
leaq 0x60(%r13), %rax
movq %rax, -0x80(%rbp)
leaq 0xb7dc(%rip), %r15      # 0x16370
movq %r14, -0x78(%rbp)
cmpl $0x2, %r12d
je 0xac2e
cmpl $0x1c, %r12d
je 0xaeb7
movl %r12d, %eax
cmpl $0x3, %r12d
jne 0xabc2
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb79e(%rip)      # 0x16360
cmpl $0x16, %eax
jne 0xb9c7
movq %r15, %rdi
callq 0x2817
movq %rax, -0x30(%rbp)
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb77c(%rip)      # 0x16360
cmpl $0x19, %eax
je 0xac74
movq -0x30(%rbp), %r12
cmpl $0x1d, %eax
jne 0xba0e
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb759(%rip)      # 0x16360
cmpl $0x7, -0x60(%rbp)
jne 0xadfb
movl $0x0, -0x50(%rbp)
movq %r12, -0x58(%rbp)
movq %rbx, %rdi
callq 0xbde7
movl $0x1, %ecx
jmp 0xae15
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb725(%rip)      # 0x16360
cmpl $0x16, %eax
jne 0xb9b1
movq %rbx, %rdi
movq %r15, %rsi
callq 0x8c28
movq %rax, -0x58(%rbp)
movq %r14, %rdi
leaq -0x58(%rbp), %rsi
callq 0xdd50
xorl %edi, %edi
callq 0x9eb1
movl %eax, %r12d
movl %eax, 0xb6f1(%rip)      # 0x16360
jmp 0xab98
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb6df(%rip)      # 0x16360
movq %r13, %r15
movq 0x30(%r13), %rbx
movq %rbx, %rdi
callq 0x20b0
movq %rax, %r13
movq -0x30(%rbp), %rdi
callq 0x20b0
movq %rax, %r14
leaq (%rax,%r13), %rdi
addq $0x3, %rdi
callq 0x21c0
testq %rax, %rax
je 0xb9f4
addq %r13, %r14
movq %rax, %rdi
leaq 0x67ac(%rip), %rsi      # 0x1146e
movq %rbx, %rdx
movq -0x30(%rbp), %rcx
movq %rax, %r13
xorl %eax, %eax
callq 0x2230
movb $0x0, 0x1(%r13,%r14)
movq -0x38(%rbp), %rbx
movq %rbx, %rdi
movq %r13, -0x30(%rbp)
movq %r13, %rsi
callq 0xbf61
movq %rax, %r14
movq %rax, 0xb562(%rip)      # 0x16258
cmpl $0x3, %r12d
movq %r15, %r13
je 0xad0e
leaq 0x676e(%rip), %rdi      # 0x11474
movq %r13, %rsi
callq 0xc07c
movl 0xb64c(%rip), %eax      # 0x16360
leaq 0xb655(%rip), %r15      # 0x16370
cmpl $0x16, %eax
jne 0xad8d
movq %r15, %rdi
callq 0x2817
movq %rax, %r12
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb628(%rip)      # 0x16360
cmpl $0x1d, %eax
jne 0xb9a0
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb612(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xbde7
movq %r12, %rdi
movq %rax, %rsi
callq 0xc07c
movq %r12, %rdi
callq 0x2030
movl 0xb5f1(%rip), %eax      # 0x16360
cmpq $0x1a, %rax
je 0xad1b
cmpl $0x1f, %eax
jne 0xb20a
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb5d5(%rip)      # 0x16360
jmp 0xad1b
cmpl $0x1a, %eax
jne 0xb98a
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb5bd(%rip)      # 0x16360
callq 0xc137
cmpl $0x1d, 0xb5b1(%rip)     # 0x16360
jne 0xb9dd
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb59e(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xbde7
movq 0x10(%r14), %rcx
movq %rax, 0x48(%rcx)
movq -0x30(%rbp), %rdi
callq 0x2030
movq 0xb476(%rip), %rax      # 0x16258
testq %rax, %rax
je 0xb9eb
movq (%rax), %rax
movq %rax, 0xb463(%rip)      # 0x16258
movq -0x78(%rbp), %r14
jmp 0xae54
movl 0x70(%r13), %eax
movl %eax, -0x50(%rbp)
movq %r12, -0x58(%rbp)
movq %rbx, %rdi
callq 0xbde7
movq 0x38(%r13), %rcx
incq %rcx
movq %rax, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movq %rcx, 0x38(%r13)
cmpl $0x24, 0xb534(%rip)     # 0x16360
jne 0xae47
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb525(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xaa4d
movq %rax, -0x40(%rbp)
movq -0x80(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0xdd50
movl 0xb505(%rip), %r12d     # 0x16360
jmp 0xab98
movl $0xd, %edi
callq 0x8840
movq %rbx, %r14
movq %rax, %rbx
movl 0xb4ea(%rip), %eax      # 0x16360
movl %eax, 0x40(%rbx)
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb4da(%rip)      # 0x16360
movq %r14, %rdi
callq 0xaa4d
movq %rax, 0x38(%rbx)
movq %r14, %rdi
jmp 0xb839
movl $0x7, %edi
callq 0x8840
cmpl $0xa, 0xb4b5(%rip)      # 0x16360
movq %rax, %r12
sete 0x38(%rax)
jmp 0xb75d
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb49c(%rip)      # 0x16360
movq -0x70(%rbp), %r12
movq %r13, 0x38(%r12)
jmp 0xb939
movl $0x10, %edi
callq 0x8840
movq %rax, %r12
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb474(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xaa4d
movq %rax, 0x38(%r12)
cmpl $0x1a, 0xb460(%rip)     # 0x16360
je 0xb75d
leaq 0x61e1(%rip), %rdi      # 0x110ee
jmp 0xb9e4
movl $0x11, %edi
callq 0x8840
movq %rax, %r12
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb434(%rip)      # 0x16360
movq $0x0, 0x38(%r12)
leaq -0x58(%rbp), %rdi
movl $0x8, %esi
callq 0xda7c
cmpl $0x18, 0xb416(%rip)     # 0x16360
je 0xb911
leaq -0x58(%rbp), %r14
leaq -0x68(%rbp), %r15
movq %rbx, %rdi
callq 0xaa4d
movq %rax, -0x68(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0xdd50
movl 0xb3eb(%rip), %eax      # 0x16360
cmpq $0x1f, %rax
jne 0xb908
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb3d4(%rip)      # 0x16360
cmpl $0x18, %eax
jne 0xaf58
jmp 0xb911
movl $0x13, %edi
callq 0x8840
movq %rax, %r12
xorl %r14d, %r14d
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb3ad(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xaa4d
movq %rax, 0x38(%r12)
movq %rbx, %rdi
callq 0xaa4d
movq %rax, 0x40(%r12)
cmpl $0xe, 0xb38c(%rip)      # 0x16360
jne 0xafee
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb37d(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xaa4d
movq %rax, %r14
movq %r14, 0x48(%r12)
jmp 0xb939
cmpq $0x0, 0xb258(%rip)      # 0x16258
je 0xba8c
movl $0x16, %edi
callq 0x8840
movq %rax, %r12
movq 0xb23e(%rip), %rax      # 0x16258
movq %rax, 0x38(%r12)
movb $0x1, 0x64(%rax)
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb330(%rip)      # 0x16360
cmpl $0x1e, %eax
jne 0xb8d0
xorl %ebx, %ebx
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb318(%rip)      # 0x16360
jmp 0xb8db
movl $0xb, %edi
jmp 0xb5cf
movl $0x12, %edi
callq 0x8840
movq %rax, %r12
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb2ef(%rip)      # 0x16360
leaq -0x58(%rbp), %rdi
movl $0x8, %esi
callq 0xda7c
incl 0xb1cb(%rip)            # 0x16250
cmpl $0x1c, 0xb2d4(%rip)     # 0x16360
movq %rbx, %r15
je 0xb0b9
leaq -0x58(%rbp), %rbx
leaq -0x68(%rbp), %r14
movq %r15, %rdi
callq 0xaa4d
movq %rax, -0x68(%rbp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0xdd50
cmpl $0x1c, 0xb2a9(%rip)     # 0x16360
jne 0xb099
movq 0xb198(%rip), %rdi      # 0x16258
testq %rdi, %rdi
movq %r15, %rbx
je 0xb103
cmpq $0x0, 0x30(%rdi)
je 0xb103
xorl %r14d, %r14d
addq $0x20, %rdi
movq %r14, %rsi
callq 0xdcf3
movq (%rax), %rax
movl 0x18(%rax), %ecx
cmpl 0xb166(%rip), %ecx      # 0x16250
jne 0xb0f3
movl $0xffffffff, 0x18(%rax) # imm = 0xFFFFFFFF
incq %r14
movq 0xb15b(%rip), %rdi      # 0x16258
cmpq %r14, 0x30(%rdi)
ja 0xb0d2
decl 0xb147(%rip)            # 0x16250
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb24a(%rip)      # 0x16360
movups -0x58(%rbp), %xmm0
movups -0x48(%rbp), %xmm1
movups %xmm0, 0x38(%r12)
movups %xmm1, 0x48(%r12)
jmp 0xb939
movl $0x19, %edi
callq 0x8840
movq %rax, %r12
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb217(%rip)      # 0x16360
leaq 0xb220(%rip), %rdi      # 0x16370
callq 0x2817
movq %rax, %r14
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb1fb(%rip)      # 0x16360
movq %rbx, %rdi
movq %r14, -0x30(%rbp)
movq %r14, %rsi
callq 0xbf61
movq %rax, 0x38(%r12)
movq %rax, 0xb0d8(%rip)      # 0x16258
cmpl $0x19, 0xb1d9(%rip)     # 0x16360
jne 0xba98
movq %rax, %r15
movq %r12, %r14
leaq 0xb1d6(%rip), %r12      # 0x16370
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb1b9(%rip)      # 0x16360
cmpl $0x16, %eax
jne 0xb76f
movq %r12, %rdi
callq 0x2817
movq %rax, %r13
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb198(%rip)      # 0x16360
cmpl $0x1d, %eax
jne 0xba02
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb182(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xbde7
movq %r13, %rdi
movq %rax, %rsi
callq 0xc07c
movq %r13, %rdi
callq 0x2030
movl 0xb161(%rip), %eax      # 0x16360
cmpq $0x1a, %rax
je 0xb1a7
cmpl $0x1f, %eax
je 0xb19a
leaq 0xaa2f(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rsi
leaq 0x5d34(%rip), %rdi      # 0x10f50
jmp 0xb9aa
movl $0xc, %edi
jmp 0xb5cf
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb128(%rip)      # 0x16360
cmpl $0x16, %eax
jne 0xbaa8
movl $0x5, %edi
callq 0x8840
movq %rax, %r12
leaq 0xb11b(%rip), %rdi      # 0x16370
callq 0x2817
movq %rax, %r14
movq %rax, 0x38(%r12)
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb0f1(%rip)      # 0x16360
cmpl $0x1d, %eax
jne 0xb8e6
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb0db(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xbde7
jmp 0xb8f3
movl $0x8, %edi
callq 0x8840
movq %rax, %r12
movb 0xb0cb(%rip), %al       # 0x16370
movb %al, 0x38(%r12)
jmp 0xb75d
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb0a4(%rip)      # 0x16360
cmpl $0x16, %eax
jne 0xb804
leaq 0xb0a4(%rip), %rsi      # 0x16370
movq %rbx, %rdi
callq 0x8c28
cmpl $0xa, 0x20(%rax)
jne 0xb804
movq %rax, %r15
movl $0x2, %edi
callq 0x8840
movq %rax, %r14
movq %r15, 0x38(%rax)
movq %rax, %r12
addq $0x40, %r12
movl $0x8, %esi
movq %r12, %rdi
callq 0xda7c
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb04d(%rip)      # 0x16360
cmpl $0x1b, %eax
jne 0xb947
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xb037(%rip)      # 0x16360
cmpl $0x1c, %eax
je 0xb388
leaq -0x58(%rbp), %r13
movq %rbx, %rdi
callq 0xaa4d
movq %rax, -0x58(%rbp)
cmpl $0xe, 0x28(%rax)
jne 0xba3b
movq 0x38(%rax), %rcx
cmpl $0x5, 0x28(%rcx)
jne 0xba3b
cmpl $0x24, 0x48(%rax)
jne 0xba3b
movq %r12, %rdi
movq %r13, %rsi
callq 0xdd50
movl 0xafef(%rip), %eax      # 0x16360
cmpl $0x1f, %eax
jne 0xb383
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xafdd(%rip)      # 0x16360
cmpl $0x1c, %eax
jne 0xb332
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xafcb(%rip)      # 0x16360
jmp 0xb947
movabsq $0x74726f706d6923, %rax # imm = 0x74726F706D6923
cmpq %rax, 0xafc5(%rip)      # 0x16370
jne 0xb84f
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xafa2(%rip)      # 0x16360
cmpl $0x22, %eax
jne 0xbad8
leaq 0x2b8(%rbx), %r15
movslq 0xae73(%rip), %rsi      # 0x16248
movq %r15, %rdi
callq 0xdcf3
movq 0x40(%rax), %rdi
callq 0x2817
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, %rbx
leaq 0xaf5a(%rip), %rdi      # 0x16370
callq 0x20b0
leaq (%rbx,%rax), %rdi
incq %rdi
callq 0x21c0
testq %rax, %rax
je 0xb9f4
movq %rax, %r12
movq %rax, %rdi
movq %r14, %rsi
callq 0x2050
addq %r12, %rbx
leaq 0xaf28(%rip), %rsi      # 0x16370
movq %rbx, %rdi
callq 0x2050
leaq 0x4327(%rip), %rsi      # 0xf77e
movq %r12, %rdi
callq 0x2200
testq %rax, %rax
je 0xb97c
movq %rax, %r13
movq %r15, -0x60(%rbp)
movq %r14, -0x30(%rbp)
movq %rax, %rdi
xorl %esi, %esi
movl $0x2, %edx
callq 0x21d0
movq %r13, %rdi
callq 0x2190
movq %rax, %rbx
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x21d0
leaq 0x1(%rbx), %rdi
callq 0x21c0
testq %rax, %rax
je 0xb9f4
movq %rax, %r15
movl $0x1, %esi
movq %rax, %rdi
movq %rbx, %rdx
movq %r13, %rcx
callq 0x2080
movb $0x0, (%r15,%rbx)
movq -0x38(%rbp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %r15, %rcx
callq 0x3b0a
leaq -0x58(%rbp), %r14
movl %eax, (%r14)
movslq 0xad60(%rip), %rsi      # 0x16248
movq -0x60(%rbp), %rdi
callq 0xdcf3
movq %rax, %rdi
movq %r14, %rsi
callq 0xdd50
movq %r15, %rdi
callq 0x2030
movq %r13, %rdi
callq 0x20a0
movq -0x30(%rbp), %r14
movq %r12, %rdi
callq 0x2030
movq %r14, %rdi
callq 0x2030
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xae33(%rip)      # 0x16360
jmp 0xb8b9
xorl %edi, %edi
callq 0x8840
movq %rax, %r12
jmp 0xb75d
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xae12(%rip)      # 0x16360
cmpl $0x1b, %eax
jne 0xb8c3
movl $0x18, %edi
callq 0x8840
movq %rax, %r12
movl $0x18, 0x28(%rax)
leaq 0x38(%rax), %r14
movl $0x8, %esi
movq %r14, %rdi
callq 0xda7c
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xadd7(%rip)      # 0x16360
cmpl $0x1c, %eax
movq %rbx, %r15
je 0xb5b5
leaq -0x58(%rbp), %rbx
movq %r15, %rdi
callq 0xc190
movq %rax, -0x58(%rbp)
movq %r14, %rdi
movq %rbx, %rsi
callq 0xdd50
cmpl $0x1c, 0xadad(%rip)     # 0x16360
jne 0xb595
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xad9e(%rip)      # 0x16360
movq %r15, %rbx
jmp 0xb939
movl $0x1a, %edi
callq 0x8840
movq %rax, %r12
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xad7c(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xaa4d
movq %rax, 0x38(%r12)
jmp 0xb939
movl $0x5, %edi
callq 0x8840
movq %rax, %r12
leaq 0xad66(%rip), %rbx      # 0x16370
movq %rbx, %rdi
callq 0x2817
movq %rax, 0x38(%r12)
movq -0x38(%rbp), %rdi
movq %rbx, %rsi
movq -0x38(%rbp), %rbx
callq 0x863a
movq %rax, 0x40(%r12)
jmp 0xb75d
movl $0x15, %edi
callq 0x8840
movq %rax, %r12
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xad15(%rip)      # 0x16360
incl 0xabff(%rip)            # 0x16250
movq %rbx, %rdi
callq 0xaa4d
movq %rax, 0x38(%r12)
cmpl $0x1f, 0xacfb(%rip)     # 0x16360
jne 0xbab4
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xace8(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xaa4d
movq %rax, 0x40(%r12)
cmpl $0x1f, 0xacd4(%rip)     # 0x16360
jne 0xbac0
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xacc1(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xaa4d
movq %rax, 0x48(%r12)
movq %rbx, %rdi
callq 0xaa4d
movq %rax, 0x50(%r12)
decl 0xab91(%rip)            # 0x16250
jmp 0xb939
movl $0x14, %edi
callq 0x8840
movq %rax, %r12
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xac82(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xaa4d
movq %rax, 0x38(%r12)
movq %rbx, %rdi
callq 0xaa4d
jmp 0xb901
movl $0x9, %edi
callq 0x8840
movq %rax, %r12
leaq 0xac64(%rip), %rdi      # 0x16370
xorl %esi, %esi
callq 0x2090
movsd %xmm0, -0x30(%rbp)
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xac3b(%rip)      # 0x16360
movq %rbx, %rdi
movsd -0x30(%rbp), %xmm0
callq 0x88a2
movl %eax, 0x38(%r12)
jmp 0xb939
movl $0xa, %edi
callq 0x8840
movq %rax, %r12
leaq 0xac20(%rip), %rsi      # 0x16370
movq %rbx, %rdi
callq 0x8918
movl %eax, 0x38(%r12)
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xabf6(%rip)      # 0x16360
jmp 0xb939
cmpl $0x1a, %eax
jne 0xb98a
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xabdb(%rip)      # 0x16360
callq 0xc137
cmpl $0x1d, 0xabcf(%rip)     # 0x16360
jne 0xb9dd
movq %r14, %r12
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xabb9(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xbde7
movq 0x10(%r15), %rcx
movq %rax, 0x48(%rcx)
movq %rbx, %rdi
callq 0xaa4d
movq %rax, 0x40(%r14)
movq 0xaa8e(%rip), %rax      # 0x16258
testq %rax, %rax
je 0xb9eb
movq (%rax), %rax
movq %rax, 0xaa7b(%rip)      # 0x16258
movq 0x10(%r15), %rax
movq 0x48(%rax), %rax
cmpl $0x0, 0x20(%rax)
je 0xb7f6
cmpb $0x0, 0x64(%r15)
je 0xbacc
movq -0x30(%rbp), %rdi
callq 0x2030
jmp 0xb939
movl $0x5, %edi
callq 0x8840
movq %rbx, %r15
movq %rax, %rbx
leaq 0x5407(%rip), %r14      # 0x10c22
movq %r14, %rdi
callq 0x2817
movq %rax, 0x38(%rbx)
movq %r15, %rdi
movq %r14, %rsi
callq 0x863a
movq %rax, 0x40(%rbx)
movq %r15, %rdi
movq %rbx, %rsi
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xbbd0
movabsq $0x706d6f635f6e6f23, %rax # imm = 0x706D6F635F6E6F23
xorq 0xab10(%rip), %rax      # 0x16370
movl 0xab12(%rip), %ecx      # 0x16378
xorq $0x656c69, %rcx         # imm = 0x656C69
orq %rax, %rcx
jne 0xbaf1
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xaadd(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xaa4d
leaq -0x58(%rbp), %rbx
movq %rax, (%rbx)
movq -0x38(%rbp), %rax
leaq 0x2b8(%rax), %rdi
movslq 0xa9a4(%rip), %rsi      # 0x16248
callq 0xdcf3
leaq 0x70(%rax), %rdi
movq %rbx, %rsi
movq -0x38(%rbp), %rbx
callq 0xdd50
movq %rbx, %rdi
callq 0xaa4d
jmp 0xb8cb
movq %rbx, %rdi
callq 0xc190
movq %rax, %r12
jmp 0xb939
movq %rbx, %rdi
callq 0xaa4d
movq %rax, %rbx
movq %rbx, 0x40(%r12)
movq -0x38(%rbp), %rbx
jmp 0xb939
movq %rbx, %rdi
movl $0xb, %esi
callq 0x8156
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x8516
movq %rax, 0x40(%r12)
jmp 0xb939
cmpl $0x18, %eax
jne 0xba24
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xaa42(%rip)      # 0x16360
movups -0x58(%rbp), %xmm0
movups -0x48(%rbp), %xmm1
movups %xmm1, 0x50(%r12)
movups %xmm0, 0x40(%r12)
cmpq $0x0, -0x48(%rbp)
je 0xb959
movq %rbx, %rdi
movq %r12, %rsi
callq 0xbbd0
movq %rax, %r14
movq %r14, %rax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x1d, %eax
jne 0xbb04
xorl %edi, %edi
callq 0x9eb1
movl %eax, 0xa9f1(%rip)      # 0x16360
movq %rbx, %rdi
callq 0xbde7
jmp 0xb5ec
callq 0x2595
movq -0x38(%rbp), %rbx
jmp 0xb510
movl %eax, %eax
leaq 0xa2ad(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rsi
leaq 0x57ca(%rip), %rdi      # 0x11168
jmp 0xb9aa
leaq 0x57e6(%rip), %rdi      # 0x1118d
movq %r12, %rsi
xorl %eax, %eax
callq 0x878e
movl %eax, %eax
leaq 0xa286(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rsi
leaq 0x5a26(%rip), %rdi      # 0x113eb
jmp 0xb9aa
movl %eax, %eax
leaq 0xa270(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rsi
leaq 0x5a45(%rip), %rdi      # 0x11420
jmp 0xb9aa
leaq 0x57d3(%rip), %rdi      # 0x111b7
xorl %eax, %eax
callq 0x878e
leaq 0x587b(%rip), %rdi      # 0x1126d
jmp 0xb9fb
leaq 0x629c(%rip), %rdi      # 0x11c97
xorl %eax, %eax
callq 0x388c
leaq 0x5784(%rip), %rdi      # 0x1118d
movq %r13, %rsi
jmp 0xb9aa
movl %eax, %eax
leaq 0xa229(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rsi
leaq 0x5a25(%rip), %rdi      # 0x11447
jmp 0xb9aa
leaq 0xa215(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rsi
leaq 0x58bc(%rip), %rdi      # 0x112f2
jmp 0xb9aa
movq 0x30(%r15), %rsi
leaq 0x53f7(%rip), %rdi      # 0x10e3d
jmp 0xb9aa
cmpl $0x7, -0x60(%rbp)
leaq 0x51d7(%rip), %rax      # 0x10c2d
leaq 0x51c9(%rip), %rsi      # 0x10c26
cmoveq %rax, %rsi
leaq 0x5933(%rip), %rdi      # 0x1139b
jmp 0xb9aa
movq 0x30(%r13), %rsi
movl %eax, %eax
leaq 0xa1c6(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rdx
leaq 0x5936(%rip), %rdi      # 0x113bb
xorl %eax, %eax
callq 0x878e
leaq 0x582d(%rip), %rdi      # 0x112c0
jmp 0xb9e4
leaq 0x56ad(%rip), %rdi      # 0x1114c
movq -0x30(%rbp), %rsi
jmp 0xb9aa
leaq 0x5537(%rip), %rdi      # 0x10fe6
jmp 0xb9e4
leaq 0x564b(%rip), %rdi      # 0x11106
jmp 0xb9e4
leaq 0x5663(%rip), %rdi      # 0x1112a
jmp 0xb9e4
leaq 0x56fc(%rip), %rdi      # 0x111cf
jmp 0xb9e4
movl %eax, %eax
leaq 0xa15f(%rip), %rcx      # 0x15c40
movq (%rcx,%rax,8), %rsi
leaq 0x547b(%rip), %rdi      # 0x10f67
jmp 0xb9aa
leaq 0x54ae(%rip), %rdi      # 0x10fa6
leaq 0xa871(%rip), %rsi      # 0x16370
jmp 0xb9aa
leaq 0x57f8(%rip), %rdi      # 0x11303
jmp 0xb9e4