// File: dtsaras[P]GCW/GCW.cpp
// Function: output_mult_rounds(std::ostream*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<double, std::allocator<double>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::vector<double, std::allocator<double>>>>>, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<double, std::allocator<double>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::vector<double, std::allocator<double>>>>>, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<double, std::allocator<double>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::vector<double, std::allocator<double>>>>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, int*, int*, int)
void output_mult_rounds(ostream * output, map <string, vector<double>> data_tsim_vec, map <string, vector<double>> data_time_vec, map <string, vector<double>> data_memo_vec, string variable, int reps, int * eventsArray, int * budgetsArray, int rounds){
	string names[3] = {"total similarity", "time", "memory"};

	cout << "###############1" << endl;
	*output << names[0] << endl;
	*output << setw(16) << "#";
	for (int i = 0; i < reps; ++i){
		if (variable == "c")
			*output << setw(16) << eventsArray[i];
		else
			*output << setw(16) << budgetsArray[i];
	}
	*output << endl;

	cout << "###############2" << endl;
	// for (int i = 0; i < algorithms.size(); i += 2){
	for (pair<string, vector<double>> it : data_tsim_vec){
		if (it.first.substr(0,2) == "EG")
			*output << setw(16) << "GCW" + it.first.substr(2,string::npos);
		else
			*output << setw(16) << it.first;
		for (int j = 0; j < reps; ++j){
			*output << setw(16) << it.second[j];
		}
		*output << endl;
	}

	cout << "###############3" << endl;
	*output << names[1] << endl;
	*output << setw(16) << "#";
	for (int i = 0; i < reps; ++i){
		if (variable == "c")
			*output << setw(16) << eventsArray[i];
		else
			*output << setw(16) << budgetsArray[i];
	}
	*output << endl;

	cout << "###############4" << endl;
	// for (int i = 0; i < algorithms.size(); i += 2){
	for (map <string, vector<double>>::iterator it = data_time_vec.begin(); it != data_time_vec.end(); ++it){
		if (it->first.substr(0,2) == "EG")
			*output << setw(16) << "GCW" + it->first.substr(2,string::npos);
		else
			*output << setw(16) << it->first;
		for (int j = 0; j < reps; ++j){
			*output << setw(16) << it->second[j];
		}
		*output << endl;
	}

	cout << "###############5" << endl;
	*output << names[2] << endl;
	*output << setw(16) << "#";
	for (int i = 0; i < reps; ++i){
		if (variable == "c")
			*output << setw(16) << eventsArray[i];
		else
			*output << setw(16) << budgetsArray[i];
	}
	*output << endl;

	cout << "###############6" << endl;

	// for (int i = 0; i < algorithms.size(); i += 2){
	for (map <string, vector<double>>::iterator it = data_memo_vec.begin(); it != data_memo_vec.end(); ++it){
		if (it->first.substr(0,2) == "EG")
			*output << setw(16) << "GCW" + it->first.substr(2,string::npos);
		else
			*output << setw(16) << it->first;
		for (int j = 0; j < reps; ++j){
			*output << setw(16) << it->second[j];
		}
		*output << endl;
	}
	cout << "###############7" << endl;
}

