// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_createzeprojectorszx
static void mw_mirth_data_createzeprojectorszx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Tag_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v4;
	uint64_t v5 = mw_mirth_data_Tag_data(in_zaMirth_1, in_Tag_2, &v4);
	struct mirth_mirth_zaMirth* v6;
	struct std_list_List_1 v7 = mw_mirth_data_Tag_labelzeinputs(v4, in_Tag_2, &v6);
	struct std_list_List_1 v8 = mw_std_list_List_1_reverse(v7);
	bool v9 = true;
	uint64_t v10 = in_Tag_2;
	struct mirth_mirth_zaMirth* r11 = v6;
	uint64_t v12 = v5;
	struct std_list_List_1 v13 = v8;
	bool v14 = v9;
	bool v15 = v9;
	while (v15) {
		uint64_t v16 = v10;
		struct mirth_mirth_zaMirth* r17 = r11;
		uint64_t v18 = v12;
		struct std_list_List_1 v19 = v13;
		bool v20 = v14;
		uint64_t branch_Tag_21;
		uint64_t branch_Data_22;
		struct mirth_mirth_zaMirth* branch_zaMirth_23;
		struct std_list_List_1 branch_List_24;
		bool branch_Bool_25;
		switch ((v19).tag) {
			case std_list_List_1_Cons: {
				struct std_list_List_1 v26;
				VAL v27 = mtp_std_list_List_1_Cons(v19, &v26);
				incref(v27);
				struct mirth_mirth_zaMirth* v28;
				uint64_t v29 = mw_mirth_label_Label_name(r17, V_mirth_label_Label(v27), &v28);
				INT v30 = WRAP_I63(0LL);
				struct mirth_mirth_zaMirth* v31;
				struct mirth_name_QName* v32 = mw_mirth_mirth_zaMirth_datazeqname(v28, v18, v29, v30, &v31);
				struct mirth_mirth_zaMirth* v33;
				bool v34 = mw_mirth_name_QName_undefinedzesoftzy(v31, v32, &v33);
				uint64_t branch_Tag_35;
				uint64_t branch_Label_36;
				uint64_t branch_Data_37;
				struct mirth_mirth_zaMirth* branch_zaMirth_38;
				if (v34) {
					struct std_maybe_Maybe_1 v39 = { .tag=std_maybe_Maybe_1_None };
					incref(v27);
					struct mirth_mirth_zaMirth* v40;
					STR* v41 = mw_mirth_label_Label_zgStr(v33, V_mirth_label_Label(v27), &v40);
					INT v42 = WRAP_I63(0LL);
					struct mirth_mirth_zaMirth* v43;
					uint64_t v44 = mw_mirth_data_datazewordzenewzx(v40, v18, v41, v42, v39, &v43);
					struct std_maybe_Maybe_1 v45 = { .tag=std_maybe_Maybe_1_None };
					incref(v27);
					struct mirth_mirth_zaMirth* v46;
					STR* v47 = mw_mirth_label_Label_zgStr(v43, V_mirth_label_Label(v27), &v46);
					STR* v48;
					STRLIT(v48, "!", 1);
					STR* v49 = str_cat(v47, v48);
					INT v50 = WRAP_I63(0LL);
					struct mirth_mirth_zaMirth* v51;
					uint64_t v52 = mw_mirth_data_datazewordzenewzx(v46, v18, v49, v50, v45, &v51);
					struct std_maybe_Maybe_1 v53 = { .tag=std_maybe_Maybe_1_None };
					incref(v27);
					struct mirth_mirth_zaMirth* v54;
					STR* v55 = mw_mirth_label_Label_zgStr(v51, V_mirth_label_Label(v27), &v54);
					INT v56 = WRAP_I63(1LL);
					struct mirth_mirth_zaMirth* v57;
					uint64_t v58 = mw_mirth_data_datazewordzenewzx(v54, v18, v55, v56, v53, &v57);
					struct mirth_mirth_zaMirth* v59;
					mw_mirth_word_Word_makezeinlinezx(v57, v44, &v59);
					incref(v27);
					struct mirth_mirth_PropLabel v60 = mtw_mirth_mirth_PropLabel_WordType(v44);
					PTUP r61 = PTRMK(0,tup_new(2),0);
					((TUP*)PTRPTR(r61))->size = 2;
					((TUP*)PTRPTR(r61))->cells[1] = v27;
					((TUP*)PTRPTR(r61))->cells[0] = MK_mirth_data_Tag(v16);
					struct mirth_mirth_LexicalState* v62 = v59->mlexicalzestate;
					incref(MK_mirth_mirth_LexicalState(v62));
					FNPTR v63 = &mb_mirth_mirth_PropLabel_prop_1_sp12_0;
					struct mirth_mirth_PropState_1 v64 = mtw_mirth_mirth_PropState_1_Delay(v62, MKTUP(r61), MKFNPTR(v63));
					struct mirth_mirth_Prop_1* v65 = mtw_mirth_mirth_Prop_1_Prop(v60, v64);
					void* v66 = field_mut(&mfld_mirth_word_Word_ztctxzetype, v44);
					mut_set(MK_mirth_mirth_Prop_1(v65), v66);
					incref(v27);
					struct mirth_mirth_PropLabel v67 = mtw_mirth_mirth_PropLabel_WordArrow(v44);
					PTUP r68 = PTRMK(0,tup_new(3),0);
					((TUP*)PTRPTR(r68))->size = 3;
					((TUP*)PTRPTR(r68))->cells[2] = MK_mirth_word_Word(v44);
					((TUP*)PTRPTR(r68))->cells[1] = v27;
					((TUP*)PTRPTR(r68))->cells[0] = MK_mirth_data_Tag(v16);
					struct mirth_mirth_LexicalState* v69 = v59->mlexicalzestate;
					incref(MK_mirth_mirth_LexicalState(v69));
					FNPTR v70 = &mb_mirth_mirth_PropLabel_prop_1_sp11_0;
					struct mirth_mirth_PropState_1 v71 = mtw_mirth_mirth_PropState_1_Delay(v69, MKTUP(r68), MKFNPTR(v70));
					struct mirth_mirth_Prop_1* v72 = mtw_mirth_mirth_Prop_1_Prop(v67, v71);
					void* v73 = field_mut(&mfld_mirth_word_Word_ztarrow, v44);
					mut_set(MK_mirth_mirth_Prop_1(v72), v73);
					struct mirth_mirth_zaMirth* v74;
					mw_mirth_word_Word_makezeinlinezx(v59, v52, &v74);
					incref(v27);
					struct mirth_mirth_PropLabel v75 = mtw_mirth_mirth_PropLabel_WordType(v52);
					PTUP r76 = PTRMK(0,tup_new(2),0);
					((TUP*)PTRPTR(r76))->size = 2;
					((TUP*)PTRPTR(r76))->cells[1] = v27;
					((TUP*)PTRPTR(r76))->cells[0] = MK_mirth_data_Tag(v16);
					struct mirth_mirth_LexicalState* v77 = v74->mlexicalzestate;
					incref(MK_mirth_mirth_LexicalState(v77));
					FNPTR v78 = &mb_mirth_mirth_PropLabel_prop_1_sp10_0;
					struct mirth_mirth_PropState_1 v79 = mtw_mirth_mirth_PropState_1_Delay(v77, MKTUP(r76), MKFNPTR(v78));
					struct mirth_mirth_Prop_1* v80 = mtw_mirth_mirth_Prop_1_Prop(v75, v79);
					void* v81 = field_mut(&mfld_mirth_word_Word_ztctxzetype, v52);
					mut_set(MK_mirth_mirth_Prop_1(v80), v81);
					incref(v27);
					struct mirth_mirth_PropLabel v82 = mtw_mirth_mirth_PropLabel_WordArrow(v52);
					PTUP r83 = PTRMK(0,tup_new(3),0);
					((TUP*)PTRPTR(r83))->size = 3;
					((TUP*)PTRPTR(r83))->cells[2] = MK_mirth_word_Word(v52);
					((TUP*)PTRPTR(r83))->cells[1] = v27;
					((TUP*)PTRPTR(r83))->cells[0] = MK_mirth_data_Tag(v16);
					struct mirth_mirth_LexicalState* v84 = v74->mlexicalzestate;
					incref(MK_mirth_mirth_LexicalState(v84));
					FNPTR v85 = &mb_mirth_mirth_PropLabel_prop_1_sp9_0;
					struct mirth_mirth_PropState_1 v86 = mtw_mirth_mirth_PropState_1_Delay(v84, MKTUP(r83), MKFNPTR(v85));
					struct mirth_mirth_Prop_1* v87 = mtw_mirth_mirth_Prop_1_Prop(v82, v86);
					void* v88 = field_mut(&mfld_mirth_word_Word_ztarrow, v52);
					mut_set(MK_mirth_mirth_Prop_1(v87), v88);
					struct mirth_mirth_zaMirth* v89;
					mw_mirth_word_Word_makezeinlinezx(v74, v58, &v89);
					incref(v27);
					struct mirth_mirth_PropLabel v90 = mtw_mirth_mirth_PropLabel_WordType(v58);
					PTUP r91 = PTRMK(0,tup_new(2),0);
					((TUP*)PTRPTR(r91))->size = 2;
					((TUP*)PTRPTR(r91))->cells[1] = v27;
					((TUP*)PTRPTR(r91))->cells[0] = MK_mirth_data_Tag(v16);
					struct mirth_mirth_LexicalState* v92 = v89->mlexicalzestate;
					incref(MK_mirth_mirth_LexicalState(v92));
					FNPTR v93 = &mb_mirth_mirth_PropLabel_prop_1_sp8_0;
					struct mirth_mirth_PropState_1 v94 = mtw_mirth_mirth_PropState_1_Delay(v92, MKTUP(r91), MKFNPTR(v93));
					struct mirth_mirth_Prop_1* v95 = mtw_mirth_mirth_Prop_1_Prop(v90, v94);
					void* v96 = field_mut(&mfld_mirth_word_Word_ztctxzetype, v58);
					mut_set(MK_mirth_mirth_Prop_1(v95), v96);
					struct mirth_mirth_PropLabel v97 = mtw_mirth_mirth_PropLabel_WordParams(v58);
					struct mirth_mirth_LexicalState* v98 = v89->mlexicalzestate;
					incref(MK_mirth_mirth_LexicalState(v98));
					FNPTR v99 = &mb_mirth_mirth_PropLabel_prop_1_sp6_0;
					struct mirth_mirth_PropState_1 v100 = mtw_mirth_mirth_PropState_1_Delay(v98, MK_mirth_word_Word(v58), MKFNPTR(v99));
					struct mirth_mirth_Prop_1* v101 = mtw_mirth_mirth_Prop_1_Prop(v97, v100);
					void* v102 = field_mut(&mfld_mirth_word_Word_ztparams, v58);
					mut_set(MK_mirth_mirth_Prop_1(v101), v102);
					struct mirth_mirth_PropLabel v103 = mtw_mirth_mirth_PropLabel_WordArrow(v58);
					PTUP r104 = PTRMK(0,tup_new(4),0);
					((TUP*)PTRPTR(r104))->size = 4;
					((TUP*)PTRPTR(r104))->cells[3] = MK_mirth_word_Word(v58);
					((TUP*)PTRPTR(r104))->cells[2] = MK_mirth_word_Word(v52);
					((TUP*)PTRPTR(r104))->cells[1] = MK_mirth_word_Word(v44);
					((TUP*)PTRPTR(r104))->cells[0] = MK_mirth_data_Data(v18);
					struct mirth_mirth_LexicalState* v105 = v89->mlexicalzestate;
					incref(MK_mirth_mirth_LexicalState(v105));
					FNPTR v106 = &mb_mirth_mirth_PropLabel_prop_1_sp7_0;
					struct mirth_mirth_PropState_1 v107 = mtw_mirth_mirth_PropState_1_Delay(v105, MKTUP(r104), MKFNPTR(v106));
					struct mirth_mirth_Prop_1* v108 = mtw_mirth_mirth_Prop_1_Prop(v103, v107);
					void* v109 = field_mut(&mfld_mirth_word_Word_ztarrow, v58);
					mut_set(MK_mirth_mirth_Prop_1(v108), v109);
					branch_zaMirth_38 = v89;
					branch_Data_37 = v18;
					branch_Label_36 = V_mirth_label_Label(v27);
					branch_Tag_35 = v16;
				} else {
					branch_zaMirth_38 = v33;
					branch_Data_37 = v18;
					branch_Label_36 = V_mirth_label_Label(v27);
					branch_Tag_35 = v16;
				}
				bool v110 = true;
				branch_Bool_25 = v110;
				branch_List_24 = v26;
				branch_zaMirth_23 = branch_zaMirth_38;
				branch_Data_22 = branch_Data_37;
				branch_Tag_21 = branch_Tag_35;
			} break;
			case std_list_List_1_Nil: {
				struct std_list_List_1 v111 = { .tag=std_list_List_1_Nil };
				bool v112 = false;
				branch_Bool_25 = v112;
				branch_List_24 = v111;
				branch_zaMirth_23 = r17;
				branch_Data_22 = v18;
				branch_Tag_21 = v16;
			} break;
			default: {
				do_panic(str_make("unexpected fallthrough in match\n", 32));
			}
		}
		v15 = branch_Bool_25;
		v14 = branch_Bool_25;
		v13 = branch_List_24;
		v12 = branch_Data_22;
		r11 = branch_zaMirth_23;
		v10 = branch_Tag_21;
	}
	decref(MK_std_list_List_1(v13));
	*out_zaMirth_3 = r11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movq %rdx, -0x60(%rbp)
