// File: haught[P]cws_plugin/cws_plugin.cpp
// Function: write_1_gcode(char*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, 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::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&)
void write_1_gcode(char *fileName,map<string, string> &valueMap) {
	ofstream ofile;               //��������ļ�
	int layerNum = static_cast<int>(strtol(valueMap.at("totalLayer").c_str(), NULL, 0));
	int bottomLayerNum = static_cast<int>(strtol(valueMap.at("bottomLayCount").c_str(), NULL, 0));
	int normalExposureTime = static_cast<float>(strtof(valueMap.at("normalExposureTime").c_str(), NULL))*1000;
	int bottomLayExposureTime = static_cast<float>(strtof(valueMap.at("bottomLayExposureTime").c_str(), NULL)) * 1000;
	int bottomLightOffTime = static_cast<float>(strtof(valueMap.at("bottomLightOffTime").c_str(), NULL)) * 1000;
	int lightOffTime = static_cast<float>(strtof(valueMap.at("lightOffTime").c_str(), NULL)) * 1000;
	int resolutionX = static_cast<int>(strtol(valueMap.at("resolutionX").c_str(), NULL, 0));
	int resolutionY = static_cast<int>(strtol(valueMap.at("resolutionY").c_str(), NULL, 0));
	float widthX = static_cast<float>(strtof(valueMap.at("machineX").c_str(), NULL));
	float widthY = static_cast<float>(strtof(valueMap.at("machineY").c_str(), NULL));
	float layerHeight = static_cast<float>(strtof(valueMap.at("layerHeight").c_str(), NULL));
	ofile.open(fileName);     //��Ϊ����ļ���
	ofile << ";(****Build and Slicing Parameters****)" << endl;
	ofile << ";(Pix per mm X = " << resolutionX/widthX << " px/mm)" << endl;
	ofile << ";(Pix per mm Y = " << resolutionY/widthY << " px/mm)" << endl;
	ofile << ";(X Resolution = " << resolutionX << ")" << endl;
	ofile << ";(Y Resolution = " << resolutionY << ")" << endl;
	ofile << ";(Layer Thickness = " << layerHeight << " mm)" << endl;
	ofile << ";(Layer Time = 7000 ms)" << endl;
	ofile << ";(Bottom Layers Time = " << bottomLayExposureTime << " ms)" << endl;
	ofile << ";(Number of Bottom Layers = " << valueMap.at("bottomLayCount") << ")" << endl;
	ofile << ";(Blanking Layer Time = " << int(static_cast<float>(strtof(valueMap.at("normalExposureTime").c_str(), NULL)) * 1000) << " ms)" << endl;
	ofile << ";(Build Direction = Bottom_Up)" << endl;
	ofile << ";(Lift Distance = " << valueMap.at("normalLayerLiftHeight") << " mm)" << endl; 
	ofile << ";(Slide/Tilt Value = 0)" << endl;
	ofile << ";(Anti Aliasing = True)" << endl;
	ofile << ";(Use Mainlift GCode Tab = False)" << endl;
	ofile << ";(Anti Aliasing Value = 2)" << endl;
	ofile << ";(Z Lift Feed Rate = 60.00000 mm/s)" << endl;
	ofile << ";(Z Lift Retract Rate = 150.00000 mm/s)" << endl;
	ofile << ";(Flip X = " << ((valueMap.at("mirror") == "1")?"True":"False") << ")" << endl;
	ofile << ";(Flip Y = False)" << endl;
	ofile << ";Number of Slices = " << valueMap.at("totalLayer") <<  endl;
	ofile << ";(****Machine Configuration ******)" << endl;
	ofile << ";(Platform X Size = " << valueMap.at("machineX") << "mm)" << endl;
	ofile << ";(Platform Y Size = " << valueMap.at("machineY") << "mm)" << endl;
	ofile << ";(Platform Z Size = " << valueMap.at("machineZ") << "mm)" << endl;
	ofile << ";(Max X Feedrate = 100mm/s)" << endl;
	ofile << ";(Max Y Feedrate = 100mm/s)" << endl;
	ofile << ";(Max Z Feedrate = 100mm/s)" << endl;
	ofile << ";(Machine Type = UV_DLP)" << endl;
	ofile << "; ********** Header Start ********" << endl;
	ofile << "; Here you can set any G or M - Code which should be executed BEFORE the build process" << endl;
	ofile << "G21; Set units to be mm" << endl;
	ofile << "G91; Relative Positioning" << endl;
	ofile << "M17; Enable motors" << endl;
	ofile << "G28 Z0" << endl;
	ofile << "<Slice> Blank" << endl;
	ofile << "; ********** Header End **********" << endl;

	float normalLayerLiftHeight = static_cast<float>(strtof(valueMap.at("normalLayerLiftHeight").c_str(), NULL)) ;

	float dropHeight = normalLayerLiftHeight - layerHeight;
	for (int i = 0; i < layerNum; i++) {
		ofile << "M106 S255" << endl;

		ofile << ";********** Pre - Slice Start ********" << endl;
		ofile << ";Set up any GCode here to be executed before a lift" << endl;
		ofile << ";********** Pre - Slice End **********" << endl;
		ofile << ";<Slice> " << i << endl;
		ofile << ";<Delay> " << ((i < bottomLayerNum)? bottomLayExposureTime:normalExposureTime) << endl;
		ofile << ";<Slice> Blank" << endl;
		ofile << "M106 S0" << endl;
		ofile << "; ********** Lift Sequence ********" << endl;
		ofile << "G1 Z" << valueMap.at("normalLayerLiftHeight") << " F" << ((i < bottomLayerNum)?valueMap.at("bottomLayerLiftSpeed"):valueMap.at("normalLayerLiftSpeed")) << endl; 
		ofile << "G1 Z-" << dropHeight << " F" << valueMap.at("normalDropSpeed") << endl;
		ofile << ";<Delay> " << ((i < bottomLayerNum)?bottomLightOffTime : lightOffTime) << endl;
	}

	ofile << "; ********** Footer Start ********" << endl;
	ofile << "; Here you can set any G or M - Code which should be executed after the last Layer is Printed" << endl;
	ofile << "M18; Disable Motors" << endl;
	ofile << "M106 SO" << endl;
	ofile << "G1 Z40" << endl;
	ofile << ";<Completed>" << endl;
	ofile << "; ********** Footer End ********" << endl;

	ofile.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb90, %rsp            # imm = 0xB90
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x3400
movq -0x10(%rbp), %rax
movq %rax, -0x600(%rbp)
leaq -0x239(%rbp), %rdi
movq %rdi, -0x5f8(%rbp)
callq 0x3430
movq -0x5f8(%rbp), %rdx
leaq 0x77cd(%rip), %rsi      # 0xb008
leaq -0x238(%rbp), %rdi
callq 0x8ae0
jmp 0x3849
movq -0x600(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x8c70
movq %rax, -0x608(%rbp)
jmp 0x3865
movq -0x608(%rbp), %rdi
callq 0x3100
movq %rax, %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x3340
movl %eax, -0x61c(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x3170
leaq -0x239(%rbp), %rdi
callq 0x32a0
movl -0x61c(%rbp), %eax
movl %eax, -0x214(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x618(%rbp)
leaq -0x271(%rbp), %rdi
movq %rdi, -0x610(%rbp)
callq 0x3430
movq -0x610(%rbp), %rdx
leaq 0x7740(%rip), %rsi      # 0xb013
leaq -0x270(%rbp), %rdi
callq 0x8ae0
jmp 0x38e1
movq -0x618(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x8c70
movq %rax, -0x628(%rbp)
jmp 0x38fd
movq -0x628(%rbp), %rdi
callq 0x3100
movq %rax, %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x3340
movl %eax, -0x63c(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x3170
leaq -0x271(%rbp), %rdi
callq 0x32a0
movl -0x63c(%rbp), %eax
movl %eax, -0x250(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x638(%rbp)
leaq -0x299(%rbp), %rdi
movq %rdi, -0x630(%rbp)
callq 0x3430
movq -0x630(%rbp), %rdx
leaq 0x76b7(%rip), %rsi      # 0xb022
leaq -0x298(%rbp), %rdi
callq 0x8ae0
jmp 0x3979
movq -0x638(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0x8c70
movq %rax, -0x648(%rbp)
jmp 0x3995
movq -0x648(%rbp), %rdi
callq 0x3100
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3320
movss 0x764f(%rip), %xmm1     # 0xb004
mulss %xmm1, %xmm0
cvttss2si %xmm0, %eax
movl %eax, -0x65c(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x3170
leaq -0x299(%rbp), %rdi
callq 0x32a0
movl -0x65c(%rbp), %eax
movl %eax, -0x278(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x658(%rbp)
leaq -0x2c1(%rbp), %rdi
movq %rdi, -0x650(%rbp)
callq 0x3430
movq -0x650(%rbp), %rdx
leaq 0x7622(%rip), %rsi      # 0xb035
leaq -0x2c0(%rbp), %rdi
callq 0x8ae0
jmp 0x3a21
movq -0x658(%rbp), %rdi
leaq -0x2c0(%rbp), %rsi
callq 0x8c70
movq %rax, -0x668(%rbp)
jmp 0x3a3d
movq -0x668(%rbp), %rdi
callq 0x3100
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3320
movss 0x75a7(%rip), %xmm1     # 0xb004
mulss %xmm1, %xmm0
cvttss2si %xmm0, %eax
movl %eax, -0x67c(%rbp)
leaq -0x2c0(%rbp), %rdi
callq 0x3170
leaq -0x2c1(%rbp), %rdi
callq 0x32a0
movl -0x67c(%rbp), %eax
movl %eax, -0x2a0(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x678(%rbp)
leaq -0x2e9(%rbp), %rdi
movq %rdi, -0x670(%rbp)
callq 0x3430
movq -0x670(%rbp), %rdx
leaq 0x7590(%rip), %rsi      # 0xb04b
leaq -0x2e8(%rbp), %rdi
callq 0x8ae0
jmp 0x3ac9
movq -0x678(%rbp), %rdi
leaq -0x2e8(%rbp), %rsi
callq 0x8c70
movq %rax, -0x688(%rbp)
jmp 0x3ae5
movq -0x688(%rbp), %rdi
callq 0x3100
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3320
movss 0x74ff(%rip), %xmm1     # 0xb004
mulss %xmm1, %xmm0
cvttss2si %xmm0, %eax
movl %eax, -0x69c(%rbp)
leaq -0x2e8(%rbp), %rdi
callq 0x3170
leaq -0x2e9(%rbp), %rdi
callq 0x32a0
movl -0x69c(%rbp), %eax
movl %eax, -0x2c8(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x698(%rbp)
leaq -0x311(%rbp), %rdi
movq %rdi, -0x690(%rbp)
callq 0x3430
movq -0x690(%rbp), %rdx
leaq 0x74fb(%rip), %rsi      # 0xb05e
leaq -0x310(%rbp), %rdi
callq 0x8ae0
jmp 0x3b71
movq -0x698(%rbp), %rdi
leaq -0x310(%rbp), %rsi
callq 0x8c70
movq %rax, -0x6a8(%rbp)
jmp 0x3b8d
movq -0x6a8(%rbp), %rdi
callq 0x3100
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3320
movss 0x7457(%rip), %xmm1     # 0xb004
mulss %xmm1, %xmm0
cvttss2si %xmm0, %eax
movl %eax, -0x6bc(%rbp)
leaq -0x310(%rbp), %rdi
callq 0x3170
leaq -0x311(%rbp), %rdi
callq 0x32a0
movl -0x6bc(%rbp), %eax
movl %eax, -0x2f0(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x6b8(%rbp)
leaq -0x339(%rbp), %rdi
movq %rdi, -0x6b0(%rbp)
callq 0x3430
movq -0x6b0(%rbp), %rdx
leaq 0x7460(%rip), %rsi      # 0xb06b
leaq -0x338(%rbp), %rdi
callq 0x8ae0
jmp 0x3c19
movq -0x6b8(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x8c70
movq %rax, -0x6c8(%rbp)
jmp 0x3c35
movq -0x6c8(%rbp), %rdi
callq 0x3100
movq %rax, %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x3340
movl %eax, -0x6dc(%rbp)
leaq -0x338(%rbp), %rdi
callq 0x3170
leaq -0x339(%rbp), %rdi
callq 0x32a0
movl -0x6dc(%rbp), %eax
movl %eax, -0x318(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x6d8(%rbp)
leaq -0x361(%rbp), %rdi
movq %rdi, -0x6d0(%rbp)
callq 0x3430
movq -0x6d0(%rbp), %rdx
leaq 0x73d4(%rip), %rsi      # 0xb077
leaq -0x360(%rbp), %rdi
callq 0x8ae0
jmp 0x3cb1
movq -0x6d8(%rbp), %rdi
leaq -0x360(%rbp), %rsi
callq 0x8c70
movq %rax, -0x6e8(%rbp)
jmp 0x3ccd
movq -0x6e8(%rbp), %rdi
callq 0x3100
movq %rax, %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x3340
movl %eax, -0x6fc(%rbp)
leaq -0x360(%rbp), %rdi
callq 0x3170
leaq -0x361(%rbp), %rdi
callq 0x32a0
movl -0x6fc(%rbp), %eax
movl %eax, -0x340(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x6f8(%rbp)
leaq -0x389(%rbp), %rdi
movq %rdi, -0x6f0(%rbp)
callq 0x3430
movq -0x6f0(%rbp), %rdx
leaq 0x7348(%rip), %rsi      # 0xb083
leaq -0x388(%rbp), %rdi
callq 0x8ae0
jmp 0x3d49
movq -0x6f8(%rbp), %rdi
leaq -0x388(%rbp), %rsi
callq 0x8c70
movq %rax, -0x708(%rbp)
jmp 0x3d65
movq -0x708(%rbp), %rdi
callq 0x3100
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3320
movss %xmm0, -0x71c(%rbp)
leaq -0x388(%rbp), %rdi
callq 0x3170
leaq -0x389(%rbp), %rdi
callq 0x32a0
movss -0x71c(%rbp), %xmm0
movss %xmm0, -0x368(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x718(%rbp)
leaq -0x3b1(%rbp), %rdi
movq %rdi, -0x710(%rbp)
callq 0x3430
movq -0x710(%rbp), %rdx
leaq 0x72b3(%rip), %rsi      # 0xb08c
leaq -0x3b0(%rbp), %rdi
callq 0x8ae0
jmp 0x3de7
movq -0x718(%rbp), %rdi
leaq -0x3b0(%rbp), %rsi
callq 0x8c70
movq %rax, -0x728(%rbp)
jmp 0x3e03
movq -0x728(%rbp), %rdi
callq 0x3100
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3320
movss %xmm0, -0x73c(%rbp)
leaq -0x3b0(%rbp), %rdi
callq 0x3170
leaq -0x3b1(%rbp), %rdi
callq 0x32a0
movss -0x73c(%rbp), %xmm0
movss %xmm0, -0x390(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x738(%rbp)
leaq -0x3d9(%rbp), %rdi
movq %rdi, -0x730(%rbp)
callq 0x3430
movq -0x730(%rbp), %rdx
leaq 0x721e(%rip), %rsi      # 0xb095
leaq -0x3d8(%rbp), %rdi
callq 0x8ae0
jmp 0x3e85
movq -0x738(%rbp), %rdi
leaq -0x3d8(%rbp), %rsi
callq 0x8c70
movq %rax, -0x748(%rbp)
jmp 0x3ea1
movq -0x748(%rbp), %rdi
callq 0x3100
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3320
movss %xmm0, -0x74c(%rbp)
leaq -0x3d8(%rbp), %rdi
callq 0x3170
leaq -0x3d9(%rbp), %rdi
callq 0x32a0
movss -0x74c(%rbp), %xmm0
movss %xmm0, -0x3b8(%rbp)
movq -0x8(%rbp), %rsi
leaq -0x210(%rbp), %rdi
movl $0x10, %edx
callq 0x3050
jmp 0x3f00
leaq 0x719a(%rip), %rsi      # 0xb0a1
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x758(%rbp)
jmp 0x3f1c
movq -0x758(%rbp), %rdi
movq 0xc09e(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x3f31
leaq 0x7191(%rip), %rsi      # 0xb0c9
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x760(%rbp)
jmp 0x3f4d
movq -0x760(%rbp), %rdi
cvtsi2ssl -0x318(%rbp), %xmm0
movss -0x368(%rbp), %xmm1
divss %xmm1, %xmm0
callq 0x31c0
movq %rax, -0x768(%rbp)
jmp 0x3f76
movq -0x768(%rbp), %rdi
leaq 0x7157(%rip), %rsi      # 0xb0db
callq 0x3240
movq %rax, -0x770(%rbp)
jmp 0x3f92
movq -0x770(%rbp), %rdi
movq 0xc028(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x3fa7
leaq 0x7135(%rip), %rsi      # 0xb0e3
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x778(%rbp)
jmp 0x3fc3
movq -0x778(%rbp), %rdi
cvtsi2ssl -0x340(%rbp), %xmm0
movss -0x390(%rbp), %xmm1
divss %xmm1, %xmm0
callq 0x31c0
movq %rax, -0x780(%rbp)
jmp 0x3fec
movq -0x780(%rbp), %rdi
leaq 0x70e1(%rip), %rsi      # 0xb0db
callq 0x3240
movq %rax, -0x788(%rbp)
jmp 0x4008
movq -0x788(%rbp), %rdi
movq 0xbfb2(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x401d
leaq 0x70d1(%rip), %rsi      # 0xb0f5
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x790(%rbp)
jmp 0x4039
movq -0x790(%rbp), %rdi
movl -0x318(%rbp), %esi
callq 0x3410
movq %rax, -0x798(%rbp)
jmp 0x4054
movq -0x798(%rbp), %rdi
leaq 0x8005(%rip), %rsi      # 0xc067
callq 0x3240
movq %rax, -0x7a0(%rbp)
jmp 0x4070
movq -0x7a0(%rbp), %rdi
movq 0xbf4a(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4085
leaq 0x707b(%rip), %rsi      # 0xb107
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x7a8(%rbp)
jmp 0x40a1
movq -0x7a8(%rbp), %rdi
movl -0x340(%rbp), %esi
callq 0x3410
movq %rax, -0x7b0(%rbp)
jmp 0x40bc
movq -0x7b0(%rbp), %rdi
leaq 0x7f9d(%rip), %rsi      # 0xc067
callq 0x3240
movq %rax, -0x7b8(%rbp)
jmp 0x40d8
movq -0x7b8(%rbp), %rdi
movq 0xbee2(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x40ed
leaq 0x7025(%rip), %rsi      # 0xb119
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x7c0(%rbp)
jmp 0x4109
movq -0x7c0(%rbp), %rdi
movss -0x3b8(%rbp), %xmm0
callq 0x31c0
movq %rax, -0x7c8(%rbp)
jmp 0x4126
movq -0x7c8(%rbp), %rdi
leaq 0x6ffa(%rip), %rsi      # 0xb12e
callq 0x3240
movq %rax, -0x7d0(%rbp)
jmp 0x4142
movq -0x7d0(%rbp), %rdi
movq 0xbe78(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4157
leaq 0x6fd5(%rip), %rsi      # 0xb133
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x7d8(%rbp)
jmp 0x4173
movq -0x7d8(%rbp), %rdi
movq 0xbe47(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4188
leaq 0x6fbc(%rip), %rsi      # 0xb14b
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x7e0(%rbp)
jmp 0x41a4
movq -0x7e0(%rbp), %rdi
movl -0x2a0(%rbp), %esi
callq 0x3410
movq %rax, -0x7e8(%rbp)
jmp 0x41bf
movq -0x7e8(%rbp), %rdi
leaq 0x6f79(%rip), %rsi      # 0xb146
callq 0x3240
movq %rax, -0x7f0(%rbp)
jmp 0x41db
movq -0x7f0(%rbp), %rdi
movq 0xbddf(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x41f0
leaq 0x6f6c(%rip), %rsi      # 0xb163
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x7f8(%rbp)
jmp 0x420c
movq -0x10(%rbp), %rax
movq %rax, -0x808(%rbp)
leaq -0x401(%rbp), %rdi
movq %rdi, -0x800(%rbp)
callq 0x3430
movq -0x800(%rbp), %rdx
leaq 0x6ddb(%rip), %rsi      # 0xb013
leaq -0x400(%rbp), %rdi
callq 0x8ae0
jmp 0x4246
movq -0x808(%rbp), %rdi
leaq -0x400(%rbp), %rsi
callq 0x8c70
movq %rax, -0x810(%rbp)
jmp 0x4262
movq -0x810(%rbp), %rsi
movq -0x7f8(%rbp), %rdi
callq 0x3220
movq %rax, -0x818(%rbp)
jmp 0x427e
movq -0x818(%rbp), %rdi
leaq 0x7ddb(%rip), %rsi      # 0xc067
callq 0x3240
movq %rax, -0x820(%rbp)
jmp 0x429a
movq -0x820(%rbp), %rdi
movq 0xbd20(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x42af
leaq -0x400(%rbp), %rdi
callq 0x3170
leaq -0x401(%rbp), %rdi
callq 0x32a0
leaq 0x6eb2(%rip), %rsi      # 0xb180
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x828(%rbp)
jmp 0x42e3
movq -0x10(%rbp), %rax
movq %rax, -0x838(%rbp)
leaq -0x429(%rbp), %rdi
movq %rdi, -0x830(%rbp)
callq 0x3430
movq -0x830(%rbp), %rdx
leaq 0x6d13(%rip), %rsi      # 0xb022
leaq -0x428(%rbp), %rdi
callq 0x8ae0
jmp 0x431d
movq -0x838(%rbp), %rdi
leaq -0x428(%rbp), %rsi
callq 0x8c70
movq %rax, -0x840(%rbp)
jmp 0x4339
movq -0x840(%rbp), %rdi
callq 0x3100
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3320
movq -0x828(%rbp), %rdi
movss 0x6ca4(%rip), %xmm1     # 0xb004
mulss %xmm1, %xmm0
cvttss2si %xmm0, %esi
callq 0x3410
movq %rax, -0x848(%rbp)
jmp 0x4376
movq -0x848(%rbp), %rdi
leaq 0x6dc2(%rip), %rsi      # 0xb146
callq 0x3240
movq %rax, -0x850(%rbp)
jmp 0x4392
movq -0x850(%rbp), %rdi
movq 0xbc28(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x43a7
leaq -0x428(%rbp), %rdi
callq 0x3170
leaq -0x429(%rbp), %rdi
callq 0x32a0
leaq 0x6dd3(%rip), %rsi      # 0xb199
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x858(%rbp)
jmp 0x43db
movq -0x858(%rbp), %rdi
movq 0xbbdf(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x43f0
leaq 0x6dc1(%rip), %rsi      # 0xb1b8
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x860(%rbp)
jmp 0x440c
movq -0x10(%rbp), %rax
movq %rax, -0x870(%rbp)
leaq -0x451(%rbp), %rdi
movq %rdi, -0x868(%rbp)
callq 0x3430
movq -0x868(%rbp), %rdx
leaq 0x6d93(%rip), %rsi      # 0xb1cb
leaq -0x450(%rbp), %rdi
callq 0x8ae0
jmp 0x4446
movq -0x870(%rbp), %rdi
leaq -0x450(%rbp), %rsi
callq 0x8c70
movq %rax, -0x878(%rbp)
jmp 0x4462
movq -0x878(%rbp), %rsi
movq -0x860(%rbp), %rdi
callq 0x3220
movq %rax, -0x880(%rbp)
jmp 0x447e
movq -0x880(%rbp), %rdi
leaq 0x6ca2(%rip), %rsi      # 0xb12e
callq 0x3240
movq %rax, -0x888(%rbp)
jmp 0x449a
movq -0x888(%rbp), %rdi
movq 0xbb20(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x44af
leaq -0x450(%rbp), %rdi
callq 0x3170
leaq -0x451(%rbp), %rdi
callq 0x32a0
leaq 0x6d13(%rip), %rsi      # 0xb1e1
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x890(%rbp)
jmp 0x44e3
movq -0x890(%rbp), %rdi
movq 0xbad7(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x44f8
leaq 0x6cfa(%rip), %rsi      # 0xb1f9
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x898(%rbp)
jmp 0x4514
movq -0x898(%rbp), %rdi
movq 0xbaa6(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4529
leaq 0x6ce1(%rip), %rsi      # 0xb211
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x8a0(%rbp)
jmp 0x4545
movq -0x8a0(%rbp), %rdi
movq 0xba75(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x455a
leaq 0x6cd2(%rip), %rsi      # 0xb233
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x8a8(%rbp)
jmp 0x4576
movq -0x8a8(%rbp), %rdi
movq 0xba44(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x458b
leaq 0x6cbc(%rip), %rsi      # 0xb24e
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x8b0(%rbp)
jmp 0x45a7
movq -0x8b0(%rbp), %rdi
movq 0xba13(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x45bc
leaq 0x6caf(%rip), %rsi      # 0xb272
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x8b8(%rbp)
jmp 0x45d8
movq -0x8b8(%rbp), %rdi
movq 0xb9e2(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x45ed
leaq 0x6ca6(%rip), %rsi      # 0xb29a
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x8c0(%rbp)
jmp 0x4609
movq -0x10(%rbp), %rax
movq %rax, -0x8d0(%rbp)
leaq -0x479(%rbp), %rdi
movq %rdi, -0x8c8(%rbp)
callq 0x3430
movq -0x8c8(%rbp), %rdx
leaq 0x6c71(%rip), %rsi      # 0xb2a6
leaq -0x478(%rbp), %rdi
callq 0x8ae0
jmp 0x4643
movq -0x8d0(%rbp), %rdi
leaq -0x478(%rbp), %rsi
callq 0x8c70
movq %rax, -0x8d8(%rbp)
jmp 0x465f
movq -0x8d8(%rbp), %rdi
leaq 0x6c40(%rip), %rsi      # 0xb2ad
callq 0x8d10
movb %al, -0x8d9(%rbp)
jmp 0x467a
movq -0x8c0(%rbp), %rdi
movb -0x8d9(%rbp), %cl
leaq 0x6c21(%rip), %rax      # 0xb2af
leaq 0x6c1f(%rip), %rsi      # 0xb2b4
testb $0x1, %cl
cmovneq %rax, %rsi
callq 0x3240
movq %rax, -0x8e8(%rbp)
jmp 0x46aa
movq -0x8e8(%rbp), %rdi
leaq 0x79af(%rip), %rsi      # 0xc067
callq 0x3240
movq %rax, -0x8f0(%rbp)
jmp 0x46c6
movq -0x8f0(%rbp), %rdi
movq 0xb8f4(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x46db
leaq -0x478(%rbp), %rdi
callq 0x3170
leaq -0x479(%rbp), %rdi
callq 0x32a0
leaq 0x6bc0(%rip), %rsi      # 0xb2ba
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x8f8(%rbp)
jmp 0x470f
movq -0x8f8(%rbp), %rdi
movq 0xb8ab(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4724
leaq 0x6ba1(%rip), %rsi      # 0xb2cc
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x900(%rbp)
jmp 0x4740
movq -0x10(%rbp), %rax
movq %rax, -0x910(%rbp)
leaq -0x4a1(%rbp), %rdi
movq %rdi, -0x908(%rbp)
callq 0x3430
movq -0x908(%rbp), %rdx
leaq 0x689c(%rip), %rsi      # 0xb008
leaq -0x4a0(%rbp), %rdi
callq 0x8ae0
jmp 0x477a
movq -0x910(%rbp), %rdi
leaq -0x4a0(%rbp), %rsi
callq 0x8c70
movq %rax, -0x918(%rbp)
jmp 0x4796
movq -0x918(%rbp), %rsi
movq -0x900(%rbp), %rdi
callq 0x3220
movq %rax, -0x920(%rbp)
jmp 0x47b2
movq -0x920(%rbp), %rdi
movq 0xb808(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x47c7
leaq -0x4a0(%rbp), %rdi
callq 0x3170
leaq -0x4a1(%rbp), %rdi
callq 0x32a0
leaq 0x6afb(%rip), %rsi      # 0xb2e1
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x928(%rbp)
jmp 0x47fb
movq -0x928(%rbp), %rdi
movq 0xb7bf(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4810
leaq 0x6aee(%rip), %rsi      # 0xb305
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x930(%rbp)
jmp 0x482c
movq -0x10(%rbp), %rax
movq %rax, -0x940(%rbp)
leaq -0x4c9(%rbp), %rdi
movq %rdi, -0x938(%rbp)
callq 0x3430
movq -0x938(%rbp), %rdx
leaq 0x682b(%rip), %rsi      # 0xb083
leaq -0x4c8(%rbp), %rdi
callq 0x8ae0
jmp 0x4866
movq -0x940(%rbp), %rdi
leaq -0x4c8(%rbp), %rsi
callq 0x8c70
movq %rax, -0x948(%rbp)
jmp 0x4882
movq -0x948(%rbp), %rsi
movq -0x930(%rbp), %rdi
callq 0x3220
movq %rax, -0x950(%rbp)
jmp 0x489e
movq -0x950(%rbp), %rdi
leaq 0x6883(%rip), %rsi      # 0xb12f
callq 0x3240
movq %rax, -0x958(%rbp)
jmp 0x48ba
movq -0x958(%rbp), %rdi
movq 0xb700(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x48cf
leaq -0x4c8(%rbp), %rdi
callq 0x3170
leaq -0x4c9(%rbp), %rdi
callq 0x32a0
leaq 0x6a2c(%rip), %rsi      # 0xb31a
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x960(%rbp)
jmp 0x4903
movq -0x10(%rbp), %rax
movq %rax, -0x970(%rbp)
leaq -0x4f1(%rbp), %rdi
movq %rdi, -0x968(%rbp)
callq 0x3430
movq -0x968(%rbp), %rdx
leaq 0x675d(%rip), %rsi      # 0xb08c
leaq -0x4f0(%rbp), %rdi
callq 0x8ae0
jmp 0x493d
movq -0x970(%rbp), %rdi
leaq -0x4f0(%rbp), %rsi
callq 0x8c70
movq %rax, -0x978(%rbp)
jmp 0x4959
movq -0x978(%rbp), %rsi
movq -0x960(%rbp), %rdi
callq 0x3220
movq %rax, -0x980(%rbp)
jmp 0x4975
movq -0x980(%rbp), %rdi
leaq 0x67ac(%rip), %rsi      # 0xb12f
callq 0x3240
movq %rax, -0x988(%rbp)
jmp 0x4991
movq -0x988(%rbp), %rdi
movq 0xb629(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x49a6
leaq -0x4f0(%rbp), %rdi
callq 0x3170
leaq -0x4f1(%rbp), %rdi
callq 0x32a0
leaq 0x696a(%rip), %rsi      # 0xb32f
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x990(%rbp)
jmp 0x49da
movq -0x10(%rbp), %rax
movq %rax, -0x9a0(%rbp)
leaq -0x519(%rbp), %rdi
movq %rdi, -0x998(%rbp)
callq 0x3430
movq -0x998(%rbp), %rdx
leaq 0x693e(%rip), %rsi      # 0xb344
leaq -0x518(%rbp), %rdi
callq 0x8ae0
jmp 0x4a14
movq -0x9a0(%rbp), %rdi
leaq -0x518(%rbp), %rsi
callq 0x8c70
movq %rax, -0x9a8(%rbp)
jmp 0x4a30
movq -0x9a8(%rbp), %rsi
movq -0x990(%rbp), %rdi
callq 0x3220
movq %rax, -0x9b0(%rbp)
jmp 0x4a4c
movq -0x9b0(%rbp), %rdi
leaq 0x66d5(%rip), %rsi      # 0xb12f
callq 0x3240
movq %rax, -0x9b8(%rbp)
jmp 0x4a68
movq -0x9b8(%rbp), %rdi
movq 0xb552(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4a7d
leaq -0x518(%rbp), %rdi
callq 0x3170
leaq -0x519(%rbp), %rdi
callq 0x32a0
leaq 0x68b1(%rip), %rsi      # 0xb34d
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x9c0(%rbp)
jmp 0x4ab1
movq -0x9c0(%rbp), %rdi
movq 0xb509(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4ac6
leaq 0x689c(%rip), %rsi      # 0xb369
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x9c8(%rbp)
jmp 0x4ae2
movq -0x9c8(%rbp), %rdi
movq 0xb4d8(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4af7
leaq 0x6887(%rip), %rsi      # 0xb385
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x9d0(%rbp)
jmp 0x4b13
movq -0x9d0(%rbp), %rdi
movq 0xb4a7(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4b28
leaq 0x6872(%rip), %rsi      # 0xb3a1
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x9d8(%rbp)
jmp 0x4b44
movq -0x9d8(%rbp), %rdi
movq 0xb476(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4b59
leaq 0x6fec(%rip), %rsi      # 0xbb4c
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x9e0(%rbp)
jmp 0x4b75
movq -0x9e0(%rbp), %rdi
movq 0xb445(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4b8a
leaq 0x6829(%rip), %rsi      # 0xb3ba
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x9e8(%rbp)
jmp 0x4ba6
movq -0x9e8(%rbp), %rdi
movq 0xb414(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4bbb
leaq 0x684f(%rip), %rsi      # 0xb411
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x9f0(%rbp)
jmp 0x4bd7
movq -0x9f0(%rbp), %rdi
movq 0xb3e3(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4bec
leaq 0x6836(%rip), %rsi      # 0xb429
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0x9f8(%rbp)
jmp 0x4c08
movq -0x9f8(%rbp), %rdi
movq 0xb3b2(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4c1d
leaq 0x681f(%rip), %rsi      # 0xb443
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xa00(%rbp)
jmp 0x4c39
movq -0xa00(%rbp), %rdi
movq 0xb381(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4c4e
leaq 0x6801(%rip), %rsi      # 0xb456
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xa08(%rbp)
jmp 0x4c6a
movq -0xa08(%rbp), %rdi
movq 0xb350(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4c7f
leaq 0x689b(%rip), %rsi      # 0xb521
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xa10(%rbp)
jmp 0x4c9b
movq -0xa10(%rbp), %rdi
movq 0xb31f(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4cb0
leaq 0x67a6(%rip), %rsi      # 0xb45d
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xa18(%rbp)
jmp 0x4ccc
movq -0xa18(%rbp), %rdi
movq 0xb2ee(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4ce1
movq -0x10(%rbp), %rax
movq %rax, -0xa28(%rbp)
leaq -0x541(%rbp), %rdi
movq %rdi, -0xa20(%rbp)
callq 0x3430
movq -0xa20(%rbp), %rdx
leaq 0x64be(%rip), %rsi      # 0xb1cb
leaq -0x540(%rbp), %rdi
callq 0x8ae0
jmp 0x4d1b
movq -0xa28(%rbp), %rdi
leaq -0x540(%rbp), %rsi
callq 0x8c70
movq %rax, -0xa30(%rbp)
jmp 0x4d37
movq -0xa30(%rbp), %rdi
callq 0x3100
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3320
movss %xmm0, -0xa34(%rbp)
leaq -0x540(%rbp), %rdi
callq 0x3170
leaq -0x541(%rbp), %rdi
callq 0x32a0
movss -0xa34(%rbp), %xmm0
movss %xmm0, -0x520(%rbp)
movss -0x520(%rbp), %xmm0
subss -0x3b8(%rbp), %xmm0
movss %xmm0, -0x548(%rbp)
movl $0x0, -0x54c(%rbp)
movl -0x54c(%rbp), %eax
cmpl -0x214(%rbp), %eax
jge 0x5a41
leaq 0x66c6(%rip), %rsi      # 0xb480
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xa40(%rbp)
jmp 0x4dcf
movq -0xa40(%rbp), %rdi
movq 0xb1eb(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4de4
leaq 0x669f(%rip), %rsi      # 0xb48a
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xa48(%rbp)
jmp 0x4e00
movq -0xa48(%rbp), %rdi
movq 0xb1ba(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4e15
leaq 0x6695(%rip), %rsi      # 0xb4b1
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xa50(%rbp)
jmp 0x4e31
movq -0xa50(%rbp), %rdi
movq 0xb189(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4e46
leaq 0x6698(%rip), %rsi      # 0xb4e5
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xa58(%rbp)
jmp 0x4e62
movq -0xa58(%rbp), %rdi
movq 0xb158(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4e77
leaq 0x668e(%rip), %rsi      # 0xb50c
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xa60(%rbp)
jmp 0x4e93
movq -0xa60(%rbp), %rdi
movl -0x54c(%rbp), %esi
callq 0x3410
movq %rax, -0xa68(%rbp)
jmp 0x4eae
movq -0xa68(%rbp), %rdi
movq 0xb10c(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4ec3
leaq 0x664c(%rip), %rsi      # 0xb516
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xa70(%rbp)
jmp 0x4edf
movl -0x54c(%rbp), %eax
cmpl -0x250(%rbp), %eax
jge 0x4efb
movl -0x2a0(%rbp), %eax
movl %eax, -0xa74(%rbp)
jmp 0x4f07
movl -0x278(%rbp), %eax
movl %eax, -0xa74(%rbp)
movq -0xa70(%rbp), %rdi
movl -0xa74(%rbp), %esi
callq 0x3410
movq %rax, -0xa80(%rbp)
jmp 0x4f22
movq -0xa80(%rbp), %rdi
movq 0xb098(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4f37
leaq 0x65e2(%rip), %rsi      # 0xb520
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xa88(%rbp)
jmp 0x4f53
movq -0xa88(%rbp), %rdi
movq 0xb067(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4f68
leaq 0x6d28(%rip), %rsi      # 0xbc97
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xa90(%rbp)
jmp 0x4f84
movq -0xa90(%rbp), %rdi
movq 0xb036(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4f99
leaq 0x658f(%rip), %rsi      # 0xb52f
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xa98(%rbp)
jmp 0x4fb5
movq -0xa98(%rbp), %rdi
movq 0xb005(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x4fca
leaq 0x6582(%rip), %rsi      # 0xb553
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xaa0(%rbp)
jmp 0x4fe6
movq -0x10(%rbp), %rax
movq %rax, -0xab0(%rbp)
leaq -0x571(%rbp), %rdi
movq %rdi, -0xaa8(%rbp)
callq 0x3430
movq -0xaa8(%rbp), %rdx
leaq 0x61b9(%rip), %rsi      # 0xb1cb
leaq -0x570(%rbp), %rdi
callq 0x8ae0
jmp 0x5020
movq -0xab0(%rbp), %rdi
leaq -0x570(%rbp), %rsi
callq 0x8c70
movq %rax, -0xab8(%rbp)
jmp 0x503c
movq -0xab8(%rbp), %rsi
movq -0xaa0(%rbp), %rdi
callq 0x3220
movq %rax, -0xac0(%rbp)
jmp 0x5058
movq -0xac0(%rbp), %rdi
leaq 0x64f2(%rip), %rsi      # 0xb558
callq 0x3240
movq %rax, -0xac8(%rbp)
jmp 0x5074
movl -0x54c(%rbp), %eax
movl -0x250(%rbp), %ecx
movb $0x0, -0x59a(%rbp)
movb $0x0, -0x59b(%rbp)
movb $0x0, -0x5c2(%rbp)
movb $0x0, -0x5c3(%rbp)
cmpl %ecx, %eax
jge 0x5114
movq -0x10(%rbp), %rax
movq %rax, -0xad8(%rbp)
leaq -0x599(%rbp), %rdi
movq %rdi, -0xad0(%rbp)
callq 0x3430
movq -0xad0(%rbp), %rdx
movb $0x1, -0x59a(%rbp)
leaq 0x6488(%rip), %rsi      # 0xb55b
leaq -0x598(%rbp), %rdi
callq 0x8ae0
jmp 0x50e1
movq -0xad8(%rbp), %rdi
movb $0x1, -0x59b(%rbp)
leaq -0x598(%rbp), %rsi
callq 0x8c70
movq %rax, -0xae0(%rbp)
jmp 0x5104
movq -0xae0(%rbp), %rax
movq %rax, -0xae8(%rbp)
jmp 0x5188
movq -0x10(%rbp), %rax
movq %rax, -0xaf8(%rbp)
leaq -0x5c1(%rbp), %rdi
movq %rdi, -0xaf0(%rbp)
callq 0x3430
movq -0xaf0(%rbp), %rdx
movb $0x1, -0x5c2(%rbp)
leaq 0x6429(%rip), %rsi      # 0xb570
leaq -0x5c0(%rbp), %rdi
callq 0x8ae0
jmp 0x5155
movq -0xaf8(%rbp), %rdi
movb $0x1, -0x5c3(%rbp)
leaq -0x5c0(%rbp), %rsi
callq 0x8c70
movq %rax, -0xb00(%rbp)
jmp 0x5178
movq -0xb00(%rbp), %rax
movq %rax, -0xae8(%rbp)
jmp 0x5188
movq -0xac8(%rbp), %rdi
movq -0xae8(%rbp), %rsi
callq 0x3220
movq %rax, -0xb08(%rbp)
jmp 0x51a4
movq -0xb08(%rbp), %rdi
movq 0xae16(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x51b9
testb $0x1, -0x5c3(%rbp)
jne 0x51c4
jmp 0x51d0
leaq -0x5c0(%rbp), %rdi
callq 0x3170
testb $0x1, -0x5c2(%rbp)
jne 0x51db
jmp 0x51e7
leaq -0x5c1(%rbp), %rdi
callq 0x32a0
testb $0x1, -0x59b(%rbp)
jne 0x51f2
jmp 0x51fe
leaq -0x598(%rbp), %rdi
callq 0x3170
testb $0x1, -0x59a(%rbp)
jne 0x5209
jmp 0x5215
leaq -0x599(%rbp), %rdi
callq 0x32a0
leaq -0x570(%rbp), %rdi
callq 0x3170
leaq -0x571(%rbp), %rdi
callq 0x32a0
leaq 0x6351(%rip), %rsi      # 0xb585
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xb10(%rbp)
jmp 0x5249
movq -0xb10(%rbp), %rdi
movss -0x548(%rbp), %xmm0
callq 0x31c0
movq %rax, -0xb18(%rbp)
jmp 0x5266
movq -0xb18(%rbp), %rdi
leaq 0x62e4(%rip), %rsi      # 0xb558
callq 0x3240
movq %rax, -0xb20(%rbp)
jmp 0x5282
movq -0x10(%rbp), %rax
movq %rax, -0xb30(%rbp)
leaq -0x5e9(%rbp), %rdi
movq %rdi, -0xb28(%rbp)
callq 0x3430
movq -0xb28(%rbp), %rdx
leaq 0x62dd(%rip), %rsi      # 0xb58b
leaq -0x5e8(%rbp), %rdi
callq 0x8ae0
jmp 0x52bc
movq -0xb30(%rbp), %rdi
leaq -0x5e8(%rbp), %rsi
callq 0x8c70
movq %rax, -0xb38(%rbp)
jmp 0x52d8
movq -0xb38(%rbp), %rsi
movq -0xb20(%rbp), %rdi
callq 0x3220
movq %rax, -0xb40(%rbp)
jmp 0x52f4
movq -0xb40(%rbp), %rdi
movq 0xacc6(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x5309
leaq -0x5e8(%rbp), %rdi
callq 0x3170
leaq -0x5e9(%rbp), %rdi
callq 0x32a0
leaq 0x61ee(%rip), %rsi      # 0xb516
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xb48(%rbp)
jmp 0x533d
movl -0x54c(%rbp), %eax
cmpl -0x250(%rbp), %eax
jge 0x5359
movl -0x2c8(%rbp), %eax
movl %eax, -0xb4c(%rbp)
jmp 0x5365
movl -0x2f0(%rbp), %eax
movl %eax, -0xb4c(%rbp)
movq -0xb48(%rbp), %rdi
movl -0xb4c(%rbp), %esi
callq 0x3410
movq %rax, -0xb58(%rbp)
jmp 0x5380
movq -0xb58(%rbp), %rdi
movq 0xac3a(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x5395
jmp 0x5397
movl -0x54c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x54c(%rbp)
jmp 0x4da1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x53dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x3170
leaq -0x239(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x5420
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x3170
leaq -0x271(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x5463
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x3170
leaq -0x299(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x54a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x2c0(%rbp), %rdi
callq 0x3170
leaq -0x2c1(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x54e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x2e8(%rbp), %rdi
callq 0x3170
leaq -0x2e9(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x552c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x310(%rbp), %rdi
callq 0x3170
leaq -0x311(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x556f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x338(%rbp), %rdi
callq 0x3170
leaq -0x339(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x55b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x360(%rbp), %rdi
callq 0x3170
leaq -0x361(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x55f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x388(%rbp), %rdi
callq 0x3170
leaq -0x389(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x5638
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x3b0(%rbp), %rdi
callq 0x3170
leaq -0x3b1(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x567b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x3d8(%rbp), %rdi
callq 0x3170
leaq -0x3d9(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x56d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x400(%rbp), %rdi
callq 0x3170
leaq -0x401(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x5718
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x428(%rbp), %rdi
callq 0x3170
leaq -0x429(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x575b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x450(%rbp), %rdi
callq 0x3170
leaq -0x451(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x579e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x478(%rbp), %rdi
callq 0x3170
leaq -0x479(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x57e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x4a0(%rbp), %rdi
callq 0x3170
leaq -0x4a1(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x5824
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x4c8(%rbp), %rdi
callq 0x3170
leaq -0x4c9(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x5867
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x4f0(%rbp), %rdi
callq 0x3170
leaq -0x4f1(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x58aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x518(%rbp), %rdi
callq 0x3170
leaq -0x519(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x58ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x540(%rbp), %rdi
callq 0x3170
leaq -0x541(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x59ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x59e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x59c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x59af
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x5996
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
testb $0x1, -0x5c3(%rbp)
jne 0x5988
jmp 0x5994
leaq -0x5c0(%rbp), %rdi
callq 0x3170
jmp 0x5996
testb $0x1, -0x5c2(%rbp)
jne 0x59a1
jmp 0x59ad
leaq -0x5c1(%rbp), %rdi
callq 0x32a0
jmp 0x59af
testb $0x1, -0x59b(%rbp)
jne 0x59ba
jmp 0x59c6
leaq -0x598(%rbp), %rdi
callq 0x3170
jmp 0x59c8
testb $0x1, -0x59a(%rbp)
jne 0x59d3
jmp 0x59df
leaq -0x599(%rbp), %rdi
callq 0x32a0
jmp 0x59e1
leaq -0x570(%rbp), %rdi
callq 0x3170
leaq -0x571(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x5a30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x5e8(%rbp), %rdi
callq 0x3170
leaq -0x5e9(%rbp), %rdi
callq 0x32a0
jmp 0x5bbb
leaq 0x6158(%rip), %rsi      # 0xbba0
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xb60(%rbp)
jmp 0x5a5d
movq -0xb60(%rbp), %rdi
movq 0xa55d(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x5a72
leaq 0x5b22(%rip), %rsi      # 0xb59b
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xb68(%rbp)
jmp 0x5a8e
movq -0xb68(%rbp), %rdi
movq 0xa52c(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x5aa3
leaq 0x5b4f(%rip), %rsi      # 0xb5f9
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xb70(%rbp)
jmp 0x5abf
movq -0xb70(%rbp), %rdi
movq 0xa4fb(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x5ad4
leaq 0x5b32(%rip), %rsi      # 0xb60d
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xb78(%rbp)
jmp 0x5af0
movq -0xb78(%rbp), %rdi
movq 0xa4ca(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x5b05
leaq 0x5b09(%rip), %rsi      # 0xb615
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xb80(%rbp)
jmp 0x5b21
movq -0xb80(%rbp), %rdi
movq 0xa499(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x5b36
leaq 0x5adf(%rip), %rsi      # 0xb61c
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xb88(%rbp)
jmp 0x5b52
movq -0xb88(%rbp), %rdi
movq 0xa468(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x5b67
leaq 0x5abb(%rip), %rsi      # 0xb629
leaq -0x210(%rbp), %rdi
callq 0x3240
movq %rax, -0xb90(%rbp)
jmp 0x5b83
movq -0xb90(%rbp), %rdi
movq 0xa437(%rip), %rsi      # 0xffc8
callq 0x3280
jmp 0x5b98
leaq -0x210(%rbp), %rdi
callq 0x3350
jmp 0x5ba6
leaq -0x210(%rbp), %rdi
callq 0x3380
addq $0xb90, %rsp            # imm = 0xB90
popq %rbp
retq
leaq -0x210(%rbp), %rdi
callq 0x3380
movq -0x248(%rbp), %rdi
callq 0x3420
nopw %cs:(%rax,%rax)