// File: /workspace/github_c_makefile_star2_O1/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 0x57650
movq 0x108478(%rip), %rax    # 0x16ca00
addq $0x10, %rax
movq %rax, (%rbx)
movq $0x0, 0x5f0(%rbx)
movl $0x0, 0x5e8(%rbx)
leaq 0x40630(%rbx), %rdi
movq %rdi, 0x80(%rsp)
xorl %esi, %esi
callq 0x58e20
leaq 0x5e8(%rbx), %rax
movq %rax, 0x78(%rsp)
movq %rbx, 0x10(%rsp)
leaq 0x62c(%rbx), %r13
movl $0xff0000, %ebp         # imm = 0xFF0000
xorl %r14d, %r14d
leaq 0x30(%rsp), %r15
leaq 0x20(%rsp), %r12
movq %rbp, 0x70(%rsp)
xorl %ebx, %ebx
movq %rbp, 0x28(%rsp)
movl $0x2, 0x20(%rsp)
movq %r15, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x57d10
movl 0x38(%rsp), %eax
movl %eax, (%r13,%rbx)
addq $0x400, %rbx            # imm = 0x400
incq %rbp
cmpq $0x40000, %rbx          # imm = 0x40000
jne 0x645eb
incq %r14
addq $0x4, %r13
movq 0x70(%rsp), %rbp
movl $0x100, %eax            # imm = 0x100
addq %rax, %rbp
cmpq %rax, %r14
jne 0x645e4
movq 0x10(%rsp), %rbx
movq $0x0, 0x5f0(%rbx)
xorl %eax, %eax
movl %eax, 0x5e8(%rbx)
movl %eax, 0x602(%rbx)
movw $0x101, 0x606(%rbx)     # imm = 0x101
leaq 0x30(%rsp), %rdi
movq 0x78(%rsp), %r14
movq %r14, %rsi
movl $0x2, %edx
callq 0x57d10
leaq 0x30(%rsp), %rdi
movzbl 0x8(%rdi), %eax
movl %eax, 0x614(%rbx)
movq %r14, %rsi
movl $0x2, %edx
callq 0x57d10
leaq 0x30(%rsp), %rdi
movzbl 0x9(%rdi), %eax
movl %eax, 0x618(%rbx)
movq %r14, %rsi
movl $0x2, %edx
callq 0x57d10
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 0x556b0
movq %rax, %r15
movq 0x107cec(%rip), %rbp    # 0x16c3e8
movq (%rbp), %r14
leaq 0x90099(%rip), %rsi     # 0xf47a0
leaq 0x30(%rsp), %rdi
callq 0x579f0
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
movq 0x10(%rsp), %rbx
callq 0x58260
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 0x56fe0
movq %r15, 0x40648(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x556b0
movq %rax, %r15
movq %rax, %rdi
movl $0x4, %esi
callq 0x56390
movq 0x10(%rsp), %rax
movq %r15, 0x40650(%rax)
movl $0x5f8, %edi            # imm = 0x5F8
callq 0x556b0
movq %rax, %r15
movq %rax, %rdi
movl $0x27, %esi
movl $0x9, %edx
callq 0x56b70
movq 0x10(%rsp), %rax
movq %r15, 0x40658(%rax)
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x556b0
movq %rax, %r15
movq (%rbp), %r14
leaq 0xca785(%rip), %rsi     # 0x12ef54
leaq 0x30(%rsp), %rdi
callq 0x579f0
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
movq 0x10(%rsp), %rbx
callq 0x58260
movabsq $0x1d00000057, %rcx     # imm = 0x1D00000057
leaq 0x20(%rsp), %rdx
movq %rcx, (%rdx)
leaq 0x18(%rsp), %rcx
movq $0x0, (%rcx)
movq %r15, %rdi
movq %rax, %rsi
callq 0x573b0
movq %r15, 0x40660(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movl $0x478, %edi            # imm = 0x478
addq 0x40660(%rbx), %rdi
movq 0x108358(%rip), %rsi    # 0x16cb90
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69144
movq 0x40660(%rbx), %rdi
movq (%rdi), %rax
movl $0x28, %esi
callq *0x120(%rax)
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x556b0
movq %rax, %r15
movq (%rbp), %r14
leaq 0x8ff41(%rip), %rsi     # 0xf47b0
leaq 0x30(%rsp), %rdi
callq 0x579f0
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
movq 0x10(%rsp), %rbx
callq 0x58260
movabsq $0x1d000000af, %rcx     # imm = 0x1D000000AF
leaq 0x20(%rsp), %rdx
movq %rcx, (%rdx)
leaq 0x18(%rsp), %rcx
movq $0x0, (%rcx)
movq %r15, %rdi
movq %rax, %rsi
callq 0x573b0
movq %r15, 0x40668(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movl $0x478, %edi            # imm = 0x478
addq 0x40668(%rbx), %rdi
movq 0x1081a8(%rip), %rsi    # 0x16ca80
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69144
movq 0x40668(%rbx), %rdi
movq (%rdi), %rax
movl $0x28, %esi
callq *0x120(%rax)
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x556b0
movq %rax, %r15
leaq 0x30(%rsp), %rsi
movq $0x0, 0x8(%rsi)
movl $0x0, (%rsi)
movabsq $0x3000000ee, %rax      # imm = 0x3000000EE
leaq 0x20(%rsp), %rdx
movq %rax, (%rdx)
movabsq $0x170000005b, %rbx     # imm = 0x170000005B
leaq 0x18(%rsp), %rcx
movq %rbx, (%rcx)
movq %r15, %rdi
callq 0x56830
movq 0x10(%rsp), %rax
movq %r15, 0x40670(%rax)
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x556b0
movq %rax, %r15
leaq 0x30(%rsp), %rsi
movq $0x0, 0x8(%rsi)
movl $0x0, (%rsi)
movabsq $0x30000014e, %rax      # imm = 0x30000014E
leaq 0x20(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x18(%rsp), %rcx
movq %rbx, (%rcx)
movq %r15, %rdi
callq 0x56830
movq 0x10(%rsp), %rbx
movq %r15, 0x40678(%rbx)
addq $0x478, %r15            # imm = 0x478
movq 0x107b5d(%rip), %rsi    # 0x16c508
movq %r15, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69144
movl $0x610, %edi            # imm = 0x610
callq 0x556b0
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)
movq %r12, %rdi
movl $0x1, %ecx
movq %r8, 0x70(%rsp)
xorl %r9d, %r9d
callq 0x56560
movq %r12, 0x40680(%rbx)
addq $0x5f0, %r12            # imm = 0x5F0
movq 0x1082c5(%rip), %rsi    # 0x16cce0
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69202
movq 0x40680(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x610, %edi            # imm = 0x610
callq 0x556b0
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)
movq %r12, %rdi
movl $0x1, %ecx
movq %r8, 0x78(%rsp)
xorl %r9d, %r9d
callq 0x56560
movq %r12, 0x40688(%rbx)
addq $0x5f0, %r12            # imm = 0x5F0
movq 0x107eac(%rip), %rsi    # 0x16c958
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69202
movq 0x40688(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x610, %edi            # imm = 0x610
callq 0x556b0
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)
movq %r12, %rdi
movl $0x1, %ecx
movq %r8, 0xa0(%rsp)
xorl %r9d, %r9d
callq 0x56560
movq %r12, 0x40690(%rbx)
addq $0x5f0, %r12            # imm = 0x5F0
movq 0x1078d8(%rip), %rsi    # 0x16c418
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69202
movq 0x40690(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x610, %edi            # imm = 0x610
callq 0x556b0
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)
movq %r12, %rdi
movl $0x1, %ecx
movq %r8, 0x98(%rsp)
xorl %r9d, %r9d
callq 0x56560
movq %r12, 0x40698(%rbx)
addq $0x5f0, %r12            # imm = 0x5F0
movq 0x1080cc(%rip), %rsi    # 0x16cca0
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69202
movq 0x40698(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x610, %edi            # imm = 0x610
callq 0x556b0
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)
movq %r12, %rdi
movl $0x1, %ecx
movq %r8, 0x90(%rsp)
xorl %r9d, %r9d
callq 0x56560
movq %r12, 0x406a0(%rbx)
addq $0x5f0, %r12            # imm = 0x5F0
movq 0x107a40(%rip), %rsi    # 0x16c6a8
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69202
movq 0x406a0(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x610, %edi            # imm = 0x610
callq 0x556b0
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)
movq %r12, %rdi
movl $0x1, %ecx
movq %r8, 0x88(%rsp)
xorl %r9d, %r9d
callq 0x56560
movq %r12, 0x406a8(%rbx)
addq $0x5f0, %r12            # imm = 0x5F0
movq 0x107f7c(%rip), %rsi    # 0x16cc78
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69202
movq 0x406a8(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x556b0
movq %rax, %r12
movq (%rbp), %r13
leaq 0xb8c1a(%rip), %rsi     # 0x11d950
leaq 0x30(%rsp), %rdi
callq 0x579f0
leaq 0x30(%rsp), %rsi
movq %r13, %rdi
movq 0x10(%rsp), %rbx
callq 0x58260
movabsq $0x25000000bd, %rcx     # imm = 0x25000000BD
leaq 0x20(%rsp), %rdx
movq %rcx, (%rdx)
leaq 0x18(%rsp), %rcx
movq $0x0, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x55a00
movq %r12, 0x406b0(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movq 0x406b0(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movq 0x406b0(%rbx), %r12
movq 0x1080e9(%rip), %r14    # 0x16ce98
movswl (%r14), %edx
movq 0x1079c6(%rip), %r15    # 0x16c780
movswl (%r15), %ecx
movq 0x107ff3(%rip), %rsi    # 0x16cdb8
movq 0x107c1c(%rip), %r9     # 0x16c9e8
leaq 0x30(%rsp), %rdi
movl %ecx, %r8d
callq 0x57270
movq (%r12), %rax
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq *0xe0(%rax)
leaq 0x30(%rsp), %rdi
callq 0x56720
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x556b0
movq %rax, %r12
movq (%rbp), %r13
leaq 0xc5a7c(%rip), %rsi     # 0x12a889
leaq 0x30(%rsp), %rdi
callq 0x579f0
leaq 0x30(%rsp), %rsi
movq %r13, %rdi
movq 0x10(%rsp), %rbx
callq 0x58260
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
movq $0x0, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x55a00
movq %r12, 0x406b8(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movq 0x406b8(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movq 0x406b8(%rbx), %r12
movswl (%r14), %edx
movswl (%r15), %ecx
movq 0x107f1e(%rip), %rsi    # 0x16cdb8
movq 0x107b47(%rip), %r9     # 0x16c9e8
leaq 0x30(%rsp), %rdi
movl %ecx, %r8d
callq 0x57270
movq (%r12), %rax
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq *0xe0(%rax)
leaq 0x30(%rsp), %rdi
callq 0x56720
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x556b0
movq %rax, %r12
movq (%rbp), %r13
leaq 0xaecf1(%rip), %rsi     # 0x113bd3
leaq 0x30(%rsp), %rdi
callq 0x579f0
leaq 0x30(%rsp), %rsi
movq %r13, %rdi
movq 0x10(%rsp), %rbx
callq 0x58260
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
movq $0x0, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x55a00
movq %r12, 0x406c0(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movq 0x406c0(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movq 0x406c0(%rbx), %r12
movswl (%r14), %edx
movswl (%r15), %ecx
movq 0x107e49(%rip), %rsi    # 0x16cdb8
movq 0x107a72(%rip), %r9     # 0x16c9e8
leaq 0x30(%rsp), %rdi
movl %ecx, %r8d
callq 0x57270
movq (%r12), %rax
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq *0xe0(%rax)
leaq 0x30(%rsp), %rdi
callq 0x56720
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x556b0
movq %rax, %r12
movq (%rbp), %r13
leaq 0xae784(%rip), %rsi     # 0x11373b
leaq 0x30(%rsp), %rdi
callq 0x579f0
leaq 0x30(%rsp), %rsi
movq %r13, %rdi
movq 0x10(%rsp), %rbx
callq 0x58260
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
movq $0x0, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x55a00
movq %r12, 0x406c8(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movq 0x406c8(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movq 0x406c8(%rbx), %r12
movswl (%r14), %edx
movswl (%r15), %ecx
leaq 0x20(%rsp), %r9
movq $0xff, 0x8(%r9)
movl $0x0, (%r9)
movq 0x107d60(%rip), %rsi    # 0x16cdb8
leaq 0x30(%rsp), %rdi
movl %ecx, %r8d
callq 0x57270
movq (%r12), %rax
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq *0xe0(%rax)
leaq 0x30(%rsp), %rdi
callq 0x56720
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x556b0
movq %rax, %r12
movq (%rbp), %r13
leaq 0xaeb68(%rip), %rsi     # 0x113c01
leaq 0x30(%rsp), %rdi
callq 0x579f0
leaq 0x30(%rsp), %rsi
movq %r13, %rdi
movq 0x10(%rsp), %rbx
callq 0x58260
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
movq $0x0, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x55a00
movq %r12, 0x406d0(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movq 0x406d0(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movq 0x406d0(%rbx), %r12
movswl (%r14), %edx
movswl (%r15), %ecx
leaq 0x20(%rsp), %r9
movq $0xa000, 0x8(%r9)       # imm = 0xA000
movl $0x0, (%r9)
movq 0x107c7e(%rip), %rsi    # 0x16cdb8
leaq 0x30(%rsp), %rdi
movl %ecx, %r8d
callq 0x57270
movq (%r12), %rax
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq *0xe0(%rax)
leaq 0x30(%rsp), %rdi
callq 0x56720
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x556b0
movq %rax, %r12
movq (%rbp), %r13
leaq 0xaea50(%rip), %rsi     # 0x113bcb
leaq 0x30(%rsp), %rdi
callq 0x579f0
leaq 0x30(%rsp), %rsi
movq %r13, %rdi
movq 0x10(%rsp), %rbx
callq 0x58260
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
movq $0x0, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x55a00
movq %r12, 0x406d8(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movq 0x406d8(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movq 0x406d8(%rbx), %r12
movswl (%r14), %edx
movswl (%r15), %ecx
leaq 0x20(%rsp), %r9
movq $0xff0000, 0x8(%r9)     # imm = 0xFF0000
movl $0x0, (%r9)
movq 0x107b9c(%rip), %rsi    # 0x16cdb8
leaq 0x30(%rsp), %rdi
movl %ecx, %r8d
callq 0x57270
movq (%r12), %rax
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq *0xe0(%rax)
leaq 0x30(%rsp), %rdi
callq 0x56720
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x556b0
movq %rax, %r12
movq (%rbp), %r13
leaq 0x8f55a(%rip), %rsi     # 0xf47b7
leaq 0x30(%rsp), %rdi
callq 0x579f0
leaq 0x30(%rsp), %rsi
movq %r13, %rdi
movq 0x10(%rsp), %rbx
callq 0x58260
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
movq $0x0, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
callq 0x55a00
movq %r12, 0x406e0(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movq 0x406e0(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movq 0x406e0(%rbx), %r12
movswl (%r14), %edx
movswl (%r15), %ecx
movq 0x107ace(%rip), %rsi    # 0x16cdb8
movq 0x1076f7(%rip), %r9     # 0x16c9e8
leaq 0x30(%rsp), %rdi
movl %ecx, %r8d
callq 0x57270
movq (%r12), %rax
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
callq *0xe0(%rax)
leaq 0x30(%rsp), %rdi
callq 0x56720
movl $0x630, %edi            # imm = 0x630
callq 0x556b0
movq %rax, %r12
movq 0x70(%rsp), %rax
movslq (%rax), %rsi
leaq 0x30(%rsp), %rdi
callq 0x56cf0
movabsq $0x2200000025, %rax     # imm = 0x2200000025
leaq 0x20(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x18(%rsp), %rcx
movq $0x1e, (%rcx)
leaq 0x30(%rsp), %rsi
movq %r12, %rdi
movl $0x3, %r8d
movq 0x10(%rsp), %rbx
callq 0x56d20
movq %r12, 0x406e8(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movl $0x5d0, %edi            # imm = 0x5D0
addq 0x406e8(%rbx), %rdi
movq 0x107c35(%rip), %rsi    # 0x16cfc8
xorl %edx, %edx
movq %rbx, %rcx
callq 0x692c0
movq 0x406e8(%rbx), %rdi
movl $0x1, 0x30(%rdi)
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x630, %edi            # imm = 0x630
callq 0x556b0
movq %rax, %r15
movq 0x78(%rsp), %rax
movslq (%rax), %rsi
leaq 0x30(%rsp), %rdi
callq 0x56cf0
movq 0x10(%rsp), %rbx
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
movq %r15, %rdi
movl $0x3, %r8d
callq 0x56d20
movq %r15, 0x406f0(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movl $0x5d0, %edi            # imm = 0x5D0
addq 0x406f0(%rbx), %rdi
movq 0x1078f2(%rip), %rsi    # 0x16cd30
xorl %edx, %edx
movq %rbx, %rcx
callq 0x692c0
movq 0x406f0(%rbx), %rdi
movl $0x1, 0x30(%rdi)
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x630, %edi            # imm = 0x630
callq 0x556b0
movq %rax, %r15
movq 0xa0(%rsp), %rax
movslq (%rax), %rsi
leaq 0x30(%rsp), %rdi
callq 0x56cf0
movq 0x10(%rsp), %rbx
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
movq %r15, %rdi
movl $0x3, %r8d
callq 0x56d20
movq %r15, 0x406f8(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movl $0x5d0, %edi            # imm = 0x5D0
addq 0x406f8(%rbx), %rdi
movq 0x106fac(%rip), %rsi    # 0x16c498
xorl %edx, %edx
movq %rbx, %rcx
callq 0x692c0
movq 0x406f8(%rbx), %rdi
movl $0x1, 0x30(%rdi)
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x630, %edi            # imm = 0x630
callq 0x556b0
movq %rax, %r15
movq 0x98(%rsp), %rax
movslq (%rax), %rsi
leaq 0x30(%rsp), %rdi
callq 0x56cf0
movq 0x10(%rsp), %rbx
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
movq %r15, %rdi
movl $0x3, %r8d
callq 0x56d20
movq %r15, 0x40700(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movl $0x5d0, %edi            # imm = 0x5D0
addq 0x40700(%rbx), %rdi
movq 0x10758e(%rip), %rsi    # 0x16cb28
xorl %edx, %edx
movq %rbx, %rcx
callq 0x692c0
movq 0x40700(%rbx), %rdi
movl $0x1, 0x30(%rdi)
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x630, %edi            # imm = 0x630
callq 0x556b0
movq %rax, %r15
movq 0x90(%rsp), %rax
movslq (%rax), %rsi
leaq 0x30(%rsp), %rdi
callq 0x56cf0
movq 0x10(%rsp), %rbx
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
movq %r15, %rdi
movl $0x3, %r8d
callq 0x56d20
movq %r15, 0x40708(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movl $0x5d0, %edi            # imm = 0x5D0
addq 0x40708(%rbx), %rdi
movq 0x107940(%rip), %rsi    # 0x16cf88
xorl %edx, %edx
movq %rbx, %rcx
callq 0x692c0
movq 0x40708(%rbx), %rdi
movl $0x1, 0x30(%rdi)
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x630, %edi            # imm = 0x630
callq 0x556b0
movq %rax, %r15
movq 0x88(%rsp), %rax
movslq (%rax), %rsi
leaq 0x30(%rsp), %rdi
callq 0x56cf0
movq 0x10(%rsp), %rbx
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
movq %r15, %rdi
movl $0x3, %r8d
callq 0x56d20
movq %r15, 0x40710(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x59200
movl $0x5d0, %edi            # imm = 0x5D0
addq 0x40710(%rbx), %rdi
movq 0x1073ca(%rip), %rsi    # 0x16cac0
xorl %edx, %edx
movq %rbx, %rcx
callq 0x692c0
movq 0x40710(%rbx), %rdi
movl $0x1, 0x30(%rdi)
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movq %rbx, %rdi
callq 0x58aa0
movl $0x630, %edi            # imm = 0x630
callq 0x556b0
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)
movq %r15, %rdi
movq 0x80(%rsp), %rsi
movl $0x7, %r8d
callq 0x56d20
movq %r15, 0x40718(%rbx)
addq $0x5d0, %r15            # imm = 0x5D0
movq 0x1071da(%rip), %rsi    # 0x16c960
movq %r15, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x692c0
movq 0x40718(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movw $0x0, 0x600(%rbx)
movq $-0x1, 0x608(%rbx)
movl $0xffffffff, 0x610(%rbx) # imm = 0xFFFFFFFF
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 0x1074b7(%rip), %rsi    # 0x16cea8
xorl %edx, %edx
movq %rbx, %rcx
callq 0x69144
movl $0x668, %edi            # imm = 0x668
addq 0x40648(%rbx), %rdi
movq 0x106d92(%rip), %rsi    # 0x16c7a0
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6937e
movq 0x40648(%rbx), %rax
orl $0x1, 0x30(%rax)
movq 0x620(%rax), %rax
cvtsi2sdl 0xa8(%rax), %xmm0
movsd %xmm0, 0x70(%rsp)
leaq 0x20(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
callq 0x57150
leaq 0x30(%rsp), %rdi
callq 0x58930
movsd 0x70(%rsp), %xmm1
addsd 0x8e948(%rip), %xmm1    # 0xf43b0
cwtl
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
mulsd %xmm1, %xmm0
divsd 0x8ea74(%rip), %xmm0    # 0xf44f0
xorpd %xmm1, %xmm1
xorl %eax, %eax
ucomisd %xmm0, %xmm1
seta %al
leaq 0x8ed00(%rip), %r14     # 0xf4790
addsd (%r14,%rax,8), %xmm0
cvttsd2si %xmm0, %rax
movl %eax, 0x5f8(%rbx)
leaq 0x30(%rsp), %rdi
callq 0x57b20
movq 0x40648(%rbx), %rax
movq 0x620(%rax), %rax
movl 0xac(%rax), %ebx
leaq 0x20(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
callq 0x57150
leaq 0x30(%rsp), %rdi
callq 0x58930
xorps %xmm0, %xmm0
cvtsi2sd %ebx, %xmm0
addsd 0x8e8c0(%rip), %xmm0    # 0xf43b0
cwtl
xorps %xmm1, %xmm1
cvtsi2sd %eax, %xmm1
mulsd %xmm0, %xmm1
divsd 0x8e9ec(%rip), %xmm1    # 0xf44f0
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 0x57b20
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x65b4a
jmp 0x65cab
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x57b20
jmp 0x65cae
jmp 0x65cab
jmp 0x65b82
jmp 0x65b73
jmp 0x65b82
jmp 0x65b73
jmp 0x65b82
jmp 0x65b73
jmp 0x65b82
jmp 0x65b73
jmp 0x65b82
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x59200
jmp 0x65b85
movq %rax, %r14
movl $0x630, %esi            # imm = 0x630
jmp 0x65c94
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x59200
jmp 0x65ba1
movq %rax, %r14
movl $0x630, %esi            # imm = 0x630
jmp 0x65c3d
jmp 0x65bf9
jmp 0x65cab
jmp 0x65c12
jmp 0x65c12
jmp 0x65c21
jmp 0x65bf9
jmp 0x65cab
jmp 0x65c12
jmp 0x65c12
jmp 0x65c21
jmp 0x65bf9
jmp 0x65cab
jmp 0x65c12
jmp 0x65c12
jmp 0x65c21
jmp 0x65bf9
jmp 0x65cab
jmp 0x65c12
jmp 0x65c12
jmp 0x65c21
jmp 0x65bf9
jmp 0x65cab
jmp 0x65c12
jmp 0x65c12
jmp 0x65c21
jmp 0x65bf9
jmp 0x65cab
jmp 0x65c12
jmp 0x65c12
jmp 0x65c21
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x56720
jmp 0x65cae
jmp 0x65cab
jmp 0x65c12
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x59200
jmp 0x65c24
movq %rax, %r14
movl $0x5c0, %esi            # imm = 0x5C0
jmp 0x65c3d
jmp 0x65c35
jmp 0x65c35
jmp 0x65c35
jmp 0x65c35
jmp 0x65c35
movq %rax, %r14
movl $0x610, %esi            # imm = 0x610
movq %r12, %rdi
jmp 0x65c97
jmp 0x65c44
movq %rax, %r14
movl $0x5d0, %esi            # imm = 0x5D0
jmp 0x65c94
jmp 0x65c56
jmp 0x65c56
jmp 0x65c71
jmp 0x65c56
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x59200
jmp 0x65c74
jmp 0x65c71
movq %rax, %r14
movl $0x5f8, %esi            # imm = 0x5F8
jmp 0x65c94
movq %rax, %r14
movl $0x5c8, %esi            # imm = 0x5C8
jmp 0x65c94
jmp 0x65c7d
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x59200
jmp 0x65c8f
movq %rax, %r14
movl $0x6d8, %esi            # imm = 0x6D8
movq %r15, %rdi
callq 0x55480
jmp 0x65cae
jmp 0x65cab
jmp 0x65cab
jmp 0x65cab
movq %rax, %r14
jmp 0x65cc0
jmp 0x65cab
movq %rax, %r14
movq 0x80(%rsp), %rdi
callq 0x59200
movq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x55b00
movq %r14, %rdi
callq 0x57090