// File: /workspace/github_c_makefile_star2_O1/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 $0x108, %rsp            # imm = 0x108
movq %r8, -0xd0(%rbp)
movq %rcx, %r12
movq %rdx, -0x38(%rbp)
movq %rsi, %rbx
movq %rdi, %r14
cmpq $0x0, 0x106b7a3(%rip)   # 0x111b9d0
jne 0xb0256
movl $0x7, %edi
callq 0xf9f7
movq $0x7, 0x10(%rax)
movl $0x74617473, 0x18(%rax) # imm = 0x74617473
movl $0x20636974, 0x1b(%rax) # imm = 0x20636974
movq %rax, 0x106b77a(%rip)   # 0x111b9d0
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
movq 0x106b769(%rip), %rdx   # 0x111b9d0
movq %rdx, %rax
andq %r13, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xb027e
incl (%rax)
leaq -0xc0(%rbp), %rcx
leaq -0xb8(%rbp), %r8
movq %r14, %rdi
movq %rbx, %rsi
callq 0x94972
movq -0x38(%rbp), %rcx
movq %rcx, %rax
andq %r13, %rax
movq %rax, -0x40(%rbp)
setne %al
testb $0x3, %cl
sete %sil
andb %al, %sil
cmpb $0x1, %sil
jne 0xb02be
movq -0x40(%rbp), %rax
incl (%rax)
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 0xb02df
incl (%rax)
testb %sil, %sil
movb %sil, -0x29(%rbp)
je 0xb0300
movq -0x40(%rbp), %rax
decl (%rax)
jne 0xb0300
movq -0x38(%rbp), %rdi
leaq 0x66d06(%rip), %rsi     # 0x117001
callq 0xd4e3
testl %r14d, %r14d
je 0xb0393
cmpl $0x1, %r14d
jne 0xb0cb3
movq %rbx, %rdi
callq 0xdaeb
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 0xb033d
incl (%rcx)
andq %r13, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0xb035e
decl (%rax)
jne 0xb035e
leaq 0x66d38(%rip), %rsi     # 0x117091
callq 0xd4e3
movq -0xc0(%rbp), %rdi
leaq -0x120(%rbp), %r15
movl %ebx, %esi
movq %r14, %rdx
movq %r15, %rcx
callq 0xa85ed
movq (%r15), %rdi
movq -0xb8(%rbp), %rsi
leaq -0xa8(%rbp), %r14
leaq -0x60(%rbp), %rbx
movq %rax, %rdx
jmp 0xb03f7
cmpq $0x0, 0x106b63d(%rip)   # 0x111b9d8
jne 0xb03bd
movl $0x4, %edi
callq 0xf9f7
movq $0x4, 0x10(%rax)
movl $0x64696f76, 0x18(%rax) # imm = 0x64696F76
movq %rax, 0x106b61b(%rip)   # 0x111b9d8
movq 0x106b614(%rip), %rdx   # 0x111b9d8
movq %rdx, %rax
andq %r13, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xb03db
incl (%rax)
movq -0xc0(%rbp), %rdi
movq -0xb8(%rbp), %rsi
leaq -0x120(%rbp), %r14
leaq -0xa8(%rbp), %rbx
movq %r14, %rcx
movq %rbx, %r8
callq 0x94972
movq (%rbx), %rbx
movq (%r14), %r14
cmpq $0x0, 0x106b5d0(%rip)   # 0x111b9e0
jne 0xb042f
movl $0x1, %edi
callq 0xf9f7
movq $0x1, 0x10(%rax)
movb $0x20, 0x18(%rax)
movq %rax, 0x106b5b1(%rip)   # 0x111b9e0
movq 0x106b5aa(%rip), %rdx   # 0x111b9e0
movq %rdx, %rax
andq %r13, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xb044d
incl (%rax)
leaq -0x110(%rbp), %rcx
leaq -0x108(%rbp), %r8
movq %r14, %rdi
movq %rbx, %rsi
callq 0x94972
movb -0x29(%rbp), %sil
testb %sil, %sil
je 0xb0475
movq -0x40(%rbp), %rax
incl (%rax)
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 0xb0492
incl (%rax)
testb %sil, %sil
je 0xb04af
movq -0x40(%rbp), %rax
decl (%rax)
jne 0xb04af
movq -0x38(%rbp), %rdi
leaq 0x66b57(%rip), %rsi     # 0x117001
callq 0xd4e3
movq -0x110(%rbp), %rdi
movq -0x108(%rbp), %rsi
leaq -0x100(%rbp), %rcx
leaq -0xf8(%rbp), %r8
movq %rbx, %rdx
callq 0x94972
cmpq $0x0, 0x106b50d(%rip)   # 0x111b9e8
jne 0xb04fc
movl $0x2, %edi
callq 0xf9f7
movq $0x2, 0x10(%rax)
movw $0x2820, 0x18(%rax)     # imm = 0x2820
movq %rax, 0x106b4ec(%rip)   # 0x111b9e8
movq 0x106b4e5(%rip), %rdx   # 0x111b9e8
movq %rdx, %rax
andq %r13, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xb051a
incl (%rax)
movq -0x100(%rbp), %rdi
movq -0xf8(%rbp), %rsi
leaq -0xf0(%rbp), %rcx
leaq -0xe8(%rbp), %r8
callq 0x94972
cmpq $0x0, 0x106b4ad(%rip)   # 0x111b9f0
jne 0xb055b
xorl %edi, %edi
callq 0xf9f7
movq $0x0, 0x10(%rax)
movq %rax, 0x106b495(%rip)   # 0x111b9f0
movq 0x106b48e(%rip), %rdx   # 0x111b9f0
movq %rdx, %rax
andq %r13, %rax
sete %cl
movq %rdx, -0x50(%rbp)
testb $0x3, %dl
setne %dl
orb %cl, %dl
jne 0xb057b
incl (%rax)
movb -0x29(%rbp), %sil
testb %sil, %sil
je 0xb058a
movq -0x40(%rbp), %rax
incl (%rax)
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 0xb05ab
incl (%rax)
movq %r12, -0xc8(%rbp)
testb %sil, %sil
je 0xb05cf
movq -0x40(%rbp), %rax
decl (%rax)
jne 0xb05cf
movq -0x38(%rbp), %rdi
leaq 0x66a37(%rip), %rsi     # 0x117001
callq 0xd4e3
movq -0xf0(%rbp), %rdi
movq -0xe8(%rbp), %rsi
leaq -0x120(%rbp), %r12
movq %r12, (%rsp)
leaq 0x66a59(%rip), %rdx     # 0x117048
leaq -0x128(%rbp), %r15
movl %ebx, %ecx
movq %r14, %r8
movq %r15, %r9
callq 0xb0ce3
movq %rdx, %rdi
movq (%r15), %rbx
movq (%r12), %r15
testl %eax, %eax
je 0xb0812
cmpl $0x1, %eax
jne 0xb0cb3
leaq -0xa8(%rbp), %rsi
callq 0xd450
movq %rax, %r12
movq %rdx, %r14
movq %rbx, %rdi
movq %r15, %rsi
movq -0x50(%rbp), %rdx
leaq -0x60(%rbp), %rcx
leaq -0xb0(%rbp), %r8
callq 0x94972
cmpq $0x0, 0x106b3a6(%rip)   # 0x111b9f8
jne 0xb0673
movl $0x2, %edi
callq 0xf9f7
movq $0x2, 0x10(%rax)
movw $0x202c, 0x18(%rax)     # imm = 0x202C
movq %rax, 0x106b385(%rip)   # 0x111b9f8
movq 0x106b37e(%rip), %rdx   # 0x111b9f8
movq %rdx, %rax
andq %r13, %rax
sete %cl
movq %rdx, -0x50(%rbp)
testb $0x3, %dl
setne %dl
orb %cl, %dl
jne 0xb0693
incl (%rax)
testb $0x1, %r14b
je 0xb06af
movq %r12, %rax
andq %r13, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xb06af
incl (%rax)
movl 0x18(%r12), %ebx
movq 0x20(%r12), %r15
movq %r15, %rax
andq %r13, %rax
sete %cl
testb $0x3, %r15b
setne %dl
orb %cl, %dl
jne 0xb06cf
incl (%rax)
movq %r12, %r14
andq %r13, %r14
setne %al
testb $0x3, %r12b
sete %r13b
andb %al, %r13b
cmpb $0x1, %r13b
jne 0xb06fd
decl (%r14)
jne 0xb06fd
movq %r12, %rdi
leaq 0x66999(%rip), %rsi     # 0x117091
callq 0xd4e3
movq -0x60(%rbp), %rdi
movl %ebx, %esi
movq %r15, %rdx
leaq -0x48(%rbp), %rcx
callq 0xa85ed
movq -0x48(%rbp), %rdi
movq -0xb0(%rbp), %rsi
movq %rax, %rdx
leaq -0x90(%rbp), %rcx
leaq -0x88(%rbp), %r8
callq 0x94972
cmpq $0x0, 0x106b2c8(%rip)   # 0x111ba00
jne 0xb0757
movl $0x1, %edi
callq 0xf9f7
movq $0x1, 0x10(%rax)
movb $0x20, 0x18(%rax)
movq %rax, 0x106b2a9(%rip)   # 0x111ba00
movq 0x106b2a2(%rip), %rdx   # 0x111ba00
movq %rdx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xb077f
incl (%rax)
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
leaq -0x80(%rbp), %rcx
leaq -0x78(%rbp), %r8
callq 0x94972
movq 0x28(%r12), %rbx
movq %rbx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0xb07be
incl (%rax)
testb %r13b, %r13b
je 0xb07d7
decl (%r14)
jne 0xb07d7
movq %r12, %rdi
leaq 0x668bf(%rip), %rsi     # 0x117091
callq 0xd4e3
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rsi
movq %rbx, %rdx
leaq -0x70(%rbp), %rcx
leaq -0x68(%rbp), %r8
callq 0x94972
movl -0xa8(%rbp), %eax
movq -0xa0(%rbp), %rdi
movq -0x68(%rbp), %r15
movq -0x70(%rbp), %rbx
movb $0x1, %cl
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
jmp 0xb0816
xorl %ecx, %ecx
xorl %edi, %edi
testb %cl, %cl
jne 0xb060d
movq %rdi, %rcx
andq %r13, %rcx
sete %dl
testb $0x3, %dil
setne %sil
orb %dl, %sil
jne 0xb084e
decl (%rcx)
jne 0xb084e
shlq $0x30, %rax
orq %rdi, %rax
movq %rax, %rdi
leaq 0x64a30(%rip), %rsi     # 0x115279
callq 0xd4e3
movb -0x29(%rbp), %sil
testb %sil, %sil
je 0xb085d
movq -0x40(%rbp), %rax
incl (%rax)
movq -0x38(%rbp), %rax
movl 0x28(%rax), %edi
movq 0x30(%rax), %r12
movq %r12, %rax
andq %r13, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xb087e
incl (%rax)
testb %sil, %sil
je 0xb08b0
movq -0x40(%rbp), %rax
decl (%rax)
jne 0xb08a5
movl %edi, %r14d
movq -0x38(%rbp), %rdi
leaq 0x66768(%rip), %rsi     # 0x117001
callq 0xd4e3
movl %r14d, %edi
movb -0x29(%rbp), %sil
testb %sil, %sil
je 0xb08b0
movq -0x40(%rbp), %rax
incl (%rax)
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 0xb08d3
incl (%rax)
testb %sil, %sil
je 0xb0908
movq -0x40(%rbp), %rax
decl (%rax)
jne 0xb0908
movl %edi, -0x98(%rbp)
movq -0x38(%rbp), %rdi
leaq 0x66710(%rip), %rsi     # 0x117001
movl %edx, -0x94(%rbp)
callq 0xd4e3
movl -0x94(%rbp), %edx
movl -0x98(%rbp), %edi
movq %r12, %rsi
movq %r14, %rcx
callq 0x293eb
movq %rdx, %r8
leaq -0xa8(%rbp), %rcx
movq %rcx, (%rsp)
leaq 0x66720(%rip), %rdx     # 0x117048
leaq -0xb0(%rbp), %r14
movq %rbx, %rdi
movq %r15, %rsi
movl %eax, %ecx
movq %r14, %r9
callq 0xb0ce3
movq %rdx, %rdi
movq (%r14), %rbx
movq -0xa8(%rbp), %r12
testl %eax, %eax
je 0xb0b4d
cmpl $0x1, %eax
jne 0xb0cb3
leaq -0x60(%rbp), %rsi
callq 0xd450
movq %rax, %r14
movq %rdx, %r15
movq %rbx, %rdi
movq %r12, %rsi
movq -0x50(%rbp), %rdx
leaq -0x48(%rbp), %rcx
leaq -0x90(%rbp), %r8
callq 0x94972
cmpq $0x0, 0x106b07a(%rip)   # 0x111ba08
jne 0xb09af
movl $0x2, %edi
callq 0xf9f7
movq $0x2, 0x10(%rax)
movw $0x202c, 0x18(%rax)     # imm = 0x202C
movq %rax, 0x106b059(%rip)   # 0x111ba08
movq 0x106b052(%rip), %rdx   # 0x111ba08
movq %rdx, %rax
andq %r13, %rax
sete %cl
movq %rdx, -0x50(%rbp)
testb $0x3, %dl
setne %dl
orb %cl, %dl
jne 0xb09cf
incl (%rax)
testb $0x1, %r15b
je 0xb09eb
movq %r14, %rax
andq %r13, %rax
sete %cl
testb $0x3, %r14b
setne %dl
orb %cl, %dl
jne 0xb09eb
incl (%rax)
movl 0x18(%r14), %ebx
movq 0x20(%r14), %r12
movq %r12, %rax
andq %r13, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xb0a09
incl (%rax)
movq %r14, %r15
andq %r13, %r15
setne %al
testb $0x3, %r14b
sete %r13b
andb %al, %r13b
cmpb $0x1, %r13b
jne 0xb0a37
decl (%r15)
jne 0xb0a37
movq %r14, %rdi
leaq 0x6665f(%rip), %rsi     # 0x117091
callq 0xd4e3
movq -0x48(%rbp), %rdi
movl %ebx, %esi
movq %r12, %rdx
leaq -0x88(%rbp), %rcx
callq 0xa85ed
movq -0x88(%rbp), %rdi
movq -0x90(%rbp), %rsi
movq %rax, %rdx
leaq -0x80(%rbp), %rcx
leaq -0x78(%rbp), %r8
callq 0x94972
cmpq $0x0, 0x106af9e(%rip)   # 0x111ba10
jne 0xb0a93
movl $0x2, %edi
callq 0xf9f7
movq $0x2, 0x10(%rax)
movw $0x2a20, 0x18(%rax)     # imm = 0x2A20
movq %rax, 0x106af7d(%rip)   # 0x111ba10
movq 0x106af76(%rip), %rdx   # 0x111ba10
movq %rdx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xb0abb
incl (%rax)
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rsi
leaq -0x70(%rbp), %rcx
leaq -0x68(%rbp), %r8
callq 0x94972
movq 0x28(%r14), %rbx
movq %rbx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0xb0af3
incl (%rax)
testb %r13b, %r13b
je 0xb0b0c
decl (%r15)
jne 0xb0b0c
movq %r14, %rdi
leaq 0x6658a(%rip), %rsi     # 0x117091
callq 0xd4e3
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq %rbx, %rdx
leaq -0xe0(%rbp), %rcx
leaq -0xd8(%rbp), %r8
callq 0x94972
movl -0x60(%rbp), %eax
movq -0x58(%rbp), %rdi
movq -0xd8(%rbp), %r12
movq -0xe0(%rbp), %rbx
movb $0x1, %cl
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
jmp 0xb0b51
xorl %ecx, %ecx
xorl %edi, %edi
testb %cl, %cl
jne 0xb094c
movq %rdi, %rcx
andq %r13, %rcx
sete %dl
testb $0x3, %dil
setne %sil
orb %dl, %sil
jne 0xb0b89
decl (%rcx)
jne 0xb0b89
shlq $0x30, %rax
orq %rdi, %rax
movq %rax, %rdi
leaq 0x646f5(%rip), %rsi     # 0x115279
callq 0xd4e3
movq -0x50(%rbp), %rdi
callq 0xe740
movq %rax, %rdi
callq 0xe7a9
movl $0x1, %esi
movq %rax, %rdi
callq 0xec04
testl %eax, %eax
jne 0xb0c12
cmpq $0x0, 0x106ae65(%rip)   # 0x111ba18
jne 0xb0bd5
movl $0x4, %edi
callq 0xf9f7
movq $0x4, 0x10(%rax)
movl $0x64696f76, 0x18(%rax) # imm = 0x64696F76
movq %rax, 0x106ae43(%rip)   # 0x111ba18
movq 0x106ae3c(%rip), %rdx   # 0x111ba18
movq %rdx, %rax
andq %r13, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xb0bf3
incl (%rax)
leaq -0x60(%rbp), %r14
leaq -0x48(%rbp), %r15
movq %rbx, %rdi
movq %r12, %rsi
movq %r14, %rcx
movq %r15, %r8
callq 0x94972
movq (%r15), %r12
movq (%r14), %rbx
cmpq $0x0, 0x106ae06(%rip)   # 0x111ba20
jne 0xb0c39
movl $0x1, %edi
callq 0xf9f7
movq $0x1, 0x10(%rax)
movb $0x29, 0x18(%rax)
movq %rax, 0x106ade7(%rip)   # 0x111ba20
movq 0x106ade0(%rip), %rdx   # 0x111ba20
andq %rdx, %r13
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0xb0c54
incl (%r13)
leaq -0x60(%rbp), %rcx
leaq -0x48(%rbp), %r8
movq %rbx, %rdi
movq %r12, %rsi
callq 0x94972
cmpb $0x0, -0x29(%rbp)
je 0xb0c85
movq -0x40(%rbp), %rax
decl (%rax)
jne 0xb0c85
movq -0x38(%rbp), %rdi
leaq 0x66381(%rip), %rsi     # 0x117001
callq 0xd4e3
movq -0x48(%rbp), %rax
movq -0xd0(%rbp), %rcx
movq %rax, (%rcx)
movq -0x60(%rbp), %rax
movq -0xc8(%rbp), %rcx
movq %rax, (%rcx)
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0xf9f7
movq $0x20, 0x10(%rax)
movups 0x33a81(%rip), %xmm0    # 0xe474d
movups %xmm0, 0x18(%rax)
movups 0x33a86(%rip), %xmm0    # 0xe475d
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x95a5