// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99_smartzesigzeput
static void mw_mirth_c99_zaC99_smartzesigzeput (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99* in_zaC99_2, struct mirth_c99_C99API* in_C99API_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99* *out_zaC99_5) {
	STR* v6;
	STRLIT(v6, "static ", 7);
	struct mirth_mirth_zaMirth* v7;
	struct mirth_c99_zaC99* v8;
	mw_mirth_c99_zaC99_put(in_zaMirth_1, in_zaC99_2, v6, &v7, &v8);
	incref(MK_mirth_c99_C99API(in_C99API_3));
	struct std_maybe_Maybe_1 v9 = in_C99API_3->mreturnzeparam;
	incref(MK_std_maybe_Maybe_1(v9));
	decref(MK_mirth_c99_C99API(in_C99API_3));
	struct mirth_mirth_zaMirth* branch_zaMirth_10;
	struct mirth_c99_zaC99* branch_zaC99_11;
	switch ((v9).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v12 = mtp_std_maybe_Maybe_1_Some(v9);
			struct mirth_c99_C99ReprType v13 = V_mirth_c99_C99APIArg(v12)->margzerepr;
			incref(MK_mirth_c99_C99ReprType(v13));
			decref(MK_mirth_c99_C99APIArg(V_mirth_c99_C99APIArg(v12)));
			struct mirth_mirth_zaMirth* v14;
			STR* v15 = mw_mirth_c99_C99ReprType_underlyingzec99zetype(v7, v13, &v14);
			struct mirth_mirth_zaMirth* v16;
			struct mirth_c99_zaC99* v17;
			mw_mirth_c99_zaC99_put(v14, v8, v15, &v16, &v17);
			branch_zaC99_11 = v17;
			branch_zaMirth_10 = v16;
		} break;
		case std_maybe_Maybe_1_None: {
			STR* v18;
			STRLIT(v18, "void", 4);
			struct mirth_mirth_zaMirth* v19;
			struct mirth_c99_zaC99* v20;
			mw_mirth_c99_zaC99_put(v7, v8, v18, &v19, &v20);
			branch_zaC99_11 = v20;
			branch_zaMirth_10 = v19;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	STR* v21;
	STRLIT(v21, " ", 1);
	struct mirth_mirth_zaMirth* v22;
	struct mirth_c99_zaC99* v23;
	mw_mirth_c99_zaC99_put(branch_zaMirth_10, branch_zaC99_11, v21, &v22, &v23);
	incref(MK_mirth_c99_C99API(in_C99API_3));
	STR* v24 = in_C99API_3->mcname;
	incref(MKSTR(v24));
	decref(MK_mirth_c99_C99API(in_C99API_3));
	struct mirth_mirth_zaMirth* v25;
	struct mirth_c99_zaC99* v26;
	mw_mirth_c99_zaC99_put(v22, v23, v24, &v25, &v26);
	STR* v27;
	STRLIT(v27, " (", 2);
	struct mirth_mirth_zaMirth* v28;
	struct mirth_c99_zaC99* v29;
	mw_mirth_c99_zaC99_put(v25, v26, v27, &v28, &v29);
	STR* v30;
	STRLIT(v30, "", 0);
	incref(MK_mirth_c99_C99API(in_C99API_3));
	struct std_list_List_1 v31 = in_C99API_3->minzeparams;
	incref(MK_std_list_List_1(v31));
	decref(MK_mirth_c99_C99API(in_C99API_3));
	struct mirth_mirth_zaMirth* v32;
	VAL v33;
	struct std_list_List_1 v34 = mw_std_list_List_1_filter_1_sp6(v28, MK_mirth_c99_zaC99(v29), v31, &v32, &v33);
	bool v35 = true;
	struct mirth_mirth_zaMirth* r36 = v32;
	VAL r37 = v33;
	STR* v38 = v30;
	struct std_list_List_1 v39 = v34;
	bool v40 = v35;
	bool v41 = v35;
	while (v41) {
		struct mirth_mirth_zaMirth* r42 = r36;
		VAL r43 = r37;
		STR* v44 = v38;
		struct std_list_List_1 v45 = v39;
		bool v46 = v40;
		STR* branch_Str_47;
		struct mirth_mirth_zaMirth* branch_zaMirth_48;
		struct mirth_c99_zaC99* branch_zaC99_49;
		struct std_list_List_1 branch_List_50;
		bool branch_Bool_51;
		switch ((v45).tag) {
			case std_list_List_1_Cons: {
				struct std_list_List_1 v52;
				VAL v53 = mtp_std_list_List_1_Cons(v45, &v52);
				struct mirth_mirth_zaMirth* v54;
				struct mirth_c99_zaC99* v55;
				mw_mirth_c99_zaC99_put(r42, V_mirth_c99_zaC99(r43), v44, &v54, &v55);
				STR* v56;
				STRLIT(v56, ", ", 2);
				incref(v53);
				struct mirth_c99_C99ReprType v57 = V_mirth_c99_C99APIArg(v53)->margzerepr;
				incref(MK_mirth_c99_C99ReprType(v57));
				decref(MK_mirth_c99_C99APIArg(V_mirth_c99_C99APIArg(v53)));
				struct mirth_mirth_zaMirth* v58;
				STR* v59 = mw_mirth_c99_C99ReprType_underlyingzec99zetype(v54, v57, &v58);
				struct mirth_mirth_zaMirth* v60;
				struct mirth_c99_zaC99* v61;
				mw_mirth_c99_zaC99_put(v58, v55, v59, &v60, &v61);
				STR* v62;
				STRLIT(v62, " ", 1);
				struct mirth_mirth_zaMirth* v63;
				struct mirth_c99_zaC99* v64;
				mw_mirth_c99_zaC99_put(v60, v61, v62, &v63, &v64);
				STR* v65 = V_mirth_c99_C99APIArg(v53)->margzename;
				incref(MKSTR(v65));
				decref(MK_mirth_c99_C99APIArg(V_mirth_c99_C99APIArg(v53)));
				struct mirth_mirth_zaMirth* v66;
				struct mirth_c99_zaC99* v67;
				mw_mirth_c99_zaC99_put(v63, v64, v65, &v66, &v67);
				bool v68 = true;
				branch_Bool_51 = v68;
				branch_List_50 = v52;
				branch_zaC99_49 = v67;
				branch_zaMirth_48 = v66;
				branch_Str_47 = v56;
			} break;
			case std_list_List_1_Nil: {
				struct std_list_List_1 v69 = { .tag=std_list_List_1_Nil };
				bool v70 = false;
				branch_Bool_51 = v70;
				branch_List_50 = v69;
				branch_zaC99_49 = V_mirth_c99_zaC99(r43);
				branch_zaMirth_48 = r42;
				branch_Str_47 = v44;
			} break;
			default: {
				do_panic(str_make("unexpected fallthrough in match\n", 32));
			}
		}
		v41 = branch_Bool_51;
		v40 = branch_Bool_51;
		v39 = branch_List_50;
		v38 = branch_Str_47;
		r37 = MK_mirth_c99_zaC99(branch_zaC99_49);
		r36 = branch_zaMirth_48;
	}
	decref(MK_std_list_List_1(v39));
	incref(MK_mirth_c99_C99API(in_C99API_3));
	struct std_list_List_1 v71 = in_C99API_3->moutzeparamsze1;
	incref(MK_std_list_List_1(v71));
	decref(MK_mirth_c99_C99API(in_C99API_3));
	incref(MK_mirth_c99_C99API(in_C99API_3));
	struct std_list_List_1 v72 = in_C99API_3->moutzeparamsze2;
	incref(MK_std_list_List_1(v72));
	decref(MK_mirth_c99_C99API(in_C99API_3));
	struct std_list_List_1 v73 = mw_std_list_List_1_cat(v71, v72);
	struct mirth_mirth_zaMirth* v74;
	VAL v75;
	struct std_list_List_1 v76 = mw_std_list_List_1_filter_1_sp6(r36, r37, v73, &v74, &v75);
	bool v77 = true;
	struct mirth_mirth_zaMirth* r78 = v74;
	VAL r79 = v75;
	STR* v80 = v38;
	struct std_list_List_1 v81 = v76;
	bool v82 = v77;
	bool v83 = v77;
	while (v83) {
		struct mirth_mirth_zaMirth* r84 = r78;
		VAL r85 = r79;
		STR* v86 = v80;
		struct std_list_List_1 v87 = v81;
		bool v88 = v82;
		STR* branch_Str_89;
		struct mirth_mirth_zaMirth* branch_zaMirth_90;
		struct mirth_c99_zaC99* branch_zaC99_91;
		struct std_list_List_1 branch_List_92;
		bool branch_Bool_93;
		switch ((v87).tag) {
			case std_list_List_1_Cons: {
				struct std_list_List_1 v94;
				VAL v95 = mtp_std_list_List_1_Cons(v87, &v94);
				struct mirth_mirth_zaMirth* v96;
				struct mirth_c99_zaC99* v97;
				mw_mirth_c99_zaC99_put(r84, V_mirth_c99_zaC99(r85), v86, &v96, &v97);
				STR* v98;
				STRLIT(v98, ", ", 2);
				incref(v95);
				struct mirth_c99_C99ReprType v99 = V_mirth_c99_C99APIArg(v95)->margzerepr;
				incref(MK_mirth_c99_C99ReprType(v99));
				decref(MK_mirth_c99_C99APIArg(V_mirth_c99_C99APIArg(v95)));
				struct mirth_mirth_zaMirth* v100;
				STR* v101 = mw_mirth_c99_C99ReprType_underlyingzec99zetype(v96, v99, &v100);
				struct mirth_mirth_zaMirth* v102;
				struct mirth_c99_zaC99* v103;
				mw_mirth_c99_zaC99_put(v100, v97, v101, &v102, &v103);
				STR* v104;
				STRLIT(v104, " *", 2);
				struct mirth_mirth_zaMirth* v105;
				struct mirth_c99_zaC99* v106;
				mw_mirth_c99_zaC99_put(v102, v103, v104, &v105, &v106);
				STR* v107 = V_mirth_c99_C99APIArg(v95)->margzename;
				incref(MKSTR(v107));
				decref(MK_mirth_c99_C99APIArg(V_mirth_c99_C99APIArg(v95)));
				struct mirth_mirth_zaMirth* v108;
				struct mirth_c99_zaC99* v109;
				mw_mirth_c99_zaC99_put(v105, v106, v107, &v108, &v109);
				bool v110 = true;
				branch_Bool_93 = v110;
				branch_List_92 = v94;
				branch_zaC99_91 = v109;
				branch_zaMirth_90 = v108;
				branch_Str_89 = v98;
			} break;
			case std_list_List_1_Nil: {
				struct std_list_List_1 v111 = { .tag=std_list_List_1_Nil };
				bool v112 = false;
				branch_Bool_93 = v112;
				branch_List_92 = v111;
				branch_zaC99_91 = V_mirth_c99_zaC99(r85);
				branch_zaMirth_90 = r84;
				branch_Str_89 = v86;
			} break;
			default: {
				do_panic(str_make("unexpected fallthrough in match\n", 32));
			}
		}
		v83 = branch_Bool_93;
		v82 = branch_Bool_93;
		v81 = branch_List_92;
		v80 = branch_Str_89;
		r79 = MK_mirth_c99_zaC99(branch_zaC99_91);
		r78 = branch_zaMirth_90;
	}
	decref(MK_std_list_List_1(v81));
	uint64_t v113 = str_size(v80);
	INT v114 = u64_to_int(v113);
	INT v115 = WRAP_I63(0LL);
	INT v116 = v115;
	bool v117 = int_eq(v114, v116);
	struct mirth_mirth_zaMirth* branch_zaMirth_118;
	struct mirth_c99_zaC99* branch_zaC99_119;
	if (v117) {
		STR* v120;
		STRLIT(v120, "void", 4);
		struct mirth_mirth_zaMirth* v121;
		struct mirth_c99_zaC99* v122;
		mw_mirth_c99_zaC99_put(r78, V_mirth_c99_zaC99(r79), v120, &v121, &v122);
		branch_zaC99_119 = v122;
		branch_zaMirth_118 = v121;
	} else {
		branch_zaC99_119 = V_mirth_c99_zaC99(r79);
		branch_zaMirth_118 = r78;
	}
	STR* v123;
	STRLIT(v123, ")", 1);
	struct mirth_mirth_zaMirth* v124;
	struct mirth_c99_zaC99* v125;
	mw_mirth_c99_zaC99_put(branch_zaMirth_118, branch_zaC99_119, v123, &v124, &v125);
	decref(MK_mirth_c99_C99API(in_C99API_3));
	*out_zaC99_5 = v125;
	*out_zaMirth_4 = v124;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movq %r8, -0xd8(%rbp)
movq %rcx, %r12
movq %rdx, -0x38(%rbp)
movq %rsi, %rbx
movq %rdi, %r14
movq 0x106a47d(%rip), %rdx   # 0x11179d0
testq %rdx, %rdx
jne 0xad582
movl $0x7, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x7, 0x10(%rax)
movl $0x74617473, 0x18(%rax) # imm = 0x74617473
movl $0x20636974, 0x1b(%rax) # imm = 0x20636974
movq %rax, 0x106a44e(%rip)   # 0x11179d0
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
movq %rdx, %rax
andq %r13, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xad5a3
incl (%rax)
leaq -0xc8(%rbp), %rcx
leaq -0xc0(%rbp), %r8
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9221b
movq -0x38(%rbp), %rcx
movq %rcx, %r15
andq %r13, %r15
setne %al
testb $0x3, %cl
sete %sil
andb %al, %sil
cmpb $0x1, %sil
jne 0xad5dc
incl (%r15)
movq -0x38(%rbp), %rax
movl 0x38(%rax), %r14d
movq 0x40(%rax), %rbx
movq %rbx, %rax
andq %r13, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0xad5fd
incl (%rax)
testb %sil, %sil
movb %sil, -0x29(%rbp)
je 0xad61b
decl (%r15)
jne 0xad61b
movq -0x38(%rbp), %rdi
leaq 0x659eb(%rip), %rsi     # 0x113001
callq 0xd13d
testl %r14d, %r14d
movq %r15, -0x48(%rbp)
je 0xad6c7
cmpl $0x1, %r14d
jne 0xadf56
movq %rbx, %rdi
callq 0xd745
movq %rax, %rdi
movl 0x18(%rax), %ebx
movq 0x20(%rax), %r14
movq %r14, %rcx
andq %r13, %rcx
sete %dl
testb $0x3, %r14b
setne %sil
orb %dl, %sil
jne 0xad65c
incl (%rcx)
andq %r13, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0xad67d
decl (%rax)
jne 0xad67d
leaq 0x65a19(%rip), %rsi     # 0x113091
callq 0xd13d
movq -0xc8(%rbp), %rdi
leaq -0x128(%rbp), %r15
movl %ebx, %esi
movq %r14, %rdx
movq %r15, %rcx
callq 0xa59d1
movq (%r15), %rdi
movq -0xc0(%rbp), %rsi
leaq -0xb0(%rbp), %r14
leaq -0x68(%rbp), %rbx
movq %rax, %rdx
movq %r14, %rcx
movq %rbx, %r8
callq 0x9221b
movq (%rbx), %rbx
movq (%r14), %r14
movq -0x48(%rbp), %r15
jmp 0xad73a
movq 0x106a30a(%rip), %rdx   # 0x11179d8
testq %rdx, %rdx
jne 0xad6f6
movl $0x4, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x4, 0x10(%rax)
movl $0x64696f76, 0x18(%rax) # imm = 0x64696F76
movq %rax, 0x106a2e2(%rip)   # 0x11179d8
movq %rdx, %rax
andq %r13, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xad70d
incl (%rax)
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rsi
leaq -0x128(%rbp), %r14
leaq -0xb0(%rbp), %rbx
movq %r14, %rcx
movq %rbx, %r8
callq 0x9221b
movq (%rbx), %rbx
movq (%r14), %r14
movq 0x106a29f(%rip), %rdx   # 0x11179e0
testq %rdx, %rdx
jne 0xad766
movl $0x1, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x1, 0x10(%rax)
movb $0x20, 0x18(%rax)
movq %rax, 0x106a27a(%rip)   # 0x11179e0
movq %rdx, %rax
andq %r13, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xad77d
incl (%rax)
leaq -0x118(%rbp), %rcx
leaq -0x110(%rbp), %r8
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9221b
movb -0x29(%rbp), %sil
testb %sil, %sil
je 0xad7a2
incl (%r15)
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rbx
movq %rbx, %rax
andq %r13, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0xad7bf
incl (%rax)
testb %sil, %sil
je 0xad7d9
decl (%r15)
jne 0xad7d9
movq -0x38(%rbp), %rdi
leaq 0x6582d(%rip), %rsi     # 0x113001
callq 0xd13d
movq -0x118(%rbp), %rdi
movq -0x110(%rbp), %rsi
leaq -0x108(%rbp), %rcx
leaq -0x100(%rbp), %r8
movq %rbx, %rdx
callq 0x9221b
movq 0x106a1e4(%rip), %rdx   # 0x11179e8
testq %rdx, %rdx
jne 0xad82b
movl $0x2, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x2, 0x10(%rax)
movw $0x2820, 0x18(%rax)     # imm = 0x2820
movq %rax, 0x106a1bd(%rip)   # 0x11179e8
movq %rdx, %rax
andq %r13, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xad842
incl (%rax)
movq -0x108(%rbp), %rdi
movq -0x100(%rbp), %rsi
leaq -0xf8(%rbp), %rcx
leaq -0xf0(%rbp), %r8
callq 0x9221b
movq 0x106a186(%rip), %rax   # 0x11179f0
testq %rax, %rax
jne 0xad885
xorl %edi, %edi
callq 0xf5e4
movq $0x0, 0x10(%rax)
movq %rax, 0x106a16b(%rip)   # 0x11179f0
movq %rax, %rsi
andq %r13, %rsi
sete %cl
movq %rax, -0x58(%rbp)
testb $0x3, %al
setne %dl
orb %cl, %dl
jne 0xad89d
incl (%rsi)
movb -0x29(%rbp), %sil
testb %sil, %sil
je 0xad8a9
incl (%r15)
movq -0x38(%rbp), %rax
movl 0x18(%rax), %ebx
movq 0x20(%rax), %r14
movq %r14, %rax
andq %r13, %rax
sete %cl
testb $0x3, %r14b
setne %dl
orb %cl, %dl
jne 0xad8ca
incl (%rax)
movq %r12, -0xd0(%rbp)
testb %sil, %sil
je 0xad8eb
decl (%r15)
jne 0xad8eb
movq -0x38(%rbp), %rdi
leaq 0x6571b(%rip), %rsi     # 0x113001
callq 0xd13d
movq -0xf8(%rbp), %rdi
movq -0xf0(%rbp), %rsi
leaq -0x128(%rbp), %r12
movq %r12, (%rsp)
leaq 0x6573d(%rip), %rdx     # 0x113048
leaq -0x130(%rbp), %r15
movl %ebx, %ecx
movq %r14, %r8
movq %r15, %r9
callq 0xadf86
movq %rdx, %rdi
movq (%r15), %rbx
movq (%r12), %r12
cmpl $0x1, %eax
jne 0xadb24
leaq -0xb0(%rbp), %rsi
callq 0xd0aa
movq %rax, %r15
movq %rdx, %r14
movq %rbx, %rdi
movq %r12, %rsi
movq -0x58(%rbp), %rdx
leaq -0x68(%rbp), %rcx
leaq -0xb8(%rbp), %r8
callq 0x9221b
movq 0x106a093(%rip), %rax   # 0x11179f8
testq %rax, %rax
jne 0xad989
movl $0x2, %edi
callq 0xf5e4
movq $0x2, 0x10(%rax)
movw $0x202c, 0x18(%rax)     # imm = 0x202C
movq %rax, 0x106a06f(%rip)   # 0x11179f8
movq %rax, %rsi
andq %r13, %rsi
sete %cl
movq %rax, -0x58(%rbp)
testb $0x3, %al
setne %dl
orb %cl, %dl
jne 0xad9a1
incl (%rsi)
testb $0x1, %r14b
je 0xad9bd
movq %r15, %rax
andq %r13, %rax
sete %cl
testb $0x3, %r15b
setne %dl
orb %cl, %dl
jne 0xad9bd
incl (%rax)
movl 0x18(%r15), %ebx
movq 0x20(%r15), %r14
movq %r14, %rax
andq %r13, %rax
sete %cl
testb $0x3, %r14b
setne %dl
orb %cl, %dl
jne 0xad9db
incl (%rax)
movq %r15, %r12
andq %r13, %r12
setne %al
testb $0x3, %r15b
sete %r13b
andb %al, %r13b
cmpb $0x1, %r13b
jne 0xada0a
decl (%r12)
jne 0xada0a
movq %r15, %rdi
leaq 0x6568c(%rip), %rsi     # 0x113091
callq 0xd13d
movq -0x68(%rbp), %rdi
movl %ebx, %esi
movq %r14, %rdx
leaq -0x50(%rbp), %rcx
callq 0xa59d1
movq -0x50(%rbp), %rdi
movq -0xb8(%rbp), %rsi
movq %rax, %rdx
leaq -0x98(%rbp), %rcx
leaq -0x90(%rbp), %r8
callq 0x9221b
movq 0x1069fbc(%rip), %rdx   # 0x1117a00
testq %rdx, %rdx
jne 0xada69
movl $0x1, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x1, 0x10(%rax)
movb $0x20, 0x18(%rax)
movq %rax, 0x1069f97(%rip)   # 0x1117a00
movq %rdx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xada8a
incl (%rax)
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
leaq -0x88(%rbp), %rcx
leaq -0x80(%rbp), %r8
callq 0x9221b
movq 0x28(%r15), %rbx
movq %rbx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0xadacb
incl (%rax)
testb %r13b, %r13b
je 0xadae5
decl (%r12)
jne 0xadae5
movq %r15, %rdi
leaq 0x655b1(%rip), %rsi     # 0x113091
callq 0xd13d
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
movq %rbx, %rdx
leaq -0x78(%rbp), %rcx
leaq -0x70(%rbp), %r8
callq 0x9221b
movl -0xb0(%rbp), %eax
movq -0xa8(%rbp), %rdi
movq -0x70(%rbp), %r12
movq -0x78(%rbp), %rbx
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
jmp 0xad929
testl %eax, %eax
jne 0xadf56
movb -0x29(%rbp), %sil
testb %sil, %sil
je 0xadb3b
movq -0x48(%rbp), %rax
incl (%rax)
movq -0x38(%rbp), %rax
movl 0x28(%rax), %edi
movq 0x30(%rax), %r15
movq %r15, %rax
andq %r13, %rax
sete %cl
testb $0x3, %r15b
setne %dl
orb %cl, %dl
jne 0xadb5c
incl (%rax)
testb %sil, %sil
je 0xadb93
movq -0x48(%rbp), %r14
movl (%r14), %eax
movl %eax, %ecx
decl %ecx
movl %ecx, (%r14)
jne 0xadb90
movl %edi, -0x3c(%rbp)
movq -0x38(%rbp), %rdi
leaq 0x65482(%rip), %rsi     # 0x113001
callq 0xd13d
movl -0x3c(%rbp), %edi
movb -0x29(%rbp), %sil
movl (%r14), %eax
incl %eax
movl %eax, (%r14)
movq -0x38(%rbp), %rax
movl 0x48(%rax), %edx
movq 0x50(%rax), %r14
movq %r14, %rax
andq %r13, %rax
sete %cl
testb $0x3, %r14b
setne %r8b
orb %cl, %r8b
jne 0xadbb6
incl (%rax)
testb %sil, %sil
je 0xadbe5
movq -0x48(%rbp), %rax
decl (%rax)
jne 0xadbe5
movl %edi, -0x3c(%rbp)
movq -0x38(%rbp), %rdi
leaq 0x65430(%rip), %rsi     # 0x113001
movl %edx, -0x9c(%rbp)
callq 0xd13d
movl -0x9c(%rbp), %edx
movl -0x3c(%rbp), %edi
movq %r15, %rsi
movq %r14, %rcx
callq 0x28d8d
movq %rdx, %r8
leaq -0xb0(%rbp), %rcx
movq %rcx, (%rsp)
leaq 0x65443(%rip), %rdx     # 0x113048
leaq -0xb8(%rbp), %r14
movq %rbx, %rdi
movq %r12, %rsi
movl %eax, %ecx
movq %r14, %r9
callq 0xadf86
movq %rdx, %rdi
movq (%r14), %rbx
movq -0xb0(%rbp), %r12
cmpl $0x1, %eax
jne 0xade23
leaq -0x68(%rbp), %rsi
callq 0xd0aa
movq %rax, %r15
movq %rdx, %r14
movq %rbx, %rdi
movq %r12, %rsi
movq -0x58(%rbp), %rdx
leaq -0x50(%rbp), %rcx
leaq -0x98(%rbp), %r8
callq 0x9221b
movq 0x1069da6(%rip), %rax   # 0x1117a08
testq %rax, %rax
jne 0xadc86
movl $0x2, %edi
callq 0xf5e4
movq $0x2, 0x10(%rax)
movw $0x202c, 0x18(%rax)     # imm = 0x202C
movq %rax, 0x1069d82(%rip)   # 0x1117a08
movq %rax, %rsi
andq %r13, %rsi
sete %cl
movq %rax, -0x58(%rbp)
testb $0x3, %al
setne %dl
orb %cl, %dl
jne 0xadc9e
incl (%rsi)
testb $0x1, %r14b
je 0xadcba
movq %r15, %rax
andq %r13, %rax
sete %cl
testb $0x3, %r15b
setne %dl
orb %cl, %dl
jne 0xadcba
incl (%rax)
movl 0x18(%r15), %ebx
movq 0x20(%r15), %r14
movq %r14, %rax
andq %r13, %rax
sete %cl
testb $0x3, %r14b
setne %dl
orb %cl, %dl
jne 0xadcd8
incl (%rax)
movq %r15, %r12
andq %r13, %r12
setne %al
testb $0x3, %r15b
sete %r13b
andb %al, %r13b
cmpb $0x1, %r13b
jne 0xadd07
decl (%r12)
jne 0xadd07
movq %r15, %rdi
leaq 0x6538f(%rip), %rsi     # 0x113091
callq 0xd13d
movq -0x50(%rbp), %rdi
movl %ebx, %esi
movq %r14, %rdx
leaq -0x90(%rbp), %rcx
callq 0xa59d1
movq -0x90(%rbp), %rdi
movq -0x98(%rbp), %rsi
movq %rax, %rdx
leaq -0x88(%rbp), %rcx
leaq -0x80(%rbp), %r8
callq 0x9221b
movq 0x1069ccc(%rip), %rdx   # 0x1117a10
testq %rdx, %rdx
jne 0xadd6b
movl $0x2, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x2, 0x10(%rax)
movw $0x2a20, 0x18(%rax)     # imm = 0x2A20
movq %rax, 0x1069ca5(%rip)   # 0x1117a10
movq %rdx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xadd8c
incl (%rax)
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
leaq -0x78(%rbp), %rcx
leaq -0x70(%rbp), %r8
callq 0x9221b
movq 0x28(%r15), %rbx
movq %rbx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0xaddc7
incl (%rax)
testb %r13b, %r13b
je 0xadde1
decl (%r12)
jne 0xadde1
movq %r15, %rdi
leaq 0x652b5(%rip), %rsi     # 0x113091
callq 0xd13d
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
movq %rbx, %rdx
leaq -0xe8(%rbp), %rcx
leaq -0xe0(%rbp), %r8
callq 0x9221b
movl -0x68(%rbp), %eax
movq -0x60(%rbp), %rdi
movq -0xe0(%rbp), %r12
movq -0xe8(%rbp), %rbx
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
jmp 0xadc29
testl %eax, %eax
jne 0xadf56
movq -0x58(%rbp), %rdi
callq 0xe36d
movq %rax, %rdi
callq 0xe3d6
movl $0x1, %esi
movq %rax, %rdi
callq 0xe83a
testl %eax, %eax
movq -0x48(%rbp), %r14
jne 0xadeba
movq 0x1069bc0(%rip), %rdx   # 0x1117a18
testq %rdx, %rdx
jne 0xade80
movl $0x4, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x4, 0x10(%rax)
movl $0x64696f76, 0x18(%rax) # imm = 0x64696F76
movq %rax, 0x1069b98(%rip)   # 0x1117a18
movq %rdx, %rax
andq %r13, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xade97
incl (%rax)
leaq -0x68(%rbp), %r14
leaq -0x50(%rbp), %r15
movq %rbx, %rdi
movq %r12, %rsi
movq %r14, %rcx
movq %r15, %r8
callq 0x9221b
movq (%r15), %r12
movq (%r14), %rbx
movq -0x48(%rbp), %r14
movq 0x1069b5f(%rip), %rdx   # 0x1117a20
testq %rdx, %rdx
jne 0xadee6
movl $0x1, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x1, 0x10(%rax)
movb $0x29, 0x18(%rax)
movq %rax, 0x1069b3a(%rip)   # 0x1117a20
andq %rdx, %r13
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0xadefa
incl (%r13)
leaq -0x68(%rbp), %rcx
leaq -0x50(%rbp), %r8
movq %rbx, %rdi
movq %r12, %rsi
callq 0x9221b
cmpb $0x0, -0x29(%rbp)
je 0xadf28
decl (%r14)
jne 0xadf28
movq -0x38(%rbp), %rdi
leaq 0x650de(%rip), %rsi     # 0x113001
callq 0xd13d
movq -0x50(%rbp), %rax
movq -0xd8(%rbp), %rcx
movq %rax, (%rcx)
movq -0x68(%rbp), %rax
movq -0xd0(%rbp), %rcx
movq %rax, (%rcx)
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0xf5e4
movq $0x20, 0x10(%rax)
movups 0x3275e(%rip), %xmm0    # 0xe06cd
movups %xmm0, 0x18(%rax)
movups 0x32763(%rip), %xmm0    # 0xe06dd
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x9302