LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Value_rdrop
static void mw_mirth_c99_zaC99Value_rdrop (struct mirth_c99_zaC99Value* in_zaC99Value_1) {
	struct mirth_c99_C99ReprType v2;
	STR* v3;
	mtp_mirth_c99_zaC99Value_zaC99Value(in_zaC99Value_1, &v2, &v3);
	decref(MK_mirth_c99_C99ReprType(v2));
	decref(MKSTR(v3));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x18(%rbp), %rsi
leaq -0x20(%rbp), %rdx
callq 0x28cf60
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x29e1f1
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x29e1f1
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x29e1f1
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x2315b0
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 0x29e1ef
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x29e1f1
jmp 0x29e1f3
jmp 0x29e1f5
movq -0x20(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0xf2f54(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x29e2f0
movq -0x20(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq 0xf2f28(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rax
cmpq $0x0, %rax
je 0x29e2f0
movq -0x20(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0xf2ef0(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movq -0xa0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x29e2f0
movq -0x20(%rbp), %rax
movq %rax, -0xb0(%rbp)
leaq 0xf2ec2(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0xa8(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xb0(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x29e2ee
movq -0x20(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq 0xf2e88(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0xb8(%rbp)
movq -0xc0(%rbp), %rdi
movq -0xb8(%rbp), %rsi
callq 0x127c0
jmp 0x29e2f0
jmp 0x29e2f2
addq $0xc0, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Resource_rdrop
static void mw_mirth_c99_zaC99Resource_rdrop (struct mirth_c99_zaC99Resource* in_zaC99Resource_1) {
	struct mirth_c99_C99ReprType v2;
	STR* v3;
	mtp_mirth_c99_zaC99Resource_zaC99Resource(in_zaC99Resource_1, &v2, &v3);
	decref(MK_mirth_c99_C99ReprType(v2));
	decref(MKSTR(v3));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x18(%rbp), %rsi
leaq -0x20(%rbp), %rdx
callq 0x29e540
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x29e431
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x29e431
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x29e431
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x2315b0
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 0x29e42f
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x29e431
jmp 0x29e433
jmp 0x29e435
movq -0x20(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0xf2d14(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x29e530
movq -0x20(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq 0xf2ce8(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rax
cmpq $0x0, %rax
je 0x29e530
movq -0x20(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0xf2cb0(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movq -0xa0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x29e530
movq -0x20(%rbp), %rax
movq %rax, -0xb0(%rbp)
leaq 0xf2c82(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0xa8(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xb0(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x29e52e
movq -0x20(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq 0xf2c48(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0xb8(%rbp)
movq -0xc0(%rbp), %rdi
movq -0xb8(%rbp), %rsi
callq 0x127c0
jmp 0x29e530
jmp 0x29e532
addq $0xc0, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_std_either_zaEither_2_zaLeft
static void mtw_std_either_zaEither_2_zaLeft (VAL in_zaa_1, struct std_either_zaEither_2 *out_zaEither_2) {
	struct std_either_zaEither_2_zaLeft* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->m0 = in_zaa_1;
	struct std_either_zaEither_2 v4 = { .tag=std_either_zaEither_2_zaLeft, .ptr.zaLeft=v3 };
	*out_zaEither_2 = v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x29e5f8
movl $0x2, %edi
leaq 0xcf4dc(%rip), %rsi     # 0x36dab6
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x29e5fa
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, (%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x8(%rax)
movl $0x0, -0x30(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
movq %rcx, (%rax)
movq -0x28(%rbp), %rcx
movq %rcx, 0x8(%rax)
addq $0x30, %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_c99_zaC99ValuezfResource_turnzeintozeresourcezx
static void mw_mirth_c99_zaC99ValuezfResource_turnzeintozeresourcezx (struct std_either_zaEither_2 in_zaC99ValuezfResource_1, struct mirth_c99_zaC99Resource* *out_zaC99Resource_2) {
	struct mirth_c99_zaC99Resource* branch_zaC99Resource_3;
	switch ((in_zaC99ValuezfResource_1).tag) {
		case std_either_zaEither_2_zaLeft: {
			VAL v4;
			mtp_std_either_zaEither_2_zaLeft(in_zaC99ValuezfResource_1, &v4);
			struct mirth_c99_zaC99Resource* v5;
			mw_mirth_c99_zaC99Value_turnzeintozeresourcezx(V_mirth_c99_zaC99Value(v4), &v5);
			branch_zaC99Resource_3 = v5;
		} break;
		case std_either_zaEither_2_zaRight: {
			VAL v6;
			mtp_std_either_zaEither_2_zaRight(in_zaC99ValuezfResource_1, &v6);
			branch_zaC99Resource_3 = V_mirth_c99_zaC99Resource(v6);
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaC99Resource_2 = branch_zaC99Resource_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x18(%rbp)
movl -0x10(%rbp), %eax
movl %eax, -0x4c(%rbp)
testl %eax, %eax
je 0x29e859
jmp 0x29e84f
movl -0x4c(%rbp), %eax
subl $0x1, %eax
je 0x29e880
jmp 0x29e89a
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x29e0c0
movq -0x30(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x28cc50
movq -0x38(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x29e8b3
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x29e300
movq -0x48(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x29e8b3
leaq 0xb55e0(%rip), %rdi     # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x20(%rbp), %rcx
movq -0x18(%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_c99_zaC99ValuezfResource_turnzeintozevaluezx
static void mw_mirth_c99_zaC99ValuezfResource_turnzeintozevaluezx (struct std_either_zaEither_2 in_zaC99ValuezfResource_1, struct mirth_c99_zaC99Value* *out_zaC99Value_2) {
	struct mirth_c99_zaC99Value* branch_zaC99Value_3;
	switch ((in_zaC99ValuezfResource_1).tag) {
		case std_either_zaEither_2_zaLeft: {
			VAL v4;
			mtp_std_either_zaEither_2_zaLeft(in_zaC99ValuezfResource_1, &v4);
			branch_zaC99Value_3 = V_mirth_c99_zaC99Value(v4);
		} break;
		case std_either_zaEither_2_zaRight: {
			VAL v5;
			mtp_std_either_zaEither_2_zaRight(in_zaC99ValuezfResource_1, &v5);
			struct mirth_c99_zaC99Value* v6;
			mw_mirth_c99_zaC99Resource_turnzeintozevaluezx(V_mirth_c99_zaC99Resource(v5), &v6);
			branch_zaC99Value_3 = v6;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaC99Value_2 = branch_zaC99Value_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x18(%rbp)
movl -0x10(%rbp), %eax
movl %eax, -0x4c(%rbp)
testl %eax, %eax
je 0x29e8f9
jmp 0x29e8ef
movl -0x4c(%rbp), %eax
subl $0x1, %eax
je 0x29e913
jmp 0x29e93a
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x29e0c0
movq -0x30(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x29e953
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x29e300
movq -0x40(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2a3920
movq -0x48(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x29e953
leaq 0xb5540(%rip), %rdi     # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x20(%rbp), %rcx
movq -0x18(%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_c99_zaC99Value_convertzevaluezx
static void mw_mirth_c99_zaC99Value_convertzevaluezx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_c99_zaC99Value* in_zaC99Value_3, struct mirth_c99_C99ReprType in_C99ReprType_4, struct mirth_mirth_zaMirth* *out_zaMirth_5, struct mirth_c99_zaC99Branch* *out_zaC99Branch_6, struct mirth_c99_zaC99Value* *out_zaC99Value_7) {
	incref(MK_mirth_c99_C99ReprType(in_C99ReprType_4));
	struct mirth_mirth_zaMirth* v8;
	STR* v9 = mw_mirth_c99_zaC99Value_consumezeas(in_zaMirth_1, in_C99ReprType_4, in_zaC99Value_3, &v8);
	struct mirth_c99_zaC99Value* v10;
	mtw_mirth_c99_zaC99Value_zaC99Value(in_C99ReprType_4, v9, &v10);
	*out_zaC99Value_7 = v10;
	*out_zaC99Branch_6 = in_zaC99Branch_2;
	*out_zaMirth_5 = v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq 0x18(%rbp), %rax
movq 0x10(%rbp), %rax
movl %ecx, -0x10(%rbp)
movq %r8, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x29ea2f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
cmpq $0x0, %rax
je 0x29ea2f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x60(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x29ea2f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x29ea31
movq -0x18(%rbp), %rdi
movq -0x28(%rbp), %rcx
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
leaq -0x78(%rbp), %r8
callq 0x29ebd0
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rdx
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x88(%rbp), %rcx
callq 0x28cac0
movq -0x88(%rbp), %rcx
movq 0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x78(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
addq $0x90, %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_c99_zaC99Resource_convertzeresourcezx
static void mw_mirth_c99_zaC99Resource_convertzeresourcezx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_c99_zaC99Resource* in_zaC99Resource_3, struct mirth_c99_C99ReprType in_C99ReprType_4, struct mirth_mirth_zaMirth* *out_zaMirth_5, struct mirth_c99_zaC99Branch* *out_zaC99Branch_6, struct mirth_c99_zaC99Resource* *out_zaC99Resource_7) {
	incref(MK_mirth_c99_C99ReprType(in_C99ReprType_4));
	struct mirth_mirth_zaMirth* v8;
	STR* v9 = mw_mirth_c99_zaC99Resource_consumezeas(in_zaMirth_1, in_C99ReprType_4, in_zaC99Resource_3, &v8);
	struct mirth_c99_zaC99Resource* v10;
	mtw_mirth_c99_zaC99Resource_zaC99Resource(in_C99ReprType_4, v9, &v10);
	*out_zaC99Resource_7 = v10;
	*out_zaC99Branch_6 = in_zaC99Branch_2;
	*out_zaMirth_5 = v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq 0x18(%rbp), %rax
movq 0x10(%rbp), %rax
movl %ecx, -0x10(%rbp)
movq %r8, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x29eb5f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
cmpq $0x0, %rax
je 0x29eb5f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x60(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x29eb5f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x29eb61
movq -0x18(%rbp), %rdi
movq -0x28(%rbp), %rcx
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
leaq -0x78(%rbp), %r8
callq 0x2a38c0
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rdx
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x88(%rbp), %rcx
callq 0x28cfc0
movq -0x88(%rbp), %rcx
movq 0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x78(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
addq $0x90, %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_c99_C99ReprType_stripzenewtypes
static struct mirth_c99_C99ReprType mw_mirth_c99_C99ReprType_stripzenewtypes (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99ReprType in_C99ReprType_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* branch_zaMirth_5;
	struct mirth_c99_C99ReprType branch_C99ReprType_6;
	switch ((in_C99ReprType_2).tag) {
		case mirth_c99_C99ReprType_Data: {
			uint64_t v7 = mtp_mirth_c99_C99ReprType_Data(in_C99ReprType_2);
			struct mirth_mirth_zaMirth* v8;
			struct mirth_c99_C99ReprType v9 = mw_mirth_data_Data_stripzenewtypeszec99zerepr(in_zaMirth_1, v7, &v8);
			branch_C99ReprType_6 = v9;
			branch_zaMirth_5 = v8;
		} break;
		default: {
			branch_C99ReprType_6 = in_C99ReprType_2;
			branch_zaMirth_5 = in_zaMirth_1;
		} break;
	}
	*out_zaMirth_3 = branch_zaMirth_5;
	return branch_C99ReprType_6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %esi, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movl -0x20(%rbp), %eax
subl $0x15, %eax
jne 0x2a0a93
jmp 0x2a0a51
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x24cd20
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rdi
movq -0x40(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x2a2a50
movl %eax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x2a0aab
movq -0x20(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x60, %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_c99_zaC99Value_consumezeaszeVAL
static STR* mw_mirth_c99_zaC99Value_consumezeaszeVAL (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Value* in_zaC99Value_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_c99_C99ReprType v5;
	STR* v6;
	mtp_mirth_c99_zaC99Value_zaC99Value(in_zaC99Value_2, &v5, &v6);
	struct mirth_mirth_zaMirth* v7;
	STR* v8 = mw_mirth_c99_C99ReprType_mkzemacro(in_zaMirth_1, v6, v5, &v7);
	*out_zaMirth_3 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x28(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x28cf60
movq -0x8(%rbp), %rdi
movq -0x30(%rbp), %rsi
movl -0x28(%rbp), %edx
movq -0x20(%rbp), %rcx
leaq -0x38(%rbp), %r8
callq 0x271fa0
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%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_c99_zaC99Resource_consumezeas
static STR* mw_mirth_c99_zaC99Resource_consumezeas (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99ReprType in_C99ReprType_2, struct mirth_c99_zaC99Resource* in_zaC99Resource_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_c99_zaC99Value* v6;
	mw_mirth_c99_zaC99Resource_turnzeintozevaluezx(in_zaC99Resource_3, &v6);
	struct mirth_mirth_zaMirth* v7;
	STR* v8 = mw_mirth_c99_zaC99Value_consumezeas(in_zaMirth_1, in_C99ReprType_2, v6, &v7);
	*out_zaMirth_4 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x20(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x2a3920
movq -0x18(%rbp), %rdi
movq -0x30(%rbp), %rcx
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
leaq -0x38(%rbp), %r8
callq 0x29ebd0
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Resource_turnzeintozevaluezx
static void mw_mirth_c99_zaC99Resource_turnzeintozevaluezx (struct mirth_c99_zaC99Resource* in_zaC99Resource_1, struct mirth_c99_zaC99Value* *out_zaC99Value_2) {
	struct mirth_c99_C99ReprType v3;
	STR* v4;
	mtp_mirth_c99_zaC99Resource_zaC99Resource(in_zaC99Resource_1, &v3, &v4);
	struct mirth_c99_zaC99Value* v5;
	mtw_mirth_c99_zaC99Value_zaC99Value(v3, v4, &v5);
	*out_zaC99Value_2 = v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x20(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x29e540
movq -0x28(%rbp), %rdx
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
leaq -0x30(%rbp), %rcx
callq 0x28cac0
movq -0x30(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
addq $0x30, %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_c99_zaC99ValuezfResource_consumezeas
static STR* mw_mirth_c99_zaC99ValuezfResource_consumezeas (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99ReprType in_C99ReprType_2, struct std_either_zaEither_2 in_zaC99ValuezfResource_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* branch_zaMirth_6;
	STR* branch_Str_7;
	switch ((in_zaC99ValuezfResource_3).tag) {
		case std_either_zaEither_2_zaLeft: {
			VAL v8;
			mtp_std_either_zaEither_2_zaLeft(in_zaC99ValuezfResource_3, &v8);
			struct mirth_mirth_zaMirth* v9;
			STR* v10 = mw_mirth_c99_zaC99Value_consumezeas(in_zaMirth_1, in_C99ReprType_2, V_mirth_c99_zaC99Value(v8), &v9);
			branch_Str_7 = v10;
			branch_zaMirth_6 = v9;
		} break;
		case std_either_zaEither_2_zaRight: {
			VAL v11;
			mtp_std_either_zaEither_2_zaRight(in_zaC99ValuezfResource_3, &v11);
			struct mirth_mirth_zaMirth* v12;
			STR* v13 = mw_mirth_c99_zaC99Resource_consumezeas(in_zaMirth_1, in_C99ReprType_2, V_mirth_c99_zaC99Resource(v11), &v12);
			branch_Str_7 = v13;
			branch_zaMirth_6 = v12;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_4 = branch_zaMirth_6;
	return branch_Str_7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl %ecx, -0x20(%rbp)
movq %r8, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x84(%rbp)
testl %eax, %eax
je 0x2a686d
jmp 0x2a6860
movl -0x84(%rbp), %eax
subl $0x1, %eax
je 0x2a68ab
jmp 0x2a68e9
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
leaq -0x50(%rbp), %rdx
callq 0x29e0c0
movq -0x28(%rbp), %rdi
movq -0x50(%rbp), %rcx
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
leaq -0x58(%rbp), %r8
callq 0x29ebd0
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x2a6902
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
leaq -0x70(%rbp), %rdx
callq 0x29e300
movq -0x28(%rbp), %rdi
movq -0x70(%rbp), %rcx
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
leaq -0x78(%rbp), %r8
callq 0x2a38c0
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x2a6902
leaq 0xad591(%rip), %rdi     # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x38(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Branch_endzebranchzx
static void mw_mirth_c99_zaC99Branch_endzebranchzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_c99_zaC99* *out_zaC99_4, bool *out_Bool_5, struct std_list_List_1 *out_List_6) {
	struct mirth_c99_zaC99Stack r7 = in_zaC99Branch_2->mzastack;
	struct mirth_c99_zaC99Stack v8 = { .tag=mirth_c99_zaC99Stack_zaNil };
	in_zaC99Branch_2->mzastack = v8;
	struct mirth_mirth_zaMirth* v9;
	struct mirth_c99_zaC99Branch* v10;
	mw_mirth_c99_zaC99Stack_pushzestackzedirectzx(in_zaMirth_1, in_zaC99Branch_2, r7, &v9, &v10);
	struct mirth_c99_zaC99* v11;
	struct mirth_c99_zaC99Stack v12;
	struct std_list_List_1 v13;
	bool v14;
	mtp_mirth_c99_zaC99Branch_zaC99Branch(v10, &v11, &v12, &v13, &v14);
	mw_mirth_c99_zaC99Stack_rdrop(v12);
	*out_List_6 = v13;
	*out_Bool_5 = v14;
	*out_zaC99_4 = v11;
	*out_zaMirth_3 = v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
movq %rcx, -0x40(%rbp)
movq 0x10(%rax), %rax
movq %rax, -0x38(%rbp)
leaq -0x50(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x10(%rbp), %rax
movq -0x50(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x48(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x40(%rbp), %edx
movq -0x38(%rbp), %rcx
leaq -0x58(%rbp), %r8
leaq -0x60(%rbp), %r9
callq 0x2a9bc0
movq -0x60(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x78(%rbp), %rdx
leaq -0x88(%rbp), %rcx
leaq -0x89(%rbp), %r8
callq 0x2a9e60
movl -0x78(%rbp), %edi
movq -0x70(%rbp), %rsi
callq 0x2a9ee0
movq -0x30(%rbp), %rax
movq -0x88(%rbp), %rcx
movq %rcx, (%rax)
movq -0x80(%rbp), %rcx
movq %rcx, 0x8(%rax)
movb -0x89(%rbp), %cl
movq -0x28(%rbp), %rax
andb $0x1, %cl
movb %cl, (%rax)
movq -0x68(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x58(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0x90, %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_c99_zaC99Branch_zaC99Branch
static void mtp_mirth_c99_zaC99Branch_zaC99Branch (struct mirth_c99_zaC99Branch* in_zaC99Branch_1, struct mirth_c99_zaC99* *out_zaC99_2, struct mirth_c99_zaC99Stack *out_zaC99Stack_3, struct std_list_List_1 *out_List_4, bool *out_Bool_5) {
	struct mirth_c99_zaC99Branch v6 = *in_zaC99Branch_1;
	free(in_zaC99Branch_1);
	*out_Bool_5 = v6.mreachable;
	*out_List_4 = v6.menv;
	*out_zaC99Stack_3 = v6.mzastack;
	*out_zaC99_2 = v6.mzac99;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rsi
leaq -0x58(%rbp), %rdi
movl $0x30, %edx
callq 0x50e0
movq -0x8(%rbp), %rdi
callq 0x5030
movb -0x30(%rbp), %cl
movq -0x28(%rbp), %rax
andb $0x1, %cl
movb %cl, (%rax)
movq -0x20(%rbp), %rax
movq -0x40(%rbp), %rcx
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rax
movq -0x50(%rbp), %rcx
movq %rcx, (%rax)
movq -0x48(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x58(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
addq $0x60, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Stack_rdrop
static void mw_mirth_c99_zaC99Stack_rdrop (struct mirth_c99_zaC99Stack in_zaC99Stack_1) {
	switch ((in_zaC99Stack_1).tag) {
		case mirth_c99_zaC99Stack_zaNil: {
		} break;
		case mirth_c99_zaC99Stack_zaCons: {
			struct mirth_c99_zaC99Stack v2;
			struct mirth_c99_zaC99Value* v3;
			mtp_mirth_c99_zaC99Stack_zaCons(in_zaC99Stack_1, &v2, &v3);
			mw_mirth_c99_zaC99Value_rdrop(v3);
			mw_mirth_c99_zaC99Stack_rdrop(v2);
		} break;
		case mirth_c99_zaC99Stack_zaWith: {
			struct mirth_c99_zaC99Stack v4;
			struct mirth_c99_zaC99Resource* v5;
			mtp_mirth_c99_zaC99Stack_zaWith(in_zaC99Stack_1, &v4, &v5);
			mw_mirth_c99_zaC99Resource_rdrop(v5);
			mw_mirth_c99_zaC99Stack_rdrop(v4);
		} break;
		case mirth_c99_zaC99Stack_zaConsLabel: {
			struct mirth_c99_zaC99Stack v6;
			struct mirth_c99_zaC99Value* v7;
			uint64_t v8 = mtp_mirth_c99_zaC99Stack_zaConsLabel(in_zaC99Stack_1, &v6, &v7);
			mw_mirth_c99_zaC99Value_rdrop(v7);
			mw_mirth_c99_zaC99Stack_rdrop(v6);
		} break;
		case mirth_c99_zaC99Stack_zaWithLabel: {
			struct mirth_c99_zaC99Stack v9;
			struct mirth_c99_zaC99Resource* v10;
			uint64_t v11 = mtp_mirth_c99_zaC99Stack_zaWithLabel(in_zaC99Stack_1, &v9, &v10);
			mw_mirth_c99_zaC99Resource_rdrop(v10);
			mw_mirth_c99_zaC99Stack_rdrop(v9);
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq %rax, -0x88(%rbp)
subq $0x4, %rax
ja 0x2a9fd9
movq -0x88(%rbp), %rax
leaq 0xa9904(%rip), %rcx     # 0x353818
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x2a9ff2
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x20(%rbp), %rdx
leaq -0x28(%rbp), %rcx
callq 0x295c50
movq -0x28(%rbp), %rdi
callq 0x29e110
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x2a9ee0
jmp 0x2a9ff2
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x38(%rbp), %rdx
leaq -0x40(%rbp), %rcx
callq 0x295cb0
movq -0x40(%rbp), %rdi
callq 0x29e350
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x2a9ee0
jmp 0x2a9ff2
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x50(%rbp), %rdx
leaq -0x58(%rbp), %rcx
callq 0x295d80
movq %rax, -0x60(%rbp)
movq -0x58(%rbp), %rdi
callq 0x29e110
movl -0x50(%rbp), %edi
movq -0x48(%rbp), %rsi
callq 0x2a9ee0
jmp 0x2a9ff2
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x70(%rbp), %rdx
leaq -0x78(%rbp), %rcx
callq 0x295d10
movq %rax, -0x80(%rbp)
movq -0x78(%rbp), %rdi
callq 0x29e350
movl -0x70(%rbp), %edi
movq -0x68(%rbp), %rsi
callq 0x2a9ee0
jmp 0x2a9ff2
leaq 0xa9ea1(%rip), %rdi     # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_pushzevaluezelabelzedirectzx
static void mw_mirth_c99_pushzevaluezelabelzedirectzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, uint64_t in_Label_3, struct mirth_c99_zaC99Value* in_zaC99Value_4, struct mirth_mirth_zaMirth* *out_zaMirth_5, struct mirth_c99_zaC99Branch* *out_zaC99Branch_6) {
	struct mirth_mirth_zaMirth* v7;
	STR* v8 = mw_mirth_c99_zaC99Value_consumezeaszeVAL(in_zaMirth_1, in_zaC99Value_4, &v7);
	struct mirth_mirth_zaMirth* v9;
	struct mirth_c99_zaC99Branch* v10;
	mw_mirth_c99_zaC99Branch_c99zeline_1_sp1(v8, in_Label_3, v7, in_zaC99Branch_2, &v9, &v10);
	*out_zaC99Branch_6 = v10;
	*out_zaMirth_5 = v9;
}

// 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 %r9, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x2a0ad0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x38(%rbp), %rdx
movq -0x10(%rbp), %rcx
leaq -0x48(%rbp), %r8
leaq -0x50(%rbp), %r9
callq 0x2aa820
movq -0x50(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_Tag_patzecnamezetype
static STR* mw_mirth_data_Tag_patzecnamezetype (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Tag_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_type_ArrowType* *out_ArrowType_5) {
	struct mirth_mirth_zaMirth* v6;
	STR* v7 = mw_mirth_data_Tag_patzecname(in_zaMirth_1, in_Tag_2, &v6);
	struct mirth_mirth_zaMirth* v8;
	struct mirth_type_ArrowType* v9 = mw_mirth_data_Tag_type(v6, in_Tag_2, &v8);
	struct mirth_type_ArrowType* v10 = mw_mirth_type_ArrowType_invert(v9);
	*out_ArrowType_5 = v10;
	*out_zaMirth_3 = v8;
	return v7;
}

// 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 -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x2aad80
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x1043a0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
callq 0x1a7f90
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_C99DataUnitRepr_destructzx
static void mw_mirth_c99_C99DataUnitRepr_destructzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct std_either_zaEither_2 in_zaC99ValuezfResource_3, struct mirth_c99_C99DataUnitRepr* in_C99DataUnitRepr_4, struct mirth_mirth_zaMirth* *out_zaMirth_5, struct mirth_c99_zaC99Branch* *out_zaC99Branch_6) {
	mw_mirth_c99_zaC99ValuezfResource_rdrop(in_zaC99ValuezfResource_3);
	struct mirth_mirth_zaMirth* v7;
	struct mirth_c99_zaC99Branch* v8;
	mw_mirth_c99_C99DataUnitRepr_unpackzeunitzx(in_zaMirth_1, in_zaC99Branch_2, in_C99DataUnitRepr_4, &v7, &v8);
	*out_zaC99Branch_6 = v8;
	*out_zaMirth_5 = v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq 0x10(%rbp), %rax
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2941d0
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x38(%rbp), %rcx
leaq -0x40(%rbp), %r8
callq 0x2ac630
movq -0x40(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%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_c99_C99DataEnumTagRepr_destructzx
static void mw_mirth_c99_C99DataEnumTagRepr_destructzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct std_either_zaEither_2 in_zaC99ValuezfResource_3, struct mirth_c99_C99DataEnumTagRepr* in_C99DataEnumTagRepr_4, struct mirth_mirth_zaMirth* *out_zaMirth_5, struct mirth_c99_zaC99Branch* *out_zaC99Branch_6) {
	decref(MK_mirth_c99_C99DataEnumTagRepr(in_C99DataEnumTagRepr_4));
	mw_mirth_c99_zaC99ValuezfResource_rdrop(in_zaC99ValuezfResource_3);
	*out_zaC99Branch_6 = in_zaC99Branch_2;
	*out_zaMirth_5 = in_zaMirth_1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq 0x10(%rbp), %rax
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0xe7a53(%rip), %rax     # 0x393288
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2ab8f6
movq -0x28(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0xe7a2a(%rip), %rax     # 0x393288
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
cmpq $0x0, %rax
je 0x2ab8f6
movq -0x28(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0xe79ff(%rip), %rax     # 0x393288
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x2ab8f6
movq -0x28(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0xe79da(%rip), %rax     # 0x393288
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x2ab8f4
movq -0x28(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0xe79a9(%rip), %rax     # 0x393288
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x127c0
jmp 0x2ab8f6
jmp 0x2ab8f8
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2941d0
movq -0x20(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%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_c99_C99DataStructRepr_destructzx
static void mw_mirth_c99_C99DataStructRepr_destructzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_c99_C99DataStructRepr* in_C99DataStructRepr_3, struct std_either_zaEither_2 in_zaC99ValuezfResource_4, struct mirth_mirth_zaMirth* *out_zaMirth_5, struct mirth_c99_zaC99Branch* *out_zaC99Branch_6) {
	incref(MK_mirth_c99_C99DataStructRepr(in_C99DataStructRepr_3));
	struct mirth_mirth_zaMirth* v7;
	uint64_t v8 = mw_mirth_c99_C99DataStructRepr_data(in_zaMirth_1, in_C99DataStructRepr_3, &v7);
	struct mirth_mirth_zaMirth* v9;
	STR* v10 = mw_mirth_c99_zaC99ValuezfResource_consumezeaszedata(v7, v8, in_zaC99ValuezfResource_4, &v9);
	struct mirth_mirth_zaMirth* v11;
	struct mirth_c99_zaC99Branch* v12;
	mw_mirth_c99_C99DataStructRepr_unpackzestructzx(v9, in_zaC99Branch_2, v10, in_C99DataStructRepr_3, &v11, &v12);
	*out_zaC99Branch_6 = v12;
	*out_zaMirth_5 = v11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq 0x10(%rbp), %rax
movl %ecx, -0x10(%rbp)
movq %r8, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0xe72e3(%rip), %rax     # 0x392fb8
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2abd67
movq -0x28(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0xe72be(%rip), %rax     # 0x392fb8
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
cmpq $0x0, %rax
je 0x2abd67
movq -0x28(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0xe7293(%rip), %rax     # 0x392fb8
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x2abd67
movq -0x28(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0xe726e(%rip), %rax     # 0x392fb8
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x2abd69
movq -0x18(%rbp), %rdi
movq -0x28(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x24f3f0
movq %rax, -0x80(%rbp)
movq -0x78(%rbp), %rdi
movq -0x80(%rbp), %rsi
movl -0x10(%rbp), %edx
movq -0x8(%rbp), %rcx
leaq -0x88(%rbp), %r8
callq 0x2ae080
movq %rax, -0x90(%rbp)
movq -0x88(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x90(%rbp), %rdx
movq -0x28(%rbp), %rcx
leaq -0x98(%rbp), %r8
leaq -0xa0(%rbp), %r9
callq 0x2ae160
movq -0xa0(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x98(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
addq $0xa0, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99ValuezfResource_consumezeaszedata
static STR* mw_mirth_c99_zaC99ValuezfResource_consumezeaszedata (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Data_2, struct std_either_zaEither_2 in_zaC99ValuezfResource_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* branch_zaMirth_6;
	STR* branch_Str_7;
	switch ((in_zaC99ValuezfResource_3).tag) {
		case std_either_zaEither_2_zaLeft: {
			VAL v8;
			mtp_std_either_zaEither_2_zaLeft(in_zaC99ValuezfResource_3, &v8);
			struct mirth_mirth_zaMirth* v9;
			STR* v10 = mw_mirth_c99_zaC99Value_consumezeaszedata(in_zaMirth_1, V_mirth_c99_zaC99Value(v8), in_Data_2, &v9);
			branch_Str_7 = v10;
			branch_zaMirth_6 = v9;
		} break;
		case std_either_zaEither_2_zaRight: {
			VAL v11;
			mtp_std_either_zaEither_2_zaRight(in_zaC99ValuezfResource_3, &v11);
			struct mirth_mirth_zaMirth* v12;
			STR* v13 = mw_mirth_c99_zaC99Resource_consumezeaszedata(in_zaMirth_1, V_mirth_c99_zaC99Resource(v11), in_Data_2, &v12);
			branch_Str_7 = v13;
			branch_zaMirth_6 = v12;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_4 = branch_zaMirth_6;
	return branch_Str_7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl -0x10(%rbp), %eax
movl %eax, -0x7c(%rbp)
testl %eax, %eax
je 0x2ae0b4
jmp 0x2ae0aa
movl -0x7c(%rbp), %eax
subl $0x1, %eax
je 0x2ae0ef
jmp 0x2ae12a
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x29e0c0
movq -0x18(%rbp), %rdi
movq -0x48(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x50(%rbp), %rcx
callq 0x2b26c0
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x2ae143
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x68(%rbp), %rdx
callq 0x29e300
movq -0x18(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x70(%rbp), %rcx
callq 0x2b2720
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x2ae143
leaq 0xa5d50(%rip), %rdi     # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x30(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Value_consumezeaszedata
static STR* mw_mirth_c99_zaC99Value_consumezeaszedata (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Value* in_zaC99Value_2, uint64_t in_Data_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_c99_C99ReprType v6 = mtw_mirth_c99_C99ReprType_Data(in_Data_3);
	struct mirth_mirth_zaMirth* v7;
	STR* v8 = mw_mirth_c99_zaC99Value_consumezeas(in_zaMirth_1, v6, in_zaC99Value_2, &v7);
	*out_zaMirth_4 = v7;
	return v8;
}

// 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 -0x18(%rbp), %rdi
callq 0x233590
movl %eax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rcx
movl -0x30(%rbp), %esi
movq -0x28(%rbp), %rdx
leaq -0x38(%rbp), %r8
callq 0x29ebd0
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Branch_c99zeline_1_sp24
static void mw_mirth_c99_zaC99Branch_c99zeline_1_sp24 (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_c99_zaC99Branch* *out_zaC99Branch_4) {
	bool v5 = in_zaC99Branch_2->mreachable;
	struct mirth_c99_zaC99* r6 = in_zaC99Branch_2->mzac99;
	struct mirth_mirth_zaMirth* v7;
	struct mirth_c99_zaC99* v8;
	mw_mirth_c99_zaC99_c99zelinezeif_1_sp23(in_zaMirth_1, v5, r6, &v7, &v8);
	in_zaC99Branch_2->mzac99 = v8;
	*out_zaC99Branch_4 = in_zaC99Branch_2;
	*out_zaMirth_3 = v7;
}

// 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 -0x10(%rbp), %rax
movb 0x28(%rax), %al
andb $0x1, %al
movb %al, -0x21(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movb -0x21(%rbp), %al
movq -0x30(%rbp), %rdx
leaq -0x38(%rbp), %rcx
leaq -0x40(%rbp), %r8
andb $0x1, %al
movzbl %al, %esi
callq 0x2b33f0
movq -0x40(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%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_c99_zaC99_c99zelinezeif_1_sp23
static void mw_mirth_c99_zaC99_c99zelinezeif_1_sp23 (struct mirth_mirth_zaMirth* in_zaMirth_1, bool in_Bool_2, struct mirth_c99_zaC99* in_zaC99_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99* *out_zaC99_5) {
	bool v6 = in_zaC99_3->mputzeenabled;
	bool v7 = (in_Bool_2 && v6);
	in_zaC99_3->mputzeenabled = v7;
	struct mirth_mirth_zaMirth* v8;
	struct mirth_c99_zaC99* v9;
	mw_mirth_c99_zaC99_c99zeline_1_sp2(in_zaMirth_1, in_zaC99_3, &v8, &v9);
	v9->mputzeenabled = v6;
	*out_zaC99_5 = v9;
	*out_zaMirth_4 = v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %sil, %al
movq %rdi, -0x8(%rbp)
andb $0x1, %al
movb %al, -0x9(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x18(%rbp), %rax
movb 0x18(%rax), %al
andb $0x1, %al
movb %al, -0x29(%rbp)
xorl %eax, %eax
testb $0x1, -0x9(%rbp)
movb %al, -0x41(%rbp)
je 0x2b342d
movb -0x29(%rbp), %al
movb %al, -0x41(%rbp)
movb -0x41(%rbp), %al
andb $0x1, %al
movb %al, -0x2a(%rbp)
movb -0x2a(%rbp), %cl
movq -0x18(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x18(%rax)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x38(%rbp), %rdx
leaq -0x40(%rbp), %rcx
callq 0x22bec0
movb -0x29(%rbp), %cl
movq -0x40(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x18(%rax)
movq -0x40(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_buffer_Buffer_sizze
static INT mw_mirth_buffer_Buffer_sizze (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_sizze, in_Buffer_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 0x10e21f9(%rip), %rdi   # 0x13960f8
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_external_ExternalBlock_parts
static struct std_list_List_1 mw_mirth_external_ExternalBlock_parts (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_ExternalBlock_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_external_ExternalBlock_parts, in_ExternalBlock_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return V_std_list_List_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 0x10e1cb9(%rip), %rdi   # 0x13960a8
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 0x12c80
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_external_ExternalBlockPart_EBPCode
static STR* mtp_mirth_external_ExternalBlockPart_EBPCode (struct mirth_external_ExternalBlockPart in_ExternalBlockPart_1) {
	struct mirth_external_ExternalBlockPart_EBPCode v3 = *in_ExternalBlockPart_1.ptr.EBPCode;
	if (!--(in_ExternalBlockPart_1.ptr.EBPCode->refs)) {
		free(in_ExternalBlockPart_1.ptr.EBPCode);
	} else {
		incref(MKSTR(v3.mStr));
	}
	return v3.mStr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %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 0x2b4480
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x2b4527
jmp 0x2b4482
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0xdccc7(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2b4523
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0xdcca2(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x2b4523
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0xdcc77(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x2b4523
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0xdcc52(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x2b4525
jmp 0x2b4527
movq -0x18(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)