// File: /workspace/github_c_makefile_star2_O3/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 0x10744c(%rip), %rax    # 0x16ba00
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 0x64617
incq %r14
addq $0x4, %r13
movq 0x70(%rsp), %rbp
movl $0x100, %eax            # imm = 0x100
addq %rax, %rbp
cmpq %rax, %r14
jne 0x64610
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 0x106cc0(%rip), %rbp    # 0x16b3e8
movq (%rbp), %r14
leaq 0x8f0fd(%rip), %rsi     # 0xf3830
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 0xc994d(%rip), %rsi     # 0x12e148
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 0x10732c(%rip), %rsi    # 0x16bb90
xorl %edx, %edx
movq %rbx, %rcx
callq 0x690dc
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 0x8efa5(%rip), %rsi     # 0xf3840
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 0x10717c(%rip), %rsi    # 0x16ba80
xorl %edx, %edx
movq %rbx, %rcx
callq 0x690dc
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 0x106b31(%rip), %rsi    # 0x16b508
movq %r15, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x690dc
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 0x107299(%rip), %rsi    # 0x16bce0
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6919c
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 0x106e80(%rip), %rsi    # 0x16b958
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6919c
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 0x1068ac(%rip), %rsi    # 0x16b418
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6919c
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 0x1070a0(%rip), %rsi    # 0x16bca0
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6919c
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 0x106a14(%rip), %rsi    # 0x16b6a8
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6919c
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 0x106f50(%rip), %rsi    # 0x16bc78
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6919c
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 0xb88d7(%rip), %rsi     # 0x11d639
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 0x1070bd(%rip), %r14    # 0x16be98
movswl (%r14), %edx
movq 0x10699a(%rip), %r15    # 0x16b780
movswl (%r15), %ecx
movq 0x106fc7(%rip), %rsi    # 0x16bdb8
movq 0x106bf0(%rip), %r9     # 0x16b9e8
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 0xc4c80(%rip), %rsi     # 0x129ab9
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 0x106ef2(%rip), %rsi    # 0x16bdb8
movq 0x106b1b(%rip), %r9     # 0x16b9e8
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 0xadec5(%rip), %rsi     # 0x112dd3
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 0x106e1d(%rip), %rsi    # 0x16bdb8
movq 0x106a46(%rip), %r9     # 0x16b9e8
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 0xad91d(%rip), %rsi     # 0x112900
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 0x106d34(%rip), %rsi    # 0x16bdb8
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 0xadd3c(%rip), %rsi     # 0x112e01
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 0x106c52(%rip), %rsi    # 0x16bdb8
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 0xadc24(%rip), %rsi     # 0x112dcb
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 0x106b70(%rip), %rsi    # 0x16bdb8
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 0x8e5be(%rip), %rsi     # 0xf3847
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 0x106aa2(%rip), %rsi    # 0x16bdb8
movq 0x1066cb(%rip), %r9     # 0x16b9e8
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 0x106c09(%rip), %rsi    # 0x16bfc8
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6925c
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 0x1068c6(%rip), %rsi    # 0x16bd30
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6925c
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 0x105f80(%rip), %rsi    # 0x16b498
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6925c
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 0x106562(%rip), %rsi    # 0x16bb28
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6925c
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 0x106914(%rip), %rsi    # 0x16bf88
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6925c
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 0x10639e(%rip), %rsi    # 0x16bac0
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6925c
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 0x1061ae(%rip), %rsi    # 0x16b960
movq %r15, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6925c
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 0x10648b(%rip), %rsi    # 0x16bea8
xorl %edx, %edx
movq %rbx, %rcx
callq 0x690dc
movl $0x668, %edi            # imm = 0x668
addq 0x40648(%rbx), %rdi
movq 0x105d66(%rip), %rsi    # 0x16b7a0
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6931c
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 0x8d91c(%rip), %xmm1    # 0xf33b0
cwtl
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
mulsd %xmm1, %xmm0
divsd 0x8dc10(%rip), %xmm0    # 0xf36b8
xorpd %xmm1, %xmm1
xorl %eax, %eax
ucomisd %xmm0, %xmm1
seta %al
leaq 0x8dd34(%rip), %r14     # 0xf37f0
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 0x8d894(%rip), %xmm0    # 0xf33b0
cwtl
xorps %xmm1, %xmm1
cvtsi2sd %eax, %xmm1
mulsd %xmm0, %xmm1
divsd 0x8db88(%rip), %xmm1    # 0xf36b8
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 0x65b76
jmp 0x65cd7
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x57b20
jmp 0x65cda
jmp 0x65cd7
jmp 0x65bae
jmp 0x65b9f
jmp 0x65bae
jmp 0x65b9f
jmp 0x65bae
jmp 0x65b9f
jmp 0x65bae
jmp 0x65b9f
jmp 0x65bae
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x59200
jmp 0x65bb1
movq %rax, %r14
movl $0x630, %esi            # imm = 0x630
jmp 0x65cc0
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x59200
jmp 0x65bcd
movq %rax, %r14
movl $0x630, %esi            # imm = 0x630
jmp 0x65c69
jmp 0x65c25
jmp 0x65cd7
jmp 0x65c3e
jmp 0x65c3e
jmp 0x65c4d
jmp 0x65c25
jmp 0x65cd7
jmp 0x65c3e
jmp 0x65c3e
jmp 0x65c4d
jmp 0x65c25
jmp 0x65cd7
jmp 0x65c3e
jmp 0x65c3e
jmp 0x65c4d
jmp 0x65c25
jmp 0x65cd7
jmp 0x65c3e
jmp 0x65c3e
jmp 0x65c4d
jmp 0x65c25
jmp 0x65cd7
jmp 0x65c3e
jmp 0x65c3e
jmp 0x65c4d
jmp 0x65c25
jmp 0x65cd7
jmp 0x65c3e
jmp 0x65c3e
jmp 0x65c4d
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x56720
jmp 0x65cda
jmp 0x65cd7
jmp 0x65c3e
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x59200
jmp 0x65c50
movq %rax, %r14
movl $0x5c0, %esi            # imm = 0x5C0
jmp 0x65c69
jmp 0x65c61
jmp 0x65c61
jmp 0x65c61
jmp 0x65c61
jmp 0x65c61
movq %rax, %r14
movl $0x610, %esi            # imm = 0x610
movq %r12, %rdi
jmp 0x65cc3
jmp 0x65c70
movq %rax, %r14
movl $0x5d0, %esi            # imm = 0x5D0
jmp 0x65cc0
jmp 0x65c82
jmp 0x65c82
jmp 0x65c9d
jmp 0x65c82
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x59200
jmp 0x65ca0
jmp 0x65c9d
movq %rax, %r14
movl $0x5f8, %esi            # imm = 0x5F8
jmp 0x65cc0
movq %rax, %r14
movl $0x5c8, %esi            # imm = 0x5C8
jmp 0x65cc0
jmp 0x65ca9
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x59200
jmp 0x65cbb
movq %rax, %r14
movl $0x6d8, %esi            # imm = 0x6D8
movq %r15, %rdi
callq 0x55480
jmp 0x65cda
jmp 0x65cd7
jmp 0x65cd7
jmp 0x65cd7
movq %rax, %r14
jmp 0x65cec
jmp 0x65cd7
movq %rax, %r14
movq 0x80(%rsp), %rdi
callq 0x59200
movq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x55b00
movq %r14, %rdi
callq 0x57090