// File: /workspace/github_c_makefile_star2_O2/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_elabzemodulezx
static uint64_t mw_mirth_elab_elabzemodulezx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Module_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v7;
	uint64_t v8 = mw_mirth_module_Module_start(in_zaMirth_1, in_Module_2, &v7);
	struct mirth_mirth_zaMirth* v9;
	uint64_t v10 = mw_mirth_elab_elabzemodulezeheaderzx(v7, v8, &v9);
	struct mirth_name_Namespace v11 = mtw_mirth_name_Namespace_Module(in_Module_2);
	struct mirth_mirth_PropLabel v12 = { .tag=mirth_mirth_PropLabel_DefiningNamespace };
	struct mirth_mirth_zaMirth* v13;
	struct mirth_mirth_Prop_1* v14 = mw_mirth_mirth_PropLabel_prop(v9, MK_mirth_name_Namespace(v11), v12, &v13);
	struct std_maybe_Maybe_1 v15 = mtw_std_maybe_Maybe_1_Some(MK_mirth_mirth_Prop_1(v14));
	struct mirth_mirth_LexicalState* v16 = v13->mlexicalzestate;
	incref(MK_mirth_mirth_LexicalState(v16));
	incref(MK_mirth_mirth_LexicalState(v16));
	struct std_maybe_Maybe_1 v17 = v16->mdefiningzenamespace;
	incref(MK_std_maybe_Maybe_1(v17));
	decref(MK_mirth_mirth_LexicalState(v16));
	struct mirth_mirth_LexicalState* v18 = mirth_mirth_LexicalState_set_definingzenamespace(v16, v15);
	struct mirth_mirth_LexicalState* v19 = v13->mlexicalzestate;
	decref(MK_mirth_mirth_LexicalState(v19));
	v13->mlexicalzestate = v18;
	struct mirth_mirth_zaMirth* v20;
	uint64_t v21 = mw_mirth_elab_elabzedeclszx(v13, v10, &v20);
	struct mirth_mirth_zaMirth* v22;
	bool v23 = mw_mirth_token_Token_modulezeendzy(v20, v21, &v22);
	struct mirth_mirth_zaMirth* branch_zaMirth_24;
	uint64_t branch_Token_25;
	if (v23) {
		branch_Token_25 = v21;
		branch_zaMirth_24 = v22;
	} else {
		STR* v26;
		STRLIT(v26, "Unexpected token in module.", 27);
		mw_mirth_mirth_zaMirth_emitzefatalzeerrorzx(v22, v21, v26);
	}
	struct mirth_mirth_LexicalState* v29 = branch_zaMirth_24->mlexicalzestate;
	incref(MK_mirth_mirth_LexicalState(v29));
	struct mirth_mirth_LexicalState* v30 = mirth_mirth_LexicalState_set_definingzenamespace(v29, v17);
	struct mirth_mirth_LexicalState* v31 = branch_zaMirth_24->mlexicalzestate;
	decref(MK_mirth_mirth_LexicalState(v31));
	branch_zaMirth_24->mlexicalzestate = v30;
	*out_zaMirth_3 = branch_zaMirth_24;
	return in_Module_2;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xe8, %rsp
