// File: gvaumour[P]cache-simulator/src/Cerebron.cc
// Function: CerebronPredictor::printConfig(std::ostream&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void CerebronPredictor::printConfig(std::ostream& out, std::string entete) { 

	out << entete << ":Cerebron:TableSize\t" << m_tableSize << endl; 
	
	string a = m_enableAllocation ? "TRUE" : "FALSE";
	out << entete << ":Cerebron:EnableAllocation\t" << a << endl;
	string h = simu_parameters.Cerebron_enableMigration ? "TRUE" : "FALSE";
	out << entete << ":Cerebron:EnableMigration\t" << h << endl;
	
	out << entete << ":Cerebron:CostValueThreshold\t" << simu_parameters.PHC_cost_threshold  << endl;
	out << entete << ":Cerebron:AllocationThreshold\t" << simu_parameters.perceptron_allocation_threshold  << endl;
	out << entete << ":Cerebron:ActivationFunction\t" << simu_parameters.Cerebron_activation_function  << endl;
	
	string b = simu_parameters.Cerebron_independantLearning ? "TRUE" : "FALSE";
	out << entete << ":Cerebron:IndependantLearning\t" << b  << endl;

	string g = simu_parameters.Cerebron_resetEnergyValues ? "TRUE" : "FALSE";
	out << entete << ":Cerebron:ResetEnergyValeus\t" << g  << endl;
	
	string c = simu_parameters.Cerebron_fastlearning ? "TRUE" : "FALSE";
	out << entete << ":Cerebron:FastLearning\t" << c << endl;
	
	string f = simu_parameters.Cerebron_lowConfidence ? "TRUE" : "FALSE";
	out << entete << ":Cerebron:LowConfidence\t" << c << endl;
	
	string e = simu_parameters.Cerebron_separateLearning ? "TRUE" : "FALSE";
	out << entete << ":Cerebron:SeparateLearning\t" << e << endl;
	
	string d = simu_parameters.Cerebron_RDmodel ? "TRUE" : "FALSE";
	out << entete << ":Cerebron:UsingRDModel\t" << d << endl;

	out << entete << ":Cerebron:decrementValue\t" << simu_parameters.Cerebron_decrement_value << endl;

//	out << entete << ":Cerebron:CostLearning\t" << simu_parameters.perceptron_allocation_learning << endl; 
	out << entete << ":Cerebron:AllocFeatures\t"; 
	for(auto p : m_criterias_names)
		out << p << ",";
	out << endl;	

	out << entete << ":CerebronPredictor:CostModel" << endl;
	out << entete << ":CerebronPredictor:ShortRead\t" << m_costAccess[false][RD_SHORT] << endl; 		
	out << entete << ":CerebronPredictor:ShortWrite\t" << m_costAccess[true][RD_SHORT] << endl; 		
	out << entete << ":CerebronPredictor:MediumRead\t" << m_costAccess[false][RD_MEDIUM] << endl; 		
	out << entete << ":CerebronPredictor:MediumWrite\t" << m_costAccess[true][RD_MEDIUM] << endl; 		


	Predictor::printConfig(out, entete);
}

