// File: 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
movq %rsp, %rbp
subq $0xec0, %rsp            # imm = 0xEC0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
addq $0x118, %rdi            # imm = 0x118
movl $0x0, -0xc(%rbp)
leaq -0xc(%rbp), %rsi
callq 0x35fa0
movq %rax, %rdi
leaq 0x2912d(%rip), %rsi     # 0x55841
callq 0x65c0
leaq -0x89(%rbp), %rdi
movq %rdi, -0xae0(%rbp)
callq 0x6760
movq -0xae0(%rbp), %rdx
leaq 0x28d19(%rip), %rsi     # 0x55453
leaq -0x88(%rbp), %rdi
callq 0x9680
jmp 0x2c748
movb $0x1, -0x113(%rbp)
leaq -0x108(%rbp), %rax
movq %rax, -0xaf0(%rbp)
movq %rax, -0x110(%rbp)
leaq -0x111(%rbp), %rdi
movq %rdi, -0xae8(%rbp)
callq 0x6760
movq -0xaf0(%rbp), %rdi
movq -0xae8(%rbp), %rdx
leaq 0x290c3(%rip), %rsi     # 0x5584f
callq 0x9680
jmp 0x2c793
leaq -0xe8(%rbp), %rax
movq %rax, -0xb00(%rbp)
movq %rax, -0x110(%rbp)
leaq -0x112(%rbp), %rdi
movq %rdi, -0xaf8(%rbp)
callq 0x6760
movq -0xb00(%rbp), %rdi
movq -0xaf8(%rbp), %rdx
leaq 0x280d3(%rip), %rsi     # 0x548a3
callq 0x9680
jmp 0x2c7d7
movb $0x0, -0x113(%rbp)
leaq -0x108(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq $0x2, -0xc0(%rbp)
leaq -0x114(%rbp), %rdi
movq %rdi, -0xb08(%rbp)
callq 0x13420
movq -0xb08(%rbp), %rcx
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
leaq -0xb8(%rbp), %rdi
callq 0x34770
jmp 0x2c82d
movq %rsp, %rax
movl $0x0, 0x18(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
movl $0x0, (%rax)
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rdx
leaq -0xb8(%rbp), %rcx
movl $0x1, %r9d
xorps %xmm0, %xmm0
movl %r9d, %esi
movl %r9d, %r8d
callq 0x32ac0
jmp 0x2c873
leaq -0xb8(%rbp), %rdi
callq 0x13370
leaq -0x114(%rbp), %rdi
callq 0x14fa0
leaq -0x108(%rbp), %rax
movq %rax, -0xb18(%rbp)
addq $0x40, %rax
movq %rax, -0xb10(%rbp)
movq -0xb10(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xb20(%rbp)
callq 0x6828
movq -0xb18(%rbp), %rcx
movq -0xb20(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xb10(%rbp)
jne 0x2c8a4
leaq -0x112(%rbp), %rdi
callq 0x64b0
leaq -0x111(%rbp), %rdi
callq 0x64b0
leaq -0x88(%rbp), %rdi
callq 0x6828
leaq -0x89(%rbp), %rdi
callq 0x64b0
leaq -0x191(%rbp), %rdi
movq %rdi, -0xb28(%rbp)
callq 0x6760
movq -0xb28(%rbp), %rdx
leaq 0x28f26(%rip), %rsi     # 0x5584c
leaq -0x190(%rbp), %rdi
callq 0x9680
jmp 0x2c934
movb $0x1, -0x20b(%rbp)
leaq -0x200(%rbp), %rax
movq %rax, -0xb38(%rbp)
movq %rax, -0x208(%rbp)
leaq -0x209(%rbp), %rdi
movq %rdi, -0xb30(%rbp)
callq 0x6760
movq -0xb38(%rbp), %rdi
movq -0xb30(%rbp), %rdx
leaq 0x27f2b(%rip), %rsi     # 0x548a3
callq 0x9680
jmp 0x2c97f
leaq -0x1e0(%rbp), %rax
movq %rax, -0xb48(%rbp)
movq %rax, -0x208(%rbp)
leaq -0x20a(%rbp), %rdi
movq %rdi, -0xb40(%rbp)
callq 0x6760
movq -0xb48(%rbp), %rdi
movq -0xb40(%rbp), %rdx
leaq 0x28be2(%rip), %rsi     # 0x5559e
callq 0x9680
jmp 0x2c9c3
movb $0x0, -0x20b(%rbp)
leaq -0x200(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movq $0x2, -0x1b8(%rbp)
leaq -0x20c(%rbp), %rdi
movq %rdi, -0xb50(%rbp)
callq 0x13420
movq -0xb50(%rbp), %rcx
movq -0x1c0(%rbp), %rsi
movq -0x1b8(%rbp), %rdx
leaq -0x1b0(%rbp), %rdi
callq 0x34770
jmp 0x2ca19
movq %rsp, %rax
movl $0x0, 0x18(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
movl $0x0, (%rax)
leaq -0x170(%rbp), %rdi
movl $0x4, %esi
leaq -0x190(%rbp), %rdx
leaq -0x1b0(%rbp), %rcx
movl $0x1, %r8d
xorl %r9d, %r9d
xorps %xmm0, %xmm0
callq 0x32ac0
jmp 0x2ca64
leaq -0x1b0(%rbp), %rdi
callq 0x13370
leaq -0x20c(%rbp), %rdi
callq 0x14fa0
leaq -0x200(%rbp), %rax
movq %rax, -0xb60(%rbp)
addq $0x40, %rax
movq %rax, -0xb58(%rbp)
movq -0xb58(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xb68(%rbp)
callq 0x6828
movq -0xb60(%rbp), %rcx
movq -0xb68(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xb58(%rbp)
jne 0x2ca95
leaq -0x20a(%rbp), %rdi
callq 0x64b0
leaq -0x209(%rbp), %rdi
callq 0x64b0
leaq -0x190(%rbp), %rdi
callq 0x6828
leaq -0x191(%rbp), %rdi
callq 0x64b0
leaq -0x289(%rbp), %rdi
movq %rdi, -0xb70(%rbp)
callq 0x6760
movq -0xb70(%rbp), %rdx
leaq 0x27d8c(%rip), %rsi     # 0x548a3
leaq -0x288(%rbp), %rdi
callq 0x9680
jmp 0x2cb25
movb $0x1, -0x303(%rbp)
leaq -0x2f8(%rbp), %rax
movq %rax, -0xb80(%rbp)
movq %rax, -0x300(%rbp)
leaq -0x301(%rbp), %rdi
movq %rdi, -0xb78(%rbp)
callq 0x6760
movq -0xb80(%rbp), %rdi
movq -0xb78(%rbp), %rdx
leaq 0x288ea(%rip), %rsi     # 0x55453
callq 0x9680
jmp 0x2cb70
leaq -0x2d8(%rbp), %rax
movq %rax, -0xb90(%rbp)
movq %rax, -0x300(%rbp)
leaq -0x302(%rbp), %rdi
movq %rdi, -0xb88(%rbp)
callq 0x6760
movq -0xb90(%rbp), %rdi
movq -0xb88(%rbp), %rdx
leaq 0x289f1(%rip), %rsi     # 0x5559e
callq 0x9680
jmp 0x2cbb4
movb $0x0, -0x303(%rbp)
leaq -0x2f8(%rbp), %rax
movq %rax, -0x2b8(%rbp)
movq $0x2, -0x2b0(%rbp)
leaq -0x304(%rbp), %rdi
movq %rdi, -0xb98(%rbp)
callq 0x13420
movq -0xb98(%rbp), %rcx
movq -0x2b8(%rbp), %rsi
movq -0x2b0(%rbp), %rdx
leaq -0x2a8(%rbp), %rdi
callq 0x34770
jmp 0x2cc0a
movq %rsp, %rax
movl $0x0, 0x18(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
movl $0x0, (%rax)
leaq -0x268(%rbp), %rdi
movl $0x5, %esi
leaq -0x288(%rbp), %rdx
leaq -0x2a8(%rbp), %rcx
movl $0x1, %r8d
xorl %r9d, %r9d
xorps %xmm0, %xmm0
callq 0x32ac0
jmp 0x2cc55
leaq -0x2a8(%rbp), %rdi
callq 0x13370
leaq -0x304(%rbp), %rdi
callq 0x14fa0
leaq -0x2f8(%rbp), %rax
movq %rax, -0xba8(%rbp)
addq $0x40, %rax
movq %rax, -0xba0(%rbp)
movq -0xba0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xbb0(%rbp)
callq 0x6828
movq -0xba8(%rbp), %rcx
movq -0xbb0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xba0(%rbp)
jne 0x2cc86
leaq -0x302(%rbp), %rdi
callq 0x64b0
leaq -0x301(%rbp), %rdi
callq 0x64b0
leaq -0x288(%rbp), %rdi
callq 0x6828
leaq -0x289(%rbp), %rdi
callq 0x64b0
leaq -0x381(%rbp), %rdi
movq %rdi, -0xbb8(%rbp)
callq 0x6760
movq -0xbb8(%rbp), %rdx
leaq 0x27b9b(%rip), %rsi     # 0x548a3
leaq -0x380(%rbp), %rdi
callq 0x9680
jmp 0x2cd16
movb $0x1, -0x3fb(%rbp)
leaq -0x3f0(%rbp), %rax
movq %rax, -0xbc8(%rbp)
movq %rax, -0x3f8(%rbp)
leaq -0x3f9(%rbp), %rdi
movq %rdi, -0xbc0(%rbp)
callq 0x6760
movq -0xbc8(%rbp), %rdi
movq -0xbc0(%rbp), %rdx
leaq 0x28af2(%rip), %rsi     # 0x5584c
callq 0x9680
jmp 0x2cd61
leaq -0x3d0(%rbp), %rax
movq %rax, -0xbd8(%rbp)
movq %rax, -0x3f8(%rbp)
leaq -0x3fa(%rbp), %rdi
movq %rdi, -0xbd0(%rbp)
callq 0x6760
movq -0xbd8(%rbp), %rdi
movq -0xbd0(%rbp), %rdx
leaq 0x28800(%rip), %rsi     # 0x5559e
callq 0x9680
jmp 0x2cda5
movb $0x0, -0x3fb(%rbp)
leaq -0x3f0(%rbp), %rax
movq %rax, -0x3b0(%rbp)
movq $0x2, -0x3a8(%rbp)
leaq -0x3fc(%rbp), %rdi
movq %rdi, -0xbe0(%rbp)
callq 0x13420
movq -0xbe0(%rbp), %rcx
movq -0x3b0(%rbp), %rsi
movq -0x3a8(%rbp), %rdx
leaq -0x3a0(%rbp), %rdi
callq 0x34770
jmp 0x2cdfb
movq %rsp, %rax
movl $0x0, 0x18(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
movl $0x0, (%rax)
leaq -0x360(%rbp), %rdi
movl $0x6, %esi
leaq -0x380(%rbp), %rdx
leaq -0x3a0(%rbp), %rcx
movl $0x1, %r8d
xorl %r9d, %r9d
xorps %xmm0, %xmm0
callq 0x32ac0
jmp 0x2ce46
leaq -0x3a0(%rbp), %rdi
callq 0x13370
leaq -0x3fc(%rbp), %rdi
callq 0x14fa0
leaq -0x3f0(%rbp), %rax
movq %rax, -0xbf0(%rbp)
addq $0x40, %rax
movq %rax, -0xbe8(%rbp)
movq -0xbe8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xbf8(%rbp)
callq 0x6828
movq -0xbf0(%rbp), %rcx
movq -0xbf8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xbe8(%rbp)
jne 0x2ce77
leaq -0x3fa(%rbp), %rdi
callq 0x64b0
leaq -0x3f9(%rbp), %rdi
callq 0x64b0
leaq -0x380(%rbp), %rdi
callq 0x6828
leaq -0x381(%rbp), %rdi
callq 0x64b0
leaq -0x479(%rbp), %rdi
movq %rdi, -0xc00(%rbp)
callq 0x6760
movq -0xc00(%rbp), %rdx
leaq 0x28953(%rip), %rsi     # 0x5584c
leaq -0x478(%rbp), %rdi
callq 0x9680
jmp 0x2cf07
movb $0x1, -0x4f3(%rbp)
leaq -0x4e8(%rbp), %rax
movq %rax, -0xc10(%rbp)
movq %rax, -0x4f0(%rbp)
leaq -0x4f1(%rbp), %rdi
movq %rdi, -0xc08(%rbp)
callq 0x6760
movq -0xc10(%rbp), %rdi
movq -0xc08(%rbp), %rdx
leaq 0x28904(%rip), %rsi     # 0x5584f
callq 0x9680
jmp 0x2cf52
leaq -0x4c8(%rbp), %rax
movq %rax, -0xc20(%rbp)
movq %rax, -0x4f0(%rbp)
leaq -0x4f2(%rbp), %rdi
movq %rdi, -0xc18(%rbp)
callq 0x6760
movq -0xc20(%rbp), %rdi
movq -0xc18(%rbp), %rdx
leaq 0x2860f(%rip), %rsi     # 0x5559e
callq 0x9680
jmp 0x2cf96
movb $0x0, -0x4f3(%rbp)
leaq -0x4e8(%rbp), %rax
movq %rax, -0x4a8(%rbp)
movq $0x2, -0x4a0(%rbp)
leaq -0x4f4(%rbp), %rdi
movq %rdi, -0xc28(%rbp)
callq 0x13420
movq -0xc28(%rbp), %rcx
movq -0x4a8(%rbp), %rsi
movq -0x4a0(%rbp), %rdx
leaq -0x498(%rbp), %rdi
callq 0x34770
jmp 0x2cfec
movq %rsp, %rax
movl $0x0, 0x18(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
movl $0x0, (%rax)
leaq -0x458(%rbp), %rdi
movl $0x7, %esi
leaq -0x478(%rbp), %rdx
leaq -0x498(%rbp), %rcx
movl $0x1, %r8d
xorl %r9d, %r9d
xorps %xmm0, %xmm0
callq 0x32ac0
jmp 0x2d037
leaq -0x498(%rbp), %rdi
callq 0x13370
leaq -0x4f4(%rbp), %rdi
callq 0x14fa0
leaq -0x4e8(%rbp), %rax
movq %rax, -0xc38(%rbp)
addq $0x40, %rax
movq %rax, -0xc30(%rbp)
movq -0xc30(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xc40(%rbp)
callq 0x6828
movq -0xc38(%rbp), %rcx
movq -0xc40(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xc30(%rbp)
jne 0x2d068
leaq -0x4f2(%rbp), %rdi
callq 0x64b0
leaq -0x4f1(%rbp), %rdi
callq 0x64b0
leaq -0x478(%rbp), %rdi
callq 0x6828
leaq -0x479(%rbp), %rdi
callq 0x64b0
leaq -0x571(%rbp), %rdi
movq %rdi, -0xc48(%rbp)
callq 0x6760
movq -0xc48(%rbp), %rdx
leaq 0x28369(%rip), %rsi     # 0x55453
leaq -0x570(%rbp), %rdi
callq 0x9680
jmp 0x2d0f8
movb $0x1, -0x5eb(%rbp)
leaq -0x5e0(%rbp), %rax
movq %rax, -0xc58(%rbp)
movq %rax, -0x5e8(%rbp)
leaq -0x5e9(%rbp), %rdi
movq %rdi, -0xc50(%rbp)
callq 0x6760
movq -0xc58(%rbp), %rdi
movq -0xc50(%rbp), %rdx
leaq 0x28713(%rip), %rsi     # 0x5584f
callq 0x9680
jmp 0x2d143
leaq -0x5c0(%rbp), %rax
movq %rax, -0xc68(%rbp)
movq %rax, -0x5e8(%rbp)
leaq -0x5ea(%rbp), %rdi
movq %rdi, -0xc60(%rbp)
callq 0x6760
movq -0xc68(%rbp), %rdi
movq -0xc60(%rbp), %rdx
leaq 0x27723(%rip), %rsi     # 0x548a3
callq 0x9680
jmp 0x2d187
movb $0x0, -0x5eb(%rbp)
leaq -0x5e0(%rbp), %rax
movq %rax, -0x5a0(%rbp)
movq $0x2, -0x598(%rbp)
leaq -0x5ec(%rbp), %rdi
movq %rdi, -0xc70(%rbp)
callq 0x13420
movq -0xc70(%rbp), %rcx
movq -0x5a0(%rbp), %rsi
movq -0x598(%rbp), %rdx
leaq -0x590(%rbp), %rdi
callq 0x34770
jmp 0x2d1dd
movq %rsp, %rax
movl $0x0, 0x18(%rax)
movl $0x1, 0x10(%rax)
movl $0x0, 0x8(%rax)
movl $0x0, (%rax)
leaq -0x550(%rbp), %rdi
leaq -0x570(%rbp), %rdx
leaq -0x590(%rbp), %rcx
movl $0x1, %r9d
xorps %xmm0, %xmm0
movl %r9d, %esi
movl %r9d, %r8d
callq 0x32ac0
jmp 0x2d226
leaq -0x590(%rbp), %rdi
callq 0x13370
leaq -0x5ec(%rbp), %rdi
callq 0x14fa0
leaq -0x5e0(%rbp), %rax
movq %rax, -0xc80(%rbp)
addq $0x40, %rax
movq %rax, -0xc78(%rbp)
movq -0xc78(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xc88(%rbp)
callq 0x6828
movq -0xc80(%rbp), %rcx
movq -0xc88(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xc78(%rbp)
jne 0x2d257
leaq -0x5ea(%rbp), %rdi
callq 0x64b0
leaq -0x5e9(%rbp), %rdi
callq 0x64b0
leaq -0x570(%rbp), %rdi
callq 0x6828
leaq -0x571(%rbp), %rdi
callq 0x64b0
leaq -0x669(%rbp), %rdi
movq %rdi, -0xc90(%rbp)
callq 0x6760
movq -0xc90(%rbp), %rdx
leaq 0x28572(%rip), %rsi     # 0x5584b
leaq -0x668(%rbp), %rdi
callq 0x9680
jmp 0x2d2e7
movb $0x1, -0x6e3(%rbp)
leaq -0x6d8(%rbp), %rax
movq %rax, -0xca0(%rbp)
movq %rax, -0x6e0(%rbp)
leaq -0x6e1(%rbp), %rdi
movq %rdi, -0xc98(%rbp)
callq 0x6760
movq -0xca0(%rbp), %rdi
movq -0xc98(%rbp), %rdx
leaq 0x28524(%rip), %rsi     # 0x5584f
callq 0x9680
jmp 0x2d332
leaq -0x6b8(%rbp), %rax
movq %rax, -0xcb0(%rbp)
movq %rax, -0x6e0(%rbp)
leaq -0x6e2(%rbp), %rdi
movq %rdi, -0xca8(%rbp)
callq 0x6760
movq -0xcb0(%rbp), %rdi
movq -0xca8(%rbp), %rdx
leaq 0x2822f(%rip), %rsi     # 0x5559e
callq 0x9680
jmp 0x2d376
movb $0x0, -0x6e3(%rbp)
leaq -0x6d8(%rbp), %rax
movq %rax, -0x698(%rbp)
movq $0x2, -0x690(%rbp)
leaq -0x6e4(%rbp), %rdi
movq %rdi, -0xcb8(%rbp)
callq 0x13420
movq -0xcb8(%rbp), %rcx
movq -0x698(%rbp), %rsi
movq -0x690(%rbp), %rdx
leaq -0x688(%rbp), %rdi
callq 0x34770
jmp 0x2d3cc
movq %rsp, %rax
movl $0x0, 0x18(%rax)
movl $0x1, 0x10(%rax)
movl $0x0, 0x8(%rax)
movl $0x1, (%rax)
leaq -0x648(%rbp), %rdi
movl $0x3, %esi
leaq -0x668(%rbp), %rdx
leaq -0x688(%rbp), %rcx
movl $0x1, %r8d
xorl %r9d, %r9d
xorps %xmm0, %xmm0
callq 0x32ac0
jmp 0x2d417
leaq -0x688(%rbp), %rdi
callq 0x13370
leaq -0x6e4(%rbp), %rdi
callq 0x14fa0
leaq -0x6d8(%rbp), %rax
movq %rax, -0xcc8(%rbp)
addq $0x40, %rax
movq %rax, -0xcc0(%rbp)
movq -0xcc0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xcd0(%rbp)
callq 0x6828
movq -0xcc8(%rbp), %rcx
movq -0xcd0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xcc0(%rbp)
jne 0x2d448
leaq -0x6e2(%rbp), %rdi
callq 0x64b0
leaq -0x6e1(%rbp), %rdi
callq 0x64b0
leaq -0x668(%rbp), %rdi
callq 0x6828
leaq -0x669(%rbp), %rdi
callq 0x64b0
leaq -0x761(%rbp), %rdi
movq %rdi, -0xcd8(%rbp)
callq 0x6760
movq -0xcd8(%rbp), %rdx
leaq 0x28382(%rip), %rsi     # 0x5584c
leaq -0x760(%rbp), %rdi
callq 0x9680
jmp 0x2d4d8
movb $0x1, -0x7db(%rbp)
leaq -0x7d0(%rbp), %rax
movq %rax, -0xce8(%rbp)
movq %rax, -0x7d8(%rbp)
leaq -0x7d9(%rbp), %rdi
movq %rdi, -0xce0(%rbp)
callq 0x6760
movq -0xce8(%rbp), %rdi
movq -0xce0(%rbp), %rdx
leaq 0x28332(%rip), %rsi     # 0x5584e
callq 0x9680
jmp 0x2d523
leaq -0x7b0(%rbp), %rax
movq %rax, -0xcf8(%rbp)
movq %rax, -0x7d8(%rbp)
leaq -0x7da(%rbp), %rdi
movq %rdi, -0xcf0(%rbp)
callq 0x6760
movq -0xcf8(%rbp), %rdi
movq -0xcf0(%rbp), %rdx
leaq 0x2803e(%rip), %rsi     # 0x5559e
callq 0x9680
jmp 0x2d567
movb $0x0, -0x7db(%rbp)
leaq -0x7d0(%rbp), %rax
movq %rax, -0x790(%rbp)
movq $0x2, -0x788(%rbp)
leaq -0x7dc(%rbp), %rdi
movq %rdi, -0xd00(%rbp)
callq 0x13420
movq -0xd00(%rbp), %rcx
movq -0x790(%rbp), %rsi
movq -0x788(%rbp), %rdx
leaq -0x780(%rbp), %rdi
callq 0x34770
jmp 0x2d5bd
movq %rsp, %rax
movl $0x0, 0x18(%rax)
movl $0x1, 0x10(%rax)
movl $0x1, 0x8(%rax)
movl $0x0, (%rax)
leaq -0x740(%rbp), %rdi
movl $0x7, %esi
leaq -0x760(%rbp), %rdx
leaq -0x780(%rbp), %rcx
movl $0x1, %r8d
xorl %r9d, %r9d
xorps %xmm0, %xmm0
callq 0x32ac0
jmp 0x2d608
leaq -0x780(%rbp), %rdi
callq 0x13370
leaq -0x7dc(%rbp), %rdi
callq 0x14fa0
leaq -0x7d0(%rbp), %rax
movq %rax, -0xd10(%rbp)
addq $0x40, %rax
movq %rax, -0xd08(%rbp)
movq -0xd08(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xd18(%rbp)
callq 0x6828
movq -0xd10(%rbp), %rcx
movq -0xd18(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xd08(%rbp)
jne 0x2d639
leaq -0x7da(%rbp), %rdi
callq 0x64b0
leaq -0x7d9(%rbp), %rdi
callq 0x64b0
leaq -0x760(%rbp), %rdi
callq 0x6828
leaq -0x761(%rbp), %rdi
callq 0x64b0
leaq -0xac8(%rbp), %rdi
movq %rdi, -0xad0(%rbp)
leaq -0x68(%rbp), %rsi
callq 0x340a0
jmp 0x2d6b3
leaq -0xa70(%rbp), %rdi
movq %rdi, -0xad0(%rbp)
leaq -0x170(%rbp), %rsi
callq 0x340a0
jmp 0x2d6cf
leaq -0xa18(%rbp), %rdi
movq %rdi, -0xad0(%rbp)
leaq -0x268(%rbp), %rsi
callq 0x340a0
jmp 0x2d6eb
leaq -0x9c0(%rbp), %rdi
movq %rdi, -0xad0(%rbp)
leaq -0x360(%rbp), %rsi
callq 0x340a0
jmp 0x2d707
leaq -0x968(%rbp), %rdi
movq %rdi, -0xad0(%rbp)
leaq -0x458(%rbp), %rsi
callq 0x340a0
jmp 0x2d723
leaq -0x910(%rbp), %rdi
movq %rdi, -0xad0(%rbp)
leaq -0x550(%rbp), %rsi
callq 0x340a0
jmp 0x2d73f
leaq -0x8b8(%rbp), %rdi
movq %rdi, -0xad0(%rbp)
leaq -0x648(%rbp), %rsi
callq 0x340a0
jmp 0x2d75b
leaq -0x860(%rbp), %rdi
movq %rdi, -0xad0(%rbp)
leaq -0x740(%rbp), %rsi
callq 0x340a0
jmp 0x2d777
leaq -0xac8(%rbp), %rax
movq %rax, -0x808(%rbp)
movq $0x8, -0x800(%rbp)
leaq -0xad1(%rbp), %rdi
movq %rdi, -0xd20(%rbp)
callq 0x358b0
movq -0xd20(%rbp), %rcx
movq -0x808(%rbp), %rsi
movq -0x800(%rbp), %rdx
leaq -0x7f8(%rbp), %rdi
callq 0x358d0
jmp 0x2d7c6
leaq -0xad1(%rbp), %rdi
callq 0x35a60
leaq -0xac8(%rbp), %rax
movq %rax, -0xd30(%rbp)
addq $0x2c0, %rax            # imm = 0x2C0
movq %rax, -0xd28(%rbp)
movq -0xd28(%rbp), %rdi
addq $-0x58, %rdi
movq %rdi, -0xd38(%rbp)
callq 0x32c60
movq -0xd30(%rbp), %rcx
movq -0xd38(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xd28(%rbp)
jne 0x2d7ed
leaq -0x7f8(%rbp), %rdi
callq 0x32680
leaq -0x740(%rbp), %rdi
callq 0x32c60
leaq -0x648(%rbp), %rdi
callq 0x32c60
leaq -0x550(%rbp), %rdi
callq 0x32c60
leaq -0x458(%rbp), %rdi
callq 0x32c60
leaq -0x360(%rbp), %rdi
callq 0x32c60
leaq -0x268(%rbp), %rdi
callq 0x32c60
leaq -0x170(%rbp), %rdi
callq 0x32c60
leaq -0x68(%rbp), %rdi
callq 0x32c60
xorl %eax, %eax
addq $0xec0, %rsp            # imm = 0xEC0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2d9dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2d96d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2d961
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2d909
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x13370
leaq -0x114(%rbp), %rdi
callq 0x14fa0
leaq -0x108(%rbp), %rax
movq %rax, -0xd48(%rbp)
addq $0x40, %rax
movq %rax, -0xd40(%rbp)
movq -0xd40(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xd50(%rbp)
callq 0x6828
movq -0xd48(%rbp), %rcx
movq -0xd50(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xd40(%rbp)
jne 0x2d92e
jmp 0x2d961
leaq -0x112(%rbp), %rdi
callq 0x64b0
leaq -0x111(%rbp), %rdi
callq 0x64b0
testb $0x1, -0x113(%rbp)
jne 0x2d984
jmp 0x2d9d1
movq -0x110(%rbp), %rax
leaq -0x108(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xd58(%rbp)
je 0x2d9cf
movq -0xd58(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xd60(%rbp)
callq 0x6828
movq -0xd60(%rbp), %rax
leaq -0x108(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xd58(%rbp)
jne 0x2d99e
jmp 0x2d9d1
leaq -0x88(%rbp), %rdi
callq 0x6828
leaq -0x89(%rbp), %rdi
callq 0x64b0
jmp 0x2e49a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2db39
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2dac9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2dabd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2da65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x13370
leaq -0x20c(%rbp), %rdi
callq 0x14fa0
leaq -0x200(%rbp), %rax
movq %rax, -0xd70(%rbp)
addq $0x40, %rax
movq %rax, -0xd68(%rbp)
movq -0xd68(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xd78(%rbp)
callq 0x6828
movq -0xd70(%rbp), %rcx
movq -0xd78(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xd68(%rbp)
jne 0x2da8a
jmp 0x2dabd
leaq -0x20a(%rbp), %rdi
callq 0x64b0
leaq -0x209(%rbp), %rdi
callq 0x64b0
testb $0x1, -0x20b(%rbp)
jne 0x2dae0
jmp 0x2db2d
movq -0x208(%rbp), %rax
leaq -0x200(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xd80(%rbp)
je 0x2db2b
movq -0xd80(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xd88(%rbp)
callq 0x6828
movq -0xd88(%rbp), %rax
leaq -0x200(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xd80(%rbp)
jne 0x2dafa
jmp 0x2db2d
leaq -0x190(%rbp), %rdi
callq 0x6828
leaq -0x191(%rbp), %rdi
callq 0x64b0
jmp 0x2e491
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2dc95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2dc25
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2dc19
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2dbc1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x2a8(%rbp), %rdi
callq 0x13370
leaq -0x304(%rbp), %rdi
callq 0x14fa0
leaq -0x2f8(%rbp), %rax
movq %rax, -0xd98(%rbp)
addq $0x40, %rax
movq %rax, -0xd90(%rbp)
movq -0xd90(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xda0(%rbp)
callq 0x6828
movq -0xd98(%rbp), %rcx
movq -0xda0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xd90(%rbp)
jne 0x2dbe6
jmp 0x2dc19
leaq -0x302(%rbp), %rdi
callq 0x64b0
leaq -0x301(%rbp), %rdi
callq 0x64b0
testb $0x1, -0x303(%rbp)
jne 0x2dc3c
jmp 0x2dc89
movq -0x300(%rbp), %rax
leaq -0x2f8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xda8(%rbp)
je 0x2dc87
movq -0xda8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xdb0(%rbp)
callq 0x6828
movq -0xdb0(%rbp), %rax
leaq -0x2f8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xda8(%rbp)
jne 0x2dc56
jmp 0x2dc89
leaq -0x288(%rbp), %rdi
callq 0x6828
leaq -0x289(%rbp), %rdi
callq 0x64b0
jmp 0x2e485
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2ddf1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2dd81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2dd75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2dd1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0x13370
leaq -0x3fc(%rbp), %rdi
callq 0x14fa0
leaq -0x3f0(%rbp), %rax
movq %rax, -0xdc0(%rbp)
addq $0x40, %rax
movq %rax, -0xdb8(%rbp)
movq -0xdb8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xdc8(%rbp)
callq 0x6828
movq -0xdc0(%rbp), %rcx
movq -0xdc8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xdb8(%rbp)
jne 0x2dd42
jmp 0x2dd75
leaq -0x3fa(%rbp), %rdi
callq 0x64b0
leaq -0x3f9(%rbp), %rdi
callq 0x64b0
testb $0x1, -0x3fb(%rbp)
jne 0x2dd98
jmp 0x2dde5
movq -0x3f8(%rbp), %rax
leaq -0x3f0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xdd0(%rbp)
je 0x2dde3
movq -0xdd0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xdd8(%rbp)
callq 0x6828
movq -0xdd8(%rbp), %rax
leaq -0x3f0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xdd0(%rbp)
jne 0x2ddb2
jmp 0x2dde5
leaq -0x380(%rbp), %rdi
callq 0x6828
leaq -0x381(%rbp), %rdi
callq 0x64b0
jmp 0x2e479
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2df4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2dedd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2ded1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2de79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x498(%rbp), %rdi
callq 0x13370
leaq -0x4f4(%rbp), %rdi
callq 0x14fa0
leaq -0x4e8(%rbp), %rax
movq %rax, -0xde8(%rbp)
addq $0x40, %rax
movq %rax, -0xde0(%rbp)
movq -0xde0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xdf0(%rbp)
callq 0x6828
movq -0xde8(%rbp), %rcx
movq -0xdf0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xde0(%rbp)
jne 0x2de9e
jmp 0x2ded1
leaq -0x4f2(%rbp), %rdi
callq 0x64b0
leaq -0x4f1(%rbp), %rdi
callq 0x64b0
testb $0x1, -0x4f3(%rbp)
jne 0x2def4
jmp 0x2df41
movq -0x4f0(%rbp), %rax
leaq -0x4e8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xdf8(%rbp)
je 0x2df3f
movq -0xdf8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xe00(%rbp)
callq 0x6828
movq -0xe00(%rbp), %rax
leaq -0x4e8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xdf8(%rbp)
jne 0x2df0e
jmp 0x2df41
leaq -0x478(%rbp), %rdi
callq 0x6828
leaq -0x479(%rbp), %rdi
callq 0x64b0
jmp 0x2e46d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2e0a9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2e039
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2e02d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2dfd5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x590(%rbp), %rdi
callq 0x13370
leaq -0x5ec(%rbp), %rdi
callq 0x14fa0
leaq -0x5e0(%rbp), %rax
movq %rax, -0xe10(%rbp)
addq $0x40, %rax
movq %rax, -0xe08(%rbp)
movq -0xe08(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xe18(%rbp)
callq 0x6828
movq -0xe10(%rbp), %rcx
movq -0xe18(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xe08(%rbp)
jne 0x2dffa
jmp 0x2e02d
leaq -0x5ea(%rbp), %rdi
callq 0x64b0
leaq -0x5e9(%rbp), %rdi
callq 0x64b0
testb $0x1, -0x5eb(%rbp)
jne 0x2e050
jmp 0x2e09d
movq -0x5e8(%rbp), %rax
leaq -0x5e0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xe20(%rbp)
je 0x2e09b
movq -0xe20(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xe28(%rbp)
callq 0x6828
movq -0xe28(%rbp), %rax
leaq -0x5e0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xe20(%rbp)
jne 0x2e06a
jmp 0x2e09d
leaq -0x570(%rbp), %rdi
callq 0x6828
leaq -0x571(%rbp), %rdi
callq 0x64b0
jmp 0x2e461
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2e205
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2e195
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2e189
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2e131
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x688(%rbp), %rdi
callq 0x13370
leaq -0x6e4(%rbp), %rdi
callq 0x14fa0
leaq -0x6d8(%rbp), %rax
movq %rax, -0xe38(%rbp)
addq $0x40, %rax
movq %rax, -0xe30(%rbp)
movq -0xe30(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xe40(%rbp)
callq 0x6828
movq -0xe38(%rbp), %rcx
movq -0xe40(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xe30(%rbp)
jne 0x2e156
jmp 0x2e189
leaq -0x6e2(%rbp), %rdi
callq 0x64b0
leaq -0x6e1(%rbp), %rdi
callq 0x64b0
testb $0x1, -0x6e3(%rbp)
jne 0x2e1ac
jmp 0x2e1f9
movq -0x6e0(%rbp), %rax
leaq -0x6d8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xe48(%rbp)
je 0x2e1f7
movq -0xe48(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xe50(%rbp)
callq 0x6828
movq -0xe50(%rbp), %rax
leaq -0x6d8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xe48(%rbp)
jne 0x2e1c6
jmp 0x2e1f9
leaq -0x668(%rbp), %rdi
callq 0x6828
leaq -0x669(%rbp), %rdi
callq 0x64b0
jmp 0x2e455
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2e361
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2e2f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2e2e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x2e28d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x780(%rbp), %rdi
callq 0x13370
leaq -0x7dc(%rbp), %rdi
callq 0x14fa0
leaq -0x7d0(%rbp), %rax
movq %rax, -0xe60(%rbp)
addq $0x40, %rax
movq %rax, -0xe58(%rbp)
movq -0xe58(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xe68(%rbp)
callq 0x6828
movq -0xe60(%rbp), %rcx
movq -0xe68(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xe58(%rbp)
jne 0x2e2b2
jmp 0x2e2e5
leaq -0x7da(%rbp), %rdi
callq 0x64b0
leaq -0x7d9(%rbp), %rdi
callq 0x64b0
testb $0x1, -0x7db(%rbp)
jne 0x2e308
jmp 0x2e355
movq -0x7d8(%rbp), %rax
leaq -0x7d0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xe70(%rbp)
je 0x2e353
movq -0xe70(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xe78(%rbp)
callq 0x6828
movq -0xe78(%rbp), %rax
leaq -0x7d0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xe70(%rbp)
jne 0x2e322
jmp 0x2e355
leaq -0x760(%rbp), %rdi
callq 0x6828
leaq -0x761(%rbp), %rdi
callq 0x64b0
jmp 0x2e449
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
movq -0xad0(%rbp), %rax
leaq -0xac8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xe80(%rbp)
je 0x2e3cf
movq -0xe80(%rbp), %rdi
addq $-0x58, %rdi
movq %rdi, -0xe88(%rbp)
callq 0x32c60
movq -0xe88(%rbp), %rax
leaq -0xac8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xe80(%rbp)
jne 0x2e39e
jmp 0x2e43d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0xad1(%rbp), %rdi
callq 0x35a60
leaq -0xac8(%rbp), %rax
movq %rax, -0xe98(%rbp)
addq $0x2c0, %rax            # imm = 0x2C0
movq %rax, -0xe90(%rbp)
movq -0xe90(%rbp), %rdi
addq $-0x58, %rdi
movq %rdi, -0xea0(%rbp)
callq 0x32c60
movq -0xe98(%rbp), %rcx
movq -0xea0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xe90(%rbp)
jne 0x2e40a
jmp 0x2e43d
leaq -0x740(%rbp), %rdi
callq 0x32c60
leaq -0x648(%rbp), %rdi
callq 0x32c60
leaq -0x550(%rbp), %rdi
callq 0x32c60
leaq -0x458(%rbp), %rdi
callq 0x32c60
leaq -0x360(%rbp), %rdi
callq 0x32c60
leaq -0x268(%rbp), %rdi
callq 0x32c60
leaq -0x170(%rbp), %rdi
callq 0x32c60
leaq -0x68(%rbp), %rdi
callq 0x32c60
movq -0x98(%rbp), %rdi
callq 0x6750
nopw %cs:(%rax,%rax)