LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_name_QName_QName
static void mtp_mirth_name_QName_QName (struct mirth_name_QName* in_QName_1, struct mirth_name_Namespace *out_Namespace_2, uint64_t *out_Name_3, INT *out_Int_4) {
	struct mirth_name_QName v5 = *in_QName_1;
	if (!--(in_QName_1->refs)) {
		free(in_QName_1);
	} else {
		incref(MK_mirth_name_Namespace(v5.mnamespace));
		incref(MKINT(v5.marity));
	}
	*out_Int_4 = v5.marity;
	*out_Name_3 = v5.mname;
	*out_Namespace_2 = v5.mnamespace;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rsi
leaq -0x48(%rbp), %rdi
movl $0x28, %edx
callq 0x50e0
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x58cdb
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x58e49
jmp 0x58cdd
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x59830
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x50(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x58d78
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x59830
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
cmpq $0x0, %rax
je 0x58d78
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x59830
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x58d78
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x59830
movq %rax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x58d7a
jmp 0x58d7c
movq -0x28(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x33869a(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x58e45
movq -0x28(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x338668(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xa0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xa8(%rbp), %rax
cmpq $0x0, %rax
je 0x58e45
movq -0x28(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x338634(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movq -0xb8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x58e45
movq -0x28(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq 0x338606(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xc0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xc8(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x58e47
jmp 0x58e49
movq -0x20(%rbp), %rax
movq -0x28(%rbp), %rcx
movq %rcx, (%rax)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq -0x40(%rbp), %rcx
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq %rcx, 0x8(%rax)
addq $0xd0, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mirth_name_Namespace_free
void mirth_name_Namespace_free (VAL v) {
	struct mirth_name_Namespace self = V_mirth_name_Namespace(v);
	switch (self.tag) {
		case mirth_name_Namespace_Root: break;
		case mirth_name_Namespace_Package: {
			free(self.ptr.Package);
		} break;
		case mirth_name_Namespace_Module: {
			free(self.ptr.Module);
		} break;
		case mirth_name_Namespace_Tycon: {
			decref(MK_mirth_tycon_Tycon(self.ptr.Tycon->mTycon));
			free(self.ptr.Tycon);
		} break;
		case mirth_name_Namespace_Word: {
			free(self.ptr.Word);
		} break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x59ad0
movl %eax, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movl -0x20(%rbp), %eax
movq %rax, -0x78(%rbp)
subq $0x4, %rax
ja 0x599ca
movq -0x78(%rbp), %rax
leaq 0x2f7d35(%rip), %rcx    # 0x3515e8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x599ca
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x599ca
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x599ca
jmp 0x598df
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x59b10
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x599b4
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x59b10
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x599b4
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x59b10
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x599b4
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x59b10
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x599b2
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x59b10
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x599b4
jmp 0x599b6
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x599ca
movq -0x18(%rbp), %rdi
callq 0x5030
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mirth_tycon_Tycon_free
void mirth_tycon_Tycon_free (VAL v) {
	struct mirth_tycon_Tycon self = V_mirth_tycon_Tycon(v);
	switch (self.tag) {
		case mirth_tycon_Tycon_Data: {
			free(self.ptr.Data);
		} break;
		case mirth_tycon_Tycon_Table: {
			free(self.ptr.Table);
		} break;
		case mirth_tycon_Tycon_Prim: {
			free(self.ptr.Prim);
		} break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x59cb0
movl %eax, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x24(%rbp)
testl %eax, %eax
je 0x59b94
jmp 0x59b80
movl -0x24(%rbp), %eax
subl $0x1, %eax
je 0x59b9f
jmp 0x59b8a
movl -0x24(%rbp), %eax
subl $0x2, %eax
je 0x59baa
jmp 0x59bb3
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x59bb3
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x59bb3
movq -0x18(%rbp), %rdi
callq 0x5030
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_name_Namespace_Module
static uint64_t mtp_mirth_name_Namespace_Module (struct mirth_name_Namespace in_Namespace_1) {
	struct mirth_name_Namespace_Module v3 = *in_Namespace_1.ptr.Module;
	if (!--(in_Namespace_1.ptr.Module->refs)) {
		free(in_Namespace_1.ptr.Module);
	} else {
	}
	return v3.mModule;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x59d7d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x59d7f
jmp 0x59d7f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_name_Namespace_Tycon
static struct mirth_tycon_Tycon mtp_mirth_name_Namespace_Tycon (struct mirth_name_Namespace in_Namespace_1) {
	struct mirth_name_Namespace_Tycon v3 = *in_Namespace_1.ptr.Tycon;
	if (!--(in_Namespace_1.ptr.Tycon->refs)) {
		free(in_Namespace_1.ptr.Tycon);
	} else {
		incref(MK_mirth_tycon_Tycon(v3.mTycon));
	}
	return v3.mTycon;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x38(%rbp)
movq 0x8(%rax), %rcx
movq %rcx, -0x30(%rbp)
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x59ddb
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x59e76
jmp 0x59ddd
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x59b10
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x59e72
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x59b10
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x59e72
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x59b10
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x59e72
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x59b10
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x59e74
jmp 0x59e76
movups -0x30(%rbp), %xmm0
movaps %xmm0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x80, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_name_Namespace_Word
static uint64_t mtp_mirth_name_Namespace_Word (struct mirth_name_Namespace in_Namespace_1) {
	struct mirth_name_Namespace_Word v3 = *in_Namespace_1.ptr.Word;
	if (!--(in_Namespace_1.ptr.Word->refs)) {
		free(in_Namespace_1.ptr.Word);
	} else {
	}
	return v3.mWord;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x5a42d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x5a42f
jmp 0x5a42f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_tycon_Tycon_Prim
static enum mirth_type_PrimType mtp_mirth_tycon_Tycon_Prim (struct mirth_tycon_Tycon in_Tycon_1) {
	struct mirth_tycon_Tycon_Prim v3 = *in_Tycon_1.ptr.Prim;
	if (!--(in_Tycon_1.ptr.Prim->refs)) {
		free(in_Tycon_1.ptr.Prim);
	} else {
	}
	return v3.mPrimType;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x5a515
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x5a517
jmp 0x5a517
movl -0x14(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_PrimType_zd
static bool mw_mirth_type_PrimType_zd (enum mirth_type_PrimType in_PrimType_1, enum mirth_type_PrimType in_PrimType_2) {
	INT v4 = mw_mirth_type_PrimType_zgInt(in_PrimType_1);
	INT v5 = mw_mirth_type_PrimType_zgInt(in_PrimType_2);
	bool v6 = int_eq(v4, v5);
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl -0x4(%rbp), %edi
callq 0x5a570
movq %rax, -0x10(%rbp)
movl -0x8(%rbp), %edi
callq 0x5a570
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x194b0
andb $0x1, %al
movb %al, -0x19(%rbp)
movb -0x19(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_package_Package_namezj
static void mw_mirth_package_Package_namezj (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_zaStr_2, uint64_t in_Package_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, STR* *out_zaStr_5) {
	struct mirth_mirth_zaMirth* v6;
	uint64_t v7 = mw_mirth_package_Package_name(in_zaMirth_1, in_Package_3, &v6);
	struct mirth_mirth_zaMirth* v8;
	STR* v9;
	mw_mirth_name_Name_namezj(v6, in_zaStr_2, v7, &v8, &v9);
	*out_zaStr_5 = v9;
	*out_zaMirth_4 = v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x47060
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x38(%rbp), %rdx
leaq -0x40(%rbp), %rcx
leaq -0x48(%rbp), %r8
callq 0x5b230
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_tycon_Tycon_qnamezehard
static struct mirth_name_QName* mw_mirth_tycon_Tycon_qnamezehard (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_tycon_Tycon in_Tycon_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* branch_zaMirth_5;
	struct mirth_name_QName* branch_QName_6;
	switch ((in_Tycon_2).tag) {
		case mirth_tycon_Tycon_Data: {
			uint64_t v7 = mtp_mirth_tycon_Tycon_Data(in_Tycon_2);
			struct mirth_mirth_zaMirth* v8;
			struct mirth_name_QName* v9 = mw_mirth_data_Data_qnamezehard(in_zaMirth_1, v7, &v8);
			branch_QName_6 = v9;
			branch_zaMirth_5 = v8;
		} break;
		case mirth_tycon_Tycon_Table: {
			uint64_t v10 = mtp_mirth_tycon_Tycon_Table(in_Tycon_2);
			struct mirth_mirth_zaMirth* v11;
			struct mirth_name_QName* v12 = mw_mirth_table_Table_qnamezehard(in_zaMirth_1, v10, &v11);
			branch_QName_6 = v12;
			branch_zaMirth_5 = v11;
		} break;
		case mirth_tycon_Tycon_Prim: {
			enum mirth_type_PrimType v13 = mtp_mirth_tycon_Tycon_Prim(in_Tycon_2);
			struct mirth_mirth_zaMirth* v14;
			struct mirth_name_QName* v15 = mw_mirth_type_PrimType_tyconzeqname(in_zaMirth_1, v13, &v14);
			branch_QName_6 = v15;
			branch_zaMirth_5 = v14;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_3 = branch_zaMirth_5;
	return branch_QName_6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl -0x10(%rbp), %eax
movl %eax, -0x7c(%rbp)
testl %eax, %eax
je 0x5b0ed
jmp 0x5b0d6
movl -0x7c(%rbp), %eax
subl $0x1, %eax
je 0x5b127
jmp 0x5b0e0
movl -0x7c(%rbp), %eax
subl $0x2, %eax
je 0x5b15e
jmp 0x5b193
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x5a440
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rdi
movq -0x38(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x5b290
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x5b1ac
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x5a490
movq %rax, -0x50(%rbp)
movq -0x18(%rbp), %rdi
movq -0x50(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0x5b2f0
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x5b1ac
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x5a4e0
movl %eax, -0x64(%rbp)
movq -0x18(%rbp), %rdi
movl -0x64(%rbp), %esi
leaq -0x70(%rbp), %rdx
callq 0x5b350
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x5b1ac
leaq 0x2f8ce7(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_word_Word_qnamezehard
static struct mirth_name_QName* mw_mirth_word_Word_qnamezehard (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Word_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_word_Word_ztqname, in_Word_2);
	struct mirth_mirth_zaMirth* v6;
	VAL v7 = mw_mirth_mirth_Prop_1_forcezx(in_zaMirth_1, v5, &v6);
	*out_zaMirth_3 = v6;
	return V_mirth_name_QName(v7);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x1339b11(%rip), %rdi   # 0x1394d00
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x5d130
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_name_Name_namezj
static void mw_mirth_name_Name_namezj (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_zaStr_2, uint64_t in_Name_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, STR* *out_zaStr_5) {
	struct mirth_mirth_zaMirth* v6;
	STR* v7 = mw_mirth_name_Name_str(in_zaMirth_1, in_Name_3, &v6);
	STR* v8;
	mw_std_str_zaStr_pushzestrzx(v7, in_zaStr_2, &v8);
	*out_zaStr_5 = v8;
	*out_zaMirth_4 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x40c70
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0xb940
movq -0x40(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_Data_qnamezehard
static struct mirth_name_QName* mw_mirth_data_Data_qnamezehard (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Data_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_data_Data_ztqname, in_Data_2);
	struct mirth_mirth_zaMirth* v6;
	VAL v7 = mw_mirth_mirth_Prop_1_forcezx(in_zaMirth_1, v5, &v6);
	*out_zaMirth_3 = v6;
	return V_mirth_name_QName(v7);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x1339a11(%rip), %rdi   # 0x1394cc0
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x5d130
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_table_Table_qnamezehard
static struct mirth_name_QName* mw_mirth_table_Table_qnamezehard (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Table_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_table_Table_ztqname, in_Table_2);
	struct mirth_mirth_zaMirth* v6;
	VAL v7 = mw_mirth_mirth_Prop_1_forcezx(in_zaMirth_1, v5, &v6);
	*out_zaMirth_3 = v6;
	return V_mirth_name_QName(v7);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x13399c1(%rip), %rdi   # 0x1394cd0
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x5d130
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_mirth_PropLabel_DataQName
static uint64_t mtp_mirth_mirth_PropLabel_DataQName (struct mirth_mirth_PropLabel in_PropLabel_1) {
	struct mirth_mirth_PropLabel_DataQName v3 = *in_PropLabel_1.ptr.DataQName;
	if (!--(in_PropLabel_1.ptr.DataQName->refs)) {
		free(in_PropLabel_1.ptr.DataQName);
	} else {
	}
	return v3.mData;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x6037d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x6037f
jmp 0x6037f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_Data_headzy
static struct std_maybe_Maybe_1 mw_mirth_data_Data_headzy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Data_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_data_Data_headzy, in_Data_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return V_std_maybe_Maybe_1(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x20(%rbp), %rsi
leaq 0x1334a99(%rip), %rdi   # 0x1394e48
callq 0x40d30
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
callq 0x40f30
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x135d0
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_mirth_PropLabel_TagType
static uint64_t mtp_mirth_mirth_PropLabel_TagType (struct mirth_mirth_PropLabel in_PropLabel_1) {
	struct mirth_mirth_PropLabel_TagType v3 = *in_PropLabel_1.ptr.TagType;
	if (!--(in_PropLabel_1.ptr.TagType->refs)) {
		free(in_PropLabel_1.ptr.TagType);
	} else {
	}
	return v3.mTag;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x606cd
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x606cf
jmp 0x606cf
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_table_Table_head
static uint64_t mw_mirth_table_Table_head (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Table_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_table_Table_head, in_Table_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return V_mirth_token_Token(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x13346b1(%rip), %rdi   # 0x1394e70
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x40f30
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_mirth_PropLabel_WordType
static uint64_t mtp_mirth_mirth_PropLabel_WordType (struct mirth_mirth_PropLabel in_PropLabel_1) {
	struct mirth_mirth_PropLabel_WordType v3 = *in_PropLabel_1.ptr.WordType;
	if (!--(in_PropLabel_1.ptr.WordType->refs)) {
		free(in_PropLabel_1.ptr.WordType);
	} else {
	}
	return v3.mWord;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x60a9d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x60a9f
jmp 0x60a9f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_mirth_PropLabel_BlockArrow
static uint64_t mtp_mirth_mirth_PropLabel_BlockArrow (struct mirth_mirth_PropLabel in_PropLabel_1) {
	struct mirth_mirth_PropLabel_BlockArrow v3 = *in_PropLabel_1.ptr.BlockArrow;
	if (!--(in_PropLabel_1.ptr.BlockArrow->refs)) {
		free(in_PropLabel_1.ptr.BlockArrow);
	} else {
	}
	return v3.mBlock;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x60b8d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x60b8f
jmp 0x60b8f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_arrow_Block_token
static uint64_t mw_mirth_arrow_Block_token (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Block_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_arrow_Block_token, in_Block_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return V_mirth_token_Token(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x1334331(%rip), %rdi   # 0x1394ef0
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x40f30
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_alias_Alias_head
static uint64_t mw_mirth_alias_Alias_head (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Alias_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_alias_Alias_head, in_Alias_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return V_mirth_token_Token(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x13342a1(%rip), %rdi   # 0x1394f00
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x40f30
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_mirth_PropLabel_AliasTarget
static uint64_t mtp_mirth_mirth_PropLabel_AliasTarget (struct mirth_mirth_PropLabel in_PropLabel_1) {
	struct mirth_mirth_PropLabel_AliasTarget v3 = *in_PropLabel_1.ptr.AliasTarget;
	if (!--(in_PropLabel_1.ptr.AliasTarget->refs)) {
		free(in_PropLabel_1.ptr.AliasTarget);
	} else {
	}
	return v3.mAlias;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x60ccd
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x60ccf
jmp 0x60ccf
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_mirth_PropLabel_ExternalQName
static uint64_t mtp_mirth_mirth_PropLabel_ExternalQName (struct mirth_mirth_PropLabel in_PropLabel_1) {
	struct mirth_mirth_PropLabel_ExternalQName v3 = *in_PropLabel_1.ptr.ExternalQName;
	if (!--(in_PropLabel_1.ptr.ExternalQName->refs)) {
		free(in_PropLabel_1.ptr.ExternalQName);
	} else {
	}
	return v3.mExternal;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x60d1d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x60d1f
jmp 0x60d1f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_mirth_PropLabel_ExternalType
static uint64_t mtp_mirth_mirth_PropLabel_ExternalType (struct mirth_mirth_PropLabel in_PropLabel_1) {
	struct mirth_mirth_PropLabel_ExternalType v3 = *in_PropLabel_1.ptr.ExternalType;
	if (!--(in_PropLabel_1.ptr.ExternalType->refs)) {
		free(in_PropLabel_1.ptr.ExternalType);
	} else {
	}
	return v3.mExternal;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x60dbd
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x60dbf
jmp 0x60dbf
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_buffer_Buffer_head
static uint64_t mw_mirth_buffer_Buffer_head (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Buffer_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_buffer_Buffer_head, in_Buffer_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return V_mirth_token_Token(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x1334091(%rip), %rdi   # 0x1394f20
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x40f30
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_mirth_PropLabel_TableOwner
static uint64_t mtp_mirth_mirth_PropLabel_TableOwner (struct mirth_mirth_PropLabel in_PropLabel_1) {
	struct mirth_mirth_PropLabel_TableOwner v3 = *in_PropLabel_1.ptr.TableOwner;
	if (!--(in_PropLabel_1.ptr.TableOwner->refs)) {
		free(in_PropLabel_1.ptr.TableOwner);
	} else {
	}
	return v3.mTable;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x60efd
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x60eff
jmp 0x60eff
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_mirth_PropLabel_FieldOwner
static uint64_t mtp_mirth_mirth_PropLabel_FieldOwner (struct mirth_mirth_PropLabel in_PropLabel_1) {
	struct mirth_mirth_PropLabel_FieldOwner v3 = *in_PropLabel_1.ptr.FieldOwner;
	if (!--(in_PropLabel_1.ptr.FieldOwner->refs)) {
		free(in_PropLabel_1.ptr.FieldOwner);
	} else {
	}
	return v3.mField;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x60f4d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x60f4f
jmp 0x60f4f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_mirth_PropLabel_FieldValueType
static uint64_t mtp_mirth_mirth_PropLabel_FieldValueType (struct mirth_mirth_PropLabel in_PropLabel_1) {
	struct mirth_mirth_PropLabel_FieldValueType v3 = *in_PropLabel_1.ptr.FieldValueType;
	if (!--(in_PropLabel_1.ptr.FieldValueType->refs)) {
		free(in_PropLabel_1.ptr.FieldValueType);
	} else {
	}
	return v3.mField;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x6103d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x6103f
jmp 0x6103f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_mirth_PropLabel_FieldIndexType
static uint64_t mtp_mirth_mirth_PropLabel_FieldIndexType (struct mirth_mirth_PropLabel in_PropLabel_1) {
	struct mirth_mirth_PropLabel_FieldIndexType v3 = *in_PropLabel_1.ptr.FieldIndexType;
	if (!--(in_PropLabel_1.ptr.FieldIndexType->refs)) {
		free(in_PropLabel_1.ptr.FieldIndexType);
	} else {
	}
	return v3.mField;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x6108d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x6108f
jmp 0x6108f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_mirth_PropLabel_MacroQName
static uint64_t mtp_mirth_mirth_PropLabel_MacroQName (struct mirth_mirth_PropLabel in_PropLabel_1) {
	struct mirth_mirth_PropLabel_MacroQName v3 = *in_PropLabel_1.ptr.MacroQName;
	if (!--(in_PropLabel_1.ptr.MacroQName->refs)) {
		free(in_PropLabel_1.ptr.MacroQName);
	} else {
	}
	return v3.mMacro;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x610dd
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x610df
jmp 0x610df
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_location
static struct mirth_location_Location* mw_mirth_token_Token_location (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	uint64_t v6 = mw_mirth_token_Token_module(in_zaMirth_1, in_Token_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	INT v8 = mw_mirth_token_Token_row(v5, in_Token_2, &v7);
	struct mirth_mirth_zaMirth* v9;
	INT v10 = mw_mirth_token_Token_col(v7, in_Token_2, &v9);
	struct mirth_location_Location* v11 = mtw_mirth_location_Location_Location(v6, v8, v10);
	*out_zaMirth_3 = v9;
	return v11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x20(%rbp), %rdx
callq 0x614c0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x61510
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x61570
movq %rax, -0x48(%rbp)
movq -0x28(%rbp), %rdi
movq -0x38(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq 0x615d0
movq %rax, -0x50(%rbp)
movq -0x40(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x50(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_module
static uint64_t mw_mirth_token_Token_module (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_token_Token_module, in_Token_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return V_mirth_module_Module(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x13339a1(%rip), %rdi   # 0x1394e80
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x40f30
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_row
static INT mw_mirth_token_Token_row (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_token_Token_row, in_Token_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return value_int(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rsi
leaq 0x1333961(%rip), %rdi   # 0x1394e90
callq 0x40d30
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x40f30
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x10(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x2ac40
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_col
static INT mw_mirth_token_Token_col (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_token_Token_col, in_Token_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return value_int(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rsi
leaq 0x1333911(%rip), %rdi   # 0x1394ea0
callq 0x40d30
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x40f30
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x10(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x2ac40
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_location_Location_Location
static struct mirth_location_Location* mtw_mirth_location_Location_Location (uint64_t in_Module_1, INT in_Row_2, INT in_Col_3) {
	struct mirth_location_Location* v5 = calloc(1, sizeof *v5);
	ASSERT(v5);
	v5->refs = 1;
	v5->mcol = in_Col_3;
	v5->mrow = in_Row_2;
	v5->mmodule = in_Module_1;
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x20, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x61628
movl $0x2, %edi
leaq 0x2f5870(%rip), %rsi    # 0x356e7a
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x6162a
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x20(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_location_Location_Location
static void mtp_mirth_location_Location_Location (struct mirth_location_Location* in_Location_1, uint64_t *out_Module_2, INT *out_Row_3, INT *out_Col_4) {
	struct mirth_location_Location v5 = *in_Location_1;
	if (!--(in_Location_1->refs)) {
		free(in_Location_1);
	} else {
		incref(MKINT(v5.mrow));
		incref(MKINT(v5.mcol));
	}
	*out_Col_4 = v5.mcol;
	*out_Row_3 = v5.mrow;
	*out_Module_2 = v5.mmodule;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x40(%rbp)
movq 0x8(%rax), %rcx
movq %rcx, -0x38(%rbp)
movq 0x10(%rax), %rcx
movq %rcx, -0x30(%rbp)
movq 0x18(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x616cc
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x61840
jmp 0x616ce
movq -0x30(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x32fd4b(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x6176f
movq -0x30(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x32fd26(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
cmpq $0x0, %rax
je 0x6176f
movq -0x30(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x32fcfb(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x6176f
movq -0x30(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x32fcd6(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x80(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x61771
jmp 0x61773
movq -0x28(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq 0x32fca3(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x6183c
movq -0x28(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0x32fc71(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xa0(%rbp), %rax
cmpq $0x0, %rax
je 0x6183c
movq -0x28(%rbp), %rax
movq %rax, -0xb0(%rbp)
leaq 0x32fc3d(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xa8(%rbp)
movq -0xb0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x6183c
movq -0x28(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq 0x32fc0f(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xb8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xc0(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x6183e
jmp 0x61840
movq -0x20(%rbp), %rax
movq -0x28(%rbp), %rcx
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
addq $0xc0, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_module_Module_sourcezepath
static STR* mw_mirth_module_Module_sourcezepath (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Module_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	STR* v6 = mw_mirth_module_Module_path(in_zaMirth_1, in_Module_2, &v5);
	*out_zaMirth_3 = v5;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x20(%rbp), %rdx
callq 0x61950
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_location_Row_intzj
static void mw_mirth_location_Row_intzj (STR* in_zaStr_1, INT in_Row_2, STR* *out_zaStr_3) {
	INT v4 = mw_mirth_location_Row_zgInt(in_Row_2);
	STR* v5 = int_to_str(v4);
	STR* v6;
	mw_std_str_zaStr_pushzestrzx(v5, in_zaStr_1, &v6);
	*out_zaStr_3 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rsi, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
callq 0x619b0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x211e0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0xb940
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0x30, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_location_Col_intzj
static void mw_mirth_location_Col_intzj (STR* in_zaStr_1, INT in_Col_2, STR* *out_zaStr_3) {
	INT v4 = mw_mirth_location_Col_zgInt(in_Col_2);
	STR* v5 = int_to_str(v4);
	STR* v6;
	mw_std_str_zaStr_pushzestrzx(v5, in_zaStr_1, &v6);
	*out_zaStr_3 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rsi, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
callq 0x619d0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x211e0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0xb940
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0x30, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_module_Module_path
static STR* mw_mirth_module_Module_path (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Module_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_module_Module_path, in_Module_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return value_str(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x1333551(%rip), %rdi   # 0x1394ec0
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x40f30
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0xb980
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_name_QName_Prim
static struct mirth_name_QName* mw_mirth_name_QName_Prim (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_Str_2, INT in_Int_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* v6;
	uint64_t v7 = mw_mirth_name_Name_Name(in_zaMirth_1, in_Str_2, &v6);
	struct mirth_mirth_zaMirth* v8;
	struct mirth_name_Namespace v9 = mw_mirth_name_Namespace_Prim(v6, &v8);
	struct mirth_name_QName* v10 = mtw_mirth_name_QName_QName(v9, v7, in_Int_3);
	*out_zaMirth_4 = v8;
	return v10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdx, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x3ed80
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x57690
movl %eax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x30(%rbp), %rdx
movl -0x48(%rbp), %edi
movq -0x40(%rbp), %rsi
movq -0x8(%rbp), %rcx
callq 0x470f0
movq %rax, -0x50(%rbp)
movq -0x38(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x50(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nop