// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_Type_typezj
static void mw_mirth_type_Type_typezj (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_zaStr_2, struct mirth_type_Type in_Type_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, STR* *out_zaStr_5) {
	struct mirth_mirth_zaMirth* branch_zaMirth_6;
	STR* branch_zaStr_7;
	switch ((in_Type_3).tag) {
		case mirth_type_Type_Error: {
			STR* v8;
			STRLIT(v8, "<ERROR>", 7);
			STR* v9;
			mw_std_str_zaStr_pushzestrzx(v8, in_zaStr_2, &v9);
			branch_zaStr_7 = v9;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_type_Type_Ignore: {
			STR* v10;
			STRLIT(v10, "_", 1);
			STR* v11;
			mw_std_str_zaStr_pushzestrzx(v10, in_zaStr_2, &v11);
			branch_zaStr_7 = v11;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		case mirth_type_Type_Prim: {
			enum mirth_type_PrimType v12 = mtp_mirth_type_Type_Prim(in_Type_3);
			struct mirth_mirth_zaMirth* v13;
			STR* v14;
			mw_mirth_type_PrimType_typezj(in_zaMirth_1, in_zaStr_2, v12, &v13, &v14);
			branch_zaStr_7 = v14;
			branch_zaMirth_6 = v13;
		} break;
		case mirth_type_Type_Var: {
			uint64_t v15 = mtp_mirth_type_Type_Var(in_Type_3);
			struct mirth_mirth_zaMirth* v16;
			STR* v17;
			mw_mirth_var_Var_typezj(in_zaMirth_1, in_zaStr_2, v15, &v16, &v17);
			branch_zaStr_7 = v17;
			branch_zaMirth_6 = v16;
		} break;
		case mirth_type_Type_Meta: {
			uint64_t v18 = mtp_mirth_type_Type_Meta(in_Type_3);
			struct mirth_mirth_zaMirth* v19;
			STR* v20;
			mw_mirth_type_MetaVar_typezj(in_zaMirth_1, in_zaStr_2, v18, &v19, &v20);
			branch_zaStr_7 = v20;
			branch_zaMirth_6 = v19;
		} break;
		case mirth_type_Type_Stack: {
			struct mirth_type_StackType v21 = mtp_mirth_type_Type_Stack(in_Type_3);
			STR* v22;
			STRLIT(v22, "[", 1);
			STR* v23;
			mw_std_str_zaStr_pushzestrzx(v22, in_zaStr_2, &v23);
			struct mirth_mirth_zaMirth* v24;
			STR* v25;
			mw_mirth_type_StackType_stackzj(in_zaMirth_1, v23, v21, &v24, &v25);
			STR* v26;
			STRLIT(v26, "]", 1);
			STR* v27;
			mw_std_str_zaStr_pushzestrzx(v26, v25, &v27);
			branch_zaStr_7 = v27;
			branch_zaMirth_6 = v24;
		} break;
		case mirth_type_Type_Arrow: {
			struct mirth_type_ArrowType* v28 = mtp_mirth_type_Type_Arrow(in_Type_3);
			STR* v29;
			STRLIT(v29, "[", 1);
			STR* v30;
			mw_std_str_zaStr_pushzestrzx(v29, in_zaStr_2, &v30);
			struct mirth_mirth_zaMirth* v31;
			STR* v32;
			mw_mirth_type_ArrowType_sigzj(in_zaMirth_1, v30, v28, &v31, &v32);
			STR* v33;
			STRLIT(v33, "]", 1);
			STR* v34;
			mw_std_str_zaStr_pushzestrzx(v33, v32, &v34);
			branch_zaStr_7 = v34;
			branch_zaMirth_6 = v31;
		} break;
		case mirth_type_Type_Data: {
			uint64_t v35 = mtp_mirth_type_Type_Data(in_Type_3);
			struct mirth_mirth_zaMirth* v36;
			STR* v37;
			mw_mirth_data_Data_namezj(in_zaMirth_1, in_zaStr_2, v35, &v36, &v37);
			branch_zaStr_7 = v37;
			branch_zaMirth_6 = v36;
		} break;
		case mirth_type_Type_DataPartial: {
			struct mirth_data_DataPartial* v38 = mtp_mirth_type_Type_DataPartial(in_Type_3);
			incref(MK_mirth_data_DataPartial(v38));
			uint64_t v39 = v38->mdata;
			decref(MK_mirth_data_DataPartial(v38));
			struct mirth_mirth_zaMirth* v40;
			STR* v41;
			mw_mirth_data_Data_namezj(in_zaMirth_1, in_zaStr_2, v39, &v40, &v41);
			STR* v42;
			STRLIT(v42, "/", 1);
			STR* v43;
			mw_std_str_zaStr_pushzestrzx(v42, v41, &v43);
			uint64_t v44 = v38->mfield;
			decref(MK_mirth_data_DataPartial(v38));
			struct mirth_mirth_zaMirth* v45;
			STR* v46;
			mw_mirth_label_Label_namezj(v40, v43, v44, &v45, &v46);
			branch_zaStr_7 = v46;
			branch_zaMirth_6 = v45;
		} break;
		case mirth_type_Type_Table: {
			uint64_t v47 = mtp_mirth_type_Type_Table(in_Type_3);
			struct mirth_mirth_zaMirth* v48;
			uint64_t v49 = mw_mirth_table_Table_name(in_zaMirth_1, v47, &v48);
			struct mirth_mirth_zaMirth* v50;
			STR* v51;
			mw_mirth_name_Name_namezj(v48, in_zaStr_2, v49, &v50, &v51);
			branch_zaStr_7 = v51;
			branch_zaMirth_6 = v50;
		} break;
		case mirth_type_Type_Hole: {
			uint64_t v52 = mtp_mirth_type_Type_Hole(in_Type_3);
			struct mirth_mirth_zaMirth* v53;
			STR* v54;
			mw_mirth_name_Name_namezj(in_zaMirth_1, in_zaStr_2, v52, &v53, &v54);
			branch_zaStr_7 = v54;
			branch_zaMirth_6 = v53;
		} break;
		case mirth_type_Type_App: {
			struct mirth_type_Type v55;
			struct mirth_type_Type v56 = mtp_mirth_type_Type_App(in_Type_3, &v55);
			struct mirth_mirth_zaMirth* v57;
			STR* v58;
			mw_mirth_type_Type_appzetypezjzj(in_zaMirth_1, in_zaStr_2, v56, v55, &v57, &v58);
			branch_zaStr_7 = v58;
			branch_zaMirth_6 = v57;
		} break;
		case mirth_type_Type_Value: {
			struct mirth_type_Value v59 = mtp_mirth_type_Type_Value(in_Type_3);
			struct mirth_mirth_zaMirth* v60;
			struct mirth_type_Type v61 = mw_mirth_type_Value_type(in_zaMirth_1, v59, &v60);
			struct mirth_mirth_zaMirth* v62;
			STR* v63;
			mw_mirth_type_Type_typezj(v60, in_zaStr_2, v61, &v62, &v63);
			branch_zaStr_7 = v63;
			branch_zaMirth_6 = v62;
		} break;
		case mirth_type_Type_Mut: {
			struct mirth_type_Type v64 = mtp_mirth_type_Type_Mut(in_Type_3);
			STR* v65;
			STRLIT(v65, "Mut(", 4);
			STR* v66;
			mw_std_str_zaStr_pushzestrzx(v65, in_zaStr_2, &v66);
			struct mirth_mirth_zaMirth* v67;
			STR* v68;
			mw_mirth_type_Type_typezj(in_zaMirth_1, v66, v64, &v67, &v68);
			STR* v69;
			STRLIT(v69, ")", 1);
			STR* v70;
			mw_std_str_zaStr_pushzestrzx(v69, v68, &v70);
			branch_zaStr_7 = v70;
			branch_zaMirth_6 = v67;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaStr_5 = branch_zaStr_7;
	*out_zaMirth_4 = branch_zaMirth_6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x5a0, %rsp            # imm = 0x5A0
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl -0x10(%rbp), %eax
movq %rax, -0x590(%rbp)
subq $0xd, %rax
ja 0xbc5f6
movq -0x590(%rbp), %rax
leaq 0x2968c0(%rip), %rcx    # 0x351cc4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0xbb40f
cmpq $0x0, 0x12da4c1(%rip)   # 0x13958d8
jne 0xbb431
leaq 0x29d460(%rip), %rdi    # 0x358880
movl $0x7, %esi
callq 0xb6c0
movq %rax, 0x12da4a7(%rip)   # 0x13958d8
jmp 0xbb433
movq 0x12da49e(%rip), %rax   # 0x13958d8
movq %rax, -0x58(%rbp)
leaq 0x2d5d13(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xbb4ea
movq 0x12da472(%rip), %rax   # 0x13958d8
movq %rax, -0x68(%rbp)
leaq 0x2d5ce7(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
cmpq $0x0, %rax
je 0xbb4ea
movq 0x12da444(%rip), %rax   # 0x13958d8
movq %rax, -0x78(%rbp)
leaq 0x2d5cb9(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x78(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xbb4ea
movq 0x12da41c(%rip), %rax   # 0x13958d8
movq %rax, -0x88(%rbp)
leaq 0x2d5c8e(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xbb4ec
movq 0x12da3e5(%rip), %rax   # 0x13958d8
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x90(%rbp), %rdx
callq 0xb940
movq -0x90(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xbc60f
jmp 0xbb525
cmpq $0x0, 0x12da3b3(%rip)   # 0x13958e0
jne 0xbb547
leaq 0x29d353(%rip), %rdi    # 0x358889
movl $0x1, %esi
callq 0xb6c0
movq %rax, 0x12da399(%rip)   # 0x13958e0
jmp 0xbb549
movq 0x12da390(%rip), %rax   # 0x13958e0
movq %rax, -0xa8(%rbp)
leaq 0x2d5bfa(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xbb61e
movq 0x12da35b(%rip), %rax   # 0x13958e0
movq %rax, -0xb8(%rbp)
leaq 0x2d5bc5(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xb8(%rbp), %rax
cmpq $0x0, %rax
je 0xbb61e
movq 0x12da324(%rip), %rax   # 0x13958e0
movq %rax, -0xc8(%rbp)
leaq 0x2d5b8e(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0xc0(%rbp)
movq -0xc8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xbb61e
movq 0x12da2f3(%rip), %rax   # 0x13958e0
movq %rax, -0xd8(%rbp)
leaq 0x2d5b5d(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0xd0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xd8(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xbb620
movq 0x12da2b9(%rip), %rax   # 0x13958e0
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0xe0(%rbp), %rdx
callq 0xb940
movq -0xe0(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xbc60f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x87010
movl %eax, -0xe4(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl -0xe4(%rbp), %edx
leaq -0xf0(%rbp), %rcx
leaq -0xf8(%rbp), %r8
callq 0xbc680
movq -0xf8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0xf0(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xbc60f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x87440
movq %rax, -0x100(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x100(%rbp), %rdx
leaq -0x108(%rbp), %rcx
leaq -0x110(%rbp), %r8
callq 0xbc6f0
movq -0x110(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x108(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xbc60f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x870e0
movq %rax, -0x118(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x118(%rbp), %rdx
leaq -0x120(%rbp), %rcx
leaq -0x128(%rbp), %r8
callq 0xbc750
movq -0x128(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x120(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xbc60f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x87730
movl %eax, -0x138(%rbp)
movq %rdx, -0x130(%rbp)
cmpq $0x0, 0x12da17c(%rip)   # 0x13958e8
jne 0xbb786
leaq 0x29c738(%rip), %rdi    # 0x357ead
movl $0x1, %esi
callq 0xb6c0
movq %rax, 0x12da162(%rip)   # 0x13958e8
jmp 0xbb788
movq 0x12da159(%rip), %rax   # 0x13958e8
movq %rax, -0x150(%rbp)
leaq 0x2d59bb(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x148(%rbp)
movq -0x148(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xbb85d
movq 0x12da124(%rip), %rax   # 0x13958e8
movq %rax, -0x160(%rbp)
leaq 0x2d5986(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x158(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x160(%rbp), %rax
cmpq $0x0, %rax
je 0xbb85d
movq 0x12da0ed(%rip), %rax   # 0x13958e8
movq %rax, -0x170(%rbp)
leaq 0x2d594f(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x168(%rbp)
movq -0x170(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xbb85d
movq 0x12da0bc(%rip), %rax   # 0x13958e8
movq %rax, -0x180(%rbp)
leaq 0x2d591e(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x178(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x180(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xbb85f
movq 0x12da082(%rip), %rax   # 0x13958e8
movq %rax, -0x140(%rbp)
movq -0x140(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x188(%rbp), %rdx
callq 0xb940
movq -0x18(%rbp), %rdi
movq -0x188(%rbp), %rsi
movl -0x138(%rbp), %edx
movq -0x130(%rbp), %rcx
leaq -0x190(%rbp), %r8
leaq -0x198(%rbp), %r9
callq 0xbca00
cmpq $0x0, 0x12da039(%rip)   # 0x13958f0
jne 0xbb8d1
leaq 0x29909b(%rip), %rdi    # 0x35495b
movl $0x1, %esi
callq 0xb6c0
movq %rax, 0x12da01f(%rip)   # 0x13958f0
jmp 0xbb8d3
movq 0x12da016(%rip), %rax   # 0x13958f0
movq %rax, -0x1b0(%rbp)
leaq 0x2d5870(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x1a8(%rbp)
movq -0x1a8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xbb9a8
movq 0x12d9fe1(%rip), %rax   # 0x13958f0
movq %rax, -0x1c0(%rbp)
leaq 0x2d583b(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x1b8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x1c0(%rbp), %rax
cmpq $0x0, %rax
je 0xbb9a8
movq 0x12d9faa(%rip), %rax   # 0x13958f0
movq %rax, -0x1d0(%rbp)
leaq 0x2d5804(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x1c8(%rbp)
movq -0x1d0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xbb9a8
movq 0x12d9f79(%rip), %rax   # 0x13958f0
movq %rax, -0x1e0(%rbp)
leaq 0x2d57d3(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x1d8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x1e0(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xbb9aa
movq 0x12d9f3f(%rip), %rax   # 0x13958f0
movq %rax, -0x1a0(%rbp)
movq -0x1a0(%rbp), %rdi
movq -0x198(%rbp), %rsi
leaq -0x1e8(%rbp), %rdx
callq 0xb940
movq -0x1e8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x190(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xbc60f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x87630
movq %rax, -0x1f0(%rbp)
cmpq $0x0, 0x12d9ef0(%rip)   # 0x13958f8
jne 0xbba22
leaq 0x29c49c(%rip), %rdi    # 0x357ead
movl $0x1, %esi
callq 0xb6c0
movq %rax, 0x12d9ed6(%rip)   # 0x13958f8
jmp 0xbba24
movq 0x12d9ecd(%rip), %rax   # 0x13958f8
movq %rax, -0x208(%rbp)
leaq 0x2d571f(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x200(%rbp)
movq -0x200(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xbbaf9
movq 0x12d9e98(%rip), %rax   # 0x13958f8
movq %rax, -0x218(%rbp)
leaq 0x2d56ea(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x210(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x218(%rbp), %rax
cmpq $0x0, %rax
je 0xbbaf9
movq 0x12d9e61(%rip), %rax   # 0x13958f8
movq %rax, -0x228(%rbp)
leaq 0x2d56b3(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x220(%rbp)
movq -0x228(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xbbaf9
movq 0x12d9e30(%rip), %rax   # 0x13958f8
movq %rax, -0x238(%rbp)
leaq 0x2d5682(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x230(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x238(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xbbafb
movq 0x12d9df6(%rip), %rax   # 0x13958f8
movq %rax, -0x1f8(%rbp)
movq -0x1f8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x240(%rbp), %rdx
callq 0xb940
movq -0x18(%rbp), %rdi
movq -0x240(%rbp), %rsi
movq -0x1f0(%rbp), %rdx
leaq -0x248(%rbp), %rcx
leaq -0x250(%rbp), %r8
callq 0xbdd80
cmpq $0x0, 0x12d9db3(%rip)   # 0x1395900
jne 0xbbb67
leaq 0x298e05(%rip), %rdi    # 0x35495b
movl $0x1, %esi
callq 0xb6c0
movq %rax, 0x12d9d99(%rip)   # 0x1395900
jmp 0xbbb69
movq 0x12d9d90(%rip), %rax   # 0x1395900
movq %rax, -0x268(%rbp)
leaq 0x2d55da(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x260(%rbp)
movq -0x260(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xbbc3e
movq 0x12d9d5b(%rip), %rax   # 0x1395900
movq %rax, -0x278(%rbp)
leaq 0x2d55a5(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x270(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x278(%rbp), %rax
cmpq $0x0, %rax
je 0xbbc3e
movq 0x12d9d24(%rip), %rax   # 0x1395900
movq %rax, -0x288(%rbp)
leaq 0x2d556e(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x280(%rbp)
movq -0x288(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xbbc3e
movq 0x12d9cf3(%rip), %rax   # 0x1395900
movq %rax, -0x298(%rbp)
leaq 0x2d553d(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x290(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x298(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xbbc40
movq 0x12d9cb9(%rip), %rax   # 0x1395900
movq %rax, -0x258(%rbp)
movq -0x258(%rbp), %rdi
movq -0x250(%rbp), %rsi
leaq -0x2a0(%rbp), %rdx
callq 0xb940
movq -0x2a0(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x248(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xbc60f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x874e0
movq %rax, -0x2a8(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x2a8(%rbp), %rdx
leaq -0x2b0(%rbp), %rcx
leaq -0x2b8(%rbp), %r8
callq 0xbdf20
movq -0x2b8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x2b0(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xbc60f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x87530
movq %rax, -0x2c0(%rbp)
movq -0x2c0(%rbp), %rax
movq %rax, -0x2d0(%rbp)
leaq 0x2d5ec5(%rip), %rax    # 0x391bc0
orq $0x1, %rax
movq %rax, -0x2c8(%rbp)
movq -0x2c8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xbbdbb
movq -0x2c0(%rbp), %rax
movq %rax, -0x2e0(%rbp)
leaq 0x2d5e90(%rip), %rax    # 0x391bc0
orq $0x1, %rax
movq %rax, -0x2d8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x2e0(%rbp), %rax
cmpq $0x0, %rax
je 0xbbdbb
movq -0x2c0(%rbp), %rax
movq %rax, -0x2f0(%rbp)
leaq 0x2d5e59(%rip), %rax    # 0x391bc0
orq $0x1, %rax
movq %rax, -0x2e8(%rbp)
movq -0x2f0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xbbdbb
movq -0x2c0(%rbp), %rax
movq %rax, -0x300(%rbp)
leaq 0x2d5e28(%rip), %rax    # 0x391bc0
orq $0x1, %rax
movq %rax, -0x2f8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x300(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xbbdbd
movq -0x2c0(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x308(%rbp)
movq -0x2c0(%rbp), %rax
movq %rax, -0x318(%rbp)
leaq 0x2d5ddc(%rip), %rax    # 0x391bc0
orq $0x1, %rax
movq %rax, -0x310(%rbp)
movq -0x310(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xbbee2
movq -0x2c0(%rbp), %rax
movq %rax, -0x328(%rbp)
leaq 0x2d5da7(%rip), %rax    # 0x391bc0
orq $0x1, %rax
movq %rax, -0x320(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x328(%rbp), %rax
cmpq $0x0, %rax
je 0xbbee2
movq -0x2c0(%rbp), %rax
movq %rax, -0x338(%rbp)
leaq 0x2d5d6c(%rip), %rax    # 0x391bc0
orq $0x1, %rax
movq %rax, -0x330(%rbp)
movq -0x338(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xbbee2
movq -0x2c0(%rbp), %rax
movq %rax, -0x348(%rbp)
leaq 0x2d5d3b(%rip), %rax    # 0x391bc0
orq $0x1, %rax
movq %rax, -0x340(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x348(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xbbee0
movq -0x2c0(%rbp), %rax
movq %rax, -0x358(%rbp)
leaq 0x2d5cfe(%rip), %rax    # 0x391bc0
orq $0x1, %rax
movq %rax, -0x350(%rbp)
movq -0x358(%rbp), %rdi
movq -0x350(%rbp), %rsi
callq 0x127c0
jmp 0xbbee2
jmp 0xbbee4
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x308(%rbp), %rdx
leaq -0x360(%rbp), %rcx
leaq -0x368(%rbp), %r8
callq 0xbdf20
cmpq $0x0, 0x12d99fa(%rip)   # 0x1395908
jne 0xbbf28
leaq 0x2b1c63(%rip), %rdi    # 0x36db7a
movl $0x1, %esi
callq 0xb6c0
movq %rax, 0x12d99e0(%rip)   # 0x1395908
jmp 0xbbf2a
movq 0x12d99d7(%rip), %rax   # 0x1395908
movq %rax, -0x380(%rbp)
leaq 0x2d5219(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x378(%rbp)
movq -0x378(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xbbfff
movq 0x12d99a2(%rip), %rax   # 0x1395908
movq %rax, -0x390(%rbp)
leaq 0x2d51e4(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x388(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x390(%rbp), %rax
cmpq $0x0, %rax
je 0xbbfff
movq 0x12d996b(%rip), %rax   # 0x1395908
movq %rax, -0x3a0(%rbp)
leaq 0x2d51ad(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x398(%rbp)
movq -0x3a0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xbbfff
movq 0x12d993a(%rip), %rax   # 0x1395908
movq %rax, -0x3b0(%rbp)
leaq 0x2d517c(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x3a8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x3b0(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xbc001
movq 0x12d9900(%rip), %rax   # 0x1395908
movq %rax, -0x370(%rbp)
movq -0x370(%rbp), %rdi
movq -0x368(%rbp), %rsi
leaq -0x3b8(%rbp), %rdx
callq 0xb940
movq -0x2c0(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x3c0(%rbp)
movq -0x2c0(%rbp), %rax
movq %rax, -0x3d0(%rbp)
leaq 0x2d5b70(%rip), %rax    # 0x391bc0
orq $0x1, %rax
movq %rax, -0x3c8(%rbp)
movq -0x3c8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xbc14e
movq -0x2c0(%rbp), %rax
movq %rax, -0x3e0(%rbp)
leaq 0x2d5b3b(%rip), %rax    # 0x391bc0
orq $0x1, %rax
movq %rax, -0x3d8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x3e0(%rbp), %rax
cmpq $0x0, %rax
je 0xbc14e
movq -0x2c0(%rbp), %rax
movq %rax, -0x3f0(%rbp)
leaq 0x2d5b00(%rip), %rax    # 0x391bc0
orq $0x1, %rax
movq %rax, -0x3e8(%rbp)
movq -0x3f0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xbc14e
movq -0x2c0(%rbp), %rax
movq %rax, -0x400(%rbp)
leaq 0x2d5acf(%rip), %rax    # 0x391bc0
orq $0x1, %rax
movq %rax, -0x3f8(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x400(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xbc14c
movq -0x2c0(%rbp), %rax
movq %rax, -0x410(%rbp)
leaq 0x2d5a92(%rip), %rax    # 0x391bc0
orq $0x1, %rax
movq %rax, -0x408(%rbp)
movq -0x410(%rbp), %rdi
movq -0x408(%rbp), %rsi
callq 0x127c0
jmp 0xbc14e
jmp 0xbc150
movq -0x360(%rbp), %rdi
movq -0x3b8(%rbp), %rsi
movq -0x3c0(%rbp), %rdx
leaq -0x418(%rbp), %rcx
leaq -0x420(%rbp), %r8
callq 0xbdf90
movq -0x420(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x418(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xbc60f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x87490
movq %rax, -0x428(%rbp)
movq -0x18(%rbp), %rdi
movq -0x428(%rbp), %rsi
leaq -0x430(%rbp), %rdx
callq 0x644b0
movq %rax, -0x438(%rbp)
movq -0x430(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x438(%rbp), %rdx
leaq -0x440(%rbp), %rcx
leaq -0x448(%rbp), %r8
callq 0x5b230
movq -0x448(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x440(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xbc60f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x873f0
movq %rax, -0x450(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x450(%rbp), %rdx
leaq -0x458(%rbp), %rcx
leaq -0x460(%rbp), %r8
callq 0x5b230
movq -0x460(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x458(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xbc60f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x470(%rbp), %rdx
callq 0x87830
movl %eax, -0x480(%rbp)
movq %rdx, -0x478(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl -0x480(%rbp), %edx
movq -0x478(%rbp), %rcx
movl -0x470(%rbp), %r8d
movq -0x468(%rbp), %r9
leaq -0x488(%rbp), %r10
leaq -0x490(%rbp), %rax
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0xbe000
movq -0x490(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x488(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xbc60f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x87b00
movl %eax, -0x4a0(%rbp)
movq %rdx, -0x498(%rbp)
movq -0x18(%rbp), %rdi
movl -0x4a0(%rbp), %esi
movq -0x498(%rbp), %rdx
leaq -0x4a8(%rbp), %rcx
callq 0xbe7a0
movl %eax, -0x4b8(%rbp)
movq %rdx, -0x4b0(%rbp)
movq -0x4a8(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl -0x4b8(%rbp), %edx
movq -0x4b0(%rbp), %rcx
leaq -0x4c0(%rbp), %r8
leaq -0x4c8(%rbp), %r9
callq 0xbb3c0
movq -0x4c8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x4c0(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xbc60f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x87a00
movl %eax, -0x4d8(%rbp)
movq %rdx, -0x4d0(%rbp)
cmpq $0x0, 0x12d9598(%rip)   # 0x1395910
jne 0xbc392
leaq 0x29c470(%rip), %rdi    # 0x3587f1
movl $0x4, %esi
callq 0xb6c0
movq %rax, 0x12d957e(%rip)   # 0x1395910
jmp 0xbc394
movq 0x12d9575(%rip), %rax   # 0x1395910
movq %rax, -0x4f0(%rbp)
leaq 0x2d4daf(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x4e8(%rbp)
movq -0x4e8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xbc469
movq 0x12d9540(%rip), %rax   # 0x1395910
movq %rax, -0x500(%rbp)
leaq 0x2d4d7a(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x4f8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x500(%rbp), %rax
cmpq $0x0, %rax
je 0xbc469
movq 0x12d9509(%rip), %rax   # 0x1395910
movq %rax, -0x510(%rbp)
leaq 0x2d4d43(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x508(%rbp)
movq -0x510(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xbc469
movq 0x12d94d8(%rip), %rax   # 0x1395910
movq %rax, -0x520(%rbp)
leaq 0x2d4d12(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x518(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x520(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xbc46b
movq 0x12d949e(%rip), %rax   # 0x1395910
movq %rax, -0x4e0(%rbp)
movq -0x4e0(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x528(%rbp), %rdx
callq 0xb940
movq -0x18(%rbp), %rdi
movq -0x528(%rbp), %rsi
movl -0x4d8(%rbp), %edx
movq -0x4d0(%rbp), %rcx
leaq -0x530(%rbp), %r8
leaq -0x538(%rbp), %r9
callq 0xbb3c0
cmpq $0x0, 0x12d9455(%rip)   # 0x1395918
jne 0xbc4dd
leaq 0x2b15d8(%rip), %rdi    # 0x36daa4
movl $0x1, %esi
callq 0xb6c0
movq %rax, 0x12d943b(%rip)   # 0x1395918
jmp 0xbc4df
movq 0x12d9432(%rip), %rax   # 0x1395918
movq %rax, -0x550(%rbp)
leaq 0x2d4c64(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x548(%rbp)
movq -0x548(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xbc5b4
movq 0x12d93fd(%rip), %rax   # 0x1395918
movq %rax, -0x560(%rbp)
leaq 0x2d4c2f(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x558(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x560(%rbp), %rax
cmpq $0x0, %rax
je 0xbc5b4
movq 0x12d93c6(%rip), %rax   # 0x1395918
movq %rax, -0x570(%rbp)
leaq 0x2d4bf8(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x568(%rbp)
movq -0x570(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xbc5b4
movq 0x12d9395(%rip), %rax   # 0x1395918
movq %rax, -0x580(%rbp)
leaq 0x2d4bc7(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x578(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x580(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xbc5b6
movq 0x12d935b(%rip), %rax   # 0x1395918
movq %rax, -0x540(%rbp)
movq -0x540(%rbp), %rdi
movq -0x538(%rbp), %rsi
leaq -0x588(%rbp), %rdx
callq 0xb940
movq -0x588(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x530(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xbc60f
leaq 0x297884(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x40(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
addq $0x5a0, %rsp            # imm = 0x5A0
popq %rbp
retq
nop