// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_Type_ctypezy
static struct std_maybe_Maybe_1 mw_mirth_type_Type_ctypezy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_type_Type in_Type_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_type_Type v6 = mw_mirth_type_Type_expand(in_zaMirth_1, in_Type_2, &v5);
	struct mirth_mirth_zaMirth* branch_zaMirth_7;
	struct std_maybe_Maybe_1 branch_Maybe_8;
	switch ((v6).tag) {
		case mirth_type_Type_Prim: {
			enum mirth_type_PrimType v9 = mtp_mirth_type_Type_Prim(v6);
			struct mirth_mirth_zaMirth* v10;
			struct std_maybe_Maybe_1 v11 = mw_mirth_type_PrimType_ctypezy(v5, v9, &v10);
			branch_Maybe_8 = v11;
			branch_zaMirth_7 = v10;
		} break;
		case mirth_type_Type_Data: {
			uint64_t v12 = mtp_mirth_type_Type_Data(v6);
			struct mirth_mirth_zaMirth* v13;
			struct std_maybe_Maybe_1 v14 = mw_mirth_data_Data_ctypezy(v5, v12, &v13);
			branch_Maybe_8 = v14;
			branch_zaMirth_7 = v13;
		} break;
		case mirth_type_Type_Arrow: {
			struct mirth_type_ArrowType* v15 = mtp_mirth_type_Type_Arrow(v6);
			decref(MK_mirth_type_ArrowType(v15));
			STR* v16;
			STRLIT(v16, "FNPTR", 5);
			struct mirth_type_CType v17 = mtw_mirth_type_CType_FnPtr(v16);
			struct std_maybe_Maybe_1 v18 = mtw_std_maybe_Maybe_1_Some(MK_mirth_type_CType(v17));
			branch_Maybe_8 = v18;
			branch_zaMirth_7 = v5;
		} break;
		case mirth_type_Type_App: {
			struct mirth_type_Type v19;
			struct mirth_type_Type v20 = mtp_mirth_type_Type_App(v6, &v19);
			struct mirth_mirth_zaMirth* v21;
			struct std_maybe_Maybe_1 v22 = mw_mirth_type_Type_ctypezy(v5, v19, &v21);
			struct mirth_type_Type branch_Type_23;
			struct mirth_mirth_zaMirth* branch_zaMirth_24;
			struct std_maybe_Maybe_1 branch_Maybe_25;
			switch ((v22).tag) {
				case std_maybe_Maybe_1_Some: {
					VAL v26 = mtp_std_maybe_Maybe_1_Some(v22);
					incref(MK_mirth_type_Type(v20));
					struct mirth_mirth_zaMirth* v27;
					struct std_maybe_Maybe_1 v28 = mw_mirth_type_Type_ctype1zy(v21, V_mirth_type_CType(v26), v20, &v27);
					branch_Maybe_25 = v28;
					branch_zaMirth_24 = v27;
					branch_Type_23 = v20;
				} break;
				case std_maybe_Maybe_1_None: {
					struct std_maybe_Maybe_1 v29 = { .tag=std_maybe_Maybe_1_None };
					branch_Maybe_25 = v29;
					branch_zaMirth_24 = v21;
					branch_Type_23 = v20;
				} break;
				default: {
					do_panic(str_make("unexpected fallthrough in match\n", 32));
				}
			}
			decref(MK_mirth_type_Type(branch_Type_23));
			branch_Maybe_8 = branch_Maybe_25;
			branch_zaMirth_7 = branch_zaMirth_24;
		} break;
		default: {
			decref(MK_mirth_type_Type(v6));
			struct std_maybe_Maybe_1 v30 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_8 = v30;
			branch_zaMirth_7 = v5;
		} break;
	}
	*out_zaMirth_3 = branch_zaMirth_7;
	return branch_Maybe_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rcx, %r14