// Assembly:
subq $0x418, %rsp            # imm = 0x418
movq %rdx, 0x230(%rsp)
movq %rsi, %rax
movq 0x230(%rsp), %rsi
movq %rsi, 0x238(%rsp)
movq %rdi, 0x410(%rsp)
movq %rax, 0x408(%rsp)
movq %rsi, 0x400(%rsp)
movq 0x410(%rsp), %rax
movq %rax, 0x240(%rsp)
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, %rdi
leaq 0x643c2(%rip), %rsi     # 0x714c3
callq 0x5380
movq %rax, %rdi
movq 0x240(%rsp), %rax
movl 0x2f0(%rax), %esi
callq 0x5680
movq %rax, %rdi
movq 0x85e92(%rip), %rsi     # 0x92fb8
callq 0x53d0
movq 0x240(%rsp), %rax
movb 0x338(%rax), %dl
leaq 0x64398(%rip), %rcx     # 0x714d8
leaq 0x64396(%rip), %rax     # 0x714dd
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x248(%rsp)
leaq 0x3df(%rsp), %rdi
movq %rdi, 0x250(%rsp)
callq 0x56a0
movq 0x248(%rsp), %rsi
movq 0x250(%rsp), %rdx
leaq 0x3e0(%rsp), %rdi
callq 0x5530
jmp 0xd18a
leaq 0x3df(%rsp), %rdi
callq 0x53e0
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x228(%rsp)
jmp 0xd1b6
movq 0x228(%rsp), %rdi
leaq 0x6431e(%rip), %rsi     # 0x714e3
callq 0x5380
movq %rax, 0x220(%rsp)
jmp 0xd1d4
movq 0x220(%rsp), %rdi
leaq 0x3e0(%rsp), %rsi
callq 0x5330
movq %rax, 0x218(%rsp)
jmp 0xd1f3
movq 0x218(%rsp), %rdi
movq 0x85db6(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xd209
leaq 0x86de0(%rip), %rax     # 0x93ff0
movb 0x223(%rax), %dl
leaq 0x642bb(%rip), %rcx     # 0x714d8
leaq 0x642b9(%rip), %rax     # 0x714dd
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x208(%rsp)
leaq 0x3a7(%rsp), %rdi
movq %rdi, 0x210(%rsp)
callq 0x56a0
movq 0x208(%rsp), %rsi
movq 0x210(%rsp), %rdx
leaq 0x3a8(%rsp), %rdi
callq 0x5530
jmp 0xd267
leaq 0x3a7(%rsp), %rdi
callq 0x53e0
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x200(%rsp)
jmp 0xd293
movq 0x200(%rsp), %rdi
leaq 0x6425d(%rip), %rsi     # 0x714ff
callq 0x5380
movq %rax, 0x1f8(%rsp)
jmp 0xd2b1
movq 0x1f8(%rsp), %rdi
leaq 0x3a8(%rsp), %rsi
callq 0x5330
movq %rax, 0x1f0(%rsp)
jmp 0xd2d0
movq 0x1f0(%rsp), %rdi
movq 0x85cd9(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xd2e6
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x1e8(%rsp)
jmp 0xd305
movq 0x1e8(%rsp), %rdi
leaq 0x64206(%rip), %rsi     # 0x7151a
callq 0x5380
movq %rax, 0x1e0(%rsp)
jmp 0xd323
movq 0x1e0(%rsp), %rdi
leaq 0x86cbe(%rip), %rax     # 0x93ff0
movl 0x1e8(%rax), %esi
callq 0x5680
movq %rax, 0x1d8(%rsp)
jmp 0xd347
movq 0x1d8(%rsp), %rdi
movq 0x85c62(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xd35d
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x1d0(%rsp)
jmp 0xd37c
movq 0x1d0(%rsp), %rdi
leaq 0x641ad(%rip), %rsi     # 0x71538
callq 0x5380
movq %rax, 0x1c8(%rsp)
jmp 0xd39a
movq 0x1c8(%rsp), %rdi
leaq 0x86c47(%rip), %rax     # 0x93ff0
movl 0x1c0(%rax), %esi
callq 0x5680
movq %rax, 0x1c0(%rsp)
jmp 0xd3be
movq 0x1c0(%rsp), %rdi
movq 0x85beb(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xd3d4
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x1b8(%rsp)
jmp 0xd3f3
movq 0x1b8(%rsp), %rdi
leaq 0x64155(%rip), %rsi     # 0x71557
callq 0x5380
movq %rax, 0x1b0(%rsp)
jmp 0xd411
movq 0x1b0(%rsp), %rdi
leaq 0x86bd0(%rip), %rsi     # 0x93ff0
addq $0x200, %rsi            # imm = 0x200
callq 0x5330
movq %rax, 0x1a8(%rsp)
jmp 0xd436
movq 0x1a8(%rsp), %rdi
movq 0x85b73(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xd44c
leaq 0x86b9d(%rip), %rax     # 0x93ff0
movb 0x220(%rax), %dl
leaq 0x64078(%rip), %rcx     # 0x714d8
leaq 0x64076(%rip), %rax     # 0x714dd
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x198(%rsp)
leaq 0x37f(%rsp), %rdi
movq %rdi, 0x1a0(%rsp)
callq 0x56a0
movq 0x198(%rsp), %rsi
movq 0x1a0(%rsp), %rdx
leaq 0x380(%rsp), %rdi
callq 0x5530
jmp 0xd4aa
leaq 0x37f(%rsp), %rdi
callq 0x53e0
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x190(%rsp)
jmp 0xd4d6
movq 0x190(%rsp), %rdi
leaq 0x64090(%rip), %rsi     # 0x71575
callq 0x5380
movq %rax, 0x188(%rsp)
jmp 0xd4f4
movq 0x188(%rsp), %rdi
leaq 0x380(%rsp), %rsi
callq 0x5330
movq %rax, 0x180(%rsp)
jmp 0xd513
movq 0x180(%rsp), %rdi
movq 0x85a96(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xd529
leaq 0x86ac0(%rip), %rax     # 0x93ff0
movb 0x222(%rax), %dl
leaq 0x63f9b(%rip), %rcx     # 0x714d8
leaq 0x63f99(%rip), %rax     # 0x714dd
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x170(%rsp)
leaq 0x357(%rsp), %rdi
movq %rdi, 0x178(%rsp)
callq 0x56a0
movq 0x170(%rsp), %rsi
movq 0x178(%rsp), %rdx
leaq 0x358(%rsp), %rdi
callq 0x5530
jmp 0xd587
leaq 0x357(%rsp), %rdi
callq 0x53e0
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x168(%rsp)
jmp 0xd5b3
movq 0x168(%rsp), %rdi
leaq 0x63fd2(%rip), %rsi     # 0x71594
callq 0x5380
movq %rax, 0x160(%rsp)
jmp 0xd5d1
movq 0x160(%rsp), %rdi
leaq 0x358(%rsp), %rsi
callq 0x5330
movq %rax, 0x158(%rsp)
jmp 0xd5f0
movq 0x158(%rsp), %rdi
movq 0x859b9(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xd606
leaq 0x869e3(%rip), %rax     # 0x93ff0
movb 0x225(%rax), %dl
leaq 0x63ebe(%rip), %rcx     # 0x714d8
leaq 0x63ebc(%rip), %rax     # 0x714dd
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x148(%rsp)
leaq 0x32f(%rsp), %rdi
movq %rdi, 0x150(%rsp)
callq 0x56a0
movq 0x148(%rsp), %rsi
movq 0x150(%rsp), %rdx
leaq 0x330(%rsp), %rdi
callq 0x5530
jmp 0xd664
leaq 0x32f(%rsp), %rdi
callq 0x53e0
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x140(%rsp)
jmp 0xd690
movq 0x140(%rsp), %rdi
leaq 0x63f12(%rip), %rsi     # 0x715b1
callq 0x5380
movq %rax, 0x138(%rsp)
jmp 0xd6ae
movq 0x138(%rsp), %rdi
leaq 0x330(%rsp), %rsi
callq 0x5330
movq %rax, 0x130(%rsp)
jmp 0xd6cd
movq 0x130(%rsp), %rdi
movq 0x858dc(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xd6e3
leaq 0x86906(%rip), %rax     # 0x93ff0
movb 0x221(%rax), %dl
leaq 0x63de1(%rip), %rcx     # 0x714d8
leaq 0x63ddf(%rip), %rax     # 0x714dd
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x120(%rsp)
leaq 0x307(%rsp), %rdi
movq %rdi, 0x128(%rsp)
callq 0x56a0
movq 0x120(%rsp), %rsi
movq 0x128(%rsp), %rdx
leaq 0x308(%rsp), %rdi
callq 0x5530
jmp 0xd741
leaq 0x307(%rsp), %rdi
callq 0x53e0
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x118(%rsp)
jmp 0xd76d
movq 0x118(%rsp), %rdi
leaq 0x63e4d(%rip), %rsi     # 0x715c9
callq 0x5380
movq %rax, 0x110(%rsp)
jmp 0xd78b
movq 0x110(%rsp), %rdi
leaq 0x330(%rsp), %rsi
callq 0x5330
movq %rax, 0x108(%rsp)
jmp 0xd7aa
movq 0x108(%rsp), %rdi
movq 0x857ff(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xd7c0
leaq 0x86829(%rip), %rax     # 0x93ff0
movb 0x224(%rax), %dl
leaq 0x63d04(%rip), %rcx     # 0x714d8
leaq 0x63d02(%rip), %rax     # 0x714dd
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0xf8(%rsp)
leaq 0x2df(%rsp), %rdi
movq %rdi, 0x100(%rsp)
callq 0x56a0
movq 0xf8(%rsp), %rsi
movq 0x100(%rsp), %rdx
leaq 0x2e0(%rsp), %rdi
callq 0x5530
jmp 0xd81e
leaq 0x2df(%rsp), %rdi
callq 0x53e0
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0xf0(%rsp)
jmp 0xd84a
movq 0xf0(%rsp), %rdi
leaq 0x63d89(%rip), %rsi     # 0x715e2
callq 0x5380
movq %rax, 0xe8(%rsp)
jmp 0xd868
movq 0xe8(%rsp), %rdi
leaq 0x2e0(%rsp), %rsi
callq 0x5330
movq %rax, 0xe0(%rsp)
jmp 0xd887
movq 0xe0(%rsp), %rdi
movq 0x85722(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xd89d
leaq 0x8674c(%rip), %rax     # 0x93ff0
movb 0x226(%rax), %dl
leaq 0x63c27(%rip), %rcx     # 0x714d8
leaq 0x63c25(%rip), %rax     # 0x714dd
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0xd0(%rsp)
leaq 0x2b7(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0x56a0
movq 0xd0(%rsp), %rsi
movq 0xd8(%rsp), %rdx
leaq 0x2b8(%rsp), %rdi
callq 0x5530
jmp 0xd8fb
leaq 0x2b7(%rsp), %rdi
callq 0x53e0
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0xc8(%rsp)
jmp 0xd927
movq 0xc8(%rsp), %rdi
leaq 0x63cc8(%rip), %rsi     # 0x715fe
callq 0x5380
movq %rax, 0xc0(%rsp)
jmp 0xd945
movq 0xc0(%rsp), %rdi
leaq 0x2b8(%rsp), %rsi
callq 0x5330
movq %rax, 0xb8(%rsp)
jmp 0xd964
movq 0xb8(%rsp), %rdi
movq 0x85645(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xd97a
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0xb0(%rsp)
jmp 0xd999
movq 0xb0(%rsp), %rdi
leaq 0x63c6e(%rip), %rsi     # 0x71616
callq 0x5380
movq %rax, 0xa8(%rsp)
jmp 0xd9b7
movq 0xa8(%rsp), %rdi
leaq 0x8662a(%rip), %rax     # 0x93ff0
movl 0x228(%rax), %esi
callq 0x5680
movq %rax, 0xa0(%rsp)
jmp 0xd9db
movq 0xa0(%rsp), %rdi
movq 0x855ce(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xd9f1
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x98(%rsp)
jmp 0xda10
movq 0x98(%rsp), %rdi
leaq 0x63c11(%rip), %rsi     # 0x71630
callq 0x5380
jmp 0xda26
movq 0x240(%rsp), %rax
addq $0x2a0, %rax            # imm = 0x2A0
movq %rax, 0x2a8(%rsp)
movq 0x2a8(%rsp), %rdi
callq 0xebf0
movq %rax, 0x2a0(%rsp)
movq 0x2a8(%rsp), %rdi
callq 0xec20
movq %rax, 0x298(%rsp)
leaq 0x2a0(%rsp), %rdi
leaq 0x298(%rsp), %rsi
callq 0xec50
testb $0x1, %al
jne 0xda84
jmp 0xdd15
leaq 0x2a0(%rsp), %rdi
callq 0xec90
movq %rax, %rsi
leaq 0x278(%rsp), %rdi
callq 0x51b0
jmp 0xdaa3
movq 0x408(%rsp), %rdi
leaq 0x278(%rsp), %rsi
callq 0x5330
movq %rax, 0x90(%rsp)
jmp 0xdac2
movq 0x90(%rsp), %rdi
leaq 0x63571(%rip), %rsi     # 0x71042
callq 0x5380
jmp 0xdad8
leaq 0x278(%rsp), %rdi
callq 0x5768
leaq 0x2a0(%rsp), %rdi
callq 0xeca0
jmp 0xda66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
leaq 0x3df(%rsp), %rdi
callq 0x53e0
jmp 0xe0cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
jmp 0xe0be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
leaq 0x3a7(%rsp), %rdi
callq 0x53e0
jmp 0xe0be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
jmp 0xe0b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
leaq 0x37f(%rsp), %rdi
callq 0x53e0
jmp 0xe0b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
jmp 0xe0a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
leaq 0x357(%rsp), %rdi
callq 0x53e0
jmp 0xe0a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
jmp 0xe097
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
leaq 0x32f(%rsp), %rdi
callq 0x53e0
jmp 0xe097
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
jmp 0xe08a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
leaq 0x307(%rsp), %rdi
callq 0x53e0
jmp 0xe08a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
jmp 0xe07d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
leaq 0x2df(%rsp), %rdi
callq 0x53e0
jmp 0xe07d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
jmp 0xe070
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
leaq 0x2b7(%rsp), %rdi
callq 0x53e0
jmp 0xe070
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
jmp 0xe063
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
leaq 0x278(%rsp), %rdi
callq 0x5768
jmp 0xe063
movq 0x408(%rsp), %rdi
movq 0x85294(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xdd2b
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x88(%rsp)
jmp 0xdd4a
movq 0x88(%rsp), %rdi
leaq 0x638f0(%rip), %rsi     # 0x71649
callq 0x5380
movq %rax, 0x80(%rsp)
jmp 0xdd68
movq 0x80(%rsp), %rdi
movq 0x85241(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xdd7e
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x78(%rsp)
jmp 0xdd9a
movq 0x78(%rsp), %rdi
leaq 0x638c0(%rip), %rsi     # 0x71666
callq 0x5380
movq %rax, 0x70(%rsp)
jmp 0xddb2
movq 0x240(%rsp), %rdi
addq $0x2d8, %rdi            # imm = 0x2D8
xorl %eax, %eax
movl %eax, %esi
movq %rsi, 0x60(%rsp)
callq 0xef70
movq 0x60(%rsp), %rsi
movq %rax, %rdi
callq 0xef90
movq 0x70(%rsp), %rdi
movl (%rax), %esi
callq 0x5680
movq %rax, 0x68(%rsp)
jmp 0xddef
movq 0x68(%rsp), %rdi
movq 0x851bd(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xde02
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x58(%rsp)
jmp 0xde1e
movq 0x58(%rsp), %rdi
leaq 0x6385a(%rip), %rsi     # 0x71684
callq 0x5380
movq %rax, 0x50(%rsp)
jmp 0xde36
movq 0x240(%rsp), %rdi
addq $0x2d8, %rdi            # imm = 0x2D8
movl $0x1, %esi
callq 0xef70
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xef90
movq 0x50(%rsp), %rdi
movl (%rax), %esi
callq 0x5680
movq %rax, 0x48(%rsp)
jmp 0xde6e
movq 0x48(%rsp), %rdi
movq 0x8513e(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xde81
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x40(%rsp)
jmp 0xde9d
movq 0x40(%rsp), %rdi
leaq 0x637fa(%rip), %rsi     # 0x716a3
callq 0x5380
movq %rax, 0x38(%rsp)
jmp 0xdeb5
movq 0x240(%rsp), %rdi
addq $0x2d8, %rdi            # imm = 0x2D8
xorl %eax, %eax
movl %eax, %esi
callq 0xef70
movq %rax, %rdi
movl $0x1, %esi
callq 0xef90
movq 0x38(%rsp), %rdi
movl (%rax), %esi
callq 0x5680
movq %rax, 0x30(%rsp)
jmp 0xdeed
movq 0x30(%rsp), %rdi
movq 0x850bf(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xdf00
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rdi
callq 0x5330
movq %rax, 0x28(%rsp)
jmp 0xdf1c
movq 0x28(%rsp), %rdi
leaq 0x6379a(%rip), %rsi     # 0x716c2
callq 0x5380
movq %rax, 0x20(%rsp)
jmp 0xdf34
movq 0x240(%rsp), %rdi
addq $0x2d8, %rdi            # imm = 0x2D8
movl $0x1, %esi
movq %rsi, 0x10(%rsp)
callq 0xef70
movq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0xef90
movq 0x20(%rsp), %rdi
movl (%rax), %esi
callq 0x5680
movq %rax, 0x18(%rsp)
jmp 0xdf72
movq 0x18(%rsp), %rdi
movq 0x8503a(%rip), %rsi     # 0x92fb8
callq 0x53d0
jmp 0xdf85
movq 0x238(%rsp), %rsi
movq 0x408(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x258(%rsp), %rdi
callq 0x51b0
jmp 0xdfa9
movq 0x8(%rsp), %rsi
movq 0x240(%rsp), %rdi
leaq 0x258(%rsp), %rdx
callq 0x579f0
jmp 0xdfc5
leaq 0x258(%rsp), %rdi
callq 0x5768
leaq 0x2b8(%rsp), %rdi
callq 0x5768
leaq 0x2e0(%rsp), %rdi
callq 0x5768
leaq 0x308(%rsp), %rdi
callq 0x5768
leaq 0x330(%rsp), %rdi
callq 0x5768
leaq 0x358(%rsp), %rdi
callq 0x5768
leaq 0x380(%rsp), %rdi
callq 0x5768
leaq 0x3a8(%rsp), %rdi
callq 0x5768
leaq 0x3e0(%rsp), %rdi
callq 0x5768
addq $0x418, %rsp            # imm = 0x418
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d0(%rsp)
movl %eax, 0x3cc(%rsp)
leaq 0x258(%rsp), %rdi
callq 0x5768
leaq 0x2b8(%rsp), %rdi
callq 0x5768
leaq 0x2e0(%rsp), %rdi
callq 0x5768
leaq 0x308(%rsp), %rdi
callq 0x5768
leaq 0x330(%rsp), %rdi
callq 0x5768
leaq 0x358(%rsp), %rdi
callq 0x5768
leaq 0x380(%rsp), %rdi
callq 0x5768
leaq 0x3a8(%rsp), %rdi
callq 0x5768
leaq 0x3e0(%rsp), %rdi
callq 0x5768
movq 0x3d0(%rsp), %rdi
callq 0x5690
nopl (%rax,%rax)