// File: /workspace/github_c_makefile_star2_O2/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_C99ReprType_vzemacrozeprefixzesuffix
static STR* mw_mirth_c99_C99ReprType_vzemacrozeprefixzesuffix (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99ReprType in_C99ReprType_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, STR* *out_Str_5) {
	struct mirth_mirth_zaMirth* branch_zaMirth_6;
	STR* branch_Str_7;
	STR* branch_Str_8;
	switch ((in_C99ReprType_2).tag) {
		case mirth_c99_C99ReprType_VAL: {
			STR* v9;
			STRLIT(v9, "", 0);
			STR* v10;
			STRLIT(v10, "", 0);
			branch_Str_8 = v10;
			branch_Str_7 = v9;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_STR: {
			STR* v11;
			STRLIT(v11, "value_str(", 10);
			STR* v12;
			STRLIT(v12, ")", 1);
			branch_Str_8 = v12;
			branch_Str_7 = v11;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_Int: {
			STR* v13;
			STRLIT(v13, "value_int(", 10);
			STR* v14;
			STRLIT(v14, ")", 1);
			branch_Str_8 = v14;
			branch_Str_7 = v13;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_Nat: {
			STR* v15;
			STRLIT(v15, "value_nat(", 10);
			STR* v16;
			STRLIT(v16, ")", 1);
			branch_Str_8 = v16;
			branch_Str_7 = v15;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_Void: {
			STR* v17;
			STRLIT(v17, "(", 1);
			STR* v18;
			STRLIT(v18, ", 0)", 4);
			branch_Str_8 = v18;
			branch_Str_7 = v17;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_I64: {
			STR* v19;
			STRLIT(v19, "value_i64(", 10);
			STR* v20;
			STRLIT(v20, ")", 1);
			branch_Str_8 = v20;
			branch_Str_7 = v19;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_I32: {
			STR* v21;
			STRLIT(v21, "value_i32(", 10);
			STR* v22;
			STRLIT(v22, ")", 1);
			branch_Str_8 = v22;
			branch_Str_7 = v21;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_I16: {
			STR* v23;
			STRLIT(v23, "value_i16(", 10);
			STR* v24;
			STRLIT(v24, ")", 1);
			branch_Str_8 = v24;
			branch_Str_7 = v23;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_I8: {
			STR* v25;
			STRLIT(v25, "value_i8(", 9);
			STR* v26;
			STRLIT(v26, ")", 1);
			branch_Str_8 = v26;
			branch_Str_7 = v25;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_U64: {
			STR* v27;
			STRLIT(v27, "value_u64(", 10);
			STR* v28;
			STRLIT(v28, ")", 1);
			branch_Str_8 = v28;
			branch_Str_7 = v27;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_U32: {
			STR* v29;
			STRLIT(v29, "value_u32(", 10);
			STR* v30;
			STRLIT(v30, ")", 1);
			branch_Str_8 = v30;
			branch_Str_7 = v29;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_U16: {
			STR* v31;
			STRLIT(v31, "value_u16(", 10);
			STR* v32;
			STRLIT(v32, ")", 1);
			branch_Str_8 = v32;
			branch_Str_7 = v31;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_U8: {
			STR* v33;
			STRLIT(v33, "value_u8(", 9);
			STR* v34;
			STRLIT(v34, ")", 1);
			branch_Str_8 = v34;
			branch_Str_7 = v33;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_F64: {
			STR* v35;
			STRLIT(v35, "value_f64(", 10);
			STR* v36;
			STRLIT(v36, ")", 1);
			branch_Str_8 = v36;
			branch_Str_7 = v35;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_F32: {
			STR* v37;
			STRLIT(v37, "value_f32(", 10);
			STR* v38;
			STRLIT(v38, ")", 1);
			branch_Str_8 = v38;
			branch_Str_7 = v37;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_Bool: {
			STR* v39;
			STRLIT(v39, "value_bool(", 11);
			STR* v40;
			STRLIT(v40, ")", 1);
			branch_Str_8 = v40;
			branch_Str_7 = v39;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_PTR: {
			STR* v41;
			STRLIT(v41, "value_ptr(", 10);
			STR* v42;
			STRLIT(v42, ")", 1);
			branch_Str_8 = v42;
			branch_Str_7 = v41;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_FNPTR: {
			STR* v43;
			STRLIT(v43, "value_fnptr(", 12);
			STR* v44;
			STRLIT(v44, ")", 1);
			branch_Str_8 = v44;
			branch_Str_7 = v43;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_ARR: {
			STR* v45;
			STRLIT(v45, "value_arr(", 10);
			STR* v46;
			STRLIT(v46, ")", 1);
			branch_Str_8 = v46;
			branch_Str_7 = v45;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_TUP: {
			STR* v47;
			STRLIT(v47, "value_tup(", 10);
			STR* v48;
			STRLIT(v48, ")", 1);
			branch_Str_8 = v48;
			branch_Str_7 = v47;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_Table: {
			uint64_t v49 = mtp_mirth_c99_C99ReprType_Table(in_C99ReprType_2);
			STR* v50;
			STRLIT(v50, "", 0);
			STR* v51;
			STRLIT(v51, "V_", 2);
			STR* v52;
			mw_std_str_zaStr_pushzestrzx(v51, v50, &v52);
			struct mirth_mirth_zaMirth* v53;
			STR* v54 = mw_mirth_table_Table_cname(in_zaMirth_1, v49, &v53);
			STR* v55;
			mw_std_str_zaStr_pushzestrzx(v54, v52, &v55);
			STR* v56;
			STRLIT(v56, "(", 1);
			STR* v57;
			mw_std_str_zaStr_pushzestrzx(v56, v55, &v57);
			STR* v58;
			STRLIT(v58, ")", 1);
			branch_Str_8 = v58;
			branch_Str_7 = v57;
			branch_zaMirth_6 = v53;
		} break;
		case mirth_c99_C99ReprType_Data: {
			uint64_t v59 = mtp_mirth_c99_C99ReprType_Data(in_C99ReprType_2);
			struct mirth_mirth_zaMirth* v60;
			struct mirth_c99_C99DataRepr v61 = mw_mirth_data_Data_c99zerepr(in_zaMirth_1, v59, &v60);
			struct mirth_mirth_zaMirth* v62;
			STR* v63;
			STR* v64 = mw_mirth_c99_C99DataRepr_vzemacrozeprefixzesuffix(v60, v61, &v62, &v63);
			branch_Str_8 = v63;
			branch_Str_7 = v64;
			branch_zaMirth_6 = v62;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_Str_5 = branch_Str_8;
	*out_zaMirth_3 = branch_zaMirth_6;
	return branch_Str_7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
cmpl $0x15, %esi
ja 0xa83f5
movq %r8, %r14
movq %rcx, %r8
movq %rdi, %r15
movl %esi, %eax
leaq 0x2ca62(%rip), %rcx     # 0xd3f40
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x10675f2(%rip), %r12   # 0x110eae0
testq %r12, %r12
jne 0xa7512
leaq 0x46d7c(%rip), %rdi     # 0xee276
pushq $0x1
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x10675ce(%rip)   # 0x110eae0
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa7532
incl (%rax)
movq 0x10675af(%rip), %r13   # 0x110eae8
testq %r13, %r13
jne 0xa810d
leaq 0x46a95(%rip), %rdi     # 0xedfde
pushq $0x4
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x1067587(%rip)   # 0x110eae8
jmp 0xa810d
movq 0x1067613(%rip), %r12   # 0x110eb80
testq %r12, %r12
jne 0xa7591
leaq 0x46acb(%rip), %rdi     # 0xee044
pushq $0xa
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x10675ef(%rip)   # 0x110eb80
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa75b1
incl (%rax)
movq 0x10675d0(%rip), %r13   # 0x110eb88
testq %r13, %r13
jne 0xa810d
leaq 0x46b35(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x10675a8(%rip)   # 0x110eb88
jmp 0xa810d
movq 0x1067574(%rip), %r12   # 0x110eb60
testq %r12, %r12
jne 0xa7610
leaq 0x46a37(%rip), %rdi     # 0xee02f
pushq $0x9
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x1067550(%rip)   # 0x110eb60
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa7630
incl (%rax)
movq 0x1067531(%rip), %r13   # 0x110eb68
testq %r13, %r13
jne 0xa810d
leaq 0x46ab6(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x1067509(%rip)   # 0x110eb68
jmp 0xa810d
movq 0x10674c5(%rip), %r12   # 0x110eb30
testq %r12, %r12
jne 0xa768f
leaq 0x46997(%rip), %rdi     # 0xee00e
pushq $0xa
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x10674a1(%rip)   # 0x110eb30
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa76af
incl (%rax)
movq 0x1067482(%rip), %r13   # 0x110eb38
testq %r13, %r13
jne 0xa810d
leaq 0x46a37(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x106745a(%rip)   # 0x110eb38
jmp 0xa810d
movq 0x10674e6(%rip), %r12   # 0x110ebd0
testq %r12, %r12
jne 0xa770e
leaq 0x46988(%rip), %rdi     # 0xee07e
pushq $0xa
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x10674c2(%rip)   # 0x110ebd0
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa772e
incl (%rax)
movq 0x10674a3(%rip), %r13   # 0x110ebd8
testq %r13, %r13
jne 0xa810d
leaq 0x469b8(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x106747b(%rip)   # 0x110ebd8
jmp 0xa810d
movq 0x10673d7(%rip), %r12   # 0x110eb40
testq %r12, %r12
jne 0xa778d
leaq 0x468a4(%rip), %rdi     # 0xee019
pushq $0xa
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x10673b3(%rip)   # 0x110eb40
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa77ad
incl (%rax)
movq 0x1067394(%rip), %r13   # 0x110eb48
testq %r13, %r13
jne 0xa810d
leaq 0x46939(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x106736c(%rip)   # 0x110eb48
jmp 0xa810d
movq 0x1067328(%rip), %r12   # 0x110eb10
testq %r12, %r12
jne 0xa780c
leaq 0x46805(%rip), %rdi     # 0xedff9
pushq $0xa
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x1067304(%rip)   # 0x110eb10
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa782c
incl (%rax)
movq 0x10672e5(%rip), %r13   # 0x110eb18
testq %r13, %r13
jne 0xa810d
leaq 0x468ba(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x10672bd(%rip)   # 0x110eb18
jmp 0xa810d
movq 0x1067249(%rip), %r12   # 0x110eab0
testq %r12, %r12
jne 0xa788b
leaq 0x4674a(%rip), %rdi     # 0xedfbd
pushq $0xa
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x1067225(%rip)   # 0x110eab0
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa78ab
incl (%rax)
movq 0x1067206(%rip), %r13   # 0x110eab8
testq %r13, %r13
jne 0xa810d
leaq 0x4683b(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x10671de(%rip)   # 0x110eab8
jmp 0xa810d
movq 0x106728a(%rip), %r12   # 0x110eb70
testq %r12, %r12
jne 0xa790a
leaq 0x46747(%rip), %rdi     # 0xee039
pushq $0xa
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x1067266(%rip)   # 0x110eb70
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa792a
incl (%rax)
movq 0x1067247(%rip), %r13   # 0x110eb78
testq %r13, %r13
jne 0xa810d
leaq 0x467bc(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x106721f(%rip)   # 0x110eb78
jmp 0xa810d
movq 0x106725b(%rip), %r12   # 0x110ebc0
testq %r12, %r12
jne 0xa7989
leaq 0x46702(%rip), %rdi     # 0xee073
pushq $0xa
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x1067237(%rip)   # 0x110ebc0
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa79a9
incl (%rax)
movq 0x1067218(%rip), %r13   # 0x110ebc8
testq %r13, %r13
jne 0xa810d
leaq 0x4673d(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x10671f0(%rip)   # 0x110ebc8
jmp 0xa810d
movq 0x106710c(%rip), %r12   # 0x110eaf0
testq %r12, %r12
jne 0xa7a08
leaq 0x465f3(%rip), %rdi     # 0xedfe3
pushq $0xa
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x10670e8(%rip)   # 0x110eaf0
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa7a28
incl (%rax)
movq 0x10670c9(%rip), %r13   # 0x110eaf8
testq %r13, %r13
jne 0xa810d
leaq 0x466be(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x10670a1(%rip)   # 0x110eaf8
jmp 0xa810d
movq 0x106703d(%rip), %r12   # 0x110eaa0
testq %r12, %r12
jne 0xa7a86
leaq 0x34c86(%rip), %rdi     # 0xdc6f5
xorl %esi, %esi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x106701a(%rip)   # 0x110eaa0
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa7aa6
incl (%rax)
movq 0x1066ffb(%rip), %r13   # 0x110eaa8
testq %r13, %r13
jne 0xa810d
leaq 0x34c38(%rip), %rdi     # 0xdc6f5
xorl %esi, %esi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x1066fd4(%rip)   # 0x110eaa8
jmp 0xa810d
movq 0x10670b0(%rip), %r12   # 0x110eb90
testq %r12, %r12
jne 0xa7b04
leaq 0x46563(%rip), %rdi     # 0xee04f
pushq $0xb
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x106708c(%rip)   # 0x110eb90
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa7b24
incl (%rax)
movq 0x106706d(%rip), %r13   # 0x110eb98
testq %r13, %r13
jne 0xa810d
leaq 0x465c2(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x1067045(%rip)   # 0x110eb98
jmp 0xa810d
movq %r8, -0x30(%rbp)
movq %rdx, %rdi
callq 0x97e07
movq %rax, %r12
movq 0x1067072(%rip), %r13   # 0x110ebe0
testq %r13, %r13
jne 0xa7b8b
leaq 0x34b7b(%rip), %rdi     # 0xdc6f5
xorl %esi, %esi
callq 0x8a21
movq %rax, %r13
movq %rax, 0x1067055(%rip)   # 0x110ebe0
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r13, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0xa7bab
incl (%rax)
movq 0x1067036(%rip), %rsi   # 0x110ebe8
testq %rsi, %rsi
jne 0xa7bd0
leaq 0x45df9(%rip), %rdi     # 0xed9b7
pushq $0x2
popq %rsi
callq 0x8a21
movq %rax, %rsi
movq %rax, 0x1067018(%rip)   # 0x110ebe8
movq %rsi, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0xa7be6
incl (%rax)
movq %r13, %rdi
callq 0xd8b0
movq %rax, %r13
leaq -0x38(%rbp), %rdx
movq %r15, %rdi
movq %r12, %rsi
callq 0x8bd97
movq %r13, %rdi
movq %rax, %rsi
callq 0xd8b0
movq %rax, %r15
movq 0x1066fdb(%rip), %rsi   # 0x110ebf0
testq %rsi, %rsi
jne 0xa7c33
leaq 0x46655(%rip), %rdi     # 0xee276
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %rsi
movq %rax, 0x1066fbd(%rip)   # 0x110ebf0
movq %rsi, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0xa7c49
incl (%rax)
movq %r15, %rdi
callq 0xd8b0
movq %rax, %r12
movq 0x1066f9d(%rip), %r13   # 0x110ebf8
testq %r13, %r13
jne 0xa7c79
leaq 0x46496(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %r13
movq %rax, 0x1066f7f(%rip)   # 0x110ebf8
andq %r13, %rbx
sete %al
testb $0x3, %r13b
setne %cl
orb %al, %cl
jne 0xa7c8c
incl (%rbx)
movq -0x38(%rbp), %r15
jmp 0xa83ec
movq 0x1066e24(%rip), %r12   # 0x110eac0
testq %r12, %r12
jne 0xa7cc0
leaq 0x46320(%rip), %rdi     # 0xedfc8
pushq $0xa
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x1066e00(%rip)   # 0x110eac0
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa7ce0
incl (%rax)
movq 0x1066de1(%rip), %r13   # 0x110eac8
testq %r13, %r13
jne 0xa810d
leaq 0x46406(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x1066db9(%rip)   # 0x110eac8
jmp 0xa810d
movq %r8, -0x30(%rbp)
movq %rdx, %rdi
callq 0x97e24
leaq -0x48(%rbp), %rdx
movq %r15, %rdi
movq %rax, %rsi
callq 0x8cba8
cmpl $0x4, %eax
ja 0xa83f5
movq -0x48(%rbp), %r15
movl %eax, %eax
leaq 0x2c253(%rip), %rcx     # 0xd3f98
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %rdx, %rdi
callq 0x94a52
movq %rax, %rcx
andq %rbx, %rcx
sete %dl
testb $0x3, %al
setne %sil
orb %dl, %sil
jne 0xa7d87
decl (%rcx)
jne 0xa7d87
leaq 0x62042(%rip), %rsi     # 0x109dc1
movq %rax, %rdi
callq 0xce94
movq 0x1066e72(%rip), %r12   # 0x110ec00
testq %r12, %r12
jne 0xa7dac
leaq 0x464dc(%rip), %rdi     # 0xee276
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %r12
movq %rax, 0x1066e54(%rip)   # 0x110ec00
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa7dc2
incl (%rax)
movq 0x1066e3f(%rip), %rdi   # 0x110ec08
testq %rdi, %rdi
jne 0xa7de7
leaq 0x46209(%rip), %rdi     # 0xedfde
pushq $0x4
popq %rsi
callq 0x8a21
movq %rax, %rdi
movq %rax, 0x1066e21(%rip)   # 0x110ec08
andq %rdi, %rbx
sete %al
testb $0x3, %dil
setne %cl
orb %al, %cl
jne 0xa7dfa
incl (%rbx)
leaq 0x60358(%rip), %rbx     # 0x108159
movq %rbx, %rsi
callq 0x8b55
movq %rax, %r13
movq %r12, %rdi
movq %rbx, %rsi
callq 0x8b55
movq %rax, %r12
jmp 0xa83ec
movq 0x1066d2a(%rip), %r12   # 0x110eb50
testq %r12, %r12
jne 0xa7e4a
leaq 0x461f2(%rip), %rdi     # 0xee024
pushq $0xa
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x1066d06(%rip)   # 0x110eb50
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa7e6a
incl (%rax)
movq 0x1066ce7(%rip), %r13   # 0x110eb58
testq %r13, %r13
jne 0xa810d
leaq 0x4627c(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x1066cbf(%rip)   # 0x110eb58
jmp 0xa810d
movq 0x1066c2b(%rip), %r12   # 0x110ead0
testq %r12, %r12
jne 0xa7ec9
leaq 0x46122(%rip), %rdi     # 0xedfd3
pushq $0xa
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x1066c07(%rip)   # 0x110ead0
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa7ee9
incl (%rax)
movq 0x1066be8(%rip), %r13   # 0x110ead8
testq %r13, %r13
jne 0xa810d
leaq 0x461fd(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x1066bc0(%rip)   # 0x110ead8
jmp 0xa810d
movq 0x1066c7c(%rip), %r12   # 0x110eba0
testq %r12, %r12
jne 0xa7f48
leaq 0x4612b(%rip), %rdi     # 0xee05b
pushq $0xa
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x1066c58(%rip)   # 0x110eba0
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa7f68
incl (%rax)
movq 0x1066c39(%rip), %r13   # 0x110eba8
testq %r13, %r13
jne 0xa810d
leaq 0x4617e(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x1066c11(%rip)   # 0x110eba8
jmp 0xa810d
movq 0x1066b7d(%rip), %r12   # 0x110eb20
testq %r12, %r12
jne 0xa7fc7
leaq 0x46055(%rip), %rdi     # 0xee004
pushq $0x9
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x1066b59(%rip)   # 0x110eb20
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa7fe7
incl (%rax)
movq 0x1066b3a(%rip), %r13   # 0x110eb28
testq %r13, %r13
jne 0xa810d
leaq 0x460ff(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x1066b12(%rip)   # 0x110eb28
jmp 0xa810d
movq 0x1066ade(%rip), %r12   # 0x110eb00
testq %r12, %r12
jne 0xa8046
leaq 0x45fc0(%rip), %rdi     # 0xedfee
pushq $0xa
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x1066aba(%rip)   # 0x110eb00
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa8066
incl (%rax)
movq 0x1066a9b(%rip), %r13   # 0x110eb08
testq %r13, %r13
jne 0xa810d
leaq 0x46080(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x1066a73(%rip)   # 0x110eb08
jmp 0xa810d
movq 0x1066b12(%rip), %r12   # 0x110ebb0
testq %r12, %r12
jne 0xa80c2
leaq 0x45fbc(%rip), %rdi     # 0xee066
pushq $0xc
popq %rsi
movq %r8, %rbx
callq 0x8a21
movq %rbx, %r8
movq %rax, %r12
movq %rax, 0x1066aee(%rip)   # 0x110ebb0
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa80e2
incl (%rax)
movq 0x1066acf(%rip), %r13   # 0x110ebb8
testq %r13, %r13
jne 0xa810d
leaq 0x46008(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
movq %r8, %r13
callq 0x8a21
movq %r13, %r8
movq %rax, %r13
movq %rax, 0x1066aab(%rip)   # 0x110ebb8
andq %r13, %rbx
sete %al
testb $0x3, %r13b
setne %cl
orb %al, %cl
jne 0xa8120
incl (%rbx)
movq %r13, (%r14)
movq %r15, (%r8)
movq %r12, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rdx, %rdi
callq 0x94b20
leaq -0x38(%rbp), %rdx
movq %r15, %rdi
movq %rax, %rsi
callq 0x98354
movq %rax, %rdi
callq 0xa840c
movq %rax, %r12
movq 0x1066aef(%rip), %rdi   # 0x110ec50
testq %rdi, %rdi
jne 0xa83bc
leaq 0x45f8c(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %rdi
movq %rax, 0x1066acd(%rip)   # 0x110ec50
jmp 0xa83bc
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %rdx, %rdi
callq 0x94aaa
movq %rax, %rdi
movl 0x30(%rax), %r12d
movq 0x38(%rax), %r13
movq %r13, %rcx
andq %rbx, %rcx
sete %dl
testb $0x3, %r13b
setne %sil
orb %dl, %sil
jne 0xa81bd
incl (%rcx)
andq %rbx, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0xa81de
decl (%rax)
jne 0xa81de
leaq 0x61c78(%rip), %rsi     # 0x109e51
callq 0xce94
leaq -0x38(%rbp), %rbx
leaq -0x50(%rbp), %rax
movq %r15, %rdi
movl %r12d, %esi
movq %r13, %rdx
movq %rbx, %rcx
movq %rax, %r15
movq %rax, %r8
callq 0xa74b2
movq %rax, %r12
movq (%r15), %r13
movq (%rbx), %r15
jmp 0xa83ec
movq %rdx, %rdi
callq 0x94ae5
movq %rax, %r12
movq 0x1066a13(%rip), %r13   # 0x110ec30
testq %r13, %r13
jne 0xa823a
leaq 0x344cc(%rip), %rdi     # 0xdc6f5
xorl %esi, %esi
callq 0x8a21
movq %rax, %r13
movq %rax, 0x10669f6(%rip)   # 0x110ec30
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %r13, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0xa825a
incl (%rax)
movq 0x10669d7(%rip), %rsi   # 0x110ec38
testq %rsi, %rsi
jne 0xa827f
leaq 0x4574a(%rip), %rdi     # 0xed9b7
pushq $0x2
popq %rsi
callq 0x8a21
movq %rax, %rsi
movq %rax, 0x10669b9(%rip)   # 0x110ec38
movq %rsi, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0xa8295
incl (%rax)
movq %r13, %rdi
callq 0xd8b0
movq %rax, %rdi
movq 0x10(%r12), %r13
movq %r13, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0xa82bb
incl (%rax)
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xa82ea
decl (%rax)
jne 0xa82ea
leaq 0x61bbf(%rip), %rsi     # 0x109e99
movq %rdi, -0x40(%rbp)
movq %r12, %rdi
callq 0xce94
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0xd8b0
movq %rax, %r12
movq 0x1066944(%rip), %rsi   # 0x110ec40
testq %rsi, %rsi
jne 0xa831a
leaq 0x45f6e(%rip), %rdi     # 0xee276
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %rsi
movq %rax, 0x1066926(%rip)   # 0x110ec40
movq %rsi, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0xa8330
incl (%rax)
movq %r12, %rdi
callq 0xd8b0
movq %rax, %r12
movq 0x1066906(%rip), %r13   # 0x110ec48
testq %r13, %r13
jne 0xa8360
leaq 0x45daf(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %r13
movq %rax, 0x10668e8(%rip)   # 0x110ec48
andq %r13, %rbx
sete %al
testb $0x3, %r13b
setne %cl
orb %al, %cl
jne 0xa83ec
incl (%rbx)
jmp 0xa83ec
movq %rdx, %rdi
callq 0x94a8d
leaq -0x38(%rbp), %rdx
movq %r15, %rdi
movq %rax, %rsi
callq 0x973f9
movq %rax, %rdi
callq 0xa840c
movq %rax, %r12
movq 0x1066872(%rip), %rdi   # 0x110ec10
testq %rdi, %rdi
jne 0xa83bc
leaq 0x45d53(%rip), %rdi     # 0xee0fd
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %rdi
movq %rax, 0x1066854(%rip)   # 0x110ec10
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdi, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0xa83d9
incl (%rax)
leaq 0x5fd79(%rip), %rsi     # 0x108159
movq -0x38(%rbp), %r15
callq 0x8b55
movq %rax, %r13
movq -0x30(%rbp), %r8
jmp 0xa8120
leaq 0x2c411(%rip), %rdi     # 0xd480d
pushq $0x20
popq %rsi
callq 0x8a21
movq %rax, %rdi
callq 0x8cc6