// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_guesszeinitialzectxzetype
static struct std_list_List_1 mw_mirth_elab_guesszeinitialzectxzetype (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Word_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, uint64_t *out_Word_4, struct mirth_type_ArrowType* *out_ArrowType_6) {
	struct std_list_List_1 v7 = mw_mirth_var_Ctx_L0();
	struct mirth_mirth_zaMirth* v8;
	struct mirth_type_StackType v9 = mw_mirth_type_StackType_Freshzx(in_zaMirth_1, &v8);
	struct mirth_mirth_zaMirth* v10;
	struct mirth_type_StackType v11 = mw_mirth_type_StackType_Freshzx(v8, &v10);
	struct mirth_mirth_zaMirth* v12;
	struct mirth_name_Namespace v13 = mw_mirth_word_Word_namespacezehard(v10, in_Word_2, &v12);
	struct std_list_List_1 branch_Ctx_14;
	struct mirth_type_StackType branch_StackType_15;
	uint64_t branch_Word_16;
	struct mirth_mirth_zaMirth* branch_zaMirth_17;
	struct mirth_type_StackType branch_StackType_18;
	switch ((v13).tag) {
		case mirth_name_Namespace_Tycon: {
			struct mirth_tycon_Tycon v19 = mtp_mirth_name_Namespace_Tycon(v13);
			struct mirth_mirth_zaMirth* v20;
			struct std_either_Either_2 v21 = mw_mirth_tycon_Tycon_fullzetypezefresh(v12, v19, &v20);
			struct mirth_mirth_zaMirth* v22;
			uint64_t v23 = mw_mirth_word_Word_name(v20, in_Word_2, &v22);
			struct mirth_mirth_zaMirth* v24;
			bool v25 = mw_mirth_name_Name_canzebezerelativezy(v22, v23, &v24);
			struct std_list_List_1 branch_Ctx_26;
			struct mirth_type_StackType branch_StackType_27;
			uint64_t branch_Word_28;
			struct mirth_mirth_zaMirth* branch_zaMirth_29;
			struct mirth_type_StackType branch_StackType_30;
			if (v25) {
				struct mirth_type_StackType v31 = mw_mirth_type_Tzmza(v9, v21);
				branch_StackType_30 = v31;
				branch_zaMirth_29 = v24;
				branch_Word_28 = in_Word_2;
				branch_StackType_27 = v11;
				branch_Ctx_26 = v7;
			} else {
				struct mirth_type_StackType v32 = mw_mirth_type_Tzmza(v11, v21);
				branch_StackType_30 = v9;
				branch_zaMirth_29 = v24;
				branch_Word_28 = in_Word_2;
				branch_StackType_27 = v32;
				branch_Ctx_26 = v7;
			}
			branch_StackType_18 = branch_StackType_30;
			branch_zaMirth_17 = branch_zaMirth_29;
			branch_Word_16 = branch_Word_28;
			branch_StackType_15 = branch_StackType_27;
			branch_Ctx_14 = branch_Ctx_26;
		} break;
		case mirth_name_Namespace_Module: {
			uint64_t v33 = mtp_mirth_name_Namespace_Module(v13);
			struct mirth_mirth_zaMirth* v34;
			uint64_t v35 = mw_mirth_word_Word_name(v12, in_Word_2, &v34);
			struct mirth_mirth_zaMirth* v36;
			STR* v37 = mw_mirth_name_Name_zgStr(v34, v35, &v36);
			STR* v38;
			STRLIT(v38, "main", 4);
			bool v39 = (str_cmp(v37, v38) == 0);
			struct mirth_type_StackType branch_StackType_40;
			struct mirth_type_StackType branch_StackType_41;
			if (v39) {
				struct mirth_type_StackType v42 = mw_mirth_type_T0();
				struct mirth_type_Type v43 = mw_mirth_type_Resource_World();
				struct mirth_type_StackType v44 = mw_mirth_type_Tza(v42, v43);
				decref(MK_mirth_type_StackType(v9));
				struct mirth_type_StackType v45 = mw_mirth_type_T0();
				struct mirth_type_Type v46 = mw_mirth_type_Resource_World();
				struct mirth_type_StackType v47 = mw_mirth_type_Tza(v45, v46);
				decref(MK_mirth_type_StackType(v11));
				branch_StackType_41 = v47;
				branch_StackType_40 = v44;
			} else {
				branch_StackType_41 = v11;
				branch_StackType_40 = v9;
			}
			branch_StackType_18 = branch_StackType_40;
			branch_zaMirth_17 = v36;
			branch_Word_16 = in_Word_2;
			branch_StackType_15 = branch_StackType_41;
			branch_Ctx_14 = v7;
		} break;
		default: {
			decref(MK_mirth_name_Namespace(v13));
			branch_StackType_18 = v9;
			branch_zaMirth_17 = v12;
			branch_Word_16 = in_Word_2;
			branch_StackType_15 = v11;
			branch_Ctx_14 = v7;
		} break;
	}
	struct mirth_mirth_zaMirth* v48;
	INT v49 = mw_mirth_word_Word_arity(branch_zaMirth_17, branch_Word_16, &v48);
	incref(MKNAT(v49));
	INT v50 = WRAP_I63(0LL);
	INT v51 = v49;
	INT v52 = v50;
	bool v53 = int_lt(v52, v51);
	struct mirth_mirth_zaMirth* r54 = v48;
	struct mirth_type_StackType v55 = branch_StackType_18;
	INT v56 = v49;
	bool v57 = v53;
	while (v57) {
		struct mirth_mirth_zaMirth* r58 = r54;
		struct mirth_type_StackType v59 = v55;
		INT v60 = v56;
		struct mirth_mirth_zaMirth* v61;
		struct mirth_type_ArrowType* v62 = mw_mirth_type_ArrowType_Freshzx(r58, &v61);
		struct mirth_type_Type v63 = mtw_mirth_type_Type_Arrow(v62);
		struct mirth_type_StackType v64 = mw_mirth_type_Tzm(v59, v63);
		INT v65 = WRAP_I63(1LL);
		INT v66 = v60;
		INT v67 = v65;
		INT v68 = int_sub(v66, v67);
		incref(MKINT(v68));
		INT v69 = WRAP_I63(0LL);
		INT v70 = v69;
		bool v71 = int_le(v70, v68);
		INT branch_Nat_72;
		if (v71) {
			INT v73 = v68;
			branch_Nat_72 = v73;
		} else {
			decref(MKINT(v68));
			INT v74 = WRAP_I63(0LL);
			branch_Nat_72 = v74;
		}
		incref(MKNAT(branch_Nat_72));
		INT v75 = WRAP_I63(0LL);
		INT v76 = branch_Nat_72;
		INT v77 = v75;
		bool v78 = int_lt(v77, v76);
		v57 = v78;
		v56 = branch_Nat_72;
		v55 = v64;
		r54 = v61;
	}
	decref(MKNAT(v56));
	struct mirth_type_ArrowType* v79 = mw_mirth_type_Tzezg(v55, branch_StackType_15);
	incref(MK_std_list_List_1(branch_Ctx_14));
	incref(MK_mirth_type_ArrowType(v79));
	PTUP r80 = PTRMK(0,tup_new(2),0);
	((TUP*)PTRPTR(r80))->size = 2;
	((TUP*)PTRPTR(r80))->cells[1] = MK_mirth_type_ArrowType(v79);
	((TUP*)PTRPTR(r80))->cells[0] = MK_std_list_List_1(branch_Ctx_14);
	struct mirth_mirth_PropLabel v81 = mtw_mirth_mirth_PropLabel_WordType(branch_Word_16);
	struct mirth_mirth_zaMirth* v82;
	struct mirth_mirth_Prop_1* v83 = mw_mirth_mirth_PropLabel_prop(r54, MKTUP(r80), v81, &v82);
	void* v84 = field_mut(&mfld_mirth_word_Word_ztctxzetype, branch_Word_16);
	mut_set(MK_mirth_mirth_Prop_1(v83), v84);
	bool v85 = true;
	struct mirth_mirth_zaMirth* v86;
	mw_mirth_word_Word_inferringzetypezyzx(v82, v85, branch_Word_16, &v86);
	*out_ArrowType_6 = v79;
	*out_Word_4 = branch_Word_16;
	*out_zaMirth_3 = v86;
	return branch_Ctx_14;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x6e0, %rsp            # imm = 0x6E0
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq %r8, -0x38(%rbp)
callq 0xae770
movl %eax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x18(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0xcd420
movl %eax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x50(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0xcd420
movl %eax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x68(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x80(%rbp), %rdx
callq 0xf1ae0
movl %eax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
movl -0x90(%rbp), %eax
movl %eax, -0x6d4(%rbp)
subl $0x2, %eax
je 0xf08d1
jmp 0xf06a8
movl -0x6d4(%rbp), %eax
subl $0x3, %eax
jne 0xf0db7
jmp 0xf06b9
movl -0x90(%rbp), %edi
movq -0x88(%rbp), %rsi
callq 0x59d90
movl %eax, -0xd0(%rbp)
movq %rdx, -0xc8(%rbp)
movq -0x80(%rbp), %rdi
movl -0xd0(%rbp), %esi
movq -0xc8(%rbp), %rdx
leaq -0xd8(%rbp), %rcx
callq 0xf1ce0
movl %eax, -0xe8(%rbp)
movq %rdx, -0xe0(%rbp)
movq -0xd8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0xf0(%rbp), %rdx
callq 0x645a0
movq %rax, -0xf8(%rbp)
movq -0xf0(%rbp), %rdi
movq -0xf8(%rbp), %rsi
leaq -0x100(%rbp), %rdx
callq 0x8e280
andb $0x1, %al
movb %al, -0x101(%rbp)
testb $0x1, -0x101(%rbp)
je 0xf07db
movl -0x60(%rbp), %edi
movq -0x58(%rbp), %rsi
movl -0xe8(%rbp), %edx
movq -0xe0(%rbp), %rcx
callq 0x73490
movl %eax, -0x158(%rbp)
movq %rdx, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq %rax, -0x148(%rbp)
movq -0x150(%rbp), %rax
movq %rax, -0x140(%rbp)
movq -0x100(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x130(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x128(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x120(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x118(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x110(%rbp)
jmp 0xf0862
movl -0x78(%rbp), %edi
movq -0x70(%rbp), %rsi
movl -0xe8(%rbp), %edx
movq -0xe0(%rbp), %rcx
callq 0x73490
movl %eax, -0x168(%rbp)
movq %rdx, -0x160(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x148(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x140(%rbp)
movq -0x100(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x130(%rbp)
movq -0x168(%rbp), %rax
movq %rax, -0x128(%rbp)
movq -0x160(%rbp), %rax
movq %rax, -0x120(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x118(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x110(%rbp)
movq -0x148(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x140(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x138(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x130(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x120(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x118(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x110(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xf0f20
movl -0x90(%rbp), %edi
movq -0x88(%rbp), %rsi
callq 0x59d40
movq %rax, -0x170(%rbp)
movq -0x80(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x178(%rbp), %rdx
callq 0x645a0
movq %rax, -0x180(%rbp)
movq -0x178(%rbp), %rdi
movq -0x180(%rbp), %rsi
leaq -0x188(%rbp), %rdx
callq 0x6e5d0
movq %rax, -0x190(%rbp)
cmpq $0x0, 0x12a5212(%rip)   # 0x1395b40
jne 0xf0948
leaq 0x27d2de(%rip), %rdi    # 0x36dc15
movl $0x4, %esi
callq 0xb6c0
movq %rax, 0x12a51f8(%rip)   # 0x1395b40
jmp 0xf094a
movq 0x12a51ef(%rip), %rax   # 0x1395b40
movq %rax, -0x1a8(%rbp)
leaq 0x2a07f9(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x1a0(%rbp)
movq -0x1a0(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xf0a1f
movq 0x12a51ba(%rip), %rax   # 0x1395b40
movq %rax, -0x1b8(%rbp)
leaq 0x2a07c4(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x1b0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x1b8(%rbp), %rax
cmpq $0x0, %rax
je 0xf0a1f
movq 0x12a5183(%rip), %rax   # 0x1395b40
movq %rax, -0x1c8(%rbp)
leaq 0x2a078d(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x1c0(%rbp)
movq -0x1c8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xf0a1f
movq 0x12a5152(%rip), %rax   # 0x1395b40
movq %rax, -0x1d8(%rbp)
leaq 0x2a075c(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x1d0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x1d8(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xf0a21
movq 0x12a5118(%rip), %rax   # 0x1395b40
movq %rax, -0x198(%rbp)
movq -0x190(%rbp), %rdi
movq -0x198(%rbp), %rsi
callq 0x19ad0
cmpl $0x0, %eax
sete %al
andb $0x1, %al
movb %al, -0x1d9(%rbp)
testb $0x1, -0x1d9(%rbp)
je 0xf0d25
callq 0x73060
movl %eax, -0x210(%rbp)
movq %rdx, -0x208(%rbp)
callq 0xf2070
movl %eax, -0x220(%rbp)
movq %rdx, -0x218(%rbp)
movl -0x210(%rbp), %edi
movq -0x208(%rbp), %rsi
movl -0x220(%rbp), %edx
movq -0x218(%rbp), %rcx
callq 0x749a0
movl %eax, -0x230(%rbp)
movq %rdx, -0x228(%rbp)
movl -0x60(%rbp), %edi
movq -0x58(%rbp), %rsi
callq 0x6f140
movq %rax, -0x240(%rbp)
movq %rdx, -0x238(%rbp)
movq -0x238(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xf0ba2
movl -0x60(%rbp), %edi
movq -0x58(%rbp), %rsi
callq 0x6f140
movq %rax, -0x250(%rbp)
movq %rdx, -0x248(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x250(%rbp), %rax
cmpq $0x0, %rax
je 0xf0ba2
movl -0x60(%rbp), %edi
movq -0x58(%rbp), %rsi
callq 0x6f140
movq %rax, -0x260(%rbp)
movq %rdx, -0x258(%rbp)
movq -0x260(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xf0ba2
movl -0x60(%rbp), %edi
movq -0x58(%rbp), %rsi
callq 0x6f140
movq %rax, -0x270(%rbp)
movq %rdx, -0x268(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x270(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xf0ba0
movl -0x60(%rbp), %edi
movq -0x58(%rbp), %rsi
callq 0x6f140
movq %rax, -0x280(%rbp)
movq %rdx, -0x278(%rbp)
movq -0x280(%rbp), %rdi
movq -0x278(%rbp), %rsi
callq 0x127c0
jmp 0xf0ba2
jmp 0xf0ba4
callq 0x73060
movl %eax, -0x290(%rbp)
movq %rdx, -0x288(%rbp)
callq 0xf2070
movl %eax, -0x2a0(%rbp)
movq %rdx, -0x298(%rbp)
movl -0x290(%rbp), %edi
movq -0x288(%rbp), %rsi
movl -0x2a0(%rbp), %edx
movq -0x298(%rbp), %rcx
callq 0x749a0
movl %eax, -0x2b0(%rbp)
movq %rdx, -0x2a8(%rbp)
movl -0x78(%rbp), %edi
movq -0x70(%rbp), %rsi
callq 0x6f140
movq %rax, -0x2c0(%rbp)
movq %rdx, -0x2b8(%rbp)
movq -0x2b8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xf0ce9
movl -0x78(%rbp), %edi
movq -0x70(%rbp), %rsi
callq 0x6f140
movq %rax, -0x2d0(%rbp)
movq %rdx, -0x2c8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x2d0(%rbp), %rax
cmpq $0x0, %rax
je 0xf0ce9
movl -0x78(%rbp), %edi
movq -0x70(%rbp), %rsi
callq 0x6f140
movq %rax, -0x2e0(%rbp)
movq %rdx, -0x2d8(%rbp)
movq -0x2e0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xf0ce9
movl -0x78(%rbp), %edi
movq -0x70(%rbp), %rsi
callq 0x6f140
movq %rax, -0x2f0(%rbp)
movq %rdx, -0x2e8(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x2f0(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xf0ce7
movl -0x78(%rbp), %edi
movq -0x70(%rbp), %rsi
callq 0x6f140
movq %rax, -0x300(%rbp)
movq %rdx, -0x2f8(%rbp)
movq -0x300(%rbp), %rdi
movq -0x2f8(%rbp), %rsi
callq 0x127c0
jmp 0xf0ce9
jmp 0xf0ceb
movq -0x2b0(%rbp), %rax
movq %rax, -0x200(%rbp)
movq -0x2a8(%rbp), %rax
movq %rax, -0x1f8(%rbp)
movq -0x230(%rbp), %rax
movq %rax, -0x1f0(%rbp)
movq -0x228(%rbp), %rax
movq %rax, -0x1e8(%rbp)
jmp 0xf0d51
movq -0x78(%rbp), %rax
movq %rax, -0x200(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x1f8(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x1f0(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x1e8(%rbp)
movq -0x1f0(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x1e8(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x188(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x200(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x1f8(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xf0f20
jmp 0xf0db9
movl -0x90(%rbp), %edi
movq -0x88(%rbp), %rsi
callq 0x59830
movq %rax, -0x310(%rbp)
movq %rdx, -0x308(%rbp)
movq -0x308(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xf0ecc
movl -0x90(%rbp), %edi
movq -0x88(%rbp), %rsi
callq 0x59830
movq %rax, -0x320(%rbp)
movq %rdx, -0x318(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x320(%rbp), %rax
cmpq $0x0, %rax
je 0xf0ecc
movl -0x90(%rbp), %edi
movq -0x88(%rbp), %rsi
callq 0x59830
movq %rax, -0x330(%rbp)
movq %rdx, -0x328(%rbp)
movq -0x330(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xf0ecc
movl -0x90(%rbp), %edi
movq -0x88(%rbp), %rsi
callq 0x59830
movq %rax, -0x340(%rbp)
movq %rdx, -0x338(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x340(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xf0eca
movl -0x90(%rbp), %edi
movq -0x88(%rbp), %rsi
callq 0x59830
movq %rax, -0x350(%rbp)
movq %rdx, -0x348(%rbp)
movq -0x350(%rbp), %rdi
movq -0x348(%rbp), %rsi
callq 0x127c0
jmp 0xf0ecc
jmp 0xf0ece
movq -0x60(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0xb0(%rbp), %rdi
movq -0xa8(%rbp), %rsi
leaq -0x358(%rbp), %rdx
callq 0xa8440
movq %rax, -0x360(%rbp)
movq -0x360(%rbp), %rax
movq %rax, -0x370(%rbp)
leaq 0x2a01ba(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x368(%rbp)
movq -0x368(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xf1016
movq -0x360(%rbp), %rax
movq %rax, -0x380(%rbp)
leaq 0x2a0185(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x378(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x380(%rbp), %rax
cmpq $0x0, %rax
je 0xf1016
movq -0x360(%rbp), %rax
movq %rax, -0x390(%rbp)
leaq 0x2a014e(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x388(%rbp)
movq -0x390(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xf1016
movq -0x360(%rbp), %rax
movq %rax, -0x3a0(%rbp)
leaq 0x2a011d(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x398(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x3a0(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xf1018
movq 0x27da31(%rip), %rax    # 0x36ea50
movq %rax, -0x3a8(%rbp)
movq -0x360(%rbp), %rax
movq %rax, -0x3b0(%rbp)
movq -0x3a8(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movq -0x3b8(%rbp), %rdi
movq -0x3b0(%rbp), %rsi
callq 0xae20
andb $0x1, %al
movb %al, -0x3b9(%rbp)
movq -0x358(%rbp), %rax
movq %rax, -0x3c8(%rbp)
movq -0xc0(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movq -0xb8(%rbp), %rax
movq %rax, -0x3d0(%rbp)
movq -0x360(%rbp), %rax
movq %rax, -0x3e0(%rbp)
movb -0x3b9(%rbp), %al
andb $0x1, %al
movb %al, -0x3e1(%rbp)
testb $0x1, -0x3e1(%rbp)
je 0xf155f
movq -0x3c8(%rbp), %rax
movq %rax, -0x3f0(%rbp)
movq -0x3d8(%rbp), %rax
movq %rax, -0x400(%rbp)
movq -0x3d0(%rbp), %rax
movq %rax, -0x3f8(%rbp)
movq -0x3e0(%rbp), %rax
movq %rax, -0x408(%rbp)
movq -0x3f0(%rbp), %rdi
leaq -0x410(%rbp), %rsi
callq 0xf20a0
movq %rax, -0x418(%rbp)
movq -0x418(%rbp), %rdi
callq 0xaf380
movl %eax, -0x428(%rbp)
movq %rdx, -0x420(%rbp)
movl -0x400(%rbp), %edi
movq -0x3f8(%rbp), %rsi
movl -0x428(%rbp), %edx
movq -0x420(%rbp), %rcx
callq 0x73db0
movl %eax, -0x438(%rbp)
movq %rdx, -0x430(%rbp)
movq 0x27d90a(%rip), %rax    # 0x36ea58
movq %rax, -0x440(%rbp)
movq -0x408(%rbp), %rax
movq %rax, -0x448(%rbp)
movq -0x440(%rbp), %rax
movq %rax, -0x450(%rbp)
movq -0x448(%rbp), %rdi
movq -0x450(%rbp), %rsi
callq 0x1c670
movq %rax, -0x458(%rbp)
movq -0x458(%rbp), %rax
movq %rax, -0x468(%rbp)
leaq 0x2a0288(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x460(%rbp)
movq -0x460(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xf1260
movq -0x458(%rbp), %rax
movq %rax, -0x478(%rbp)
leaq 0x2a0253(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x470(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x478(%rbp), %rax
cmpq $0x0, %rax
je 0xf1260
movq -0x458(%rbp), %rax
movq %rax, -0x488(%rbp)
leaq 0x2a021c(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x480(%rbp)
movq -0x488(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xf1260
movq -0x458(%rbp), %rax
movq %rax, -0x498(%rbp)
leaq 0x2a01eb(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x490(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x498(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xf1262
movq 0x27d7e7(%rip), %rax    # 0x36ea50
movq %rax, -0x4a0(%rbp)
movq -0x4a0(%rbp), %rax
movq %rax, -0x4a8(%rbp)
movq -0x4a8(%rbp), %rdi
movq -0x458(%rbp), %rsi
callq 0x1c1b0
andb $0x1, %al
movb %al, -0x4a9(%rbp)
testb $0x1, -0x4a9(%rbp)
je 0xf12c3
movq -0x458(%rbp), %rax
movq %rax, -0x4c0(%rbp)
movq -0x4c0(%rbp), %rax
movq %rax, -0x4b8(%rbp)
jmp 0xf13f6
jmp 0xf12c5
movq -0x458(%rbp), %rax
movq %rax, -0x4d0(%rbp)
leaq 0x2a014e(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x4c8(%rbp)
movq -0x4c8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xf13d8
movq -0x458(%rbp), %rax
movq %rax, -0x4e0(%rbp)
leaq 0x2a0119(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x4d8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x4e0(%rbp), %rax
cmpq $0x0, %rax
je 0xf13d8
movq -0x458(%rbp), %rax
movq %rax, -0x4f0(%rbp)
leaq 0x2a00de(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x4e8(%rbp)
movq -0x4f0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xf13d8
movq -0x458(%rbp), %rax
movq %rax, -0x500(%rbp)
leaq 0x2a00ad(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x4f8(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x500(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xf13d6
movq -0x458(%rbp), %rax
movq %rax, -0x510(%rbp)
leaq 0x2a0070(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x508(%rbp)
movq -0x510(%rbp), %rdi
movq -0x508(%rbp), %rsi
callq 0x127c0
jmp 0xf13d8
jmp 0xf13da
movq 0x27d66f(%rip), %rax    # 0x36ea50
movq %rax, -0x518(%rbp)
movq -0x518(%rbp), %rax
movq %rax, -0x4b8(%rbp)
jmp 0xf13f8
movq -0x4b8(%rbp), %rax
movq %rax, -0x528(%rbp)
leaq 0x29fd03(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x520(%rbp)
movq -0x520(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xf14cd
movq -0x4b8(%rbp), %rax
movq %rax, -0x538(%rbp)
leaq 0x29fcce(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x530(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x538(%rbp), %rax
cmpq $0x0, %rax
je 0xf14cd
movq -0x4b8(%rbp), %rax
movq %rax, -0x548(%rbp)
leaq 0x29fc97(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x540(%rbp)
movq -0x548(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xf14cd
movq -0x4b8(%rbp), %rax
movq %rax, -0x558(%rbp)
leaq 0x29fc66(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x550(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x558(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xf14cf
movq 0x27d57a(%rip), %rax    # 0x36ea50
movq %rax, -0x560(%rbp)
movq -0x4b8(%rbp), %rax
movq %rax, -0x568(%rbp)
movq -0x560(%rbp), %rax
movq %rax, -0x570(%rbp)
movq -0x570(%rbp), %rdi
movq -0x568(%rbp), %rsi
callq 0xae20
andb $0x1, %al
movb %al, -0x571(%rbp)
movb -0x571(%rbp), %al
andb $0x1, %al
movb %al, -0x3e1(%rbp)
movq -0x4b8(%rbp), %rax
movq %rax, -0x3e0(%rbp)
movq -0x438(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movq -0x430(%rbp), %rax
movq %rax, -0x3d0(%rbp)
movq -0x410(%rbp), %rax
movq %rax, -0x3c8(%rbp)
jmp 0xf10a3
jmp 0xf1561
movq -0x3e0(%rbp), %rax
movq %rax, -0x588(%rbp)
leaq 0x29fb9a(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x580(%rbp)
movq -0x580(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xf1674
movq -0x3e0(%rbp), %rax
movq %rax, -0x598(%rbp)
leaq 0x29fb65(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x590(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x598(%rbp), %rax
cmpq $0x0, %rax
je 0xf1674
movq -0x3e0(%rbp), %rax
movq %rax, -0x5a8(%rbp)
leaq 0x29fb2a(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x5a0(%rbp)
movq -0x5a8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xf1674
movq -0x3e0(%rbp), %rax
movq %rax, -0x5b8(%rbp)
leaq 0x29faf9(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x5b0(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x5b8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xf1672
movq -0x3e0(%rbp), %rax
movq %rax, -0x5c8(%rbp)
leaq 0x29fabc(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x5c0(%rbp)
movq -0x5c8(%rbp), %rdi
movq -0x5c0(%rbp), %rsi
callq 0x127c0
jmp 0xf1674
jmp 0xf1676
movl -0x3d8(%rbp), %edi
movq -0x3d0(%rbp), %rsi
movl -0xa0(%rbp), %edx
movq -0x98(%rbp), %rcx
callq 0x735b0
movq %rax, -0x5d0(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq %rax, -0x5e0(%rbp)
movq %rdx, -0x5d8(%rbp)
movq -0x5d8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xf1759
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq %rax, -0x5f0(%rbp)
movq %rdx, -0x5e8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x5f0(%rbp), %rax
cmpq $0x0, %rax
je 0xf1759
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq %rax, -0x600(%rbp)
movq %rdx, -0x5f8(%rbp)
movq -0x600(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xf1759
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq %rax, -0x610(%rbp)
movq %rdx, -0x608(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x610(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xf175b
jmp 0xf175d
movq -0x5d0(%rbp), %rax
movq %rax, -0x620(%rbp)
leaq 0x2a0496(%rip), %rax    # 0x391c08
orq $0x1, %rax
movq %rax, -0x618(%rbp)
movq -0x618(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xf1832
movq -0x5d0(%rbp), %rax
movq %rax, -0x630(%rbp)
leaq 0x2a0461(%rip), %rax    # 0x391c08
orq $0x1, %rax
movq %rax, -0x628(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x630(%rbp), %rax
cmpq $0x0, %rax
je 0xf1832
movq -0x5d0(%rbp), %rax
movq %rax, -0x640(%rbp)
leaq 0x2a042a(%rip), %rax    # 0x391c08
orq $0x1, %rax
movq %rax, -0x638(%rbp)
movq -0x640(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xf1832
movq -0x5d0(%rbp), %rax
movq %rax, -0x650(%rbp)
leaq 0x2a03f9(%rip), %rax    # 0x391c08
orq $0x1, %rax
movq %rax, -0x648(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x650(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xf1834
movl $0x2, %edi
callq 0x1a7d0
movq %rax, -0x658(%rbp)
movq -0x658(%rbp), %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
movw $0x2, 0x6(%rax)
movq -0x658(%rbp), %rax
andq %rcx, %rax
movq -0x5d0(%rbp), %rdx
movq %rdx, -0x668(%rbp)
leaq 0x2a038a(%rip), %rdx    # 0x391c08
orq $0x1, %rdx
movq %rdx, -0x660(%rbp)
movups -0x668(%rbp), %xmm0
movups %xmm0, 0x18(%rax)
movq -0x658(%rbp), %rax
andq %rcx, %rax
movq %rax, -0x6e0(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq %rax, %rcx
movq -0x6e0(%rbp), %rax
movq %rcx, -0x678(%rbp)
movq %rdx, -0x670(%rbp)
movups -0x678(%rbp), %xmm0
movups %xmm0, 0x8(%rax)
movq -0xa8(%rbp), %rdi
callq 0xaaa70
movl %eax, -0x688(%rbp)
movq %rdx, -0x680(%rbp)
movq -0x3c8(%rbp), %rdi
movq -0x658(%rbp), %rax
movq %rax, -0x6a8(%rbp)
leaq 0x29fa8f(%rip), %rax    # 0x391398
orq $0x1, %rax
movq %rax, -0x6a0(%rbp)
movq -0x6a8(%rbp), %rsi
movq -0x6a0(%rbp), %rdx
movl -0x688(%rbp), %ecx
movq -0x680(%rbp), %r8
leaq -0x690(%rbp), %r9
callq 0x70840
movq %rax, -0x698(%rbp)
movq -0xa8(%rbp), %rsi
leaq 0x12a3ea0(%rip), %rdi   # 0x13957f0
callq 0x40d30
movq %rax, -0x6b0(%rbp)
movq -0x698(%rbp), %rax
movq %rax, -0x6c0(%rbp)
leaq 0x29feef(%rip), %rax    # 0x391860
orq $0x1, %rax
movq %rax, -0x6b8(%rbp)
movq -0x6b0(%rbp), %rdx
movq -0x6c0(%rbp), %rdi
movq -0x6b8(%rbp), %rsi
callq 0x431a0
movb $0x1, -0x6c1(%rbp)
movq -0x690(%rbp), %rdi
movq -0xa8(%rbp), %rdx
movzbl -0x6c1(%rbp), %esi
andl $0x1, %esi
leaq -0x6d0(%rbp), %rcx
callq 0xf2110
movq -0x5d0(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, (%rax)
movq -0xa8(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x6d0(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x6e0, %rsp            # imm = 0x6E0
popq %rbp
retq
nopl (%rax,%rax)