LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_list_List_1_uncons
static struct std_maybe_Maybe_1 mw_std_list_List_1_uncons (struct std_list_List_1 in_List_1, struct std_list_List_1 *out_List_3) {
	struct std_maybe_Maybe_1 branch_Maybe_4;
	struct std_list_List_1 branch_List_5;
	switch ((in_List_1).tag) {
		case std_list_List_1_Nil: {
			struct std_maybe_Maybe_1 v6 = { .tag=std_maybe_Maybe_1_None };
			struct std_list_List_1 v7 = { .tag=std_list_List_1_Nil };
			branch_List_5 = v7;
			branch_Maybe_4 = v6;
		} break;
		case std_list_List_1_Cons: {
			struct std_list_List_1 v8;
			VAL v9 = mtp_std_list_List_1_Cons(in_List_1, &v8);
			struct std_maybe_Maybe_1 v10 = mtw_std_maybe_Maybe_1_Some(v9);
			branch_List_5 = v8;
			branch_Maybe_4 = v10;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_List_3 = branch_List_5;
	return branch_Maybe_4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x28(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x8c(%rbp)
testl %eax, %eax
je 0x2c4c5
jmp 0x2c4b5
movl -0x8c(%rbp), %eax
subl $0x1, %eax
je 0x2c507
jmp 0x2c55b
leaq -0x48(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
leaq -0x58(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x58(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2c574
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
leaq -0x68(%rbp), %rdx
callq 0x125e0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0xca10
movl %eax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2c574
leaq 0x32791f(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x28(%rbp), %rax
movups -0x38(%rbp), %xmm0
movups %xmm0, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x90, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_str_zaStr_csizj
static void mw_std_str_zaStr_csizj (STR* in_zaStr_1, STR* *out_zaStr_2) {
	enum std_byte_Byte v3 = std_byte_Byte_BESC;
	STR* v4;
	mw_std_str_zaStr_pushzebytezeunsafezx(v3, in_zaStr_1, &v4);
	enum std_byte_Byte v5 = std_byte_Byte_BLSQUARE;
	STR* v6;
	mw_std_str_zaStr_pushzebytezeunsafezx(v5, v4, &v6);
	*out_zaStr_2 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x1b, -0x14(%rbp)
movl -0x14(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x20(%rbp), %rdx
callq 0x32870
movl $0x5b, -0x24(%rbp)
movl -0x24(%rbp), %edi
movq -0x20(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x32870
movq -0x30(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_std_terminal_Sgr_FGColor
static struct std_terminal_SGRColor mtp_std_terminal_Sgr_FGColor (struct std_terminal_Sgr in_Sgr_1) {
	struct std_terminal_Sgr_FGColor v3 = *in_Sgr_1.ptr.FGColor;
	if (!--(in_Sgr_1.ptr.FGColor->refs)) {
		free(in_Sgr_1.ptr.FGColor);
	} else {
		incref(MK_std_terminal_SGRColor(v3.mSGRColor));
	}
	return v3.mSGRColor;
}

// 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 0x320fb
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x32196
jmp 0x320fd
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x38fd0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x32192
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x38fd0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x32192
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x38fd0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x32192
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x38fd0
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 0x32194
jmp 0x32196
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_std_terminal_Sgr_BGColor
static struct std_terminal_SGRColor mtp_std_terminal_Sgr_BGColor (struct std_terminal_Sgr in_Sgr_1) {
	struct std_terminal_Sgr_BGColor v3 = *in_Sgr_1.ptr.BGColor;
	if (!--(in_Sgr_1.ptr.BGColor->refs)) {
		free(in_Sgr_1.ptr.BGColor);
	} else {
		incref(MK_std_terminal_SGRColor(v3.mSGRColor));
	}
	return v3.mSGRColor;
}

// 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 0x327bb
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x32856
jmp 0x327bd
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x38fd0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x32852
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x38fd0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x32852
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x38fd0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x32852
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x38fd0
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 0x32854
jmp 0x32856
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: mw_std_str_zaStr_pushzebytezeunsafezx
static void mw_std_str_zaStr_pushzebytezeunsafezx (enum std_byte_Byte in_Byte_1, STR* in_zaStr_2, STR* *out_zaStr_3) {
	STR* v4 = mw_std_byte_Byte_tozestrzeunsafe(in_Byte_1);
	STR* v5;
	mw_std_str_zaStr_pushzestrzx(v4, in_zaStr_2, &v5);
	*out_zaStr_3 = v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl -0x4(%rbp), %edi
callq 0x328c0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0xb940
movq -0x28(%rbp), %rcx
movq -0x18(%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_std_byte_Byte_tozestrzeunsafe
static STR* mw_std_byte_Byte_tozestrzeunsafe (enum std_byte_Byte in_Byte_1) {
	struct std_list_List_1 v3 = { .tag=std_list_List_1_Nil };
	struct std_list_List_1 v4 = mw_std_list_List_1_cons(MK_std_byte_Byte(in_Byte_1), v3);
	STR* v5 = mw_std_prim_Str_fromzebyteszeunsafe(v4);
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl %edi, -0x4(%rbp)
leaq -0x18(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movl -0x4(%rbp), %eax
movq %rax, -0x38(%rbp)
leaq 0x35ecef(%rip), %rax    # 0x3915d8
movq %rax, -0x30(%rbp)
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
movl -0x18(%rbp), %edx
movq -0x10(%rbp), %rcx
callq 0x12740
movl %eax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x32930
movq %rax, -0x40(%rbp)
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_std_buffer_zaBuffer_u8zx
static void mw_std_buffer_zaBuffer_u8zx (ARR* in_zaBuffer_1, uint8_t in_U8_2, INT in_Offset_3, ARR* *out_zaBuffer_4) {
	INT v5 = WRAP_I63(1LL);
	ARR* v6;
	INT v7 = mw_std_buffer_zaBuffer_preparezespanzx(in_zaBuffer_1, in_Offset_3, v5, &v6);
	ARR* v8;
	void* v9 = mw_std_buffer_zaBuffer_base(v6, &v8);
	void* v10 = mw_std_prelude_unsafe_1_sp5(v7, v9);
	*(uint8_t*)v10 = in_U8_2;
	*out_zaBuffer_4 = v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %sil, %al
movq %rdx, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq %rcx, -0x20(%rbp)
movq 0x33b387(%rip), %rax    # 0x36ea58
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x30(%rbp), %rcx
callq 0x34560
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x33730
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rsi
movq -0x38(%rbp), %rdi
callq 0x34660
movq %rax, -0x50(%rbp)
movb -0x11(%rbp), %cl
movq -0x50(%rbp), %rax
movb %cl, (%rax)
movq -0x40(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_buffer_zaBuffer_base
static void* mw_std_buffer_zaBuffer_base (ARR* in_zaBuffer_1, ARR* *out_zaBuffer_2) {
	ARR* v4;
	void* v5 = mw_std_array_zaArray_1_base(in_zaBuffer_1, &v4);
	*out_zaBuffer_2 = v4;
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x386b0
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%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: mw_std_buffer_zaBuffer_sizze
static INT mw_std_buffer_zaBuffer_sizze (ARR* in_zaBuffer_1, ARR* *out_zaBuffer_2) {
	ARR* v4;
	INT v5 = mw_std_array_zaArray_1_lenzo(in_zaBuffer_1, &v4);
	INT v6 = v5;
	*out_zaBuffer_2 = v4;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x35170
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: arr_new
static ARR* arr_new(VAL v, USIZE n) {
    ARR* arr = arr_new_of(v.tag, n);
    arr->size = n;
    val_poke_many_(arr,0,n,v);
    if (HAS_REFS(v)) {
        VREFS(v) = VREFS(v) + n - 1;
        if (!VREFS(v)) free_value(v);
    }
    return arr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x34180
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %r8
xorl %eax, %eax
movl %eax, %esi
callq 0x342b0
movq -0x8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x34176
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x10(%rbp), %rax
cmpq $0x0, %rax
je 0x34176
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x34176
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x10(%rbp), %rax
movl (%rax), %eax
addq -0x18(%rbp), %rax
subq $0x1, %rax
movl %eax, %ecx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x10(%rbp), %rax
movl %ecx, (%rax)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x10(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x34174
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x127c0
jmp 0x34176
movq -0x20(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: arr_new_of
static ARR* arr_new_of(TAG tag, USIZE cap) {
    if (cap < 4) cap = 4;
    const TYPE* ty = PTRPTR(tag);
    ASSERT(ty);
    USIZE stride = ty->stride;
    USIZE nbytes = ((stride == STRIDE_BOOL) ? cap/8 : cap*stride) + 4;
    ARR* arr = calloc(1, sizeof(ARR) + nbytes);
    ASSERT(arr);
    arr->refs = 1;
    arr->stride = stride;
    arr->size = 0;
    arr->cap = cap;
    arr->tag = tag;
    return arr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x4, -0x10(%rbp)
jae 0x3419f
movq $0x4, -0x10(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x341e2
movl $0x2, %edi
leaq 0x320f77(%rip), %rsi    # 0x35513b
movl $0x30, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x341e4
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $-0x1, -0x20(%rbp)
jne 0x34205
movq -0x10(%rbp), %rax
shrq $0x3, %rax
movq %rax, -0x38(%rbp)
jmp 0x34212
movq -0x10(%rbp), %rax
imulq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rsi
addq $0x38, %rsi
movl $0x1, %edi
callq 0x50c0
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x34265
movl $0x2, %edi
leaq 0x320f25(%rip), %rsi    # 0x35516c
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x34267
movq -0x30(%rbp), %rax
movl $0x1, (%rax)
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x30(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x10(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x30(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: val_poke_many_
static void val_poke_many_(ARR* arr, USIZE lo, USIZE hi, VAL v) {
    ASSERT(arr);
    ASSERT(arr->refs == 1);
    ASSERT(arr->tag == v.tag);
    ASSERT(lo <= hi);
    ASSERT(hi <= arr->size);
    const TYPE* ty = PTRPTR(arr->tag);
    ASSERT(ty && ty->poke_many_);
    ty->poke_many_(arr, lo, hi, v);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rcx, -0x10(%rbp)
movq %r8, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x342fd
movl $0x2, %edi
leaq 0x320ebf(%rip), %rsi    # 0x35519e
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x342ff
jmp 0x34301
movq -0x18(%rbp), %rax
cmpl $0x1, (%rax)
je 0x34334
movl $0x2, %edi
leaq 0x320eba(%rip), %rsi    # 0x3551d0
movl $0x3c, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x34336
jmp 0x34338
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
cmpq -0x8(%rbp), %rax
je 0x34370
movl $0x2, %edi
leaq 0x320ebb(%rip), %rsi    # 0x35520d
movl $0x3f, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x34372
jmp 0x34374
movq -0x20(%rbp), %rax
cmpq -0x28(%rbp), %rax
jbe 0x343a8
movl $0x2, %edi
leaq 0x320ec3(%rip), %rsi    # 0x35524d
movl $0x36, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x343aa
jmp 0x343ac
movq -0x28(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jbe 0x343e4
movl $0x2, %edi
leaq 0x320ebe(%rip), %rsi    # 0x355284
movl $0x3d, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x343e6
movq -0x18(%rbp), %rcx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq 0x20(%rcx), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x3440e
movq -0x30(%rbp), %rax
cmpq $0x0, 0x40(%rax)
jne 0x34438
movl $0x2, %edi
leaq 0x320ea8(%rip), %rsi    # 0x3552c2
movl $0x42, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x3443a
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %r8
callq *%rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_buffer_zaBuffer_preparezespanzx
static INT mw_std_buffer_zaBuffer_preparezespanzx (ARR* in_zaBuffer_1, INT in_Offset_2, INT in_Sizze_3, ARR* *out_zaBuffer_4) {
	incref(MKINT(in_Offset_2));
	INT v6 = int_add(in_Sizze_3, in_Offset_2);
	ARR* v7;
	mw_std_buffer_zaBuffer_expandzx(in_zaBuffer_1, v6, &v7);
	*out_zaBuffer_4 = v7;
	return in_Offset_2;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rdi, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x35ce9e(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x3461c
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x35ce79(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0x3461c
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x35ce4e(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x3461c
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x35ce29(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x3461e
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x1b780
movq %rax, -0x70(%rbp)
movq -0x20(%rbp), %rdi
movq -0x70(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x346a0
movq -0x78(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_array_zaArray_1_resizzezx
static void mw_std_array_zaArray_1_resizzezx (ARR* in_zaArray_1, VAL in_a_2, INT in_Nat_3, ARR* *out_zaArray_4) {
	incref(MKNAT(in_Nat_3));
	ARR* v5;
	INT v6 = mw_std_array_zaArray_1_lenzo(in_zaArray_1, &v5);
	INT v7 = v6;
	INT v8 = in_Nat_3;
	bool v9 = int_lt(v8, v7);
	ARR* branch_zaArray_10;
	if (v9) {
		decref(in_a_2);
		ARR* v11;
		mw_std_array_zaArray_1_truncatezx(v5, in_Nat_3, &v11);
		branch_zaArray_10 = v11;
	} else {
		ARR* v12;
		mw_std_array_zaArray_1_expandzx(v5, in_a_2, in_Nat_3, &v12);
		branch_zaArray_10 = v12;
	}
	*out_zaArray_4 = branch_zaArray_10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rsi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rcx, -0x18(%rbp)
movq %rdi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x35c142(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x35060
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x35c11d(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0x35060
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x35c0f2(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x35060
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x35c0cd(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x35062
movq -0x20(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x35170
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0xae20
andb $0x1, %al
movb %al, -0x89(%rbp)
testb $0x1, -0x89(%rbp)
je 0x3512c
jmp 0x350ad
movq -0x8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x35106
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x10(%rbp), %rax
cmpq $0x0, %rax
je 0x35106
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x35106
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x10(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x35104
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x127c0
jmp 0x35106
jmp 0x35108
movq -0x70(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0xa0(%rbp), %rdx
callq 0x35260
movq -0xa0(%rbp), %rax
movq %rax, -0x98(%rbp)
jmp 0x35156
movq -0x70(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x8(%rbp), %rdx
movq -0x18(%rbp), %rcx
leaq -0xa8(%rbp), %r8
callq 0x352b0
movq -0xa8(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
addq $0xb0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_array_zaArray_1_lenzo
static INT mw_std_array_zaArray_1_lenzo (ARR* in_zaArray_1, ARR* *out_zaArray_2) {
	ARR* v4 = mw_std_array_zaArray_1_freezze(in_zaArray_1);
	incref(MKARR(v4));
	INT v5 = mw_std_prim_Array_1_len(v4);
	ARR* v6;
	mw_std_prim_Array_1_thaw(v4, &v6);
	*out_zaArray_2 = v6;
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x35310
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x35c4cc(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x3522e
movq -0x20(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x35c4a7(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x3522e
movq -0x20(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x35c47c(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x3522e
movq -0x20(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x35c457(%rip), %rax    # 0x391668
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 0x35230
movq -0x20(%rbp), %rdi
callq 0x35320
movq %rax, -0x8(%rbp)
movq -0x20(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x35360
movq -0x68(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_array_zaArray_1_truncatezx
static void mw_std_array_zaArray_1_truncatezx (ARR* in_zaArray_1, INT in_Nat_2, ARR* *out_zaArray_3) {
	ARR* v4 = mw_std_array_zaArray_1_freezze(in_zaArray_1);
	ARR* v5 = mw_std_prim_Array_1_prefix(in_Nat_2, v4);
	ARR* v6;
	mw_std_prim_Array_1_thaw(v5, &v6);
	*out_zaArray_3 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rsi, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x35310
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rsi
movq -0x8(%rbp), %rdi
callq 0x35b70
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x35360
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_std_array_zaArray_1_expandzx
static void mw_std_array_zaArray_1_expandzx (ARR* in_zaArray_1, VAL in_a_2, INT in_Nat_3, ARR* *out_zaArray_4) {
	ARR* v5 = mw_std_array_zaArray_1_freezze(in_zaArray_1);
	ARR* v6 = mw_std_prim_Array_1_expand(in_a_2, in_Nat_3, v5);
	ARR* v7;
	mw_std_prim_Array_1_thaw(v6, &v7);
	*out_zaArray_4 = v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rsi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rcx, -0x18(%rbp)
movq %rdi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x20(%rbp), %rdi
callq 0x35310
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rcx
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x37ca0
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x35360
movq -0x40(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
addq $0x40, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_prim_Array_1_len
static INT mw_std_prim_Array_1_len (ARR* in_Array_1) {
	uint64_t v3 = arr_len(in_Array_1);
	INT v4 = u64_to_int(v3);
	INT v5 = v4;
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x35730
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
callq 0x1b520
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: arr_free
static void arr_free (VAL v) {
    ARR* arr = VARR(v);
    if (arr) {
        if (TAG_HAS_REFS(arr->tag)) {
            for (USIZE i = 0; i < arr->size; i++) {
                VAL v = val_peek_(arr,i);
                decref(v);
            }
        }
        free(arr);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x35471
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x35468
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x35466
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x35630
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x35451
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x30(%rbp), %rax
cmpq $0x0, %rax
je 0x35451
movq -0x30(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x35451
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x30(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x3544f
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x127c0
jmp 0x35451
jmp 0x35453
jmp 0x35455
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x353d1
jmp 0x35468
movq -0x18(%rbp), %rdi
callq 0x5030
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: arr_trace_
static void arr_trace_(VAL v, int fd) {
    ARR* arr = VARR(v);
    if (!arr) {
        write(fd, "{}", 2);
    } else {
        USIZE n = arr->size;
        if (n > 16) n = 16;
        write(fd, "{ ", 2);
        for (size_t i = 0; i < arr->size; i++) {
            if (i > 0) write(fd, " ", 1);
            value_trace_(val_peek_(arr,i), fd);
        }
        write(fd, " }", 2);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x354bb
movl -0x14(%rbp), %edi
leaq 0x31ff0b(%rip), %rsi    # 0x3553b7
movl $0x2, %edx
callq 0x5060
jmp 0x35562
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
cmpq $0x10, -0x28(%rbp)
jbe 0x354d6
movq $0x10, -0x28(%rbp)
movl -0x14(%rbp), %edi
leaq 0x337a8f(%rip), %rsi    # 0x36cf6f
movl $0x2, %edx
callq 0x5060
movq $0x0, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x3554e
cmpq $0x0, -0x30(%rbp)
jbe 0x3551b
movl -0x14(%rbp), %edi
leaq 0x320095(%rip), %rsi    # 0x3555a6
movl $0x1, %edx
callq 0x5060
movq -0x20(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x35630
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movl -0x14(%rbp), %edx
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x5bc0
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
jmp 0x354f2
movl -0x14(%rbp), %edi
leaq 0x323d42(%rip), %rsi    # 0x35929a
movl $0x2, %edx
callq 0x5060
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: val_peek_
static VAL val_peek_(ARR* arr, USIZE i) {
    ASSERT(arr);
    ASSERT(i < arr->size);
    const TYPE* ty = PTRPTR(arr->tag);
    ASSERT(ty && ty->peek_);
    return ty->peek_(arr, i);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x35671
movl $0x2, %edi
leaq 0x31fcb8(%rip), %rsi    # 0x35530b
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x35673
jmp 0x35675
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jb 0x356ad
movl $0x2, %edi
leaq 0x31fcae(%rip), %rsi    # 0x35533d
movl $0x3b, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x356af
movq -0x18(%rbp), %rcx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq 0x20(%rcx), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x356d7
movq -0x28(%rbp), %rax
cmpq $0x0, 0x30(%rax)
jne 0x35701
movl $0x2, %edi
leaq 0x31fc96(%rip), %rsi    # 0x355379
movl $0x3d, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x35703
movq -0x28(%rbp), %rax
movq 0x30(%rax), %rax
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq *%rax
movq %rax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rdx
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: arr_len
static USIZE arr_len(ARR* arr) {
    if (!arr) return 0;
    USIZE n = arr->size;
    decref(MKARR(arr));
    return n;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x35750
movq $0x0, -0x8(%rbp)
jmp 0x35836
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x35befd(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x3582c
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x35bed4(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x3582c
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x35bea9(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x3582c
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x35be84(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x3582a
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x35be53(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x3582c
jmp 0x3582e
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: arr_thaw
static ARR* arr_thaw(ARR* arr) {
    if (arr) {
        return arr_reserve(arr, arr->tag, arr->size);
    } else {
        return NULL;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x35872
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rsi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdx
callq 0x35890
movq %rax, -0x8(%rbp)
jmp 0x3587a
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: arr_expand
static ARR* arr_expand(ARR* arr, USIZE n, VAL v) {
    if (!arr) return arr_new(v,n);
    if (arr->size >= n) { decref(v); return arr; }
    ASSERT(arr->tag == v.tag);
    arr = arr_reserve(arr, v.tag, n);
    USIZE m = arr->size;
    arr->size = n;
    val_poke_many_(arr,m,n,v);
    if (HAS_REFS(v)) {
        VREFS(v) += n - m - 1;
    }
    return arr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdx, -0x18(%rbp)
movq %rcx, -0x10(%rbp)
movq %rdi, -0x20(%rbp)
movq %rsi, -0x28(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x38549
movq -0x28(%rbp), %rdx
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x340b0
movq %rax, -0x8(%rbp)
jmp 0x3869c
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
cmpq -0x28(%rbp), %rax
jb 0x385c1
jmp 0x38559
movq -0x10(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x385b2
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x18(%rbp), %rax
cmpq $0x0, %rax
je 0x385b2
movq -0x18(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x385b2
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x18(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x385b0
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x127c0
jmp 0x385b2
jmp 0x385b4
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x3869c
jmp 0x385c3
movq -0x20(%rbp), %rax
movq 0x20(%rax), %rax
cmpq -0x10(%rbp), %rax
je 0x385fb
movl $0x2, %edi
leaq 0x31ced2(%rip), %rsi    # 0x3554af
movl $0x3f, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x385fd
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x35890
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x20(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %r8
callq 0x342b0
movq -0x10(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x38694
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x18(%rbp), %rax
cmpq $0x0, %rax
je 0x38694
movq -0x18(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x38694
movq -0x28(%rbp), %rdx
subq -0x30(%rbp), %rdx
subq $0x1, %rdx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x18(%rbp), %rax
movl (%rax), %ecx
addq %rdx, %rcx
movl %ecx, (%rax)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %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_std_array_zaArray_1_base
static void* mw_std_array_zaArray_1_base (ARR* in_zaArray_1, ARR* *out_zaArray_2) {
	ARR* v6 = mw_std_array_zaArray_1_freezze(in_zaArray_1);
	incref(MKARR(v6));
	void* v7 = arr_base(v6);
	ARR* v8;
	mw_std_prim_Array_1_thaw(v6, &v8);
	*out_zaArray_2 = v8;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x35310
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x358f8c(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x3876e
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x358f67(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x3876e
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x358f3c(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x3876e
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x358f17(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x38770
movq -0x18(%rbp), %rdi
callq 0x387a0
movq %rax, -0x60(%rbp)
movq -0x18(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x35360
movq -0x68(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x60(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: arr_base
static void* arr_base(ARR* arr) {
    ASSERT(arr && (arr->size > 0));
    ASSERT(!TAG_HAS_REFS(arr->tag));
    void* base = arr->data.u8s;
    decref(MKARR(arr));
    return base;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x387be
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
ja 0x387e8
movl $0x2, %edi
leaq 0x31cd25(%rip), %rsi    # 0x3554ef
movl $0x44, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x387ea
jmp 0x387ec
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x38828
movl $0x2, %edi
leaq 0x31cd2a(%rip), %rsi    # 0x355534
movl $0x45, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x3882a
movq -0x8(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x358e23(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x38906
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x358dfa(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x30(%rbp), %rax
cmpq $0x0, %rax
je 0x38906
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x358dcf(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movq -0x40(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x38906
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x358daa(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x38904
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x358d79(%rip), %rax    # 0x391668
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x127c0
jmp 0x38906
jmp 0x38908
movq -0x10(%rbp), %rax
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: mtp_std_terminal_SGRColor_Numbered
static INT mtp_std_terminal_SGRColor_Numbered (struct std_terminal_SGRColor in_SGRColor_1) {
	struct std_terminal_SGRColor_Numbered v3 = *in_SGRColor_1.ptr.Numbered;
	if (!--(in_SGRColor_1.ptr.Numbered->refs)) {
		free(in_SGRColor_1.ptr.Numbered);
	} else {
		incref(MKINT(v3.mInt));
	}
	return v3.mInt;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edi, -0x18(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x28(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x39630
movq -0x10(%rbp), %rdi
callq 0x5030
jmp 0x396d7
jmp 0x39632
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x357de7(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x396d3
movq -0x20(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x357dc2(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0x396d3
movq -0x20(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x357d97(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x396d3
movq -0x20(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x357d72(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x396d5
jmp 0x396d7
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_str_zaStr_pushzebytezeasciizx
static void mw_std_str_zaStr_pushzebytezeasciizx (enum std_byte_Byte in_Byte_1, STR* in_zaStr_2, STR* *out_zaStr_3) {
	struct std_maybe_Maybe_1 v4 = mw_std_byte_Byte_tozeasciizestr(in_Byte_1);
	STR* branch_zaStr_5;
	switch ((v4).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v6 = mtp_std_maybe_Maybe_1_Some(v4);
			STR* v7;
			mw_std_str_zaStr_pushzestrzx(value_str(v6), in_zaStr_2, &v7);
			branch_zaStr_5 = v7;
		} break;
		case std_maybe_Maybe_1_None: {
			branch_zaStr_5 = in_zaStr_2;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaStr_3 = branch_zaStr_5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl -0x4(%rbp), %edi
callq 0x39ba0
movl %eax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movl -0x28(%rbp), %eax
movl %eax, -0x4c(%rbp)
testl %eax, %eax
je 0x39a43
jmp 0x399fe
movl -0x4c(%rbp), %eax
subl $0x1, %eax
jne 0x39a4d
jmp 0x39a08
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x174a0
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0xb980
movq %rax, %rdi
movq -0x10(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0xb940
movq -0x48(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x39a66
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x39a66
leaq 0x31a42d(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_argzeparser_types_ArgpOptionType_haszeshortzy
static bool mw_argzeparser_types_ArgpOptionType_haszeshortzy (struct argzeparser_types_ArgpOptionType in_ArgpOptionType_1) {
	bool branch_Bool_3;
	switch ((in_ArgpOptionType_1).tag) {
		case argzeparser_types_ArgpOptionType_Short: {
			enum std_byte_Byte v4 = mtp_argzeparser_types_ArgpOptionType_Short(in_ArgpOptionType_1);
			bool v5 = true;
			branch_Bool_3 = v5;
		} break;
		default: {
			decref(MK_argzeparser_types_ArgpOptionType(in_ArgpOptionType_1));
			bool v6 = false;
			branch_Bool_3 = v6;
		} break;
	}
	return branch_Bool_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl -0x10(%rbp), %eax
testl %eax, %eax
jne 0x39abb
jmp 0x39a9b
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x17460
movl %eax, -0x18(%rbp)
movb $0x1, -0x19(%rbp)
movb -0x19(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x39b8c
jmp 0x39abd
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x133e0
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x39b7e
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x133e0
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x39b7e
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x133e0
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x39b7e
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x133e0
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 0x39b7c
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x133e0
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x39b7e
jmp 0x39b80
movb $0x0, -0x71(%rbp)
movb -0x71(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
movb -0x11(%rbp), %al
andb $0x1, %al
addq $0x80, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_argzeparser_types_zaArgumentParser_1_zaArgumentParser
static void mtp_argzeparser_types_zaArgumentParser_1_zaArgumentParser (struct argzeparser_types_zaArgumentParser_1* in_zaArgumentParser_1, struct argzeparser_types_ArgumentParser_1* *out_ArgumentParser_2, struct argzeparser_state_State_1* *out_State_3) {
	struct argzeparser_types_zaArgumentParser_1 v4 = *in_zaArgumentParser_1;
	free(in_zaArgumentParser_1);
	*out_State_3 = v4.mstate;
	*out_ArgumentParser_2 = v4.margumentzeparser;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x28(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5030
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_LexicalState_LexicalState
static struct mirth_mirth_LexicalState* mtw_mirth_mirth_LexicalState_LexicalState (struct std_maybe_Maybe_1 in_Maybe_1, struct std_maybe_Maybe_1 in_Maybe_2) {
	struct mirth_mirth_LexicalState* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->mdefiningzenamespace = in_Maybe_2;
	v4->merrorzetoken = in_Maybe_1;
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl %edx, -0x20(%rbp)
movq %rcx, -0x18(%rbp)
movl $0x1, %edi
movl $0x28, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x3a57a
movl $0x2, %edi
leaq 0x31b10f(%rip), %rsi    # 0x35566b
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x3a57c
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x20(%rax)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x28(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_name_zaNameHashMap_New
static void mw_mirth_name_zaNameHashMap_New (ARR* *out_zaNameHashMap_1) {
	uint64_t v2 = 0ULL;
	INT v3 = WRAP_I63(65536LL);
	ARR* v4;
	mw_std_array_zaArray_1_New(MKU64(v2), v3, &v4);
	*out_zaNameHashMap_1 = v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movq 0x33449d(%rip), %rax    # 0x36ea78
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x356e82(%rip), %rax    # 0x391470
movq %rax, -0x28(%rbp)
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x20(%rbp), %rcx
callq 0x33810
movq -0x20(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, (%rax)
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)