// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_StackType_stackzj
static void mw_mirth_type_StackType_stackzj (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_zaStr_2, struct mirth_type_StackType in_StackType_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, STR* *out_zaStr_5) {
	struct mirth_mirth_zaMirth* v6;
	struct std_list_List_1 v7;
	struct std_list_List_1 v8;
	struct std_list_List_1 v9;
	struct mirth_type_StackTypeBase v10 = mw_mirth_type_StackType_split4(in_zaMirth_1, in_StackType_3, &v6, &v7, &v8, &v9);
	struct mirth_mirth_zaMirth* v11;
	STR* v12;
	bool v13 = mw_mirth_type_StackTypeBase_basezj(v6, in_zaStr_2, v10, &v11, &v12);
	bool v14 = true;
	struct mirth_mirth_zaMirth* r15 = v11;
	STR* r16 = v12;
	bool v17 = v13;
	struct std_list_List_1 v18 = v7;
	bool v19 = v14;
	bool v20 = v14;
	while (v20) {
		struct mirth_mirth_zaMirth* r21 = r15;
		STR* r22 = r16;
		bool v23 = v17;
		struct std_list_List_1 v24 = v18;
		bool v25 = v19;
		struct mirth_mirth_zaMirth* branch_zaMirth_26;
		STR* branch_zaStr_27;
		bool branch_Bool_28;
		struct std_list_List_1 branch_List_29;
		bool branch_Bool_30;
		switch ((v24).tag) {
			case std_list_List_1_Cons: {
				struct std_list_List_1 v31;
				VAL v32 = mtp_std_list_List_1_Cons(v24, &v31);
				STR* branch_zaStr_33;
				if (v23) {
					STR* v34;
					STRLIT(v34, " ", 1);
					STR* v35;
					mw_std_str_zaStr_pushzestrzx(v34, r22, &v35);
					branch_zaStr_33 = v35;
				} else {
					branch_zaStr_33 = r22;
				}
				VAL v36 = ((TUP*)PTRPTR(value_tup(v32)))->cells[0];
				VAL v37 = ((TUP*)PTRPTR(value_tup(v32)))->cells[1];
				tup_decref_outer(value_tup(v32));
				struct mirth_mirth_zaMirth* v38;
				STR* v39;
				mw_mirth_label_Label_namezj(r21, branch_zaStr_33, V_mirth_label_Label(v37), &v38, &v39);
				STR* v40;
				STRLIT(v40, ":", 1);
				STR* v41;
				mw_std_str_zaStr_pushzestrzx(v40, v39, &v41);
				struct mirth_mirth_zaMirth* branch_zaMirth_42;
				STR* branch_zaStr_43;
				switch ((V_std_either_Either_2(v36)).tag) {
					case std_either_Either_2_Left: {
						VAL v44 = mtp_std_either_Either_2_Left(V_std_either_Either_2(v36));
						struct mirth_mirth_zaMirth* v45;
						STR* v46;
						mw_mirth_type_Type_typezj(v38, v41, V_mirth_type_Type(v44), &v45, &v46);
						branch_zaStr_43 = v46;
						branch_zaMirth_42 = v45;
					} break;
					case std_either_Either_2_Right: {
						VAL v47 = mtp_std_either_Either_2_Right(V_std_either_Either_2(v36));
						struct mirth_mirth_zaMirth* v48;
						STR* v49;
						mw_mirth_type_Resource_typezj(v38, v41, V_mirth_type_Type(v47), &v48, &v49);
						branch_zaStr_43 = v49;
						branch_zaMirth_42 = v48;
					} break;
					default: {
						do_panic(str_make("unexpected fallthrough in match\n", 32));
					}
				}
				bool v50 = true;
				bool v51 = true;
				branch_Bool_30 = v51;
				branch_List_29 = v31;
				branch_Bool_28 = v50;
				branch_zaStr_27 = branch_zaStr_43;
				branch_zaMirth_26 = branch_zaMirth_42;
			} break;
			case std_list_List_1_Nil: {
				struct std_list_List_1 v52 = { .tag=std_list_List_1_Nil };
				bool v53 = false;
				branch_Bool_30 = v53;
				branch_List_29 = v52;
				branch_Bool_28 = v23;
				branch_zaStr_27 = r22;
				branch_zaMirth_26 = r21;
			} break;
			default: {
				do_panic(str_make("unexpected fallthrough in match\n", 32));
			}
		}
		v20 = branch_Bool_30;
		v19 = branch_Bool_30;
		v18 = branch_List_29;
		v17 = branch_Bool_28;
		r16 = branch_zaStr_27;
		r15 = branch_zaMirth_26;
	}
	decref(MK_std_list_List_1(v18));
	bool v54 = true;
	struct mirth_mirth_zaMirth* r55 = r15;
	STR* r56 = r16;
	bool v57 = v17;
	struct std_list_List_1 v58 = v9;
	bool v59 = v54;
	bool v60 = v54;
	while (v60) {
		struct mirth_mirth_zaMirth* r61 = r55;
		STR* r62 = r56;
		bool v63 = v57;
		struct std_list_List_1 v64 = v58;
		bool v65 = v59;
		struct mirth_mirth_zaMirth* branch_zaMirth_66;
		STR* branch_zaStr_67;
		bool branch_Bool_68;
		struct std_list_List_1 branch_List_69;
		bool branch_Bool_70;
		switch ((v64).tag) {
			case std_list_List_1_Cons: {
				struct std_list_List_1 v71;
				VAL v72 = mtp_std_list_List_1_Cons(v64, &v71);
				STR* branch_zaStr_73;
				if (v63) {
					STR* v74;
					STRLIT(v74, " ", 1);
					STR* v75;
					mw_std_str_zaStr_pushzestrzx(v74, r62, &v75);
					branch_zaStr_73 = v75;
				} else {
					branch_zaStr_73 = r62;
				}
				struct mirth_mirth_zaMirth* v76;
				STR* v77;
				mw_mirth_type_Resource_typezj(r61, branch_zaStr_73, V_mirth_type_Type(v72), &v76, &v77);
				bool v78 = true;
				bool v79 = true;
				branch_Bool_70 = v79;
				branch_List_69 = v71;
				branch_Bool_68 = v78;
				branch_zaStr_67 = v77;
				branch_zaMirth_66 = v76;
			} break;
			case std_list_List_1_Nil: {
				struct std_list_List_1 v80 = { .tag=std_list_List_1_Nil };
				bool v81 = false;
				branch_Bool_70 = v81;
				branch_List_69 = v80;
				branch_Bool_68 = v63;
				branch_zaStr_67 = r62;
				branch_zaMirth_66 = r61;
			} break;
			default: {
				do_panic(str_make("unexpected fallthrough in match\n", 32));
			}
		}
		v60 = branch_Bool_70;
		v59 = branch_Bool_70;
		v58 = branch_List_69;
		v57 = branch_Bool_68;
		r56 = branch_zaStr_67;
		r55 = branch_zaMirth_66;
	}
	decref(MK_std_list_List_1(v58));
	bool v82 = true;
	struct mirth_mirth_zaMirth* r83 = r55;
	STR* r84 = r56;
	bool v85 = v57;
	struct std_list_List_1 v86 = v8;
	bool v87 = v82;
	bool v88 = v82;
	while (v88) {
		struct mirth_mirth_zaMirth* r89 = r83;
		STR* r90 = r84;
		bool v91 = v85;
		struct std_list_List_1 v92 = v86;
		bool v93 = v87;
		struct mirth_mirth_zaMirth* branch_zaMirth_94;
		STR* branch_zaStr_95;
		bool branch_Bool_96;
		struct std_list_List_1 branch_List_97;
		bool branch_Bool_98;
		switch ((v92).tag) {
			case std_list_List_1_Cons: {
				struct std_list_List_1 v99;
				VAL v100 = mtp_std_list_List_1_Cons(v92, &v99);
				STR* branch_zaStr_101;
				if (v91) {
					STR* v102;
					STRLIT(v102, " ", 1);
					STR* v103;
					mw_std_str_zaStr_pushzestrzx(v102, r90, &v103);
					branch_zaStr_101 = v103;
				} else {
					branch_zaStr_101 = r90;
				}
				struct mirth_mirth_zaMirth* v104;
				STR* v105;
				mw_mirth_type_Type_typezj(r89, branch_zaStr_101, V_mirth_type_Type(v100), &v104, &v105);
				bool v106 = true;
				bool v107 = true;
				branch_Bool_98 = v107;
				branch_List_97 = v99;
				branch_Bool_96 = v106;
				branch_zaStr_95 = v105;
				branch_zaMirth_94 = v104;
			} break;
			case std_list_List_1_Nil: {
				struct std_list_List_1 v108 = { .tag=std_list_List_1_Nil };
				bool v109 = false;
				branch_Bool_98 = v109;
				branch_List_97 = v108;
				branch_Bool_96 = v91;
				branch_zaStr_95 = r90;
				branch_zaMirth_94 = r89;
			} break;
			default: {
				do_panic(str_make("unexpected fallthrough in match\n", 32));
			}
		}
		v88 = branch_Bool_98;
		v87 = branch_Bool_98;
		v86 = branch_List_97;
		v85 = branch_Bool_96;
		r84 = branch_zaStr_95;
		r83 = branch_zaMirth_94;
	}
	decref(MK_std_list_List_1(v86));
	*out_zaStr_5 = r84;
	*out_zaMirth_4 = r83;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %r9, -0x90(%rbp)
movq %r8, -0x98(%rbp)
movq %rsi, -0x70(%rbp)
movq %rdi, -0x40(%rbp)
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
shlq $0x30, %rdx
orq %rcx, %rdx
leaq 0xd8988(%rip), %rsi     # 0x111bc1
movq %rdx, %rdi
callq 0x206fc
movq %rdx, %r13
movl $0x1, %r15d
movq $0x0, -0x68(%rbp)
movl $0x0, -0x34(%rbp)
movq $0x0, -0x80(%rbp)
movl $0x0, -0x44(%rbp)
movq $0x0, -0x78(%rbp)
movl $0x0, -0x38(%rbp)
movq %r13, %r14
andq %rbx, %r14
setne %al
testb $0x3, %r13b
sete %bl
andb %al, %bl
cmpb $0x1, %bl
jne 0x39291
incl (%r14)
movl %r15d, %edi
movq %r13, %rsi
callq 0x39e35
cmpl $0x1, %eax
jne 0x395bd
movq %rdx, %rdi
callq 0xd745
movq %rax, %r12
testb %bl, %bl
je 0x392cf
decl (%r14)
jne 0x392cf
shlq $0x30, %r15
orq %r13, %r15
movq %r15, %rdi
leaq 0xd8c57(%rip), %rsi     # 0x111f21
callq 0xd13d
movq %r12, %rsi
shrq $0x30, %rsi
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
andq %r13, %r12
movq -0x40(%rbp), %rdi
movq %r12, %rdx
leaq -0x30(%rbp), %rcx
callq 0x37fe3
cmpl $0x8, %eax
ja 0x39be6
movl %eax, %eax
leaq 0xa5703(%rip), %rcx     # 0xdea08
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
xorl %r15d, %r15d
xorl %edi, %edi
leaq 0xd8ff7(%rip), %rsi     # 0x112311
callq 0x2069e
movq %r13, %rbx
movq %rdx, %r13
jmp 0x3942b
movq 0x8(%rdx), %rbx
decl (%rdx)
jne 0x3933a
movq %rdx, %rdi
callq 0x5030
movq %rbx, %rdi
callq 0x39f21
btsq $0x32, %rax
jmp 0x3937d
movabsq $0x2000000000000, %rdi  # imm = 0x2000000000000
jmp 0x39416
movq 0x8(%rdx), %rbx
decl (%rdx)
jne 0x39368
movq %rdx, %rdi
callq 0x5030
movq %rbx, %rdi
callq 0x39ece
movabsq $0x3000000000000, %rcx  # imm = 0x3000000000000
orq %rcx, %rax
movq %rax, %rdi
leaq 0xd8f8a(%rip), %rsi     # 0x112311
callq 0x2069e
movq %rdx, %r13
xorl %r15d, %r15d
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
jmp 0x39277
movq %rdx, %rdi
leaq -0x58(%rbp), %rsi
callq 0x381ac
movl %eax, %ebx
movq %rdx, %r14
movl -0x58(%rbp), %edi
shlq $0x30, %rdi
orq -0x50(%rbp), %rdi
leaq 0xd871d(%rip), %rsi     # 0x111ae9
movl -0x44(%rbp), %edx
movq -0x80(%rbp), %rcx
callq 0xd1ec
movq %rdx, -0x80(%rbp)
shlq $0x30, %rbx
orq %r14, %rbx
movq %rbx, %rdi
leaq 0xd87d4(%rip), %rsi     # 0x111bc1
callq 0x206fc
movq %r13, %rbx
movq %rdx, %r13
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
movl $0x1, -0x44(%rbp)
movl $0x1, %r15d
jmp 0x39277
leaq 0x4(%r13), %rdi
leaq 0xd8ef4(%rip), %rsi     # 0x112311
callq 0x2069e
movq %r13, %rbx
movq %rdx, %r13
xorl %r15d, %r15d
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x39277
movq %rdx, %rdi
leaq -0x58(%rbp), %rsi
callq 0x38125
movl %eax, %ebx
movq %rdx, %r14
movl -0x58(%rbp), %edi
shlq $0x30, %rdi
orq -0x50(%rbp), %rdi
leaq 0xd868e(%rip), %rsi     # 0x111ae9
movl -0x38(%rbp), %edx
movq -0x78(%rbp), %rcx
callq 0xd1ec
movq %rdx, -0x78(%rbp)
shlq $0x30, %rbx
orq %r14, %rbx
movq %rbx, %rdi
leaq 0xd8745(%rip), %rsi     # 0x111bc1
callq 0x206fc
movq %r13, %rbx
movq %rdx, %r13
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
movl $0x1, -0x38(%rbp)
movl $0x1, %r15d
jmp 0x39277
movq %rdx, %rdi
leaq -0x58(%rbp), %rsi
leaq -0x60(%rbp), %rdx
callq 0x38233
movl %eax, %ebx
movq %rdx, %r14
movl -0x58(%rbp), %edi
shlq $0x30, %rdi
orq -0x50(%rbp), %rdi
leaq 0xd8621(%rip), %rsi     # 0x111ae9
callq 0x2069e
movq %rdx, %r15
movl $0x2, %edi
callq 0xe0e7
movq %rax, %rcx
andq %r13, %rcx
movw $0x2, 0x6(%rcx)
movq -0x60(%rbp), %rdx
movq %rdx, 0x18(%rcx)
leaq 0xd8dd3(%rip), %rdx     # 0x1122c8
movq %rdx, 0x20(%rcx)
movq %r15, 0x8(%rcx)
jmp 0x39562
movq %rdx, %rdi
leaq -0x58(%rbp), %rsi
leaq -0x60(%rbp), %rdx
callq 0x382d7
movl %eax, %ebx
movq %rdx, %r14
movl -0x58(%rbp), %edi
shlq $0x30, %rdi
orq -0x50(%rbp), %rdi
leaq 0xd85c3(%rip), %rsi     # 0x111ae9
callq 0x206fc
movq %rdx, %r15
movl $0x2, %edi
callq 0xe0e7
movq %rax, %rcx
andq %r13, %rcx
movw $0x2, 0x6(%rcx)
movq -0x60(%rbp), %rdx
movq %rdx, 0x18(%rcx)
leaq 0xd8d75(%rip), %rdx     # 0x1122c8
movq %rdx, 0x20(%rcx)
leaq 0x4(%r13), %rdx
orq %r15, %rdx
movq %rdx, 0x8(%rcx)
leaq 0xd89b8(%rip), %rdx     # 0x111f21
movq %rdx, 0x10(%rcx)
movq %rax, %rdi
leaq 0xd7e22(%rip), %rsi     # 0x111399
movl -0x34(%rbp), %edx
movq -0x68(%rbp), %rcx
callq 0xd1ec
movq %rdx, -0x68(%rbp)
shlq $0x30, %rbx
orq %r14, %rbx
movq %rbx, %rdi
leaq 0xd8629(%rip), %rsi     # 0x111bc1
callq 0x206fc
movq %r13, %rbx
movq %rdx, %r13
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
movl $0x1, -0x34(%rbp)
movl $0x1, %r15d
jmp 0x39277
testl %eax, %eax
jne 0x39be6
movl %r15d, %edi
movq %r13, %rsi
callq 0x39f74
movl %eax, %edi
movq %rdx, %rsi
callq 0x33ee8
movq %rax, %rcx
shrq $0x30, %rcx
cmpw $0x4, %cx
ja 0x39be6
movabsq $0xfffffffffffc, %r15   # imm = 0xFFFFFFFFFFFC
andq %r15, %rax
leaq 0xa53f5(%rip), %rdx     # 0xde9f4
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq 0x10dc209(%rip), %rsi   # 0x1115818
testq %rsi, %rsi
jne 0x397a8
movl $0x8, %edi
callq 0xf5e4
movq %rax, %rsi
movq $0x8, 0x10(%rax)
movabsq $0x3e524f5252453c2a, %rax # imm = 0x3E524F5252453C2A
movq %rax, 0x18(%rsi)
movq %rsi, 0x10dc1d6(%rip)   # 0x1115818
jmp 0x397a8
movq 0x8(%rax), %r14
decl (%rax)
jne 0x39657
movq %rax, %rdi
callq 0x5030
movq 0x10dc1aa(%rip), %rsi   # 0x1115808
testq %rsi, %rsi
jne 0x39683
movl $0x1, %edi
callq 0xf5e4
movq %rax, %rsi
movq $0x1, 0x10(%rax)
movb $0x2a, 0x18(%rax)
movq %rax, 0x10dc185(%rip)   # 0x1115808
movq %rsi, %rax
andq %r15, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x39699
incl (%rax)
movq -0x70(%rbp), %rdi
callq 0xe069
leaq -0x58(%rbp), %r15
leaq -0x30(%rbp), %r12
movq -0x40(%rbp), %rdi
movq %rax, %rsi
movq %r14, %rdx
movq %r15, %rcx
movq %r12, %r8
callq 0x390cc
jmp 0x39870
xorl %r13d, %r13d
movl -0x38(%rbp), %ecx
movq -0x70(%rbp), %rbx
movl -0x44(%rbp), %esi
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %eax
movq -0x40(%rbp), %r12
jmp 0x39a23
movq 0x8(%rax), %r14
decl (%rax)
jne 0x396f1
movq %rax, %rdi
callq 0x5030
leaq 0x10db8f8(%rip), %rdi   # 0x1114ff0
movq %r14, %rsi
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movq %rax, %rsi
shrq $0x30, %rsi
andq %r15, %rax
leaq -0x58(%rbp), %rcx
movq -0x40(%rbp), %rdi
movq %rax, %rdx
callq 0x2d4cc
cmpl $0x2, %eax
jne 0x397d3
movl 0x4(%rdx), %ebx
decl (%rdx)
jne 0x3973a
movq %rdx, %rdi
callq 0x5030
leaq 0xd8c17(%rip), %rsi     # 0x112358
movq %rbx, %rdi
callq 0x9353
movq %rdx, %rdi
movq -0x58(%rbp), %rbx
callq 0xd745
movl %eax, %eax
leaq 0x1(,%rax,2), %rdi
movl $0x5, %esi
callq 0xe83a
testl %eax, %eax
jne 0x39807
movq -0x70(%rbp), %rsi
jmp 0x39857
movq 0x10dc09f(%rip), %rsi   # 0x1115820
testq %rsi, %rsi
jne 0x397a8
movl $0x2, %edi
callq 0xf5e4
movq %rax, %rsi
movq $0x2, 0x10(%rax)
movw $0x5f2a, 0x18(%rax)     # imm = 0x5F2A
movq %rax, 0x10dc078(%rip)   # 0x1115820
movq %rsi, %rax
andq %r15, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
movq -0x40(%rbp), %r12
jne 0x397c2
incl (%rax)
movq -0x70(%rbp), %rdi
callq 0xe069
movq %rax, %rbx
jmp 0x39877
movq %rdx, %rcx
andq %r15, %rcx
sete %sil
testb $0x3, %dl
setne %dil
orb %sil, %dil
jne 0x39803
decl (%rcx)
jne 0x39803
shlq $0x30, %rax
orq %rdx, %rax
movq %rax, %rdi
leaq 0xd82eb(%rip), %rsi     # 0x111ae9
callq 0xd13d
movq -0x58(%rbp), %rbx
movq 0x10dc002(%rip), %rsi   # 0x1115810
testq %rsi, %rsi
jne 0x39835
movl $0x2, %edi
callq 0xf5e4
movq %rax, %rsi
movq $0x2, 0x10(%rax)
movw $0x202a, 0x18(%rax)     # imm = 0x202A
movq %rax, 0x10dbfdb(%rip)   # 0x1115810
movq %rsi, %rax
andq %r15, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x3984b
incl (%rax)
movq -0x70(%rbp), %rdi
callq 0xe069
movq %rax, %rsi
leaq -0x58(%rbp), %r15
leaq -0x30(%rbp), %r12
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r12, %r8
callq 0x3905b
movq (%r12), %rbx
movq (%r15), %r12
movb $0x1, %r13b
movl -0x38(%rbp), %ecx
movl -0x44(%rbp), %esi
movq -0x68(%rbp), %rdi
movl -0x34(%rbp), %eax
jmp 0x39a23
movq %r12, -0x40(%rbp)
leaq -0x58(%rbp), %rsi
callq 0xd0aa
movq %rax, %r12
movq %rdx, %r14
testb $0x1, %r13b
je 0x398ff
movq 0x10dbf3c(%rip), %rsi   # 0x11157e8
testq %rsi, %rsi
movabsq $0xfffffffffffc, %r15   # imm = 0xFFFFFFFFFFFC
jne 0x398db
movl $0x1, %edi
callq 0xf5e4
movq %rax, %rsi
movq $0x1, 0x10(%rax)
movb $0x20, 0x18(%rax)
movq %rax, 0x10dbf0d(%rip)   # 0x11157e8
movq %rsi, %rax
andq %r15, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x398f1
incl (%rax)
movq %rbx, %rdi
callq 0xe069
movq %rax, -0x70(%rbp)
jmp 0x3990d
movabsq $0xfffffffffffc, %r15   # imm = 0xFFFFFFFFFFFC
movq %rbx, -0x70(%rbp)
movq %r12, %rdi
movq %r14, %rsi
callq 0x90ba
movq %r12, %rbx
andq %r15, %rbx
movq 0x8(%rbx), %r15
movq %r12, %rdi
movq %r14, %rsi
callq 0x90ba
movq 0x18(%rbx), %r13
movq %r12, %rdi
movq %r14, %rsi
callq 0x90ba
movq %r12, %rdi
callq 0x910b
movq -0x40(%rbp), %rdi
movq -0x70(%rbp), %rsi
movq %r13, %rdx
leaq -0x88(%rbp), %rcx
leaq -0xa0(%rbp), %r8
callq 0x39c87
movq 0x10dbe87(%rip), %rsi   # 0x11157f0
testq %rsi, %rsi
jne 0x3998e
movl $0x1, %edi
callq 0xf5e4
movq %rax, %rsi
movq $0x1, 0x10(%rax)
movb $0x3a, 0x18(%rax)
movq %rax, 0x10dbe62(%rip)   # 0x11157f0
movq %rsi, %rax
movabsq $0xfffffffffffc, %r14   # imm = 0xFFFFFFFFFFFC
andq %r14, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x399ae
incl (%rax)
movq -0xa0(%rbp), %rdi
callq 0xe069
movq %rax, %rbx
movq %r15, %rax
shrq $0x30, %rax
andq %r14, %r15
cmpq $0x1, %rax
je 0x399df
testl %eax, %eax
jne 0x39be6
movq %r15, %rdi
callq 0x20a5a
jmp 0x399e7
movq %r15, %rdi
callq 0x20aa1
movq -0x88(%rbp), %rdi
movq %rax, %rdx
shrq $0x30, %rdx
andq %r14, %rax
movq %rbx, %rsi
movq %rax, %rcx
leaq -0x30(%rbp), %r8
leaq -0x60(%rbp), %r9
callq 0x38429
movq -0x60(%rbp), %rbx
movq -0x30(%rbp), %r12
movl -0x58(%rbp), %eax
movq -0x50(%rbp), %rdi
movb $0x1, %r13b
movl -0x38(%rbp), %ecx
movl -0x44(%rbp), %esi
cmpl $0x1, %eax
je 0x3988c
testl %eax, %eax
jne 0x39be6
cmpl $0x1, %esi
jne 0x39af7
movq %rbx, %r15
movq -0x80(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0xd0aa
movq %rax, %r14
testb $0x1, %r13b
je 0x39aaf
movq 0x10dbd9b(%rip), %rsi   # 0x11157f8
testq %rsi, %rsi
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
jne 0x39a8c
movl $0x1, %edi
callq 0xf5e4
movq %rax, %rsi
movq $0x1, 0x10(%rax)
movb $0x20, 0x18(%rax)
movq %rax, 0x10dbd6c(%rip)   # 0x11157f8
movq %rsi, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x39aa2
incl (%rax)
movq %r15, %rdi
callq 0xe069
movq %rax, %rsi
jmp 0x39abc
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r15, %rsi
movq %r14, %rdx
shrq $0x30, %rdx
andq %rbx, %r14
movq %r12, %rdi
movq %r14, %rcx
leaq -0x30(%rbp), %r8
leaq -0x60(%rbp), %r9
callq 0x38429
movq -0x60(%rbp), %rbx
movq -0x30(%rbp), %r12
movl -0x58(%rbp), %esi
movq -0x50(%rbp), %rax
movq %rax, -0x80(%rbp)
movb $0x1, %r13b
movl -0x38(%rbp), %ecx
jmp 0x39a34
testl %esi, %esi
je 0x39bb6
jmp 0x39be6
movq %rbx, %r15
movq -0x78(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0xd0aa
movq %rax, %r14
testb $0x1, %r13b
je 0x39b76
movq 0x10dbcdc(%rip), %rsi   # 0x1115800
testq %rsi, %rsi
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
jne 0x39b53
movl $0x1, %edi
callq 0xf5e4
movq %rax, %rsi
movq $0x1, 0x10(%rax)
movb $0x20, 0x18(%rax)
movq %rax, 0x10dbcad(%rip)   # 0x1115800
movq %rsi, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x39b69
incl (%rax)
movq %r15, %rdi
callq 0xe069
movq %rax, %rsi
jmp 0x39b83
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r15, %rsi
movq %r14, %rdx
shrq $0x30, %rdx
andq %rbx, %r14
movq %r12, %rdi
movq %r14, %rcx
leaq -0x30(%rbp), %r8
leaq -0x60(%rbp), %r9
callq 0x38429
movl -0x58(%rbp), %ecx
movq -0x50(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x60(%rbp), %rbx
movq -0x30(%rbp), %r12
movb $0x1, %r13b
cmpl $0x1, %ecx
je 0x39b04
testl %ecx, %ecx
jne 0x39be6
movq -0x90(%rbp), %rax
movq %rbx, (%rax)
movq -0x98(%rbp), %rax
movq %r12, (%rax)
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0xf5e4
movq $0x20, 0x10(%rax)
movups 0xa6ace(%rip), %xmm0    # 0xe06cd
movups %xmm0, 0x18(%rax)
movups 0xa6ad3(%rip), %xmm0    # 0xe06dd
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x9302