// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_name_Name_couldzebezeconstructor
static bool mw_mirth_name_Name_couldzebezeconstructor (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Name_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	enum std_byte_Byte v6 = mw_mirth_name_Name_head(in_zaMirth_1, in_Name_2, &v5);
	struct mirth_mirth_zaMirth* branch_zaMirth_7;
	bool branch_Bool_8;
	switch (v6) {
		case std_byte_Byte_Bzqzazq: {
			struct mirth_mirth_zaMirth* v9;
			enum std_byte_Byte v10 = mw_mirth_name_Name_tailzehead(v5, in_Name_2, &v9);
			enum std_byte_Byte v11 = std_byte_Byte_BzqAzq;
			enum std_byte_Byte v12 = std_byte_Byte_BzqZzq;
			int64_t v13 = v11;
			INT v14 = i64_to_int(v13);
			uint64_t v15 = int_to_u64(v14);
			uint8_t v16 = (uint8_t)(v15);
			int64_t v17 = v10;
			INT v18 = i64_to_int(v17);
			uint64_t v19 = int_to_u64(v18);
			uint8_t v20 = (uint8_t)(v19);
			uint64_t v21 = (uint64_t)(v20);
			uint32_t v22 = (uint32_t)(v21);
			uint64_t v23 = (uint64_t)(v16);
			uint32_t v24 = (uint32_t)(v23);
			uint64_t v25 = (uint64_t)(v24);
			uint64_t v26 = (uint64_t)(v22);
			bool v27 = (v25 <= v26);
			bool branch_Bool_28;
			if (v27) {
				int64_t v29 = v10;
				INT v30 = i64_to_int(v29);
				uint64_t v31 = int_to_u64(v30);
				uint8_t v32 = (uint8_t)(v31);
				int64_t v33 = v12;
				INT v34 = i64_to_int(v33);
				uint64_t v35 = int_to_u64(v34);
				uint8_t v36 = (uint8_t)(v35);
				uint64_t v37 = (uint64_t)(v36);
				uint32_t v38 = (uint32_t)(v37);
				uint64_t v39 = (uint64_t)(v32);
				uint32_t v40 = (uint32_t)(v39);
				uint64_t v41 = (uint64_t)(v40);
				uint64_t v42 = (uint64_t)(v38);
				bool v43 = (v41 <= v42);
				branch_Bool_28 = v43;
			} else {
				bool v44 = false;
				branch_Bool_28 = v44;
			}
			branch_Bool_8 = branch_Bool_28;
			branch_zaMirth_7 = v9;
		} break;
		default: {
			enum std_byte_Byte v45 = std_byte_Byte_BzqAzq;
			enum std_byte_Byte v46 = std_byte_Byte_BzqZzq;
			int64_t v47 = v45;
			INT v48 = i64_to_int(v47);
			uint64_t v49 = int_to_u64(v48);
			uint8_t v50 = (uint8_t)(v49);
			int64_t v51 = v6;
			INT v52 = i64_to_int(v51);
			uint64_t v53 = int_to_u64(v52);
			uint8_t v54 = (uint8_t)(v53);
			uint64_t v55 = (uint64_t)(v54);
			uint32_t v56 = (uint32_t)(v55);
			uint64_t v57 = (uint64_t)(v50);
			uint32_t v58 = (uint32_t)(v57);
			uint64_t v59 = (uint64_t)(v58);
			uint64_t v60 = (uint64_t)(v56);
			bool v61 = (v59 <= v60);
			bool branch_Bool_62;
			if (v61) {
				int64_t v63 = v6;
				INT v64 = i64_to_int(v63);
				uint64_t v65 = int_to_u64(v64);
				uint8_t v66 = (uint8_t)(v65);
				int64_t v67 = v46;
				INT v68 = i64_to_int(v67);
				uint64_t v69 = int_to_u64(v68);
				uint8_t v70 = (uint8_t)(v69);
				uint64_t v71 = (uint64_t)(v70);
				uint32_t v72 = (uint32_t)(v71);
				uint64_t v73 = (uint64_t)(v66);
				uint32_t v74 = (uint32_t)(v73);
				uint64_t v75 = (uint64_t)(v74);
				uint64_t v76 = (uint64_t)(v72);
				bool v77 = (v75 <= v76);
				branch_Bool_62 = v77;
			} else {
				bool v78 = false;
				branch_Bool_62 = v78;
			}
			branch_Bool_8 = branch_Bool_62;
			branch_zaMirth_7 = v5;
		} break;
	}
	*out_zaMirth_3 = branch_zaMirth_7;
	return branch_Bool_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x240, %rsp            # imm = 0x240
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x20(%rbp), %rdx
callq 0x6e510
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
subl $0x2b, %eax
jne 0x198967
jmp 0x198759
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x6e570
movl %eax, -0x44(%rbp)
movl $0x41, -0x48(%rbp)
movl $0x5a, -0x4c(%rbp)
movl -0x48(%rbp), %eax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
callq 0x1a290
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
callq 0x1b680
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movb %al, -0x69(%rbp)
movl -0x44(%rbp), %eax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rdi
callq 0x1a290
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rdi
callq 0x1b680
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movb %al, -0x89(%rbp)
movzbl -0x89(%rbp), %eax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movl %eax, -0x9c(%rbp)
movzbl -0x69(%rbp), %eax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movl %eax, -0xac(%rbp)
movl -0xac(%rbp), %eax
movq %rax, -0xb8(%rbp)
movl -0x9c(%rbp), %eax
movq %rax, -0xc0(%rbp)
movq -0xb8(%rbp), %rax
cmpq -0xc0(%rbp), %rax
setbe %al
andb $0x1, %al
movb %al, -0xc1(%rbp)
testb $0x1, -0xc1(%rbp)
je 0x19893a
movl -0x44(%rbp), %eax
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rdi
callq 0x1a290
movq %rax, -0xd8(%rbp)
movq -0xd8(%rbp), %rdi
callq 0x1b680
movq %rax, -0xe0(%rbp)
movq -0xe0(%rbp), %rax
movb %al, -0xe1(%rbp)
movl -0x4c(%rbp), %eax
movq %rax, -0xf0(%rbp)
movq -0xf0(%rbp), %rdi
callq 0x1a290
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rdi
callq 0x1b680
movq %rax, -0x100(%rbp)
movq -0x100(%rbp), %rax
movb %al, -0x101(%rbp)
movzbl -0x101(%rbp), %eax
movq %rax, -0x110(%rbp)
movq -0x110(%rbp), %rax
movl %eax, -0x114(%rbp)
movzbl -0xe1(%rbp), %eax
movq %rax, -0x120(%rbp)
movq -0x120(%rbp), %rax
movl %eax, -0x124(%rbp)
movl -0x124(%rbp), %eax
movq %rax, -0x130(%rbp)
movl -0x114(%rbp), %eax
movq %rax, -0x138(%rbp)
movq -0x130(%rbp), %rax
cmpq -0x138(%rbp), %rax
setbe %al
andb $0x1, %al
movb %al, -0x139(%rbp)
movb -0x139(%rbp), %al
andb $0x1, %al
movb %al, -0xc2(%rbp)
jmp 0x19894f
movb $0x0, -0x13a(%rbp)
movb -0x13a(%rbp), %al
andb $0x1, %al
movb %al, -0xc2(%rbp)
movb -0xc2(%rbp), %al
andb $0x1, %al
movb %al, -0x31(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x198b8c
movl $0x41, -0x140(%rbp)
movl $0x5a, -0x144(%rbp)
movl -0x140(%rbp), %eax
movq %rax, -0x150(%rbp)
movq -0x150(%rbp), %rdi
callq 0x1a290
movq %rax, -0x158(%rbp)
movq -0x158(%rbp), %rdi
callq 0x1b680
movq %rax, -0x160(%rbp)
movq -0x160(%rbp), %rax
movb %al, -0x161(%rbp)
movl -0x24(%rbp), %eax
movq %rax, -0x170(%rbp)
movq -0x170(%rbp), %rdi
callq 0x1a290
movq %rax, -0x178(%rbp)
movq -0x178(%rbp), %rdi
callq 0x1b680
movq %rax, -0x180(%rbp)
movq -0x180(%rbp), %rax
movb %al, -0x181(%rbp)
movzbl -0x181(%rbp), %eax
movq %rax, -0x190(%rbp)
movq -0x190(%rbp), %rax
movl %eax, -0x194(%rbp)
movzbl -0x161(%rbp), %eax
movq %rax, -0x1a0(%rbp)
movq -0x1a0(%rbp), %rax
movl %eax, -0x1a4(%rbp)
movl -0x1a4(%rbp), %eax
movq %rax, -0x1b0(%rbp)
movl -0x194(%rbp), %eax
movq %rax, -0x1b8(%rbp)
movq -0x1b0(%rbp), %rax
cmpq -0x1b8(%rbp), %rax
setbe %al
andb $0x1, %al
movb %al, -0x1b9(%rbp)
testb $0x1, -0x1b9(%rbp)
je 0x198b64
movl -0x24(%rbp), %eax
movq %rax, -0x1c8(%rbp)
movq -0x1c8(%rbp), %rdi
callq 0x1a290
movq %rax, -0x1d0(%rbp)
movq -0x1d0(%rbp), %rdi
callq 0x1b680
movq %rax, -0x1d8(%rbp)
movq -0x1d8(%rbp), %rax
movb %al, -0x1d9(%rbp)
movl -0x144(%rbp), %eax
movq %rax, -0x1e8(%rbp)
movq -0x1e8(%rbp), %rdi
callq 0x1a290
movq %rax, -0x1f0(%rbp)
movq -0x1f0(%rbp), %rdi
callq 0x1b680
movq %rax, -0x1f8(%rbp)
movq -0x1f8(%rbp), %rax
movb %al, -0x1f9(%rbp)
movzbl -0x1f9(%rbp), %eax
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rax
movl %eax, -0x20c(%rbp)
movzbl -0x1d9(%rbp), %eax
movq %rax, -0x218(%rbp)
movq -0x218(%rbp), %rax
movl %eax, -0x21c(%rbp)
movl -0x21c(%rbp), %eax
movq %rax, -0x228(%rbp)
movl -0x20c(%rbp), %eax
movq %rax, -0x230(%rbp)
movq -0x228(%rbp), %rax
cmpq -0x230(%rbp), %rax
setbe %al
andb $0x1, %al
movb %al, -0x231(%rbp)
movb -0x231(%rbp), %al
andb $0x1, %al
movb %al, -0x1ba(%rbp)
jmp 0x198b79
movb $0x0, -0x232(%rbp)
movb -0x232(%rbp), %al
andb $0x1, %al
movb %al, -0x1ba(%rbp)
movb -0x1ba(%rbp), %al
andb $0x1, %al
movb %al, -0x31(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb -0x31(%rbp), %al
andb $0x1, %al
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
nopw %cs:(%rax,%rax)