// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_resolvezedefzenamespace
static struct std_maybe_Maybe_1 mw_mirth_elab_resolvezedefzenamespace (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct std_either_Either_2 in_Either_3, bool in_Bool_4, struct mirth_mirth_zaMirth* *out_zaMirth_5) {
	STR* v7;
	STRLIT(v7, "namespace", 9);
	bool v8 = false;
	struct mirth_mirth_zaMirth* v9;
	struct mirth_elab_zaResolveDef* v10;
	mw_mirth_elab_zaResolveDef_Beginzx(v7, in_Token_2, in_Either_3, in_Bool_4, v8, in_zaMirth_1, &v9, &v10);
	struct std_list_List_1 v11 = v10->mcandidates;
	incref(MK_std_list_List_1(v11));
	struct std_list_List_1 v12 = { .tag=std_list_List_1_Nil };
	struct std_list_List_1 v13 = { .tag=std_list_List_1_Nil };
	bool v14 = true;
	struct mirth_mirth_zaMirth* r15 = v9;
	struct mirth_elab_zaResolveDef* r16 = v10;
	struct std_list_List_1 v17 = v12;
	struct std_list_List_1 v18 = v13;
	struct std_list_List_1 v19 = v11;
	bool v20 = v14;
	bool v21 = v14;
	while (v21) {
		struct mirth_mirth_zaMirth* r22 = r15;
		struct mirth_elab_zaResolveDef* r23 = r16;
		struct std_list_List_1 v24 = v17;
		struct std_list_List_1 v25 = v18;
		struct std_list_List_1 v26 = v19;
		bool v27 = v20;
		struct mirth_mirth_zaMirth* branch_zaMirth_28;
		VAL branch_zux1_29;
		struct std_list_List_1 branch_List_30;
		struct std_list_List_1 branch_List_31;
		struct std_list_List_1 branch_List_32;
		bool branch_Bool_33;
		switch ((v26).tag) {
			case std_list_List_1_Cons: {
				struct std_list_List_1 v34;
				VAL v35 = mtp_std_list_List_1_Cons(v26, &v34);
				incref(v35);
				struct mirth_mirth_zaMirth* v36;
				struct std_maybe_Maybe_1 v37 = mw_mirth_def_Def_aszedefzenamespacezy(r22, V_mirth_def_Def(v35), &v36);
				int64_t v38 = (v37).tag;
				decref(MK_std_maybe_Maybe_1(v37));
				INT v39 = WRAP_I63(0LL);
				INT v40 = v39;
				INT v41 = i64_to_int(v38);
				bool v42 = int_eq(v41, v40);
				bool v43 = !v42;
				struct mirth_mirth_zaMirth* branch_zaMirth_44;
				VAL branch_zux1_45;
				struct std_either_Either_2 branch_Either_46;
				if (v43) {
					struct std_either_Either_2 v47 = mtw_std_either_Either_2_Right(v35);
					branch_Either_46 = v47;
					branch_zux1_45 = MK_mirth_elab_zaResolveDef(r23);
					branch_zaMirth_44 = v36;
				} else {
					struct mirth_elab_RejectedDef v48 = mtw_mirth_elab_RejectedDef_WrongSort(V_mirth_def_Def(v35));
					struct std_either_Either_2 v49 = mtw_std_either_Either_2_Left(MK_mirth_elab_RejectedDef(v48));
					branch_Either_46 = v49;
					branch_zux1_45 = MK_mirth_elab_zaResolveDef(r23);
					branch_zaMirth_44 = v36;
				}
				struct mirth_mirth_zaMirth* branch_zaMirth_50;
				VAL branch_zux1_51;
				struct std_list_List_1 branch_List_52;
				struct std_list_List_1 branch_List_53;
				switch ((branch_Either_46).tag) {
					case std_either_Either_2_Left: {
						VAL v54 = mtp_std_either_Either_2_Left(branch_Either_46);
						struct std_list_List_1 v55 = mw_std_list_List_1_cons(v54, v24);
						branch_List_53 = v25;
						branch_List_52 = v55;
						branch_zux1_51 = branch_zux1_45;
						branch_zaMirth_50 = branch_zaMirth_44;
					} break;
					case std_either_Either_2_Right: {
						VAL v56 = mtp_std_either_Either_2_Right(branch_Either_46);
						struct std_list_List_1 v57 = mw_std_list_List_1_cons(v56, v25);
						branch_List_53 = v57;
						branch_List_52 = v24;
						branch_zux1_51 = branch_zux1_45;
						branch_zaMirth_50 = branch_zaMirth_44;
					} break;
					default: {
						do_panic(str_make("unexpected fallthrough in match\n", 32));
					}
				}
				bool v58 = true;
				branch_Bool_33 = v58;
				branch_List_32 = v34;
				branch_List_31 = branch_List_53;
				branch_List_30 = branch_List_52;
				branch_zux1_29 = branch_zux1_51;
				branch_zaMirth_28 = branch_zaMirth_50;
			} break;
			case std_list_List_1_Nil: {
				struct std_list_List_1 v59 = { .tag=std_list_List_1_Nil };
				bool v60 = false;
				branch_Bool_33 = v60;
				branch_List_32 = v59;
				branch_List_31 = v25;
				branch_List_30 = v24;
				branch_zux1_29 = MK_mirth_elab_zaResolveDef(r23);
				branch_zaMirth_28 = r22;
			} break;
			default: {
				do_panic(str_make("unexpected fallthrough in match\n", 32));
			}
		}
		v21 = branch_Bool_33;
		v20 = branch_Bool_33;
		v19 = branch_List_32;
		v18 = branch_List_31;
		v17 = branch_List_30;
		r16 = V_mirth_elab_zaResolveDef(branch_zux1_29);
		r15 = branch_zaMirth_28;
	}
	decref(MK_std_list_List_1(v19));
	struct std_list_List_1 v61 = mw_std_list_List_1_reverse(v17);
	struct std_list_List_1 v62 = mw_std_list_List_1_reverse(v18);
	struct std_list_List_1 v63 = r16->mrejected;
	incref(MK_std_list_List_1(v63));
	struct std_list_List_1 v64 = mw_std_list_List_1_cat(v61, v63);
	struct std_list_List_1 v65 = r16->mrejected;
	decref(MK_std_list_List_1(v65));
	r16->mrejected = v64;
	struct std_list_List_1 v66 = r16->mcandidates;
	decref(MK_std_list_List_1(v66));
	r16->mcandidates = v62;
	struct mirth_mirth_zaMirth* v67;
	struct mirth_elab_zaResolveDef* v68;
	mw_mirth_elab_zaResolveDef_filterzequalifiers(r15, r16, &v67, &v68);
	struct std_list_List_1 v69 = { .tag=std_list_List_1_Nil };
	struct mirth_mirth_zaMirth* v70;
	struct mirth_elab_zaResolveDef* v71;
	mw_mirth_elab_zaResolveDef_filterzeroots(v67, v68, v69, &v70, &v71);
	struct mirth_mirth_zaMirth* v72;
	struct std_maybe_Maybe_1 v73 = mw_mirth_elab_zaResolveDef_endzx(v70, v71, &v72);
	struct mirth_mirth_zaMirth* v74;
	struct std_maybe_Maybe_1 v75 = mw_std_maybe_Maybe_1_bind_1_sp16(v72, v73, &v74);
	*out_zaMirth_5 = v74;
	return v75;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x610, %rsp            # imm = 0x610
movb %r8b, %al
movl %edx, -0x20(%rbp)
movq %rcx, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %rsi, -0x30(%rbp)
andb $0x1, %al
movb %al, -0x31(%rbp)
movq %r9, -0x40(%rbp)
cmpq $0x0, 0x131978a(%rip)   # 0x1395548
jne 0x7bdd8
leaq 0x2daf0b(%rip), %rdi    # 0x356cd2
movl $0x9, %esi
callq 0xb6c0
movq %rax, 0x1319770(%rip)   # 0x1395548
jmp 0x7bdda
movq 0x1319767(%rip), %rax   # 0x1395548
movq %rax, -0x58(%rbp)
leaq 0x31536c(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x7be91
movq 0x131973b(%rip), %rax   # 0x1395548
movq %rax, -0x68(%rbp)
leaq 0x315340(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
cmpq $0x0, %rax
je 0x7be91
movq 0x131970d(%rip), %rax   # 0x1395548
movq %rax, -0x78(%rbp)
leaq 0x315312(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x78(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x7be91
movq 0x13196e5(%rip), %rax   # 0x1395548
movq %rax, -0x88(%rbp)
leaq 0x3152e7(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x7be93
movq 0x13196ae(%rip), %rax   # 0x1395548
movq %rax, -0x48(%rbp)
movb $0x0, -0x89(%rbp)
movq -0x48(%rbp), %rdi
movq -0x30(%rbp), %rsi
movb -0x31(%rbp), %r8b
movb -0x89(%rbp), %r9b
movq -0x28(%rbp), %r11
movl -0x20(%rbp), %edx
movq -0x18(%rbp), %rcx
leaq -0x98(%rbp), %r10
leaq -0xa0(%rbp), %rax
andb $0x1, %r8b
andb $0x1, %r9b
movzbl %r8b, %r8d
movzbl %r9b, %r9d
movq %r11, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0x7ce70
movq -0xa0(%rbp), %rax
movq 0x20(%rax), %rcx
movq %rcx, -0xb0(%rbp)
movq 0x28(%rax), %rax
movq %rax, -0xa8(%rbp)
movl -0xb0(%rbp), %edi
movq -0xa8(%rbp), %rsi
callq 0x12780
movq %rax, -0xc0(%rbp)
movq %rdx, -0xb8(%rbp)
movq -0xb8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x7bfe6
movl -0xb0(%rbp), %edi
movq -0xa8(%rbp), %rsi
callq 0x12780
movq %rax, -0xd0(%rbp)
movq %rdx, -0xc8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xd0(%rbp), %rax
cmpq $0x0, %rax
je 0x7bfe6
movl -0xb0(%rbp), %edi
movq -0xa8(%rbp), %rsi
callq 0x12780
movq %rax, -0xe0(%rbp)
movq %rdx, -0xd8(%rbp)
movq -0xe0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x7bfe6
movl -0xb0(%rbp), %edi
movq -0xa8(%rbp), %rsi
callq 0x12780
movq %rax, -0xf0(%rbp)
movq %rdx, -0xe8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xf0(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x7bfe8
leaq -0x100(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
leaq -0x110(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movb $0x1, -0x111(%rbp)
movq -0x98(%rbp), %rax
movq %rax, -0x120(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x128(%rbp)
movq -0x100(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0xf8(%rbp), %rax
movq %rax, -0x130(%rbp)
movq -0x110(%rbp), %rax
movq %rax, -0x148(%rbp)
movq -0x108(%rbp), %rax
movq %rax, -0x140(%rbp)
movq -0xb0(%rbp), %rax
movq %rax, -0x158(%rbp)
movq -0xa8(%rbp), %rax
movq %rax, -0x150(%rbp)
movb -0x111(%rbp), %al
andb $0x1, %al
movb %al, -0x159(%rbp)
movb -0x111(%rbp), %al
andb $0x1, %al
movb %al, -0x15a(%rbp)
testb $0x1, -0x15a(%rbp)
je 0x7c899
movq -0x120(%rbp), %rax
movq %rax, -0x168(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x170(%rbp)
movups -0x138(%rbp), %xmm0
movaps %xmm0, -0x180(%rbp)
movups -0x148(%rbp), %xmm0
movaps %xmm0, -0x190(%rbp)
movups -0x158(%rbp), %xmm0
movaps %xmm0, -0x1a0(%rbp)
movb -0x159(%rbp), %al
andb $0x1, %al
movb %al, -0x1a1(%rbp)
movl -0x1a0(%rbp), %eax
movl %eax, -0x5e4(%rbp)
testl %eax, %eax
je 0x7c72b
jmp 0x7c118
movl -0x5e4(%rbp), %eax
subl $0x1, %eax
jne 0x7c7ef
jmp 0x7c129
movl -0x1a0(%rbp), %edi
movq -0x198(%rbp), %rsi
leaq -0x208(%rbp), %rdx
callq 0x125e0
movq %rax, -0x218(%rbp)
movq %rdx, -0x210(%rbp)
movq -0x210(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x7c1a1
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x218(%rbp), %rax
cmpq $0x0, %rax
je 0x7c1a1
movq -0x218(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x7c1a1
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x218(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x7c1a3
movq -0x168(%rbp), %rax
movq %rax, -0x5f0(%rbp)
movq -0x218(%rbp), %rdi
movq -0x210(%rbp), %rsi
callq 0x452c0
movq -0x5f0(%rbp), %rdi
movl %eax, -0x240(%rbp)
movq %rdx, -0x238(%rbp)
movl -0x240(%rbp), %esi
movq -0x238(%rbp), %rdx
leaq -0x220(%rbp), %rcx
callq 0x7d390
movl %eax, -0x230(%rbp)
movq %rdx, -0x228(%rbp)
movl -0x230(%rbp), %eax
movq %rax, -0x248(%rbp)
movl -0x230(%rbp), %edi
movq -0x228(%rbp), %rsi
callq 0x133a0
movq %rax, -0x258(%rbp)
movq %rdx, -0x250(%rbp)
movq -0x250(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x7c31e
movl -0x230(%rbp), %edi
movq -0x228(%rbp), %rsi
callq 0x133a0
movq %rax, -0x268(%rbp)
movq %rdx, -0x260(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x268(%rbp), %rax
cmpq $0x0, %rax
je 0x7c31e
movl -0x230(%rbp), %edi
movq -0x228(%rbp), %rsi
callq 0x133a0
movq %rax, -0x278(%rbp)
movq %rdx, -0x270(%rbp)
movq -0x278(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x7c31e
movl -0x230(%rbp), %edi
movq -0x228(%rbp), %rsi
callq 0x133a0
movq %rax, -0x288(%rbp)
movq %rdx, -0x280(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x288(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x7c31c
movl -0x230(%rbp), %edi
movq -0x228(%rbp), %rsi
callq 0x133a0
movq %rax, -0x298(%rbp)
movq %rdx, -0x290(%rbp)
movq -0x298(%rbp), %rdi
movq -0x290(%rbp), %rsi
callq 0x127c0
jmp 0x7c31e
jmp 0x7c320
movq 0x2f2729(%rip), %rax    # 0x36ea50
movq %rax, -0x2a0(%rbp)
movq -0x2a0(%rbp), %rax
movq %rax, -0x2a8(%rbp)
movq -0x248(%rbp), %rdi
callq 0x1a290
movq %rax, -0x2b0(%rbp)
movq -0x2b0(%rbp), %rdi
movq -0x2a8(%rbp), %rsi
callq 0x194b0
andb $0x1, %al
movb %al, -0x2b1(%rbp)
movb -0x2b1(%rbp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, -0x2b2(%rbp)
testb $0x1, -0x2b2(%rbp)
je 0x7c40e
movq -0x218(%rbp), %rdi
movq -0x210(%rbp), %rsi
callq 0x73fe0
movl %eax, -0x2f0(%rbp)
movq %rdx, -0x2e8(%rbp)
movq -0x2f0(%rbp), %rax
movq %rax, -0x2e0(%rbp)
movq -0x2e8(%rbp), %rax
movq %rax, -0x2d8(%rbp)
movq -0x170(%rbp), %rax
movq %rax, -0x300(%rbp)
leaq 0x315c20(%rip), %rax    # 0x391ff8
movq %rax, -0x2f8(%rbp)
movq -0x300(%rbp), %rax
movq %rax, -0x2d0(%rbp)
movq -0x2f8(%rbp), %rax
movq %rax, -0x2c8(%rbp)
movq -0x220(%rbp), %rax
movq %rax, -0x2c0(%rbp)
jmp 0x7c4ef
movq -0x218(%rbp), %rdi
movq -0x210(%rbp), %rsi
callq 0x452c0
movl %eax, -0x320(%rbp)
movq %rdx, -0x318(%rbp)
movl -0x320(%rbp), %edi
movq -0x318(%rbp), %rsi
callq 0x7d4e0
movl %eax, -0x310(%rbp)
movq %rdx, -0x308(%rbp)
movl -0x310(%rbp), %edi
movq -0x308(%rbp), %rsi
callq 0x7d570
movq %rax, -0x340(%rbp)
movq %rdx, -0x338(%rbp)
movq -0x340(%rbp), %rdi
movq -0x338(%rbp), %rsi
callq 0x73f50
movl %eax, -0x330(%rbp)
movq %rdx, -0x328(%rbp)
movq -0x330(%rbp), %rax
movq %rax, -0x2e0(%rbp)
movq -0x328(%rbp), %rax
movq %rax, -0x2d8(%rbp)
movq -0x170(%rbp), %rax
movq %rax, -0x350(%rbp)
leaq 0x315b3a(%rip), %rax    # 0x391ff8
movq %rax, -0x348(%rbp)
movq -0x350(%rbp), %rax
movq %rax, -0x2d0(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x2c8(%rbp)
movq -0x220(%rbp), %rax
movq %rax, -0x2c0(%rbp)
movl -0x2e0(%rbp), %eax
movl %eax, -0x5f4(%rbp)
testl %eax, %eax
je 0x7c515
jmp 0x7c501
movl -0x5f4(%rbp), %eax
subl $0x1, %eax
je 0x7c5c9
jmp 0x7c67a
movl -0x2e0(%rbp), %edi
movq -0x2d8(%rbp), %rsi
callq 0x74840
movq %rax, -0x398(%rbp)
movq %rdx, -0x390(%rbp)
movq -0x398(%rbp), %rdi
movq -0x390(%rbp), %rsi
movl -0x180(%rbp), %edx
movq -0x178(%rbp), %rcx
callq 0x12740
movl %eax, -0x3a8(%rbp)
movq %rdx, -0x3a0(%rbp)
movq -0x190(%rbp), %rax
movq %rax, -0x388(%rbp)
movq -0x188(%rbp), %rax
movq %rax, -0x380(%rbp)
movq -0x3a8(%rbp), %rax
movq %rax, -0x378(%rbp)
movq -0x3a0(%rbp), %rax
movq %rax, -0x370(%rbp)
movq -0x2d0(%rbp), %rax
movq %rax, -0x368(%rbp)
movq -0x2c8(%rbp), %rax
movq %rax, -0x360(%rbp)
movq -0x2c0(%rbp), %rax
movq %rax, -0x358(%rbp)
jmp 0x7c693
movl -0x2e0(%rbp), %edi
movq -0x2d8(%rbp), %rsi
callq 0x748f0
movq %rax, -0x3b8(%rbp)
movq %rdx, -0x3b0(%rbp)
movq -0x3b8(%rbp), %rdi
movq -0x3b0(%rbp), %rsi
movl -0x190(%rbp), %edx
movq -0x188(%rbp), %rcx
callq 0x12740
movl %eax, -0x3c8(%rbp)
movq %rdx, -0x3c0(%rbp)
movq -0x3c8(%rbp), %rax
movq %rax, -0x388(%rbp)
movq -0x3c0(%rbp), %rax
movq %rax, -0x380(%rbp)
movq -0x180(%rbp), %rax
movq %rax, -0x378(%rbp)
movq -0x178(%rbp), %rax
movq %rax, -0x370(%rbp)
movq -0x2d0(%rbp), %rax
movq %rax, -0x368(%rbp)
movq -0x2c8(%rbp), %rax
movq %rax, -0x360(%rbp)
movq -0x2c0(%rbp), %rax
movq %rax, -0x358(%rbp)
jmp 0x7c693
leaq 0x2d7800(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movb $0x1, -0x3c9(%rbp)
movb -0x3c9(%rbp), %al
andb $0x1, %al
movb %al, -0x1f1(%rbp)
movq -0x208(%rbp), %rax
movq %rax, -0x1f0(%rbp)
movq -0x200(%rbp), %rax
movq %rax, -0x1e8(%rbp)
movq -0x388(%rbp), %rax
movq %rax, -0x1e0(%rbp)
movq -0x380(%rbp), %rax
movq %rax, -0x1d8(%rbp)
movq -0x378(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x370(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movq -0x368(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movq -0x360(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq -0x358(%rbp), %rax
movq %rax, -0x1b0(%rbp)
jmp 0x7c808
leaq -0x3e0(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movb $0x0, -0x3e1(%rbp)
movb -0x3e1(%rbp), %al
andb $0x1, %al
movb %al, -0x1f1(%rbp)
movq -0x3e0(%rbp), %rax
movq %rax, -0x1f0(%rbp)
movq -0x3d8(%rbp), %rax
movq %rax, -0x1e8(%rbp)
movq -0x190(%rbp), %rax
movq %rax, -0x1e0(%rbp)
movq -0x188(%rbp), %rax
movq %rax, -0x1d8(%rbp)
movq -0x180(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x178(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movq -0x170(%rbp), %rax
movq %rax, -0x3f8(%rbp)
leaq 0x31583c(%rip), %rax    # 0x391ff8
movq %rax, -0x3f0(%rbp)
movq -0x3f8(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movq -0x3f0(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq -0x168(%rbp), %rax
movq %rax, -0x1b0(%rbp)
jmp 0x7c808
leaq 0x2d768b(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movb -0x1f1(%rbp), %al
andb $0x1, %al
movb %al, -0x15a(%rbp)
movb -0x1f1(%rbp), %al
andb $0x1, %al
movb %al, -0x159(%rbp)
movq -0x1f0(%rbp), %rax
movq %rax, -0x158(%rbp)
movq -0x1e8(%rbp), %rax
movq %rax, -0x150(%rbp)
movq -0x1e0(%rbp), %rax
movq %rax, -0x148(%rbp)
movq -0x1d8(%rbp), %rax
movq %rax, -0x140(%rbp)
movq -0x1d0(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x1c8(%rbp), %rax
movq %rax, -0x130(%rbp)
movq -0x1c0(%rbp), %rax
movq %rax, -0x128(%rbp)
movq -0x1b0(%rbp), %rax
movq %rax, -0x120(%rbp)
jmp 0x7c0a1
jmp 0x7c89b
movl -0x158(%rbp), %edi
movq -0x150(%rbp), %rsi
callq 0x12780
movq %rax, -0x408(%rbp)
movq %rdx, -0x400(%rbp)
movq -0x400(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x7c9ae
movl -0x158(%rbp), %edi
movq -0x150(%rbp), %rsi
callq 0x12780
movq %rax, -0x418(%rbp)
movq %rdx, -0x410(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x418(%rbp), %rax
cmpq $0x0, %rax
je 0x7c9ae
movl -0x158(%rbp), %edi
movq -0x150(%rbp), %rsi
callq 0x12780
movq %rax, -0x428(%rbp)
movq %rdx, -0x420(%rbp)
movq -0x428(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x7c9ae
movl -0x158(%rbp), %edi
movq -0x150(%rbp), %rsi
callq 0x12780
movq %rax, -0x438(%rbp)
movq %rdx, -0x430(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x438(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x7c9ac
movl -0x158(%rbp), %edi
movq -0x150(%rbp), %rsi
callq 0x12780
movq %rax, -0x448(%rbp)
movq %rdx, -0x440(%rbp)
movq -0x448(%rbp), %rdi
movq -0x440(%rbp), %rsi
callq 0x127c0
jmp 0x7c9ae
jmp 0x7c9b0
movl -0x138(%rbp), %edi
movq -0x130(%rbp), %rsi
callq 0x122b0
movl %eax, -0x458(%rbp)
movq %rdx, -0x450(%rbp)
movl -0x148(%rbp), %edi
movq -0x140(%rbp), %rsi
callq 0x122b0
movl %eax, -0x468(%rbp)
movq %rdx, -0x460(%rbp)
movq -0x128(%rbp), %rax
movq 0x30(%rax), %rcx
movq %rcx, -0x478(%rbp)
movq 0x38(%rax), %rax
movq %rax, -0x470(%rbp)
movl -0x478(%rbp), %edi
movq -0x470(%rbp), %rsi
callq 0x12780
movq %rax, -0x488(%rbp)
movq %rdx, -0x480(%rbp)
movq -0x480(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x7cae0
movl -0x478(%rbp), %edi
movq -0x470(%rbp), %rsi
callq 0x12780
movq %rax, -0x498(%rbp)
movq %rdx, -0x490(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x498(%rbp), %rax
cmpq $0x0, %rax
je 0x7cae0
movl -0x478(%rbp), %edi
movq -0x470(%rbp), %rsi
callq 0x12780
movq %rax, -0x4a8(%rbp)
movq %rdx, -0x4a0(%rbp)
movq -0x4a8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x7cae0
movl -0x478(%rbp), %edi
movq -0x470(%rbp), %rsi
callq 0x12780
movq %rax, -0x4b8(%rbp)
movq %rdx, -0x4b0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x4b8(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x7cae2
movl -0x458(%rbp), %edi
movq -0x450(%rbp), %rsi
movl -0x478(%rbp), %edx
movq -0x470(%rbp), %rcx
callq 0x7d5b0
movl %eax, -0x4c8(%rbp)
movq %rdx, -0x4c0(%rbp)
movq -0x128(%rbp), %rax
movq 0x30(%rax), %rcx
movq %rcx, -0x4d8(%rbp)
movq 0x38(%rax), %rax
movq %rax, -0x4d0(%rbp)
movl -0x4d8(%rbp), %edi
movq -0x4d0(%rbp), %rsi
callq 0x12780
movq %rax, -0x4e8(%rbp)
movq %rdx, -0x4e0(%rbp)
movq -0x4e0(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x7cc3e
movl -0x4d8(%rbp), %edi
movq -0x4d0(%rbp), %rsi
callq 0x12780
movq %rax, -0x4f8(%rbp)
movq %rdx, -0x4f0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x4f8(%rbp), %rax
cmpq $0x0, %rax
je 0x7cc3e
movl -0x4d8(%rbp), %edi
movq -0x4d0(%rbp), %rsi
callq 0x12780
movq %rax, -0x508(%rbp)
movq %rdx, -0x500(%rbp)
movq -0x508(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x7cc3e
movl -0x4d8(%rbp), %edi
movq -0x4d0(%rbp), %rsi
callq 0x12780
movq %rax, -0x518(%rbp)
movq %rdx, -0x510(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x518(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x7cc3c
movl -0x4d8(%rbp), %edi
movq -0x4d0(%rbp), %rsi
callq 0x12780
movq %rax, -0x528(%rbp)
movq %rdx, -0x520(%rbp)
movq -0x528(%rbp), %rdi
movq -0x520(%rbp), %rsi
callq 0x127c0
jmp 0x7cc3e
jmp 0x7cc40
movq -0x128(%rbp), %rax
movq -0x4c8(%rbp), %rcx
movq %rcx, 0x30(%rax)
movq -0x4c0(%rbp), %rcx
movq %rcx, 0x38(%rax)
movq -0x128(%rbp), %rax
movq 0x20(%rax), %rcx
movq %rcx, -0x538(%rbp)
movq 0x28(%rax), %rax
movq %rax, -0x530(%rbp)
movl -0x538(%rbp), %edi
movq -0x530(%rbp), %rsi
callq 0x12780
movq %rax, -0x548(%rbp)
movq %rdx, -0x540(%rbp)
movq -0x540(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x7cd8d
movl -0x538(%rbp), %edi
movq -0x530(%rbp), %rsi
callq 0x12780
movq %rax, -0x558(%rbp)
movq %rdx, -0x550(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x558(%rbp), %rax
cmpq $0x0, %rax
je 0x7cd8d
movl -0x538(%rbp), %edi
movq -0x530(%rbp), %rsi
callq 0x12780
movq %rax, -0x568(%rbp)
movq %rdx, -0x560(%rbp)
movq -0x568(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x7cd8d
movl -0x538(%rbp), %edi
movq -0x530(%rbp), %rsi
callq 0x12780
movq %rax, -0x578(%rbp)
movq %rdx, -0x570(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x578(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x7cd8b
movl -0x538(%rbp), %edi
movq -0x530(%rbp), %rsi
callq 0x12780
movq %rax, -0x588(%rbp)
movq %rdx, -0x580(%rbp)
movq -0x588(%rbp), %rdi
movq -0x580(%rbp), %rsi
callq 0x127c0
jmp 0x7cd8d
jmp 0x7cd8f
movq -0x128(%rbp), %rax
movups -0x468(%rbp), %xmm0
movups %xmm0, 0x20(%rax)
movq -0x120(%rbp), %rdi
movq -0x128(%rbp), %rsi
leaq -0x590(%rbp), %rdx
leaq -0x598(%rbp), %rcx
callq 0x7d630
xorps %xmm0, %xmm0
movaps %xmm0, -0x5b0(%rbp)
movq -0x590(%rbp), %rdi
movq -0x598(%rbp), %rsi
movl -0x5b0(%rbp), %edx
movq -0x5a8(%rbp), %rcx
leaq -0x5b8(%rbp), %r8
leaq -0x5c0(%rbp), %r9
callq 0x7e540
movq -0x5b8(%rbp), %rdi
movq -0x5c0(%rbp), %rsi
leaq -0x5c8(%rbp), %rdx
callq 0x83f10
movl %eax, -0x5d8(%rbp)
movq %rdx, -0x5d0(%rbp)
movq -0x5c8(%rbp), %rdi
movl -0x5d8(%rbp), %esi
movq -0x5d0(%rbp), %rdx
leaq -0x5e0(%rbp), %rcx
callq 0x84b90
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x5e0(%rbp), %rcx
movq -0x40(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x610, %rsp            # imm = 0x610
popq %rbp
retq
nopw %cs:(%rax,%rax)