// File: /workspace/github_c_makefile_star2_O2/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_c99zeintzfnatzx
static void mw_mirth_c99_c99zeintzfnatzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, INT in_Int_3, struct mirth_c99_C99ReprType in_C99ReprType_4, struct mirth_mirth_zaMirth* *out_zaMirth_5, struct mirth_c99_zaC99Branch* *out_zaC99Branch_6) {
	incref(MKINT(in_Int_3));
	bool v7 = mw_std_prim_Int_inzei63zerangezy(in_Int_3);
	struct mirth_mirth_zaMirth* branch_zaMirth_8;
	struct mirth_c99_zaC99Branch* branch_zaC99Branch_9;
	if (v7) {
		incref(MK_mirth_c99_C99ReprType(in_C99ReprType_4));
		struct mirth_mirth_zaMirth* v10;
		bool v11 = mw_mirth_c99_C99ReprType_iszephysicalzy(in_zaMirth_1, in_C99ReprType_4, &v10);
		INT branch_Int_12;
		struct mirth_c99_C99ReprType branch_C99ReprType_13;
		bool branch_Bool_14;
		struct mirth_mirth_zaMirth* branch_zaMirth_15;
		STR* branch_Str_16;
		struct mirth_c99_zaC99Branch* branch_zaC99Branch_17;
		if (v11) {
			struct mirth_c99_zaC99* r18 = in_zaC99Branch_2->mzac99;
			struct mirth_mirth_zaMirth* v19;
			struct mirth_c99_zaC99* v20;
			STR* v21 = mw_mirth_c99_zaC99_freshzenamezx(v10, r18, &v19, &v20);
			in_zaC99Branch_2->mzac99 = v20;
			branch_zaC99Branch_17 = in_zaC99Branch_2;
			branch_Str_16 = v21;
			branch_zaMirth_15 = v19;
			branch_Bool_14 = v11;
			branch_C99ReprType_13 = in_C99ReprType_4;
			branch_Int_12 = in_Int_3;
		} else {
			STR* v22;
			STRLIT(v22, "0", 1);
			branch_zaC99Branch_17 = in_zaC99Branch_2;
			branch_Str_16 = v22;
			branch_zaMirth_15 = v10;
			branch_Bool_14 = v11;
			branch_C99ReprType_13 = in_C99ReprType_4;
			branch_Int_12 = in_Int_3;
		}
		bool v23 = branch_zaC99Branch_17->mreachable;
		bool v24 = (branch_Bool_14 && v23);
		struct mirth_c99_zaC99* r25 = branch_zaC99Branch_17->mzac99;
		bool v26 = r25->mputzeenabled;
		bool v27 = (v24 && v26);
		r25->mputzeenabled = v27;
		struct mirth_mirth_zaMirth* v28;
		struct mirth_c99_zaC99* v29;
		mw_mirth_c99_zaC99_indent(branch_zaMirth_15, r25, &v28, &v29);
		incref(MK_mirth_c99_C99ReprType(branch_C99ReprType_13));
		struct mirth_mirth_zaMirth* v30;
		STR* v31 = mw_mirth_c99_C99ReprType_underlyingzec99zetype(v28, branch_C99ReprType_13, &v30);
		struct mirth_mirth_zaMirth* v32;
		struct mirth_c99_zaC99* v33;
		mw_mirth_c99_zaC99_put(v30, v29, v31, &v32, &v33);
		STR* v34;
		STRLIT(v34, " ", 1);
		struct mirth_mirth_zaMirth* v35;
		struct mirth_c99_zaC99* v36;
		mw_mirth_c99_zaC99_put(v32, v33, v34, &v35, &v36);
		incref(MKSTR(branch_Str_16));
		struct mirth_mirth_zaMirth* v37;
		struct mirth_c99_zaC99* v38;
		mw_mirth_c99_zaC99_put(v35, v36, branch_Str_16, &v37, &v38);
		STR* v39;
		STRLIT(v39, " = ", 3);
		struct mirth_mirth_zaMirth* v40;
		struct mirth_c99_zaC99* v41;
		mw_mirth_c99_zaC99_put(v37, v38, v39, &v40, &v41);
		struct mirth_c99_zaC99Value* v42;
		mtw_mirth_c99_zaC99Value_zaC99Value(branch_C99ReprType_13, branch_Str_16, &v42);
		STR* v43;
		STRLIT(v43, "WRAP_I63(", 9);
		struct mirth_mirth_zaMirth* v44;
		struct mirth_c99_zaC99* v45;
		mw_mirth_c99_zaC99_put(v40, v41, v43, &v44, &v45);
		STR* v46 = int_to_str(branch_Int_12);
		struct mirth_mirth_zaMirth* v47;
		struct mirth_c99_zaC99* v48;
		mw_mirth_c99_zaC99_put(v44, v45, v46, &v47, &v48);
		STR* v49;
		STRLIT(v49, "LL)", 3);
		struct mirth_mirth_zaMirth* v50;
		struct mirth_c99_zaC99* v51;
		mw_mirth_c99_zaC99_put(v47, v48, v49, &v50, &v51);
		STR* v52;
		STRLIT(v52, ";", 1);
		struct mirth_mirth_zaMirth* v53;
		struct mirth_c99_zaC99* v54;
		mw_mirth_c99_zaC99_put(v50, v51, v52, &v53, &v54);
		struct mirth_mirth_zaMirth* v55;
		struct mirth_c99_zaC99* v56;
		mw_mirth_c99_zaC99_line(v53, v54, &v55, &v56);
		v56->mputzeenabled = v26;
		branch_zaC99Branch_17->mzac99 = v56;
		struct mirth_mirth_zaMirth* v57;
		struct mirth_c99_zaC99Branch* v58;
		mw_mirth_c99_zaC99Value_pushzevaluezx(v55, branch_zaC99Branch_17, v42, &v57, &v58);
		branch_zaC99Branch_9 = v58;
		branch_zaMirth_8 = v57;
	} else {
		struct std_list_List_1 v59 = mw_std_prim_Int_c99zeradixes(in_Int_3);
		incref(MK_std_list_List_1(v59));
		INT v60 = mw_std_list_List_1_len(v59);
		INT v61 = v60;
		STR* v62 = int_to_str(v61);
		struct mirth_c99_zaC99* r63 = in_zaC99Branch_2->mzac99;
		struct mirth_mirth_zaMirth* v64;
		struct mirth_c99_zaC99* v65;
		STR* v66 = mw_mirth_c99_zaC99_freshzenamezx(in_zaMirth_1, r63, &v64, &v65);
		in_zaC99Branch_2->mzac99 = v65;
		bool v67 = in_zaC99Branch_2->mreachable;
		struct mirth_c99_zaC99* r68 = in_zaC99Branch_2->mzac99;
		bool v69 = r68->mputzeenabled;
		bool v70 = (v67 && v69);
		r68->mputzeenabled = v70;
		struct mirth_mirth_zaMirth* v71;
		struct mirth_c99_zaC99* v72;
		mw_mirth_c99_zaC99_indent(v64, r68, &v71, &v72);
		STR* v73;
		STRLIT(v73, "static struct BIG_S(", 20);
		struct mirth_mirth_zaMirth* v74;
		struct mirth_c99_zaC99* v75;
		mw_mirth_c99_zaC99_put(v71, v72, v73, &v74, &v75);
		incref(MKSTR(v62));
		struct mirth_mirth_zaMirth* v76;
		struct mirth_c99_zaC99* v77;
		mw_mirth_c99_zaC99_put(v74, v75, v62, &v76, &v77);
		STR* v78;
		STRLIT(v78, ") ", 2);
		struct mirth_mirth_zaMirth* v79;
		struct mirth_c99_zaC99* v80;
		mw_mirth_c99_zaC99_put(v76, v77, v78, &v79, &v80);
		incref(MKSTR(v66));
		struct mirth_mirth_zaMirth* v81;
		struct mirth_c99_zaC99* v82;
		mw_mirth_c99_zaC99_put(v79, v80, v66, &v81, &v82);
		STR* v83;
		STRLIT(v83, " = { .refs=100, .cap=", 21);
		struct mirth_mirth_zaMirth* v84;
		struct mirth_c99_zaC99* v85;
		mw_mirth_c99_zaC99_put(v81, v82, v83, &v84, &v85);
		incref(MKSTR(v62));
		struct mirth_mirth_zaMirth* v86;
		struct mirth_c99_zaC99* v87;
		mw_mirth_c99_zaC99_put(v84, v85, v62, &v86, &v87);
		STR* v88;
		STRLIT(v88, ", .size=", 8);
		struct mirth_mirth_zaMirth* v89;
		struct mirth_c99_zaC99* v90;
		mw_mirth_c99_zaC99_put(v86, v87, v88, &v89, &v90);
		struct mirth_mirth_zaMirth* v91;
		struct mirth_c99_zaC99* v92;
		mw_mirth_c99_zaC99_put(v89, v90, v62, &v91, &v92);
		STR* v93;
		STRLIT(v93, ", .radix={", 10);
		struct mirth_mirth_zaMirth* v94;
		struct mirth_c99_zaC99* v95;
		mw_mirth_c99_zaC99_put(v91, v92, v93, &v94, &v95);
		bool v96 = true;
		struct mirth_mirth_zaMirth* r97 = v94;
		struct mirth_c99_zaC99* r98 = v95;
		struct std_list_List_1 v99 = v59;
		bool v100 = v96;
		bool v101 = v96;
		while (v101) {
			struct mirth_mirth_zaMirth* r102 = r97;
			struct mirth_c99_zaC99* r103 = r98;
			struct std_list_List_1 v104 = v99;
			bool v105 = v100;
			struct mirth_mirth_zaMirth* branch_zaMirth_106;
			struct mirth_c99_zaC99* branch_zaC99_107;
			struct std_list_List_1 branch_List_108;
			bool branch_Bool_109;
			switch ((v104).tag) {
				case std_list_List_1_Cons: {
					struct std_list_List_1 v110;
					VAL v111 = mtp_std_list_List_1_Cons(v104, &v110);
					STR* v112;
					STRLIT(v112, "", 0);
					uint64_t v113 = (uint64_t)(value_u32(v111));
					INT v114 = u64_to_int(v113);
					INT v115 = v114;
					STR* v116;
					STRLIT(v116, "0x", 2);
					STR* v117;
					mw_std_str_zaStr_pushzestrzx(v116, v112, &v117);
					INT v118 = mw_std_number_Base_Hex();
					STR* v119;
					mw_std_number_Base_digitszj(v117, v115, v118, &v119);
					struct mirth_mirth_zaMirth* v120;
					struct mirth_c99_zaC99* v121;
					mw_mirth_c99_zaC99_put(r102, r103, v119, &v120, &v121);
					STR* v122;
					STRLIT(v122, ",", 1);
					struct mirth_mirth_zaMirth* v123;
					struct mirth_c99_zaC99* v124;
					mw_mirth_c99_zaC99_put(v120, v121, v122, &v123, &v124);
					bool v125 = true;
					branch_Bool_109 = v125;
					branch_List_108 = v110;
					branch_zaC99_107 = v124;
					branch_zaMirth_106 = v123;
				} break;
				case std_list_List_1_Nil: {
					struct std_list_List_1 v126 = { .tag=std_list_List_1_Nil };
					bool v127 = false;
					branch_Bool_109 = v127;
					branch_List_108 = v126;
					branch_zaC99_107 = r103;
					branch_zaMirth_106 = r102;
				} break;
				default: {
					do_panic(str_make("unexpected fallthrough in match\n", 32));
				}
			}
			v101 = branch_Bool_109;
			v100 = branch_Bool_109;
			v99 = branch_List_108;
			r98 = branch_zaC99_107;
			r97 = branch_zaMirth_106;
		}
		decref(MK_std_list_List_1(v99));
		STR* v128;
		STRLIT(v128, "} };", 4);
		struct mirth_mirth_zaMirth* v129;
		struct mirth_c99_zaC99* v130;
		mw_mirth_c99_zaC99_put(r97, r98, v128, &v129, &v130);
		struct mirth_mirth_zaMirth* v131;
		struct mirth_c99_zaC99* v132;
		mw_mirth_c99_zaC99_line(v129, v130, &v131, &v132);
		v132->mputzeenabled = v69;
		in_zaC99Branch_2->mzac99 = v132;
		bool v133 = in_zaC99Branch_2->mreachable;
		struct mirth_c99_zaC99* r134 = in_zaC99Branch_2->mzac99;
		bool v135 = r134->mputzeenabled;
		bool v136 = (v133 && v135);
		r134->mputzeenabled = v136;
		struct mirth_mirth_zaMirth* v137;
		struct mirth_c99_zaC99* v138;
		mw_mirth_c99_zaC99_indent(v131, r134, &v137, &v138);
		incref(MKSTR(v66));
		struct mirth_mirth_zaMirth* v139;
		struct mirth_c99_zaC99* v140;
		mw_mirth_c99_zaC99_put(v137, v138, v66, &v139, &v140);
		STR* v141;
		STRLIT(v141, ".refs++;", 8);
		struct mirth_mirth_zaMirth* v142;
		struct mirth_c99_zaC99* v143;
		mw_mirth_c99_zaC99_put(v139, v140, v141, &v142, &v143);
		struct mirth_mirth_zaMirth* v144;
		struct mirth_c99_zaC99* v145;
		mw_mirth_c99_zaC99_line(v142, v143, &v144, &v145);
		v145->mputzeenabled = v135;
		in_zaC99Branch_2->mzac99 = v145;
		STR* v146;
		STRLIT(v146, "", 0);
		STR* v147;
		STRLIT(v147, "WRAP_BIG(&", 10);
		STR* v148;
		mw_std_str_zaStr_pushzestrzx(v147, v146, &v148);
		STR* v149;
		mw_std_str_zaStr_pushzestrzx(v66, v148, &v149);
		STR* v150;
		STRLIT(v150, ")", 1);
		STR* v151;
		mw_std_str_zaStr_pushzestrzx(v150, v149, &v151);
		struct mirth_c99_zaC99Value* v152;
		mtw_mirth_c99_zaC99Value_zaC99Value(in_C99ReprType_4, v151, &v152);
		struct mirth_mirth_zaMirth* v153;
		struct mirth_c99_zaC99Branch* v154;
		mw_mirth_c99_zaC99Value_pushzevaluezx(v144, in_zaC99Branch_2, v152, &v153, &v154);
		branch_zaC99Branch_9 = v154;
		branch_zaMirth_8 = v153;
	}
	*out_zaC99Branch_6 = branch_zaC99Branch_9;
	*out_zaMirth_5 = branch_zaMirth_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x178, %rsp            # imm = 0x178
movq %r9, -0x138(%rbp)
movq %r8, -0x140(%rbp)
movl %ecx, -0x30(%rbp)
movq %rdx, %r13
movq %rsi, %r12
movq %rdi, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
movq %rdx, %r14
andq %rax, %r14
setne %al
testb $0x3, %r13b
sete %r15b
andb %al, %r15b
cmpb $0x1, %r15b
jne 0xc743c
addl $0x2, (%r14)
movabsq $0x7fffffffffffffff, %rbx # imm = 0x7FFFFFFFFFFFFFFF
leaq 0x2(%rbx), %rdi
movq %r13, %rsi
callq 0xdfd4
testb %al, %al
movq %r12, -0x50(%rbp)
je 0xc74bb
movq %r13, %rdi
movq %rbx, %rsi
callq 0xdfd4
testb %al, %al
je 0xc74d4
leaq -0x48(%rbp), %rcx
movq -0x38(%rbp), %rdi
movl -0x30(%rbp), %esi
xorl %edx, %edx
callq 0x9e05c
movl %eax, %r14d
testb %al, %al
je 0xc7d60
movq (%r12), %rsi
movq -0x48(%rbp), %rdi
leaq -0x60(%rbp), %r15
leaq -0x128(%rbp), %r12
movq %r15, %rdx
movq %r12, %rcx
callq 0xa5737
movq %rax, %rbx
movq (%r12), %rsi
movq -0x50(%rbp), %r12
movq %rsi, (%r12)
movq (%r15), %rdi
jmp 0xc7dac
testb %r15b, %r15b
je 0xc74d4
decl (%r14)
jne 0xc74d4
movq %r13, %rdi
leaq 0x40f5a(%rip), %rsi     # 0x108429
callq 0xce94
xorl %edi, %edi
xorl %esi, %esi
callq 0xcd32
movl %eax, %r12d
movq %rdx, %r15
movb $0x1, %al
pushq $0x1
popq %rbx
testb $0x1, %al
je 0xc758b
movq %r13, %rdi
movabsq $0x200000001, %rsi      # imm = 0x200000001
leaq -0x60(%rbp), %rdx
callq 0x13166
movq %rax, %r13
movq -0x60(%rbp), %rdi
callq 0xdc43
movq %rax, %r14
movl %r14d, %edi
leaq 0x42d69(%rip), %rsi     # 0x10a288
movl %r12d, %edx
movq %r15, %rcx
leaq -0x48(%rbp), %r8
callq 0x8e35
andl $0x80000000, %r14d      # imm = 0x80000000
movq %r14, %rdi
callq 0xdbc8
movq %rax, %rdi
movq %rbx, %rsi
callq 0xd759
movq %r13, %rcx
movabsq $0xfffffffffffc, %rdx   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rcx
sete %dl
testb $0x3, %r13b
setne %sil
orb %dl, %sil
jne 0xc756a
incl (%rcx)
movzbl %al, %esi
decq %rsi
orq $0x1, %rsi
movq %r13, %rdi
callq 0xd759
movq -0x40(%rbp), %r15
movl -0x48(%rbp), %r12d
xorb $0x1, %al
jmp 0xc74e8
movq %r13, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0xc75bc
decl (%rax)
jne 0xc75bc
movq %r13, %rdi
leaq 0x40e72(%rip), %rsi     # 0x108429
callq 0xce94
movl %r12d, %edi
movq %r15, %rsi
callq 0xcd32
movl %eax, %r14d
movq %rdx, %r12
movq %rdx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xc75ed
incl (%rax)
movl %r14d, %edi
movq %r12, %rsi
callq 0x10bca
movq %rax, %rdi
callq 0xf51c
movq %rax, -0x58(%rbp)
movq -0x50(%rbp), %r15
movq (%r15), %rsi
leaq -0x60(%rbp), %rbx
leaq -0x128(%rbp), %r13
movq -0x38(%rbp), %rdi
movq %rbx, %rdx
movq %r13, %rcx
callq 0xa5737
movq %rax, -0x38(%rbp)
movq (%r13), %rsi
movq %rsi, (%r15)
movl 0x18(%rsi), %r13d
xorl %eax, %eax
cmpb $0x0, 0x28(%r15)
cmovnel %r13d, %eax
movb %al, 0x18(%rsi)
movq (%rbx), %rdi
leaq -0x120(%rbp), %rdx
leaq -0xd8(%rbp), %rcx
callq 0x8bc28
movq 0x1047da1(%rip), %rdx   # 0x110f400
testq %rdx, %rdx
jne 0xc767d
leaq 0x26d03(%rip), %rdi     # 0xee36e
pushq $0x14
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1047d83(%rip)   # 0x110f400
movl %r13d, -0xdc(%rbp)
movq %rdx, %rax
movabsq $0xfffffffffffc, %r15   # imm = 0xFFFFFFFFFFFC
andq %r15, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xc76a5
incl (%rax)
movq -0x120(%rbp), %rdi
movq -0xd8(%rbp), %rsi
leaq -0xd0(%rbp), %rcx
leaq -0xc8(%rbp), %r8
callq 0x8a8a9
movq -0x58(%rbp), %rcx
movq %rcx, %rbx
andq %r15, %rbx
setne %al
testb $0x3, %cl
sete %r13b
andb %al, %r13b
cmpb $0x1, %r13b
jne 0xc76e5
incl (%rbx)
movq -0xd0(%rbp), %rdi
movq -0xc8(%rbp), %rsi
leaq -0xc0(%rbp), %rcx
leaq -0xb8(%rbp), %r8
movq -0x58(%rbp), %rdx
callq 0x8a8a9
movq 0x1047cf7(%rip), %rdx   # 0x110f408
testq %rdx, %rdx
jne 0xc772f
leaq 0x25796(%rip), %rdi     # 0xeceb3
pushq $0x2
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1047cd9(%rip)   # 0x110f408
movq %rdx, %rax
andq %r15, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xc7746
incl (%rax)
movq -0xc0(%rbp), %rdi
movq -0xb8(%rbp), %rsi
leaq -0xb0(%rbp), %rcx
leaq -0xa8(%rbp), %r8
callq 0x8a8a9
movq -0x38(%rbp), %rcx
movq %rcx, %rdx
andq %r15, %rdx
setne %al
testb $0x3, %cl
sete %cl
andb %al, %cl
movb %cl, -0x29(%rbp)
cmpb $0x1, %cl
jne 0xc7786
incl (%rdx)
movq %rdx, -0x130(%rbp)
movq -0xb0(%rbp), %rdi
movq -0xa8(%rbp), %rsi
leaq -0xa0(%rbp), %rcx
leaq -0x98(%rbp), %r8
movq -0x38(%rbp), %rdx
callq 0x8a8a9
movq 0x1047c57(%rip), %rdx   # 0x110f410
testq %rdx, %rdx
jne 0xc77d7
leaq 0x26bbe(%rip), %rdi     # 0xee383
pushq $0x15
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1047c39(%rip)   # 0x110f410
movq %rdx, %rax
andq %r15, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xc77ee
incl (%rax)
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rsi
leaq -0x118(%rbp), %rcx
leaq -0x110(%rbp), %r8
callq 0x8a8a9
testb %r13b, %r13b
je 0xc7816
incl (%rbx)
movq -0x118(%rbp), %rdi
movq -0x110(%rbp), %rsi
leaq -0x90(%rbp), %rcx
leaq -0x88(%rbp), %r8
movq -0x58(%rbp), %rdx
callq 0x8a8a9
movq 0x1047bd6(%rip), %rdx   # 0x110f418
testq %rdx, %rdx
jne 0xc7860
leaq 0x26b4b(%rip), %rdi     # 0xee399
pushq $0x8
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1047bb8(%rip)   # 0x110f418
movq %rdx, %rax
andq %r15, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xc7877
incl (%rax)
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
leaq -0x108(%rbp), %rbx
leaq -0x100(%rbp), %r13
movq %rbx, %rcx
movq %r13, %r8
callq 0x8a8a9
movq (%rbx), %rdi
movq (%r13), %rsi
leaq -0xf8(%rbp), %rcx
leaq -0xf0(%rbp), %r8
movq -0x58(%rbp), %rdx
callq 0x8a8a9
movq 0x1047b5d(%rip), %rdx   # 0x110f420
testq %rdx, %rdx
jne 0xc78e1
leaq 0x26ad3(%rip), %rdi     # 0xee3a2
pushq $0xa
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1047b3f(%rip)   # 0x110f420
movq %rdx, %rax
andq %r15, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xc78f8
incl (%rax)
movq -0xf8(%rbp), %rdi
movq -0xf0(%rbp), %rsi
leaq -0x168(%rbp), %rbx
leaq -0x160(%rbp), %r15
movq %rbx, %rcx
movq %r15, %r8
callq 0x8a8a9
movq (%rbx), %r13
movq (%r15), %r15
leaq -0x48(%rbp), %rsi
leaq -0x80(%rbp), %rbx
movb $0x1, %al
movq %r12, %rdi
testb $0x1, %al
je 0xc7ab4
xorl %eax, %eax
movl $0x0, %r12d
testl %r14d, %r14d
je 0xc792f
cmpl $0x1, %r14d
jne 0xc80d1
movq %r15, %r12
movq %rbx, %r15
callq 0xce01
movq %rax, %rdi
movq %rdx, %r14
movq 0x1047abf(%rip), %rbx   # 0x110f428
testq %rbx, %rbx
jne 0xc798c
movq %rdi, %rbx
leaq 0x14d7d(%rip), %rdi     # 0xdc6f5
xorl %esi, %esi
callq 0x8a21
movq %rbx, %rdi
movq %rax, %rbx
movq %rax, 0x1047a9c(%rip)   # 0x110f428
movq %rbx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0xc79ab
incl (%rax)
leaq 0x428d6(%rip), %rax     # 0x10a288
cmpq %rax, %r14
jne 0xc80e8
movl %edi, %edi
callq 0xdbc8
movq %rax, %r14
movq 0x1047a64(%rip), %rsi   # 0x110f430
testq %rsi, %rsi
jne 0xc79ea
leaq 0xdb65(%rip), %rdi      # 0xd553d
pushq $0x2
popq %rsi
callq 0x8a21
movq %rax, %rsi
movq %rax, 0x1047a46(%rip)   # 0x110f430
movq %rsi, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0xc7a0a
incl (%rax)
movq %rbx, %rdi
callq 0xd8b0
movq %rax, %rdi
movq %r14, %rsi
movq %r15, %rbx
movq %r15, %rdx
callq 0x9746e
movq -0x80(%rbp), %rdx
movq %r13, %rdi
movq %r12, %rsi
leaq -0x78(%rbp), %rcx
leaq -0xe8(%rbp), %r8
callq 0x8a8a9
movq 0x10479f4(%rip), %rdx   # 0x110f438
testq %rdx, %rdx
jne 0xc7a62
leaq 0x25c57(%rip), %rdi     # 0xed6a7
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x10479d6(%rip)   # 0x110f438
movq %rdx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xc7a83
incl (%rax)
movq -0x78(%rbp), %rdi
movq -0xe8(%rbp), %rsi
leaq -0x70(%rbp), %rcx
leaq -0x68(%rbp), %r8
callq 0x8a8a9
movl -0x48(%rbp), %r14d
movq -0x40(%rbp), %r12
movq -0x68(%rbp), %r15
movq -0x70(%rbp), %r13
leaq -0x48(%rbp), %rsi
jmp 0xc792d
movq %rdi, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0xc7aec
decl (%rax)
jne 0xc7aec
shlq $0x30, %r14
orq %rdi, %r14
movq %r14, %rdi
leaq 0x40792(%rip), %rsi     # 0x108279
callq 0xce94
movq 0x104794d(%rip), %rdx   # 0x110f440
testq %rdx, %rdx
movq -0x50(%rbp), %r12
jne 0xc7b15
leaq 0x268aa(%rip), %rdi     # 0xee3ad
pushq $0x4
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x104792b(%rip)   # 0x110f440
movq %rdx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xc7b36
incl (%rax)
leaq -0x48(%rbp), %rbx
leaq -0x80(%rbp), %r14
movq %r13, %rdi
movq %r15, %rsi
movq %rbx, %rcx
movq %r14, %r8
callq 0x8a8a9
movq (%rbx), %rdi
movq (%r14), %rsi
leaq -0x78(%rbp), %rbx
leaq -0xe8(%rbp), %r14
movq %rbx, %rdx
movq %r14, %rcx
callq 0x8a92c
movq (%r14), %rsi
movq %rsi, (%r12)
movl -0xdc(%rbp), %r13d
movzbl %r13b, %eax
xorl %ecx, %ecx
cmpb $0x0, 0x28(%r12)
cmovnel %eax, %ecx
movb %cl, 0x18(%rsi)
movq (%rbx), %rdi
leaq -0x70(%rbp), %rdx
leaq -0x68(%rbp), %rcx
callq 0x8bc28
cmpb $0x0, -0x29(%rbp)
je 0xc7baa
movq -0x130(%rbp), %rax
incl (%rax)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
leaq -0x158(%rbp), %rcx
leaq -0x150(%rbp), %r8
movq -0x38(%rbp), %rdx
callq 0x8a8a9
movq 0x1047878(%rip), %rdx   # 0x110f448
testq %rdx, %rdx
movabsq $0xfffffffffffc, %r15   # imm = 0xFFFFFFFFFFFC
jne 0xc7bf8
leaq 0x267cc(%rip), %rdi     # 0xee3b2
pushq $0x8
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1047850(%rip)   # 0x110f448
movq %rdx, %rax
andq %r15, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xc7c0f
incl (%rax)
movq -0x158(%rbp), %rdi
movq -0x150(%rbp), %rsi
leaq -0x198(%rbp), %rbx
leaq -0x190(%rbp), %r14
movq %rbx, %rcx
movq %r14, %r8
callq 0x8a8a9
movq (%rbx), %rdi
movq (%r14), %rsi
leaq -0x148(%rbp), %rdx
leaq -0x188(%rbp), %rbx
movq %rbx, %rcx
callq 0x8a92c
movq (%rbx), %rax
movb %r13b, 0x18(%rax)
movq %rax, (%r12)
movq 0x10477ec(%rip), %rbx   # 0x110f450
testq %rbx, %rbx
jne 0xc7c81
leaq 0x14a85(%rip), %rdi     # 0xdc6f5
xorl %esi, %esi
callq 0x8a21
movq %rax, %rbx
movq %rax, 0x10477cf(%rip)   # 0x110f450
movq %rbx, %rax
andq %r15, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0xc7c96
incl (%rax)
movq 0x10477bb(%rip), %rsi   # 0x110f458
testq %rsi, %rsi
jne 0xc7cbb
leaq 0x26712(%rip), %rdi     # 0xee3bb
pushq $0xa
popq %rsi
callq 0x8a21
movq %rax, %rsi
movq %rax, 0x104779d(%rip)   # 0x110f458
movq %rsi, %rax
andq %r15, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0xc7cd1
incl (%rax)
movq %rbx, %rdi
callq 0xd8b0
movq %rax, %rdi
movq -0x38(%rbp), %rsi
callq 0xd8b0
movq %rax, %rbx
movq 0x1047771(%rip), %rsi   # 0x110f460
testq %rsi, %rsi
jne 0xc7d0d
leaq 0x26402(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %rsi
movq %rax, 0x1047753(%rip)   # 0x110f460
andq %rsi, %r15
sete %al
testb $0x3, %sil
setne %cl
orb %al, %cl
jne 0xc7d21
incl (%r15)
movq %rbx, %rdi
callq 0xd8b0
leaq -0x180(%rbp), %rbx
movl -0x30(%rbp), %edi
xorl %esi, %esi
movq %rax, %rdx
movq %rbx, %rcx
callq 0xa496b
movq -0x148(%rbp), %rdi
movq (%rbx), %rdx
leaq -0x178(%rbp), %rbx
leaq -0x170(%rbp), %r14
movq %r12, %rsi
jmp 0xc809a
movq 0x1047669(%rip), %rbx   # 0x110f3d0
testq %rbx, %rbx
jne 0xc7d85
leaq 0x26802(%rip), %rdi     # 0xee575
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %rbx
movq %rax, 0x104764b(%rip)   # 0x110f3d0
movq %rbx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0xc7da4
incl (%rax)
movq -0x48(%rbp), %rdi
movq (%r12), %rsi
xorl %eax, %eax
testb %r14b, 0x28(%r12)
movl 0x18(%rsi), %r12d
cmovnel %r12d, %eax
movb %al, 0x18(%rsi)
leaq -0x60(%rbp), %r14
leaq -0x128(%rbp), %r15
movq %r14, %rdx
movq %r15, %rcx
callq 0x8bc28
movq (%r14), %rdi
leaq -0x120(%rbp), %r14
movl -0x30(%rbp), %esi
xorl %edx, %edx
movq %r14, %rcx
callq 0x9c7be
movq (%r14), %rdi
movq (%r15), %rsi
leaq -0xd8(%rbp), %rcx
leaq -0xd0(%rbp), %r8
movq %rax, %rdx
callq 0x8a8a9
movq 0x10475ca(%rip), %rdx   # 0x110f3d8
testq %rdx, %rdx
jne 0xc7e2c
leaq 0xdfed(%rip), %rdi      # 0xd5e07
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x10475ac(%rip)   # 0x110f3d8
movq %rdx, %rax
movabsq $0xfffffffffffc, %r15   # imm = 0xFFFFFFFFFFFC
andq %r15, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xc7e4d
incl (%rax)
movq -0xd8(%rbp), %rdi
movq -0xd0(%rbp), %rsi
leaq -0xc8(%rbp), %rcx
leaq -0xc0(%rbp), %r8
callq 0x8a8a9
movq %rbx, %rax
andq %r15, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0xc7e83
incl (%rax)
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rsi
leaq -0xb8(%rbp), %rcx
leaq -0xb0(%rbp), %r8
movq %rbx, %rdx
callq 0x8a8a9
movq 0x1047532(%rip), %rdx   # 0x110f3e0
testq %rdx, %rdx
jne 0xc7ecc
leaq 0x14822(%rip), %rdi     # 0xdc6dc
pushq $0x3
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1047514(%rip)   # 0x110f3e0
movq %rdx, %rax
andq %r15, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xc7ee3
incl (%rax)
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
leaq -0xa8(%rbp), %rcx
leaq -0xa0(%rbp), %r8
callq 0x8a8a9
leaq -0x98(%rbp), %rcx
movl -0x30(%rbp), %edi
xorl %esi, %esi
movq %rbx, %rdx
callq 0xa496b
movq 0x10474c9(%rip), %rdx   # 0x110f3e8
testq %rdx, %rdx
jne 0xc7f3d
leaq 0x26435(%rip), %rdi     # 0xee360
pushq $0x9
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x10474ab(%rip)   # 0x110f3e8
movq %rdx, %rax
andq %r15, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xc7f54
incl (%rax)
movq -0xa8(%rbp), %rdi
movq -0xa0(%rbp), %rsi
leaq -0x118(%rbp), %rbx
leaq -0x110(%rbp), %r14
movq %rbx, %rcx
movq %r14, %r8
callq 0x8a8a9
movq %r13, %rdi
callq 0xf51c
movq (%rbx), %rdi
movq (%r14), %rsi
leaq -0x90(%rbp), %rcx
leaq -0x88(%rbp), %r8
movq %rax, %rdx
callq 0x8a8a9
movq 0x104744a(%rip), %rdx   # 0x110f3f0
testq %rdx, %rdx
jne 0xc7fc4
leaq 0x263b8(%rip), %rdi     # 0xee36a
pushq $0x3
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x104742c(%rip)   # 0x110f3f0
movq %rdx, %rax
andq %r15, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xc7fdb
incl (%rax)
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
leaq -0x108(%rbp), %rcx
leaq -0x100(%rbp), %r8
callq 0x8a8a9
movq 0x10473f5(%rip), %rdx   # 0x110f3f8
testq %rdx, %rdx
jne 0xc8021
leaq 0x260fe(%rip), %rdi     # 0xee10d
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x10473d7(%rip)   # 0x110f3f8
andq %rdx, %r15
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0xc8034
incl (%r15)
movq -0x108(%rbp), %rdi
movq -0x100(%rbp), %rsi
leaq -0xf8(%rbp), %rbx
leaq -0xf0(%rbp), %r14
movq %rbx, %rcx
movq %r14, %r8
callq 0x8a8a9
movq (%rbx), %rdi
movq (%r14), %rsi
leaq -0x168(%rbp), %rbx
leaq -0x160(%rbp), %r14
movq %rbx, %rdx
movq %r14, %rcx
callq 0x8a92c
movq (%r14), %rax
movb %r12b, 0x18(%rax)
movq -0x50(%rbp), %rsi
movq %rax, (%rsi)
movq (%rbx), %rdi
movq -0x98(%rbp), %rdx
leaq -0x80(%rbp), %rbx
leaq -0x78(%rbp), %r14
movq %rbx, %rcx
movq %r14, %r8
callq 0xa49c8
movq (%r14), %rax
movq (%rbx), %rcx
movq -0x138(%rbp), %rdx
movq %rax, (%rdx)
movq -0x140(%rbp), %rax
movq %rcx, (%rax)
addq $0x178, %rsp            # imm = 0x178
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xc735(%rip), %rdi      # 0xd480d
pushq $0x20
popq %rsi
callq 0x8a21
movq %rax, %rdi
callq 0x8cc6
leaq 0x262d7(%rip), %rsi     # 0xee3c6
movq %rdi, %rbx
pushq $0x2
popq %rdi
pushq $0x36
popq %rdx
callq 0x5060
movq %rbx, %rdi
movq %r14, %rsi
callq 0xd08e
callq 0x52ae
pushq $0x1
popq %rdi
callq 0x5130