// File: /workspace/github_c_makefile_star2_O2/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_table_preparezefieldzedefszx
static void mw_mirth_table_preparezefieldzedefszx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Field_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, uint64_t *out_Field_4) {
	struct mirth_mirth_zaMirth* v5;
	bool v6 = mw_mirth_table_Field_iszerawzy(in_zaMirth_1, in_Field_2, &v5);
	uint64_t branch_Field_7;
	struct mirth_mirth_zaMirth* branch_zaMirth_8;
	if (v6) {
		struct mirth_def_Def v9 = mtw_mirth_def_Def_Field(in_Field_2);
		struct mirth_mirth_zaMirth* v10;
		mw_mirth_def_Def_register(v5, v9, &v10);
		struct mirth_mirth_zaMirth* v11;
		struct std_maybe_Maybe_1 v12 = mw_mirth_table_Field_default(v10, in_Field_2, &v11);
		struct mirth_mirth_zaMirth* branch_zaMirth_13;
		switch ((v12).tag) {
			case std_maybe_Maybe_1_Some: {
				VAL v14 = mtp_std_maybe_Maybe_1_Some(v12);
				STR* v15;
				STRLIT(v15, "Raw field cannot have a default value.", 38);
				struct mirth_mirth_zaMirth* v16;
				mw_mirth_mirth_zaMirth_emitzeerrorzx(v11, V_mirth_token_Token(v14), v15, &v16);
				branch_zaMirth_13 = v16;
			} break;
			case std_maybe_Maybe_1_None: {
				branch_zaMirth_13 = v11;
			} break;
			default: {
				do_panic(str_make("unexpected fallthrough in match\n", 32));
			}
		}
		branch_zaMirth_8 = branch_zaMirth_13;
		branch_Field_7 = in_Field_2;
	} else {
		STR* v17;
		STRLIT(v17, "Get field value.", 16);
		struct std_maybe_Maybe_1 v18 = mtw_std_maybe_Maybe_1_Some(MKSTR(v17));
		struct mirth_mirth_zaMirth* v19;
		uint64_t v20 = mw_mirth_table_Field_head(v5, in_Field_2, &v19);
		struct mirth_mirth_zaMirth* v21;
		uint64_t v22 = mw_mirth_table_Field_name(v19, in_Field_2, &v21);
		struct mirth_mirth_zaMirth* v23;
		STR* v24 = mw_mirth_name_Name_zgStr(v21, v22, &v23);
		struct std_list_List_1 v25 = { .tag=std_list_List_1_Nil };
		incref(MK_std_list_List_1(v25));
		INT v26 = mw_std_list_List_1_len(v25);
		struct mirth_mirth_zaMirth* v27;
		uint64_t v28 = mw_mirth_name_Name_Name(v23, v24, &v27);
		struct std_maybe_Maybe_1 v29 = { .tag=std_maybe_Maybe_1_None };
		struct mirth_mirth_zaMirth* v30;
		uint64_t v31 = mw_mirth_word_Word_Newzx(v27, v20, v29, v20, v28, v26, v18, &v30);
		struct mirth_mirth_PropLabel v32 = mtw_mirth_mirth_PropLabel_WordQName(v31);
		struct mirth_mirth_zaMirth* v33;
		struct mirth_mirth_Prop_1* v34 = mw_mirth_mirth_PropLabel_prop2_1_sp7(v30, in_Field_2, v31, v32, &v33);
		void* v35 = field_mut(&mfld_mirth_word_Word_ztqname, v31);
		mut_set(MK_mirth_mirth_Prop_1(v34), v35);
		struct mirth_mirth_PropLabel v36 = mtw_mirth_mirth_PropLabel_WordType(v31);
		struct mirth_mirth_LexicalState* v37 = v33->mlexicalzestate;
		incref(MK_mirth_mirth_LexicalState(v37));
		FNPTR v38 = &mb_mirth_mirth_PropLabel_prop_1_sp21_0;
		struct mirth_mirth_PropState_1 v39 = mtw_mirth_mirth_PropState_1_Delay(v37, MK_mirth_table_Field(in_Field_2), MKFNPTR(v38));
		struct mirth_mirth_Prop_1* v40 = mtw_mirth_mirth_Prop_1_Prop(v36, v39);
		void* v41 = field_mut(&mfld_mirth_word_Word_ztctxzetype, v31);
		mut_set(MK_mirth_mirth_Prop_1(v40), v41);
		struct mirth_mirth_PropLabel v42 = mtw_mirth_mirth_PropLabel_WordParams(v31);
		struct mirth_mirth_zaMirth* v43;
		struct mirth_mirth_Prop_1* v44 = mw_mirth_mirth_PropLabel_prop2_1_sp8(v33, v25, v31, v42, &v43);
		void* v45 = field_mut(&mfld_mirth_word_Word_ztparams, v31);
		mut_set(MK_mirth_mirth_Prop_1(v44), v45);
		struct mirth_mirth_PropLabel v46 = mtw_mirth_mirth_PropLabel_WordArrow(v31);
		PTUP r47 = PTRMK(0,tup_new(2),0);
		((TUP*)PTRPTR(r47))->size = 2;
		((TUP*)PTRPTR(r47))->cells[1] = MK_mirth_word_Word(v31);
		((TUP*)PTRPTR(r47))->cells[0] = MK_mirth_table_Field(in_Field_2);
		struct mirth_mirth_LexicalState* v48 = v43->mlexicalzestate;
		incref(MK_mirth_mirth_LexicalState(v48));
		FNPTR v49 = &mb_mirth_mirth_PropLabel_prop_1_sp22_0;
		struct mirth_mirth_PropState_1 v50 = mtw_mirth_mirth_PropState_1_Delay(v48, MKTUP(r47), MKFNPTR(v49));
		struct mirth_mirth_Prop_1* v51 = mtw_mirth_mirth_Prop_1_Prop(v46, v50);
		void* v52 = field_mut(&mfld_mirth_word_Word_ztarrow, v31);
		mut_set(MK_mirth_mirth_Prop_1(v51), v52);
		STR* v53;
		STRLIT(v53, "Set field value.", 16);
		struct std_maybe_Maybe_1 v54 = mtw_std_maybe_Maybe_1_Some(MKSTR(v53));
		struct mirth_mirth_zaMirth* v55;
		uint64_t v56 = mw_mirth_table_Field_head(v43, in_Field_2, &v55);
		struct mirth_mirth_zaMirth* v57;
		uint64_t v58 = mw_mirth_table_Field_name(v55, in_Field_2, &v57);
		struct mirth_mirth_zaMirth* v59;
		STR* v60 = mw_mirth_name_Name_zgStr(v57, v58, &v59);
		STR* v61;
		STRLIT(v61, "!", 1);
		STR* v62 = str_cat(v60, v61);
		struct std_list_List_1 v63 = { .tag=std_list_List_1_Nil };
		incref(MK_std_list_List_1(v63));
		INT v64 = mw_std_list_List_1_len(v63);
		struct mirth_mirth_zaMirth* v65;
		uint64_t v66 = mw_mirth_name_Name_Name(v59, v62, &v65);
		struct std_maybe_Maybe_1 v67 = { .tag=std_maybe_Maybe_1_None };
		struct mirth_mirth_zaMirth* v68;
		uint64_t v69 = mw_mirth_word_Word_Newzx(v65, v56, v67, v56, v66, v64, v54, &v68);
		struct mirth_mirth_PropLabel v70 = mtw_mirth_mirth_PropLabel_WordQName(v69);
		struct mirth_mirth_zaMirth* v71;
		struct mirth_mirth_Prop_1* v72 = mw_mirth_mirth_PropLabel_prop2_1_sp7(v68, in_Field_2, v69, v70, &v71);
		void* v73 = field_mut(&mfld_mirth_word_Word_ztqname, v69);
		mut_set(MK_mirth_mirth_Prop_1(v72), v73);
		struct mirth_mirth_PropLabel v74 = mtw_mirth_mirth_PropLabel_WordType(v69);
		struct mirth_mirth_LexicalState* v75 = v71->mlexicalzestate;
		incref(MK_mirth_mirth_LexicalState(v75));
		FNPTR v76 = &mb_mirth_mirth_PropLabel_prop_1_sp17_0;
		struct mirth_mirth_PropState_1 v77 = mtw_mirth_mirth_PropState_1_Delay(v75, MK_mirth_table_Field(in_Field_2), MKFNPTR(v76));
		struct mirth_mirth_Prop_1* v78 = mtw_mirth_mirth_Prop_1_Prop(v74, v77);
		void* v79 = field_mut(&mfld_mirth_word_Word_ztctxzetype, v69);
		mut_set(MK_mirth_mirth_Prop_1(v78), v79);
		struct mirth_mirth_PropLabel v80 = mtw_mirth_mirth_PropLabel_WordParams(v69);
		struct mirth_mirth_zaMirth* v81;
		struct mirth_mirth_Prop_1* v82 = mw_mirth_mirth_PropLabel_prop2_1_sp8(v71, v63, v69, v80, &v81);
		void* v83 = field_mut(&mfld_mirth_word_Word_ztparams, v69);
		mut_set(MK_mirth_mirth_Prop_1(v82), v83);
		struct mirth_mirth_PropLabel v84 = mtw_mirth_mirth_PropLabel_WordArrow(v69);
		PTUP r85 = PTRMK(0,tup_new(2),0);
		((TUP*)PTRPTR(r85))->size = 2;
		((TUP*)PTRPTR(r85))->cells[1] = MK_mirth_word_Word(v69);
		((TUP*)PTRPTR(r85))->cells[0] = MK_mirth_table_Field(in_Field_2);
		struct mirth_mirth_LexicalState* v86 = v81->mlexicalzestate;
		incref(MK_mirth_mirth_LexicalState(v86));
		FNPTR v87 = &mb_mirth_mirth_PropLabel_prop_1_sp18_0;
		struct mirth_mirth_PropState_1 v88 = mtw_mirth_mirth_PropState_1_Delay(v86, MKTUP(r85), MKFNPTR(v87));
		struct mirth_mirth_Prop_1* v89 = mtw_mirth_mirth_Prop_1_Prop(v84, v88);
		void* v90 = field_mut(&mfld_mirth_word_Word_ztarrow, v69);
		mut_set(MK_mirth_mirth_Prop_1(v89), v90);
		branch_zaMirth_8 = v81;
		branch_Field_7 = in_Field_2;
	}
	*out_Field_4 = branch_Field_7;
	*out_zaMirth_3 = branch_zaMirth_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %rcx, %r14
movq %rdx, %r13
movq %rsi, %r15
leaq -0x40(%rbp), %rdx
callq 0x670ec
testb %al, %al
je 0x68934
pushq $0x1
popq %rdi
pushq $0x10
popq %rsi
callq 0x50c0
testq %rax, %rax
je 0x68ef3
movl $0x1, (%rax)
movq %r15, 0x8(%rax)
movq -0x40(%rbp), %rdi
pushq $0xb
popq %rsi
leaq -0x70(%rbp), %rbx
movq %rax, %rdx
movq %rbx, %rcx
callq 0x127fd
movq (%rbx), %rdi
leaq -0x38(%rbp), %rdx
movq %r15, %rsi
callq 0x67127
testl %eax, %eax
je 0x68ed6
cmpl $0x1, %eax
jne 0x68f12
movq %rdx, %rdi
callq 0xd491
movq %rax, %r12
movq 0x10a4899(%rip), %rdx   # 0x110d170
testq %rdx, %rdx
jne 0x688f5
leaq 0x73154(%rip), %rdi     # 0xdba37
pushq $0x26
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x10a487b(%rip)   # 0x110d170
movq %r14, %rbx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0x68916
incl (%rax)
movq -0x38(%rbp), %rdi
leaq -0x78(%rbp), %r14
movq %r12, %rsi
movq %r14, %rcx
callq 0x2ceb4
movq (%r14), %r12
movq %rbx, %r14
jmp 0x68eda
movq 0x10a483d(%rip), %rdi   # 0x110d178
testq %rdi, %rdi
jne 0x68959
leaq 0x73117(%rip), %rdi     # 0xdba5e
pushq $0x10
popq %rsi
callq 0x8a21
movq %rax, %rdi
movq %rax, 0x10a481f(%rip)   # 0x110d178
movq %r14, -0x48(%rbp)
movq %r13, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
leaq 0x9f7e7(%rip), %rsi     # 0x108159
movq %rdi, %rax
andq %rcx, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x68988
incl (%rax)
callq 0x8d0c
movl $0x1, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x40(%rbp), %rdi
leaq -0x78(%rbp), %r14
movq %r15, %rsi
movq %r14, %rdx
callq 0x1926d
movq %rax, %rbx
movq (%r14), %rdi
leaq -0xd0(%rbp), %r14
movq %r15, %rsi
movq %r14, %rdx
callq 0x1a10b
movq (%r14), %rdi
leaq -0xc8(%rbp), %r14
movq %rax, %rsi
movq %r14, %rdx
callq 0x1c901
movq %rax, %r12
xorl %edi, %edi
xorl %esi, %esi
callq 0x10bca
movq %rax, %r13
movq (%r14), %rdi
leaq -0xc0(%rbp), %r14
movq %r12, %rsi
movq %r14, %rdx
callq 0x12215
movq (%r14), %rdi
movups -0x70(%rbp), %xmm0
movups %xmm0, 0x8(%rsp)
leaq -0xb8(%rbp), %r14
movq %r14, 0x18(%rsp)
movq %r13, (%rsp)
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
movq %rbx, %r8
movq %rax, %r9
callq 0x3040d
movq %rax, %rbx
movq %rax, %rdi
callq 0x30589
movq (%r14), %rdi
leaq -0xb0(%rbp), %r14
movq %r15, %rsi
movq %rbx, %rdx
movq %rax, %rcx
movq %r14, %r8
callq 0x68f29
movq %rax, %r12
leaq 0x10a3166(%rip), %rdi   # 0x110bbc0
movq %rbx, %rsi
callq 0x12f88
leaq 0x9fd68(%rip), %rsi     # 0x1087d1
movq %r12, %rdi
movq %rax, %rdx
callq 0x1393b
movq %rbx, %rdi
callq 0x30614
movq %rax, %r12
movq (%r14), %r14
movq 0x48(%r14), %rdi
movq %rdi, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x68aa6
incl (%rax)
leaq 0xa078b(%rip), %rdx     # 0x109238
leaq 0x520(%rip), %rcx       # 0x68fd4
movq %r15, %rsi
callq 0x24c61
pushq $0xa
popq %rdi
pushq $0x1
popq %rdx
movq %r12, %rsi
movq %rax, %rcx
callq 0x1d29f
movq %rax, %r12
leaq 0x10a3bd9(%rip), %rdi   # 0x110c6b0
movq %rbx, %rsi
callq 0x12f88
movq %r12, %rdi
leaq 0x9fce8(%rip), %r13     # 0x1087d1
movq %r13, %rsi
movq %rax, %rdx
callq 0x1393b
movq %rbx, %rdi
callq 0x30809
leaq -0xa8(%rbp), %r12
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
movq %rbx, %rcx
movq %rax, %r8
movq %r12, %r9
callq 0x61141
movq %rax, %r14
leaq 0x10a3b9e(%rip), %rdi   # 0x110c6c0
movq %rbx, %rsi
callq 0x12f88
movq %r14, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x1393b
movq %rbx, %rdi
callq 0x30d4b
movq %rax, %r13
pushq $0x2
popq %rdi
callq 0xd928
movq %rax, %rcx
movabsq $0xfffffffffffc, %rdx   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rcx
movw $0x2, 0x6(%rcx)
movq %rbx, 0x18(%rcx)
leaq 0xa05f4(%rip), %rsi     # 0x109160
movq %rsi, 0x20(%rcx)
movq %r15, 0x8(%rcx)
leaq 0xa06bd(%rip), %rsi     # 0x109238
movq %rsi, 0x10(%rcx)
movq (%r12), %r14
movq 0x48(%r14), %rdi
movq %rdi, %rcx
andq %rdx, %rcx
sete %dl
testb $0x3, %dil
setne %sil
orb %dl, %sil
jne 0x68b9f
incl (%rcx)
leaq 0x9f7f3(%rip), %rdx     # 0x108399
leaq 0x59c(%rip), %rcx       # 0x69149
movq %rax, %rsi
callq 0x24c61
pushq $0xc
popq %rdi
pushq $0x1
popq %rdx
movq %r13, %rsi
movq %rax, %rcx
callq 0x1d29f
movq %rax, %r12
leaq 0x10a3b00(%rip), %rdi   # 0x110c6d0
movq %rbx, %rsi
callq 0x12f88
movq %r12, %rdi
leaq 0x9fbef(%rip), %rsi     # 0x1087d1
movq %rax, %rdx
callq 0x1393b
movq 0x10a458f(%rip), %rdi   # 0x110d180
testq %rdi, %rdi
jne 0x68c0f
leaq 0x72e72(%rip), %rdi     # 0xdba6f
pushq $0x10
popq %rsi
callq 0x8a21
movq %rax, %rdi
movq %rax, 0x10a4571(%rip)   # 0x110d180
movq %rdi, %rax
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
andq %r13, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x68c2f
incl (%rax)
leaq 0x9f523(%rip), %rsi     # 0x108159
callq 0x8d0c
movl $0x1, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
leaq -0xa0(%rbp), %r12
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x1926d
movq %rax, %rbx
movq (%r12), %rdi
leaq -0x98(%rbp), %r14
movq %r15, %rsi
movq %r14, %rdx
callq 0x1a10b
movq (%r14), %rdi
leaq -0x60(%rbp), %rdx
movq %rax, %rsi
callq 0x1c901
movq %rax, %r14
movq 0x10a44fb(%rip), %rsi   # 0x110d188
testq %rsi, %rsi
jne 0x68cab
leaq 0x728ce(%rip), %rdi     # 0xdb567
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %rsi
movq %rax, 0x10a44dd(%rip)   # 0x110d188
movq %rsi, %rax
andq %r13, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x68cc1
incl (%rax)
movq %r14, %rdi
callq 0xd8b0
movq %rax, %r14
xorl %edi, %edi
xorl %esi, %esi
callq 0x10bca
movq %rax, %r12
movq -0x60(%rbp), %rdi
leaq -0x90(%rbp), %r13
movq %r14, %rsi
movq %r13, %rdx
callq 0x12215
movq (%r13), %rdi
movups -0x38(%rbp), %xmm0
movups %xmm0, 0x8(%rsp)
leaq -0x88(%rbp), %r14
movq %r14, 0x18(%rsp)
movq %r12, (%rsp)
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
movq %rbx, %r8
movq %rax, %r9
callq 0x3040d
movq %rax, %rbx
movq %rax, %rdi
callq 0x30589
movq (%r14), %rdi
leaq -0x80(%rbp), %r14
movq %r15, %rsi
movq %rbx, %rdx
movq %rax, %rcx
movq %r14, %r8
callq 0x68f29
movq %rax, %r12
leaq 0x10a2e76(%rip), %rdi   # 0x110bbc0
movq %rbx, %rsi
callq 0x12f88
movq %r12, %rdi
leaq 0x9fa75(%rip), %rsi     # 0x1087d1
movq %rax, %rdx
callq 0x1393b
movq %rbx, %rdi
callq 0x30614
movq %rax, %r12
movq (%r14), %r14
movq 0x48(%r14), %rdi
movq %rdi, %rax
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
andq %r13, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x68d96
incl (%rax)
leaq 0x9a7(%rip), %rcx       # 0x69744
movq %r15, %rsi
leaq 0xa0491(%rip), %rdx     # 0x109238
callq 0x24c61
pushq $0xa
popq %rdi
pushq $0x1
popq %rdx
movq %r12, %rsi
movq %rax, %rcx
callq 0x1d29f
movq %rax, %r12
leaq 0x10a38e9(%rip), %rdi   # 0x110c6b0
movq %rbx, %rsi
callq 0x12f88
movq %r12, %rdi
leaq 0x9f9f8(%rip), %r12     # 0x1087d1
movq %r12, %rsi
movq %rax, %rdx
callq 0x1393b
movq %rbx, %rdi
callq 0x30809
leaq -0x58(%rbp), %r9
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
movq %rbx, %rcx
movq %rax, %r8
callq 0x61141
movq %rax, %r14
leaq 0x10a38b4(%rip), %rdi   # 0x110c6c0
movq %rbx, %rsi
callq 0x12f88
movq %r14, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x1393b
movq %rbx, %rdi
callq 0x30d4b
movq %rax, %r14
pushq $0x2
popq %rdi
callq 0xd928
movq %rax, %rcx
andq %r13, %rcx
movw $0x2, 0x6(%rcx)
movq %rbx, 0x18(%rcx)
leaq 0xa0314(%rip), %rdx     # 0x109160
movq %rdx, 0x20(%rcx)
movq %r15, 0x8(%rcx)
leaq 0xa03dd(%rip), %rdx     # 0x109238
movq %rdx, 0x10(%rcx)
leaq -0x58(%rbp), %rcx
movq (%rcx), %r12
movq 0x48(%r12), %rdi
andq %rdi, %r13
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
movq %r13, %rcx
movq -0x50(%rbp), %r13
jne 0x68e85
incl (%rcx)
leaq 0xa36(%rip), %rcx       # 0x698c2
movq %rax, %rsi
leaq 0x9f503(%rip), %rdx     # 0x108399
callq 0x24c61
pushq $0xc
popq %rdi
pushq $0x1
popq %rdx
movq %r14, %rsi
movq %rax, %rcx
callq 0x1d29f
movq %rax, %r14
leaq 0x10a381a(%rip), %rdi   # 0x110c6d0
movq %rbx, %rsi
callq 0x12f88
movq %r14, %rdi
leaq 0x9f909(%rip), %rsi     # 0x1087d1
movq %rax, %rdx
callq 0x1393b
movq -0x48(%rbp), %r14
jmp 0x68eda
movq -0x38(%rbp), %r12
movq %r15, (%r14)
movq %r12, (%r13)
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x72b86(%rip), %rsi     # 0xdba80
pushq $0x2
popq %rdi
pushq $0x31
popq %rdx
callq 0x5060
callq 0x52ae
pushq $0x1
popq %rdi
callq 0x5130
leaq 0x6b8f4(%rip), %rdi     # 0xd480d
pushq $0x20
popq %rsi
callq 0x8a21
movq %rax, %rdi
callq 0x8cc6