leaq -0x30(%rbp), %rcx
callq 0x2d4cc
leal -0x2(%rax), %ecx
cmpl $0x9, %ecx
ja 0x6283d
leaq 0x7ce87(%rip), %rsi     # 0xdf3c0
movslq (%rsi,%rcx,4), %rcx
addq %rsi, %rcx
jmpq *%rcx
movl 0x4(%rdx), %ebx
decl (%rdx)
jne 0x62551
movq %rdx, %rdi
callq 0x5030
xorl %r12d, %r12d
movq -0x30(%rbp), %r15
addl $-0x4, %ebx
cmpl $0x10, %ebx
ja 0x6287b
leaq 0x7ce7d(%rip), %rax     # 0xdf3e8
movslq (%rax,%rbx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq 0x10b3935(%rip), %rdi   # 0x1115eb0
testq %rdi, %rdi
jne 0x62c4f
movl $0x5, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x5, 0x10(%rax)
movl $0x6f6f425f, 0x18(%rax) # imm = 0x6F6F425F
movb $0x6c, 0x1c(%rax)
movq %rax, 0x10b3905(%rip)   # 0x1115eb0
jmp 0x62c4f
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %rdx, %rdi
callq 0x2d55b
movq %rax, %rcx
andq %rbx, %rcx
sete %dl
testb $0x3, %al
setne %sil
orb %dl, %sil
jne 0x625e9
decl (%rcx)
jne 0x625e9
leaq 0xaf598(%rip), %rsi     # 0x111b79
movq %rax, %rdi
callq 0xd13d
movq 0x10b38a8(%rip), %rdi   # 0x1115e98
testq %rdi, %rdi
jne 0x6261c
movl $0x5, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x5, 0x10(%rax)
movl $0x54504e46, 0x18(%rax) # imm = 0x54504E46
movb $0x52, 0x1c(%rax)
movq %rax, 0x10b387c(%rip)   # 0x1115e98
andq %rdi, %rbx
sete %al
testb $0x3, %dil
setne %cl
orb %al, %cl
jne 0x6262f
incl (%rbx)
callq 0x62fea
movabsq $0x5000000000000, %rdi  # imm = 0x5000000000000
orq %rdx, %rdi
leaq 0xaf729(%rip), %rsi     # 0x111d71
callq 0x9353
movq %rdx, %r13
movl $0x1, %r12d
movq -0x30(%rbp), %r15
jmp 0x62de2
movq %r14, %rbx
movq 0x8(%rdx), %r14
decl (%rdx)
jne 0x62672
movq %rdx, %rdi
callq 0x5030
movq -0x30(%rbp), %r15
leaq 0x10b2bab(%rip), %rdi   # 0x1115228
movq %r14, %rsi
callq 0x13c85
leaq -0xa0(%rbp), %r14
movq %r15, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1a6db
movq %rax, %r12
movq (%r14), %r15
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
andq %rax, %r13
shrq $0x30, %r12
jmp 0x62ddf
leaq -0xa0(%rbp), %r12
movq %rdx, %rdi
movq %r12, %rsi
callq 0x2d5d6
movq %rax, -0x50(%rbp)
movq %rdx, %rbx
movq -0x30(%rbp), %rdi
movl (%r12), %esi
movq 0x8(%r12), %rdx
leaq -0x58(%rbp), %rcx
callq 0x62509
testl %eax, %eax
movq %r14, -0x88(%rbp)
movq %rbx, -0x48(%rbp)
je 0x62883
cmpl $0x1, %eax
jne 0x62fba
movabsq $0xfffffffffffc, %r15   # imm = 0xFFFFFFFFFFFC
movq %rdx, %rdi
callq 0xd745
movq %rax, %r12
movq %rbx, %r14
andq %r15, %r14
sete %al
andq $0x3, %rbx
setne %cl
orb %al, %cl
jne 0x6272d
incl (%r14)
movq -0x58(%rbp), %rdi
movq %r12, %r13
andq %r15, %r13
leaq -0x60(%rbp), %rcx
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq 0x2d4cc
cmpl $0x7, %eax
jne 0x628a6
movq 0x8(%rdx), %rax
movq %rax, -0x40(%rbp)
decl (%rdx)
jne 0x62765
movq %rdx, %rdi
callq 0x5030
movq %r12, -0x80(%rbp)
shrq $0x30, %r12
movq %r12, -0x38(%rbp)
movq -0x60(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x12d94
movq 0x108(%rax), %r12
leaq 0xaef25(%rip), %rsi     # 0x1116b1
movq %rax, %rcx
andq %r15, %rcx
sete %dl
testb $0x3, %al
setne %dil
orb %dl, %dil
jne 0x627ac
decl (%rcx)
jne 0x627ac
movq %rax, %rdi
callq 0xd13d
cmpq -0x40(%rbp), %r12
jne 0x62934
movq -0x38(%rbp), %rdi
movq %r13, %rsi
callq 0x63156
movq %rax, %r12
movq 0x10b373c(%rip), %rsi   # 0x1115f08
testq %rsi, %rsi
jne 0x627f3
movl $0x2, %edi
callq 0xf5e4
movq %rax, %rsi
movq $0x2, 0x10(%rax)
movw $0x2a20, 0x18(%rax)     # imm = 0x2A20
movq %rax, 0x10b3715(%rip)   # 0x1115f08
andq %rsi, %r15
sete %al
testb $0x3, %sil
setne %cl
orb %al, %cl
jne 0x62807
incl (%r15)
movq %r12, %rdi
callq 0xe069
movq %rax, %rdi
callq 0x63045
movq %rdx, %rdi
btsq $0x32, %rdi
leaq 0xaf54b(%rip), %rsi     # 0x111d71
callq 0x9353
movq %rdx, %r13
movl $0x1, %r12d
movq -0x78(%rbp), %r15
jmp 0x628fb
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rcx
sete %sil
testb $0x3, %dl
setne %dil
orb %sil, %dil
jne 0x62874
decl (%rcx)
jne 0x62874
shlq $0x30, %rax
orq %rdx, %rax
leaq 0xaf27d(%rip), %rsi     # 0x111ae9
movq %rax, %rdi
callq 0xd13d
xorl %r12d, %r12d
movq -0x30(%rbp), %r15
xorl %r13d, %r13d
jmp 0x62de2
movq -0x58(%rbp), %r15
leaq 0xaf25b(%rip), %rsi     # 0x111ae9
movabsq $0xfffffffffffc, %r14   # imm = 0xFFFFFFFFFFFC
andq %rbx, %r14
andl $0x3, %ebx
xorl %r12d, %r12d
xorl %r13d, %r13d
jmp 0x62902
andq %rdx, %r15
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0x628d3
decl (%r15)
jne 0x628d3
shlq $0x30, %rax
orq %rdx, %rax
movq %rax, %rdi
leaq 0xaf21b(%rip), %rsi     # 0x111ae9
callq 0xd13d
testq %r13, %r13
je 0x628f1
decl (%r13)
jne 0x628f1
andq $-0x4, %r12
leaq 0xaf488(%rip), %rsi     # 0x111d71
movq %r12, %rdi
callq 0xd13d
xorl %r12d, %r12d
movq -0x60(%rbp), %r15
xorl %r13d, %r13d
leaq 0xaf1e7(%rip), %rsi     # 0x111ae9
testq %r14, %r14
sete %al
testq %rbx, %rbx
setne %cl
orb %al, %cl
jne 0x62928
decl (%r14)
jne 0x62928
movq -0x50(%rbp), %rdi
shlq $0x30, %rdi
orq -0x48(%rbp), %rdi
callq 0xd13d
movq -0x88(%rbp), %r14
jmp 0x62de2
movq -0x78(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x12d94
movq 0x118(%rax), %r12
movq %rax, %rcx
andq %r15, %rcx
sete %dl
testb $0x3, %al
setne %sil
orb %dl, %sil
jne 0x6296f
decl (%rcx)
jne 0x6296f
movq %rax, %rdi
leaq 0xaed47(%rip), %rsi     # 0x1116b1
callq 0xd13d
cmpq -0x40(%rbp), %r12
jne 0x62dfa
movq 0x10b3590(%rip), %rdi   # 0x1115f10
testq %rdi, %rdi
jne 0x629ac
movl $0x5, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x5, 0x10(%rax)
movl $0x736e6f63, 0x18(%rax) # imm = 0x736E6F63
movb $0x74, 0x1c(%rax)
movq %rax, 0x10b3564(%rip)   # 0x1115f10
andq %rdi, %r15
sete %al
testb $0x3, %dil
setne %cl
orb %al, %cl
jne 0x629c0
incl (%r15)
movq -0x38(%rbp), %rsi
movq %r13, %rdx
callq 0x63370
shlq $0x30, %rax
orq %rdx, %rax
leaq 0xaf397(%rip), %rsi     # 0x111d71
movq %rax, %rdi
callq 0x9353
movq %rdx, %r13
movl $0x1, %r12d
movq -0x70(%rbp), %r15
jmp 0x628fb
movq 0x10b3505(%rip), %rdi   # 0x1115f00
testq %rdi, %rdi
jne 0x62a29
movl $0x6, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x6, 0x10(%rax)
movl $0x62756f64, 0x18(%rax) # imm = 0x62756F64
movw $0x656c, 0x1c(%rax)     # imm = 0x656C
movq %rax, 0x10b34d7(%rip)   # 0x1115f00
movq %r14, %rbx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdi, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x62a49
incl (%rax)
callq 0x630fb
movabsq $0x3000000000000, %r14  # imm = 0x3000000000000
jmp 0x62dc4
movq 0x10b346c(%rip), %rdi   # 0x1115ed0
testq %rdi, %rdi
jne 0x62c4f
movl $0x8, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x8, 0x10(%rax)
movabsq $0x745f3436746e6975, %rax # imm = 0x745F3436746E6975
movq %rax, 0x18(%rdi)
movq %rdi, 0x10b3439(%rip)   # 0x1115ed0
jmp 0x62c4f
movq 0x10b3405(%rip), %rdi   # 0x1115ea8
testq %rdi, %rdi
jne 0x62acb
movl $0x4, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x4, 0x10(%rax)
movl $0x64696f76, 0x18(%rax) # imm = 0x64696F76
movq %rax, 0x10b33dd(%rip)   # 0x1115ea8
movq %r14, %rbx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdi, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x62aeb
incl (%rax)
callq 0x1fd61
movabsq $0x6000000000000, %r14  # imm = 0x6000000000000
jmp 0x62dc4
movq %r14, %rbx
movq 0x10b33cf(%rip), %rdi   # 0x1115ed8
testq %rdi, %rdi
jne 0x62d9b
movl $0x6, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x6, 0x10(%rax)
movl $0x38746e69, 0x18(%rax) # imm = 0x38746E69
movw $0x745f, 0x1c(%rax)     # imm = 0x745F
movq %rax, 0x10b339d(%rip)   # 0x1115ed8
jmp 0x62d9b
movq 0x10b3359(%rip), %rdi   # 0x1115ea0
testq %rdi, %rdi
jne 0x62b73
movl $0x5, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x5, 0x10(%rax)
movl $0x64696f76, 0x18(%rax) # imm = 0x64696F76
movb $0x2a, 0x1c(%rax)
movq %rax, 0x10b332d(%rip)   # 0x1115ea0
movq %r14, %rbx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdi, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x62b93
incl (%rax)
callq 0x63045
movq %rdx, %r14
btsq $0x32, %r14
jmp 0x62dc7
movq 0x10b331c(%rip), %rdi   # 0x1115ec8
testq %rdi, %rdi
jne 0x62c4f
movl $0x8, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x8, 0x10(%rax)
movabsq $0x745f3233746e6975, %rax # imm = 0x745F3233746E6975
movq %rax, 0x18(%rdi)
movq %rdi, 0x10b32e9(%rip)   # 0x1115ec8
jmp 0x62c4f
movq 0x10b32d8(%rip), %rdi   # 0x1115ec0
testq %rdi, %rdi
jne 0x62c4f
movl $0x8, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x8, 0x10(%rax)
movabsq $0x745f3631746e6975, %rax # imm = 0x745F3631746E6975
movq %rax, 0x18(%rdi)
movq %rdi, 0x10b32a9(%rip)   # 0x1115ec0
jmp 0x62c4f
movq 0x10b3298(%rip), %rdi   # 0x1115eb8
testq %rdi, %rdi
jne 0x62c4f
movl $0x7, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x7, 0x10(%rax)
movl $0x746e6975, 0x18(%rax) # imm = 0x746E6975
movl $0x745f3874, 0x1b(%rax) # imm = 0x745F3874
movq %rax, 0x10b3269(%rip)   # 0x1115eb8
movq %r14, %rbx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdi, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x62c6f
incl (%rax)
callq 0x20cdd
movq %rdx, %r14
jmp 0x62dc7
movq %r14, %rbx
movq 0x10b325a(%rip), %rdi   # 0x1115ee0
testq %rdi, %rdi
jne 0x62d9b
movl $0x7, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x7, 0x10(%rax)
movl $0x31746e69, 0x18(%rax) # imm = 0x31746E69
movl $0x745f3631, 0x1b(%rax) # imm = 0x745F3631
movq %rax, 0x10b3227(%rip)   # 0x1115ee0
jmp 0x62d9b
movq %r14, %rbx
movq 0x10b3220(%rip), %rdi   # 0x1115ee8
testq %rdi, %rdi
jne 0x62d9b
movl $0x7, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x7, 0x10(%rax)
movl $0x33746e69, 0x18(%rax) # imm = 0x33746E69
movl $0x745f3233, 0x1b(%rax) # imm = 0x745F3233
movq %rax, 0x10b31ed(%rip)   # 0x1115ee8
jmp 0x62d9b
movq 0x10b31f1(%rip), %rdi   # 0x1115ef8
testq %rdi, %rdi
jne 0x62d33
movl $0x5, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x5, 0x10(%rax)
movl $0x616f6c66, 0x18(%rax) # imm = 0x616F6C66
movb $0x74, 0x1c(%rax)
movq %rax, 0x10b31c5(%rip)   # 0x1115ef8
movq %r14, %rbx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdi, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x62d53
incl (%rax)
callq 0x630a0
movq %rdx, %r14
btsq $0x31, %r14
jmp 0x62dc7
movq %r14, %rbx
movq 0x10b3184(%rip), %rdi   # 0x1115ef0
testq %rdi, %rdi
jne 0x62d9b
movl $0x7, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x7, 0x10(%rax)
movl $0x36746e69, 0x18(%rax) # imm = 0x36746E69
movl $0x745f3436, 0x1b(%rax) # imm = 0x745F3436
movq %rax, 0x10b3155(%rip)   # 0x1115ef0
movabsq $0xfffffffffffc, %r14   # imm = 0xFFFFFFFFFFFC
movq %rdi, %rax
andq %r14, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x62dbb
incl (%rax)
callq 0x20c82
addq $0x4, %r14
orq %rdx, %r14
leaq 0xaefa3(%rip), %rsi     # 0x111d71
movq %r14, %rdi
callq 0x9353
movq %rdx, %r13
movl $0x1, %r12d
movq %rbx, %r14
movq %r15, (%r14)
movl %r12d, %eax
movq %r13, %rdx
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq -0x70(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x12d94
movq 0x128(%rax), %r12
movq %rax, %rcx
andq %r15, %rcx
sete %dl
testb $0x3, %al
setne %sil
orb %dl, %sil
jne 0x62e35
decl (%rcx)
jne 0x62e35
movq %rax, %rdi
leaq 0xae881(%rip), %rsi     # 0x1116b1
callq 0xd13d
cmpq -0x40(%rbp), %r12
jne 0x62eb9
movq 0x10b30f6(%rip), %rdi   # 0x1115f38
testq %rdi, %rdi
jne 0x62e71
movl $0x8, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x8, 0x10(%rax)
movabsq $0x7463697274736572, %rax # imm = 0x7463697274736572
movq %rax, 0x18(%rdi)
movq %rdi, 0x10b30c7(%rip)   # 0x1115f38
andq %rdi, %r15
sete %al
testb $0x3, %dil
setne %cl
orb %al, %cl
jne 0x62e85
incl (%r15)
movq -0x38(%rbp), %rsi
movq %r13, %rdx
callq 0x63370
shlq $0x30, %rax
orq %rdx, %rax
leaq 0xaeed2(%rip), %rsi     # 0x111d71
movq %rax, %rdi
callq 0x9353
movq %rdx, %r13
movl $0x1, %r12d
movq -0x68(%rbp), %r15
jmp 0x628fb
movq -0x68(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x12d94
movq 0x138(%rax), %r12
movq %rax, %rcx
andq %r15, %rcx
sete %dl
testb $0x3, %al
setne %sil
orb %dl, %sil
jne 0x62ef7
decl (%rcx)
jne 0x62ef7
movq %rax, %rdi
leaq 0xae7bf(%rip), %rsi     # 0x1116b1
callq 0xd13d
cmpq -0x40(%rbp), %r12
jne 0x62f7b
movq 0x10b303c(%rip), %rdi   # 0x1115f40
testq %rdi, %rdi
jne 0x62f33
movl $0x8, %edi
callq 0xf5e4
movq %rax, %rdi
movq $0x8, 0x10(%rax)
movabsq $0x656c6974616c6f76, %rax # imm = 0x656C6974616C6F76
movq %rax, 0x18(%rdi)
movq %rdi, 0x10b300d(%rip)   # 0x1115f40
andq %rdi, %r15
sete %al
testb $0x3, %dil
setne %cl
orb %al, %cl
jne 0x62f47
incl (%r15)
movq -0x38(%rbp), %rsi
movq %r13, %rdx
callq 0x63370
shlq $0x30, %rax
orq %rdx, %rax
leaq 0xaee10(%rip), %rsi     # 0x111d71
movq %rax, %rdi
callq 0x9353
movq %rdx, %r13
movl $0x1, %r12d
leaq 0xaeb70(%rip), %rsi     # 0x111ae9
jmp 0x62fae
testq %r13, %r13
leaq 0xaeb64(%rip), %rsi     # 0x111ae9
je 0x62fa8
decl (%r13)
jne 0x62fa8
movq -0x80(%rbp), %rdi
andq $-0x4, %rdi
leaq 0xaedd5(%rip), %rsi     # 0x111d71
callq 0xd13d
leaq 0xaeb41(%rip), %rsi     # 0x111ae9
xorl %r12d, %r12d
xorl %r13d, %r13d
movq -0x90(%rbp), %r15
jmp 0x62902
movl $0x20, %edi
callq 0xf5e4
movq $0x20, 0x10(%rax)
movups 0x7d6fa(%rip), %xmm0    # 0xe06cd
movups %xmm0, 0x18(%rax)
movups 0x7d6ff(%rip), %xmm0    # 0xe06dd
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x9302