movq %rsi, %r15
movq %rdi, %rbx
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
leaq 0x10a24b1(%rip), %rdi   # 0x1118be0
callq 0x13ff0
movq %rax, %rdi
callq 0x140f0
movq %rax, -0x50(%rbp)
leaq -0xb0(%rbp), %r14
movq %rbx, %rdi
movq %r15, -0x40(%rbp)
movq %r15, %rsi
movq %r14, %rdx
callq 0x7775b
movq %rdx, %rcx
xorl %edi, %edi
xorl %esi, %esi
movl %eax, %edx
callq 0xd37c
movq %rdx, %rdi
movq (%r14), %rcx
movq %rcx, -0x30(%rbp)
leaq -0xa8(%rbp), %r15
testl %eax, %eax
je 0x76f18
cmpl $0x1, %eax
jne 0x76f87
movq %r15, %rsi
callq 0xd450
movq %rax, %r13
movq %rdx, %r14
testb $0x1, %r14b
je 0x767b3
movq %r13, %rax
andq %r12, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x767b3
incl (%rax)
leaq 0x10a3086(%rip), %rdi   # 0x1119840
movq %r13, %rsi
callq 0x13ff0
movq %rax, %rdi
callq 0x140f0
movq %rax, %rbx
movq -0x50(%rbp), %rdi
callq 0x1968f
xorl %edi, %edi
movq %rax, %rsi
callq 0x196e2
movl $0x1, %ecx
movl $0x3, %edi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x157ee
movq -0x30(%rbp), %rdi
movq %rax, %rsi
leaq -0x58(%rbp), %rdx
callq 0x14d64
testb %al, %al
je 0x76f1e
testb $0x1, %r14b
je 0x76829
movq %r13, %rax
andq %r12, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x76829
incl (%rax)
movq -0x58(%rbp), %rdi
movq %r13, %rsi
leaq -0x98(%rbp), %rdx
callq 0x77eb2
movq -0x98(%rbp), %rdi
movl $0x1, %ecx
movq -0x50(%rbp), %rsi
movq %rax, %rdx
leaq -0x90(%rbp), %r8
callq 0x759d8
movq %rax, -0x38(%rbp)
testb $0x1, %r14b
je 0x7687b
movq %r13, %rax
andq %r12, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x7687b
incl (%rax)
movq -0x90(%rbp), %rdi
movq %r13, %rsi
leaq -0x88(%rbp), %rdx
callq 0x77eb2
movq %rax, %rbx
cmpq $0x0, 0x10a3a3c(%rip)   # 0x111a2d8
jne 0x768bb
movl $0x1, %edi
callq 0xf9f7
movq $0x1, 0x10(%rax)
movb $0x21, 0x18(%rax)
movq %rax, 0x10a3a1d(%rip)   # 0x111a2d8
movq 0x10a3a16(%rip), %rsi   # 0x111a2d8
movq %rsi, %rax
andq %r12, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x768d8
incl (%rax)
movq %rbx, %rdi
callq 0xe43c
movq -0x88(%rbp), %rdi
movl $0x1, %ecx
movq -0x50(%rbp), %rsi
movq %rax, %rdx
leaq -0x80(%rbp), %r8
callq 0x759d8
movq %rax, %rbx
testb $0x1, %r14b
je 0x7691b
movq %r13, %rax
andq %r12, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x7691b
incl (%rax)
movq -0x80(%rbp), %rdi
movq %r13, %rsi
leaq -0x78(%rbp), %rdx
callq 0x77eb2
movq -0x78(%rbp), %rdi
movl $0x3, %ecx
movq -0x50(%rbp), %rsi
movq %rax, %rdx
leaq -0x70(%rbp), %r8
callq 0x759d8
movq %rax, -0x48(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x10a2df1(%rip), %rdi   # 0x1119748
movq -0x38(%rbp), %rsi
callq 0x13ff0
movl $0x1, %edi
leaq 0x9f3bc(%rip), %rsi     # 0x115d28
movq %rax, %rdx
callq 0x14ab5
testb $0x1, %r14b
je 0x76990
movq %r13, %rax
andq %r12, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x76990
incl (%rax)
movq -0x38(%rbp), %rdi
callq 0x34194
movq %rax, %r15
movl $0x2, %edi
callq 0xe4ba
movq %rax, %rcx
andq %r12, %rcx
movw $0x2, 0x6(%rcx)
movq %r13, 0x18(%rcx)
movq %r14, 0x20(%rcx)
movq -0x40(%rbp), %rdx
movq %rdx, 0x8(%rcx)
leaq 0x9f287(%rip), %rdx     # 0x115c50
movq %rdx, 0x10(%rcx)
movq -0x30(%rbp), %rcx
movq 0x48(%rcx), %rdi
movq %rdi, %rcx
andq %r12, %rcx
sete %dl
testb $0x3, %dil
setne %sil
orb %dl, %sil
jne 0x769ed
incl (%rcx)
movq %rbx, -0x68(%rbp)
movq %rax, %rsi
leaq 0x9e99e(%rip), %rdx     # 0x115399
leaq 0x14fb(%rip), %rcx      # 0x77efd
callq 0x27d72
movl $0xa, %edi
movq %r15, %rsi
movl $0x1, %edx
movq %rax, %rcx
callq 0x1faa2
movq %rax, %r15
leaq 0x10a2c8a(%rip), %rdi   # 0x11196b0
movq -0x38(%rbp), %rsi
callq 0x13ff0
movq %r15, %rdi
leaq 0x9ed98(%rip), %rsi     # 0x1157d1
movq %rax, %rdx
callq 0x14ab5
testb $0x1, %r14b
je 0x76a5d
movq %r13, %rax
andq %r12, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x76a5d
incl (%rax)
movq -0x38(%rbp), %rbx
movq %rbx, %rdi
callq 0x349c0
movq %rax, %r15
movl $0x3, %edi
callq 0xe4ba
movq %rax, %rcx
andq %r12, %rcx
movw $0x3, 0x6(%rcx)
movq %rbx, 0x28(%rcx)
leaq 0x9f6d3(%rip), %rdx     # 0x116160
movq %rdx, 0x30(%rcx)
movq %r13, 0x18(%rcx)
movq %r14, 0x20(%rcx)
movq -0x40(%rbp), %rdx
movq %rdx, 0x8(%rcx)
leaq 0x9f1a8(%rip), %rdx     # 0x115c50
movq %rdx, 0x10(%rcx)
movq -0x30(%rbp), %rcx
movq 0x48(%rcx), %rdi
movq %rdi, %rcx
andq %r12, %rcx
sete %dl
testb $0x3, %dil
setne %sil
orb %dl, %sil
jne 0x76acc
incl (%rcx)
movq %rax, %rsi
leaq 0x9e8c3(%rip), %rdx     # 0x115399
leaq 0x1554(%rip), %rcx      # 0x78031
callq 0x27d72
movl $0xc, %edi
movq %r15, %rsi
movl $0x1, %edx
movq %rax, %rcx
callq 0x1faa2
movq %rax, %r15
leaq 0x10a2bcf(%rip), %rdi   # 0x11196d0
movq -0x38(%rbp), %rsi
callq 0x13ff0
movq %r15, %rdi
leaq 0x9ecbd(%rip), %rsi     # 0x1157d1
movq %rax, %rdx
callq 0x14ab5
leaq 0x10a2c25(%rip), %rdi   # 0x1119748
movq -0x68(%rbp), %rbx
movq %rbx, %rsi
callq 0x13ff0
movl $0x1, %edi
leaq 0x9f1ed(%rip), %rsi     # 0x115d28
movq %rax, %rdx
callq 0x14ab5
testb $0x1, %r14b
je 0x76b5f
movq %r13, %rax
andq %r12, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x76b5f
incl (%rax)
movq %rbx, %rdi
callq 0x34194
movq %rax, %r15
movl $0x2, %edi
callq 0xe4ba
movq %rax, %rcx
andq %r12, %rcx
movw $0x2, 0x6(%rcx)
movq %r13, 0x18(%rcx)
movq %r14, 0x20(%rcx)
movq -0x40(%rbp), %rdx
movq %rdx, 0x8(%rcx)
leaq 0x9f0b9(%rip), %rdx     # 0x115c50
movq %rdx, 0x10(%rcx)
movq -0x30(%rbp), %rcx
movq 0x48(%rcx), %rdi
movq %rdi, %rcx
andq %r12, %rcx
sete %dl
testb $0x3, %dil
setne %sil
orb %dl, %sil
jne 0x76bbb
incl (%rcx)
movq %rax, %rsi
leaq 0x9e7d4(%rip), %rdx     # 0x115399
leaq 0x1682(%rip), %rcx      # 0x7824e
callq 0x27d72
movl $0xa, %edi
movq %r15, %rsi
movl $0x1, %edx
movq %rax, %rcx
callq 0x1faa2
movq %rax, %r15
leaq 0x10a2ac0(%rip), %rdi   # 0x11196b0
movq %rbx, %rsi
callq 0x13ff0
movq %r15, %rdi
leaq 0x9ebcf(%rip), %rsi     # 0x1157d1
movq %rax, %rdx
callq 0x14ab5
testb $0x1, %r14b
je 0x76c26
movq %r13, %rax
andq %r12, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x76c26
incl (%rax)
movq %rbx, %rdi
callq 0x349c0
movq %rax, %r15
movl $0x3, %edi
callq 0xe4ba
movq %rax, %rcx
andq %r12, %rcx
movw $0x3, 0x6(%rcx)
movq %rbx, 0x28(%rcx)
leaq 0x9f50e(%rip), %rdx     # 0x116160
movq %rdx, 0x30(%rcx)
movq %r13, 0x18(%rcx)
movq %r14, 0x20(%rcx)
movq -0x40(%rbp), %rdx
movq %rdx, 0x8(%rcx)
leaq 0x9efe3(%rip), %rdx     # 0x115c50
movq %rdx, 0x10(%rcx)
movq -0x30(%rbp), %rcx
movq 0x48(%rcx), %rdi
movq %rdi, %rcx
andq %r12, %rcx
sete %dl
testb $0x3, %dil
setne %sil
orb %dl, %sil
jne 0x76c91
incl (%rcx)
movq %rax, %rsi
leaq 0x9e6fe(%rip), %rdx     # 0x115399
leaq 0x16e0(%rip), %rcx      # 0x78382
callq 0x27d72
movl $0xc, %edi
movq %r15, %rsi
movl $0x1, %edx
movq %rax, %rcx
callq 0x1faa2
movq %rax, %r15
leaq 0x10a2a0a(%rip), %rdi   # 0x11196d0
movq %rbx, %rsi
callq 0x13ff0
movq %r15, %rdi
leaq 0x9eaf9(%rip), %rsi     # 0x1157d1
movq %rax, %rdx
callq 0x14ab5
leaq 0x10a2a61(%rip), %rdi   # 0x1119748
movq -0x48(%rbp), %rsi
callq 0x13ff0
movl $0x1, %edi
leaq 0x9f02c(%rip), %rsi     # 0x115d28
movq %rax, %rdx
callq 0x14ab5
testb $0x1, %r14b
je 0x76d20
movq %r13, %rax
andq %r12, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x76d20
incl (%rax)
movq -0x48(%rbp), %rdi
callq 0x34194
movq %rax, %r15
movl $0x2, %edi
callq 0xe4ba
movq %rax, %rcx
andq %r12, %rcx
movw $0x2, 0x6(%rcx)
movq %r13, 0x18(%rcx)
movq %r14, 0x20(%rcx)
movq -0x40(%rbp), %rdx
movq %rdx, 0x8(%rcx)
leaq 0x9eef7(%rip), %rdx     # 0x115c50
movq %rdx, 0x10(%rcx)
movq -0x30(%rbp), %rcx
movq 0x48(%rcx), %rdi
movq %rdi, %rcx
andq %r12, %rcx
sete %dl
testb $0x3, %dil
setne %sil
orb %dl, %sil
jne 0x76d7d
incl (%rcx)
movq %rax, %rsi
leaq 0x9e612(%rip), %rdx     # 0x115399
leaq 0x1811(%rip), %rcx      # 0x7859f
callq 0x27d72
movl $0xa, %edi
movq %r15, %rsi
movl $0x1, %edx
movq %rax, %rcx
callq 0x1faa2
movq %rax, %r14
leaq 0x10a28fe(%rip), %rdi   # 0x11196b0
movq -0x48(%rbp), %r15
movq %r15, %rsi
callq 0x13ff0
movq %r14, %rdi
leaq 0x9ea09(%rip), %rsi     # 0x1157d1
movq %rax, %rdx
callq 0x14ab5
movq %r15, %rdi
callq 0x343d3
movq %rax, %r14
movq -0x30(%rbp), %rax
movq 0x48(%rax), %rdi
movq %rdi, %rax
andq %r12, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x76df9
incl (%rax)
movq -0x48(%rbp), %r13
movq %r13, %rsi
leaq 0x9f359(%rip), %r15     # 0x116160
movq %r15, %rdx
leaq 0x1cf1(%rip), %rcx      # 0x78b02
callq 0x27d72
movl $0xb, %edi
movq %r14, %rsi
movl $0x1, %edx
movq %rax, %rcx
callq 0x1faa2
movq %rax, %r14
leaq 0x10a288b(%rip), %rdi   # 0x11196c0
movq %r13, %rsi
callq 0x13ff0
movq %r14, %rdi
leaq 0x9e98a(%rip), %rsi     # 0x1157d1
movq %rax, %rdx
callq 0x14ab5
movq %r13, %rdi
callq 0x349c0
movq %rax, %r14
movl $0x4, %edi
callq 0xe4ba
movq %rax, %rcx
andq %r12, %rcx
movw $0x4, 0x6(%rcx)
movq %r13, 0x38(%rcx)
movq %r15, 0x40(%rcx)
movq %rbx, 0x28(%rcx)
movq %r15, 0x30(%rcx)
movq -0x38(%rbp), %rdx
movq %rdx, 0x18(%rcx)
movq %r15, 0x20(%rcx)
movq -0x50(%rbp), %rdx
movq %rdx, 0x8(%rcx)
leaq 0x9edfd(%rip), %rdx     # 0x115c98
movq %rdx, 0x10(%rcx)
movq -0x30(%rbp), %rcx
movq 0x48(%rcx), %rdi
movq %rdi, %rcx
andq %r12, %rcx
sete %dl
testb $0x3, %dil
setne %sil
orb %dl, %sil
leaq -0xa8(%rbp), %r15
jne 0x76ec6
incl (%rcx)
movq %rax, %rsi
leaq 0x9e4c9(%rip), %rdx     # 0x115399
leaq 0x1e6e(%rip), %rcx      # 0x78d45
callq 0x27d72
movl $0xc, %edi
movq %r14, %rsi
movl $0x1, %edx
movq %rax, %rcx
callq 0x1faa2
movq %rax, %r14
leaq 0x10a27d5(%rip), %rdi   # 0x11196d0
movq -0x48(%rbp), %rsi
callq 0x13ff0
movq %r14, %rdi
leaq 0x9e8c3(%rip), %rsi     # 0x1157d1
movq %rax, %rdx
callq 0x14ab5
jmp 0x76f26
xorl %ecx, %ecx
xorl %edi, %edi
jmp 0x76f35
movq -0x58(%rbp), %rax
movq %rax, -0x30(%rbp)
movl -0xa8(%rbp), %eax
movq -0xa0(%rbp), %rdi
movb $0x1, %cl
testb %cl, %cl
jne 0x76778
andq %rdi, %r12
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x76f6a
decl (%r12)
jne 0x76f6a
shlq $0x30, %rax
orq %rdi, %rax
leaq 0x9e317(%rip), %rsi     # 0x115279
movq %rax, %rdi
callq 0xd4e3
movq -0x60(%rbp), %rax
movq -0x30(%rbp), %rcx
movq %rcx, (%rax)
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0xf9f7
movq $0x20, 0x10(%rax)
movups 0x6d7ad(%rip), %xmm0    # 0xe474d
movups %xmm0, 0x18(%rax)
movups 0x6d7b2(%rip), %xmm0    # 0xe475d
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x95a5