// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_checkzeinlinezerecursionzeopzx
static void mw_mirth_elab_checkzeinlinezerecursionzeopzx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Word_2, struct mirth_arrow_Op in_Op_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* branch_zaMirth_5;
	switch ((in_Op_3).tag) {
		case mirth_arrow_Op_BlockRun: {
			uint64_t v6 = mtp_mirth_arrow_Op_BlockRun(in_Op_3);
			struct mirth_mirth_zaMirth* v7;
			struct mirth_arrow_Arrow* v8 = mw_mirth_arrow_Block_arrow(in_zaMirth_1, v6, &v7);
			struct mirth_mirth_zaMirth* v9;
			mw_mirth_elab_checkzeinlinezerecursionzearrowzx(v7, in_Word_2, v8, &v9);
			branch_zaMirth_5 = v9;
		} break;
		case mirth_arrow_Op_Word: {
			uint64_t v10 = mtp_mirth_arrow_Op_Word(in_Op_3);
			uint64_t v11 = v10;
			uint64_t v12 = in_Word_2;
			bool v13 = (v11 == v12);
			struct mirth_mirth_zaMirth* branch_zaMirth_14;
			if (v13) {
				struct mirth_mirth_zaMirth* v15;
				mw_mirth_elab_checkzeinlinezerecursionzefailedzx(in_zaMirth_1, in_Word_2, &v15);
				branch_zaMirth_14 = v15;
			} else {
				struct mirth_mirth_zaMirth* v16;
				bool v17 = mw_mirth_word_Word_preferzeinlinezy(in_zaMirth_1, v10, &v16);
				struct mirth_mirth_zaMirth* branch_zaMirth_18;
				if (v17) {
					void* v19 = field_mut(&mfld_mirth_word_Word_ztarrow, v10);
					struct mirth_mirth_zaMirth* v20;
					struct std_maybe_Maybe_1 v21 = mw_mirth_mirth_Prop_1_tryzeforcezx(v16, v19, &v20);
					struct mirth_mirth_zaMirth* branch_zaMirth_22;
					switch ((v21).tag) {
						case std_maybe_Maybe_1_Some: {
							VAL v23 = mtp_std_maybe_Maybe_1_Some(v21);
							struct mirth_mirth_zaMirth* v24;
							mw_mirth_elab_checkzeinlinezerecursionzearrowzx(v20, in_Word_2, V_mirth_arrow_Arrow(v23), &v24);
							branch_zaMirth_22 = v24;
						} break;
						case std_maybe_Maybe_1_None: {
							struct mirth_mirth_zaMirth* v25;
							mw_mirth_elab_checkzeinlinezerecursionzefailedzx(v20, in_Word_2, &v25);
							branch_zaMirth_22 = v25;
						} break;
						default: {
							do_panic(str_make("unexpected fallthrough in match\n", 32));
						}
					}
					branch_zaMirth_18 = branch_zaMirth_22;
				} else {
					branch_zaMirth_18 = v16;
				}
				branch_zaMirth_14 = branch_zaMirth_18;
			}
			branch_zaMirth_5 = branch_zaMirth_14;
		} break;
		case mirth_arrow_Op_Match: {
			struct mirth_match_Match* v26 = mtp_mirth_arrow_Op_Match(in_Op_3);
			struct std_list_List_1 v27 = v26->mcases;
			incref(MK_std_list_List_1(v27));
			decref(MK_mirth_match_Match(v26));
			bool v28 = true;
			struct mirth_mirth_zaMirth* r29 = in_zaMirth_1;
			uint64_t v30 = in_Word_2;
			struct std_list_List_1 v31 = v27;
			bool v32 = v28;
			bool v33 = v28;
			while (v33) {
				struct mirth_mirth_zaMirth* r34 = r29;
				uint64_t v35 = v30;
				struct std_list_List_1 v36 = v31;
				bool v37 = v32;
				uint64_t branch_Word_38;
				struct mirth_mirth_zaMirth* branch_zaMirth_39;
				struct std_list_List_1 branch_List_40;
				bool branch_Bool_41;
				switch ((v36).tag) {
					case std_list_List_1_Cons: {
						struct std_list_List_1 v42;
						VAL v43 = mtp_std_list_List_1_Cons(v36, &v42);
						struct mirth_arrow_Arrow* v44 = V_mirth_match_Case(v43)->mbody;
						incref(MK_mirth_arrow_Arrow(v44));
						decref(MK_mirth_match_Case(V_mirth_match_Case(v43)));
						struct mirth_mirth_zaMirth* v45;
						mw_mirth_elab_checkzeinlinezerecursionzearrowzx(r34, v35, v44, &v45);
						bool v46 = true;
						branch_Bool_41 = v46;
						branch_List_40 = v42;
						branch_zaMirth_39 = v45;
						branch_Word_38 = v35;
					} break;
					case std_list_List_1_Nil: {
						struct std_list_List_1 v47 = { .tag=std_list_List_1_Nil };
						bool v48 = false;
						branch_Bool_41 = v48;
						branch_List_40 = v47;
						branch_zaMirth_39 = r34;
						branch_Word_38 = v35;
					} break;
					default: {
						do_panic(str_make("unexpected fallthrough in match\n", 32));
					}
				}
				v33 = branch_Bool_41;
				v32 = branch_Bool_41;
				v31 = branch_List_40;
				v30 = branch_Word_38;
				r29 = branch_zaMirth_39;
			}
			decref(MK_std_list_List_1(v31));
			branch_zaMirth_5 = r29;
		} break;
		case mirth_arrow_Op_Lambda: {
			struct mirth_arrow_Lambda* v49 = mtp_mirth_arrow_Op_Lambda(in_Op_3);
			struct mirth_arrow_Arrow* v50 = v49->mbody;
			incref(MK_mirth_arrow_Arrow(v50));
			decref(MK_mirth_arrow_Lambda(v49));
			struct mirth_mirth_zaMirth* v51;
			mw_mirth_elab_checkzeinlinezerecursionzearrowzx(in_zaMirth_1, in_Word_2, v50, &v51);
			branch_zaMirth_5 = v51;
		} break;
		default: {
			decref(MK_mirth_arrow_Op(in_Op_3));
			branch_zaMirth_5 = in_zaMirth_1;
		} break;
	}
	*out_zaMirth_4 = branch_zaMirth_5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x450, %rsp            # imm = 0x450
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl -0x10(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x440(%rbp)
subl $0xa, %eax
ja 0x15cc50
movq -0x440(%rbp), %rax
leaq 0x1f660d(%rip), %rcx    # 0x3526c0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x132ed0
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rdi
movq -0x38(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0xc4670
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x48(%rbp), %rdx
leaq -0x50(%rbp), %rcx
callq 0xf0100
movq -0x50(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x15cd51
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x132990
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x60(%rbp), %rax
cmpq -0x68(%rbp), %rax
sete %al
andb $0x1, %al
movb %al, -0x69(%rbp)
testb $0x1, -0x69(%rbp)
je 0x15c157
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x80(%rbp), %rdx
callq 0x15cdd0
movq -0x80(%rbp), %rax
movq %rax, -0x78(%rbp)
jmp 0x15c294
movq -0x18(%rbp), %rdi
movq -0x58(%rbp), %rsi
leaq -0x88(%rbp), %rdx
callq 0x15bfb0
andb $0x1, %al
movb %al, -0x89(%rbp)
testb $0x1, -0x89(%rbp)
je 0x15c27b
movq -0x58(%rbp), %rsi
leaq 0x1239685(%rip), %rdi   # 0x1395810
callq 0x40d30
movq %rax, -0xa0(%rbp)
movq -0x88(%rbp), %rdi
movq -0xa0(%rbp), %rsi
leaq -0xa8(%rbp), %rdx
callq 0x472c0
movl %eax, -0xb8(%rbp)
movq %rdx, -0xb0(%rbp)
movl -0xb8(%rbp), %eax
movl %eax, -0x444(%rbp)
testl %eax, %eax
je 0x15c22b
jmp 0x15c1d0
movl -0x444(%rbp), %eax
subl $0x1, %eax
jne 0x15c252
jmp 0x15c1dd
movl -0xb8(%rbp), %edi
movq -0xb0(%rbp), %rsi
callq 0x174a0
movq %rax, -0xd0(%rbp)
movq %rdx, -0xc8(%rbp)
movq -0xa8(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0xd0(%rbp), %rdx
leaq -0xd8(%rbp), %rcx
callq 0xf0100
movq -0xd8(%rbp), %rax
movq %rax, -0xc0(%rbp)
jmp 0x15c26b
movq -0xa8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0xe0(%rbp), %rdx
callq 0x15cdd0
movq -0xe0(%rbp), %rax
movq %rax, -0xc0(%rbp)
jmp 0x15c26b
leaq 0x1f7c28(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0xc0(%rbp), %rax
movq %rax, -0x98(%rbp)
jmp 0x15c289
movq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x15cd51
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x1331e0
movq %rax, -0xe8(%rbp)
movq -0xe8(%rbp), %rax
movq 0x58(%rax), %rcx
movq %rcx, -0xf8(%rbp)
movq 0x60(%rax), %rax
movq %rax, -0xf0(%rbp)
movl -0xf8(%rbp), %edi
movq -0xf0(%rbp), %rsi
callq 0x12780
movq %rax, -0x108(%rbp)
movq %rdx, -0x100(%rbp)
movq -0x100(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x15c3a6
movl -0xf8(%rbp), %edi
movq -0xf0(%rbp), %rsi
callq 0x12780
movq %rax, -0x118(%rbp)
movq %rdx, -0x110(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x118(%rbp), %rax
cmpq $0x0, %rax
je 0x15c3a6
movl -0xf8(%rbp), %edi
movq -0xf0(%rbp), %rsi
callq 0x12780
movq %rax, -0x128(%rbp)
movq %rdx, -0x120(%rbp)
movq -0x128(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x15c3a6
movl -0xf8(%rbp), %edi
movq -0xf0(%rbp), %rsi
callq 0x12780
movq %rax, -0x138(%rbp)
movq %rdx, -0x130(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x138(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x15c3a8
jmp 0x15c3aa
movq -0xe8(%rbp), %rax
movq %rax, -0x148(%rbp)
leaq 0x236389(%rip), %rax    # 0x392748
orq $0x1, %rax
movq %rax, -0x140(%rbp)
movq -0x140(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x15c4bd
movq -0xe8(%rbp), %rax
movq %rax, -0x158(%rbp)
leaq 0x236354(%rip), %rax    # 0x392748
orq $0x1, %rax
movq %rax, -0x150(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x158(%rbp), %rax
cmpq $0x0, %rax
je 0x15c4bd
movq -0xe8(%rbp), %rax
movq %rax, -0x168(%rbp)
leaq 0x236319(%rip), %rax    # 0x392748
orq $0x1, %rax
movq %rax, -0x160(%rbp)
movq -0x168(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x15c4bd
movq -0xe8(%rbp), %rax
movq %rax, -0x178(%rbp)
leaq 0x2362e8(%rip), %rax    # 0x392748
orq $0x1, %rax
movq %rax, -0x170(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x178(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x15c4bb
movq -0xe8(%rbp), %rax
movq %rax, -0x188(%rbp)
leaq 0x2362ab(%rip), %rax    # 0x392748
orq $0x1, %rax
movq %rax, -0x180(%rbp)
movq -0x188(%rbp), %rdi
movq -0x180(%rbp), %rsi
callq 0x127c0
jmp 0x15c4bd
jmp 0x15c4bf
movb $0x1, -0x189(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x1a0(%rbp)
movq -0xf8(%rbp), %rax
movq %rax, -0x1b0(%rbp)
movq -0xf0(%rbp), %rax
movq %rax, -0x1a8(%rbp)
movb -0x189(%rbp), %al
andb $0x1, %al
movb %al, -0x1b1(%rbp)
movb -0x189(%rbp), %al
andb $0x1, %al
movb %al, -0x1b2(%rbp)
testb $0x1, -0x1b2(%rbp)
je 0x15c8eb
movq -0x198(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movq -0x1a0(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movups -0x1b0(%rbp), %xmm0
movaps %xmm0, -0x1e0(%rbp)
movb -0x1b1(%rbp), %al
andb $0x1, %al
movb %al, -0x1e1(%rbp)
movl -0x1e0(%rbp), %eax
movl %eax, -0x448(%rbp)
testl %eax, %eax
je 0x15c817
jmp 0x15c56f
movl -0x448(%rbp), %eax
subl $0x1, %eax
jne 0x15c879
jmp 0x15c580
movl -0x1e0(%rbp), %edi
movq -0x1d8(%rbp), %rsi
leaq -0x220(%rbp), %rdx
callq 0x125e0
movq %rax, -0x230(%rbp)
movq %rdx, -0x228(%rbp)
movq -0x230(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x238(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x248(%rbp)
leaq 0x235e62(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x240(%rbp)
movq -0x240(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x15c68e
movq -0x238(%rbp), %rax
movq %rax, -0x258(%rbp)
leaq 0x235e2d(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x250(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x258(%rbp), %rax
cmpq $0x0, %rax
je 0x15c68e
movq -0x238(%rbp), %rax
movq %rax, -0x268(%rbp)
leaq 0x235df6(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x260(%rbp)
movq -0x268(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x15c68e
movq -0x238(%rbp), %rax
movq %rax, -0x278(%rbp)
leaq 0x235dc5(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x270(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x278(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x15c690
jmp 0x15c692
movq -0x230(%rbp), %rax
movq %rax, -0x288(%rbp)
leaq 0x236059(%rip), %rax    # 0x392700
orq $0x1, %rax
movq %rax, -0x280(%rbp)
movq -0x280(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x15c7a5
movq -0x230(%rbp), %rax
movq %rax, -0x298(%rbp)
leaq 0x236024(%rip), %rax    # 0x392700
orq $0x1, %rax
movq %rax, -0x290(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x298(%rbp), %rax
cmpq $0x0, %rax
je 0x15c7a5
movq -0x230(%rbp), %rax
movq %rax, -0x2a8(%rbp)
leaq 0x235fe9(%rip), %rax    # 0x392700
orq $0x1, %rax
movq %rax, -0x2a0(%rbp)
movq -0x2a8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x15c7a5
movq -0x230(%rbp), %rax
movq %rax, -0x2b8(%rbp)
leaq 0x235fb8(%rip), %rax    # 0x392700
orq $0x1, %rax
movq %rax, -0x2b0(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x2b8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x15c7a3
movq -0x230(%rbp), %rax
movq %rax, -0x2c8(%rbp)
leaq 0x235f7b(%rip), %rax    # 0x392700
orq $0x1, %rax
movq %rax, -0x2c0(%rbp)
movq -0x2c8(%rbp), %rdi
movq -0x2c0(%rbp), %rsi
callq 0x127c0
jmp 0x15c7a5
jmp 0x15c7a7
movq -0x1c0(%rbp), %rdi
movq -0x1c8(%rbp), %rsi
movq -0x238(%rbp), %rdx
leaq -0x2d0(%rbp), %rcx
callq 0xf0100
movb $0x1, -0x2d1(%rbp)
movb -0x2d1(%rbp), %al
andb $0x1, %al
movb %al, -0x209(%rbp)
movq -0x220(%rbp), %rax
movq %rax, -0x208(%rbp)
movq -0x218(%rbp), %rax
movq %rax, -0x200(%rbp)
movq -0x2d0(%rbp), %rax
movq %rax, -0x1f8(%rbp)
movq -0x1c8(%rbp), %rax
movq %rax, -0x1f0(%rbp)
jmp 0x15c892
leaq -0x2e8(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movb $0x0, -0x2e9(%rbp)
movb -0x2e9(%rbp), %al
andb $0x1, %al
movb %al, -0x209(%rbp)
movq -0x2e8(%rbp), %rax
movq %rax, -0x208(%rbp)
movq -0x2e0(%rbp), %rax
movq %rax, -0x200(%rbp)
movq -0x1c0(%rbp), %rax
movq %rax, -0x1f8(%rbp)
movq -0x1c8(%rbp), %rax
movq %rax, -0x1f0(%rbp)
jmp 0x15c892
leaq 0x1f7601(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movb -0x209(%rbp), %al
andb $0x1, %al
movb %al, -0x1b2(%rbp)
movb -0x209(%rbp), %al
andb $0x1, %al
movb %al, -0x1b1(%rbp)
movq -0x208(%rbp), %rax
movq %rax, -0x1b0(%rbp)
movq -0x200(%rbp), %rax
movq %rax, -0x1a8(%rbp)
movq -0x1f0(%rbp), %rax
movq %rax, -0x1a0(%rbp)
movq -0x1f8(%rbp), %rax
movq %rax, -0x198(%rbp)
jmp 0x15c514
jmp 0x15c8ed
movl -0x1b0(%rbp), %edi
movq -0x1a8(%rbp), %rsi
callq 0x12780
movq %rax, -0x300(%rbp)
movq %rdx, -0x2f8(%rbp)
movq -0x2f8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x15ca00
movl -0x1b0(%rbp), %edi
movq -0x1a8(%rbp), %rsi
callq 0x12780
movq %rax, -0x310(%rbp)
movq %rdx, -0x308(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x310(%rbp), %rax
cmpq $0x0, %rax
je 0x15ca00
movl -0x1b0(%rbp), %edi
movq -0x1a8(%rbp), %rsi
callq 0x12780
movq %rax, -0x320(%rbp)
movq %rdx, -0x318(%rbp)
movq -0x320(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x15ca00
movl -0x1b0(%rbp), %edi
movq -0x1a8(%rbp), %rsi
callq 0x12780
movq %rax, -0x330(%rbp)
movq %rdx, -0x328(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x330(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x15c9fe
movl -0x1b0(%rbp), %edi
movq -0x1a8(%rbp), %rsi
callq 0x12780
movq %rax, -0x340(%rbp)
movq %rdx, -0x338(%rbp)
movq -0x340(%rbp), %rdi
movq -0x338(%rbp), %rsi
callq 0x127c0
jmp 0x15ca00
jmp 0x15ca02
movq -0x198(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x15cd51
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x1337a0
movq %rax, -0x348(%rbp)
movq -0x348(%rbp), %rax
movq 0x40(%rax), %rax
movq %rax, -0x350(%rbp)
movq -0x350(%rbp), %rax
movq %rax, -0x360(%rbp)
leaq 0x2359e4(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x358(%rbp)
movq -0x358(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x15cb0c
movq -0x350(%rbp), %rax
movq %rax, -0x370(%rbp)
leaq 0x2359af(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x368(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x370(%rbp), %rax
cmpq $0x0, %rax
je 0x15cb0c
movq -0x350(%rbp), %rax
movq %rax, -0x380(%rbp)
leaq 0x235978(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x378(%rbp)
movq -0x380(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x15cb0c
movq -0x350(%rbp), %rax
movq %rax, -0x390(%rbp)
leaq 0x235947(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x388(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x390(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x15cb0e
jmp 0x15cb10
movq -0x348(%rbp), %rax
movq %rax, -0x3a0(%rbp)
leaq 0x235d43(%rip), %rax    # 0x392868
orq $0x1, %rax
movq %rax, -0x398(%rbp)
movq -0x398(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x15cc23
movq -0x348(%rbp), %rax
movq %rax, -0x3b0(%rbp)
leaq 0x235d0e(%rip), %rax    # 0x392868
orq $0x1, %rax
movq %rax, -0x3a8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x3b0(%rbp), %rax
cmpq $0x0, %rax
je 0x15cc23
movq -0x348(%rbp), %rax
movq %rax, -0x3c0(%rbp)
leaq 0x235cd3(%rip), %rax    # 0x392868
orq $0x1, %rax
movq %rax, -0x3b8(%rbp)
movq -0x3c0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x15cc23
movq -0x348(%rbp), %rax
movq %rax, -0x3d0(%rbp)
leaq 0x235ca2(%rip), %rax    # 0x392868
orq $0x1, %rax
movq %rax, -0x3c8(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x3d0(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x15cc21
movq -0x348(%rbp), %rax
movq %rax, -0x3e0(%rbp)
leaq 0x235c65(%rip), %rax    # 0x392868
orq $0x1, %rax
movq %rax, -0x3d8(%rbp)
movq -0x3e0(%rbp), %rdi
movq -0x3d8(%rbp), %rsi
callq 0x127c0
jmp 0x15cc23
jmp 0x15cc25
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x350(%rbp), %rdx
leaq -0x3e8(%rbp), %rcx
callq 0xf0100
movq -0x3e8(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x15cd51
jmp 0x15cc52
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x122ee0
movq %rax, -0x3f8(%rbp)
movq %rdx, -0x3f0(%rbp)
movq -0x3f0(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x15cd47
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x122ee0
movq %rax, -0x408(%rbp)
movq %rdx, -0x400(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x408(%rbp), %rax
cmpq $0x0, %rax
je 0x15cd47
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x122ee0
movq %rax, -0x418(%rbp)
movq %rdx, -0x410(%rbp)
movq -0x418(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x15cd47
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x122ee0
movq %rax, -0x428(%rbp)
movq %rdx, -0x420(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x428(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x15cd45
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x122ee0
movq %rax, -0x438(%rbp)
movq %rdx, -0x430(%rbp)
movq -0x438(%rbp), %rdi
movq -0x430(%rbp), %rsi
callq 0x127c0
jmp 0x15cd47
jmp 0x15cd49
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
addq $0x450, %rsp            # imm = 0x450
popq %rbp
retq
nopw %cs:(%rax,%rax)