// File: /workspace/github_cpp_makefile_star2_O3/medvedevgroup[P]varmatch/src/wholegenome.cpp
// Function: WholeGenome::test()
int WholeGenome::test() {
	genome_sequences[0] = "GTCAGCCGG";
	DiploidVariant d1(1, "T", vector<string> ({"A", "C"}), true, true, 0,0,0);
	DiploidVariant d2(4, "G", vector<string> ({"C", ""}), true, false, 0,0,0);
	DiploidVariant d3(5, "C", vector<string> ({"T", ""}), true, false, 0,0,0); // this is false negative
	DiploidVariant d4(6, "C", vector<string> ({"G", ""}), true, false, 0,0,0);
	DiploidVariant d5(7, "G", vector<string> ({"A", ""}), true, false, 0,0,0);
	DiploidVariant d6(1, "T", vector<string> ({"A", "C"}), true, true, 0,0,1);
	DiploidVariant d7(3, "AG", vector<string> ({"A", ""}), true, false, 1,0,1);
	DiploidVariant d8(7, "G", vector<string> ({"GA", ""}), true, false, 0,1,1);

    //complex_match_records = new vector<string>*[1];
    //complex_match_records[0] = new vector<string>;
	//vector<DiploidVariant> var_list = { d2,d3,d4,d5,d7,d8 };
	vector<DiploidVariant> var_list = { d1,d2,d3,d4,d5,d6,d7,d8 };
	//cout << MatchingSingleClusterBaseExtending(var_list, 0) << endl;
	//cout << complex_match_records[0]->at(0) << endl;
	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x768, %rsp            # imm = 0x768
addq $0x118, %rdi            # imm = 0x118
leaq 0x1d0(%rsp), %rsi
movl $0x0, (%rsi)
callq 0x2958c
movq 0x8(%rax), %rdx
leaq 0xf815(%rip), %rcx      # 0x31895
movl $0x9, %r8d
movq %rax, %rdi
xorl %esi, %esi
callq 0x54b0
leaq 0x100(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xf404(%rip), %rsi      # 0x314a7
leaq 0xf3fe(%rip), %rdx      # 0x314a8
leaq 0xf0(%rsp), %rdi
callq 0xc3da
leaq 0x1e0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xf7d9(%rip), %rsi      # 0x318a3
leaq 0xf7d3(%rip), %rdx      # 0x318a4
leaq 0x1d0(%rsp), %rdi
callq 0xc3da
leaq 0x1f0(%rsp), %rdi
leaq 0x200(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xe789(%rip), %rsi      # 0x30883
leaq 0xe783(%rip), %rdx      # 0x30884
callq 0xc3da
leaq 0x1b8(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x5f0(%rsp), %rcx
movl $0x2, %edx
callq 0x28e82
xorl %eax, %eax
leaq 0x710(%rsp), %rdi
leaq 0xf0(%rsp), %rdx
leaq 0x1b8(%rsp), %rcx
xorps %xmm0, %xmm0
movl $0x1, %esi
movl $0x1, %r8d
movl $0x1, %r9d
pushq %rax
pushq %rax
pushq %rax
pushq %rax
callq 0x2860c
addq $0x20, %rsp
leaq 0x1b8(%rsp), %rdi
callq 0xe71c
movq $-0x40, %rbx
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0x2218d
movq (%r12), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r12
addq $0x20, %rbx
jne 0x22177
movq 0xf0(%rsp), %rdi
cmpq %r15, %rdi
je 0x221b4
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0xe0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xf6d9(%rip), %rsi      # 0x318a0
leaq 0xf6d3(%rip), %rdx      # 0x318a1
leaq 0xd0(%rsp), %rdi
callq 0xc3da
leaq 0x1d0(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xe696(%rip), %rsi      # 0x30883
leaq 0xe690(%rip), %rdx      # 0x30884
callq 0xc3da
leaq 0x1f0(%rsp), %rdi
leaq 0x200(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xf3dd(%rip), %rdx      # 0x315f2
movq %rdx, %rsi
callq 0xc3da
leaq 0x1a0(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x598(%rsp), %rcx
movl $0x2, %edx
callq 0x28e82
xorl %eax, %eax
leaq 0x5f0(%rsp), %rdi
leaq 0xd0(%rsp), %rdx
leaq 0x1a0(%rsp), %rcx
xorps %xmm0, %xmm0
movl $0x4, %esi
movl $0x1, %r8d
movl $0x0, %r9d
pushq %rax
pushq %rax
pushq %rax
pushq %rax
callq 0x2860c
addq $0x20, %rsp
leaq 0x1a0(%rsp), %rdi
callq 0xe71c
movq $-0x40, %rbx
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0x222a4
movq (%r12), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r12
addq $0x20, %rbx
jne 0x2228e
movq 0xd0(%rsp), %rdi
cmpq %r15, %rdi
je 0x222cb
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0xc0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xe5a5(%rip), %rsi      # 0x30883
leaq 0xe59f(%rip), %rdx      # 0x30884
leaq 0xb0(%rsp), %rdi
callq 0xc3da
leaq 0x1d0(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xf1a3(%rip), %rsi      # 0x314a7
leaq 0xf19d(%rip), %rdx      # 0x314a8
callq 0xc3da
leaq 0x1f0(%rsp), %rdi
leaq 0x200(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xf2c6(%rip), %rdx      # 0x315f2
movq %rdx, %rsi
callq 0xc3da
leaq 0x188(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x540(%rsp), %rcx
movl $0x2, %edx
callq 0x28e82
xorl %eax, %eax
leaq 0x598(%rsp), %rdi
leaq 0xb0(%rsp), %rdx
leaq 0x188(%rsp), %rcx
xorps %xmm0, %xmm0
movl $0x5, %esi
movl $0x1, %r8d
movl $0x0, %r9d
pushq %rax
pushq %rax
pushq %rax
pushq %rax
callq 0x2860c
addq $0x20, %rsp
leaq 0x188(%rsp), %rdi
callq 0xe71c
movq $-0x40, %rbx
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0x223bb
movq (%r12), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r12
addq $0x20, %rbx
jne 0x223a5
movq 0xb0(%rsp), %rdi
cmpq %r15, %rdi
je 0x223e2
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0xa0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xe48e(%rip), %rsi      # 0x30883
leaq 0xe488(%rip), %rdx      # 0x30884
leaq 0x90(%rsp), %rdi
callq 0xc3da
leaq 0x1d0(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xf485(%rip), %rsi      # 0x318a0
leaq 0xf47f(%rip), %rdx      # 0x318a1
callq 0xc3da
leaq 0x1f0(%rsp), %rdi
leaq 0x200(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xf1af(%rip), %rdx      # 0x315f2
movq %rdx, %rsi
callq 0xc3da
leaq 0x170(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x4e8(%rsp), %rcx
movl $0x2, %edx
callq 0x28e82
xorl %eax, %eax
leaq 0x540(%rsp), %rdi
leaq 0x90(%rsp), %rdx
leaq 0x170(%rsp), %rcx
xorps %xmm0, %xmm0
movl $0x6, %esi
movl $0x1, %r8d
movl $0x0, %r9d
pushq %rax
pushq %rax
pushq %rax
pushq %rax
callq 0x2860c
addq $0x20, %rsp
leaq 0x170(%rsp), %rdi
callq 0xe71c
movq $-0x40, %rbx
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0x224d2
movq (%r12), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r12
addq $0x20, %rbx
jne 0x224bc
movq 0x90(%rsp), %rdi
cmpq %r15, %rdi
je 0x224f9
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x80(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xf394(%rip), %rsi      # 0x318a0
leaq 0xf38e(%rip), %rdx      # 0x318a1
leaq 0x70(%rsp), %rdi
callq 0xc3da
leaq 0x1d0(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xf374(%rip), %rsi      # 0x318a3
leaq 0xf36e(%rip), %rdx      # 0x318a4
callq 0xc3da
leaq 0x1f0(%rsp), %rdi
leaq 0x200(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xf09b(%rip), %rdx      # 0x315f2
movq %rdx, %rsi
callq 0xc3da
leaq 0x158(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x490(%rsp), %rcx
movl $0x2, %edx
callq 0x28e82
xorl %eax, %eax
leaq 0x4e8(%rsp), %rdi
leaq 0x70(%rsp), %rdx
leaq 0x158(%rsp), %rcx
xorps %xmm0, %xmm0
movl $0x7, %esi
movl $0x1, %r8d
movl $0x0, %r9d
pushq %rax
pushq %rax
pushq %rax
pushq %rax
callq 0x2860c
addq $0x20, %rsp
leaq 0x158(%rsp), %rdi
callq 0xe71c
movq $-0x40, %rbx
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0x225e3
movq (%r12), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r12
addq $0x20, %rbx
jne 0x225cd
movq 0x70(%rsp), %rdi
cmpq %r15, %rdi
je 0x22607
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x60(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xee90(%rip), %rsi      # 0x314a7
leaq 0xee8a(%rip), %rdx      # 0x314a8
leaq 0x50(%rsp), %rdi
callq 0xc3da
leaq 0x1d0(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xf269(%rip), %rsi      # 0x318a3
leaq 0xf263(%rip), %rdx      # 0x318a4
callq 0xc3da
leaq 0x1f0(%rsp), %rdi
leaq 0x200(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xe221(%rip), %rsi      # 0x30883
leaq 0xe21b(%rip), %rdx      # 0x30884
callq 0xc3da
leaq 0x140(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x6b8(%rsp), %rcx
movl $0x2, %edx
callq 0x28e82
xorl %eax, %eax
leaq 0x490(%rsp), %rdi
leaq 0x50(%rsp), %rdx
leaq 0x140(%rsp), %rcx
xorps %xmm0, %xmm0
movl $0x1, %esi
movl $0x1, %r8d
movl $0x1, %r9d
pushq %rax
pushq $0x1
pushq %rax
pushq %rax
callq 0x2860c
addq $0x20, %rsp
leaq 0x140(%rsp), %rdi
callq 0xe71c
movq $-0x40, %rbx
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0x226f3
movq (%r12), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r12
addq $0x20, %rbx
jne 0x226dd
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x22714
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x40(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xf17b(%rip), %rsi      # 0x3189f
leaq 0xf176(%rip), %rdx      # 0x318a1
leaq 0x30(%rsp), %rdi
callq 0xc3da
leaq 0x1d0(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xf15c(%rip), %rsi      # 0x318a3
leaq 0xf156(%rip), %rdx      # 0x318a4
callq 0xc3da
leaq 0x1f0(%rsp), %rdi
leaq 0x200(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xee83(%rip), %rdx      # 0x315f2
movq %rdx, %rsi
callq 0xc3da
leaq 0x128(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x660(%rsp), %rcx
movl $0x2, %edx
callq 0x28e82
xorl %eax, %eax
movl $0x1, %r10d
leaq 0x6b8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
leaq 0x128(%rsp), %rcx
xorps %xmm0, %xmm0
movl $0x3, %esi
movl $0x1, %r8d
movl $0x0, %r9d
pushq %rax
pushq %r10
pushq %rax
pushq %r10
callq 0x2860c
addq $0x20, %rsp
leaq 0x128(%rsp), %rdi
callq 0xe71c
movq $-0x40, %rbx
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0x22803
movq (%r12), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r12
addq $0x20, %rbx
jne 0x227ed
movq 0x30(%rsp), %rdi
cmpq %r15, %rdi
je 0x22824
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xf06c(%rip), %rsi      # 0x318a0
leaq 0xf066(%rip), %rdx      # 0x318a1
leaq 0x10(%rsp), %rdi
callq 0xc3da
leaq 0x1d0(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xf04b(%rip), %rsi      # 0x318a2
leaq 0xf046(%rip), %rdx      # 0x318a4
callq 0xc3da
leaq 0x1f0(%rsp), %rdi
leaq 0x200(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xed73(%rip), %rdx      # 0x315f2
movq %rdx, %rsi
callq 0xc3da
leaq 0x110(%rsp), %rdi
leaq 0x1d0(%rsp), %r14
leaq 0x648(%rsp), %rcx
movl $0x2, %edx
movq %r14, %rsi
callq 0x28e82
xorl %eax, %eax
movl $0x1, %r10d
leaq 0x660(%rsp), %rdi
leaq 0x10(%rsp), %rdx
leaq 0x110(%rsp), %rcx
xorps %xmm0, %xmm0
movl $0x7, %esi
movl $0x1, %r8d
movl $0x0, %r9d
pushq %rax
pushq %r10
pushq %r10
pushq %rax
callq 0x2860c
addq $0x20, %rsp
leaq 0x110(%rsp), %rdi
callq 0xe71c
movq $-0x40, %rbx
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0x22916
movq (%r12), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r12
addq $0x20, %rbx
jne 0x22900
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x22937
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x5340
movl 0x710(%rsp), %eax
leaq 0x1d8(%rsp), %rdi
movl %eax, -0x8(%rdi)
leaq 0x1e8(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x718(%rsp), %rsi
movq 0x720(%rsp), %rdx
addq %rsi, %rdx
callq 0x1123c
leaq 0x1f8(%rsp), %rdi
leaq 0x738(%rsp), %rsi
callq 0x28582
movq 0x760(%rsp), %rax
leaq 0x228(%rsp), %r15
movq %rax, -0x8(%r15)
movups 0x750(%rsp), %xmm0
movups %xmm0, -0x18(%r15)
movl 0x5f0(%rsp), %eax
movl %eax, (%r15)
leaq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x5f8(%rsp), %rsi
movq 0x600(%rsp), %rdx
addq %rsi, %rdx
callq 0x1123c
leaq 0x250(%rsp), %rdi
leaq 0x618(%rsp), %rsi
callq 0x28582
movq 0x640(%rsp), %rax
leaq 0x280(%rsp), %r15
movq %rax, -0x8(%r15)
movups 0x630(%rsp), %xmm0
movups %xmm0, -0x18(%r15)
movl 0x598(%rsp), %eax
movl %eax, (%r15)
leaq 0x288(%rsp), %rdi
leaq 0x298(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x5a0(%rsp), %rsi
movq 0x5a8(%rsp), %rdx
addq %rsi, %rdx
callq 0x1123c
leaq 0x2a8(%rsp), %rdi
leaq 0x5c0(%rsp), %rsi
callq 0x28582
movq 0x5e8(%rsp), %rax
leaq 0x2d8(%rsp), %r15
movq %rax, -0x8(%r15)
movups 0x5d8(%rsp), %xmm0
movups %xmm0, -0x18(%r15)
movl 0x540(%rsp), %eax
movl %eax, (%r15)
leaq 0x2e0(%rsp), %rdi
leaq 0x2f0(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x548(%rsp), %rsi
movq 0x550(%rsp), %rdx
addq %rsi, %rdx
callq 0x1123c
leaq 0x300(%rsp), %rdi
leaq 0x568(%rsp), %rsi
callq 0x28582
movq 0x590(%rsp), %rax
leaq 0x330(%rsp), %r15
movq %rax, -0x8(%r15)
movups 0x580(%rsp), %xmm0
movups %xmm0, -0x18(%r15)
movl 0x4e8(%rsp), %eax
movl %eax, (%r15)
leaq 0x338(%rsp), %rdi
leaq 0x348(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x4f0(%rsp), %rsi
movq 0x4f8(%rsp), %rdx
addq %rsi, %rdx
callq 0x1123c
leaq 0x358(%rsp), %rdi
leaq 0x510(%rsp), %rsi
callq 0x28582
movq 0x538(%rsp), %rax
leaq 0x388(%rsp), %r15
movq %rax, -0x8(%r15)
movups 0x528(%rsp), %xmm0
movups %xmm0, -0x18(%r15)
movl 0x490(%rsp), %eax
movl %eax, (%r15)
leaq 0x390(%rsp), %rdi
leaq 0x3a0(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x498(%rsp), %rsi
movq 0x4a0(%rsp), %rdx
addq %rsi, %rdx
callq 0x1123c
leaq 0x3b0(%rsp), %rdi
leaq 0x4b8(%rsp), %rsi
callq 0x28582
movq 0x4e0(%rsp), %rax
leaq 0x3e0(%rsp), %r15
movq %rax, -0x8(%r15)
movups 0x4d0(%rsp), %xmm0
movups %xmm0, -0x18(%r15)
movl 0x6b8(%rsp), %eax
movl %eax, (%r15)
leaq 0x3e8(%rsp), %rdi
leaq 0x3f8(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x6c0(%rsp), %rsi
movq 0x6c8(%rsp), %rdx
addq %rsi, %rdx
callq 0x1123c
leaq 0x408(%rsp), %rdi
leaq 0x6e0(%rsp), %r13
movq %r13, %rsi
callq 0x28582
movq 0x708(%rsp), %rax
leaq 0x438(%rsp), %r15
movq %rax, -0x8(%r15)
movups 0x6f8(%rsp), %xmm0
movups %xmm0, -0x18(%r15)
movl 0x660(%rsp), %eax
movl %eax, (%r15)
leaq 0x440(%rsp), %rdi
leaq 0x450(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x668(%rsp), %rsi
movq 0x670(%rsp), %rdx
addq %rsi, %rdx
callq 0x1123c
leaq 0x460(%rsp), %rbx
leaq 0x688(%rsp), %rbp
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x28582
movq 0x6b0(%rsp), %rax
leaq 0x1d0(%rsp), %rsi
movq %rax, 0x2b8(%rsi)
movups 0x6a0(%rsp), %xmm0
movups %xmm0, 0x2a8(%rsi)
leaq 0x648(%rsp), %rdi
leaq 0xf(%rsp), %rcx
movl $0x8, %edx
callq 0x293b6
movq $-0x2c0, %r14           # imm = 0xFD40
movq %rbx, %rdi
callq 0xe71c
movq -0x20(%rbx), %rdi
leaq -0x10(%rbx), %rax
cmpq %rdi, %rax
je 0x22ce8
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x58, %rbx
addq $0x58, %r14
jne 0x22cc8
leaq 0x648(%rsp), %rdi
callq 0x284ec
movq %rbp, %rdi
callq 0xe71c
leaq 0x678(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x22d28
movq 0x678(%rsp), %rsi
incq %rsi
callq 0x5340
movq %r13, %rdi
callq 0xe71c
leaq 0x6d0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
leaq 0x738(%rsp), %rbx
je 0x22d59
movq 0x6d0(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x4b8(%rsp), %rdi
callq 0xe71c
leaq 0x4a8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x22d87
movq 0x4a8(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x510(%rsp), %rdi
callq 0xe71c
leaq 0x500(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x22db5
movq 0x500(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x568(%rsp), %rdi
callq 0xe71c
leaq 0x558(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x22de3
movq 0x558(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x5c0(%rsp), %rdi
callq 0xe71c
leaq 0x5b0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x22e11
movq 0x5b0(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x618(%rsp), %rdi
callq 0xe71c
leaq 0x608(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x22e3f
movq 0x608(%rsp), %rsi
incq %rsi
callq 0x5340
movq %rbx, %rdi
callq 0xe71c
leaq 0x728(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x22e68
movq 0x728(%rsp), %rsi
incq %rsi
callq 0x5340
xorl %eax, %eax
addq $0x768, %rsp            # imm = 0x768
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movl $0x268, %r14d           # imm = 0x268
leaq (%rsp,%r14), %rdi
addq $0x1d0, %rdi            # imm = 0x1D0
callq 0x286da
addq $-0x58, %r14
cmpq $-0x58, %r14
jne 0x22e85
jmp 0x23444
movq %rax, %rbx
movq 0x440(%rsp), %rdi
cmpq %r12, %rdi
je 0x23433
movq 0x450(%rsp), %rsi
jmp 0x22f7a
movq %rax, %rbx
movq 0x3e8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x23433
movq 0x3f8(%rsp), %rsi
jmp 0x22f7a
movq %rax, %rbx
movq 0x390(%rsp), %rdi
cmpq %r13, %rdi
je 0x23433
movq 0x3a0(%rsp), %rsi
jmp 0x22f7a
movq %rax, %rbx
movq 0x338(%rsp), %rdi
cmpq %r12, %rdi
je 0x23433
movq 0x348(%rsp), %rsi
jmp 0x22f7a
movq %rax, %rbx
movq 0x2e0(%rsp), %rdi
cmpq %r12, %rdi
je 0x23433
movq 0x2f0(%rsp), %rsi
jmp 0x22f7a
movq %rax, %rbx
movq 0x288(%rsp), %rdi
cmpq %r12, %rdi
je 0x23433
movq 0x298(%rsp), %rsi
jmp 0x22f7a
movq %rax, %rbx
movq 0x230(%rsp), %rdi
cmpq %r12, %rdi
je 0x23433
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x23433
movq %rax, %rbx
movq 0x1d8(%rsp), %rdi
cmpq %r15, %rdi
je 0x23444
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x23444
movq %rax, %rbx
jmp 0x23444
movq %rax, %rbx
leaq 0x110(%rsp), %rdi
callq 0xe71c
jmp 0x22fcd
movq %rax, %rbx
xorl %r14d, %r14d
movq 0x1f0(%rsp,%r14), %rdi
leaq (%r12,%r14), %rax
cmpq %rdi, %rax
je 0x22fec
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r14
cmpq $-0x40, %r14
jne 0x22fd0
jmp 0x2301d
movq %rax, %rbx
movq 0x1d0(%rsp), %rdi
cmpq %r14, %rdi
je 0x2301d
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x2301d
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x23451
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x23451
movq %rax, %rbx
jmp 0x23451
movq %rax, %rbx
leaq 0x128(%rsp), %rdi
callq 0xe71c
jmp 0x2305a
movq %rax, %rbx
xorl %r14d, %r14d
movq 0x1f0(%rsp,%r14), %rdi
leaq (%r12,%r14), %rax
cmpq %rdi, %rax
je 0x23079
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r14
cmpq $-0x40, %r14
jne 0x2305d
jmp 0x230aa
movq %rax, %rbx
movq 0x1d0(%rsp), %rdi
cmpq %r14, %rdi
je 0x230aa
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x230aa
movq %rax, %rbx
movq 0x30(%rsp), %rdi
cmpq %r15, %rdi
je 0x2345e
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x2345e
movq %rax, %rbx
jmp 0x2345e
movq %rax, %rbx
leaq 0x140(%rsp), %rdi
callq 0xe71c
jmp 0x230e7
movq %rax, %rbx
xorl %r14d, %r14d
movq 0x1f0(%rsp,%r14), %rdi
leaq (%r12,%r14), %rax
cmpq %rdi, %rax
je 0x23106
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r14
cmpq $-0x40, %r14
jne 0x230ea
jmp 0x23137
movq %rax, %rbx
movq 0x1d0(%rsp), %rdi
cmpq %r14, %rdi
je 0x23137
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x23137
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x2346b
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x2346b
movq %rax, %rbx
jmp 0x2346b
movq %rax, %rbx
leaq 0x158(%rsp), %rdi
callq 0xe71c
jmp 0x23174
movq %rax, %rbx
xorl %r14d, %r14d
movq 0x1f0(%rsp,%r14), %rdi
leaq (%r12,%r14), %rax
cmpq %rdi, %rax
je 0x23193
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r14
cmpq $-0x40, %r14
jne 0x23177
jmp 0x231c4
movq %rax, %rbx
movq 0x1d0(%rsp), %rdi
cmpq %r14, %rdi
je 0x231c4
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x231c4
movq %rax, %rbx
movq 0x70(%rsp), %rdi
cmpq %r15, %rdi
je 0x23478
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x23478
movq %rax, %rbx
jmp 0x23478
movq %rax, %rbx
leaq 0x170(%rsp), %rdi
callq 0xe71c
jmp 0x23204
movq %rax, %rbx
xorl %r14d, %r14d
movq 0x1f0(%rsp,%r14), %rdi
leaq (%r12,%r14), %rax
cmpq %rdi, %rax
je 0x23223
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r14
cmpq $-0x40, %r14
jne 0x23207
jmp 0x23254
movq %rax, %rbx
movq 0x1d0(%rsp), %rdi
cmpq %r14, %rdi
je 0x23254
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x23254
movq %rax, %rbx
movq 0x90(%rsp), %rdi
cmpq %r15, %rdi
je 0x23485
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x23485
movq %rax, %rbx
jmp 0x23485
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
callq 0xe71c
jmp 0x23297
movq %rax, %rbx
xorl %r14d, %r14d
movq 0x1f0(%rsp,%r14), %rdi
leaq (%r12,%r14), %rax
cmpq %rdi, %rax
je 0x232b6
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r14
cmpq $-0x40, %r14
jne 0x2329a
jmp 0x232e7
movq %rax, %rbx
movq 0x1d0(%rsp), %rdi
cmpq %r14, %rdi
je 0x232e7
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x232e7
movq %rax, %rbx
movq 0xb0(%rsp), %rdi
cmpq %r15, %rdi
je 0x23492
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x23492
movq %rax, %rbx
jmp 0x23492
movq %rax, %rbx
leaq 0x1a0(%rsp), %rdi
callq 0xe71c
jmp 0x2332a
movq %rax, %rbx
xorl %r14d, %r14d
movq 0x1f0(%rsp,%r14), %rdi
leaq (%r12,%r14), %rax
cmpq %rdi, %rax
je 0x23349
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r14
cmpq $-0x40, %r14
jne 0x2332d
jmp 0x2337a
movq %rax, %rbx
movq 0x1d0(%rsp), %rdi
cmpq %r14, %rdi
je 0x2337a
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x2337a
movq %rax, %rbx
movq 0xd0(%rsp), %rdi
cmpq %r15, %rdi
je 0x2349f
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x2349f
movq %rax, %rbx
jmp 0x2349f
movq %rax, %rbx
leaq 0x1b8(%rsp), %rdi
callq 0xe71c
jmp 0x233bd
movq %rax, %rbx
xorl %r14d, %r14d
movq 0x1f0(%rsp,%r14), %rdi
leaq (%r12,%r14), %rax
cmpq %rdi, %rax
je 0x233dc
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r14
cmpq $-0x40, %r14
jne 0x233c0
jmp 0x2340d
movq %rax, %rbx
movq 0x1d0(%rsp), %rdi
cmpq %r14, %rdi
je 0x2340d
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x2340d
movq %rax, %rbx
movq 0xf0(%rsp), %rdi
cmpq %r15, %rdi
je 0x234ac
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x234ac
movq %rax, %rbx
addq $-0x58, %r15
movq %r15, %rdi
callq 0x286da
cmpq %r14, %r15
jne 0x23433
leaq 0x660(%rsp), %rdi
callq 0x286da
leaq 0x6b8(%rsp), %rdi
callq 0x286da
leaq 0x490(%rsp), %rdi
callq 0x286da
leaq 0x4e8(%rsp), %rdi
callq 0x286da
leaq 0x540(%rsp), %rdi
callq 0x286da
leaq 0x598(%rsp), %rdi
callq 0x286da
leaq 0x5f0(%rsp), %rdi
callq 0x286da
leaq 0x710(%rsp), %rdi
callq 0x286da
movq %rbx, %rdi
callq 0x55c0