// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_zaAB_elabzeatomzedefzx
static void mw_mirth_elab_zaAB_elabzeatomzedefzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_arrow_Arrow* in_zaAB_2, struct mirth_def_Def in_Def_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_arrow_Arrow* *out_zaAB_5) {
	struct mirth_mirth_zaMirth* branch_zaMirth_6;
	struct mirth_arrow_Arrow* branch_zaAB_7;
	switch ((in_Def_3).tag) {
		case mirth_def_Def_Alias: {
			uint64_t v8 = mtp_mirth_def_Def_Alias(in_Def_3);
			struct mirth_mirth_zaMirth* v9;
			struct mirth_def_Def v10 = mw_mirth_alias_Alias_target(in_zaMirth_1, v8, &v9);
			struct mirth_mirth_zaMirth* v11;
			struct mirth_arrow_Arrow* v12;
			mw_mirth_elab_zaAB_elabzeatomzedefzx(v9, in_zaAB_2, v10, &v11, &v12);
			branch_zaAB_7 = v12;
			branch_zaMirth_6 = v11;
		} break;
		case mirth_def_Def_Buffer: {
			uint64_t v13 = mtp_mirth_def_Def_Buffer(in_Def_3);
			struct mirth_mirth_zaMirth* v14;
			struct mirth_arrow_Arrow* v15;
			mw_mirth_elab_zaAB_elabzenozeargszx(in_zaMirth_1, in_zaAB_2, &v14, &v15);
			struct mirth_mirth_zaMirth* v16;
			struct mirth_arrow_Arrow* v17;
			mw_mirth_elab_zaAB_abzebufferzx(v14, v15, v13, &v16, &v17);
			branch_zaAB_7 = v17;
			branch_zaMirth_6 = v16;
		} break;
		case mirth_def_Def_External: {
			uint64_t v18 = mtp_mirth_def_Def_External(in_Def_3);
			struct mirth_mirth_zaMirth* v19;
			struct mirth_arrow_Arrow* v20;
			mw_mirth_elab_zaAB_elabzenozeargszx(in_zaMirth_1, in_zaAB_2, &v19, &v20);
			struct mirth_mirth_zaMirth* v21;
			struct mirth_arrow_Arrow* v22;
			mw_mirth_elab_zaAB_abzeexternalzx(v19, v20, v18, &v21, &v22);
			branch_zaAB_7 = v22;
			branch_zaMirth_6 = v21;
		} break;
		case mirth_def_Def_Field: {
			uint64_t v23 = mtp_mirth_def_Def_Field(in_Def_3);
			struct mirth_mirth_zaMirth* v24;
			struct mirth_arrow_Arrow* v25;
			mw_mirth_elab_zaAB_elabzenozeargszx(in_zaMirth_1, in_zaAB_2, &v24, &v25);
			struct mirth_mirth_zaMirth* v26;
			struct mirth_arrow_Arrow* v27;
			mw_mirth_elab_zaAB_abzefieldzx(v24, v25, v23, &v26, &v27);
			branch_zaAB_7 = v27;
			branch_zaMirth_6 = v26;
		} break;
		case mirth_def_Def_Word: {
			uint64_t v28 = mtp_mirth_def_Def_Word(in_Def_3);
			struct mirth_mirth_zaMirth* v29;
			struct mirth_arrow_Arrow* v30;
			uint64_t v31;
			struct std_list_List_1 v32 = mw_mirth_elab_zaAB_elabzewordzeargszx(in_zaMirth_1, in_zaAB_2, v28, &v29, &v30, &v31);
			struct mirth_mirth_zaMirth* v33;
			struct mirth_arrow_Arrow* v34;
			mw_mirth_elab_zaAB_abzewordzx(v29, v30, v32, v31, &v33, &v34);
			branch_zaAB_7 = v34;
			branch_zaMirth_6 = v33;
		} break;
		case mirth_def_Def_Tag: {
			uint64_t v35 = mtp_mirth_def_Def_Tag(in_Def_3);
			struct mirth_mirth_zaMirth* v36;
			struct mirth_arrow_Arrow* v37;
			struct std_list_List_1 v38 = mw_mirth_elab_zaAB_elabzeargszx(in_zaMirth_1, in_zaAB_2, &v36, &v37);
			struct mirth_arrow_Op v39 = mtw_mirth_arrow_Op_Tag(v35);
			struct mirth_mirth_zaMirth* v40;
			struct mirth_arrow_Arrow* v41;
			mw_mirth_elab_zaAB_abzeopzx(v36, v37, v38, v39, &v40, &v41);
			branch_zaAB_7 = v41;
			branch_zaMirth_6 = v40;
		} break;
		case mirth_def_Def_Prim: {
			enum mirth_prim_Prim v42 = mtp_mirth_def_Def_Prim(in_Def_3);
			struct mirth_mirth_zaMirth* v43;
			struct mirth_arrow_Arrow* v44;
			mw_mirth_elab_zaAB_elabzeprimzx(in_zaMirth_1, in_zaAB_2, v42, &v43, &v44);
			branch_zaAB_7 = v44;
			branch_zaMirth_6 = v43;
		} break;
		case mirth_def_Def_Macro: {
			uint64_t v45 = mtp_mirth_def_Def_Macro(in_Def_3);
			struct mirth_mirth_zaMirth* v46;
			struct mirth_arrow_Arrow* v47;
			mw_mirth_elab_zaAB_elabzemacrozx(in_zaMirth_1, in_zaAB_2, v45, &v46, &v47);
			branch_zaAB_7 = v47;
			branch_zaMirth_6 = v46;
		} break;
		default: {
			struct mirth_mirth_zaMirth* v48;
			struct mirth_name_QName* v49 = mw_mirth_def_Def_qnamezehard(in_zaMirth_1, in_Def_3, &v48);
			struct mirth_mirth_zaMirth* v50;
			struct mirth_arrow_Arrow* v51;
			mw_mirth_elab_zaAB_elabzeatomzenotzecallablezx(v48, in_zaAB_2, v49, &v50, &v51);
			branch_zaAB_7 = v51;
			branch_zaMirth_6 = v50;
		} break;
	}
	*out_zaAB_5 = branch_zaAB_7;
	*out_zaMirth_4 = branch_zaMirth_6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xe8, %rsp
movq %r9, %r13
movq %r8, %r12
movq %rsi, %r14
movq %rdi, %rbx
cmpl $0xc, %edx
ja 0x52200
movl %edx, %eax
leaq 0x8cd30(%rip), %rsi     # 0xdeeb8
movslq (%rsi,%rax,4), %rax
addq %rsi, %rax
jmpq *%rax
movq 0x8(%rcx), %r15
decl (%rcx)
jne 0x521a1
movq %rcx, %rdi
callq 0x5030
leaq 0x10c3270(%rip), %rdi   # 0x1115418
movq %r15, %rsi
callq 0x13c85
leaq -0x90(%rbp), %r15
movq %rbx, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x1a6db
movq (%r15), %rdi
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rax, %rcx
movq %rax, %rdx
shrq $0x30, %rdx
leaq -0x90(%rbp), %rbx
leaq -0x78(%rbp), %r15
movq %r14, %rsi
movq %rbx, %r8
movq %r15, %r9
callq 0x52156
movq (%r15), %r14
movq (%rbx), %rbx
jmp 0x53ed2
leaq -0xe0(%rbp), %r15
movq %rbx, %rdi
movl %edx, %esi
movq %rcx, %rdx
movq %r15, %rcx
callq 0x2dac3
movq %rax, %rbx
movq (%r15), %r15
leaq -0x60(%rbp), %rsi
movq %r14, %rdi
callq 0x43394
leaq -0x98(%rbp), %rcx
movq %r15, %rdi
movl %eax, %esi
callq 0x4e71c
testb %al, %al
je 0x52710
movq %r12, -0x58(%rbp)
movq -0x60(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x432bd
movq %rax, %r14
movq 0x10c3848(%rip), %r15   # 0x1115aa8
testq %r15, %r15
jne 0x5227e
xorl %edi, %edi
callq 0xf5e4
movq %rax, %r15
movq $0x0, 0x10(%rax)
movq %rax, 0x10c382a(%rip)   # 0x1115aa8
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
movq %r15, %rax
andq %r12, %rax
sete %cl
testb $0x3, %r15b
setne %dl
orb %cl, %dl
jne 0x5229e
incl (%rax)
movq 0x10c380b(%rip), %rsi   # 0x1115ab0
testq %rsi, %rsi
jne 0x522e2
movl $0xe, %edi
callq 0xf5e4
movq %rax, %rsi
movq $0xe, 0x10(%rax)
movabsq $0x6c6c616320746f4e, %rax # imm = 0x6C6C616320746F4E
movq %rax, 0x18(%rsi)
movabsq $0x203a656c62616c6c, %rax # imm = 0x203A656C62616C6C
movq %rax, 0x1e(%rsi)
movq %rsi, 0x10c37ce(%rip)   # 0x1115ab0
andq %rsi, %r12
sete %al
testb $0x3, %sil
setne %cl
orb %al, %cl
jne 0x522f7
incl (%r12)
movq %r15, %rdi
callq 0xe069
movq -0x98(%rbp), %rdi
leaq -0xc0(%rbp), %r15
leaq -0xe8(%rbp), %r12
movq %rax, %rsi
movq %rbx, %rdx
movq %r15, %rcx
movq %r12, %r8
callq 0x14a8c
movq (%r15), %rdi
movq (%r12), %rbx
leaq -0x78(%rbp), %r15
movq %r14, %rsi
movq %r15, %rdx
callq 0x1b59d
movq (%r15), %rdi
leaq -0x90(%rbp), %r14
movq %rax, %rsi
movq %rbx, %rdx
movl $0x2, %ecx
movq %r14, %r8
callq 0x1bc32
movq (%r14), %rbx
movq -0xc8(%rbp), %rdi
movq -0x58(%rbp), %r12
jmp 0x5274b
movq %r13, -0x50(%rbp)
movq %r12, -0x58(%rbp)
movq 0x8(%rcx), %r12
decl (%rcx)
jne 0x52383
movq %rcx, %rdi
callq 0x5030
leaq -0x90(%rbp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x432bd
leaq -0x78(%rbp), %r14
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x27534
movq (%r15), %rbx
movq (%r14), %r13
movq %r12, %rdi
callq 0x543a6
movq %r13, %rdi
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
movl $0x2, %r8d
jmp 0x526f8
movq %r13, -0x50(%rbp)
movq %r12, -0x58(%rbp)
movq 0x8(%rcx), %r15
decl (%rcx)
jne 0x523e2
movq %rcx, %rdi
callq 0x5030
leaq -0x90(%rbp), %r12
leaq -0x78(%rbp), %r13
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x541eb
movl %eax, %ebx
movq %rdx, %r14
movq %r15, %rdi
callq 0x54300
movq (%r12), %rdi
movq (%r13), %rsi
leaq -0x98(%rbp), %r15
leaq -0x60(%rbp), %r12
movl %ebx, %edx
movq %r14, %rcx
movl $0x6, %r8d
movq %rax, %r9
pushq %r15
pushq %r12
callq 0x43977
addq $0x10, %rsp
movq (%r15), %r14
movq (%r12), %rbx
jmp 0x53eca
movq %r13, -0x50(%rbp)
movq %r12, -0x58(%rbp)
movq 0x8(%rcx), %r12
decl (%rcx)
jne 0x5245d
movq %rcx, %rdi
callq 0x5030
leaq -0x90(%rbp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x432bd
leaq -0x78(%rbp), %r14
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x27534
movq (%r15), %rbx
movq (%r14), %r13
movq %r12, %rdi
callq 0x543f9
movq %r13, %rdi
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
movl $0x4, %r8d
jmp 0x526f8
movq %r13, -0x50(%rbp)
movq %r12, %r13
movq 0x8(%rcx), %r15
decl (%rcx)
jne 0x524bb
movq %rcx, %rdi
callq 0x5030
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
leaq 0x10c2eec(%rip), %rdi   # 0x11153b8
movq %r15, %rsi
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movq %rax, %rdi
shrq $0x30, %rdi
andq %r12, %rax
movq %rax, %rsi
callq 0x53fb3
cmpl $0x1, %eax
jne 0x52766
movq %rdx, %rdi
callq 0xd745
movq %rax, %r15
movq %rdx, %r12
leaq 0xbf3e4(%rip), %rsi     # 0x1118f0
movq %rbx, %rdi
callq 0x8e6d
leaq 0xbfe86(%rip), %rsi     # 0x1123a1
movq %r14, %rdi
callq 0x8e6d
movq %r15, %rdi
movq %r12, %rsi
callq 0x104c4
callq 0xd6f2
movq %rax, %r14
callq 0xd6f2
movq %rax, %rbx
jmp 0x52815
movq %r13, -0x50(%rbp)
movq %r12, -0x58(%rbp)
movl 0x4(%rcx), %r15d
decl (%rcx)
jne 0x5255b
movq %rcx, %rdi
callq 0x5030
leaq -0x60(%rbp), %r12
leaq -0x98(%rbp), %r13
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x541eb
movl %eax, %ebx
movq %rdx, %r14
movq (%r12), %r12
movq (%r13), %r13
movl %r15d, %edi
callq 0x54fbd
leaq -0x78(%rbp), %r15
leaq -0x90(%rbp), %r10
movq %r12, %rdi
movq %r13, %rsi
movl %ebx, %edx
movq %r14, %rcx
xorl %r8d, %r8d
movq %rax, %r9
pushq %r15
pushq %r10
movq %r10, %rbx
callq 0x43977
addq $0x10, %rsp
movq (%r15), %r14
movq (%rbx), %rbx
jmp 0x53eca
movq %r12, -0x58(%rbp)
movq 0x8(%rcx), %rax
movq %rax, -0xb0(%rbp)
decl (%rcx)
jne 0x525de
movq %rcx, %rdi
callq 0x5030
movq %r13, -0x50(%rbp)
movabsq $0xfffffffffffc, %r15   # imm = 0xFFFFFFFFFFFC
leaq -0xc8(%rbp), %rdx
leaq -0xc0(%rbp), %rcx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x541eb
movl %eax, %edi
movq %rdx, %r12
movq %r15, -0xd8(%rbp)
andq %r15, %r12
setne %al
testb $0x3, %dl
sete %r13b
andb %al, %r13b
cmpb $0x1, %r13b
jne 0x5262b
incl (%r12)
movl %edi, -0x7c(%rbp)
movq %rdx, -0xa8(%rbp)
movq %rdx, %rsi
callq 0x11653
movq %rax, %r14
movq -0xc8(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x10c303e(%rip), %rdi   # 0x1115690
movq -0xb0(%rbp), %rsi
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movq %rax, %r15
movq %rax, %rdi
movq %rdx, %rsi
callq 0x324c1
movq %r14, %rdi
movq %r15, %rsi
callq 0xe83a
testl %eax, %eax
js 0x5281d
movq -0xc0(%rbp), %r12
movl -0x7c(%rbp), %r14d
movq -0xa8(%rbp), %r13
jmp 0x53e8b
movq %r13, -0x50(%rbp)
movq %r12, -0x58(%rbp)
movq 0x8(%rcx), %r12
decl (%rcx)
jne 0x526b6
movq %rcx, %rdi
callq 0x5030
leaq -0x90(%rbp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x432bd
leaq -0x78(%rbp), %r14
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x27534
movq (%r15), %rbx
movq (%r14), %r13
movq %r12, %rdi
callq 0x54353
movq %r13, %rdi
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
movl $0x3, %r8d
movq %rax, %r9
pushq %r14
pushq %r15
callq 0x43977
addq $0x10, %rsp
movq (%r14), %r14
jmp 0x53ec7
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
movq %rbx, %rax
andq %rcx, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0x52740
decl (%rax)
jne 0x52740
leaq 0xbf009(%rip), %rsi     # 0x111741
movq %rbx, %rdi
callq 0xd13d
movq -0x60(%rbp), %rdi
movq -0x98(%rbp), %rbx
leaq -0x90(%rbp), %r14
xorl %esi, %esi
xorl %edx, %edx
movq %r14, %rcx
callq 0x54044
movq (%r14), %r14
jmp 0x53ed2
leaq -0x60(%rbp), %rsi
movq %r14, %rdi
callq 0x432bd
movq %rax, %r15
movq 0x10c3324(%rip), %r14   # 0x1115aa0
testq %r14, %r14
jne 0x527b3
movl $0x1c, %edi
callq 0xf5e4
movq %rax, %r14
movq $0x1c, 0x10(%rax)
movups 0x938bc(%rip), %xmm0    # 0xe6059
movups %xmm0, 0x18(%rax)
movups 0x938bd(%rip), %xmm0    # 0xe6065
movups %xmm0, 0x24(%rax)
movq %rax, 0x10c32ed(%rip)   # 0x1115aa0
andq %r14, %r12
sete %al
testb $0x3, %r14b
setne %cl
orb %al, %cl
jne 0x527c8
incl (%r12)
leaq -0x78(%rbp), %r12
movq %rbx, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x1b59d
movq (%r12), %rdi
leaq -0x90(%rbp), %rbx
movq %rax, %rsi
movq %r14, %rdx
movl $0x2, %ecx
movq %rbx, %r8
callq 0x1bc32
movq (%rbx), %rbx
movq -0x60(%rbp), %rdi
leaq -0x90(%rbp), %r14
xorl %esi, %esi
xorl %edx, %edx
movq %r14, %rcx
callq 0x54044
movq (%r14), %r14
movq %r13, %r12
jmp 0x53ece
testb %r13b, %r13b
je 0x52826
incl (%r12)
movl -0x7c(%rbp), %edi
movq -0xa8(%rbp), %rsi
callq 0x11653
movq %rax, %rbx
leaq -0xe8(%rbp), %rdx
movq -0x48(%rbp), %rdi
movq -0xb0(%rbp), %rsi
callq 0x42fb6
movl %eax, %r14d
movq %rdx, %r15
movq %rbx, %r12
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r12
sete %al
testb $0x3, %bl
setne %cl
orb %al, %cl
jne 0x52876
incl (%r12)
movl $0x1, %edi
movq %rbx, %rsi
callq 0xe83a
testl %eax, %eax
jns 0x52948
movl %r14d, %edi
movq %r15, %rsi
callq 0x54590
movl %eax, %r14d
movq %rdx, %r15
movl $0x3, %esi
movq %rbx, %rdi
callq 0xe9fc
movq %rax, %r12
movq %rax, %r13
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r13
sete %al
testb $0x3, %r12b
setne %cl
orb %al, %cl
jne 0x52901
incl (%r13)
movl $0x1, %edi
movq %r12, %rsi
callq 0xe83a
movl (%r13), %ecx
testl %eax, %eax
jle 0x5291a
movl $0x1, %ebx
decl %ecx
movl %ecx, (%r13)
jne 0x52923
movq %r12, %rdi
leaq 0xbeb2f(%rip), %rsi     # 0x111429
callq 0xd13d
jmp 0x52923
movl $0x1, %edi
movq %r12, %rsi
callq 0xe83a
testl %eax, %eax
jle 0x52920
movl $0x1, %r12d
jmp 0x52920
incl %ecx
movl %ecx, (%r13)
movq %r12, %rbx
movl $0x1, %edi
movq %rbx, %rsi
callq 0xe83a
testl %eax, %eax
js 0x5288b
movq %rbx, %r12
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r12
testq %r12, %r12
je 0x52969
movl %ebx, %eax
andl $0x3, %eax
jne 0x52969
decl (%r12)
jne 0x52969
movq %rbx, %rdi
leaq 0xbe7ad(%rip), %rsi     # 0x111111
callq 0xd13d
xorl %ebx, %ebx
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xd01b
movq %rdx, %rcx
movq -0xe8(%rbp), %r13
movq -0xc0(%rbp), %r12
cmpl $0x1, %r14d
jne 0x53e59
movl %eax, -0xcc(%rbp)
movq %rcx, -0xf8(%rbp)
movq %r15, %rdi
leaq -0x90(%rbp), %rsi
callq 0xd0aa
movl 0x10(%rax), %r15d
movq 0x18(%rax), %r14
movq %r14, %rcx
movabsq $0xfffffffffffc, %rdx   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rcx
sete %dl
testb $0x3, %r14b
setne %sil
orb %dl, %sil
jne 0x529d9
incl (%rcx)
movq %rax, %rcx
movabsq $0xfffffffffffc, %rdx   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rcx
sete %dl
testb $0x3, %al
setne %sil
orb %dl, %sil
jne 0x52a0a
decl (%rcx)
jne 0x52a0a
movq %rax, %rdi
leaq 0xbfb04(%rip), %rsi     # 0x112509
callq 0xd13d
cmpl $0x1, %r15d
jne 0x53eec
movq %r14, %rdi
callq 0xd745
movq %rax, %r14
movq %r12, %rdi
leaq -0xe0(%rbp), %rsi
callq 0x432bd
movq %r13, %rdi
movq %rax, %rsi
leaq -0x108(%rbp), %rdx
callq 0x1b59d
movq %rax, -0xa0(%rbp)
movq -0x108(%rbp), %rdi
movq %r14, %rsi
leaq -0x78(%rbp), %rdx
callq 0x342b2
movq -0x78(%rbp), %rdi
movq %r14, %r13
movq %r14, %r12
leaq -0x60(%rbp), %r14
testb %al, %al
jne 0x52a9b
leaq -0x98(%rbp), %r15
movq %r12, %rsi
movq %r14, %rdx
callq 0x28324
movq %rax, %r12
movq -0x60(%rbp), %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x342b2
movq -0x98(%rbp), %rdi
testb %al, %al
je 0x52a73
subq $0x8, %rsp
movl $0x1, %r8d
movl $0x1, %r9d
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
leaq -0x78(%rbp), %rax
pushq %rax
pushq $0x0
pushq $0x0
callq 0x54976
addq $0x20, %rsp
movq %rax, %r8
movq -0x78(%rbp), %rdi
movq -0xa0(%rbp), %rcx
movq %rcx, %rdx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %rdx
movq %rdx, -0xb8(%rbp)
setne %al
testb $0x3, %cl
sete %cl
andb %al, %cl
movb %cl, -0x31(%rbp)
cmpb $0x1, %cl
jne 0x52b04
movq -0xb8(%rbp), %rax
incl (%rax)
movq -0xa0(%rbp), %rsi
movq %r8, -0x48(%rbp)
movq %r8, %rdx
movq %r14, %rcx
callq 0x54623
movq %r12, %rdi
callq 0xe3d6
movq %rax, %r14
movq %r13, %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe9fc
movq %rax, %r14
movq %rax, %r15
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r15
sete %al
testb $0x3, %r14b
setne %cl
orb %al, %cl
jne 0x52b89
incl (%r15)
movl $0x1, %edi
movq %r14, %rsi
callq 0xe83a
testl %eax, %eax
jle 0x52ba1
decl (%r15)
movl $0x1, %r15d
jne 0x52ba4
movq %r14, %rdi
leaq 0xbe8a7(%rip), %rsi     # 0x111429
callq 0xd13d
jmp 0x52ba4
movl $0x1, %edi
movq %r14, %rsi
callq 0xe83a
testl %eax, %eax
movl $0x1, %eax
cmovgq %rax, %r14
movq %r14, %r15
movl $0x3, %esi
movq %r15, %rdi
callq 0xe50f
movq %rax, %r14
movq %rax, %r15
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r15
sete %al
testb $0x3, %r14b
setne %cl
orb %al, %cl
jne 0x52bd5
incl (%r15)
movl $0x1, %edi
movq %r14, %rsi
callq 0xe83a
movq -0x60(%rbp), %rdi
testl %eax, %eax
movq %r12, -0x40(%rbp)
jns 0x52cf5
cmpb $0x0, -0x31(%rbp)
je 0x52c01
movq -0xb8(%rbp), %rax
incl (%rax)
subq $0x8, %rsp
movl $0x1, %r8d
movl $0x1, %r9d
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
leaq -0x78(%rbp), %r15
pushq %r15
pushq $0x0
pushq $0x0
callq 0x54976
addq $0x20, %rsp
movq -0x78(%rbp), %rdi
movq -0xa0(%rbp), %rsi
movq %rax, %rdx
movq %r15, %rcx
callq 0x54623
movl $0x3, %esi
movq %r14, %rdi
callq 0xe9fc
movq %rax, %r15
movq %rax, %r12
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r12
sete %al
testb $0x3, %r15b
setne %cl
orb %al, %cl
jne 0x52ca6
incl (%r12)
movl $0x1, %edi
movq %r15, %rsi
callq 0xe83a
movl (%r12), %ecx
testl %eax, %eax
jle 0x52cbf
movl $0x1, %r14d
decl %ecx
movl %ecx, (%r12)
jne 0x52cc8
movq %r15, %rdi
leaq 0xbe78a(%rip), %rsi     # 0x111429
callq 0xd13d
jmp 0x52cc8
movl $0x1, %edi
movq %r15, %rsi
callq 0xe83a
testl %eax, %eax
jle 0x52cc5
movl $0x1, %r15d
jmp 0x52cc5
incl %ecx
movl %ecx, (%r12)
movq %r15, %r14
movq -0x40(%rbp), %r12
movl $0x1, %edi
movq %r14, %rsi
callq 0xe83a
movq -0x78(%rbp), %rdi
testl %eax, %eax
js 0x52bf2
movq %r14, %r15
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r15
movq %rdi, -0xf0(%rbp)
testq %r15, %r15
je 0x52d1d
movl %r14d, %eax
andl $0x3, %eax
jne 0x52d1d
decl (%r15)
jne 0x52d1d
movq %r14, %rdi
leaq 0xbe3f9(%rip), %rsi     # 0x111111
callq 0xd13d
movq -0x48(%rbp), %rcx
leaq 0x1(%rcx), %rax
cmpq %rcx, 0x10c26cc(%rip)   # 0x11153f8
cmovbeq %rbx, %rax
movq %rax, -0x68(%rbp)
cmpq %r13, %r12
leaq 0x10c26aa(%rip), %r15   # 0x11153e8
jbe 0x53dd2
movq %r13, %rsi
movq -0x68(%rbp), %rax
movq %rax, -0x100(%rbp)
movq %r15, %rdi
movq %rsi, -0x48(%rbp)
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movq %rax, %rbx
shrq $0x30, %rax
movq %rbx, %r14
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %r14
addl $-0x6, %eax
cmpl $0x7, %eax
ja 0x53d67
leaq 0x8c15c(%rip), %rcx     # 0xdeeec
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x8(%r14), %r15
decl (%r14)
jne 0x52daa
movq %r14, %rdi
callq 0x5030
movq %r15, %rdi
callq 0xe3d6
movq %rax, %r14
movq -0x68(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe50f
movl $0x3, %esi
movq %rax, %rdi
callq 0xe50f
movq %rax, %r14
movq -0x48(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe9fc
movq %rax, %r15
movl $0x4, %edi
callq 0x524c
movq %rax, %r14
movq $0x3, 0x10(%rax)
movq $-0x1, 0x18(%rax)
movl $0x0, 0x20(%rax)
movq %r15, %r12
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r12
sete %al
testb $0x3, %r15b
setne %cl
orb %al, %cl
jne 0x5349a
incl (%r12)
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movl (%r12), %ecx
testl %eax, %eax
js 0x5385c
incl %ecx
movl %ecx, (%r12)
movb $0x1, %r13b
jmp 0x534b2
movq 0x8(%r14), %r15
decl (%r14)
jne 0x52e72
movq %r14, %rdi
callq 0x5030
movq %r15, %rdi
callq 0xe3d6
movq %rax, %r14
movq -0x68(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe50f
movl $0x3, %esi
movq %rax, %rdi
callq 0xe50f
movq %rax, %r14
movq -0x48(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe9fc
movq %rax, %r15
movl $0x4, %edi
callq 0x524c
movq %rax, %r14
movq $0x3, 0x10(%rax)
movq $-0x1, 0x18(%rax)
movl $0x0, 0x20(%rax)
movq %r15, %r12
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r12
sete %al
testb $0x3, %r15b
setne %cl
orb %al, %cl
jne 0x533ee
incl (%r12)
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movl (%r12), %ecx
testl %eax, %eax
js 0x53548
incl %ecx
movl %ecx, (%r12)
movb $0x1, %al
movq %rax, -0x30(%rbp)
jmp 0x53411
movq 0x8(%r14), %r15
decl (%r14)
jne 0x52f3d
movq %r14, %rdi
callq 0x5030
movq %r15, %rdi
callq 0xe3d6
movq %rax, %r14
movq -0x68(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe50f
movl $0x3, %esi
movq %rax, %rdi
callq 0xe50f
movq %rax, %r14
movq -0x48(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe9fc
movq %rax, %r15
movl $0x4, %edi
callq 0x524c
movq %rax, %r14
movq $0x3, 0x10(%rax)
movq $-0x1, 0x18(%rax)
movl $0x0, 0x20(%rax)
movq %r15, %r12
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r12
sete %al
testb $0x3, %r15b
setne %cl
orb %al, %cl
jne 0x53419
incl (%r12)
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movl (%r12), %ecx
testl %eax, %eax
js 0x5360d
incl %ecx
movl %ecx, (%r12)
movb $0x1, %al
movq %rax, -0x30(%rbp)
jmp 0x5343c
movq 0x8(%r14), %r15
decl (%r14)
jne 0x53008
movq %r14, %rdi
callq 0x5030
movq %r15, %rdi
callq 0xe3d6
movq %rax, %r14
movq -0x68(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe50f
movl $0x3, %esi
movq %rax, %rdi
callq 0xe50f
movq %rax, %r14
movq -0x48(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe9fc
movq %rax, %r15
movl $0x4, %edi
callq 0x524c
movq %rax, %r14
movq $0x3, 0x10(%rax)
movq $-0x1, 0x18(%rax)
movl $0x0, 0x20(%rax)
movq %r15, %r12
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r12
sete %al
testb $0x3, %r15b
setne %cl
orb %al, %cl
jne 0x53444
incl (%r12)
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movl (%r12), %ecx
testl %eax, %eax
js 0x536d2
incl %ecx
movl %ecx, (%r12)
movb $0x1, %al
movq %rax, -0x30(%rbp)
jmp 0x53467
movq 0x8(%r14), %r15
decl (%r14)
jne 0x530d3
movq %r14, %rdi
callq 0x5030
movq %r15, %rdi
callq 0xe3d6
movq %rax, %r14
movq -0x68(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe50f
movl $0x3, %esi
movq %rax, %rdi
callq 0xe50f
movq %rax, %r14
movq -0x48(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe9fc
movq %rax, %r15
movl $0x4, %edi
callq 0x524c
movq %rax, %r14
movq $0x3, 0x10(%rax)
movq $-0x1, 0x18(%rax)
movl $0x0, 0x20(%rax)
movq %r15, %r12
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r12
sete %al
testb $0x3, %r15b
setne %cl
orb %al, %cl
jne 0x5346f
incl (%r12)
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movl (%r12), %ecx
testl %eax, %eax
js 0x53797
incl %ecx
movl %ecx, (%r12)
movb $0x1, %al
movq %rax, -0x30(%rbp)
jmp 0x53492
movq 0x8(%r14), %r15
decl (%r14)
jne 0x5319e
movq %r14, %rdi
callq 0x5030
movq %r15, %rdi
callq 0xe3d6
movq %rax, %r14
movq -0x68(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe50f
movl $0x3, %esi
movq %rax, %rdi
callq 0xe50f
movq %rax, %r14
movq -0x48(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe9fc
movq %rax, %r15
movl $0x4, %edi
callq 0x524c
movq %rax, %r14
movq $0x3, 0x10(%rax)
movq $-0x1, 0x18(%rax)
movl $0x0, 0x20(%rax)
movq %r15, %r12
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r12
sete %al
testb $0x3, %r15b
setne %cl
orb %al, %cl
jne 0x534ba
incl (%r12)
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movl (%r12), %ecx
testl %eax, %eax
js 0x53909
incl %ecx
movl %ecx, (%r12)
movb $0x1, %al
movq %rax, -0x30(%rbp)
jmp 0x534dd
movq 0x8(%r14), %r15
decl (%r14)
jne 0x53269
movq %r14, %rdi
callq 0x5030
movq %r15, %rdi
callq 0xe3d6
movq %rax, %r14
movq -0x68(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe50f
movl $0x3, %esi
movq %rax, %rdi
callq 0xe50f
movq %rax, %r14
movq -0x48(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe9fc
movq %rax, %r15
movl $0x4, %edi
callq 0x524c
movq %rax, %r14
movq $0x3, 0x10(%rax)
movq $-0x1, 0x18(%rax)
movl $0x0, 0x20(%rax)
movq %r15, %r12
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r12
sete %al
testb $0x3, %r15b
setne %cl
orb %al, %cl
jne 0x534e5
incl (%r12)
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movl (%r12), %ecx
testl %eax, %eax
js 0x539fd
incl %ecx
movl %ecx, (%r12)
movb $0x1, %al
movq %rax, -0x30(%rbp)
jmp 0x53508
movq 0x8(%r14), %r15
decl (%r14)
jne 0x53334
movq %r14, %rdi
callq 0x5030
movq %r15, %rdi
callq 0xe3d6
movq %rax, %r14
movq -0x68(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe50f
movl $0x3, %esi
movq %rax, %rdi
callq 0xe50f
movq %rax, %r14
movq -0x48(%rbp), %rdi
callq 0xe3d6
movq %r14, %rdi
movq %rax, %rsi
callq 0xe9fc
movq %rax, %r15
movl $0x4, %edi
callq 0x524c
movq %rax, %r14
movq $0x3, 0x10(%rax)
movq $-0x1, 0x18(%rax)
movl $0x0, 0x20(%rax)
movq %r15, %r12
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r12
sete %al
testb $0x3, %r15b
setne %cl
orb %al, %cl
jne 0x53510
incl (%r12)
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movl (%r12), %ecx
testl %eax, %eax
js 0x53ac2
incl %ecx
movl %ecx, (%r12)
movb $0x1, %al
movq %rax, -0x30(%rbp)
jmp 0x53533
movl $0x1, %r13d
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movq $0x0, -0x30(%rbp)
testl %eax, %eax
js 0x5356d
movq %r15, %r13
jmp 0x53570
movl $0x1, %r13d
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movq $0x0, -0x30(%rbp)
testl %eax, %eax
js 0x53632
movq %r15, %r13
jmp 0x53635
movl $0x1, %r13d
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movq $0x0, -0x30(%rbp)
testl %eax, %eax
js 0x536f7
movq %r15, %r13
jmp 0x536fa
movl $0x1, %r13d
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movq $0x0, -0x30(%rbp)
testl %eax, %eax
js 0x537bc
movq %r15, %r13
jmp 0x537bf
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
xorl %r13d, %r13d
testl %eax, %eax
js 0x5353b
movq %r15, %rdx
jmp 0x53883
movl $0x1, %r13d
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movq $0x0, -0x30(%rbp)
testl %eax, %eax
js 0x5392e
movq %r15, %r13
jmp 0x53931
movl $0x1, %r13d
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movq $0x0, -0x30(%rbp)
testl %eax, %eax
js 0x53a22
movq %r15, %r13
jmp 0x53a25
movl $0x1, %r13d
movl $0x1, %esi
movq %r15, %rdi
callq 0xe83a
movq $0x0, -0x30(%rbp)
testl %eax, %eax
js 0x53ae7
movq %r15, %r13
jmp 0x53aea
xorl %r12d, %r12d
movl $0x1, %edx
jmp 0x53883
movl $0x1, %r13d
decl %ecx
movl %ecx, (%r12)
jne 0x53565
movq %r15, %rdi
leaq 0xbdec9(%rip), %rsi     # 0x111429
callq 0xd13d
movq $0x0, -0x30(%rbp)
xorl %r12d, %r12d
movq %r14, %r15
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r15
sete %al
testb $0x3, %r14b
setne %cl
orb %al, %cl
jne 0x535b8
incl (%r15)
movq %r14, %rdi
movq %r13, %rsi
callq 0xe83a
testl %eax, %eax
js 0x535e1
decl (%r15)
je 0x53b87
movq %r13, %rdi
leaq 0x10c1e35(%rip), %r15   # 0x11153e8
jmp 0x53ba3
movq %r14, %rdi
movq %r13, %rsi
callq 0xe83a
movq %r14, %rdi
testl %eax, %eax
sets %al
leaq 0x10c1e16(%rip), %r15   # 0x11153e8
js 0x535d7
movq %r13, %rdi
testb %al, -0x30(%rbp)
jne 0x535f5
jmp 0x53ba3
movq %r14, %rdi
cmpb $0x0, -0x30(%rbp)
leaq 0x10c1df9(%rip), %r15   # 0x11153e8
je 0x53ba3
decl (%r12)
movq %r13, %rax
movq %r14, %r13
movq %r14, %rdi
jne 0x53ba3
jmp 0x53b91
movl $0x1, %r13d
decl %ecx
movl %ecx, (%r12)
jne 0x5362a
movq %r15, %rdi
leaq 0xbde04(%rip), %rsi     # 0x111429
callq 0xd13d
movq $0x0, -0x30(%rbp)
xorl %r12d, %r12d
movq %r14, %r15
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r15
sete %al
testb $0x3, %r14b
setne %cl
orb %al, %cl
jne 0x5367d
incl (%r15)
movq %r14, %rdi
movq %r13, %rsi
callq 0xe83a
testl %eax, %eax
js 0x536a6
decl (%r15)
je 0x53bc4
movq %r13, %rdi
leaq 0x10c1d70(%rip), %r15   # 0x11153e8
jmp 0x53be0
movq %r14, %rdi
movq %r13, %rsi
callq 0xe83a
movq %r14, %rdi
testl %eax, %eax
sets %al
leaq 0x10c1d51(%rip), %r15   # 0x11153e8
js 0x5369c
movq %r13, %rdi
testb %al, -0x30(%rbp)
jne 0x536ba
jmp 0x53be0
movq %r14, %rdi
cmpb $0x0, -0x30(%rbp)
leaq 0x10c1d34(%rip), %r15   # 0x11153e8
je 0x53be0
decl (%r12)
movq %r13, %rax
movq %r14, %r13
movq %r14, %rdi
jne 0x53be0
jmp 0x53bce
movl $0x1, %r13d
decl %ecx
movl %ecx, (%r12)
jne 0x536ef
movq %r15, %rdi
leaq 0xbdd3f(%rip), %rsi     # 0x111429
callq 0xd13d
movq $0x0, -0x30(%rbp)
xorl %r12d, %r12d
movq %r14, %r15
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r15
sete %al
testb $0x3, %r14b
setne %cl
orb %al, %cl
jne 0x53742
incl (%r15)
movq %r14, %rdi
movq %r13, %rsi
callq 0xe83a
testl %eax, %eax
js 0x5376b
decl (%r15)
je 0x53c01
movq %r13, %rdi
leaq 0x10c1cab(%rip), %r15   # 0x11153e8
jmp 0x53c1d
movq %r14, %rdi
movq %r13, %rsi
callq 0xe83a
movq %r14, %rdi
testl %eax, %eax
sets %al
leaq 0x10c1c8c(%rip), %r15   # 0x11153e8
js 0x53761
movq %r13, %rdi
testb %al, -0x30(%rbp)
jne 0x5377f
jmp 0x53c1d
movq %r14, %rdi
cmpb $0x0, -0x30(%rbp)
leaq 0x10c1c6f(%rip), %r15   # 0x11153e8
je 0x53c1d
decl (%r12)
movq %r13, %rax
movq %r14, %r13
movq %r14, %rdi
jne 0x53c1d
jmp 0x53c0b
movl $0x1, %r13d
decl %ecx
movl %ecx, (%r12)
jne 0x537b4
movq %r15, %rdi
leaq 0xbdc7a(%rip), %rsi     # 0x111429
callq 0xd13d
movq $0x0, -0x30(%rbp)
xorl %r12d, %r12d
movq %r14, %r15
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r15
sete %al
testb $0x3, %r14b
setne %cl
orb %al, %cl
jne 0x53807
incl (%r15)
movq %r14, %rdi
movq %r13, %rsi
callq 0xe83a
testl %eax, %eax
js 0x53830
decl (%r15)
je 0x53c3e
movq %r13, %rdi
leaq 0x10c1be6(%rip), %r15   # 0x11153e8
jmp 0x53c5a
movq %r14, %rdi
movq %r13, %rsi
callq 0xe83a
movq %r14, %rdi
testl %eax, %eax
sets %al
leaq 0x10c1bc7(%rip), %r15   # 0x11153e8
js 0x53826
movq %r13, %rdi
testb %al, -0x30(%rbp)
jne 0x53844
jmp 0x53c5a
movq %r14, %rdi
cmpb $0x0, -0x30(%rbp)
leaq 0x10c1baa(%rip), %r15   # 0x11153e8
je 0x53c5a
decl (%r12)
movq %r13, %rax
movq %r14, %r13
movq %r14, %rdi
jne 0x53c5a
jmp 0x53c48
movl $0x1, %edx
decl %ecx
movl %ecx, (%r12)
jne 0x5387d
movq %r15, %rdi
leaq 0xbdbb6(%rip), %rsi     # 0x111429
callq 0xd13d
movl $0x1, %edx
xorl %r13d, %r13d
xorl %r12d, %r12d
movq %r14, %r15
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r15
sete %al
testb $0x3, %r14b
setne %cl
orb %al, %cl
jne 0x538d6
movq %r13, -0x30(%rbp)
incl (%r15)
movq %r14, %rdi
movq %rdx, %r13
movq %rdx, %rsi
callq 0xe83a
testl %eax, %eax
js 0x539a2
decl (%r15)
je 0x53c7b
movq %r13, %rdi
leaq 0x10c1b17(%rip), %r15   # 0x11153e8
jmp 0x53c97
movq %r14, %rdi
movq %rdx, %r15
movq %rdx, %rsi
callq 0xe83a
movq %r15, %rcx
movq %r14, %rdi
testl %eax, %eax
sets %al
leaq 0x10c1af2(%rip), %r15   # 0x11153e8
js 0x538fb
movq %rcx, %rdi
testb %r13b, %al
jne 0x539b9
jmp 0x53c97
movl $0x1, %r13d
decl %ecx
movl %ecx, (%r12)
jne 0x53926
movq %r15, %rdi
leaq 0xbdb08(%rip), %rsi     # 0x111429
callq 0xd13d
movq $0x0, -0x30(%rbp)
xorl %r12d, %r12d
movq %r14, %r15
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r15
sete %al
testb $0x3, %r14b
setne %cl
orb %al, %cl
jne 0x53979
incl (%r15)
movq %r14, %rdi
movq %r13, %rsi
callq 0xe83a
testl %eax, %eax
js 0x539d1
decl (%r15)
je 0x53cb8
movq %r13, %rdi
leaq 0x10c1a74(%rip), %r15   # 0x11153e8
jmp 0x53cd4
movq %r14, %rdi
movq %r13, %rsi
callq 0xe83a
movq %r14, %rdi
testl %eax, %eax
sets %al
leaq 0x10c1a55(%rip), %r15   # 0x11153e8
js 0x53998
movq %r13, %rdi
testb %al, -0x30(%rbp)
jne 0x539e5
jmp 0x53cd4
movq %r14, %rdi
cmpb $0x0, -0x30(%rbp)
leaq 0x10c1a38(%rip), %r15   # 0x11153e8
movq %r13, %rcx
je 0x53c97
decl (%r12)
movq %rcx, %rax
movq %r14, %r13
movq %r14, %rdi
jne 0x53c97
jmp 0x53c85
movq %r14, %rdi
cmpb $0x0, -0x30(%rbp)
leaq 0x10c1a09(%rip), %r15   # 0x11153e8
je 0x53cd4
decl (%r12)
movq %r13, %rax
movq %r14, %r13
movq %r14, %rdi
jne 0x53cd4
jmp 0x53cc2
movl $0x1, %r13d
decl %ecx
movl %ecx, (%r12)
jne 0x53a1a
movq %r15, %rdi
leaq 0xbda14(%rip), %rsi     # 0x111429
callq 0xd13d
movq $0x0, -0x30(%rbp)
xorl %r12d, %r12d
movq %r14, %r15
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r15
sete %al
testb $0x3, %r14b
setne %cl
orb %al, %cl
jne 0x53a6d
incl (%r15)
movq %r14, %rdi
movq %r13, %rsi
callq 0xe83a
testl %eax, %eax
js 0x53a96
decl (%r15)
je 0x53cf2
movq %r13, %rdi
leaq 0x10c1980(%rip), %r15   # 0x11153e8
jmp 0x53d0e
movq %r14, %rdi
movq %r13, %rsi
callq 0xe83a
movq %r14, %rdi
testl %eax, %eax
sets %al
leaq 0x10c1961(%rip), %r15   # 0x11153e8
js 0x53a8c
movq %r13, %rdi
testb %al, -0x30(%rbp)
jne 0x53aaa
jmp 0x53d0e
movq %r14, %rdi
cmpb $0x0, -0x30(%rbp)
leaq 0x10c1944(%rip), %r15   # 0x11153e8
je 0x53d0e
decl (%r12)
movq %r13, %rax
movq %r14, %r13
movq %r14, %rdi
jne 0x53d0e
jmp 0x53cfc
movl $0x1, %r13d
decl %ecx
movl %ecx, (%r12)
jne 0x53adf
movq %r15, %rdi
leaq 0xbd94f(%rip), %rsi     # 0x111429
callq 0xd13d
movq $0x0, -0x30(%rbp)
xorl %r12d, %r12d
movq %r14, %r15
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r15
sete %al
testb $0x3, %r14b
setne %cl
orb %al, %cl
jne 0x53b32
incl (%r15)
movq %r14, %rdi
movq %r13, %rsi
callq 0xe83a
testl %eax, %eax
js 0x53b5b
decl (%r15)
je 0x53d2c
movq %r13, %rdi
leaq 0x10c18bb(%rip), %r15   # 0x11153e8
jmp 0x53d48
movq %r14, %rdi
movq %r13, %rsi
callq 0xe83a
movq %r14, %rdi
testl %eax, %eax
sets %al
leaq 0x10c189c(%rip), %r15   # 0x11153e8
js 0x53b51
movq %r13, %rdi
testb %al, -0x30(%rbp)
jne 0x53b6f
jmp 0x53d48
movq %r14, %rdi
cmpb $0x0, -0x30(%rbp)
leaq 0x10c187f(%rip), %r15   # 0x11153e8
je 0x53d48
decl (%r12)
movq %r13, %rax
movq %r14, %r13
movq %r14, %rdi
jne 0x53d48
jmp 0x53d36
movq %r14, %rax
leaq 0x10c1857(%rip), %r15   # 0x11153e8
movq %rax, %rdi
leaq 0xbd88e(%rip), %rsi     # 0x111429
callq 0xd13d
movq %r13, %rdi
callq 0xe445
cmpq %rax, 0x10c1849(%rip)   # 0x11153f8
jae 0x53bb3
xorl %eax, %eax
movq -0x40(%rbp), %r12
movq %rax, %rdi
callq 0x54784
jmp 0x53d64
movq %r14, %rax
leaq 0x10c181a(%rip), %r15   # 0x11153e8
movq %rax, %rdi
leaq 0xbd851(%rip), %rsi     # 0x111429
callq 0xd13d
movq %r13, %rdi
callq 0xe445
cmpq %rax, 0x10c180c(%rip)   # 0x11153f8
jae 0x53bf0
xorl %eax, %eax
movq -0x40(%rbp), %r12
movq %rax, %rdi
callq 0x5482a
jmp 0x53d64
movq %r14, %rax
leaq 0x10c17dd(%rip), %r15   # 0x11153e8
movq %rax, %rdi
leaq 0xbd814(%rip), %rsi     # 0x111429
callq 0xd13d
movq %r13, %rdi
callq 0xe445
cmpq %rax, 0x10c17cf(%rip)   # 0x11153f8
jae 0x53c2d
xorl %eax, %eax
movq -0x40(%rbp), %r12
movq %rax, %rdi
callq 0x5487d
jmp 0x53d64
movq %r14, %rax
leaq 0x10c17a0(%rip), %r15   # 0x11153e8
movq %rax, %rdi
leaq 0xbd7d7(%rip), %rsi     # 0x111429
callq 0xd13d
movq %r13, %rdi
callq 0xe445
cmpq %rax, 0x10c1792(%rip)   # 0x11153f8
jae 0x53c6a
xorl %eax, %eax
movq -0x40(%rbp), %r12
movq %rax, %rdi
callq 0x54923
jmp 0x53d64
movq %r14, %rax
leaq 0x10c1763(%rip), %r15   # 0x11153e8
movq %rax, %rdi
leaq 0xbd79a(%rip), %rsi     # 0x111429
callq 0xd13d
movq %r13, %rdi
callq 0xe445
cmpq %rax, 0x10c1755(%rip)   # 0x11153f8
jae 0x53ca7
xorl %eax, %eax
movq -0x40(%rbp), %r12
movq %rax, %rdi
callq 0x546de
jmp 0x53d64
movq %r14, %rax
leaq 0x10c1726(%rip), %r15   # 0x11153e8
movq %rax, %rdi
leaq 0xbd75d(%rip), %rsi     # 0x111429
callq 0xd13d
movq %r13, %rdi
callq 0xe445
cmpq %rax, 0x10c1718(%rip)   # 0x11153f8
jae 0x53ce4
xorl %eax, %eax
movq -0x40(%rbp), %r12
movq %rax, %rdi
callq 0x54731
jmp 0x53d64
movq %r14, %rax
leaq 0x10c16ec(%rip), %r15   # 0x11153e8
movq %rax, %rdi
leaq 0xbd723(%rip), %rsi     # 0x111429
callq 0xd13d
movq %r13, %rdi
callq 0xe445
cmpq %rax, 0x10c16de(%rip)   # 0x11153f8
jae 0x53d1e
xorl %eax, %eax
movq -0x40(%rbp), %r12
movq %rax, %rdi
callq 0x547d7
jmp 0x53d64
movq %r14, %rax
leaq 0x10c16b2(%rip), %r15   # 0x11153e8
movq %rax, %rdi
leaq 0xbd6e9(%rip), %rsi     # 0x111429
callq 0xd13d
movq %r13, %rdi
callq 0xe445
cmpq %rax, 0x10c16a4(%rip)   # 0x11153f8
jae 0x53d58
xorl %eax, %eax
movq -0x40(%rbp), %r12
movq %rax, %rdi
callq 0x548d0
movq %rax, %r14
movq %r15, %rdi
movq -0x100(%rbp), %r13
movq %r13, %rsi
callq 0x13c85
movabsq $-0x1000000000000, %rcx # imm = 0xFFFF000000000000
andq %rcx, %rbx
orq %r14, %rbx
movq %rbx, %rdi
leaq 0xbe146(%rip), %rsi     # 0x111ed9
movq %rax, %rdx
callq 0x14766
movq 0x10c1656(%rip), %rax   # 0x11153f8
movq -0x48(%rbp), %rcx
cmpq %rcx, %rax
leaq 0x1(%rcx), %rcx
movl $0x0, %edx
cmovbeq %rdx, %rcx
cmpq %r13, %rax
leaq 0x1(%r13), %rax
movl $0x0, %ebx
cmovbeq %rdx, %rax
movq %rcx, %rsi
cmpq %r12, %rcx
jb 0x52d4b
cmpb $0x0, -0x31(%rbp)
je 0x53df6
movq -0xb8(%rbp), %rax
decl (%rax)
jne 0x53df6
movq -0xa0(%rbp), %rdi
leaq 0xbdc20(%rip), %rsi     # 0x111a11
callq 0xd13d
movq -0xe0(%rbp), %rsi
movq -0xf0(%rbp), %rdi
movq -0x68(%rbp), %rdx
leaq -0x78(%rbp), %r14
movq %r14, %rcx
leaq -0x60(%rbp), %r8
callq 0x5444c
movq -0x60(%rbp), %r12
movq -0x78(%rbp), %r13
movq %rax, %rdi
leaq 0xbe88e(%rip), %rsi     # 0x1126b8
movl -0xcc(%rbp), %edx
movq -0xf8(%rbp), %rcx
movq %r14, %r8
callq 0x949e
movl -0x90(%rbp), %r14d
movq -0x88(%rbp), %r15
movl -0x78(%rbp), %eax
movq -0x70(%rbp), %rcx
jmp 0x52989
movq %r13, -0x48(%rbp)
testl %r14d, %r14d
jne 0x53f83
xorl %edi, %edi
xorl %esi, %esi
movl %eax, %edx
callq 0xd01b
movq %rdx, %rcx
movl -0x7c(%rbp), %edi
movq -0xa8(%rbp), %rsi
movl %eax, %edx
callq 0x28d8d
movl %eax, %r14d
movq %rdx, %r13
movq -0xb0(%rbp), %rdi
callq 0x54e1e
leaq -0x78(%rbp), %rbx
leaq -0x90(%rbp), %r15
movq -0x48(%rbp), %rdi
movq %r12, %rsi
movl %r14d, %edx
movq %r13, %rcx
movl $0x1, %r8d
movq %rax, %r9
pushq %rbx
pushq %r15
callq 0x43977
addq $0x10, %rsp
movq (%rbx), %r14
movq (%r15), %rbx
movq -0x58(%rbp), %r12
movq -0x50(%rbp), %r13
movq %r14, (%r13)
movq %rbx, (%r12)
addq $0xe8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testl %r15d, %r15d
jne 0x53f83
leaq -0x78(%rbp), %rsi
movq %r12, %rdi
callq 0x432bd
movq %rax, %r14
movq 0x10c1b65(%rip), %rdx   # 0x1115a70
testq %rdx, %rdx
jne 0x53f5b
movl $0x38, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x38, 0x10(%rax)
movabsq $0x6e6f697461746e65, %rax # imm = 0x6E6F697461746E65
movq %rax, 0x48(%rdx)
movups 0x91eb3(%rip), %xmm0    # 0xe5ded
movups %xmm0, 0x18(%rdx)
movups 0x91eb8(%rip), %xmm0    # 0xe5dfd
movups %xmm0, 0x28(%rdx)
movups 0x91ebd(%rip), %xmm0    # 0xe5e0d
movups %xmm0, 0x38(%rdx)
movq %rdx, 0x10c1b15(%rip)   # 0x1115a70
andq %rdx, -0xd8(%rbp)
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x53f78
movq -0xd8(%rbp), %rax
incl (%rax)
movq %r13, %rdi
movq %r14, %rsi
callq 0x27183
movl $0x20, %edi
callq 0xf5e4
movq $0x20, 0x10(%rax)
movups 0x8c731(%rip), %xmm0    # 0xe06cd
movups %xmm0, 0x18(%rax)
movups 0x8c736(%rip), %xmm0    # 0xe06dd
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x9302