// Assembly:
subq $0x558, %rsp            # imm = 0x558
movq %r8, 0x268(%rsp)
movq %rcx, 0x270(%rsp)
movq %rdx, 0x278(%rsp)
movq %rsi, 0x280(%rsp)
movl 0x570(%rsp), %eax
movq 0x568(%rsp), %rax
movq 0x560(%rsp), %rax
movq %rdi, 0x550(%rsp)
movq %rsi, 0x548(%rsp)
movq %rdx, 0x540(%rsp)
movq %rcx, 0x538(%rsp)
movq %r8, 0x530(%rsp)
movl %r9d, 0x52c(%rsp)
movb $0x1, 0x4a1(%rsp)
leaq 0x4c0(%rsp), %rax
movq %rax, 0x288(%rsp)
movq %rax, 0x4b8(%rsp)
leaq 0x4b7(%rsp), %rdi
movq %rdi, 0x290(%rsp)
callq 0x46a0
movq 0x288(%rsp), %rdi
movq 0x290(%rsp), %rdx
leaq 0x29086(%rip), %rsi     # 0x32060
callq 0x4500
jmp 0x8fe1
leaq 0x4e0(%rsp), %rax
movq %rax, 0x258(%rsp)
movq %rax, 0x4b8(%rsp)
leaq 0x4a3(%rsp), %rdi
movq %rdi, 0x260(%rsp)
callq 0x46a0
movq 0x258(%rsp), %rdi
movq 0x260(%rsp), %rdx
leaq 0x2904c(%rip), %rsi     # 0x32071
callq 0x4500
jmp 0x902c
leaq 0x500(%rsp), %rax
movq %rax, 0x248(%rsp)
movq %rax, 0x4b8(%rsp)
leaq 0x4a2(%rsp), %rdi
movq %rdi, 0x250(%rsp)
callq 0x46a0
movq 0x248(%rsp), %rdi
movq 0x250(%rsp), %rdx
leaq 0x29006(%rip), %rsi     # 0x32076
callq 0x4500
jmp 0x9077
movb $0x0, 0x4a1(%rsp)
leaq 0x4a2(%rsp), %rdi
callq 0x4440
leaq 0x4a3(%rsp), %rdi
callq 0x4440
leaq 0x4b7(%rsp), %rdi
callq 0x4440
movq 0x37f13(%rip), %rdi     # 0x40fc0
leaq 0x2902f(%rip), %rsi     # 0x320e3
callq 0x43f0
movq %rax, 0x240(%rsp)
jmp 0x90c3
movq 0x240(%rsp), %rdi
movq 0x37ede(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0x90d9
movq 0x550(%rsp), %rdi
leaq 0x4c0(%rsp), %rsi
callq 0x4390
movq %rax, 0x238(%rsp)
jmp 0x90f8
movq 0x238(%rsp), %rdi
movq 0x37ea9(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0x910e
movq 0x550(%rsp), %rax
movq %rax, 0x228(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0x234(%rsp)
jmp 0x9131
movq 0x228(%rsp), %rdi
movl 0x234(%rsp), %eax
movl %eax, 0x49c(%rsp)
movl 0x49c(%rsp), %esi
callq 0x4450
movq %rax, 0x220(%rsp)
jmp 0x915d
movq 0x220(%rsp), %rdi
leaq 0x28f11(%rip), %rsi     # 0x3207d
callq 0x43f0
jmp 0x9173
movl $0x0, 0x498(%rsp)
movl 0x498(%rsp), %eax
cmpl 0x52c(%rsp), %eax
jge 0x93a6
movq 0x268(%rsp), %rdi
leaq 0x298ee(%rip), %rsi     # 0x32a8f
callq 0xf390
movb %al, 0x21f(%rsp)
jmp 0x91af
movb 0x21f(%rsp), %al
testb $0x1, %al
jne 0x91bf
jmp 0x931b
movq 0x550(%rsp), %rax
movq %rax, 0x210(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0x218(%rsp)
jmp 0x91e2
movq 0x210(%rsp), %rdi
movl 0x218(%rsp), %eax
movl %eax, 0x494(%rsp)
movl 0x494(%rsp), %esi
callq 0x4450
movq %rax, 0x208(%rsp)
jmp 0x920e
movq 0x208(%rsp), %rdi
movq 0x560(%rsp), %rax
movslq 0x498(%rsp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x4670
jmp 0x9230
jmp 0x938e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x928f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x9282
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
leaq 0x4a2(%rsp), %rdi
callq 0x4440
leaq 0x4a3(%rsp), %rdi
callq 0x4440
leaq 0x4b7(%rsp), %rdi
callq 0x4440
testb $0x1, 0x4a1(%rsp)
jne 0x92a8
jmp 0x92fd
movq 0x4b8(%rsp), %rax
leaq 0x4c0(%rsp), %rcx
cmpq %rax, %rcx
movq %rax, 0x200(%rsp)
je 0x92fb
movq 0x200(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0x1f8(%rsp)
callq 0x4260
movq 0x1f8(%rsp), %rax
leaq 0x4c0(%rsp), %rcx
cmpq %rcx, %rax
movq %rax, 0x200(%rsp)
jne 0x92c5
jmp 0x92fd
jmp 0xa31c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0xa2dd
movq 0x550(%rsp), %rax
movq %rax, 0x1e8(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0x1f4(%rsp)
jmp 0x933e
movq 0x1e8(%rsp), %rdi
movl 0x1f4(%rsp), %eax
movl %eax, 0x490(%rsp)
movl 0x490(%rsp), %esi
callq 0x4450
movq %rax, 0x1e0(%rsp)
jmp 0x936a
movq 0x1e0(%rsp), %rdi
movq 0x568(%rsp), %rax
movslq 0x498(%rsp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x4670
jmp 0x938c
jmp 0x938e
jmp 0x9390
movl 0x498(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x498(%rsp)
jmp 0x917e
movq 0x550(%rsp), %rdi
movq 0x37bfb(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0x93bc
movq 0x37bfd(%rip), %rdi     # 0x40fc0
leaq 0x28d2a(%rip), %rsi     # 0x320f4
callq 0x43f0
movq %rax, 0x1d8(%rsp)
jmp 0x93d9
movq 0x1d8(%rsp), %rdi
movq 0x37bc8(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0x93ef
movq 0x280(%rsp), %rax
movq %rax, 0x488(%rsp)
movq 0x488(%rsp), %rdi
callq 0xf3c0
movq %rax, 0x480(%rsp)
movq 0x488(%rsp), %rdi
callq 0xf3f0
movq %rax, 0x478(%rsp)
leaq 0x480(%rsp), %rdi
leaq 0x478(%rsp), %rsi
callq 0xf420
testb $0x1, %al
jne 0x9447
jmp 0x976b
leaq 0x480(%rsp), %rdi
callq 0xf440
movq %rax, %rsi
leaq 0x440(%rsp), %rdi
callq 0xf460
jmp 0x9466
xorl %eax, %eax
movl %eax, %edx
leaq 0x420(%rsp), %rdi
leaq 0x440(%rsp), %rsi
movl $0x2, %ecx
callq 0x4410
jmp 0x9486
leaq 0x28bf2(%rip), %rsi     # 0x3207f
leaq 0x420(%rsp), %rdi
callq 0xf390
movb %al, 0x1d7(%rsp)
jmp 0x94a3
leaq 0x420(%rsp), %rdi
callq 0x4260
movb 0x1d7(%rsp), %al
testb $0x1, %al
jne 0x94c0
jmp 0x960e
movq 0x550(%rsp), %rax
movq %rax, 0x1c8(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0x1d0(%rsp)
jmp 0x94e3
movq 0x1c8(%rsp), %rdi
movl 0x1d0(%rsp), %eax
movl %eax, 0x41c(%rsp)
movl 0x41c(%rsp), %esi
callq 0x4450
movq %rax, 0x1c0(%rsp)
jmp 0x950f
leaq 0x3d8(%rsp), %rdi
leaq 0x440(%rsp), %rsi
movl $0x2, %edx
movq $-0x1, %rcx
callq 0x4410
jmp 0x9532
leaq 0x28b49(%rip), %rsi     # 0x32082
leaq 0x3f8(%rsp), %rdi
leaq 0x3d8(%rsp), %rdx
callq 0xf4c0
jmp 0x9550
movq 0x1c0(%rsp), %rdi
leaq 0x3f8(%rsp), %rsi
callq 0x4390
jmp 0x9567
leaq 0x3f8(%rsp), %rdi
callq 0x4260
leaq 0x3d8(%rsp), %rdi
callq 0x4260
jmp 0x9676
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x9759
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
leaq 0x420(%rsp), %rdi
callq 0x4260
jmp 0x9759
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x95fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
leaq 0x3f8(%rsp), %rdi
callq 0x4260
leaq 0x3d8(%rsp), %rdi
callq 0x4260
jmp 0x9759
movq 0x550(%rsp), %rax
movq %rax, 0x1b0(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0x1bc(%rsp)
jmp 0x9631
movq 0x1b0(%rsp), %rdi
movl 0x1bc(%rsp), %eax
movl %eax, 0x3d4(%rsp)
movl 0x3d4(%rsp), %esi
callq 0x4450
movq %rax, 0x1a8(%rsp)
jmp 0x965d
movq 0x1a8(%rsp), %rdi
leaq 0x440(%rsp), %rsi
callq 0x4390
jmp 0x9674
jmp 0x9676
movl $0x0, 0x3d0(%rsp)
movl 0x3d0(%rsp), %eax
cmpl 0x52c(%rsp), %eax
jge 0x9724
movq 0x550(%rsp), %rax
movq %rax, 0x198(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0x1a4(%rsp)
jmp 0x96b8
movq 0x198(%rsp), %rdi
movl 0x1a4(%rsp), %eax
movl %eax, 0x3cc(%rsp)
movl 0x3cc(%rsp), %esi
callq 0x4450
movq %rax, 0x190(%rsp)
jmp 0x96e4
leaq 0x460(%rsp), %rdi
movslq 0x3d0(%rsp), %rsi
callq 0xeb00
movq 0x190(%rsp), %rdi
movsd (%rax), %xmm0
callq 0x4730
jmp 0x970c
jmp 0x970e
movl 0x3d0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3d0(%rsp)
jmp 0x9681
movq 0x550(%rsp), %rdi
movq 0x3787d(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0x973a
leaq 0x440(%rsp), %rdi
callq 0xf510
leaq 0x480(%rsp), %rdi
callq 0xf540
jmp 0x9429
leaq 0x440(%rsp), %rdi
callq 0xf510
jmp 0xa2dd
movq 0x3784e(%rip), %rdi     # 0x40fc0
leaq 0x2898c(%rip), %rsi     # 0x32105
callq 0x43f0
movq %rax, 0x188(%rsp)
jmp 0x9788
movq 0x188(%rsp), %rdi
movq 0x37819(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0x979e
movq 0x550(%rsp), %rdi
leaq 0x4e0(%rsp), %rsi
callq 0x4390
movq %rax, 0x180(%rsp)
jmp 0x97bd
movq 0x180(%rsp), %rdi
movq 0x377e4(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0x97d3
movq 0x550(%rsp), %rax
movq %rax, 0x170(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0x17c(%rsp)
jmp 0x97f6
movq 0x170(%rsp), %rdi
movl 0x17c(%rsp), %eax
movl %eax, 0x3c8(%rsp)
movl 0x3c8(%rsp), %esi
callq 0x4450
movq %rax, 0x168(%rsp)
jmp 0x9822
movq 0x168(%rsp), %rdi
leaq 0x2884c(%rip), %rsi     # 0x3207d
callq 0x43f0
jmp 0x9838
movl $0x0, 0x3c4(%rsp)
movl 0x3c4(%rsp), %eax
cmpl 0x52c(%rsp), %eax
jge 0x997f
movq 0x268(%rsp), %rdi
leaq 0x29229(%rip), %rsi     # 0x32a8f
callq 0xf390
movb %al, 0x167(%rsp)
jmp 0x9874
movb 0x167(%rsp), %al
testb $0x1, %al
jne 0x9881
jmp 0x98f4
movq 0x550(%rsp), %rax
movq %rax, 0x158(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0x160(%rsp)
jmp 0x98a4
movq 0x158(%rsp), %rdi
movl 0x160(%rsp), %eax
movl %eax, 0x3c0(%rsp)
movl 0x3c0(%rsp), %esi
callq 0x4450
movq %rax, 0x150(%rsp)
jmp 0x98d0
movq 0x150(%rsp), %rdi
movq 0x560(%rsp), %rax
movslq 0x3c4(%rsp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x4670
jmp 0x98f2
jmp 0x9967
movq 0x550(%rsp), %rax
movq %rax, 0x140(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0x14c(%rsp)
jmp 0x9917
movq 0x140(%rsp), %rdi
movl 0x14c(%rsp), %eax
movl %eax, 0x3bc(%rsp)
movl 0x3bc(%rsp), %esi
callq 0x4450
movq %rax, 0x138(%rsp)
jmp 0x9943
movq 0x138(%rsp), %rdi
movq 0x568(%rsp), %rax
movslq 0x3c4(%rsp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x4670
jmp 0x9965
jmp 0x9967
jmp 0x9969
movl 0x3c4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3c4(%rsp)
jmp 0x9843
movq 0x550(%rsp), %rdi
movq 0x37622(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0x9995
movq 0x37624(%rip), %rdi     # 0x40fc0
leaq 0x28773(%rip), %rsi     # 0x32116
callq 0x43f0
movq %rax, 0x130(%rsp)
jmp 0x99b2
movq 0x130(%rsp), %rdi
movq 0x375ef(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0x99c8
movq 0x278(%rsp), %rdi
callq 0xf3c0
movq %rax, 0x3b0(%rsp)
movq 0x278(%rsp), %rdi
callq 0xf3f0
movq %rax, 0x3a8(%rsp)
leaq 0x3b0(%rsp), %rdi
leaq 0x3a8(%rsp), %rsi
callq 0xf420
testb $0x1, %al
jne 0x9a10
jmp 0x9d03
leaq 0x3b0(%rsp), %rdi
callq 0xf570
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0x388(%rsp), %rdi
movl $0x2, %ecx
callq 0x4410
jmp 0x9a38
leaq 0x28640(%rip), %rsi     # 0x3207f
leaq 0x388(%rsp), %rdi
callq 0xf390
movb %al, 0x12f(%rsp)
jmp 0x9a55
leaq 0x388(%rsp), %rdi
callq 0x4260
movb 0x12f(%rsp), %al
testb $0x1, %al
jne 0x9a72
jmp 0x9baf
movq 0x550(%rsp), %rax
movq %rax, 0x120(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0x128(%rsp)
jmp 0x9a95
movq 0x120(%rsp), %rdi
movl 0x128(%rsp), %eax
movl %eax, 0x384(%rsp)
movl 0x384(%rsp), %esi
callq 0x4450
movq %rax, 0x118(%rsp)
jmp 0x9ac1
leaq 0x3b0(%rsp), %rdi
callq 0xf570
movq %rax, %rsi
leaq 0x340(%rsp), %rdi
movl $0x2, %edx
movq $-0x1, %rcx
callq 0x4410
jmp 0x9aec
leaq 0x2858f(%rip), %rsi     # 0x32082
leaq 0x360(%rsp), %rdi
leaq 0x340(%rsp), %rdx
callq 0xf4c0
jmp 0x9b0a
movq 0x118(%rsp), %rdi
leaq 0x360(%rsp), %rsi
callq 0x4390
jmp 0x9b21
leaq 0x360(%rsp), %rdi
callq 0x4260
leaq 0x340(%rsp), %rdi
callq 0x4260
jmp 0x9c1f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
leaq 0x388(%rsp), %rdi
callq 0x4260
jmp 0xa2dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0x9b9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
leaq 0x360(%rsp), %rdi
callq 0x4260
leaq 0x340(%rsp), %rdi
callq 0x4260
jmp 0xa2dd
movq 0x550(%rsp), %rax
movq %rax, 0x108(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0x114(%rsp)
jmp 0x9bd2
movq 0x108(%rsp), %rdi
movl 0x114(%rsp), %eax
movl %eax, 0x33c(%rsp)
movl 0x33c(%rsp), %esi
callq 0x4450
movq %rax, 0x100(%rsp)
jmp 0x9bfe
leaq 0x3b0(%rsp), %rdi
callq 0xf570
movq 0x100(%rsp), %rdi
movq %rax, %rsi
callq 0x4390
jmp 0x9c1d
jmp 0x9c1f
movl $0x0, 0x338(%rsp)
movl 0x338(%rsp), %eax
cmpl 0x52c(%rsp), %eax
jge 0x9cd9
movq 0x550(%rsp), %rax
movq %rax, 0xf0(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0xfc(%rsp)
jmp 0x9c61
movq 0xf0(%rsp), %rdi
movl 0xfc(%rsp), %eax
movl %eax, 0x334(%rsp)
movl 0x334(%rsp), %esi
callq 0x4450
movq %rax, 0xe8(%rsp)
jmp 0x9c8d
leaq 0x3b0(%rsp), %rdi
callq 0xf570
movq %rax, %rdi
addq $0x20, %rdi
movslq 0x338(%rsp), %rsi
callq 0xeb00
movq 0xe8(%rsp), %rdi
movsd (%rax), %xmm0
callq 0x4730
jmp 0x9cc1
jmp 0x9cc3
movl 0x338(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x338(%rsp)
jmp 0x9c2a
movq 0x550(%rsp), %rdi
movq 0x372c8(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0x9cef
jmp 0x9cf1
leaq 0x3b0(%rsp), %rdi
callq 0xf540
jmp 0x99dd
movq 0x372b6(%rip), %rdi     # 0x40fc0
leaq 0x28416(%rip), %rsi     # 0x32127
callq 0x43f0
movq %rax, 0xe0(%rsp)
jmp 0x9d20
movq 0xe0(%rsp), %rdi
movq 0x37281(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0x9d36
movq 0x550(%rsp), %rdi
leaq 0x500(%rsp), %rsi
callq 0x4390
movq %rax, 0xd8(%rsp)
jmp 0x9d55
movq 0xd8(%rsp), %rdi
movq 0x3724c(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0x9d6b
movq 0x550(%rsp), %rax
movq %rax, 0xc8(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0xd4(%rsp)
jmp 0x9d8e
movq 0xc8(%rsp), %rdi
movl 0xd4(%rsp), %eax
movl %eax, 0x330(%rsp)
movl 0x330(%rsp), %esi
callq 0x4450
movq %rax, 0xc0(%rsp)
jmp 0x9dba
movq 0xc0(%rsp), %rdi
leaq 0x282b4(%rip), %rsi     # 0x3207d
callq 0x43f0
jmp 0x9dd0
movl $0x0, 0x32c(%rsp)
movl 0x32c(%rsp), %eax
cmpl 0x52c(%rsp), %eax
jge 0x9f17
movq 0x268(%rsp), %rdi
leaq 0x28c91(%rip), %rsi     # 0x32a8f
callq 0xf390
movb %al, 0xbf(%rsp)
jmp 0x9e0c
movb 0xbf(%rsp), %al
testb $0x1, %al
jne 0x9e19
jmp 0x9e8c
movq 0x550(%rsp), %rax
movq %rax, 0xb0(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0xb8(%rsp)
jmp 0x9e3c
movq 0xb0(%rsp), %rdi
movl 0xb8(%rsp), %eax
movl %eax, 0x328(%rsp)
movl 0x328(%rsp), %esi
callq 0x4450
movq %rax, 0xa8(%rsp)
jmp 0x9e68
movq 0xa8(%rsp), %rdi
movq 0x560(%rsp), %rax
movslq 0x32c(%rsp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x4670
jmp 0x9e8a
jmp 0x9eff
movq 0x550(%rsp), %rax
movq %rax, 0x98(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0xa4(%rsp)
jmp 0x9eaf
movq 0x98(%rsp), %rdi
movl 0xa4(%rsp), %eax
movl %eax, 0x324(%rsp)
movl 0x324(%rsp), %esi
callq 0x4450
movq %rax, 0x90(%rsp)
jmp 0x9edb
movq 0x90(%rsp), %rdi
movq 0x568(%rsp), %rax
movslq 0x32c(%rsp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x4670
jmp 0x9efd
jmp 0x9eff
jmp 0x9f01
movl 0x32c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x32c(%rsp)
jmp 0x9ddb
movq 0x550(%rsp), %rdi
movq 0x3708a(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0x9f2d
movq 0x3708c(%rip), %rdi     # 0x40fc0
leaq 0x281fd(%rip), %rsi     # 0x32138
callq 0x43f0
movq %rax, 0x88(%rsp)
jmp 0x9f4a
movq 0x88(%rsp), %rdi
movq 0x37057(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0x9f60
movq 0x270(%rsp), %rdi
callq 0xf3c0
movq %rax, 0x318(%rsp)
movq 0x270(%rsp), %rdi
callq 0xf3f0
movq %rax, 0x310(%rsp)
leaq 0x318(%rsp), %rdi
leaq 0x310(%rsp), %rsi
callq 0xf420
testb $0x1, %al
jne 0x9fa8
jmp 0xa26b
leaq 0x318(%rsp), %rdi
callq 0xf570
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0x2f0(%rsp), %rdi
movl $0x2, %ecx
callq 0x4410
jmp 0x9fd0
leaq 0x280a8(%rip), %rsi     # 0x3207f
leaq 0x2f0(%rsp), %rdi
callq 0xf390
movb %al, 0x87(%rsp)
jmp 0x9fed
leaq 0x2f0(%rsp), %rdi
callq 0x4260
movb 0x87(%rsp), %al
testb $0x1, %al
jne 0xa00a
jmp 0xa13b
movq 0x550(%rsp), %rax
movq %rax, 0x78(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0x80(%rsp)
jmp 0xa02a
movq 0x78(%rsp), %rdi
movl 0x80(%rsp), %eax
movl %eax, 0x2ec(%rsp)
movl 0x2ec(%rsp), %esi
callq 0x4450
movq %rax, 0x70(%rsp)
jmp 0xa050
leaq 0x318(%rsp), %rdi
callq 0xf570
movq %rax, %rsi
leaq 0x2a8(%rsp), %rdi
movl $0x2, %edx
movq $-0x1, %rcx
callq 0x4410
jmp 0xa07b
leaq 0x28000(%rip), %rsi     # 0x32082
leaq 0x2c8(%rsp), %rdi
leaq 0x2a8(%rsp), %rdx
callq 0xf4c0
jmp 0xa099
movq 0x70(%rsp), %rdi
leaq 0x2c8(%rsp), %rsi
callq 0x4390
jmp 0xa0ad
leaq 0x2c8(%rsp), %rdi
callq 0x4260
leaq 0x2a8(%rsp), %rdi
callq 0x4260
jmp 0xa199
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
leaq 0x2f0(%rsp), %rdi
callq 0x4260
jmp 0xa2dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
jmp 0xa129
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a8(%rsp)
movl %eax, 0x4a4(%rsp)
leaq 0x2c8(%rsp), %rdi
callq 0x4260
leaq 0x2a8(%rsp), %rdi
callq 0x4260
jmp 0xa2dd
movq 0x550(%rsp), %rax
movq %rax, 0x60(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0x6c(%rsp)
jmp 0xa158
movq 0x60(%rsp), %rdi
movl 0x6c(%rsp), %eax
movl %eax, 0x2a4(%rsp)
movl 0x2a4(%rsp), %esi
callq 0x4450
movq %rax, 0x58(%rsp)
jmp 0xa17b
leaq 0x318(%rsp), %rdi
callq 0xf570
movq 0x58(%rsp), %rdi
movq %rax, %rsi
callq 0x4390
jmp 0xa197
jmp 0xa199
movl $0x0, 0x2a0(%rsp)
movl 0x2a0(%rsp), %eax
cmpl 0x52c(%rsp), %eax
jge 0xa241
movq 0x550(%rsp), %rax
movq %rax, 0x48(%rsp)
movl $0x10, %edi
callq 0xf370
movl %eax, 0x54(%rsp)
jmp 0xa1d5
movq 0x48(%rsp), %rdi
movl 0x54(%rsp), %eax
movl %eax, 0x29c(%rsp)
movl 0x29c(%rsp), %esi
callq 0x4450
movq %rax, 0x40(%rsp)
jmp 0xa1f8
leaq 0x318(%rsp), %rdi
callq 0xf570
movq %rax, %rdi
addq $0x20, %rdi
movslq 0x2a0(%rsp), %rsi
callq 0xeb00
movq 0x40(%rsp), %rdi
movsd (%rax), %xmm0
callq 0x4730
jmp 0xa229
jmp 0xa22b
movl 0x2a0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2a0(%rsp)
jmp 0xa1a4
movq 0x550(%rsp), %rdi
movq 0x36d60(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0xa257
jmp 0xa259
leaq 0x318(%rsp), %rdi
callq 0xf540
jmp 0x9f75
movq 0x36d4e(%rip), %rdi     # 0x40fc0
leaq 0x27ed0(%rip), %rsi     # 0x32149
callq 0x43f0
movq %rax, 0x38(%rsp)
jmp 0xa285
movq 0x38(%rsp), %rdi
movq 0x36d1f(%rip), %rsi     # 0x40fb0
callq 0x4430
jmp 0xa298
leaq 0x4c0(%rsp), %rax
movq %rax, 0x28(%rsp)
addq $0x60, %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0x20(%rsp)
callq 0x4260
movq 0x28(%rsp), %rcx
movq 0x20(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0x30(%rsp)
jne 0xa2ae
addq $0x558, %rsp            # imm = 0x558
retq
leaq 0x4c0(%rsp), %rax
movq %rax, 0x10(%rsp)
addq $0x60, %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0x8(%rsp)
callq 0x4260
movq 0x10(%rsp), %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0x18(%rsp)
jne 0xa2f3
jmp 0xa31c
movq 0x4a8(%rsp), %rdi
callq 0x4690
nopl (%rax)