// File: /workspace/github_c_makefile_star2_O2/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_mirth_zaMirth_initzemacroszx_20
static void mb_mirth_mirth_zaMirth_initzemacroszx_20 (void) {
	struct mirth_arrow_Arrow* r0 = V_mirth_arrow_Arrow(pop_resource());
	struct mirth_mirth_zaMirth* r1 = V_mirth_mirth_zaMirth(pop_resource());
	struct mirth_mirth_zaMirth* v2;
	struct mirth_arrow_Arrow* v3;
	mw_mirth_elab_elabzeatomzelambdazx(r1, r0, &v2, &v3);
	push_resource(MK_mirth_mirth_zaMirth(v2));
	push_resource(MK_mirth_arrow_Arrow(v3));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x138, %rsp            # imm = 0x138
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
movq %rax, -0x90(%rbp)
callq 0xd429
movq %rax, %rbx
callq 0xd429
movq %rax, %r14
leaq -0x130(%rbp), %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3f5b0
leaq -0x128(%rbp), %r13
movq %r14, %rdi
movq %rax, %rsi
movq %r13, %rdx
callq 0x2fb57
movq %rax, %r12
xorl %edi, %edi
xorl %esi, %esi
callq 0xcd32
movl %eax, %ecx
movq (%r13), %r14
movq (%r15), %rax
movl %ecx, %r15d
movq %rax, -0xa8(%rbp)
movb $0x1, %al
leaq -0x68(%rbp), %r13
leaq -0x88(%rbp), %rbx
testb $0x1, %al
je 0x23937
movq %rdx, -0x78(%rbp)
movq %r14, %rdi
movq %r12, %rsi
movq %r13, %rdx
callq 0x732fc
cmpl $0x1, %eax
jne 0x2373b
movq %rdx, %rdi
callq 0xd491
movq %rax, -0x30(%rbp)
movq -0x68(%rbp), %rdi
movq %r12, %rsi
movq %r13, %r14
movq %r12, %r13
leaq -0x40(%rbp), %r12
movq %r12, %rdx
callq 0x24a81
movq -0x40(%rbp), %rdi
movq %r13, %rsi
movq %r14, %r13
leaq -0x58(%rbp), %rdx
callq 0x2598b
movq %rax, -0x48(%rbp)
movq -0x58(%rbp), %rdi
movq %rbx, %rsi
callq 0x3a2e1
movq -0x88(%rbp), %rdi
pushq $0x3
popq %rsi
movq %rax, %rdx
movq -0x30(%rbp), %rcx
leaq -0xa0(%rbp), %r8
callq 0x1c742
movq %rax, %rdi
leaq 0xe537c(%rip), %rsi     # 0x108aa0
callq 0x8d0c
movq %rdx, %rcx
movq -0xa0(%rbp), %r14
pushq $0x1
popq %rax
jmp 0x2390e
movl %r15d, -0x30(%rbp)
movq -0x68(%rbp), %rdi
movq %r12, %rsi
leaq -0x40(%rbp), %rdx
callq 0x3121d
movl %eax, %r14d
movq %rdx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0x2378b
decl (%rax)
jne 0x2378b
movq %r14, %rdi
shlq $0x30, %rdi
orq %rdx, %rdi
leaq 0xe4b3b(%rip), %rsi     # 0x1082c1
callq 0xce94
movq %r14, %rdi
callq 0xd86d
movq %rax, %rdi
pushq $0x1
popq %rsi
callq 0xd759
movl %eax, %r15d
movq -0x40(%rbp), %rdi
movq 0x10e8c4c(%rip), %rax   # 0x110c3f8
leaq 0x1(%r12), %r13
cmpq %r12, %rax
movl $0x0, %ecx
cmovaq %r13, %rcx
leaq 0x1(%rcx), %rsi
cmpq %rcx, %rax
movl $0x0, %eax
cmovbeq %rax, %rsi
leaq -0x58(%rbp), %rdx
callq 0x6cefd
movl %eax, %r14d
movq %rdx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0x23812
decl (%rax)
jne 0x23812
movq %r14, %rdi
shlq $0x30, %rdi
orq %rdx, %rdi
leaq 0xe4ab4(%rip), %rsi     # 0x1082c1
callq 0xce94
movq %r14, %rdi
callq 0xd86d
movq %rax, %rdi
pushq $0x1
popq %rsi
callq 0xd759
orb %al, %r15b
movq -0x58(%rbp), %r14
testb $0x1, %r15b
je 0x2383d
movq %r12, -0x48(%rbp)
xorl %eax, %eax
jmp 0x23900
cmpq %r12, 0x10e8bb4(%rip)   # 0x110c3f8
movl $0x0, %esi
cmovaq %r13, %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x732fc
movq -0x88(%rbp), %r14
cmpl $0x1, %eax
jne 0x238fc
movq %rbx, %r15
movq %rdx, %rdi
callq 0xd491
cmpq %r12, 0x10e8b7e(%rip)   # 0x110c3f8
movq %rax, -0x70(%rbp)
movl $0x0, %eax
cmovbeq %rax, %r13
movq %r14, %rdi
movq %r13, %rsi
movq %r12, %rbx
leaq -0x40(%rbp), %r12
movq %r12, %rdx
callq 0x24a81
movq -0x40(%rbp), %rdi
movq %rbx, %rsi
leaq -0x58(%rbp), %rdx
callq 0x2598b
movq %rax, -0x48(%rbp)
movq -0x58(%rbp), %rdi
movq %r15, %rsi
callq 0x4564b
movq -0x88(%rbp), %rdi
movq %rax, %rsi
movq -0x70(%rbp), %rdx
leaq -0xa0(%rbp), %rcx
callq 0x3e9ac
movq %rax, %rdi
leaq 0xe51c0(%rip), %rsi     # 0x108aa0
callq 0x8d0c
movq %rdx, %rcx
movq -0xa0(%rbp), %r14
pushq $0x1
popq %rax
movl -0x30(%rbp), %r15d
leaq -0x68(%rbp), %r13
jmp 0x2390e
movq %r12, -0x48(%rbp)
xorl %ecx, %ecx
movl -0x30(%rbp), %r15d
leaq -0x68(%rbp), %r13
leaq -0x40(%rbp), %r12
movl %r15d, %edi
movq -0x78(%rbp), %rsi
movl %eax, %edx
movq %r12, %r8
callq 0x498f9
movl -0x40(%rbp), %r15d
movq -0x38(%rbp), %rdx
leaq -0x88(%rbp), %rbx
movq -0x48(%rbp), %r12
jmp 0x23692
movl %r15d, %edi
movq %rdx, %rsi
callq 0xcd32
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
leaq -0x58(%rbp), %rdx
movq %r14, %rdi
movq %r12, %rsi
callq 0x31601
testb %al, %al
je 0x23bdd
movq %r12, %rbx
movq -0x58(%rbp), %rdi
movq 0x10e8a8a(%rip), %rax   # 0x110c3f8
movq %rax, -0x78(%rbp)
leaq -0xd0(%rbp), %rsi
callq 0x3a29b
movq %rax, -0x70(%rbp)
movq -0x38(%rbp), %rcx
movq %rcx, %rax
movabsq $0xfffffffffffc, %rdx   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rax
sete %dl
testb $0x3, %cl
setne %cl
orb %dl, %cl
jne 0x239a5
incl (%rax)
leaq -0x120(%rbp), %r14
movq -0xa8(%rbp), %rdi
movq %r14, %rsi
callq 0x3f60a
movl %eax, %r13d
movq %rdx, %r15
movq (%r14), %rdi
leaq -0x118(%rbp), %r14
movq %r14, %rsi
callq 0x3f687
movq %rdx, %r9
movq -0xd0(%rbp), %rdi
movq (%r14), %rsi
movups -0x40(%rbp), %xmm0
movups %xmm0, (%rsp)
leaq -0x58(%rbp), %rcx
movq %rcx, 0x20(%rsp)
leaq -0x110(%rbp), %r12
movq %r12, 0x18(%rsp)
leaq -0xc8(%rbp), %rcx
movq %rcx, 0x10(%rsp)
movl %r13d, %edx
movq %r15, %rcx
movl %eax, %r8d
callq 0x3f704
movl %eax, -0x48(%rbp)
movq %rdx, -0x30(%rbp)
movl -0x58(%rbp), %edi
movq -0x50(%rbp), %rsi
pushq $0x4
popq %rdx
movq -0x70(%rbp), %rcx
callq 0x1e896
movq %rax, %r14
movq (%r12), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x3fa30
movl %eax, %r12d
movq %rdx, %r13
leaq -0x88(%rbp), %r15
leaq -0x68(%rbp), %rdx
movq %r14, %rdi
movq %r15, %rsi
callq 0x36e55
movq 0x8(%r15), %rax
movabsq $0xfffffffffffc, %rdx   # imm = 0xFFFFFFFFFFFC
andq %rax, %rdx
sete %cl
testb $0x3, %al
setne %al
orb %cl, %al
jne 0x23a7f
incl (%rdx)
leaq 0x1(%rbx), %rcx
xorl %eax, %eax
cmpq %rbx, -0x78(%rbp)
cmovbeq %rax, %rcx
xorps %xmm0, %xmm0
movaps %xmm0, -0xa0(%rbp)
movups %xmm0, 0x20(%rsp)
movups -0x88(%rbp), %xmm0
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
movl %r12d, %edi
movq %r13, %rsi
movq %rcx, %rdx
movl -0x48(%rbp), %r8d
movq -0x30(%rbp), %r9
callq 0x3f209
movq -0xc8(%rbp), %rdi
leaq -0x108(%rbp), %rbx
leaq -0x100(%rbp), %r14
movq %rax, %rsi
movq %rbx, %rdx
movq %r14, %rcx
callq 0x469df
movq (%rbx), %rdi
movq (%r14), %rsi
movl -0x68(%rbp), %edx
movq -0x60(%rbp), %rcx
leaq -0xb8(%rbp), %r8
leaq -0xb0(%rbp), %r9
callq 0x3faad
movq -0xc0(%rbp), %rdi
leaq -0xf8(%rbp), %r15
movq %r15, %rsi
callq 0x3f60a
movl %eax, %r12d
movq %rdx, %r13
movq (%r15), %rdi
leaq -0xf0(%rbp), %r15
movq %r15, %rsi
callq 0x3f687
movl %eax, %ebx
movq %rdx, %r14
movq (%r15), %rdi
leaq -0xe8(%rbp), %r15
movq %r15, %rsi
callq 0x3f5b0
leaq -0xb0(%rbp), %rcx
movq (%rcx), %r9
movups -0x40(%rbp), %xmm0
movups %xmm0, (%rsp)
movq %rax, %rdi
movl %r12d, %esi
movq %r13, %rdx
movl %ebx, %ecx
movq %r14, %r8
callq 0x3fba0
movq %rax, %rdi
callq 0x3fc2c
leaq -0xb8(%rbp), %rcx
movq (%rcx), %rdi
movq (%r15), %rsi
leaq -0xd8(%rbp), %rbx
movq %rbx, 0x8(%rsp)
leaq -0xe0(%rbp), %r14
movq %r14, (%rsp)
pushq $0x8
popq %r8
xorl %edx, %edx
xorl %ecx, %ecx
movq %rax, %r9
callq 0x3fc75
movq (%rbx), %rbx
movq (%r14), %rdi
leaq 0xe4d38(%rip), %rsi     # 0x1088f0
callq 0x883c
leaq 0xe57dd(%rip), %rsi     # 0x1093a1
movq %rbx, %rdi
addq $0x138, %rsp            # imm = 0x138
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x883c
movq 0x10e9814(%rip), %rdx   # 0x110d3f8
testq %rdx, %rdx
jne 0x23c02
leaq 0xb892e(%rip), %rdi     # 0xdc51e
pushq $0xf
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x10e97f6(%rip)   # 0x110d3f8
andq %rdx, -0x90(%rbp)
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x23c1f
movq -0x90(%rbp), %rax
incl (%rax)
movq -0x58(%rbp), %rdi
movq %r12, %rsi
callq 0x246fe