LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_mirth_PropLabel_prop_1_sp25_0
static void mb_mirth_mirth_PropLabel_prop_1_sp25_0 (void) {
	PTUP v0 = value_tup(pop_value());
	struct mirth_mirth_zaMirth* r1 = V_mirth_mirth_zaMirth(pop_resource());
	VAL v2 = ((TUP*)PTRPTR(v0))->cells[0];
	VAL v3 = ((TUP*)PTRPTR(v0))->cells[1];
	tup_decref_outer(v0);
	struct mirth_mirth_zaMirth* v4;
	struct mirth_table_StateOwner v5 = mw_mirth_table_Field_owner(r1, V_mirth_table_Field(v2), &v4);
	struct mirth_mirth_zaMirth* v6;
	struct std_list_List_1 v7 = mw_mirth_table_StateOwner_ctx(v4, v5, &v6);
	struct mirth_mirth_zaMirth* v8;
	struct mirth_type_Type v9 = mw_mirth_elab_elabzesimplezetypezeatomzx(v6, v7, V_mirth_token_Token(v3), &v8);
	push_resource(MK_mirth_mirth_zaMirth(v8));
	push_value(MK_mirth_type_Type(v9));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
callq 0xd699
movq %rax, %r15
movq %rax, %rdi
movq %rdx, %rsi
callq 0x90ba
callq 0xd6f2
movq %rax, %r12
movabsq $0xfffffffffffc, %r14   # imm = 0xFFFFFFFFFFFC
movq %r15, %rax
andq %r14, %rax
movq 0x8(%rax), %r13
movq 0x18(%rax), %rbx
movq %r15, %rdi
callq 0x910b
leaq 0x10a771a(%rip), %rdi   # 0x1115d38
movq %r13, %rsi
callq 0x13c85
leaq -0x30(%rbp), %r15
movq %r12, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x1a6db
movq (%r15), %rdi
andq %rax, %r14
movq %rax, %rsi
shrq $0x30, %rsi
movq %r14, %rdx
movq %r15, %rcx
callq 0x6cb06
movq (%r15), %rdi
leaq -0x38(%rbp), %r14
movl %eax, %esi
movq %rbx, %rcx
movq %r14, %r8
callq 0x609c4
movl %eax, %ebx
movq %rdx, %r15
movq (%r14), %rdi
leaq 0xa327d(%rip), %rsi     # 0x1118f0
callq 0x8e6d
shlq $0x30, %rbx
orq %r15, %rbx
leaq 0xa3463(%rip), %rsi     # 0x111ae9
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd34b
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_PropLabel_FieldOwner
static struct mirth_mirth_PropLabel mtw_mirth_mirth_PropLabel_FieldOwner (uint64_t in_Field_1) {
	struct mirth_mirth_PropLabel_FieldOwner* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mField = in_Field_1;
	struct mirth_mirth_PropLabel v4 = { .tag=mirth_mirth_PropLabel_FieldOwner, .ptr.FieldOwner=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
testq %rax, %rax
je 0x6e6ca
movl $0x1, (%rax)
movq %rbx, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
leaq 0x79141(%rip), %rsi     # 0xe7812
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52b6
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_mirth_PropLabel_prop_1_sp24_0
static void mb_mirth_mirth_PropLabel_prop_1_sp24_0 (void) {
	uint64_t v0 = V_mirth_table_Table(pop_value());
	struct mirth_mirth_zaMirth* r1 = V_mirth_mirth_zaMirth(pop_resource());
	struct mirth_mirth_zaMirth* v2;
	struct mirth_table_StateOwner v3 = mw_mirth_table_Table_owner(r1, v0, &v2);
	push_resource(MK_mirth_mirth_zaMirth(v2));
	push_value(MK_mirth_table_StateOwner(v3));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x10, %rsp
callq 0xd699
movq %rax, %rbx
callq 0xd6f2
movq %rax, %r14
leaq 0x10a78ff(%rip), %rdi   # 0x1116010
movq %rbx, %rsi
callq 0x13c85
leaq -0x18(%rbp), %rbx
movq %r14, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x1a6db
movq %rax, %r14
movq (%rbx), %rdi
leaq 0xa31b8(%rip), %rsi     # 0x1118f0
callq 0x8e6d
andq $-0x4, %r14
leaq 0xa4361(%rip), %rsi     # 0x112aa9
movq %r14, %rdi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
jmp 0xd34b
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_mirth_PropLabel_prop2_1_sp7
static struct mirth_mirth_Prop_1* mw_mirth_mirth_PropLabel_prop2_1_sp7 (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Field_2, uint64_t in_Word_3, struct mirth_mirth_PropLabel in_PropLabel_4, struct mirth_mirth_zaMirth* *out_zaMirth_5) {
	PTUP r7 = PTRMK(0,tup_new(2),0);
	((TUP*)PTRPTR(r7))->size = 2;
	((TUP*)PTRPTR(r7))->cells[1] = MK_mirth_word_Word(in_Word_3);
	((TUP*)PTRPTR(r7))->cells[0] = MK_mirth_table_Field(in_Field_2);
	struct mirth_mirth_LexicalState* v8 = in_zaMirth_1->mlexicalzestate;
	incref(MK_mirth_mirth_LexicalState(v8));
	FNPTR v9 = &mb_mirth_mirth_PropLabel_prop_1_sp20_0;
	struct mirth_mirth_PropState_1 v10 = mtw_mirth_mirth_PropState_1_Delay(v8, MKTUP(r7), MKFNPTR(v9));
	struct mirth_mirth_Prop_1* v11 = mtw_mirth_mirth_Prop_1_Prop(in_PropLabel_4, v10);
	*out_zaMirth_5 = in_zaMirth_1;
	return v11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %rbx
movq %rcx, %r15
movq %rdx, %r12
movq %rsi, %r13
movq %rdi, %r14
movl $0x2, %edi
callq 0xe0e7
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
movq %rax, %rdx
andq %rcx, %rdx
movw $0x2, 0x6(%rdx)
movq %r12, 0x18(%rdx)
leaq 0xa3201(%rip), %rsi     # 0x112160
movq %rsi, 0x20(%rdx)
movq %r13, 0x8(%rdx)
leaq 0xa32ca(%rip), %rsi     # 0x112238
movq %rsi, 0x10(%rdx)
movq 0x48(%r14), %rdi
andq %rdi, %rcx
sete %dl
testb $0x3, %dil
setne %sil
orb %dl, %sil
jne 0x6ef8b
incl (%rcx)
leaq 0xa2407(%rip), %rdx     # 0x111399
leaq 0x11c0(%rip), %rcx      # 0x70159
movq %rax, %rsi
callq 0x27765
movl $0x9, %edi
movq %r15, %rsi
movl $0x1, %edx
movq %rax, %rcx
callq 0x1f63a
movq %r14, (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_mirth_PropLabel_prop_1_sp20_0
static void mb_mirth_mirth_PropLabel_prop_1_sp20_0 (void) {
	PTUP v0 = value_tup(pop_value());
	struct mirth_mirth_zaMirth* r1 = V_mirth_mirth_zaMirth(pop_resource());
	VAL v2 = ((TUP*)PTRPTR(v0))->cells[0];
	VAL v3 = ((TUP*)PTRPTR(v0))->cells[1];
	tup_decref_outer(v0);
	incref(v2);
	struct mirth_mirth_zaMirth* v4;
	struct mirth_name_Namespace v5 = mw_mirth_table_Field_namespace(r1, V_mirth_table_Field(v2), &v4);
	decref(v2);
	incref(v3);
	struct mirth_mirth_zaMirth* v6;
	INT v7 = mw_mirth_word_Word_arity(v4, V_mirth_word_Word(v3), &v6);
	INT v8 = v7;
	struct mirth_mirth_zaMirth* v9;
	uint64_t v10 = mw_mirth_word_Word_name(v6, V_mirth_word_Word(v3), &v9);
	struct mirth_name_QName* v11 = mtw_mirth_name_QName_QName(v5, v10, v8);
	push_resource(MK_mirth_mirth_zaMirth(v9));
	push_value(MK_mirth_name_QName(v11));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
callq 0xd699
movq %rax, %r13
movq %rax, %rdi
movq %rdx, %rsi
callq 0x90ba
callq 0xd6f2
movq %rax, %r15
movq %r13, %rax
andq %rbx, %rax
movq 0x8(%rax), %r12
movq 0x10(%rax), %r14
movq 0x18(%rax), %rcx
movq %rcx, -0x40(%rbp)
movq 0x20(%rax), %rax
movq %rax, -0x38(%rbp)
movq %r13, %rdi
callq 0x910b
testb $0x1, %r14b
je 0x701d1
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0x701d1
incl (%rax)
leaq 0x10a49f8(%rip), %rdi   # 0x1114bd0
movq %r12, %rsi
callq 0x13c85
leaq -0x48(%rbp), %rdx
movq %r15, %rdi
movq %rax, %rsi
callq 0x1a6db
movl 0x8(%rax), %ecx
movl %ecx, -0x2c(%rbp)
movq 0x10(%rax), %r15
movq %r15, %rcx
andq %rbx, %rcx
sete %dl
testb $0x3, %r15b
setne %sil
orb %dl, %sil
jne 0x70211
incl (%rcx)
movq -0x48(%rbp), %r13
movq %rax, %rcx
andq %rbx, %rcx
sete %dl
testb $0x3, %al
setne %sil
orb %dl, %sil
jne 0x7023c
decl (%rcx)
jne 0x7023c
movq %rax, %rdi
leaq 0xa150a(%rip), %rsi     # 0x111741
callq 0xd13d
testb $0x1, %r14b
je 0x70265
movq %r12, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0x70265
decl (%rax)
jne 0x70265
movq %r12, %rdi
movq %r14, %rsi
callq 0xd13d
testb $0x1, -0x38(%rbp)
movq -0x40(%rbp), %r12
je 0x70282
andq %r12, %rbx
sete %al
testb $0x3, %r12b
setne %cl
orb %al, %cl
jne 0x70282
incl (%rbx)
leaq 0x10a5407(%rip), %rdi   # 0x1115690
movq %r12, %rsi
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movq %rax, %r14
movq %rax, %rdi
movq %rdx, %rsi
callq 0x324c1
leaq 0x10a4cba(%rip), %rdi   # 0x1114f68
movq %r12, %rsi
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movl -0x2c(%rbp), %edi
movq %r15, %rsi
movq %rax, %rdx
movq %r14, %rcx
callq 0x1549b
movq %rax, %rbx
leaq 0xa1617(%rip), %rsi     # 0x1118f0
movq %r13, %rdi
callq 0x8e6d
movq %rbx, %rdi
leaq 0xa1456(%rip), %rsi     # 0x111741
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd34b
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_mirth_PropLabel_prop_1_sp16
static struct mirth_mirth_Prop_1* mw_mirth_mirth_PropLabel_prop_1_sp16 (uint64_t in_Token_1, struct mirth_mirth_zaMirth* in_zaMirth_2, struct mirth_mirth_PropLabel in_PropLabel_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_LexicalState* v6 = in_zaMirth_2->mlexicalzestate;
	incref(MK_mirth_mirth_LexicalState(v6));
	FNPTR v7 = &mb_mirth_mirth_PropLabel_prop_1_sp16_0;
	struct mirth_mirth_PropState_1 v8 = mtw_mirth_mirth_PropState_1_Delay(v6, MK_mirth_token_Token(in_Token_1), MKFNPTR(v7));
	struct mirth_mirth_Prop_1* v9 = mtw_mirth_mirth_Prop_1_Prop(in_PropLabel_3, v8);
	*out_zaMirth_4 = in_zaMirth_2;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %r8, %rbx
movq %rcx, %r15
movl %edx, %r12d
movq %rsi, %r14
movq %rdi, %rsi
movq 0x48(%r14), %rdi
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdi, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x70c3f
incl (%rax)
leaq 0xa1172(%rip), %rdx     # 0x111db8
leaq 0x2cb(%rip), %rcx       # 0x70f18
callq 0x27765
movl %r12d, %edi
movq %r15, %rsi
movl $0x1, %edx
movq %rax, %rcx
callq 0x1f63a
movq %r14, (%rbx)
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_lastzenamezy
static struct std_maybe_Maybe_1 mw_mirth_token_Token_lastzenamezy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_token_TokenValue v6 = mw_mirth_token_Token_value(in_zaMirth_1, in_Token_2, &v5);
	struct std_maybe_Maybe_1 v7 = mw_mirth_token_TokenValue_lastzenamezy(v6);
	*out_zaMirth_3 = v5;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rdi, %r14
leaq 0x10a456e(%rip), %rdi   # 0x11153e8
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movq %rax, %rcx
shrq $0x30, %rcx
movabsq $0xfffffffffffc, %rdi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rdi
cmpq $0x1c, %rcx
je 0x70ebf
cmpl $0x1b, %ecx
jne 0x70eea
movq 0x8(%rdi), %r15
decl (%rdi)
jne 0x70eb3
callq 0x5030
leaq 0xa083e(%rip), %rsi     # 0x1116f8
movq %r15, %rdi
jmp 0x70ede
callq 0x27ec7
movq %rax, %rdi
callq 0x2cc3e
movq %rax, %rdi
callq 0x2cb6e
leaq 0xa081d(%rip), %rsi     # 0x1116f8
movq %rax, %rdi
callq 0x9353
movl $0x1, %eax
jmp 0x70f0a
testq %rdi, %rdi
je 0x70f06
decl (%rdi)
jne 0x70f06
andq $-0x4, %rax
leaq 0xa0fdb(%rip), %rsi     # 0x111ed9
movq %rax, %rdi
callq 0xd13d
xorl %eax, %eax
xorl %edx, %edx
movq %r14, (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_mirth_PropLabel_prop_1_sp16_0
static void mb_mirth_mirth_PropLabel_prop_1_sp16_0 (void) {
	uint64_t v0 = V_mirth_token_Token(pop_value());
	struct mirth_mirth_zaMirth* r1 = V_mirth_mirth_zaMirth(pop_resource());
	struct std_list_List_1 v2 = mw_mirth_var_Ctx_L0();
	struct mirth_mirth_zaMirth* v3;
	struct mirth_type_Type v4 = mw_mirth_elab_elabzesimplezetypezeatomzx(r1, v2, v0, &v3);
	push_resource(MK_mirth_mirth_zaMirth(v3));
	push_value(MK_mirth_type_Type(v4));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
callq 0xd699
movq %rax, %rbx
callq 0xd6f2
leaq -0x20(%rbp), %r14
movq %rax, %rdi
xorl %esi, %esi
xorl %edx, %edx
movq %rbx, %rcx
movq %r14, %r8
callq 0x609c4
movl %eax, %ebx
movq %rdx, %r15
movq (%r14), %rdi
leaq 0xa099c(%rip), %rsi     # 0x1118f0
callq 0x8e6d
shlq $0x30, %rbx
orq %r15, %rbx
leaq 0xa0b82(%rip), %rsi     # 0x111ae9
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xd34b
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_parsezedatazeheader
static uint64_t mw_mirth_data_parsezedatazeheader (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, uint64_t *out_SyntaxDataHeader_5) {
	struct mirth_mirth_zaMirth* v6;
	uint64_t v7 = mw_mirth_token_Token_next(in_zaMirth_1, in_Token_2, &v6);
	struct mirth_mirth_zaMirth* v8;
	struct std_maybe_Maybe_1 v9 = mw_mirth_token_Token_lastzenamezy(v6, in_Token_2, &v8);
	struct mirth_mirth_zaMirth* v10;
	bool v11 = mw_std_maybe_Maybe_1_has_1_sp15(v8, v9, &v10);
	struct mirth_mirth_zaMirth* branch_zaMirth_12;
	uint64_t branch_Token_13;
	if (v11) {
		branch_Token_13 = in_Token_2;
		branch_zaMirth_12 = v10;
	} else {
		STR* v14;
		STRLIT(v14, "Expected type name.", 19);
		mw_mirth_mirth_zaMirth_emitzefatalzeerrorzx(v10, in_Token_2, v14);
	}
	*out_SyntaxDataHeader_5 = branch_Token_13;
	*out_zaMirth_3 = branch_zaMirth_12;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rcx, %r15
movq %rdx, %r14
movq %rsi, %rbx
leaq -0x40(%rbp), %r13
movq %r13, %rdx
callq 0x28324
movq %rax, %r12
movq (%r13), %rdi
leaq -0x38(%rbp), %r13
movq %rbx, %rsi
movq %r13, %rdx
callq 0x70e63
movq (%r13), %rdi
leaq -0x30(%rbp), %rcx
movl %eax, %esi
callq 0x733f6
testb %al, %al
je 0x72ae8
movq -0x30(%rbp), %rax
movq %rbx, (%r15)
movq %rax, (%r14)
movq %r12, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x10a36f9(%rip), %rdx   # 0x11161e8
testq %rdx, %rdx
jne 0x72b22
movl $0x13, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x13, 0x10(%rax)
movups 0x74e7f(%rip), %xmm0    # 0xe798f
movups %xmm0, 0x18(%rax)
movl $0x2e656d61, 0x27(%rax) # imm = 0x2E656D61
movq %rax, 0x10a36c6(%rip)   # 0x11161e8
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0x72b40
incl (%rax)
movq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x27183
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_parsezedatazedeclszx
static uint64_t mw_mirth_data_parsezedatazedeclszx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct std_maybe_Maybe_1 *out_Maybe_5) {
	struct mirth_mirth_zaMirth* v6;
	bool v7 = mw_mirth_token_Token_sigzedasheszy(in_zaMirth_1, in_Token_2, &v6);
	struct mirth_mirth_zaMirth* branch_zaMirth_8;
	uint64_t branch_Token_9;
	struct std_maybe_Maybe_1 branch_Maybe_10;
	if (v7) {
		struct mirth_mirth_zaMirth* v11;
		uint64_t v12 = mw_mirth_token_Token_succ(v6, in_Token_2, &v11);
		struct mirth_mirth_zaMirth* v13;
		bool v14 = mw_mirth_token_Token_argzeendzy(v11, v12, &v13);
		bool v15 = !v14;
		uint64_t v16 = v12;
		uint64_t v17 = v12;
		struct mirth_mirth_zaMirth* r18 = v13;
		bool v19 = v15;
		while (v19) {
			uint64_t v20 = v16;
			uint64_t v21 = v17;
			struct mirth_mirth_zaMirth* r22 = r18;
			struct mirth_mirth_zaMirth* v23;
			uint64_t v24 = mw_mirth_token_Token_next(r22, v21, &v23);
			struct mirth_mirth_zaMirth* v25;
			bool v26 = mw_mirth_token_Token_argzeendzy(v23, v24, &v25);
			bool v27 = !v26;
			v19 = v27;
			r18 = v25;
			v17 = v24;
			v16 = v20;
		}
		struct std_maybe_Maybe_1 v28 = mtw_std_maybe_Maybe_1_Some(MK_mirth_token_Token(v16));
		branch_Maybe_10 = v28;
		branch_Token_9 = v17;
		branch_zaMirth_8 = r18;
	} else {
		struct std_maybe_Maybe_1 v29 = { .tag=std_maybe_Maybe_1_None };
		branch_Maybe_10 = v29;
		branch_Token_9 = in_Token_2;
		branch_zaMirth_8 = v6;
	}
	*out_Maybe_5 = branch_Maybe_10;
	*out_zaMirth_3 = branch_zaMirth_8;
	return branch_Token_9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rcx, %r13
movq %rdx, %r14
movq %rsi, %r15
leaq -0x58(%rbp), %rbx
movq %rbx, %rdx
callq 0x34edf
movq (%rbx), %r12
testb %al, %al
je 0x730ae
movq %r13, -0x30(%rbp)
movq %r14, -0x38(%rbp)
xorl %r13d, %r13d
cmpq %r15, 0x10a2370(%rip)   # 0x11153f8
leaq 0x1(%r15), %rax
cmovaq %rax, %r13
leaq -0x50(%rbp), %rbx
movq %r12, %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x28295
movq (%rbx), %r12
testb %al, %al
je 0x730b4
movq %r13, %r15
jmp 0x730e7
xorl %eax, %eax
xorl %edx, %edx
jmp 0x73103
leaq -0x48(%rbp), %rbx
leaq -0x40(%rbp), %r14
movq %r13, %r15
movq %r12, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x28324
movq %rax, %r15
movq -0x48(%rbp), %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x28295
movq -0x40(%rbp), %r12
testb %al, %al
je 0x730bf
leaq 0x9ecca(%rip), %rsi     # 0x111db8
movq %r13, %rdi
callq 0x9353
movl $0x1, %eax
movq -0x38(%rbp), %r14
movq -0x30(%rbp), %r13
movl %eax, (%r13)
movl $0x0, 0x4(%r13)
movq %rdx, 0x8(%r13)
movq %r12, (%r14)
movq %r15, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_rparenzy
static struct std_maybe_Maybe_1 mw_mirth_token_Token_rparenzy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_token_TokenValue v6 = mw_mirth_token_Token_value(in_zaMirth_1, in_Token_2, &v5);
	struct std_maybe_Maybe_1 v7 = mw_mirth_token_TokenValue_rparenzy(v6);
	*out_zaMirth_3 = v5;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rdi, %r14
leaq 0x10a22a9(%rip), %rdi   # 0x11153e8
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movabsq $0xfffffffffffc, %rdi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rdi
movq %rax, %rcx
shrq $0x30, %rcx
cmpl $0x7, %ecx
jne 0x73188
movq 0x8(%rdi), %r15
decl (%rdi)
jne 0x73172
callq 0x5030
leaq 0x9ec3f(%rip), %rsi     # 0x111db8
movq %r15, %rdi
callq 0x9353
movl $0x1, %eax
jmp 0x731a8
testq %rdi, %rdi
je 0x731a4
decl (%rdi)
jne 0x731a4
andq $-0x4, %rax
leaq 0x9ed3d(%rip), %rsi     # 0x111ed9
movq %rax, %rdi
callq 0xd13d
xorl %eax, %eax
xorl %edx, %edx
movq %r14, (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_maybe_Maybe_1_else_1_sp6
static uint64_t mw_std_maybe_Maybe_1_else_1_sp6 (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct std_maybe_Maybe_1 in_Maybe_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	int64_t v6 = (in_Maybe_3).tag;
	decref(MK_std_maybe_Maybe_1(in_Maybe_3));
	INT v7 = WRAP_I63(0LL);
	INT v8 = v7;
	INT v9 = i64_to_int(v6);
	bool v10 = int_eq(v9, v8);
	bool v11 = !v10;
	struct mirth_mirth_zaMirth* branch_zaMirth_12;
	uint64_t branch_Token_13;
	if (v11) {
		branch_Token_13 = in_Token_2;
		branch_zaMirth_12 = in_zaMirth_1;
	} else {
		STR* v14;
		STRLIT(v14, "expected left curly brace '{'", 29);
		mw_mirth_mirth_zaMirth_emitzefatalzeerrorzx(in_zaMirth_1, in_Token_2, v14);
	}
	*out_zaMirth_4 = branch_zaMirth_12;
	return branch_Token_13;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %r15
movq %rsi, %rbx
movq %rdi, %r14
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
movl %edx, %r13d
movq %rcx, %rax
andq %r12, %rax
sete %dl
testb $0x3, %cl
setne %sil
orb %dl, %sil
jne 0x73209
decl (%rax)
jne 0x73209
movq %r13, %rdi
shlq $0x30, %rdi
orq %rcx, %rdi
leaq 0x9e0bd(%rip), %rsi     # 0x1112c1
callq 0xd13d
leaq 0x1(,%r13,2), %rdi
movl $0x1, %esi
callq 0xe83a
testl %eax, %eax
je 0x73234
movq %r14, (%r15)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x10a2fcd(%rip), %rdx   # 0x1116208
testq %rdx, %rdx
jne 0x73272
movl $0x1d, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x1d, 0x10(%rax)
movups 0x74811(%rip), %xmm0    # 0xe7a6d
movups %xmm0, 0x18(%rax)
movups 0x74813(%rip), %xmm0    # 0xe7a7a
movups %xmm0, 0x25(%rax)
movq %rax, 0x10a2f96(%rip)   # 0x1116208
andq %rdx, %r12
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x73286
incl (%r12)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x27183
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_maybe_Maybe_1_else_1_sp7
static uint64_t mw_std_maybe_Maybe_1_else_1_sp7 (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct std_maybe_Maybe_1 in_Maybe_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	int64_t v6 = (in_Maybe_3).tag;
	decref(MK_std_maybe_Maybe_1(in_Maybe_3));
	INT v7 = WRAP_I63(0LL);
	INT v8 = v7;
	INT v9 = i64_to_int(v6);
	bool v10 = int_eq(v9, v8);
	bool v11 = !v10;
	struct mirth_mirth_zaMirth* branch_zaMirth_12;
	uint64_t branch_Token_13;
	if (v11) {
		branch_Token_13 = in_Token_2;
		branch_zaMirth_12 = in_zaMirth_1;
	} else {
		STR* v14;
		STRLIT(v14, "expected right curly brace '}'", 30);
		mw_mirth_mirth_zaMirth_emitzefatalzeerrorzx(in_zaMirth_1, in_Token_2, v14);
	}
	*out_zaMirth_4 = branch_zaMirth_12;
	return branch_Token_13;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %r15
movq %rsi, %rbx
movq %rdi, %r14
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
movl %edx, %r13d
movq %rcx, %rax
andq %r12, %rax
sete %dl
testb $0x3, %cl
setne %sil
orb %dl, %sil
jne 0x732e4
decl (%rax)
jne 0x732e4
movq %r13, %rdi
shlq $0x30, %rdi
orq %rcx, %rdi
leaq 0x9dfe2(%rip), %rsi     # 0x1112c1
callq 0xd13d
leaq 0x1(,%r13,2), %rdi
movl $0x1, %esi
callq 0xe83a
testl %eax, %eax
je 0x7330f
movq %r14, (%r15)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x10a2efa(%rip), %rdx   # 0x1116210
testq %rdx, %rdx
jne 0x7334d
movl $0x1e, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x1e, 0x10(%rax)
movups 0x74754(%rip), %xmm0    # 0xe7a8b
movups %xmm0, 0x18(%rax)
movups 0x74757(%rip), %xmm0    # 0xe7a99
movups %xmm0, 0x26(%rax)
movq %rax, 0x10a2ec3(%rip)   # 0x1116210
andq %rdx, %r12
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x73361
incl (%r12)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x27183
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_data_SyntaxData_SyntaxData
static struct mirth_data_SyntaxData* mtw_mirth_data_SyntaxData_SyntaxData (struct std_maybe_Maybe_1 in_Maybe_1, uint64_t in_SyntaxDataHeader_2, struct std_list_List_1 in_List_3, struct std_maybe_Maybe_1 in_Maybe_4) {
	struct mirth_data_SyntaxData* v6 = calloc(1, sizeof *v6);
	ASSERT(v6);
	v6->refs = 1;
	v6->mdecls = in_Maybe_4;
	v6->mtags = in_List_3;
	v6->mheader = in_SyntaxDataHeader_2;
	v6->mdoc = in_Maybe_1;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %r14
movl %ecx, %r13d
movq %rdx, %r15
movq %rsi, %rbx
movl %edi, %r12d
movl $0x1, %edi
movl $0x40, %esi
callq 0x50c0
testq %rax, %rax
je 0x733d1
leaq 0x10(%rbp), %rcx
movl $0x1, (%rax)
movups (%rcx), %xmm0
movups %xmm0, 0x30(%rax)
movl %r13d, 0x20(%rax)
movq %r14, 0x28(%rax)
movq %r15, 0x18(%rax)
movl %r12d, 0x8(%rax)
movq %rbx, 0x10(%rax)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x746d2(%rip), %rsi     # 0xe7aaa
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52b6
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_maybe_Maybe_1_has_1_sp15
static bool mw_std_maybe_Maybe_1_has_1_sp15 (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_maybe_Maybe_1 in_Maybe_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* branch_zaMirth_5;
	bool branch_Bool_6;
	switch ((in_Maybe_2).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v7 = mtp_std_maybe_Maybe_1_Some(in_Maybe_2);
			struct mirth_mirth_zaMirth* v8;
			bool v9 = mw_mirth_name_Name_couldzebezeconstructor(in_zaMirth_1, V_mirth_name_Name(v7), &v8);
			branch_Bool_6 = v9;
			branch_zaMirth_5 = v8;
		} break;
		case std_maybe_Maybe_1_None: {
			bool v10 = false;
			branch_Bool_6 = v10;
			branch_zaMirth_5 = in_zaMirth_1;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_3 = branch_zaMirth_5;
	return branch_Bool_6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rcx, %rbx
movq %rdi, %r14
cmpl $0x1, %esi
jne 0x7342a
movq %rdx, %rdi
callq 0xd745
leaq -0x20(%rbp), %r15
movq %r14, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x7343a
movq (%r15), %r14
jmp 0x7342c
xorl %eax, %eax
movq %r14, (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_datazetagszeendzy
static bool mw_mirth_data_datazetagszeendzy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	bool v6 = mw_mirth_token_Token_argszeendzy(in_zaMirth_1, in_Token_2, &v5);
	struct mirth_mirth_zaMirth* branch_zaMirth_7;
	uint64_t branch_Token_8;
	bool branch_Bool_9;
	if (v6) {
		bool v10 = true;
		branch_Bool_9 = v10;
		branch_Token_8 = in_Token_2;
		branch_zaMirth_7 = v5;
	} else {
		struct mirth_mirth_zaMirth* v11;
		bool v12 = mw_mirth_token_Token_sigzedasheszy(v5, in_Token_2, &v11);
		branch_Bool_9 = v12;
		branch_Token_8 = in_Token_2;
		branch_zaMirth_7 = v11;
	}
	*out_zaMirth_3 = branch_zaMirth_7;
	return branch_Bool_9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdx, %rbx
movq %rsi, %r14
leaq -0x20(%rbp), %rdx
callq 0x27c30
testb %al, %al
je 0x73505
movb $0x1, %al
movq -0x20(%rbp), %rcx
jmp 0x7351b
movq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %r15
movq %r14, %rsi
movq %r15, %rdx
callq 0x34edf
movq (%r15), %rcx
movq %rcx, (%rbx)
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_maybe_Maybe_1_filter_1_sp21
static struct std_maybe_Maybe_1 mw_std_maybe_Maybe_1_filter_1_sp21 (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_maybe_Maybe_1 in_Maybe_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* branch_zaMirth_5;
	struct std_maybe_Maybe_1 branch_Maybe_6;
	switch ((in_Maybe_2).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v7 = mtp_std_maybe_Maybe_1_Some(in_Maybe_2);
			incref(v7);
			struct mirth_mirth_zaMirth* v8;
			bool v9 = mw_mirth_name_Name_couldzebezeconstructor(in_zaMirth_1, V_mirth_name_Name(v7), &v8);
			struct mirth_mirth_zaMirth* branch_zaMirth_10;
			struct std_maybe_Maybe_1 branch_Maybe_11;
			if (v9) {
				struct std_maybe_Maybe_1 v12 = mtw_std_maybe_Maybe_1_Some(v7);
				branch_Maybe_11 = v12;
				branch_zaMirth_10 = v8;
			} else {
				decref(v7);
				struct std_maybe_Maybe_1 v13 = { .tag=std_maybe_Maybe_1_None };
				branch_Maybe_11 = v13;
				branch_zaMirth_10 = v8;
			}
			branch_Maybe_6 = branch_Maybe_11;
			branch_zaMirth_5 = branch_zaMirth_10;
		} break;
		case std_maybe_Maybe_1_None: {
			struct std_maybe_Maybe_1 v14 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_6 = v14;
			branch_zaMirth_5 = in_zaMirth_1;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_3 = branch_zaMirth_5;
	return branch_Maybe_6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %rbx
movq %rdi, %r12
cmpl $0x1, %esi
jne 0x7359e
movq %rdx, %rdi
callq 0xd745
movq %rax, %r15
movq %rdx, %r14
testb $0x1, %r14b
je 0x735a4
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
movq %r15, %r13
andq %rax, %r13
sete %al
testb $0x3, %r15b
setne %cl
orb %al, %cl
jne 0x735a4
incl (%r13)
leaq -0x30(%rbp), %rdx
movq %r12, %rdi
movq %r15, %rsi
callq 0x7343a
testb %al, %al
jne 0x735b7
decl (%r13)
jne 0x735c9
movq %r15, %rdi
movq %r14, %rsi
callq 0xd13d
jmp 0x735c9
xorl %eax, %eax
xorl %edx, %edx
jmp 0x735d1
leaq -0x30(%rbp), %rdx
movq %r12, %rdi
movq %r15, %rsi
callq 0x7343a
testb %al, %al
je 0x735c9
movq %r15, %rdi
movq %r14, %rsi
callq 0x9353
movl $0x1, %eax
jmp 0x735cd
xorl %edx, %edx
xorl %eax, %eax
movq -0x30(%rbp), %r12
movq %r12, (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_rsquarezy
static struct std_maybe_Maybe_1 mw_mirth_token_Token_rsquarezy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_token_TokenValue v6 = mw_mirth_token_Token_value(in_zaMirth_1, in_Token_2, &v5);
	struct std_maybe_Maybe_1 v7 = mw_mirth_token_TokenValue_rsquarezy(v6);
	*out_zaMirth_3 = v5;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rdi, %r14
leaq 0x10a1dee(%rip), %rdi   # 0x11153e8
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movabsq $0xfffffffffffc, %rdi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rdi
movq %rax, %rcx
shrq $0x30, %rcx
cmpl $0x9, %ecx
jne 0x73643
movq 0x8(%rdi), %r15
decl (%rdi)
jne 0x7362d
callq 0x5030
leaq 0x9e784(%rip), %rsi     # 0x111db8
movq %r15, %rdi
callq 0x9353
movl $0x1, %eax
jmp 0x73663
testq %rdi, %rdi
je 0x7365f
decl (%rdi)
jne 0x7365f
andq $-0x4, %rax
leaq 0x9e882(%rip), %rsi     # 0x111ed9
movq %rax, %rdi
callq 0xd13d
xorl %eax, %eax
xorl %edx, %edx
movq %r14, (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_data_SyntaxDataTag_SyntaxDataTag
static struct mirth_data_SyntaxDataTag* mtw_mirth_data_SyntaxDataTag_SyntaxDataTag (struct std_maybe_Maybe_1 in_Maybe_1, uint64_t in_Token_2, struct std_maybe_Maybe_1 in_Maybe_3, uint64_t in_Name_4, struct std_maybe_Maybe_1 in_Maybe_5) {
	struct mirth_data_SyntaxDataTag* v7 = calloc(1, sizeof *v7);
	ASSERT(v7);
	v7->refs = 1;
	v7->msigzy = in_Maybe_5;
	v7->mname = in_Name_4;
	v7->mvaluezy = in_Maybe_3;
	v7->mhead = in_Token_2;
	v7->mdoc = in_Maybe_1;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r9, %r12
movq %r8, %r14
movl %ecx, %ebx
movq %rdx, %r15
movq %rsi, -0x30(%rbp)
movl %edi, %r13d
movl $0x1, %edi
movl $0x48, %esi
callq 0x50c0
testq %rax, %rax
je 0x736e0
leaq 0x10(%rbp), %rcx
movl $0x1, (%rax)
movups (%rcx), %xmm0
movups %xmm0, 0x38(%rax)
movq %r12, 0x30(%rax)
movl %ebx, 0x20(%rax)
movq %r14, 0x28(%rax)
movq %r15, 0x18(%rax)
movl %r13d, 0x8(%rax)
movq -0x30(%rbp), %rcx
movq %rcx, 0x10(%rax)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x742de(%rip), %rsi     # 0xe79c5
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52b6
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mirth_data_SyntaxDataTag_free
static void mirth_data_SyntaxDataTag_free (VAL vself) {
	ASSERT(vself.tag == TAG_mirth_data_SyntaxDataTag);
	struct mirth_data_SyntaxDataTag* self = vself.data.ptr;
	decref(MK_std_maybe_Maybe_1(self->mdoc));
	decref(MK_std_maybe_Maybe_1(self->mvaluezy));
	decref(MK_std_maybe_Maybe_1(self->msigzy));
	free(self);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
leaq 0x9f3db(%rip), %rax     # 0x112af1
cmpq %rsi, %rax
jne 0x737cc
movq %rdi, %rbx
movabsq $0xfffffffffffc, %r15   # imm = 0xFFFFFFFFFFFC
movq 0x10(%rdi), %rcx
leaq 0x9db8a(%rip), %r14     # 0x1112c1
movq %rcx, %rax
andq %r15, %rax
sete %dl
testb $0x3, %cl
setne %cl
orb %dl, %cl
jne 0x73761
decl (%rax)
jne 0x73761
movl 0x8(%rbx), %edi
shlq $0x30, %rdi
orq 0x10(%rbx), %rdi
movq %r14, %rsi
callq 0xd13d
movq 0x28(%rbx), %rcx
movq %rcx, %rax
andq %r15, %rax
sete %dl
testb $0x3, %cl
setne %cl
orb %dl, %cl
jne 0x7378f
decl (%rax)
jne 0x7378f
movl 0x20(%rbx), %edi
shlq $0x30, %rdi
orq 0x28(%rbx), %rdi
movq %r14, %rsi
callq 0xd13d
movq 0x40(%rbx), %rax
andq %rax, %r15
sete %cl
testb $0x3, %al
setne %al
orb %cl, %al
jne 0x737ba
decl (%r15)
jne 0x737ba
movl 0x38(%rbx), %edi
shlq $0x30, %rdi
orq 0x40(%rbx), %rdi
movq %r14, %rsi
callq 0xd13d
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x5030
leaq 0x74232(%rip), %rsi     # 0xe7a05
movl $0x57, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52b6
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_Tag_outputszeresourcezy
static bool mw_mirth_data_Tag_outputszeresourcezy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Tag_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	uint64_t v6 = mw_mirth_data_Tag_data(in_zaMirth_1, in_Tag_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	bool v8 = mw_mirth_data_Data_iszeresourcezy(v5, v6, &v7);
	*out_zaMirth_3 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rdi, %r14
leaq 0x10a1118(%rip), %rdi   # 0x1114be0
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
leaq -0x20(%rbp), %r15
movq %r14, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x207b0
movq (%r15), %rcx
movq %rcx, (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_sigzestackzetokens
static struct std_list_List_1 mw_mirth_token_Token_sigzestackzetokens (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct std_list_List_1 v5 = { .tag=std_list_List_1_Nil };
	struct std_list_List_1 v6;
	mw_std_list_List_1_buildzx(v5, &v6);
	struct mirth_mirth_zaMirth* v7;
	bool v8 = mw_mirth_token_Token_sigzestackzeendzy(in_zaMirth_1, in_Token_2, &v7);
	bool v9 = !v8;
	uint64_t v10 = in_Token_2;
	struct mirth_mirth_zaMirth* r11 = v7;
	struct std_list_List_1 r12 = v6;
	bool v13 = v9;
	while (v13) {
		uint64_t v14 = v10;
		struct mirth_mirth_zaMirth* r15 = r11;
		struct std_list_List_1 r16 = r12;
		struct mirth_mirth_zaMirth* v17;
		uint64_t v18 = mw_mirth_token_Token_next(r15, v14, &v17);
		struct std_list_List_1 v19;
		mw_std_list_zaLister_1_pushzx(MK_mirth_token_Token(v14), r16, &v19);
		struct mirth_mirth_zaMirth* v20;
		bool v21 = mw_mirth_token_Token_sigzestackzeendzy(v17, v18, &v20);
		bool v22 = !v21;
		v13 = v22;
		r12 = v19;
		r11 = v20;
		v10 = v18;
	}
	struct std_list_List_1 v23 = mw_std_list_zaLister_1_donezx(r12);
	*out_zaMirth_3 = r11;
	return v23;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdx, -0x30(%rbp)
movq %rsi, %r13
movq %rdi, %rbx
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xd01b
movl %eax, %r14d
movq %rdx, %r15
leaq -0x58(%rbp), %r12
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
callq 0x3e234
movq (%r12), %rbx
testb %al, %al
jne 0x73b8c
movq %rbx, %rdi
movq %r13, %rsi
leaq -0x40(%rbp), %rdx
callq 0x28324
movq %rax, %r12
movq %r13, %rdi
leaq 0x9e25c(%rip), %rsi     # 0x111db8
movl %r14d, %edx
movq %r15, %rcx
leaq -0x50(%rbp), %r8
callq 0x949e
movq -0x40(%rbp), %rdi
movq %r12, %rsi
leaq -0x38(%rbp), %rdx
callq 0x3e234
movl -0x50(%rbp), %r14d
movq -0x48(%rbp), %r15
movq -0x38(%rbp), %rbx
movq %r12, %r13
jmp 0x73b3c
xorl %edi, %edi
xorl %esi, %esi
movl %r14d, %edx
movq %r15, %rcx
callq 0xd01b
movq -0x30(%rbp), %rcx
movq %rbx, (%rcx)
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_mirth_PropLabel_prop_1_sp5_0
static void mb_mirth_mirth_PropLabel_prop_1_sp5_0 (void) {
	uint64_t v0 = V_mirth_data_Tag(pop_value());
	struct mirth_mirth_zaMirth* r1 = V_mirth_mirth_zaMirth(pop_resource());
	struct mirth_mirth_zaMirth* v2;
	struct mirth_type_ArrowType* v3;
	struct std_list_List_1 v4 = mw_mirth_data_Tag_ctxzetype(r1, v0, &v2, &v3);
	struct mirth_type_ArrowType* v5 = mw_mirth_type_ArrowType_invert(v3);
	PTUP r6 = PTRMK(0,tup_new(2),0);
	((TUP*)PTRPTR(r6))->size = 2;
	((TUP*)PTRPTR(r6))->cells[1] = MK_mirth_type_ArrowType(v5);
	((TUP*)PTRPTR(r6))->cells[0] = MK_std_list_List_1(v4);
	push_resource(MK_mirth_mirth_zaMirth(v2));
	push_value(MKTUP(r6));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
callq 0xd699
movq %rax, %r14
callq 0xd6f2
leaq -0x38(%rbp), %rbx
leaq -0x30(%rbp), %r15
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
movq %r15, %rcx
callq 0x4fc1f
movl %eax, %r14d
movq %rdx, %r12
movq (%r15), %rdi
callq 0x75f86
movq %rax, %r15
movl $0x2, %edi
callq 0xe0e7
movq %rax, %r13
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %r13, %rax
movw $0x2, 0x6(%rax)
leaq 0x9da33(%rip), %rcx     # 0x111b79
movq %r15, 0x18(%rax)
movq %rcx, 0x20(%rax)
shlq $0x30, %r14
orq %r12, %r14
leaq 0x9d11d(%rip), %rcx     # 0x111279
movq %r14, 0x8(%rax)
movq %rcx, 0x10(%rax)
movq (%rbx), %rdi
leaq 0x9d782(%rip), %rsi     # 0x1118f0
callq 0x8e6d
leaq 0x9d21f(%rip), %rsi     # 0x111399
movq %r13, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd34b
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_Data_iszeunitzy
static bool mw_mirth_data_Data_iszeunitzy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Data_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct std_maybe_Maybe_1 v6 = mw_mirth_data_Data_unitzy(in_zaMirth_1, in_Data_2, &v5);
	int64_t v7 = (v6).tag;
	decref(MK_std_maybe_Maybe_1(v6));
	INT v8 = WRAP_I63(0LL);
	INT v9 = v8;
	INT v10 = i64_to_int(v7);
	bool v11 = int_eq(v10, v9);
	bool v12 = !v11;
	*out_zaMirth_3 = v5;
	return v12;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdx, %r12
movq %rsi, %rbx
movq %rdi, %r15
movabsq $0xfffffffffffc, %r14   # imm = 0xFFFFFFFFFFFC
leaq 0x10a0e10(%rip), %rdi   # 0x11162a0
callq 0x13c85
movq %rax, %r13
cmpq $0x0, 0x8(%rax)
movq %r12, -0x48(%rbp)
je 0x754ca
movq %r13, %rdi
callq 0x13d82
movq %rax, %r12
movq %rax, %r13
shrq $0x30, %r13
andq %rax, %r14
andq $-0x4, %r12
movb $0x1, %al
leaq 0x9bdfc(%rip), %rsi     # 0x1112c1
jmp 0x755de
leaq -0x38(%rbp), %rdx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x51551
movl %eax, %edi
movq %rdx, %rsi
callq 0xf35d
testl %eax, %eax
movq %r13, -0x40(%rbp)
je 0x75579
cmpl $0x1, %eax
jne 0x75624
movq %rdx, %rdi
callq 0xd745
movq %rax, %r12
movq %rdx, %r15
testb $0x1, %r15b
je 0x75522
movq %r12, %rax
andq %r14, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0x75522
incl (%rax)
movq -0x38(%rbp), %rdi
leaq -0x50(%rbp), %rdx
movq %r12, %rsi
callq 0x75654
movl $0x1, %r13d
movl $0x1, %esi
movq %rax, %rdi
callq 0xe83a
testl %eax, %eax
je 0x75588
testb $0x1, %r15b
je 0x75572
movq %r12, %rax
andq %r14, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0x75572
decl (%rax)
jne 0x75572
movq %r12, %rdi
movq %r15, %rsi
callq 0xd13d
xorl %r13d, %r13d
xorl %ebx, %ebx
jmp 0x75596
movq -0x38(%rbp), %rax
movq %rax, -0x30(%rbp)
xorl %r13d, %r13d
xorl %ebx, %ebx
jmp 0x7559e
movq %r12, %rdi
movq %r15, %rsi
callq 0x9353
movq %rdx, %rbx
movq -0x50(%rbp), %rax
movq %rax, -0x30(%rbp)
movq %r13, %r12
shlq $0x30, %r12
orq %rbx, %r12
leaq 0x9bd12(%rip), %r15     # 0x1112c1
andq %rbx, %r14
sete %al
testb $0x3, %bl
setne %cl
orb %al, %cl
jne 0x755c2
incl (%r14)
movq %r12, %rdi
movq %r15, %rsi
movq -0x40(%rbp), %rdx
callq 0x14766
movq %r15, %rsi
testb $0x3, %bl
sete %al
movq -0x30(%rbp), %r15
testq %r14, %r14
sete %cl
xorb $0x1, %al
orb %cl, %al
jne 0x755f7
decl (%r14)
jne 0x755f7
movq %r12, %rdi
callq 0xd13d
leaq 0x1(,%r13,2), %rdi
movl $0x1, %esi
callq 0xe83a
testl %eax, %eax
setne %al
movq -0x48(%rbp), %rcx
movq %r15, (%rcx)
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0xf5e4
movq $0x20, 0x10(%rax)
movups 0x6b090(%rip), %xmm0    # 0xe06cd
movups %xmm0, 0x18(%rax)
movups 0x6b095(%rip), %xmm0    # 0xe06dd
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x9302
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_Tag_labelzeinputs
static struct std_list_List_1 mw_mirth_data_Tag_labelzeinputs (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Tag_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_data_Tag_labelzeinputs, in_Tag_2);
	bool v6 = mut_is_set(v5);
	struct mirth_mirth_zaMirth* branch_zaMirth_7;
	struct std_list_List_1 branch_List_8;
	if (v6) {
		VAL v9 = mut_get(v5);
		branch_List_8 = V_std_list_List_1(v9);
		branch_zaMirth_7 = in_zaMirth_1;
	} else {
		struct mirth_mirth_zaMirth* v10;
		struct std_list_List_1 v11 = mw_mirth_data_Tag_labelzeinputszefromzesig(in_zaMirth_1, in_Tag_2, &v10);
		incref(MK_std_list_List_1(v11));
		mut_set(MK_std_list_List_1(v11), v5);
		branch_List_8 = v11;
		branch_zaMirth_7 = v10;
	}
	*out_zaMirth_3 = branch_zaMirth_7;
	return branch_List_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdx, -0x30(%rbp)
movq %rsi, %r12
movq %rdi, %r15
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
leaq 0x109f8f7(%rip), %rdi   # 0x11152c8
callq 0x13c85
movq %rax, %r14
movq %rax, %rdi
callq 0x1505d
testb %al, %al
je 0x759fc
movq %r14, %rdi
callq 0x13d82
movq %rax, %r12
andq %rax, %rbx
shrq $0x30, %r12
movq %rbx, %r13
jmp 0x75a41
leaq -0x38(%rbp), %rdx
movq %r15, %rdi
movq %r12, %rsi
callq 0x75a5d
movl %eax, %r12d
movq %rdx, %r13
movq %r12, %rdi
shlq $0x30, %rdi
orq %rdx, %rdi
leaq 0x9b857(%rip), %rsi     # 0x111279
andq %rdx, %rbx
sete %al
testb $0x3, %r13b
setne %cl
orb %al, %cl
jne 0x75a35
incl (%rbx)
movq %r14, %rdx
callq 0x14766
movq -0x38(%rbp), %r15
movq -0x30(%rbp), %rax
movq %r15, (%rax)
movl %r12d, %eax
movq %r13, %rdx
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_label_Label_zgStr
static STR* mw_mirth_label_Label_zgStr (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Label_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	uint64_t v6 = mw_mirth_label_Label_name(in_zaMirth_1, in_Label_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	STR* v8 = mw_mirth_name_Name_zgStr(v5, v6, &v7);
	*out_zaMirth_3 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rdx, %rbx
movq %rdi, %r14
leaq 0x109f86e(%rip), %rdi   # 0x1115840
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
leaq 0x109e4e2(%rip), %rdi   # 0x11144c8
movq %rax, %rsi
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movq %rax, %rdi
movq %rdx, %rsi
callq 0x9189
movq %r14, (%rbx)
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_mirth_PropLabel_prop_1_sp12_0
static void mb_mirth_mirth_PropLabel_prop_1_sp12_0 (void) {
	PTUP v0 = value_tup(pop_value());
	struct mirth_mirth_zaMirth* r1 = V_mirth_mirth_zaMirth(pop_resource());
	VAL v2 = ((TUP*)PTRPTR(v0))->cells[0];
	VAL v3 = ((TUP*)PTRPTR(v0))->cells[1];
	tup_decref_outer(v0);
	incref(v2);
	struct mirth_mirth_zaMirth* v4;
	struct std_list_List_1 v5 = mw_mirth_data_Tag_ctx(r1, V_mirth_data_Tag(v2), &v4);
	struct mirth_mirth_zaMirth* v6;
	struct std_maybe_Maybe_1 v7 = mw_mirth_data_Tag_projectzetagzefield(v4, V_mirth_label_Label(v3), V_mirth_data_Tag(v2), &v6);
	struct mirth_mirth_zaMirth* v8;
	VAL v9 = mw_std_maybe_Maybe_1_unwrap_1_sp53(v6, v7, &v8);
	struct mirth_mirth_zaMirth* v10;
	struct mirth_type_ArrowType* v11 = mw_mirth_data_datazegetzelabelzetype(v8, V_mirth_data_TagField(v9), &v10);
	PTUP r12 = PTRMK(0,tup_new(2),0);
	((TUP*)PTRPTR(r12))->size = 2;
	((TUP*)PTRPTR(r12))->cells[1] = MK_mirth_type_ArrowType(v11);
	((TUP*)PTRPTR(r12))->cells[0] = MK_std_list_List_1(v5);
	push_resource(MK_mirth_mirth_zaMirth(v10));
	push_value(MKTUP(r12));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
callq 0xd699
movq %rax, %r14
movq %rax, %rdi
movq %rdx, %rsi
callq 0x90ba
callq 0xd6f2
movq %rax, %rbx
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
movq %r14, %rax
andq %r12, %rax
movq 0x8(%rax), %r15
movq 0x18(%rax), %rcx
movq %rcx, -0x30(%rbp)
movb 0x10(%rax), %r13b
movq %r14, %rdi
callq 0x910b
testb $0x1, %r13b
je 0x76079
movq %r15, %rax
andq %r12, %rax
sete %cl
testb $0x3, %r15b
setne %dl
orb %cl, %dl
jne 0x76079
incl (%rax)
leaq -0x58(%rbp), %r13
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x777ba
movl %eax, %ebx
movq %rdx, -0x38(%rbp)
movq (%r13), %rdi
leaq -0x50(%rbp), %r13
movq -0x30(%rbp), %rsi
movq %r15, %rdx
movq %r13, %rcx
callq 0x7782b
movq (%r13), %rdi
leaq -0x48(%rbp), %r15
movl %eax, %esi
movq %r15, %rcx
callq 0x77923
movq (%r15), %rdi
leaq -0x40(%rbp), %r15
movq %rax, %rsi
movq %r15, %rdx
callq 0x57f04
movq %rax, %r14
movl $0x2, %edi
callq 0xe0e7
movq %rax, %r13
andq %rax, %r12
movw $0x2, 0x6(%r12)
leaq 0x9ba8b(%rip), %rax     # 0x111b79
movq %r14, 0x18(%r12)
movq %rax, 0x20(%r12)
shlq $0x30, %rbx
orq -0x38(%rbp), %rbx
leaq 0x9b172(%rip), %rax     # 0x111279
movq %rbx, 0x8(%r12)
movq %rax, 0x10(%r12)
movq (%r15), %rdi
leaq 0x9b7d5(%rip), %rsi     # 0x1118f0
callq 0x8e6d
leaq 0x9b272(%rip), %rsi     # 0x111399
movq %r13, %rdi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd34b
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_Tag_ctx
static struct std_list_List_1 mw_mirth_data_Tag_ctx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Tag_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_type_ArrowType* v6;
	struct std_list_List_1 v7 = mw_mirth_data_Tag_ctxzetype(in_zaMirth_1, in_Tag_2, &v5, &v6);
	decref(MK_mirth_type_ArrowType(v6));
	*out_zaMirth_3 = v5;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rdx, %rbx
leaq -0x28(%rbp), %rdx
leaq -0x30(%rbp), %r12
movq %r12, %rcx
callq 0x4fc1f
movl %eax, %r14d
movq %rdx, %r15
movq (%r12), %rdi
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdi, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x77811
decl (%rax)
jne 0x77811
leaq 0x9a36d(%rip), %rsi     # 0x111b79
callq 0xd13d
movq -0x28(%rbp), %rax
movq %rax, (%rbx)
movl %r14d, %eax
movq %r15, %rdx
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq