// File: /workspace/github_c_makefile_star2_O2/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_arrow_Atom_similar
static bool mw_mirth_arrow_Atom_similar (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_arrow_Atom* in_Atom_2, struct mirth_arrow_Atom* in_Atom_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	incref(MK_mirth_arrow_Atom(in_Atom_2));
	incref(MK_mirth_arrow_Atom(in_Atom_3));
	struct mirth_arrow_Op v6 = in_Atom_2->mop;
	incref(MK_mirth_arrow_Op(v6));
	decref(MK_mirth_arrow_Atom(in_Atom_2));
	struct mirth_arrow_Op v7 = in_Atom_3->mop;
	incref(MK_mirth_arrow_Op(v7));
	decref(MK_mirth_arrow_Atom(in_Atom_3));
	struct mirth_mirth_zaMirth* v8;
	bool v9 = mw_mirth_arrow_Op_similar(in_zaMirth_1, v6, v7, &v8);
	struct mirth_mirth_zaMirth* branch_zaMirth_10;
	struct mirth_arrow_Atom* branch_Atom_11;
	struct mirth_arrow_Atom* branch_Atom_12;
	bool branch_Bool_13;
	if (v9) {
		incref(MK_mirth_arrow_Atom(in_Atom_2));
		incref(MK_mirth_arrow_Atom(in_Atom_3));
		struct std_list_List_1 v14 = in_Atom_2->margs;
		incref(MK_std_list_List_1(v14));
		decref(MK_mirth_arrow_Atom(in_Atom_2));
		struct std_list_List_1 v15 = in_Atom_3->margs;
		incref(MK_std_list_List_1(v15));
		decref(MK_mirth_arrow_Atom(in_Atom_3));
		struct mirth_mirth_zaMirth* v16;
		bool v17 = mw_std_list_List_1_zd_sp1(v8, v14, v15, &v16);
		branch_Bool_13 = v17;
		branch_Atom_12 = in_Atom_3;
		branch_Atom_11 = in_Atom_2;
		branch_zaMirth_10 = v16;
	} else {
		bool v18 = false;
		branch_Bool_13 = v18;
		branch_Atom_12 = in_Atom_3;
		branch_Atom_11 = in_Atom_2;
		branch_zaMirth_10 = v8;
	}
	decref(MK_mirth_arrow_Atom(branch_Atom_12));
	decref(MK_mirth_arrow_Atom(branch_Atom_11));
	*out_zaMirth_4 = branch_zaMirth_10;
	return branch_Bool_13;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %rcx, -0x80(%rbp)
movq %rsi, %r14
movq %rdi, %rbx
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
movq %rsi, %r13
andq %rcx, %r13
setne %al
testb $0x3, %r14b
sete %r15b
andb %al, %r15b
cmpb $0x1, %r15b
jne 0x86b76
incl (%r13)
movq %rdx, %rax
andq %rcx, %rax
movq %rax, -0x70(%rbp)
setne %al
testb $0x3, %dl
sete %sil
andb %al, %sil
cmpb $0x1, %sil
jne 0x86b99
movq -0x70(%rbp), %rax
incl (%rax)
movl 0x30(%r14), %r8d
movq 0x38(%r14), %r12
movq %r12, %rax
andq %rcx, %rax
movq %rax, -0x48(%rbp)
setne %al
testb $0x3, %r12b
sete %dil
andb %al, %dil
movb %dil, -0x2a(%rbp)
cmpb $0x1, %dil
jne 0x86bc9
movq -0x48(%rbp), %rax
incl (%rax)
testb %r15b, %r15b
movb %sil, -0x49(%rbp)
movq %rbx, -0x40(%rbp)
movq %r12, -0x68(%rbp)
je 0x86c13
decl (%r13)
jne 0x86c13
movq %r14, %rdi
leaq 0x82c7f(%rip), %rsi     # 0x109869
movl %r15d, %ebx
movq %rdx, %r15
movq %r8, %r12
callq 0xce94
movq %r12, %r8
movq -0x68(%rbp), %r12
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
movb -0x49(%rbp), %sil
movq %r15, %rdx
movl %ebx, %r15d
movq %r13, -0x60(%rbp)
movq %r14, -0x58(%rbp)
movl 0x30(%rdx), %r14d
movq %rdx, -0x38(%rbp)
movq 0x38(%rdx), %r13
movq %r13, %rax
andq %rcx, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x86c3d
incl (%rax)
testb %sil, %sil
je 0x86c6a
movq -0x70(%rbp), %rax
decl (%rax)
jne 0x86c6a
movq -0x38(%rbp), %rdi
leaq 0x82c14(%rip), %rsi     # 0x109869
movl %r15d, %r12d
movq %r8, %r15
callq 0xce94
movq %r15, %r8
movl %r12d, %r15d
movq -0x68(%rbp), %r12
cmpl $0x15, %r14d
ja 0x876e8
movq %r8, %rbx
shlq $0x30, %rbx
orq %r12, %rbx
movl %r14d, %eax
leaq 0x4cb04(%rip), %rcx     # 0xd378c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl %r15d, %r14d
movq %r13, %rdi
movq %r8, %r15
callq 0x530c0
testl %r15d, %r15d
je 0x87315
cmpb $0x0, -0x2a(%rbp)
movl %r14d, %r15d
jne 0x870f5
jmp 0x87665
movl %r15d, %r14d
movq %r13, %rdi
movq %r8, %r15
callq 0x53621
cmpl $0x10, %r15d
jne 0x8701d
movq %rax, %r12
movq -0x68(%rbp), %rdi
callq 0x53621
jmp 0x87004
movl %r15d, %r14d
movq %r13, %rdi
movq %r8, %r15
callq 0x535e7
cmpl $0xe, %r15d
jne 0x8701d
movq %rax, %r12
movq -0x68(%rbp), %rdi
callq 0x535e7
jmp 0x87004
movb %r15b, -0x29(%rbp)
movq %r13, %rdi
movq %r8, %r15
callq 0x533e0
cmpl $0xb, %r15d
jne 0x870a3
movq %rax, %r14
movq %r12, %rdi
callq 0x533e0
jmp 0x87088
movl %r15d, %r14d
movq %r13, %rdi
movq %r8, %r15
callq 0x532e9
cmpl $0x4, %r15d
jne 0x8701d
movq %rax, %r12
movq -0x68(%rbp), %rdi
callq 0x532e9
jmp 0x87004
movl %r15d, %r14d
movq %r13, %rdi
movq %r8, %r15
callq 0x535ad
cmpl $0xc, %r15d
jne 0x8701d
movq %rax, %r12
movq -0x68(%rbp), %rdi
callq 0x535ad
jmp 0x87004
movq %r13, %rdi
callq 0x5351a
jmp 0x870eb
movl %r15d, %r14d
movq %r13, %rdi
movq %r8, %r15
callq 0x53215
cmpl $0x2, %r15d
jne 0x8701d
movq %rax, %r12
movq -0x68(%rbp), %rdi
callq 0x53215
jmp 0x87004
movl %r15d, %r14d
movq %r13, %rdi
movq %r8, %r15
callq 0x53604
cmpl $0xf, %r15d
jne 0x8701d
movq %rax, %r12
movq -0x68(%rbp), %rdi
callq 0x53604
jmp 0x87004
movl %r15d, %r14d
movq %r13, %rdi
movq %r8, %r15
callq 0x52fb3
cmpl $0x3, %r15d
jne 0x8701d
movq %rax, %r12
movq -0x68(%rbp), %rdi
callq 0x52fb3
jmp 0x87004
movq %r13, %rdi
callq 0x53537
movabsq $0xfffffffffffc, %rsi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rsi
sete %cl
testb $0x3, %al
setne %dl
orb %cl, %dl
jne 0x870eb
decl (%rsi)
jne 0x870eb
leaq 0x8282e(%rip), %rsi     # 0x109671
jmp 0x870e3
movl %r15d, %r14d
movq %r13, %rdi
movq %r8, %r15
callq 0x5303c
cmpl $0x1, %r15d
jne 0x8701d
movq %rax, %r12
movq -0x68(%rbp), %rdi
callq 0x5303c
jmp 0x87004
movl %r15d, %r14d
movq %r13, %rdi
movq %r8, %r15
callq 0x53726
cmpl $0x11, %r15d
jne 0x8701d
movq %rax, %r12
movq -0x68(%rbp), %rdi
callq 0x53726
jmp 0x87004
movl %r15d, %r14d
movq %r13, %rdi
movq %r8, %r15
callq 0x53b86
cmpl $0x14, %r15d
jne 0x8701d
movq %rax, %r12
movq -0x68(%rbp), %rdi
callq 0x53b86
jmp 0x87004
movq %r13, %rdi
movq %r8, %r14
callq 0x52f1e
movq %rdx, %r13
cmpl $0x5, %r14d
jne 0x872a3
movq %rax, -0x48(%rbp)
movb %r15b, -0x29(%rbp)
movq %r12, %rdi
callq 0x52f1e
cmpl $0xc, %eax
movq -0x58(%rbp), %r14
movq -0x60(%rbp), %r15
ja 0x876e8
movl %eax, %eax
leaq 0x4c8df(%rip), %rcx     # 0xd37e4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
movq -0x40(%rbp), %r12
jmpq *%rax
movq %rdx, %rdi
callq 0x53bc0
movq %rax, %rbx
movq -0x48(%rbp), %rdi
testl %edi, %edi
je 0x876c0
movq %rax, %r12
movq %r13, %rax
movabsq $0xfffffffffffc, %rsi   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x86f6b
decl (%rax)
jne 0x86f6b
shlq $0x30, %rdi
orq %r13, %rdi
leaq 0x828c5(%rip), %rsi     # 0x109821
callq 0xce94
movabsq $0xfffffffffffc, %rsi   # imm = 0xFFFFFFFFFFFC
andq %rsi, %r12
sete %al
testb $0x3, %bl
setne %cl
orb %al, %cl
movb -0x29(%rbp), %r15b
jne 0x87665
decl (%r12)
movq -0x38(%rbp), %rdi
jne 0x87114
leaq 0x811c1(%rip), %rsi     # 0x108159
movq %rbx, %rdi
jmp 0x8710b
movl %r15d, %r14d
movq %r13, %rdi
movq %r8, %r15
callq 0x53ba3
cmpl $0x15, %r15d
jne 0x8701d
movq %rax, %r12
movq -0x68(%rbp), %rdi
callq 0x53ba3
jmp 0x87004
movl %r15d, %r14d
movq %r13, %rdi
movq %r8, %r15
callq 0x535ca
cmpl $0xd, %r15d
jne 0x8701d
movq %rax, %r12
movq -0x68(%rbp), %rdi
callq 0x535ca
jmp 0x87004
movl %r15d, %r14d
movq %r13, %rdi
movq %r8, %r15
callq 0x52fd0
cmpl $0x6, %r15d
jne 0x8701d
movq %rax, %r12
movq -0x68(%rbp), %rdi
callq 0x52fd0
cmpq %r12, %rax
movq -0x40(%rbp), %r12
movl %r14d, %r15d
jne 0x87589
movb %r15b, -0x29(%rbp)
jmp 0x87165
cmpb $0x0, -0x2a(%rbp)
movq -0x38(%rbp), %rdi
movl %r14d, %r15d
je 0x87114
movq -0x48(%rbp), %rax
decl (%rax)
jne 0x87114
jmp 0x87101
movb %r15b, -0x29(%rbp)
movq %r13, %rdi
movq %r8, %r15
callq 0x537b7
movq %rax, %r13
cmpl $0x12, %r15d
jne 0x87247
movq %r12, %rdi
callq 0x537b7
jmp 0x87140
movb %r15b, -0x29(%rbp)
movq %r13, %rdi
movq %r8, %r15
callq 0x533c3
cmpl $0xa, %r15d
jne 0x870a3
movq %rax, %r14
movq %r12, %rdi
callq 0x533c3
leaq -0x78(%rbp), %rbx
movq -0x40(%rbp), %rdi
movq %r14, %rsi
movq %rax, %rdx
movq %rbx, %rcx
callq 0x8668c
jmp 0x87156
cmpb $0x0, -0x2a(%rbp)
movq -0x38(%rbp), %rdi
movb -0x29(%rbp), %r15b
jne 0x8702e
jmp 0x87114
movq %r13, %rdi
callq 0x53572
movabsq $0xfffffffffffc, %rsi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rsi
sete %cl
testb $0x3, %al
setne %dl
orb %cl, %dl
jne 0x870eb
decl (%rsi)
jne 0x870eb
leaq 0x826ae(%rip), %rsi     # 0x109791
movq %rax, %rdi
callq 0xce94
cmpb $0x0, -0x2a(%rbp)
je 0x87665
movq -0x48(%rbp), %rax
decl (%rax)
movq -0x38(%rbp), %rdi
jne 0x87114
movq %rbx, %rdi
leaq 0x8263e(%rip), %rsi     # 0x109749
callq 0xce94
movq -0x38(%rbp), %rdi
xorl %r13d, %r13d
jmp 0x8766c
movb %r15b, -0x29(%rbp)
movq %r13, %rdi
movq %r8, %r15
callq 0x539bb
movq %rax, %r13
cmpl $0x13, %r15d
jne 0x87247
movq %r12, %rdi
callq 0x539bb
leaq -0x78(%rbp), %rbx
movq -0x40(%rbp), %rdi
movq %r13, %rsi
movq %rax, %rdx
movq %rbx, %rcx
callq 0x876ff
movq (%rbx), %r12
testb %al, %al
movb -0x29(%rbp), %r15b
je 0x87589
movq -0x58(%rbp), %r14
movq -0x60(%rbp), %r15
cmpb $0x0, -0x29(%rbp)
movb -0x49(%rbp), %sil
movabsq $0xfffffffffffc, %rdi   # imm = 0xFFFFFFFFFFFC
je 0x87184
incl (%r15)
movq %r12, -0x40(%rbp)
testb %sil, %sil
je 0x87193
movq -0x70(%rbp), %rax
incl (%rax)
movl 0x40(%r14), %ebx
movq 0x48(%r14), %r12
movq %r12, %rax
andq %rdi, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0x871b1
incl (%rax)
cmpb $0x0, -0x29(%rbp)
movq -0x38(%rbp), %rax
je 0x871e1
decl (%r15)
jne 0x871e1
movq %r14, %rdi
leaq 0x8269f(%rip), %rsi     # 0x109869
callq 0xce94
movabsq $0xfffffffffffc, %rdi   # imm = 0xFFFFFFFFFFFC
movb -0x49(%rbp), %sil
movq -0x38(%rbp), %rax
movl 0x40(%rax), %r13d
movq 0x48(%rax), %r14
andq %r14, %rdi
sete %al
testb $0x3, %r14b
setne %cl
orb %al, %cl
jne 0x871fc
incl (%rdi)
testb %sil, %sil
je 0x87219
movq -0x70(%rbp), %rax
decl (%rax)
jne 0x87219
movq -0x38(%rbp), %rdi
leaq 0x82655(%rip), %rsi     # 0x109869
callq 0xce94
leaq -0x78(%rbp), %r15
movq -0x40(%rbp), %rdi
movl %ebx, %esi
movq %r12, %rdx
movl %r13d, %ecx
movq %r14, %r8
movq %r15, %r9
callq 0x862a3
movl %eax, %r13d
movq (%r15), %r12
movq -0x38(%rbp), %rdi
movb -0x29(%rbp), %r15b
jmp 0x87670
movq %rax, %r14
cmpb $0x0, -0x2a(%rbp)
movb -0x29(%rbp), %r15b
je 0x8726b
movq -0x48(%rbp), %rax
decl (%rax)
jne 0x8726b
movq %rbx, %rdi
leaq 0x824e3(%rip), %rsi     # 0x109749
callq 0xce94
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r14
sete %al
testb $0x3, %r13b
setne %cl
orb %al, %cl
jne 0x87665
decl (%r14)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %r12
jne 0x8730d
leaq 0x8253b(%rip), %rsi     # 0x1097d9
movq %r13, %rdi
jmp 0x87304
cmpb $0x0, -0x2a(%rbp)
je 0x872c6
movq -0x48(%rbp), %rcx
decl (%rcx)
jne 0x872c6
movq %rbx, %rdi
leaq 0x8248e(%rip), %rsi     # 0x109749
movq %rax, %r14
callq 0xce94
movq %r14, %rax
movabsq $0xfffffffffffc, %rdx   # imm = 0xFFFFFFFFFFFC
andq %r13, %rdx
sete %sil
testb $0x3, %r13b
setne %cl
orb %sil, %cl
jne 0x87665
decl (%rdx)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %r12
jne 0x8730d
shlq $0x30, %rax
orq %r13, %rax
leaq 0x82520(%rip), %rsi     # 0x109821
movq %rax, %rdi
callq 0xce94
movq -0x38(%rbp), %rdi
xorl %r13d, %r13d
jmp 0x87670
movl %eax, %r13d
movq %r12, %rdi
callq 0x530c0
movl %r13d, %edi
movl %eax, %esi
callq 0x2d345
testb %al, %al
movq -0x40(%rbp), %r12
movl %r14d, %r15d
jne 0x87014
jmp 0x87589
movq %rdx, %rdi
callq 0x53db8
movq -0x48(%rbp), %rdi
cmpl $0xb, %edi
jne 0x87553
movq %r13, %rdi
movss %xmm0, -0x48(%rbp)
callq 0x53db8
ucomiss -0x48(%rbp), %xmm0
jmp 0x873b1
movq %rdx, %rdi
callq 0x53caa
movq -0x48(%rbp), %rdi
cmpl $0x4, %edi
jne 0x87553
movl %eax, %ebx
movq %r13, %rdi
callq 0x53caa
jmp 0x87542
movq %rdx, %rdi
callq 0x53dee
movq -0x48(%rbp), %rdi
cmpl $0xc, %edi
jne 0x87553
movq %r13, %rdi
movsd %xmm0, -0x48(%rbp)
callq 0x53dee
ucomisd -0x48(%rbp), %xmm0
jne 0x8754b
jnp 0x8716d
jmp 0x8754b
movq %rdx, %rdi
callq 0x53d71
movq -0x48(%rbp), %rdi
cmpl $0x9, %edi
jne 0x87553
movl %eax, %ebx
movq %r13, %rdi
callq 0x53d71
jmp 0x874b0
movq %rdx, %rdi
callq 0x53c36
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpl $0x2, %edi
jne 0x87595
movq %r13, %rdi
callq 0x53c36
jmp 0x87475
movq %rdx, %rdi
callq 0x53c80
movq -0x48(%rbp), %rdi
cmpl $0x3, %edi
jne 0x87553
movl %eax, %ebx
movq %r13, %rdi
callq 0x53c80
jmp 0x87448
movq %rdx, %rdi
callq 0x53d1c
movq -0x48(%rbp), %rdi
cmpl $0x7, %edi
jne 0x87553
movl %eax, %ebx
movq %r13, %rdi
callq 0x53d1c
cmpb %bl, %al
je 0x8716d
jmp 0x8754b
movq %rdx, %rdi
callq 0x53bfb
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpl $0x1, %edi
jne 0x875fa
movq %r13, %rdi
callq 0x53bfb
movq %rax, %rdi
movq %rbx, %rsi
callq 0xd759
testb %al, %al
je 0x876db
movq -0x40(%rbp), %r12
jmp 0x8716d
movq %rdx, %rdi
callq 0x53cd5
movq -0x48(%rbp), %rdi
cmpl $0x5, %edi
jne 0x87553
movl %eax, %ebx
movq %r13, %rdi
callq 0x53cd5
cmpl %ebx, %eax
je 0x8716d
jmp 0x8754b
movq %rdx, %rdi
callq 0x53cff
movq -0x48(%rbp), %rdi
cmpl $0x6, %edi
jne 0x87502
movq %rax, %rbx
movq %r13, %rdi
callq 0x53cff
jmp 0x874f7
movq %rdx, %rdi
callq 0x53d9b
movq -0x48(%rbp), %rdi
cmpl $0xa, %edi
jne 0x87502
movq %rax, %rbx
movq %r13, %rdi
callq 0x53d9b
cmpq %rbx, %rax
je 0x8716d
jmp 0x8754b
movabsq $0xfffffffffffc, %rdx   # imm = 0xFFFFFFFFFFFC
andq %r13, %rdx
sete %al
testb $0x3, %r13b
setne %cl
orb %al, %cl
jne 0x8754b
decl (%rdx)
movb -0x29(%rbp), %r15b
jne 0x87589
jmp 0x87576
movq %rdx, %rdi
callq 0x53d46
movq -0x48(%rbp), %rdi
cmpl $0x8, %edi
jne 0x87553
movl %eax, %ebx
movq %r13, %rdi
callq 0x53d46
cmpw %bx, %ax
je 0x8716d
xorl %r13d, %r13d
jmp 0x8723a
movabsq $0xfffffffffffc, %rdx   # imm = 0xFFFFFFFFFFFC
andq %r13, %rdx
sete %al
testb $0x3, %r13b
setne %cl
orb %al, %cl
movb -0x29(%rbp), %r15b
jne 0x87589
decl (%rdx)
jne 0x87589
shlq $0x30, %rdi
orq %r13, %rdi
leaq 0x8229d(%rip), %rsi     # 0x109821
callq 0xce94
xorl %r13d, %r13d
movq -0x38(%rbp), %rdi
jmp 0x87670
movq %rax, %r12
movq %r13, %rax
movabsq $0xfffffffffffc, %rsi   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x875d7
decl (%rax)
jne 0x875d7
shlq $0x30, %rdi
orq %r13, %rdi
leaq 0x82259(%rip), %rsi     # 0x109821
callq 0xce94
movabsq $0xfffffffffffc, %rsi   # imm = 0xFFFFFFFFFFFC
andq %rsi, %r12
sete %al
testb $0x3, %bl
setne %cl
orb %al, %cl
movb -0x29(%rbp), %r15b
jne 0x87665
decl (%r12)
jne 0x87665
leaq 0x80b19(%rip), %rsi     # 0x108111
jmp 0x8765d
movq %rax, %r12
movq %r13, %rax
movabsq $0xfffffffffffc, %rsi   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x8763c
decl (%rax)
jne 0x8763c
shlq $0x30, %rdi
orq %r13, %rdi
leaq 0x821f4(%rip), %rsi     # 0x109821
callq 0xce94
movabsq $0xfffffffffffc, %rsi   # imm = 0xFFFFFFFFFFFC
andq %rsi, %r12
sete %al
testb $0x3, %bl
setne %cl
orb %al, %cl
movb -0x29(%rbp), %r15b
jne 0x87665
decl (%r12)
jne 0x87665
leaq 0x80dcc(%rip), %rsi     # 0x108429
movq %rbx, %rdi
callq 0xce94
xorl %r13d, %r13d
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %r12
cmpb $0x0, -0x49(%rbp)
je 0x8768a
movq -0x70(%rbp), %rax
decl (%rax)
jne 0x8768a
leaq 0x821e4(%rip), %rsi     # 0x109869
callq 0xce94
testb %r15b, %r15b
je 0x876a7
movq -0x60(%rbp), %rax
decl (%rax)
jne 0x876a7
movq -0x58(%rbp), %rdi
leaq 0x821c7(%rip), %rsi     # 0x109869
callq 0xce94
movq -0x80(%rbp), %rax
movq %r12, (%rax)
movl %r13d, %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r13, %rdi
callq 0x53bc0
movq %rax, %rdi
movq %rbx, %rsi
callq 0xd769
testl %eax, %eax
je 0x87488
xorl %r13d, %r13d
movq -0x38(%rbp), %rdi
movb -0x29(%rbp), %r15b
jmp 0x8766c
leaq 0x4d11e(%rip), %rdi     # 0xd480d
pushq $0x20
popq %rsi
callq 0x8a21
movq %rax, %rdi
callq 0x8cc6