movq %rdx, %r12
movabsq $0xfffffffffffc, %r15   # imm = 0xFFFFFFFFFFFC
leaq -0xf0(%rbp), %rbx
movq %rsi, -0xc0(%rbp)
movq %rbx, %rdx
callq 0x80fd0
movq %rax, %r14
movq (%rbx), %rdi
leaq -0x108(%rbp), %rbx
movq %rax, %rsi
movq %rbx, %rdx
callq 0x19434
movq %rax, %r13
movq (%rbx), %rdi
leaq -0xe8(%rbp), %rbx
movq %r14, %rsi
movq %rbx, %rdx
callq 0x2ec51
movl %eax, -0x68(%rbp)
movq %rdx, -0xd8(%rbp)
movq (%rbx), %rdi
leaq -0xe0(%rbp), %rbx
movq %r14, %rsi
movq %rbx, %rdx
callq 0x2df0c
movq (%rbx), %rdi
leaq -0x38(%rbp), %rbx
movq %r14, %rsi
movq %rbx, %rdx
callq 0x252f3
movq (%rbx), %rbx
movl %eax, %edi
movq %rdx, %rsi
callq 0x2e190
cmpl $0x1, %eax
movq %r15, -0x40(%rbp)
jne 0x76588
movq %rdx, %rdi
callq 0xd491
leaq -0x58(%rbp), %rdx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x1c901
movq %rax, %rbx
movq 0x10981c6(%rip), %rsi   # 0x110d730
testq %rsi, %rsi
jne 0x75588
leaq 0x62a2e(%rip), %rdi     # 0xd7fa4
pushq $0x6
popq %rsi
callq 0x8a21
movq %rax, %rsi
movq %rax, 0x10981a8(%rip)   # 0x110d730
movq %rsi, %rax
andq %r15, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x7559e
incl (%rax)
movq %rbx, %rdi
callq 0xd769
movq -0x58(%rbp), %rbx
testl %eax, %eax
jne 0x76588
movq %r13, -0x70(%rbp)
leaq -0x98(%rbp), %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x24ee3
pushq $0x1
popq %rdi
movq %rax, %rsi
callq 0x89cc
testb %al, %al
movq %r12, -0xd0(%rbp)
je 0x75670
movq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rbx
movq %r14, %rsi
movq %rbx, %rdx
callq 0x2598b
movq %rax, %r13
movq (%rbx), %rdi
leaq -0x38(%rbp), %rbx
movq %r14, %rsi
movq %rbx, %rdx
callq 0x2fb57
movq %rax, %r15
movq (%rbx), %rdi
leaq -0x30(%rbp), %rbx
leaq -0x60(%rbp), %rcx
movq %rax, %rsi
movq %rbx, %rdx
callq 0x80ff9
movq %rax, -0xb8(%rbp)
movq (%rbx), %rdi
leaq -0x80(%rbp), %r14
movq %r15, -0x90(%rbp)
movq %r15, %rsi
movq %r14, %rdx
callq 0x2598b
movq %rax, %rbx
movq (%r14), %rdi
leaq -0x88(%rbp), %rdx
movq %rax, %rsi
callq 0x258e2
testb %al, %al
je 0x76666
movq -0x88(%rbp), %rdi
movq -0x60(%rbp), %rax
jmp 0x756c8
movq -0x98(%rbp), %rdi
xorl %r15d, %r15d
cmpq %r14, 0x1096d77(%rip)   # 0x110c3f8
leaq 0x1(%r14), %rax
cmovaq %rax, %r15
leaq -0x58(%rbp), %rbx
leaq -0x38(%rbp), %r14
movq %r15, %rsi
movq %rbx, %rdx
movq %r14, %rcx
callq 0x80ff9
movq %rax, -0xb8(%rbp)
movq (%rbx), %rdi
leaq -0x30(%rbp), %rbx
movq %r15, -0x90(%rbp)
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2598b
movq %rax, %r13
movq (%rbx), %rdi
movq (%r14), %rax
movq %rax, -0xb0(%rbp)
leaq -0x88(%rbp), %rbx
movq %r13, %rsi
movq %rbx, %rdx
callq 0x81367
movq (%rbx), %r12
leaq -0x58(%rbp), %r15
leaq -0x38(%rbp), %rbx
xorl %r14d, %r14d
movq $0x0, -0x48(%rbp)
testb $0x1, %al
je 0x757f9
movq %r12, %rdi
movq %r13, %rsi
movq %r15, %rdx
callq 0x81367
testb %al, %al
je 0x764ec
movl %r14d, -0x78(%rbp)
movq -0x58(%rbp), %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x24ee3
pushq $0x1
popq %rdi
movq %rax, %rsi
callq 0x89cc
testb %al, %al
je 0x75799
movq %r13, %r14
movq %r15, %rbx
movq -0x38(%rbp), %rdi
movq %r13, %rsi
leaq -0x30(%rbp), %rdx
callq 0x2598b
movq %rax, %r13
movq -0x30(%rbp), %rdi
movq %r14, %rsi
leaq -0x60(%rbp), %rdx
callq 0x2fb57
movq %rax, %r12
movq -0x60(%rbp), %rdi
leaq 0x1(%rax), %r15
cmpq %rax, 0x1096c86(%rip)   # 0x110c3f8
movl $0x0, %esi
cmovaq %r15, %rsi
leaq -0x80(%rbp), %rdx
callq 0x258e2
movq -0x80(%rbp), %r14
testb %al, %al
je 0x76534
movq %rbx, %r15
leaq -0x38(%rbp), %rbx
jmp 0x757c4
movq -0x38(%rbp), %rdi
cmpq %r13, 0x1096c54(%rip)   # 0x110c3f8
leaq 0x1(%r13), %r12
movl $0x0, %eax
cmovbeq %rax, %r12
movq %r12, %rsi
leaq -0x30(%rbp), %rdx
callq 0x2598b
movq %rax, %r13
movq -0x30(%rbp), %r14
movq %r12, %rdi
leaq 0x935ea(%rip), %rsi     # 0x108db8
movl -0x78(%rbp), %edx
movq -0x48(%rbp), %rcx
callq 0xcf39
movq %rdx, -0x48(%rbp)
movq %r14, %rdi
movq %r13, %rsi
movq %r15, %rdx
callq 0x81367
movq -0x58(%rbp), %r12
pushq $0x1
popq %r14
jmp 0x756f7
movl %r14d, %edi
movq -0x48(%rbp), %rsi
callq 0xcd32
movq %rax, -0xa8(%rbp)
movq %rdx, -0xa0(%rbp)
leaq -0x58(%rbp), %rbx
movq %r12, %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x32294
xorl %edx, %edx
cmpq %r13, 0x1096bca(%rip)   # 0x110c3f8
leaq 0x1(%r13), %rcx
cmovaq %rcx, %rdx
movq (%rbx), %rdi
testb %al, %al
cmoveq %r13, %rdx
movq %rdx, -0x78(%rbp)
leaq -0xe0(%rbp), %rbx
movq -0xb0(%rbp), %rsi
movq -0x70(%rbp), %r15
movq %r15, %rdx
movq %rbx, %rcx
callq 0x1a22c
movq (%rbx), %rdi
leaq -0x98(%rbp), %rbx
movl -0x68(%rbp), %esi
movq -0xd8(%rbp), %rdx
movq %r15, %rcx
movq %rbx, %r8
callq 0x1a26e
movq (%rbx), %rdi
leaq -0x88(%rbp), %rbx
movq -0xb8(%rbp), %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x1a1ea
movq (%rbx), %rdi
leaq -0x100(%rbp), %rbx
movq %r15, %rsi
movq %rbx, %rdx
callq 0x13f85
movq (%rbx), %rdi
leaq -0xc8(%rbp), %rdx
movq %rax, %rsi
callq 0x2f60f
testb %al, %al
jne 0x765cf
movq -0xc8(%rbp), %rbx
leaq 0x1097e98(%rip), %rdi   # 0x110d770
movq %r15, %rsi
callq 0x12f88
leaq 0x934d1(%rip), %rsi     # 0x108db8
movq -0x90(%rbp), %rdi
movq %rax, %rdx
callq 0x1393b
movq %r15, %rdi
callq 0x1a2b9
pushq $0x1
popq %rsi
leaq -0xf8(%rbp), %r14
movq %rbx, %rdi
movq %rax, %rdx
movq %r14, %rcx
callq 0x127fd
movq (%r14), %rdi
leaq -0x38(%rbp), %rdx
movq %r15, %rsi
callq 0x195ca
movq %rax, %rdi
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
andq %r13, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x75945
incl (%rax)
movq %rdi, -0x48(%rbp)
callq 0xdb65
movq %rax, %rdi
callq 0xdbc8
movq %rax, %rbx
pushq $0x1
popq %rdi
movq %rdi, %rsi
callq 0xd759
testb %al, %al
je 0x7598d
movq %rbx, %rax
andq %r13, %rax
sete %cl
movq %rbx, %r15
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0x75980
incl (%rax)
pushq $0x1
popq %rdi
movq %r15, %rsi
callq 0x89cc
jmp 0x75992
movq %rbx, %r15
xorl %eax, %eax
xorl %r14d, %r14d
testb $0x1, %al
je 0x75b0c
movq %r14, %rax
andq %r13, %rax
sete %cl
testb $0x3, %r14b
setne %dl
orb %cl, %dl
jne 0x759c4
decl (%rax)
jne 0x759c4
movq %r14, %rdi
leaq 0x92902(%rip), %rsi     # 0x1082c1
callq 0xce94
movq %r15, %rdi
pushq $0x3
popq %rsi
callq 0xe191
movq %rax, %r12
andq %r13, %r12
movq %rax, %r13
setne %al
testb $0x3, %r13b
sete %bl
andb %al, %bl
cmpb $0x1, %bl
jne 0x759ed
incl (%r12)
movq %r13, %rdi
movq -0x48(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0xdc09
movl %eax, %r14d
callq 0x7b582
cmpl $0x3, %eax
ja 0x764d5
movl %eax, %eax
leaq 0x5db6d(%rip), %rcx     # 0xd3584
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
movl %r14d, %r15d
jmpq *%rax
pushq $0x2f
popq %r14
movq %r15, %rdi
callq 0xd86d
movq %rax, %rdi
callq 0xdc43
movzbl %al, %eax
cmpl %r14d, %eax
je 0x75a61
movq %r13, %r15
xorl %r13d, %r13d
xorl %edx, %edx
jmp 0x75a7f
movq %r15, %rdi
callq 0xd86d
movq %rax, %rdi
callq 0xdc43
pushq $0x5c
popq %r14
cmpb $0x2f, %al
jne 0x75a27
testb %bl, %bl
je 0x75a69
incl (%r12)
movq %r13, %r15
movq %r13, %rdi
leaq 0x929b3(%rip), %rsi     # 0x108429
callq 0x8d0c
pushq $0x1
popq %r13
movq -0x58(%rbp), %rax
movq %rax, -0x48(%rbp)
movq %r13, %r14
shlq $0x30, %r14
orq %rdx, %r14
movq %rdx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dl
setne %dl
orb %cl, %dl
jne 0x75ac2
cmpl $0x0, (%rax)
jne 0x75ac2
movq %r14, %rdi
leaq 0x92804(%rip), %rsi     # 0x1082c1
callq 0xce94
movq %r13, %rdi
callq 0xd86d
movq %rax, %rdi
pushq $0x1
popq %rsi
callq 0xd759
testb %al, %al
je 0x75afb
testb %bl, %bl
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
je 0x75aeb
incl (%r12)
pushq $0x1
popq %rdi
movq %r15, %rsi
callq 0x89cc
jmp 0x75995
xorl %eax, %eax
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
jmp 0x75995
movq %r15, %rdx
movq %r15, %rax
andq %r13, %rax
sete %cl
testb $0x3, %dl
setne %dl
orb %cl, %dl
jne 0x75b35
decl (%rax)
jne 0x75b35
movq %r15, %rdi
leaq 0x928f9(%rip), %rsi     # 0x108429
callq 0xce94
movq %r14, %rsi
shrq $0x30, %rsi
andq %r13, %r14
leaq -0x58(%rbp), %rbx
movq -0x48(%rbp), %rdi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x81b7f
movq %rax, %r15
movl (%rbx), %eax
cmpl $0x1, %eax
movq %r15, -0x68(%rbp)
je 0x75c3f
testl %eax, %eax
jne 0x764d5
movq -0x38(%rbp), %rdi
movq -0x70(%rbp), %rsi
movq %rbx, %rdx
callq 0x13f85
movq (%rbx), %rsi
leaq -0x30(%rbp), %rdx
movq %rax, %rdi
callq 0x81410
movq %rax, %r12
movq %rax, %rcx
movq %r15, %r13
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r13
setne %al
testb $0x3, %r15b
sete %r14b
andb %al, %r14b
cmpb $0x1, %r14b
jne 0x75bb9
incl (%r13)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r12
setne %al
testb $0x3, %cl
sete %bl
andb %al, %bl
cmpb $0x1, %bl
jne 0x75bda
incl (%r12)
movq %r15, %rdi
movq %rcx, -0x48(%rbp)
movq %rcx, %rsi
callq 0xd769
testl %eax, %eax
jne 0x766b1
leaq 0x92561(%rip), %rsi     # 0x108159
movq -0x30(%rbp), %r15
testb %bl, %bl
je 0x75c15
decl (%r12)
jne 0x75c15
movq -0x48(%rbp), %rdi
movq %rsi, %rbx
callq 0xce94
movq %rbx, %rsi
testb %r14b, %r14b
movq -0xa8(%rbp), %rbx
je 0x75c30
decl (%r13)
jne 0x75c30
movq -0x68(%rbp), %rdi
callq 0xce94
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
jmp 0x76041
movq -0x50(%rbp), %rdi
callq 0xd491
movq %rax, %r12
movq %r13, %rbx
movq %rdx, %r13
movq %rax, %rdi
movq %rdx, %rsi
callq 0x8b55
movq %r12, %rdi
movq %r13, %rsi
callq 0x8b55
testq %rbx, %rax
je 0x75c95
movq %r12, %rdi
movq %r13, %rsi
callq 0x8b55
testb $0x3, %al
jne 0x75c95
movq %r12, %rdi
movq %r13, %rsi
callq 0x8b55
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
incl (%rax)
movq %r12, %rdi
movq %r13, %rsi
callq 0x8b55
movq %rax, %rdi
callq 0xdb65
movq %rax, %rdi
callq 0xdbc8
movq %rax, %rbx
pushq $0x1
popq %r14
movq %r14, %rdi
movq %r14, %rsi
callq 0xd759
testb %al, %al
je 0x75cf5
movq %rbx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0x75ce5
incl (%rax)
pushq $0x1
popq %rdi
movq %rbx, %rsi
callq 0x89cc
movl %eax, %r15d
jmp 0x75cf8
xorl %r15d, %r15d
movq %r12, %rdi
movq %r13, %rsi
callq 0x8b55
movq %rax, -0x48(%rbp)
xorl %r13d, %r13d
testb $0x1, %r15b
je 0x75e3b
movq %r13, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x75d45
decl (%rax)
jne 0x75d45
movq %r13, %rdi
leaq 0x92581(%rip), %rsi     # 0x1082c1
callq 0xce94
movq %rbx, %rdi
pushq $0x3
popq %rsi
callq 0xe191
movq %rax, %rbx
movq %rax, %r15
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r15
setne %al
testb $0x3, %bl
sete %r12b
andb %al, %r12b
cmpb $0x1, %r12b
jne 0x75d79
incl (%r15)
movq %rbx, %rdi
movq -0x48(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0xdc09
movl %eax, %edi
callq 0xd86d
movq %rax, %rdi
callq 0xdc43
cmpb $0x2e, %al
jne 0x75db5
testb %r12b, %r12b
je 0x75da4
incl (%r15)
movq %rbx, %rdi
leaq 0x9267b(%rip), %rsi     # 0x108429
callq 0x8d0c
jmp 0x75dba
xorl %r14d, %r14d
xorl %edx, %edx
movq -0x58(%rbp), %rax
movq %rax, -0x48(%rbp)
movq %r14, %r13
shlq $0x30, %r13
orq %rdx, %r13
movq %rdx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dl
setne %dl
orb %cl, %dl
jne 0x75dfd
cmpl $0x0, (%rax)
jne 0x75dfd
movq %r13, %rdi
leaq 0x924c9(%rip), %rsi     # 0x1082c1
callq 0xce94
movq %r14, %rdi
callq 0xd86d
movq %rax, %rdi
pushq $0x1
popq %r14
movq %r14, %rsi
callq 0xd759
testb %al, %al
je 0x75e33
testb %r12b, %r12b
je 0x75e20
incl (%r15)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x89cc
movl %eax, %r15d
jmp 0x75d0a
xorl %r15d, %r15d
jmp 0x75d0a
movq %rbx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
leaq 0x922fc(%rip), %r15     # 0x108159
jne 0x75e72
decl (%rax)
jne 0x75e72
movq %rbx, %rdi
leaq 0x925bc(%rip), %rsi     # 0x108429
callq 0xce94
movq %r13, %rsi
shrq $0x30, %rsi
movabsq $0xfffffffffffc, %r14   # imm = 0xFFFFFFFFFFFC
andq %r14, %r13
leaq -0x58(%rbp), %rcx
movq -0x48(%rbp), %rdi
movq %r13, %rdx
callq 0x81b7f
movq %rax, %rbx
movq 0x10978f0(%rip), %rdi   # 0x110d790
testq %rdi, %rdi
jne 0x75ebe
leaq 0x5eacf(%rip), %rdi     # 0xd497b
pushq $0x3
popq %rsi
callq 0x8a21
movq %rax, %rdi
movq %rax, 0x10978d2(%rip)   # 0x110d790
movq %rdi, %rax
andq %r14, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
movq %r14, %r13
jne 0x75ed7
incl (%rax)
movq %r15, %rsi
callq 0x8d0c
movq %rdx, %rdi
callq 0xd491
movq %rax, %r12
movq %rdx, %r15
movl -0x58(%rbp), %eax
cmpl $0x1, %eax
je 0x75f28
testl %eax, %eax
jne 0x764d5
testb $0x1, %r15b
je 0x75f5d
movq %r12, %rax
andq %r13, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0x75f5d
decl (%rax)
jne 0x75f5d
movq %r12, %rdi
movq %r15, %rsi
callq 0xce94
jmp 0x75f5d
movq -0x50(%rbp), %rdi
callq 0xd491
movq %rax, %rdi
movq %rdx, %rsi
callq 0x8b55
movq %rax, %r14
movq %r12, %rdi
movq %r15, %rsi
callq 0x8b55
movq %r14, %rdi
movq %rax, %rsi
callq 0xd769
testl %eax, %eax
je 0x764c5
movq 0x1097834(%rip), %rdx   # 0x110d798
testq %rdx, %rdx
jne 0x75f82
leaq 0x670bf(%rip), %rdi     # 0xdd02f
pushq $0x27
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1097816(%rip)   # 0x110d798
movq %rdx, %rax
andq %r13, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
leaq 0x921bd(%rip), %r12     # 0x108159
jne 0x75fa0
incl (%rax)
movq -0x38(%rbp), %rdi
leaq -0x30(%rbp), %r14
movq -0x78(%rbp), %rsi
movq %r14, %rcx
callq 0x2d907
movq (%r14), %rdi
leaq -0x30(%rbp), %r14
movq -0x70(%rbp), %r15
movq %r15, %rsi
movq %r14, %rdx
callq 0x14812
movq (%r14), %rdi
leaq -0x60(%rbp), %rdx
movq %rax, %rsi
callq 0x1c901
movq %rax, %r14
movq %rbx, %rdi
movq %r12, %rsi
callq 0x8b55
movq %rax, %rdi
movq %r14, %rsi
callq 0xd769
testl %eax, %eax
jne 0x76763
movq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rbx
movq %r15, %rsi
movq %rbx, %rdx
callq 0x147a0
movq %rax, %r14
movq (%rbx), %rbx
movq -0x68(%rbp), %rdi
movq %r12, %rsi
callq 0x8b55
leaq -0xe8(%rbp), %r15
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
movq %r15, %rcx
callq 0x7b635
movq (%r15), %r15
movq -0xa8(%rbp), %rbx
movq -0xa0(%rbp), %rcx
leaq -0x58(%rbp), %r14
movb $0x1, %al
movq %rcx, %rdi
testb $0x1, %al
je 0x762f7
xorl %eax, %eax
movl $0x0, %ecx
testl %ebx, %ebx
je 0x7604e
cmpl $0x1, %ebx
jne 0x764d5
movq %r14, %rsi
callq 0xce01
movq %rax, %rbx
movq 0x48(%r15), %r12
movq %r12, %rax
andq %r13, %rax
setne %dl
testb $0x3, %r12b
sete %cl
andb %dl, %cl
cmpb $0x1, %cl
jne 0x76096
addl $0x2, (%rax)
movl 0x8(%r12), %edx
movl %edx, -0x70(%rbp)
movq 0x10(%r12), %rdi
movq %rdi, %rdx
andq %r13, %rdx
sete %sil
movq %rdi, -0x68(%rbp)
testb $0x3, %dil
setne %dil
orb %sil, %dil
jne 0x760c0
incl (%rdx)
testb %cl, %cl
je 0x760d7
decl (%rax)
jne 0x760d7
movq %r12, %rdi
leaq 0x9278f(%rip), %rsi     # 0x108861
callq 0xce94
movq %rbx, %rdi
leaq 0x92cd7(%rip), %rsi     # 0x108db8
callq 0x8d0c
movq %r12, %rdi
pushq $0x1
popq %rsi
callq 0x2e0a9
movq %rax, %r12
movq 0x48(%r15), %rdi
movq %rdi, %rax
andq %r13, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x7611c
decl (%rax)
jne 0x7611c
leaq 0x9274a(%rip), %rsi     # 0x108861
callq 0xce94
movq %r12, 0x48(%r15)
movq %r15, %rdi
movq %rbx, -0x48(%rbp)
movq %rbx, %rsi
leaq -0x38(%rbp), %rdx
leaq -0x30(%rbp), %rcx
callq 0x80ff9
movq %rax, %rdi
callq 0x147c9
movq -0x30(%rbp), %rdx
pushq $0x1
popq %rdi
movq %rax, %rsi
pushq $0x1
popq %rcx
callq 0x1473b
movq %rax, %r12
movq -0x38(%rbp), %rdi
movq %rax, %r14
andq %r13, %r14
setne %al
testb $0x3, %r12b
sete %bl
andb %al, %bl
cmpb $0x1, %bl
jne 0x76172
incl (%r14)
movq %r12, %rsi
leaq -0x38(%rbp), %rdx
callq 0x173a0
testl %eax, %eax
je 0x761e2
cmpl $0x1, %eax
jne 0x764d5
movq %rdx, %rdi
callq 0xd491
movq %rax, %rdi
shrq $0x30, %rdi
andq %r13, %rax
movq %rax, %rsi
callq 0x2d28b
cmpl $0x1, %eax
jne 0x767c2
movq %rdx, %rdi
callq 0xd491
movq %rax, %r15
movq -0x38(%rbp), %r13
testb %bl, %bl
je 0x76222
decl (%r14)
movl -0x70(%rbp), %ebx
jne 0x761d8
movq %r12, %rdi
leaq 0x9256e(%rip), %rsi     # 0x108741
callq 0xce94
leaq -0x58(%rbp), %r14
leaq -0x60(%rbp), %r12
jmp 0x7622d
movq -0x38(%rbp), %rsi
movq %r12, %rdi
leaq -0x30(%rbp), %rdx
callq 0x81410
movq -0x30(%rbp), %rdi
movq %rax, %rsi
leaq -0x60(%rbp), %r12
movq %r12, %rdx
callq 0x744f7
movq %rax, %r15
movq -0x60(%rbp), %rdi
movq %rax, %rsi
leaq -0x80(%rbp), %rdx
callq 0x75497
movq -0x80(%rbp), %r13
leaq -0x58(%rbp), %r14
jmp 0x7622a
leaq -0x58(%rbp), %r14
leaq -0x60(%rbp), %r12
movl -0x70(%rbp), %ebx
movq 0x48(%r13), %rdi
movq %rdi, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x76251
incl (%rax)
movl %ebx, %esi
movq -0x68(%rbp), %rdx
callq 0x2e0a9
movq %rax, %rbx
movq 0x48(%r13), %rdi
movq %rdi, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x76291
decl (%rax)
jne 0x76291
leaq 0x925d5(%rip), %rsi     # 0x108861
callq 0xce94
movq %rbx, 0x48(%r13)
movq %r13, %rdi
movq -0x48(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x19434
movq %rax, %rbx
movq -0x38(%rbp), %rdi
movq %rax, %rsi
leaq -0x30(%rbp), %rdx
callq 0x2c6c3
movl %eax, %edi
movq %rdx, %rsi
movq %r15, %rdx
leaq 0x92d31(%rip), %rcx     # 0x108ff8
callq 0x3a979
movq -0x30(%rbp), %rdi
movl %eax, %esi
movq %rbx, %rcx
movq %r12, %r8
callq 0x1a15d
movq -0x60(%rbp), %r15
movl -0x58(%rbp), %ebx
movq -0x50(%rbp), %rcx
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
jmp 0x7604c
movq %rdi, %rax
andq %r13, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x76325
decl (%rax)
jne 0x76325
shlq $0x30, %rbx
orq %rdi, %rbx
leaq 0x91f5c(%rip), %rsi     # 0x108279
movq %rbx, %rdi
callq 0xce94
movq -0xc0(%rbp), %rdi
callq 0x17267
btsq $0x31, %rdx
leaq 0x925fc(%rip), %rax     # 0x108939
leaq -0x58(%rbp), %rbx
movq %r15, %rdi
movq %rdx, %rsi
movq %rax, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %rbx, %r9
callq 0x1d218
leaq 0x92473(%rip), %rsi     # 0x1087d1
movq %rax, %rdi
callq 0x8d0c
movq %rdx, %r12
movq (%rbx), %r15
movq 0x48(%r15), %r13
movq %r13, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
setne %dl
testb $0x3, %r13b
sete %cl
andb %dl, %cl
cmpb $0x1, %cl
jne 0x76394
addl $0x2, (%rax)
movl 0x18(%r13), %ebx
movq 0x20(%r13), %r14
movq %r14, %rdx
movabsq $0xfffffffffffc, %rsi   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rdx
sete %sil
testb $0x3, %r14b
setne %dil
orb %sil, %dil
jne 0x763bf
incl (%rdx)
testb %cl, %cl
je 0x763d6
decl (%rax)
jne 0x763d6
movq %r13, %rdi
leaq 0x92490(%rip), %rsi     # 0x108861
callq 0xce94
pushq $0x1
popq %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x24cd1
movq %rax, %r12
movq 0x48(%r15), %rdi
movq %rdi, %rax
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
andq %r13, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x76419
decl (%rax)
jne 0x76419
leaq 0x9244d(%rip), %rsi     # 0x108861
callq 0xce94
movq %r12, 0x48(%r15)
leaq -0x38(%rbp), %r12
movq %r15, %rdi
movq -0x78(%rbp), %rsi
movq %r12, %rdx
callq 0x2dab7
movq %rax, %r15
movq (%r12), %rdi
leaq -0x30(%rbp), %rdx
movq %rax, %rsi
callq 0x2dbd1
testb %al, %al
je 0x7661e
movq -0x30(%rbp), %r15
movq 0x48(%r15), %rdi
movq %rdi, %rax
andq %r13, %rax
setne %cl
testb $0x3, %dil
sete %dl
testb %dl, %cl
movq -0xd0(%rbp), %r12
je 0x76470
incl (%rax)
movl %ebx, %esi
movq %r14, %rdx
callq 0x24cd1
movq %rax, %rbx
movq 0x48(%r15), %rdi
andq %rdi, %r13
sete %al
testb $0x3, %dil
setne %cl
orb %al, %cl
jne 0x764a4
decl (%r13)
jne 0x764a4
leaq 0x923c2(%rip), %rsi     # 0x108861
callq 0xce94
movq %rbx, 0x48(%r15)
movq %r15, (%r12)
movq -0xc0(%rbp), %rax
addq $0xe8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq -0x38(%rbp), %rdi
leaq 0x91c89(%rip), %r12     # 0x108159
jmp 0x75fb7
leaq 0x5e331(%rip), %rdi     # 0xd480d
pushq $0x20
popq %rsi
callq 0x8a21
movq %rax, %rdi
callq 0x8cc6
movq 0x109726d(%rip), %rdx   # 0x110d760
testq %rdx, %rdx
jne 0x76511
leaq 0x66adf(%rip), %rdi     # 0xdcfde
pushq $0x1a
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x109724f(%rip)   # 0x110d760
andq %rdx, -0x40(%rbp)
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x76528
movq -0x40(%rbp), %rax
incl (%rax)
movq -0x58(%rbp), %rdi
movq %r13, %rsi
callq 0x246fe
movq 0x1095ebd(%rip), %rbx   # 0x110c3f8
movq 0x1097226(%rip), %rdx   # 0x110d768
testq %rdx, %rdx
jne 0x76560
leaq 0x66aab(%rip), %rdi     # 0xdcff9
pushq $0x10
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1097208(%rip)   # 0x110d768
andq %rdx, -0x40(%rbp)
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x76577
movq -0x40(%rbp), %rax
incl (%rax)
xorl %esi, %esi
cmpq %r12, %rbx
cmovaq %r15, %rsi
movq %r14, %rdi
callq 0x246fe
movq 0x1097191(%rip), %rdx   # 0x110d720
testq %rdx, %rdx
jne 0x765ad
leaq 0x6695f(%rip), %rdi     # 0xdcefa
pushq $0x17
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1097173(%rip)   # 0x110d720
andq %rdx, -0x40(%rbp)
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x765c4
movq -0x40(%rbp), %rax
incl (%rax)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x246fe
movq 0x1097142(%rip), %rdx   # 0x110d718
testq %rdx, %rdx
jne 0x765f4
leaq 0x668fd(%rip), %rdi     # 0xdcedf
pushq $0x1a
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1097124(%rip)   # 0x110d718
andq %rdx, -0x40(%rbp)
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x7660b
movq -0x40(%rbp), %rax
incl (%rax)
movq -0xc8(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x246fe
movq 0x10970eb(%rip), %rdx   # 0x110d710
testq %rdx, %rdx
jne 0x76643
leaq 0x66892(%rip), %rdi     # 0xdcec3
pushq $0x1b
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x10970cd(%rip)   # 0x110d710
andq %rdx, -0x40(%rbp)
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x7665a
movq -0x40(%rbp), %rax
incl (%rax)
movq -0x30(%rbp), %rdi
movq %r15, %rsi
callq 0x246fe
movq 0x10970bb(%rip), %rdx   # 0x110d728
testq %rdx, %rdx
jne 0x7668b
leaq 0x66899(%rip), %rdi     # 0xdcf12
pushq $0x19
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x109709d(%rip)   # 0x110d728
andq %rdx, -0x40(%rbp)
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x766a2
movq -0x40(%rbp), %rax
incl (%rax)
movq -0x88(%rbp), %rdi
movq %rbx, %rsi
callq 0x246fe
movq 0x10970c8(%rip), %rdi   # 0x110d780
testq %rdi, %rdi
jne 0x766d6
leaq 0x66946(%rip), %rdi     # 0xdd00a
pushq $0x24
popq %rsi
callq 0x8a21
movq %rax, %rdi
movq %rax, 0x10970aa(%rip)   # 0x110d780
movq %rdi, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x766f6
incl (%rax)
movq -0x48(%rbp), %rsi
callq 0xd8b0
movq %rax, %rbx
movq 0x109707f(%rip), %rsi   # 0x110d788
testq %rsi, %rsi
jne 0x76727
leaq 0x5f2d1(%rip), %rdi     # 0xd59e6
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %rsi
movq %rax, 0x1097061(%rip)   # 0x110d788
andq %rsi, -0x40(%rbp)
sete %al
testb $0x3, %sil
setne %cl
orb %al, %cl
jne 0x7673f
movq -0x40(%rbp), %rax
incl (%rax)
movq %rbx, %rdi
callq 0xd8b0
movq %rax, %rdi
movq -0x68(%rbp), %rsi
callq 0xd8b0
movq -0x30(%rbp), %rdi
movq -0x78(%rbp), %rsi
movq %rax, %rdx
callq 0x246fe
movq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rbx
movq -0x78(%rbp), %rsi
movq %rbx, %rdx
callq 0x19434
movq (%rbx), %rbx
leaq 0x1096fef(%rip), %rdi   # 0x110d770
movq %rax, %rsi
callq 0x12f88
movq %rax, %rdi
callq 0x1307d
movq %rax, %r14
movq 0x1097005(%rip), %rdx   # 0x110d7a0
testq %rdx, %rdx
jne 0x765ad
leaq 0x668ac(%rip), %rdi     # 0xdd057
pushq $0x28
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1096fe3(%rip)   # 0x110d7a0
jmp 0x765ad
testb %bl, %bl
je 0x767da
decl (%r14)
jne 0x767da
movq %r12, %rdi
leaq 0x91f6c(%rip), %rsi     # 0x108741
callq 0xce94
movq 0x1096fe7(%rip), %rdx   # 0x110d7c8
testq %rdx, %rdx
jne 0x767ff
leaq 0x668e0(%rip), %rdi     # 0xdd0cd
pushq $0x19
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1096fc9(%rip)   # 0x110d7c8
andq %rdx, -0x40(%rbp)
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x76816
movq -0x40(%rbp), %rax
incl (%rax)
movq -0x38(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x246fe