// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_mirth_zaMirth_Initzx
static void mw_mirth_mirth_zaMirth_Initzx (struct mirth_mirth_zaMirth* *out_zaMirth_1) {
	INT v2 = WRAP_I63(0LL);
	INT v3 = WRAP_I63(0LL);
	INT v4 = WRAP_I63(0LL);
	bool v5 = false;
	struct std_maybe_Maybe_1 v6 = { .tag=std_maybe_Maybe_1_None };
	struct std_maybe_Maybe_1 v7 = { .tag=std_maybe_Maybe_1_None };
	struct std_list_List_1 v8 = { .tag=std_list_List_1_Nil };
	struct std_list_List_1 v9;
	mw_std_list_zaLister_1_zaNil(&v9);
	struct std_list_List_1 v10;
	mw_std_list_zaLister_1_zaNil(&v10);
	struct std_maybe_Maybe_1 v11 = { .tag=std_maybe_Maybe_1_None };
	struct std_maybe_Maybe_1 v12 = { .tag=std_maybe_Maybe_1_None };
	struct mirth_mirth_LexicalState* v13 = mtw_mirth_mirth_LexicalState_LexicalState(v11, v12);
	ARR* v14;
	mw_mirth_name_zaNameHashMap_New(&v14);
	struct mirth_mirth_zaMirth* v15;
	mtw_mirth_mirth_zaMirth_zaMirth(v2, v3, v6, v7, v8, v5, v13, v4, v9, v10, v14, &v15);
	struct mirth_mirth_zaMirth* v16;
	struct mirth_mirth_Builtin* v17 = mw_mirth_mirth_Builtin_Alloczx(v15, &v16);
	struct mirth_mirth_zaMirth* v18;
	mw_mirth_mirth_zaMirth_builtinzx(v16, v17, &v18);
	struct mirth_mirth_zaMirth* v19;
	mw_mirth_mirth_zaMirth_initzepackageszx(v18, &v19);
	struct mirth_mirth_zaMirth* v20;
	mw_mirth_mirth_zaMirth_initzemoduleszx(v19, &v20);
	struct mirth_mirth_zaMirth* v21;
	mw_mirth_mirth_zaMirth_initzetypeszx(v20, &v21);
	struct mirth_mirth_zaMirth* v22;
	mw_mirth_mirth_zaMirth_initzeprimszx(v21, &v22);
	struct mirth_mirth_zaMirth* v23;
	mw_mirth_mirth_zaMirth_initzemacroszx(v22, &v23);
	*out_zaMirth_1 = v23;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x158, %rsp            # imm = 0x158
movq %rdi, -0x30(%rbp)
movq 0x366d91(%rip), %rax    # 0x36ea50
movq %rax, -0x38(%rbp)
movq 0x366d86(%rip), %rax    # 0x36ea50
movq %rax, -0x40(%rbp)
movq 0x366d7b(%rip), %rax    # 0x36ea50
movq %rax, -0x48(%rbp)
movb $0x0, -0x49(%rbp)
leaq -0x60(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
leaq -0x70(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
leaq -0x80(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
leaq -0x90(%rbp), %rdi
callq 0x3a4e0
leaq -0xa0(%rbp), %rdi
callq 0x3a4e0
leaq -0xb0(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
leaq -0xc0(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movl -0xb0(%rbp), %edi
movq -0xa8(%rbp), %rsi
movl -0xc0(%rbp), %edx
movq -0xb8(%rbp), %rcx
callq 0x3a520
movq %rax, -0xc8(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x3a5c0
movb -0x49(%rbp), %r12b
movq -0xc8(%rbp), %r15
movq -0xd0(%rbp), %r10
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
movl -0x60(%rbp), %edx
movq -0x58(%rbp), %rcx
movl -0x70(%rbp), %r8d
movq -0x68(%rbp), %r9
movq -0x48(%rbp), %r14
leaq -0x80(%rbp), %r13
leaq -0x90(%rbp), %rbx
leaq -0xa0(%rbp), %r11
leaq -0xd8(%rbp), %rax
movq %rax, -0x120(%rbp)
andb $0x1, %r12b
movq (%r13), %rax
movq %rax, (%rsp)
movq -0x120(%rbp), %rax
movq 0x8(%r13), %r13
movq %r13, 0x8(%rsp)
movzbl %r12b, %r12d
movl %r12d, 0x10(%rsp)
movq %r15, 0x18(%rsp)
movq %r14, 0x20(%rsp)
movq (%rbx), %r14
movq %r14, 0x28(%rsp)
movq 0x8(%rbx), %rbx
movq %rbx, 0x30(%rsp)
movq (%r11), %rbx
movq %rbx, 0x38(%rsp)
movq 0x8(%r11), %r11
movq %r11, 0x40(%rsp)
movq %r10, 0x48(%rsp)
movq %rax, 0x50(%rsp)
callq 0x3a620
movq -0xd8(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x3a7b0
movq %rax, -0xe8(%rbp)
movq -0xe0(%rbp), %rdi
movq -0xe8(%rbp), %rsi
leaq -0xf0(%rbp), %rdx
callq 0x3afc0
movq -0xf0(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0x3b120
movq -0xf8(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x3b3f0
movq -0x100(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x3b850
movq -0x108(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x3be50
movq -0x110(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x3c330
movq -0x118(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)