// File: /workspace/github_c_makefile_star2_O2/enzo1982[P]smooth/classes/gui/dialogs/colordlg.cpp
// Function: smooth::GUI::Dialogs::ColorSelection::ColorSelection()
S::GUI::Dialogs::ColorSelection::ColorSelection()
{
	for (Int y = 0; y < 256; y++)
	{
		for (Int x = 0; x < 256; x++)
		{
			colortable[x][y] = Color(x, y, 255, Color::HSV).ConvertTo(Color::RGB);
		}
	}

	color = 0;

	forcehupdate	= False;
	forcevsupdate	= False;
	preventhupdate	= False;
	preventvsupdate	= False;
	updatetext	= True;
	updatehextext	= True;

	acthue	 = color.ConvertTo(Color::HSV).GetRed();
	actsat	 = color.ConvertTo(Color::HSV).GetGreen();
	actval	 = color.ConvertTo(Color::HSV).GetBlue();
	actred	 = color.GetRed();
	actgreen = color.GetGreen();
	actblue	 = color.GetBlue();

	dlgwnd		= new Window(I18n::Translator::defaultTranslator->TranslateString("Color selection"), Point(100, 100), Size(438, 288));

	titlebar	= new Titlebar(TB_CLOSEBUTTON);
	divbar		= new Divider(39, OR_HORZ | OR_BOTTOM);

	okbtn		= new Button(I18n::Translator::defaultTranslator->TranslateString("OK"), Point(87, 29), Size());
	okbtn->onAction.Connect(&ColorSelection::OnOK, this);
	okbtn->SetOrientation(OR_LOWERRIGHT);

	cancelbtn	= new Button(I18n::Translator::defaultTranslator->TranslateString("Cancel"), Point(175, 29), Size());
	cancelbtn->onAction.Connect(&ColorSelection::OnCancel, this);
	cancelbtn->SetOrientation(OR_LOWERRIGHT);

	ncarea		= new ActiveArea(Color(), Point(238, 3), Size(91, 23));
	ocarea		= new ActiveArea(Color(), Point(334, 3), Size(91, 23));
	ocarea->onAction.Connect(&ColorSelection::OnSelectOriginalColor, this);

	hueslider	= new Slider(Point(174, 35), Size(129, 0), OR_HORZ, &acthue, 0, 255);
	hueslider->onValueChange.Connect(&ColorSelection::ColorDlgHueSlider, this);
	hueslider->SetOrientation(OR_UPPERRIGHT);

	satslider	= new Slider(Point(174, hueslider->GetY() + 26), Size(129, 0), OR_HORZ, &actsat, 0, 255);
	satslider->onValueChange.Connect(&ColorSelection::ColorDlgSatSlider, this);
	satslider->SetOrientation(OR_UPPERRIGHT);

	valslider	= new Slider(Point(174, satslider->GetY() + 26), Size(129, 0), OR_HORZ, &actval, 0, 255);
	valslider->onValueChange.Connect(&ColorSelection::ColorDlgValSlider, this);
	valslider->SetOrientation(OR_UPPERRIGHT);

	redslider	= new Slider(Point(174, valslider->GetY() + 26), Size(129, 0), OR_HORZ, &actred, 0, 255);
	redslider->onValueChange.Connect(&ColorSelection::ColorDlgRedSlider, this);
	redslider->SetOrientation(OR_UPPERRIGHT);

	greenslider	= new Slider(Point(174, redslider->GetY() + 26), Size(129, 0), OR_HORZ, &actgreen, 0, 255);
	greenslider->onValueChange.Connect(&ColorSelection::ColorDlgGreenSlider, this);
	greenslider->SetOrientation(OR_UPPERRIGHT);

	blueslider	= new Slider(Point(174, greenslider->GetY() + 26), Size(129, 0), OR_HORZ, &actblue, 0, 255);
	blueslider->onValueChange.Connect(&ColorSelection::ColorDlgBlueSlider, this);
	blueslider->SetOrientation(OR_UPPERRIGHT);

	huetext		= new Text(I18n::Translator::defaultTranslator->TranslateString("H"), Point(189, 37));
	huetext->SetOrientation(OR_UPPERRIGHT);
	huetext->SetFont(Font(Font::Default, Font::DefaultSize, Font::Normal, Font::Normal, Setup::TextColor));

	sattext		= new Text(I18n::Translator::defaultTranslator->TranslateString("S"), Point(189, huetext->GetY() + 26));
	sattext->SetOrientation(OR_UPPERRIGHT);
	sattext->SetFont(Font(Font::Default, Font::DefaultSize, Font::Normal, Font::Normal, Setup::TextColor));

	valtext		= new Text(I18n::Translator::defaultTranslator->TranslateString("V"), Point(189, sattext->GetY() + 26));
	valtext->SetOrientation(OR_UPPERRIGHT);
	valtext->SetFont(Font(Font::Default, Font::DefaultSize, Font::Normal, Font::Normal, Setup::TextColor));

	redtext		= new Text(I18n::Translator::defaultTranslator->TranslateString("R"), Point(189, valtext->GetY() + 26));
	redtext->SetOrientation(OR_UPPERRIGHT);
	redtext->SetFont(Font(Font::Default, Font::DefaultSize, Font::Normal, Font::Normal, Color(255, 0, 0)));

	greentext	= new Text(I18n::Translator::defaultTranslator->TranslateString("G"), Point(189, redtext->GetY() + 26));
	greentext->SetOrientation(OR_UPPERRIGHT);
	greentext->SetFont(Font(Font::Default, Font::DefaultSize, Font::Normal, Font::Normal, Color(0, 160, 0)));

	bluetext	= new Text(I18n::Translator::defaultTranslator->TranslateString("B"), Point(189, greentext->GetY() + 26));
	bluetext->SetOrientation(OR_UPPERRIGHT);
	bluetext->SetFont(Font(Font::Default, Font::DefaultSize, Font::Normal, Font::Normal, Color(0, 0, 255)));

	hextext		= new Text(I18n::Translator::defaultTranslator->TranslateString("HTML code"), Point(189, bluetext->GetY() + 26));
	hextext->SetOrientation(OR_UPPERRIGHT);
	hextext->SetFont(Font(Font::Default, Font::DefaultSize, Font::Normal, Font::Normal, Setup::TextColor));

	hueedit		= new EditBox(String::FromInt(acthue), Point(37, 34), Size(30, 0), 3);
	hueedit->onInput.Connect(&ColorSelection::ColorDlgHueEdit, this);
	hueedit->SetFlags(EDB_NUMERIC);
	hueedit->SetOrientation(OR_UPPERRIGHT);

	satedit		= new EditBox(String::FromInt(actsat), Point(37, hueedit->GetY() + 26), Size(30, 0), 3);
	satedit->onInput.Connect(&ColorSelection::ColorDlgSatEdit, this);
	satedit->SetFlags(EDB_NUMERIC);
	satedit->SetOrientation(OR_UPPERRIGHT);

	valedit		= new EditBox(String::FromInt(actval), Point(37, satedit->GetY() + 26), Size(30, 0), 3);
	valedit->onInput.Connect(&ColorSelection::ColorDlgValEdit, this);
	valedit->SetFlags(EDB_NUMERIC);
	valedit->SetOrientation(OR_UPPERRIGHT);

	rededit		= new EditBox(String::FromInt(actred), Point(37, valedit->GetY() + 26), Size(30, 0), 3);
	rededit->onInput.Connect(&ColorSelection::ColorDlgRedEdit, this);
	rededit->SetFlags(EDB_NUMERIC);
	rededit->SetOrientation(OR_UPPERRIGHT);

	greenedit	= new EditBox(String::FromInt(actgreen), Point(37, rededit->GetY() + 26), Size(30, 0), 3);
	greenedit->onInput.Connect(&ColorSelection::ColorDlgGreenEdit, this);
	greenedit->SetFlags(EDB_NUMERIC);
	greenedit->SetOrientation(OR_UPPERRIGHT);

	blueedit	= new EditBox(String::FromInt(actblue), Point(37, greenedit->GetY() + 26), Size(30, 0), 3);
	blueedit->onInput.Connect(&ColorSelection::ColorDlgBlueEdit, this);
	blueedit->SetFlags(EDB_NUMERIC);
	blueedit->SetOrientation(OR_UPPERRIGHT);

	ColorDlgUpdateHexValue();

	hexedit		= new EditBox(hexval, Point(77, blueedit->GetY() + 26), Size(70, 0), 7);
	hexedit->onInput.Connect(&ColorSelection::ColorDlgHexEdit, this);
	hexedit->SetOrientation(OR_UPPERRIGHT);

	huecapt = False;
	vscapt	= False;

	lasthue = -1;
	lastsat = -1;
	lastval = -1;

	Add(dlgwnd);

	dlgwnd->Add(okbtn);
	dlgwnd->Add(cancelbtn);
	dlgwnd->Add(ncarea);
	dlgwnd->Add(ocarea);
	dlgwnd->Add(hueslider);
	dlgwnd->Add(satslider);
	dlgwnd->Add(valslider);
	dlgwnd->Add(redslider);
	dlgwnd->Add(greenslider);
	dlgwnd->Add(blueslider);
	dlgwnd->Add(huetext);
	dlgwnd->Add(sattext);
	dlgwnd->Add(valtext);
	dlgwnd->Add(redtext);
	dlgwnd->Add(greentext);
	dlgwnd->Add(bluetext);
	dlgwnd->Add(hueedit);
	dlgwnd->Add(satedit);
	dlgwnd->Add(valedit);
	dlgwnd->Add(rededit);
	dlgwnd->Add(greenedit);
	dlgwnd->Add(blueedit);
	dlgwnd->Add(hextext);
	dlgwnd->Add(hexedit);
	dlgwnd->Add(titlebar);
	dlgwnd->Add(divbar);

	dlgwnd->onPaint.Connect(&ColorSelection::ColorDlgPaintProc, this);
	dlgwnd->onEvent.Connect(&ColorSelection::ColorDlgMessageProc, this);

	dlgwnd->SetFlags(dlgwnd->GetFlags() | WF_MODAL);

	xoffset = Math::Round((dlgwnd->GetMainLayer()->GetX() - 1.0) * Surface().GetSurfaceDPI() / 96.0);
	yoffset = Math::Round((dlgwnd->GetMainLayer()->GetY() - 1.0) * Surface().GetSurfaceDPI() / 96.0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %rdi, %rbx
callq 0x58870
movq 0xfc93c(%rip), %rax     # 0x161a00
addq $0x10, %rax
movq %rax, (%rbx)
andq $0x0, 0x5f0(%rbx)
andl $0x0, 0x5e8(%rbx)
leaq 0x40630(%rbx), %rdi
movq %rdi, 0x80(%rsp)
xorl %esi, %esi
callq 0x5a180
leaq 0x5e8(%rbx), %rax
movq %rax, 0x78(%rsp)
leaq 0x62c(%rbx), %r13
movl $0xff0000, %ebp         # imm = 0xFF0000
xorl %r14d, %r14d
leaq 0x30(%rsp), %r15
leaq 0x20(%rsp), %r12
movq %rbx, 0x10(%rsp)
cmpq $0x100, %r14            # imm = 0x100
je 0x6517c
movq %rbp, 0x70(%rsp)
xorl %ebx, %ebx
cmpq $0x40000, %rbx          # imm = 0x40000
je 0x65162
movq %rbp, 0x28(%rsp)
movl $0x2, 0x20(%rsp)
movq %r15, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x58f90
movl 0x38(%rsp), %eax
movl %eax, (%r13,%rbx)
addq $0x400, %rbx            # imm = 0x400
incq %rbp
jmp 0x6512a
incq %r14
movq 0x70(%rsp), %rbp
addq $0x100, %rbp            # imm = 0x100
addq $0x4, %r13
movq 0x10(%rsp), %rbx
jmp 0x6511a
andq $0x0, 0x5f0(%rbx)
andl $0x0, 0x5e8(%rbx)
andl $0x0, 0x602(%rbx)
movw $0x101, 0x606(%rbx)     # imm = 0x101
leaq 0x30(%rsp), %rdi
pushq $0x2
popq %rdx
movq 0x78(%rsp), %r14
movq %r14, %rsi
callq 0x58f90
leaq 0x30(%rsp), %rdi
movzbl 0x8(%rdi), %eax
movl %eax, 0x614(%rbx)
pushq $0x2
popq %rdx
movq %r14, %rsi
callq 0x58f90
leaq 0x30(%rsp), %rdi
movzbl 0x9(%rdi), %eax
movl %eax, 0x618(%rbx)
pushq $0x2
popq %rdx
movq %r14, %rsi
callq 0x58f90
movzbl 0x3a(%rsp), %eax
movl %eax, 0x61c(%rbx)
movl 0x5f0(%rbx), %eax
movl $0xff, %ecx
movl %eax, %edx
andl %ecx, %edx
movl %edx, 0x620(%rbx)
movl %eax, %edx
shrl $0x8, %edx
andl %ecx, %edx
movl %edx, 0x624(%rbx)
shrl $0x10, %eax
andl %ecx, %eax
movl %eax, 0x628(%rbx)
movl $0x6d8, %edi            # imm = 0x6D8
callq 0x56700
movq %rax, %r15
movq 0xfc1b8(%rip), %rbp     # 0x1613e8
movq (%rbp), %r14
leaq 0x7e5d5(%rip), %rsi     # 0xe3810
leaq 0x30(%rsp), %rdi
callq 0x58c40
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x59510
movabsq $0x6400000064, %rcx     # imm = 0x6400000064
leaq 0x20(%rsp), %rdx
movq %rcx, (%rdx)
movabsq $0x120000001b6, %rsi    # imm = 0x120000001B6
leaq 0x18(%rsp), %rcx
movq %rsi, (%rcx)
movq %r15, %rdi
movq %rax, %rsi
xorl %r8d, %r8d
callq 0x581a0
movq %r15, 0x40648(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x56700
movq %rax, %r15
pushq $0x4
popq %rsi
movq %rax, %rdi
callq 0x57490
movq %r15, 0x40650(%rbx)
movl $0x5f8, %edi            # imm = 0x5F8
callq 0x56700
movq %rax, %r15
pushq $0x27
popq %rsi
pushq $0x9
popq %rdx
movq %rax, %rdi
callq 0x57ce0
movq %r15, 0x40658(%rbx)
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x56700
movq %rax, %r15
movq (%rbp), %r14
leaq 0xb8bc6(%rip), %rsi     # 0x11deb4
leaq 0x30(%rsp), %rdi
callq 0x58c40
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x59510
movabsq $0x1d00000057, %rcx     # imm = 0x1D00000057
leaq 0x20(%rsp), %rdx
movq %rcx, (%rdx)
leaq 0x18(%rsp), %rcx
andq $0x0, (%rcx)
movq %r15, %rdi
movq %rax, %rsi
callq 0x585b0
movq %r15, 0x40660(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movl $0x478, %edi            # imm = 0x478
addq 0x40660(%rbx), %rdi
movq 0xfc841(%rip), %rsi     # 0x161b90
xorl %edx, %edx
movq %rbx, %rcx
callq 0x699e6
movq 0x40660(%rbx), %rdi
movq (%rdi), %rax
pushq $0x28
popq %rsi
callq *0x120(%rax)
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x56700
movq %rax, %r15
movq (%rbp), %r14
leaq 0x7e49c(%rip), %rsi     # 0xe3820
leaq 0x30(%rsp), %rdi
callq 0x58c40
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x59510
movabsq $0x1d000000af, %rcx     # imm = 0x1D000000AF
leaq 0x20(%rsp), %rdx
movq %rcx, (%rdx)
leaq 0x18(%rsp), %rcx
andq $0x0, (%rcx)
movq %r15, %rdi
movq %rax, %rsi
callq 0x585b0
movq %r15, 0x40668(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movl $0x478, %edi            # imm = 0x478
addq 0x40668(%rbx), %rdi
movq 0xfc69b(%rip), %rsi     # 0x161a80
xorl %edx, %edx
movq %rbx, %rcx
callq 0x699e6
movq 0x40668(%rbx), %rdi
movq (%rdi), %rax
pushq $0x28
popq %rsi
callq *0x120(%rax)
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x56700
movq %rax, %r15
leaq 0x30(%rsp), %rsi
andq $0x0, 0x8(%rsi)
andl $0x0, (%rsi)
movabsq $0x3000000ee, %rax      # imm = 0x3000000EE
leaq 0x20(%rsp), %rdx
movq %rax, (%rdx)
movabsq $0x170000005b, %r14     # imm = 0x170000005B
leaq 0x18(%rsp), %rcx
movq %r14, (%rcx)
movq %r15, %rdi
callq 0x57970
movq %r15, 0x40670(%rbx)
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x56700
movq %rax, %r15
leaq 0x30(%rsp), %rsi
andq $0x0, 0x8(%rsi)
andl $0x0, (%rsi)
movabsq $0x30000014e, %rax      # imm = 0x30000014E
leaq 0x20(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x18(%rsp), %rcx
movq %r14, (%rcx)
movq %r15, %rdi
callq 0x57970
movq %r15, 0x40678(%rbx)
addq $0x478, %r15            # imm = 0x478
movq 0xfc068(%rip), %rsi     # 0x161508
movq %r15, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x699e6
movl $0x610, %edi            # imm = 0x610
callq 0x56700
movq %rax, %r12
leaq 0x614(%rbx), %r8
movabsq $0x23000000ae, %rax     # imm = 0x23000000AE
leaq 0x30(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x20(%rsp), %rdx
movq $0x81, (%rdx)
movl $0xff, (%rsp)
pushq $0x1
popq %rcx
movq %r12, %rdi
movq %r8, 0x70(%rsp)
xorl %r9d, %r9d
callq 0x57670
movq %r12, 0x40680(%rbx)
addq $0x5f0, %r12            # imm = 0x5F0
movq 0xfc7d2(%rip), %rsi     # 0x161ce0
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69a82
movq 0x40680(%rbx), %rdi
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movl $0x610, %edi            # imm = 0x610
callq 0x56700
movq %rax, %r12
leaq 0x618(%rbx), %r8
movq 0x40680(%rbx), %rax
movl 0xac(%rax), %eax
addl $0x1a, %eax
leaq 0x30(%rsp), %rsi
movl $0xae, (%rsi)
movl %eax, 0x4(%rsi)
leaq 0x20(%rsp), %rdx
movq $0x81, (%rdx)
movl $0xff, (%rsp)
pushq $0x1
popq %rcx
movq %r12, %rdi
movq %r8, 0x78(%rsp)
xorl %r9d, %r9d
callq 0x57670
movq %r12, 0x40688(%rbx)
addq $0x5f0, %r12            # imm = 0x5F0
movq 0xfc3bd(%rip), %rsi     # 0x161958
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69a82
movq 0x40688(%rbx), %rdi
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movl $0x610, %edi            # imm = 0x610
callq 0x56700
movq %rax, %r12
leaq 0x61c(%rbx), %r8
movq 0x40688(%rbx), %rax
movl 0xac(%rax), %eax
addl $0x1a, %eax
leaq 0x30(%rsp), %rsi
movl $0xae, (%rsi)
movl %eax, 0x4(%rsi)
leaq 0x20(%rsp), %rdx
movq $0x81, (%rdx)
movl $0xff, (%rsp)
pushq $0x1
popq %rcx
movq %r12, %rdi
movq %r8, 0xa0(%rsp)
xorl %r9d, %r9d
callq 0x57670
movq %r12, 0x40690(%rbx)
addq $0x5f0, %r12            # imm = 0x5F0
movq 0xfbded(%rip), %rsi     # 0x161418
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69a82
movq 0x40690(%rbx), %rdi
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movl $0x610, %edi            # imm = 0x610
callq 0x56700
movq %rax, %r12
leaq 0x620(%rbx), %r8
movq 0x40690(%rbx), %rax
movl 0xac(%rax), %eax
addl $0x1a, %eax
leaq 0x30(%rsp), %rsi
movl $0xae, (%rsi)
movl %eax, 0x4(%rsi)
leaq 0x20(%rsp), %rdx
movq $0x81, (%rdx)
movl $0xff, (%rsp)
pushq $0x1
popq %rcx
movq %r12, %rdi
movq %r8, 0x98(%rsp)
xorl %r9d, %r9d
callq 0x57670
movq %r12, 0x40698(%rbx)
addq $0x5f0, %r12            # imm = 0x5F0
movq 0xfc5e5(%rip), %rsi     # 0x161ca0
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69a82
movq 0x40698(%rbx), %rdi
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movl $0x610, %edi            # imm = 0x610
callq 0x56700
movq %rax, %r12
leaq 0x624(%rbx), %r8
movq 0x40698(%rbx), %rax
movl 0xac(%rax), %eax
addl $0x1a, %eax
leaq 0x30(%rsp), %rsi
movl $0xae, (%rsi)
movl %eax, 0x4(%rsi)
leaq 0x20(%rsp), %rdx
movq $0x81, (%rdx)
movl $0xff, (%rsp)
pushq $0x1
popq %rcx
movq %r12, %rdi
movq %r8, 0x90(%rsp)
xorl %r9d, %r9d
callq 0x57670
movq %r12, 0x406a0(%rbx)
addq $0x5f0, %r12            # imm = 0x5F0
movq 0xfbf5d(%rip), %rsi     # 0x1616a8
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69a82
movq 0x406a0(%rbx), %rdi
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movl $0x610, %edi            # imm = 0x610
callq 0x56700
movq %rax, %r12
leaq 0x628(%rbx), %r8
movq 0x406a0(%rbx), %rax
movl 0xac(%rax), %eax
addl $0x1a, %eax
leaq 0x30(%rsp), %rsi
movl $0xae, (%rsi)
movl %eax, 0x4(%rsi)
leaq 0x20(%rsp), %rdx
movq $0x81, (%rdx)
movl $0xff, (%rsp)
pushq $0x1
popq %rcx
movq %r12, %rdi
movq %r8, 0x88(%rsp)
xorl %r9d, %r9d
callq 0x57670
movq %r12, 0x406a8(%rbx)
addq $0x5f0, %r12            # imm = 0x5F0
movq 0xfc49d(%rip), %rsi     # 0x161c78
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69a82
movq 0x406a8(%rbx), %rdi
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x56700
movq %rax, %r12
movq (%rbp), %r13
leaq 0xa71dd(%rip), %rsi     # 0x10c9f0
leaq 0x30(%rsp), %rdi
callq 0x58c40
leaq 0x30(%rsp), %rsi
movq %r13, %rdi
callq 0x59510
movabsq $0x25000000bd, %rcx     # imm = 0x25000000BD
leaq 0x20(%rsp), %rdx
movq %rcx, (%rdx)
leaq 0x18(%rsp), %rcx
andq $0x0, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x56a70
movq %r12, 0x406b0(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movq 0x406b0(%rbx), %rdi
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movq 0x406b0(%rbx), %r12
movq 0xfc616(%rip), %r14     # 0x161e98
movswl (%r14), %edx
movq 0xfbef3(%rip), %r15     # 0x161780
movswl (%r15), %ecx
movq 0xfc520(%rip), %rsi     # 0x161db8
movq 0xfc149(%rip), %r9      # 0x1619e8
leaq 0x30(%rsp), %rdi
movl %ecx, %r8d
callq 0x58460
movq (%r12), %rax
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq *0xe0(%rax)
leaq 0x30(%rsp), %rdi
callq 0x57860
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x56700
movq %rax, %r12
movq (%rbp), %r13
leaq 0xb3f09(%rip), %rsi     # 0x1197e9
leaq 0x30(%rsp), %rdi
callq 0x58c40
leaq 0x30(%rsp), %rsi
movq %r13, %rdi
callq 0x59510
movq 0x406b0(%rbx), %rcx
movl 0xac(%rcx), %ecx
addl $0x1a, %ecx
leaq 0x20(%rsp), %rdx
movl $0xbd, (%rdx)
movl %ecx, 0x4(%rdx)
leaq 0x18(%rsp), %rcx
andq $0x0, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x56a70
movq %r12, 0x406b8(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movq 0x406b8(%rbx), %rdi
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movq 0x406b8(%rbx), %r12
movswl (%r14), %edx
movswl (%r15), %ecx
movq 0xfc455(%rip), %rsi     # 0x161db8
movq 0xfc07e(%rip), %r9      # 0x1619e8
leaq 0x30(%rsp), %rdi
movl %ecx, %r8d
callq 0x58460
movq (%r12), %rax
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq *0xe0(%rax)
leaq 0x30(%rsp), %rdi
callq 0x57860
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x56700
movq %rax, %r12
movq (%rbp), %r13
leaq 0x9d2dc(%rip), %rsi     # 0x102c87
leaq 0x30(%rsp), %rdi
callq 0x58c40
leaq 0x30(%rsp), %rsi
movq %r13, %rdi
callq 0x59510
movq 0x406b8(%rbx), %rcx
movl 0xac(%rcx), %ecx
addl $0x1a, %ecx
leaq 0x20(%rsp), %rdx
movl $0xbd, (%rdx)
movl %ecx, 0x4(%rdx)
leaq 0x18(%rsp), %rcx
andq $0x0, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x56a70
movq %r12, 0x406c0(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movq 0x406c0(%rbx), %rdi
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movq 0x406c0(%rbx), %r12
movswl (%r14), %edx
movswl (%r15), %ecx
movq 0xfc38a(%rip), %rsi     # 0x161db8
movq 0xfbfb3(%rip), %r9      # 0x1619e8
leaq 0x30(%rsp), %rdi
movl %ecx, %r8d
callq 0x58460
movq (%r12), %rax
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq *0xe0(%rax)
leaq 0x30(%rsp), %rdi
callq 0x57860
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x56700
movq %rax, %r12
movq (%rbp), %r13
leaq 0x9cd7a(%rip), %rsi     # 0x1027f0
leaq 0x30(%rsp), %rdi
callq 0x58c40
leaq 0x30(%rsp), %rsi
movq %r13, %rdi
callq 0x59510
movq 0x406c0(%rbx), %rcx
movl 0xac(%rcx), %ecx
addl $0x1a, %ecx
leaq 0x20(%rsp), %rdx
movl $0xbd, (%rdx)
movl %ecx, 0x4(%rdx)
leaq 0x18(%rsp), %rcx
andq $0x0, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x56a70
movq %r12, 0x406c8(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movq 0x406c8(%rbx), %rdi
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movq 0x406c8(%rbx), %r12
movswl (%r14), %edx
movswl (%r15), %ecx
leaq 0x20(%rsp), %r9
movq $0xff, 0x8(%r9)
andl $0x0, (%r9)
movq 0xfc2ae(%rip), %rsi     # 0x161db8
leaq 0x30(%rsp), %rdi
movl %ecx, %r8d
callq 0x58460
movq (%r12), %rax
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq *0xe0(%rax)
leaq 0x30(%rsp), %rdi
callq 0x57860
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x56700
movq %rax, %r12
movq (%rbp), %r13
leaq 0x9d16a(%rip), %rsi     # 0x102cb5
leaq 0x30(%rsp), %rdi
callq 0x58c40
leaq 0x30(%rsp), %rsi
movq %r13, %rdi
callq 0x59510
movq 0x406c8(%rbx), %rcx
movl 0xac(%rcx), %ecx
addl $0x1a, %ecx
leaq 0x20(%rsp), %rdx
movl $0xbd, (%rdx)
movl %ecx, 0x4(%rdx)
leaq 0x18(%rsp), %rcx
andq $0x0, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x56a70
movq %r12, 0x406d0(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movq 0x406d0(%rbx), %rdi
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movq 0x406d0(%rbx), %r12
movswl (%r14), %edx
movswl (%r15), %ecx
leaq 0x20(%rsp), %r9
movq $0xa000, 0x8(%r9)       # imm = 0xA000
andl $0x0, (%r9)
movq 0xfc1d9(%rip), %rsi     # 0x161db8
leaq 0x30(%rsp), %rdi
movl %ecx, %r8d
callq 0x58460
movq (%r12), %rax
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq *0xe0(%rax)
leaq 0x30(%rsp), %rdi
callq 0x57860
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x56700
movq %rax, %r12
movq (%rbp), %r13
leaq 0x9d05f(%rip), %rsi     # 0x102c7f
leaq 0x30(%rsp), %rdi
callq 0x58c40
leaq 0x30(%rsp), %rsi
movq %r13, %rdi
callq 0x59510
movq 0x406d0(%rbx), %rcx
movl 0xac(%rcx), %ecx
addl $0x1a, %ecx
leaq 0x20(%rsp), %rdx
movl $0xbd, (%rdx)
movl %ecx, 0x4(%rdx)
leaq 0x18(%rsp), %rcx
andq $0x0, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x56a70
movq %r12, 0x406d8(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movq 0x406d8(%rbx), %rdi
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movq 0x406d8(%rbx), %r12
movswl (%r14), %edx
movswl (%r15), %ecx
leaq 0x20(%rsp), %r9
movq $0xff0000, 0x8(%r9)     # imm = 0xFF0000
andl $0x0, (%r9)
movq 0xfc104(%rip), %rsi     # 0x161db8
leaq 0x30(%rsp), %rdi
movl %ecx, %r8d
callq 0x58460
movq (%r12), %rax
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq *0xe0(%rax)
leaq 0x30(%rsp), %rdi
callq 0x57860
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x56700
movq %rax, %r12
movq (%rbp), %r13
leaq 0x7db32(%rip), %rsi     # 0xe3827
leaq 0x30(%rsp), %rdi
callq 0x58c40
leaq 0x30(%rsp), %rsi
movq %r13, %rdi
callq 0x59510
movq 0x406d8(%rbx), %rcx
movl 0xac(%rcx), %ecx
addl $0x1a, %ecx
leaq 0x20(%rsp), %rdx
movl $0xbd, (%rdx)
movl %ecx, 0x4(%rdx)
leaq 0x18(%rsp), %rcx
andq $0x0, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x56a70
movq %r12, 0x406e0(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movq 0x406e0(%rbx), %rdi
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movq 0x406e0(%rbx), %r12
movswl (%r14), %edx
movswl (%r15), %ecx
movq 0xfc040(%rip), %rsi     # 0x161db8
movq 0xfbc69(%rip), %r9      # 0x1619e8
leaq 0x30(%rsp), %rdi
movl %ecx, %r8d
callq 0x58460
movq (%r12), %rax
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq *0xe0(%rax)
leaq 0x30(%rsp), %rdi
callq 0x57860
movl $0x630, %edi            # imm = 0x630
callq 0x56700
movq %rax, %r12
movq 0x70(%rsp), %rax
movslq (%rax), %rsi
leaq 0x30(%rsp), %rdi
callq 0x57e80
movabsq $0x2200000025, %rax     # imm = 0x2200000025
leaq 0x20(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x18(%rsp), %rcx
movq $0x1e, (%rcx)
leaq 0x30(%rsp), %rsi
pushq $0x3
popq %r8
movq %r12, %rdi
callq 0x57eb0
movq %r12, 0x406e8(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movl $0x5d0, %edi            # imm = 0x5D0
addq 0x406e8(%rbx), %rdi
movq 0xfc1ae(%rip), %rsi     # 0x161fc8
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69b1e
movq 0x406e8(%rbx), %rdi
movl $0x1, 0x30(%rdi)
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movl $0x630, %edi            # imm = 0x630
callq 0x56700
movq %rax, %r15
movq 0x78(%rsp), %rax
movslq (%rax), %rsi
leaq 0x30(%rsp), %rdi
callq 0x57e80
movq 0x406e8(%rbx), %rax
movl 0xac(%rax), %eax
addl $0x1a, %eax
leaq 0x20(%rsp), %rdx
movl $0x25, (%rdx)
movl %eax, 0x4(%rdx)
leaq 0x18(%rsp), %rcx
movq $0x1e, (%rcx)
leaq 0x30(%rsp), %rsi
pushq $0x3
popq %r8
movq %r15, %rdi
callq 0x57eb0
movq %r15, 0x406f0(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movl $0x5d0, %edi            # imm = 0x5D0
addq 0x406f0(%rbx), %rdi
movq 0xfbe74(%rip), %rsi     # 0x161d30
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69b1e
movq 0x406f0(%rbx), %rdi
movl $0x1, 0x30(%rdi)
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movl $0x630, %edi            # imm = 0x630
callq 0x56700
movq %rax, %r15
movq 0xa0(%rsp), %rax
movslq (%rax), %rsi
leaq 0x30(%rsp), %rdi
callq 0x57e80
movq 0x406f0(%rbx), %rax
movl 0xac(%rax), %eax
addl $0x1a, %eax
leaq 0x20(%rsp), %rdx
movl $0x25, (%rdx)
movl %eax, 0x4(%rdx)
leaq 0x18(%rsp), %rcx
movq $0x1e, (%rcx)
leaq 0x30(%rsp), %rsi
pushq $0x3
popq %r8
movq %r15, %rdi
callq 0x57eb0
movq %r15, 0x406f8(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movl $0x5d0, %edi            # imm = 0x5D0
addq 0x406f8(%rbx), %rdi
movq 0xfb537(%rip), %rsi     # 0x161498
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69b1e
movq 0x406f8(%rbx), %rdi
movl $0x1, 0x30(%rdi)
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movl $0x630, %edi            # imm = 0x630
callq 0x56700
movq %rax, %r15
movq 0x98(%rsp), %rax
movslq (%rax), %rsi
leaq 0x30(%rsp), %rdi
callq 0x57e80
movq 0x406f8(%rbx), %rax
movl 0xac(%rax), %eax
addl $0x1a, %eax
leaq 0x20(%rsp), %rdx
movl $0x25, (%rdx)
movl %eax, 0x4(%rdx)
leaq 0x18(%rsp), %rcx
movq $0x1e, (%rcx)
leaq 0x30(%rsp), %rsi
pushq $0x3
popq %r8
movq %r15, %rdi
callq 0x57eb0
movq %r15, 0x40700(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movl $0x5d0, %edi            # imm = 0x5D0
addq 0x40700(%rbx), %rdi
movq 0xfbb22(%rip), %rsi     # 0x161b28
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69b1e
movq 0x40700(%rbx), %rdi
movl $0x1, 0x30(%rdi)
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movl $0x630, %edi            # imm = 0x630
callq 0x56700
movq %rax, %r15
movq 0x90(%rsp), %rax
movslq (%rax), %rsi
leaq 0x30(%rsp), %rdi
callq 0x57e80
movq 0x40700(%rbx), %rax
movl 0xac(%rax), %eax
addl $0x1a, %eax
leaq 0x20(%rsp), %rdx
movl $0x25, (%rdx)
movl %eax, 0x4(%rdx)
leaq 0x18(%rsp), %rcx
movq $0x1e, (%rcx)
leaq 0x30(%rsp), %rsi
pushq $0x3
popq %r8
movq %r15, %rdi
callq 0x57eb0
movq %r15, 0x40708(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movl $0x5d0, %edi            # imm = 0x5D0
addq 0x40708(%rbx), %rdi
movq 0xfbedd(%rip), %rsi     # 0x161f88
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69b1e
movq 0x40708(%rbx), %rdi
movl $0x1, 0x30(%rdi)
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movl $0x630, %edi            # imm = 0x630
callq 0x56700
movq %rax, %r15
movq 0x88(%rsp), %rax
movslq (%rax), %rsi
leaq 0x30(%rsp), %rdi
callq 0x57e80
movq 0x40708(%rbx), %rax
movl 0xac(%rax), %eax
addl $0x1a, %eax
leaq 0x20(%rsp), %rdx
movl $0x25, (%rdx)
movl %eax, 0x4(%rdx)
leaq 0x18(%rsp), %rcx
movq $0x1e, (%rcx)
leaq 0x30(%rsp), %rsi
pushq $0x3
popq %r8
movq %r15, %rdi
callq 0x57eb0
movq %r15, 0x40710(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x5a588
movl $0x5d0, %edi            # imm = 0x5D0
addq 0x40710(%rbx), %rdi
movq 0xfb970(%rip), %rsi     # 0x161ac0
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69b1e
movq 0x40710(%rbx), %rdi
movl $0x1, 0x30(%rdi)
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
movq %rbx, %rdi
callq 0x59de0
movl $0x630, %edi            # imm = 0x630
callq 0x56700
movq %rax, %r15
movq 0x40710(%rbx), %rax
movl 0xac(%rax), %eax
addl $0x1a, %eax
leaq 0x30(%rsp), %rdx
movl $0x4d, (%rdx)
movl %eax, 0x4(%rdx)
leaq 0x20(%rsp), %rcx
movq $0x46, (%rcx)
pushq $0x7
popq %r8
movq %r15, %rdi
movq 0x80(%rsp), %rsi
callq 0x57eb0
movq %r15, 0x40718(%rbx)
addq $0x5d0, %r15            # imm = 0x5D0
movq 0xfb784(%rip), %rsi     # 0x161960
movq %r15, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69b1e
movq 0x40718(%rbx), %rdi
movq (%rdi), %rax
pushq $0x24
popq %rsi
callq *0x120(%rax)
andw $0x0, 0x600(%rbx)
orq $-0x1, 0x608(%rbx)
orl $-0x1, 0x610(%rbx)
movq 0x40648(%rbx), %rsi
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x40660(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x40668(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x40670(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x40678(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x40680(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x40688(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x40690(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x40698(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x406a0(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x406a8(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x406b0(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x406b8(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x406c0(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x406c8(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x406d0(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x406d8(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x406e8(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x406f0(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x406f8(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x40700(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x40708(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x40710(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x406e0(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x40718(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x40650(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x40648(%rbx), %rdi
movq 0x40658(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movl $0x648, %edi            # imm = 0x648
addq 0x40648(%rbx), %rdi
movq 0xfba6a(%rip), %rsi     # 0x161ea8
xorl %edx, %edx
movq %rbx, %rcx
callq 0x699e6
movl $0x668, %edi            # imm = 0x668
addq 0x40648(%rbx), %rdi
movq 0xfb345(%rip), %rsi     # 0x1617a0
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69bba
movq 0x40648(%rbx), %rax
orl $0x1, 0x30(%rax)
movq 0x620(%rax), %rax
cvtsi2sdl 0xa8(%rax), %xmm0
movsd %xmm0, 0x70(%rsp)
leaq 0x20(%rsp), %rdx
andq $0x0, (%rdx)
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
callq 0x58340
leaq 0x30(%rsp), %rdi
callq 0x59c60
movsd 0x70(%rsp), %xmm1
addsd 0x7cee6(%rip), %xmm1    # 0xe3398
cwtl
cvtsi2sd %eax, %xmm0
mulsd %xmm1, %xmm0
divsd 0x7d04d(%rip), %xmm0    # 0xe3510
xorpd %xmm1, %xmm1
xorl %eax, %eax
ucomisd %xmm0, %xmm1
seta %al
leaq 0x7d2d9(%rip), %r14     # 0xe37b0
addsd (%r14,%rax,8), %xmm0
cvttsd2si %xmm0, %rax
movl %eax, 0x5f8(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x58d90
movq 0x40648(%rbx), %rax
movq 0x620(%rax), %rax
movl 0xac(%rax), %ebx
leaq 0x20(%rsp), %rdx
andq $0x0, (%rdx)
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
callq 0x58340
leaq 0x30(%rsp), %rdi
callq 0x59c60
cvtsi2sd %ebx, %xmm0
addsd 0x7ce67(%rip), %xmm0    # 0xe3398
cwtl
cvtsi2sd %eax, %xmm1
mulsd %xmm0, %xmm1
divsd 0x7cfce(%rip), %xmm1    # 0xe3510
xorpd %xmm0, %xmm0
xorl %eax, %eax
ucomisd %xmm1, %xmm0
seta %al
addsd (%r14,%rax,8), %xmm1
cvttsd2si %xmm1, %rax
movq 0x10(%rsp), %rcx
movl %eax, 0x5fc(%rcx)
leaq 0x30(%rsp), %rdi
callq 0x58d90
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x58d90
jmp 0x6671a
jmp 0x66717
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x58d90
jmp 0x6671f
jmp 0x66712
movq %rax, %r14
movl $0x630, %esi            # imm = 0x630
jmp 0x666da
jmp 0x665cc
jmp 0x665db
jmp 0x665cc
jmp 0x665db
jmp 0x665cc
jmp 0x665db
jmp 0x665cc
jmp 0x665db
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x5a588
jmp 0x665de
movq %rax, %r14
movl $0x630, %esi            # imm = 0x630
jmp 0x666fd
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x5a588
jmp 0x665fa
movq %rax, %r14
movl $0x630, %esi            # imm = 0x630
jmp 0x6667f
jmp 0x6664f
jmp 0x66712
jmp 0x66668
jmp 0x66668
jmp 0x66677
jmp 0x6664f
jmp 0x66712
jmp 0x66668
jmp 0x66668
jmp 0x66677
jmp 0x6664f
jmp 0x66712
jmp 0x66668
jmp 0x66668
jmp 0x66677
jmp 0x6664f
jmp 0x66712
jmp 0x66668
jmp 0x66668
jmp 0x66677
jmp 0x6664f
jmp 0x66712
jmp 0x66668
jmp 0x66668
jmp 0x66677
jmp 0x6664f
jmp 0x66712
jmp 0x66668
jmp 0x66668
jmp 0x66677
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x57860
jmp 0x6671f
jmp 0x66712
jmp 0x66668
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x5a588
jmp 0x6667a
movq %rax, %r14
movl $0x5c0, %esi            # imm = 0x5C0
movq %r12, %rdi
jmp 0x66700
jmp 0x6668e
jmp 0x6668e
jmp 0x6668e
jmp 0x6668e
jmp 0x6668e
movq %rax, %r14
movl $0x610, %esi            # imm = 0x610
movq %r12, %rdi
jmp 0x666dd
jmp 0x6669d
movq %rax, %r14
movl $0x5d0, %esi            # imm = 0x5D0
jmp 0x666da
jmp 0x666af
jmp 0x666af
jmp 0x666be
jmp 0x666af
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x5a588
jmp 0x666c1
movq %rax, %r14
movl $0x5c8, %esi            # imm = 0x5C8
jmp 0x666fd
movq %rax, %r14
movl $0x5f8, %esi            # imm = 0x5F8
jmp 0x666da
movq %rax, %r14
movl $0x5c8, %esi            # imm = 0x5C8
movq %r15, %rdi
callq 0x564c0
jmp 0x6671f
jmp 0x666e6
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x5a588
jmp 0x666f8
movq %rax, %r14
movl $0x6d8, %esi            # imm = 0x6D8
movq %r15, %rdi
callq 0x564c0
jmp 0x6671a
jmp 0x66712
jmp 0x66712
jmp 0x66712
movq %rax, %r14
jmp 0x6672c
movq %rax, %r14
jmp 0x6671f
movq %rax, %r14
movq 0x10(%rsp), %rbx
movq 0x80(%rsp), %rdi
callq 0x5a588
movq %rbx, %rdi
callq 0x56b80
movq %r14, %rdi
callq 0x58260