// File: /workspace/github_cpp_makefile_star2_O1/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 0x29a16
movq 0x8(%rax), %rdx
leaq 0xf467(%rip), %rcx      # 0x31865
movl $0x9, %r8d
movq %rax, %rdi
xorl %esi, %esi
callq 0x54b0
leaq 0x100(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xf055(%rip), %rsi      # 0x31477
leaq 0xf04f(%rip), %rdx      # 0x31478
leaq 0xf0(%rsp), %rdi
callq 0xc45c
leaq 0x1e0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xf42a(%rip), %rsi      # 0x31873
leaq 0xf424(%rip), %rdx      # 0x31874
leaq 0x1d0(%rsp), %r15
movq %r15, %rdi
callq 0xc45c
leaq 0x1f0(%rsp), %r14
leaq 0x200(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0xe408(%rip), %rsi      # 0x30883
leaq 0xe402(%rip), %rdx      # 0x30884
movq %r14, %rdi
callq 0xc45c
leaq 0x1b8(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x5f0(%rsp), %rcx
movl $0x2, %edx
callq 0x292e8
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 0x28a76
addq $0x20, %rsp
leaq 0x1b8(%rsp), %rdi
callq 0xe7ca
movq $-0x40, %r14
movq -0x10(%r13), %rdi
cmpq %rdi, %r13
je 0x22510
movq (%r13), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r13
addq $0x20, %r14
jne 0x224fb
movq 0xf0(%rsp), %rdi
cmpq %r12, %rdi
je 0x22537
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0xe0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xf325(%rip), %rsi      # 0x31870
leaq 0xf31f(%rip), %rdx      # 0x31871
leaq 0xd0(%rsp), %rdi
callq 0xc45c
leaq 0x1d0(%rsp), %r15
movq %rbx, (%r15)
leaq 0xe312(%rip), %rsi      # 0x30883
leaq 0xe30c(%rip), %rdx      # 0x30884
movq %r15, %rdi
callq 0xc45c
leaq 0x1f0(%rsp), %r14
leaq 0x200(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0xf027(%rip), %rdx      # 0x315c2
movq %r14, %rdi
movq %rdx, %rsi
callq 0xc45c
leaq 0x1a0(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x598(%rsp), %rcx
movl $0x2, %edx
callq 0x292e8
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 0x28a76
addq $0x20, %rsp
leaq 0x1a0(%rsp), %rdi
callq 0xe7ca
movq $-0x40, %r14
movq -0x10(%r13), %rdi
cmpq %rdi, %r13
je 0x2262c
movq (%r13), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r13
addq $0x20, %r14
jne 0x22617
movq 0xd0(%rsp), %rdi
cmpq %r12, %rdi
je 0x22653
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0xc0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xe21c(%rip), %rsi      # 0x30883
leaq 0xe216(%rip), %rdx      # 0x30884
leaq 0xb0(%rsp), %rdi
callq 0xc45c
leaq 0x1d0(%rsp), %r15
movq %rbx, (%r15)
leaq 0xedea(%rip), %rsi      # 0x31477
leaq 0xede4(%rip), %rdx      # 0x31478
movq %r15, %rdi
callq 0xc45c
leaq 0x1f0(%rsp), %r14
leaq 0x200(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0xef0b(%rip), %rdx      # 0x315c2
movq %r14, %rdi
movq %rdx, %rsi
callq 0xc45c
leaq 0x188(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x540(%rsp), %rcx
movl $0x2, %edx
callq 0x292e8
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 0x28a76
addq $0x20, %rsp
leaq 0x188(%rsp), %rdi
callq 0xe7ca
movq $-0x40, %r14
movq -0x10(%r13), %rdi
cmpq %rdi, %r13
je 0x22748
movq (%r13), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r13
addq $0x20, %r14
jne 0x22733
movq 0xb0(%rsp), %rdi
cmpq %r12, %rdi
je 0x2276f
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0xa0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xe100(%rip), %rsi      # 0x30883
leaq 0xe0fa(%rip), %rdx      # 0x30884
leaq 0x90(%rsp), %rdi
callq 0xc45c
leaq 0x1d0(%rsp), %r15
movq %rbx, (%r15)
leaq 0xf0c7(%rip), %rsi      # 0x31870
leaq 0xf0c1(%rip), %rdx      # 0x31871
movq %r15, %rdi
callq 0xc45c
leaq 0x1f0(%rsp), %r14
leaq 0x200(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0xedef(%rip), %rdx      # 0x315c2
movq %r14, %rdi
movq %rdx, %rsi
callq 0xc45c
leaq 0x170(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x4e8(%rsp), %rcx
movl $0x2, %edx
callq 0x292e8
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 0x28a76
addq $0x20, %rsp
leaq 0x170(%rsp), %rdi
callq 0xe7ca
movq $-0x40, %r14
movq -0x10(%r13), %rdi
cmpq %rdi, %r13
je 0x22864
movq (%r13), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r13
addq $0x20, %r14
jne 0x2284f
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
je 0x2288b
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x80(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xefd1(%rip), %rsi      # 0x31870
leaq 0xefcb(%rip), %rdx      # 0x31871
leaq 0x70(%rsp), %rdi
callq 0xc45c
leaq 0x1d0(%rsp), %r15
movq %rbx, (%r15)
leaq 0xefb1(%rip), %rsi      # 0x31873
leaq 0xefab(%rip), %rdx      # 0x31874
movq %r15, %rdi
callq 0xc45c
leaq 0x1f0(%rsp), %r14
leaq 0x200(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0xecd6(%rip), %rdx      # 0x315c2
movq %r14, %rdi
movq %rdx, %rsi
callq 0xc45c
leaq 0x158(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x490(%rsp), %rcx
movl $0x2, %edx
callq 0x292e8
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 0x28a76
addq $0x20, %rsp
leaq 0x158(%rsp), %rdi
callq 0xe7ca
movq $-0x40, %r14
movq -0x10(%r13), %rdi
cmpq %rdi, %r13
je 0x2297a
movq (%r13), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r13
addq $0x20, %r14
jne 0x22965
movq 0x70(%rsp), %rdi
cmpq %r12, %rdi
je 0x2299e
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x60(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xeac8(%rip), %rsi      # 0x31477
leaq 0xeac2(%rip), %rdx      # 0x31478
leaq 0x50(%rsp), %rdi
callq 0xc45c
leaq 0x1d0(%rsp), %r15
movq %rbx, (%r15)
leaq 0xeea1(%rip), %rsi      # 0x31873
leaq 0xee9b(%rip), %rdx      # 0x31874
movq %r15, %rdi
callq 0xc45c
leaq 0x1f0(%rsp), %r14
leaq 0x200(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0xde87(%rip), %rsi      # 0x30883
leaq 0xde81(%rip), %rdx      # 0x30884
movq %r14, %rdi
callq 0xc45c
leaq 0x140(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x6b8(%rsp), %rcx
movl $0x2, %edx
callq 0x292e8
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 0x28a76
addq $0x20, %rsp
leaq 0x140(%rsp), %rdi
callq 0xe7ca
movq $-0x40, %r14
movq -0x10(%r13), %rdi
cmpq %rdi, %r13
je 0x22a8f
movq (%r13), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r13
addq $0x20, %r14
jne 0x22a7a
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
je 0x22ab0
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x40(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xedae(%rip), %rsi      # 0x3186f
leaq 0xeda9(%rip), %rdx      # 0x31871
leaq 0x30(%rsp), %rdi
callq 0xc45c
leaq 0x1d0(%rsp), %r15
movq %rbx, (%r15)
leaq 0xed8f(%rip), %rsi      # 0x31873
leaq 0xed89(%rip), %rdx      # 0x31874
movq %r15, %rdi
callq 0xc45c
leaq 0x1f0(%rsp), %r14
leaq 0x200(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0xeab4(%rip), %rdx      # 0x315c2
movq %r14, %rdi
movq %rdx, %rsi
callq 0xc45c
leaq 0x128(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x660(%rsp), %rcx
movl $0x2, %edx
callq 0x292e8
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 0x28a76
addq $0x20, %rsp
leaq 0x128(%rsp), %rdi
callq 0xe7ca
movq $-0x40, %r14
movq -0x10(%r13), %rdi
cmpq %rdi, %r13
je 0x22ba4
movq (%r13), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r13
addq $0x20, %r14
jne 0x22b8f
movq 0x30(%rsp), %rdi
cmpq %r12, %rdi
je 0x22bc5
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x20(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0xec9b(%rip), %rsi      # 0x31870
leaq 0xec95(%rip), %rdx      # 0x31871
leaq 0x10(%rsp), %rdi
callq 0xc45c
leaq 0x1d0(%rsp), %r12
movq %rbx, (%r12)
leaq 0xec79(%rip), %rsi      # 0x31872
leaq 0xec74(%rip), %rdx      # 0x31874
movq %r12, %rdi
callq 0xc45c
leaq 0x1f0(%rsp), %r15
leaq 0x200(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0xe99f(%rip), %rdx      # 0x315c2
movq %r15, %rdi
movq %rdx, %rsi
callq 0xc45c
leaq 0x110(%rsp), %rdi
leaq 0x1d0(%rsp), %r14
leaq 0x648(%rsp), %rcx
movl $0x2, %edx
movq %r14, %rsi
callq 0x292e8
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 0x28a76
addq $0x20, %rsp
leaq 0x110(%rsp), %rdi
callq 0xe7ca
movq $-0x40, %rbx
movq -0x10(%rbp), %rdi
cmpq %rdi, %rbp
je 0x22cbc
movq (%rbp), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %rbp
addq $0x20, %rbx
jne 0x22ca7
movq 0x10(%rsp), %rdi
cmpq %r13, %rdi
je 0x22cdd
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 0x112ce
leaq 0x1f8(%rsp), %rdi
leaq 0x738(%rsp), %rbx
movq %rbx, %rsi
callq 0x289ec
movq 0x760(%rsp), %rax
leaq 0x228(%rsp), %r14
movq %rax, -0x8(%r14)
movups 0x750(%rsp), %xmm0
movups %xmm0, -0x18(%r14)
movl 0x5f0(%rsp), %eax
movl %eax, (%r14)
leaq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x5f8(%rsp), %rsi
movq 0x600(%rsp), %rdx
addq %rsi, %rdx
callq 0x112ce
leaq 0x250(%rsp), %rdi
leaq 0x618(%rsp), %rsi
callq 0x289ec
movq 0x640(%rsp), %rax
leaq 0x280(%rsp), %r14
movq %rax, -0x8(%r14)
movups 0x630(%rsp), %xmm0
movups %xmm0, -0x18(%r14)
movl 0x598(%rsp), %eax
movl %eax, (%r14)
leaq 0x288(%rsp), %rdi
leaq 0x298(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x5a0(%rsp), %rsi
movq 0x5a8(%rsp), %rdx
addq %rsi, %rdx
callq 0x112ce
leaq 0x2a8(%rsp), %rdi
leaq 0x5c0(%rsp), %rsi
callq 0x289ec
movq 0x5e8(%rsp), %rax
leaq 0x2d8(%rsp), %r14
movq %rax, -0x8(%r14)
movups 0x5d8(%rsp), %xmm0
movups %xmm0, -0x18(%r14)
movl 0x540(%rsp), %eax
movl %eax, (%r14)
leaq 0x2e0(%rsp), %rdi
leaq 0x2f0(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x548(%rsp), %rsi
movq 0x550(%rsp), %rdx
addq %rsi, %rdx
callq 0x112ce
leaq 0x300(%rsp), %rdi
leaq 0x568(%rsp), %rsi
callq 0x289ec
movq 0x590(%rsp), %rax
leaq 0x330(%rsp), %r14
movq %rax, -0x8(%r14)
movups 0x580(%rsp), %xmm0
movups %xmm0, -0x18(%r14)
movl 0x4e8(%rsp), %eax
movl %eax, (%r14)
leaq 0x338(%rsp), %rdi
leaq 0x348(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x4f0(%rsp), %rsi
movq 0x4f8(%rsp), %rdx
addq %rsi, %rdx
callq 0x112ce
leaq 0x358(%rsp), %rdi
leaq 0x510(%rsp), %rsi
callq 0x289ec
movq 0x538(%rsp), %rax
leaq 0x388(%rsp), %r14
movq %rax, -0x8(%r14)
movups 0x528(%rsp), %xmm0
movups %xmm0, -0x18(%r14)
movl 0x490(%rsp), %eax
movl %eax, (%r14)
leaq 0x390(%rsp), %rdi
leaq 0x3a0(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x498(%rsp), %rsi
movq 0x4a0(%rsp), %rdx
addq %rsi, %rdx
callq 0x112ce
leaq 0x3b0(%rsp), %rdi
leaq 0x4b8(%rsp), %rsi
callq 0x289ec
movq 0x4e0(%rsp), %rax
leaq 0x3e0(%rsp), %r14
movq %rax, -0x8(%r14)
movups 0x4d0(%rsp), %xmm0
movups %xmm0, -0x18(%r14)
movl 0x6b8(%rsp), %eax
movl %eax, (%r14)
leaq 0x3e8(%rsp), %rdi
leaq 0x3f8(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x6c0(%rsp), %rsi
movq 0x6c8(%rsp), %rdx
addq %rsi, %rdx
callq 0x112ce
leaq 0x408(%rsp), %rdi
leaq 0x6e0(%rsp), %r15
movq %r15, %rsi
callq 0x289ec
movq 0x708(%rsp), %rax
leaq 0x438(%rsp), %r14
movq %rax, -0x8(%r14)
movups 0x6f8(%rsp), %xmm0
movups %xmm0, -0x18(%r14)
movl 0x660(%rsp), %eax
movl %eax, (%r14)
leaq 0x440(%rsp), %rdi
leaq 0x450(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x668(%rsp), %rsi
movq 0x670(%rsp), %rdx
addq %rsi, %rdx
callq 0x112ce
leaq 0x460(%rsp), %r13
leaq 0x688(%rsp), %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0x289ec
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 0x29842
movq $-0x2c0, %r14           # imm = 0xFD40
movq %r13, %rdi
callq 0xe7ca
movq -0x20(%r13), %rdi
leaq -0x10(%r13), %rax
cmpq %rdi, %rax
je 0x2308d
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x58, %r13
addq $0x58, %r14
jne 0x2306d
leaq 0x648(%rsp), %rdi
callq 0x28958
movq %r12, %rdi
callq 0xe7ca
leaq 0x678(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x230cd
movq 0x678(%rsp), %rsi
incq %rsi
callq 0x5340
movq %r15, %rdi
callq 0xe7ca
leaq 0x6d0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
movq %rbx, %r14
je 0x230f9
movq 0x6d0(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x4b8(%rsp), %rdi
callq 0xe7ca
leaq 0x4a8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
leaq 0x618(%rsp), %rbx
je 0x2312f
movq 0x4a8(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x510(%rsp), %rdi
callq 0xe7ca
leaq 0x500(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2315d
movq 0x500(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x568(%rsp), %rdi
callq 0xe7ca
leaq 0x558(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2318b
movq 0x558(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x5c0(%rsp), %rdi
callq 0xe7ca
leaq 0x5b0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x231b9
movq 0x5b0(%rsp), %rsi
incq %rsi
callq 0x5340
movq %rbx, %rdi
callq 0xe7ca
leaq 0x608(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x231e2
movq 0x608(%rsp), %rsi
incq %rsi
callq 0x5340
movq %r14, %rdi
callq 0xe7ca
leaq 0x728(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2320b
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 0x28b44
addq $-0x58, %r14
cmpq $-0x58, %r14
jne 0x23228
jmp 0x23922
movq %rax, %rbx
movq 0x440(%rsp), %rdi
cmpq %rbp, %rdi
je 0x23904
movq 0x450(%rsp), %rsi
jmp 0x23342
movq %rax, %rbx
movq 0x3e8(%rsp), %rdi
cmpq %r12, %rdi
je 0x23904
movq 0x3f8(%rsp), %rsi
jmp 0x23342
movq %rax, %rbx
movq 0x390(%rsp), %rdi
cmpq %r15, %rdi
je 0x23904
movq 0x3a0(%rsp), %rsi
jmp 0x23342
movq %rax, %rbx
movq 0x338(%rsp), %rdi
cmpq %r15, %rdi
je 0x23904
movq 0x348(%rsp), %rsi
jmp 0x23342
movq %rax, %rbx
movq 0x2e0(%rsp), %rdi
cmpq %r15, %rdi
je 0x23904
movq 0x2f0(%rsp), %rsi
jmp 0x23342
movq %rax, %rbx
movq 0x288(%rsp), %rdi
cmpq %r15, %rdi
je 0x23904
movq 0x298(%rsp), %rsi
jmp 0x23342
movq %rax, %rbx
movq 0x230(%rsp), %rdi
cmpq %r15, %rdi
je 0x23904
movq 0x240(%rsp), %rsi
jmp 0x23342
movq %rax, %rbx
leaq 0x1d0(%rsp), %r14
movq 0x8(%r14), %rdi
cmpq %r15, %rdi
je 0x23904
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x23904
movq %rax, %rbx
leaq 0x110(%rsp), %rdi
callq 0xe7ca
jmp 0x23364
movq %rax, %rbx
xorl %r14d, %r14d
movq 0x1f0(%rsp,%r14), %rdi
leaq (%r14,%rbp), %rax
cmpq %rdi, %rax
je 0x23383
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %r14
cmpq $-0x40, %r14
jne 0x23367
movb $0x1, %al
jmp 0x233a0
movq %rax, %rbx
xorl %eax, %eax
jmp 0x233a0
movq %rax, %rbx
xorl %eax, %eax
movq %r12, %r15
cmpq %r15, %r12
sete %cl
orb %al, %cl
jne 0x233da
addq $-0x10, %r15
leaq 0x1d0(%rsp), %r14
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x233ca
movq (%r15), %rsi
incq %rsi
callq 0x5340
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %r14, %r15
movq %rax, %r15
jne 0x233b6
movq 0x10(%rsp), %rdi
cmpq %r13, %rdi
je 0x2392f
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x2392f
movq %rax, %rbx
jmp 0x2392f
movq %rax, %rbx
leaq 0x128(%rsp), %rdi
callq 0xe7ca
jmp 0x23417
movq %rax, %rbx
xorl %ebp, %ebp
movq 0x1f0(%rsp,%rbp), %rdi
movq %r13, %rax
addq %rbp, %rax
cmpq %rdi, %rax
je 0x23437
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %rbp
cmpq $-0x40, %rbp
jne 0x23419
movb $0x1, %al
jmp 0x23454
movq %rax, %rbx
xorl %eax, %eax
jmp 0x23454
movq %rax, %rbx
xorl %eax, %eax
movq %r15, %r14
cmpq %r14, %r15
sete %cl
orb %al, %cl
jne 0x2348e
addq $-0x10, %r14
leaq 0x1d0(%rsp), %r15
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x2347e
movq (%r14), %rsi
incq %rsi
callq 0x5340
leaq -0x20(%r14), %rax
addq $-0x10, %r14
cmpq %r15, %r14
movq %rax, %r14
jne 0x2346a
movq 0x30(%rsp), %rdi
cmpq %r12, %rdi
je 0x2393c
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x2393c
movq %rax, %rbx
jmp 0x2393c
movq %rax, %rbx
leaq 0x140(%rsp), %rdi
callq 0xe7ca
jmp 0x234cb
movq %rax, %rbx
xorl %ebp, %ebp
movq 0x1f0(%rsp,%rbp), %rdi
movq %r13, %rax
addq %rbp, %rax
cmpq %rdi, %rax
je 0x234eb
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %rbp
cmpq $-0x40, %rbp
jne 0x234cd
movb $0x1, %al
jmp 0x23508
movq %rax, %rbx
xorl %eax, %eax
jmp 0x23508
movq %rax, %rbx
xorl %eax, %eax
movq %r15, %r14
cmpq %r14, %r15
sete %cl
orb %al, %cl
jne 0x23542
addq $-0x10, %r14
leaq 0x1d0(%rsp), %r15
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x23532
movq (%r14), %rsi
incq %rsi
callq 0x5340
leaq -0x20(%r14), %rax
addq $-0x10, %r14
cmpq %r15, %r14
movq %rax, %r14
jne 0x2351e
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
je 0x23949
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x23949
movq %rax, %rbx
jmp 0x23949
movq %rax, %rbx
leaq 0x158(%rsp), %rdi
callq 0xe7ca
jmp 0x2357f
movq %rax, %rbx
xorl %ebp, %ebp
movq 0x1f0(%rsp,%rbp), %rdi
movq %r13, %rax
addq %rbp, %rax
cmpq %rdi, %rax
je 0x2359f
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %rbp
cmpq $-0x40, %rbp
jne 0x23581
movb $0x1, %al
jmp 0x235bc
movq %rax, %rbx
xorl %eax, %eax
jmp 0x235bc
movq %rax, %rbx
xorl %eax, %eax
movq %r15, %r14
cmpq %r14, %r15
sete %cl
orb %al, %cl
jne 0x235f6
addq $-0x10, %r14
leaq 0x1d0(%rsp), %r15
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x235e6
movq (%r14), %rsi
incq %rsi
callq 0x5340
leaq -0x20(%r14), %rax
addq $-0x10, %r14
cmpq %r15, %r14
movq %rax, %r14
jne 0x235d2
movq 0x70(%rsp), %rdi
cmpq %r12, %rdi
je 0x23956
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x23956
movq %rax, %rbx
jmp 0x23956
movq %rax, %rbx
leaq 0x170(%rsp), %rdi
callq 0xe7ca
jmp 0x23636
movq %rax, %rbx
xorl %ebp, %ebp
movq 0x1f0(%rsp,%rbp), %rdi
movq %r13, %rax
addq %rbp, %rax
cmpq %rdi, %rax
je 0x23656
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %rbp
cmpq $-0x40, %rbp
jne 0x23638
movb $0x1, %al
jmp 0x23673
movq %rax, %rbx
xorl %eax, %eax
jmp 0x23673
movq %rax, %rbx
xorl %eax, %eax
movq %r15, %r14
cmpq %r14, %r15
sete %cl
orb %al, %cl
jne 0x236ad
addq $-0x10, %r14
leaq 0x1d0(%rsp), %r15
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x2369d
movq (%r14), %rsi
incq %rsi
callq 0x5340
leaq -0x20(%r14), %rax
addq $-0x10, %r14
cmpq %r15, %r14
movq %rax, %r14
jne 0x23689
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
je 0x23963
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x23963
movq %rax, %rbx
jmp 0x23963
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
callq 0xe7ca
jmp 0x236f0
movq %rax, %rbx
xorl %ebp, %ebp
movq 0x1f0(%rsp,%rbp), %rdi
movq %r13, %rax
addq %rbp, %rax
cmpq %rdi, %rax
je 0x23710
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %rbp
cmpq $-0x40, %rbp
jne 0x236f2
movb $0x1, %al
jmp 0x2372d
movq %rax, %rbx
xorl %eax, %eax
jmp 0x2372d
movq %rax, %rbx
xorl %eax, %eax
movq %r15, %r14
cmpq %r14, %r15
sete %cl
orb %al, %cl
jne 0x23767
addq $-0x10, %r14
leaq 0x1d0(%rsp), %r15
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x23757
movq (%r14), %rsi
incq %rsi
callq 0x5340
leaq -0x20(%r14), %rax
addq $-0x10, %r14
cmpq %r15, %r14
movq %rax, %r14
jne 0x23743
movq 0xb0(%rsp), %rdi
cmpq %r12, %rdi
je 0x23970
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x23970
movq %rax, %rbx
jmp 0x23970
movq %rax, %rbx
leaq 0x1a0(%rsp), %rdi
callq 0xe7ca
jmp 0x237aa
movq %rax, %rbx
xorl %ebp, %ebp
movq 0x1f0(%rsp,%rbp), %rdi
movq %r13, %rax
addq %rbp, %rax
cmpq %rdi, %rax
je 0x237ca
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %rbp
cmpq $-0x40, %rbp
jne 0x237ac
movb $0x1, %al
jmp 0x237e7
movq %rax, %rbx
xorl %eax, %eax
jmp 0x237e7
movq %rax, %rbx
xorl %eax, %eax
movq %r15, %r14
cmpq %r14, %r15
sete %cl
orb %al, %cl
jne 0x23821
addq $-0x10, %r14
leaq 0x1d0(%rsp), %r15
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x23811
movq (%r14), %rsi
incq %rsi
callq 0x5340
leaq -0x20(%r14), %rax
addq $-0x10, %r14
cmpq %r15, %r14
movq %rax, %r14
jne 0x237fd
movq 0xd0(%rsp), %rdi
cmpq %r12, %rdi
je 0x2397d
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x2397d
movq %rax, %rbx
jmp 0x2397d
movq %rax, %rbx
leaq 0x1b8(%rsp), %rdi
callq 0xe7ca
jmp 0x23864
movq %rax, %rbx
xorl %ebp, %ebp
movq 0x1f0(%rsp,%rbp), %rdi
movq %r13, %rax
addq %rbp, %rax
cmpq %rdi, %rax
je 0x23884
movq (%rax), %rsi
incq %rsi
callq 0x5340
addq $-0x20, %rbp
cmpq $-0x40, %rbp
jne 0x23866
movb $0x1, %al
jmp 0x238a1
movq %rax, %rbx
xorl %eax, %eax
jmp 0x238a1
movq %rax, %rbx
xorl %eax, %eax
movq %r15, %r14
cmpq %r14, %r15
sete %cl
orb %al, %cl
jne 0x238db
addq $-0x10, %r14
leaq 0x1d0(%rsp), %r15
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x238cb
movq (%r14), %rsi
incq %rsi
callq 0x5340
leaq -0x20(%r14), %rax
addq $-0x10, %r14
cmpq %r15, %r14
movq %rax, %r14
jne 0x238b7
movq 0xf0(%rsp), %rdi
cmpq %r12, %rdi
je 0x2398a
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x2398a
movq %rax, %rbx
leaq 0x1d0(%rsp), %r15
cmpq %r14, %r15
je 0x23922
addq $-0x58, %r14
movq %r14, %rdi
callq 0x28b44
cmpq %r15, %r14
jne 0x23911
leaq 0x660(%rsp), %rdi
callq 0x28b44
leaq 0x6b8(%rsp), %rdi
callq 0x28b44
leaq 0x490(%rsp), %rdi
callq 0x28b44
leaq 0x4e8(%rsp), %rdi
callq 0x28b44
leaq 0x540(%rsp), %rdi
callq 0x28b44
leaq 0x598(%rsp), %rdi
callq 0x28b44
leaq 0x5f0(%rsp), %rdi
callq 0x28b44
leaq 0x710(%rsp), %rdi
callq 0x28b44
movq %rbx, %rdi
callq 0x55c0