// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/colordlg.cpp
// Function: smooth::GUI::Dialogs::ColorSelection::ColorDlgMessageProc(int, int, int)
void S::GUI::Dialogs::ColorSelection::ColorDlgMessageProc(Int message, Int wparam, Int lparam)
{
	Surface	*surface    = dlgwnd->GetDrawSurface();
	Rect	 huerect;
	Rect	 vsrect;
	Int	 hssize	    = Math::Round(205.0 * surface->GetSurfaceDPI() / 96.0);
	Int	 huexoffset = hssize + Math::Round(14.0 * surface->GetSurfaceDPI() / 96.0);

	huerect.left	= huexoffset;
	huerect.top	= yoffset;
	huerect.right	= huerect.left + Math::Round(16.0 * surface->GetSurfaceDPI() / 96.0) + 1;
	huerect.bottom	= huerect.top + hssize + 1;

	vsrect.left	= xoffset + 1;
	vsrect.top	= yoffset + 1;
	vsrect.right	= vsrect.left + hssize;
	vsrect.bottom	= vsrect.top + hssize;

	switch (message)
	{
		case SM_LBUTTONDOWN:
			if (dlgwnd->IsMouseOn(huerect))
			{
				huecapt = True;

				ColorDlgMessageProc(SM_MOUSEMOVE, 0, 0);
			}
			else if (dlgwnd->IsMouseOn(vsrect))
			{
				vscapt = True;

				ColorDlgMessageProc(SM_MOUSEMOVE, 0, 0);
			}

			break;
		case SM_LBUTTONUP:
			if (huecapt)
			{
				huecapt = False;

				dlgwnd->SetUpdateRect(vsrect);
				ColorDlgPaintProc();
			}
			else if (vscapt)
			{
				vscapt = False;
			}

			break;
		case SM_MOUSEMOVE:
			if (huecapt)
			{
				Int	 newhue = 255 - Math::Round(Math::Max(Math::Min(dlgwnd->GetMousePosition().y - (yoffset + 1), hssize - 1), 0) * (256.0 / hssize));

				if (newhue != acthue)
				{
					lasthue	= acthue;
					acthue	= newhue;

					dlgwnd->SetUpdateRect(Rect(Point(xoffset + 1, yoffset + 1), Size(hssize, hssize)));
					ColorDlgPaintProc();

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

					ColorDlgUpdateHexValue();

					hueedit->SetText(String::FromInt(acthue));
					rededit->SetText(String::FromInt(actred));
					greenedit->SetText(String::FromInt(actgreen));
					blueedit->SetText(String::FromInt(actblue));
					hexedit->SetText(hexval);
				}
			}
			else if (vscapt)
			{
				Point	 mousePos = dlgwnd->GetMousePosition();

				Int	 newval = 	Math::Round(Math::Max(Math::Min(mousePos.x - (xoffset + 1), hssize - 1), 0) * (256.0 / hssize));
				Int	 newsat = 255 - Math::Round(Math::Max(Math::Min(mousePos.y - (yoffset + 1), hssize - 1), 0) * (256.0 / hssize));

				if ((newval != actval) || (newsat != actsat))
				{
					lastval	= actval;
					lastsat	= actsat;
					actval	= newval;
					actsat	= newsat;

					ncarea->SetColor(Color(acthue, actsat, actval, Color::HSV).ConvertTo(Color::RGB));

					surface->StartPaint(Rect(Point(xoffset - 4, yoffset - 4), Size(hssize + 5, hssize + 5)));

					ColorDlgUpdatePickers();

					surface->EndPaint();

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

					ColorDlgUpdateHexValue();

					valedit->SetText(String::FromInt(actval));
					satedit->SetText(String::FromInt(actsat));
					rededit->SetText(String::FromInt(actred));
					greenedit->SetText(String::FromInt(actgreen));
					blueedit->SetText(String::FromInt(actblue));
					hexedit->SetText(hexval);
				}
			}

			break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x400, %rsp            # imm = 0x400
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x280(%rbp)
movq 0x40648(%rax), %rdi
movq (%rdi), %rax
movq 0x40(%rax), %rax
callq *%rax
movq %rax, -0x20(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x5c030
leaq -0x40(%rbp), %rdi
callq 0x5c030
movq -0x20(%rbp), %rdi
callq 0x5d470
cwtl
cvtsi2sd %eax, %xmm0
movsd 0x10bed9(%rip), %xmm1   # 0x187718
mulsd %xmm1, %xmm0
movsd 0x10bc75(%rip), %xmm1   # 0x1874c0
movsd %xmm1, -0x290(%rbp)
divsd %xmm1, %xmm0
callq 0x5a970
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %eax
movl %eax, -0x294(%rbp)
movq -0x20(%rbp), %rdi
callq 0x5d470
movsd -0x290(%rbp), %xmm1
cwtl
cvtsi2sd %eax, %xmm0
movsd 0x10be9a(%rip), %xmm2   # 0x187720
mulsd %xmm2, %xmm0
divsd %xmm1, %xmm0
callq 0x5a970
movl -0x294(%rbp), %ecx
movq %rax, %rdx
movq -0x280(%rbp), %rax
addl %edx, %ecx
movl %ecx, -0x48(%rbp)
movl -0x48(%rbp), %ecx
movl %ecx, -0x30(%rbp)
movl 0x5fc(%rax), %eax
movl %eax, -0x2c(%rbp)
movl -0x30(%rbp), %eax
movl %eax, -0x284(%rbp)
movq -0x20(%rbp), %rdi
callq 0x5d470
movsd -0x290(%rbp), %xmm1
cwtl
cvtsi2sd %eax, %xmm0
movsd 0x10be52(%rip), %xmm2   # 0x187730
mulsd %xmm2, %xmm0
divsd %xmm1, %xmm0
callq 0x5a970
movl -0x284(%rbp), %edx
movq %rax, %rcx
movq -0x280(%rbp), %rax
movl %ecx, %esi
movl %edx, %ecx
movl %esi, %edx
leal 0x1(%rcx,%rdx), %ecx
movl %ecx, -0x28(%rbp)
movl -0x2c(%rbp), %esi
movl -0x44(%rbp), %ecx
movl %ecx, %edx
movl %esi, %ecx
leal 0x1(%rcx,%rdx), %ecx
movl %ecx, -0x24(%rbp)
movl 0x5f8(%rax), %ecx
incl %ecx
movl %ecx, -0x40(%rbp)
movl 0x5fc(%rax), %eax
incl %eax
movl %eax, -0x3c(%rbp)
movl -0x40(%rbp), %eax
movl -0x44(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x38(%rbp)
movl -0x3c(%rbp), %eax
movl -0x44(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x34(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x274(%rbp)
subl $0x7800, %eax           # imm = 0x7800
je 0x7ba5c
jmp 0x7b95b
movl -0x274(%rbp), %eax
subl $0x7801, %eax           # imm = 0x7801
je 0x7b980
jmp 0x7b96a
movl -0x274(%rbp), %eax
subl $0x7802, %eax           # imm = 0x7802
je 0x7b9fb
jmp 0x7c4fa
movq -0x280(%rbp), %rax
movq 0x40648(%rax), %rdi
leaq -0x30(%rbp), %rsi
callq 0x5c060
testb $0x1, %al
jne 0x7b99d
jmp 0x7b9bb
movq -0x280(%rbp), %rdi
movb $0x1, 0x600(%rdi)
movl $0x7800, %esi           # imm = 0x7800
xorl %ecx, %ecx
movl %ecx, %edx
callq 0x5de50
jmp 0x7b9f6
movq -0x280(%rbp), %rax
movq 0x40648(%rax), %rdi
leaq -0x40(%rbp), %rsi
callq 0x5c060
testb $0x1, %al
jne 0x7b9d8
jmp 0x7b9f4
movq -0x280(%rbp), %rdi
movb $0x1, 0x601(%rdi)
movl $0x7800, %esi           # imm = 0x7800
xorl %ecx, %ecx
movl %ecx, %edx
callq 0x5de50
jmp 0x7b9f6
jmp 0x7c4fa
movq -0x280(%rbp), %rax
testb $0x1, 0x600(%rax)
je 0x7ba37
movq -0x280(%rbp), %rax
movb $0x0, 0x600(%rax)
movq 0x40648(%rax), %rdi
leaq -0x40(%rbp), %rsi
callq 0x5acc0
movq -0x280(%rbp), %rdi
callq 0x5dee0
jmp 0x7ba57
movq -0x280(%rbp), %rax
testb $0x1, 0x601(%rax)
je 0x7ba55
movq -0x280(%rbp), %rax
movb $0x0, 0x601(%rax)
jmp 0x7ba57
jmp 0x7c4fa
movq -0x280(%rbp), %rax
testb $0x1, 0x600(%rax)
je 0x7bee8
movq -0x280(%rbp), %rax
movq 0x40648(%rax), %rdi
callq 0x5b090
movq %rax, %rcx
movq -0x280(%rbp), %rax
movq %rcx, -0x54(%rbp)
movl -0x50(%rbp), %edi
movl 0x5fc(%rax), %eax
addl $0x1, %eax
subl %eax, %edi
movl -0x44(%rbp), %esi
subl $0x1, %esi
callq 0x5ce90
movl %eax, %edi
xorl %esi, %esi
callq 0x5aae0
cvtsi2sd %eax, %xmm0
cvtsi2sdl -0x44(%rbp), %xmm2
movsd 0x10bc64(%rip), %xmm1   # 0x187728
divsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
callq 0x5a970
movq -0x280(%rbp), %rcx
movq %rax, %rdx
movl $0xff, %eax
subq %rdx, %rax
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
cmpl 0x614(%rcx), %eax
je 0x7bee3
movq -0x280(%rbp), %rax
movl 0x614(%rax), %ecx
movl %ecx, 0x608(%rax)
movl -0x4c(%rbp), %ecx
movl %ecx, 0x614(%rax)
movq 0x40648(%rax), %rcx
movq %rcx, -0x2f8(%rbp)
movl 0x5f8(%rax), %esi
movl 0x5fc(%rax), %edx
incl %esi
incl %edx
leaq -0x6c(%rbp), %rdi
movq %rdi, -0x308(%rbp)
callq 0x5c2c0
movl -0x44(%rbp), %edx
leaq -0x74(%rbp), %rdi
movq %rdi, -0x300(%rbp)
movl %edx, %esi
callq 0x59260
movq -0x308(%rbp), %rsi
movq -0x300(%rbp), %rdx
leaq -0x64(%rbp), %rdi
movq %rdi, -0x2f0(%rbp)
callq 0x59ff0
movq -0x2f8(%rbp), %rdi
movq -0x2f0(%rbp), %rsi
callq 0x5acc0
movq -0x280(%rbp), %rdi
callq 0x5dee0
movq -0x280(%rbp), %rax
movl 0x614(%rax), %esi
movl 0x618(%rax), %edx
movl 0x61c(%rax), %ecx
leaq -0x98(%rbp), %rdi
movq %rdi, -0x2e8(%rbp)
movl $0x2, %r8d
movl %r8d, -0x2c4(%rbp)
callq 0x5a6b0
movq -0x2e8(%rbp), %rsi
leaq -0x88(%rbp), %rdi
movq %rdi, -0x2e0(%rbp)
xorl %edx, %edx
movl %edx, -0x2b4(%rbp)
callq 0x5c5e0
movq -0x2e0(%rbp), %rdi
callq 0x59f20
movl -0x2c4(%rbp), %r8d
movl %eax, %ecx
movq -0x280(%rbp), %rax
movl %ecx, 0x620(%rax)
movl 0x614(%rax), %esi
movl 0x618(%rax), %edx
movl 0x61c(%rax), %ecx
leaq -0xb8(%rbp), %rdi
movq %rdi, -0x2d8(%rbp)
callq 0x5a6b0
movq -0x2d8(%rbp), %rsi
movl -0x2b4(%rbp), %edx
leaq -0xa8(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
callq 0x5c5e0
movq -0x2d0(%rbp), %rdi
callq 0x5d920
movl -0x2c4(%rbp), %r8d
movl %eax, %ecx
movq -0x280(%rbp), %rax
movl %ecx, 0x624(%rax)
movl 0x614(%rax), %esi
movl 0x618(%rax), %edx
movl 0x61c(%rax), %ecx
leaq -0xd8(%rbp), %rdi
movq %rdi, -0x2c0(%rbp)
callq 0x5a6b0
movq -0x2c0(%rbp), %rsi
movl -0x2b4(%rbp), %edx
leaq -0xc8(%rbp), %rdi
movq %rdi, -0x2b0(%rbp)
callq 0x5c5e0
movq -0x2b0(%rbp), %rdi
callq 0x5b650
movq -0x280(%rbp), %rdi
movl %eax, 0x628(%rdi)
callq 0x5d650
movq -0x280(%rbp), %rax
movq 0x406e8(%rax), %rcx
movq %rcx, -0x2a8(%rbp)
movslq 0x614(%rax), %rsi
leaq -0xf0(%rbp), %rdi
movq %rdi, -0x2a0(%rbp)
callq 0x5b290
movq -0x2a8(%rbp), %rdi
movq -0x2a0(%rbp), %rsi
movq (%rdi), %rax
movq 0xa0(%rax), %rax
callq *%rax
jmp 0x7bd23
leaq -0xf0(%rbp), %rdi
callq 0x5df00
movq -0x280(%rbp), %rax
movq 0x40700(%rax), %rcx
movq %rcx, -0x318(%rbp)
movslq 0x620(%rax), %rsi
leaq -0x118(%rbp), %rdi
movq %rdi, -0x310(%rbp)
callq 0x5b290
movq -0x318(%rbp), %rdi
movq -0x310(%rbp), %rsi
movq (%rdi), %rax
movq 0xa0(%rax), %rax
callq *%rax
jmp 0x7bd7a
leaq -0x118(%rbp), %rdi
callq 0x5df00
movq -0x280(%rbp), %rax
movq 0x40708(%rax), %rcx
movq %rcx, -0x328(%rbp)
movslq 0x624(%rax), %rsi
leaq -0x130(%rbp), %rdi
movq %rdi, -0x320(%rbp)
callq 0x5b290
movq -0x328(%rbp), %rdi
movq -0x320(%rbp), %rsi
movq (%rdi), %rax
movq 0xa0(%rax), %rax
callq *%rax
jmp 0x7bdd1
leaq -0x130(%rbp), %rdi
callq 0x5df00
movq -0x280(%rbp), %rax
movq 0x40710(%rax), %rcx
movq %rcx, -0x338(%rbp)
movslq 0x628(%rax), %rsi
leaq -0x148(%rbp), %rdi
movq %rdi, -0x330(%rbp)
callq 0x5b290
movq -0x338(%rbp), %rdi
movq -0x330(%rbp), %rsi
movq (%rdi), %rax
movq 0xa0(%rax), %rax
callq *%rax
jmp 0x7be28
leaq -0x148(%rbp), %rdi
callq 0x5df00
movq -0x280(%rbp), %rsi
movq 0x40718(%rsi), %rdi
addq $0x40630, %rsi          # imm = 0x40630
movq (%rdi), %rax
callq *0xa0(%rax)
jmp 0x7bee3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x5df00
jmp 0x7c503
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x5df00
jmp 0x7c503
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x5df00
jmp 0x7c503
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x148(%rbp), %rdi
callq 0x5df00
jmp 0x7c503
jmp 0x7c4f8
movq -0x280(%rbp), %rax
testb $0x1, 0x601(%rax)
je 0x7c4f6
movq -0x280(%rbp), %rax
movq 0x40648(%rax), %rdi
callq 0x5b090
movq %rax, %rcx
movq -0x280(%rbp), %rax
movq %rcx, -0x150(%rbp)
movl -0x150(%rbp), %edi
movl 0x5f8(%rax), %eax
addl $0x1, %eax
subl %eax, %edi
movl -0x44(%rbp), %esi
subl $0x1, %esi
callq 0x5ce90
movl %eax, %edi
xorl %esi, %esi
callq 0x5aae0
cvtsi2sd %eax, %xmm0
cvtsi2sdl -0x44(%rbp), %xmm2
movsd 0x10b7d2(%rip), %xmm1   # 0x187728
divsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
callq 0x5a970
movq %rax, %rcx
movq -0x280(%rbp), %rax
movl %ecx, -0x154(%rbp)
movl -0x14c(%rbp), %edi
movl 0x5fc(%rax), %eax
addl $0x1, %eax
subl %eax, %edi
movl -0x44(%rbp), %esi
subl $0x1, %esi
callq 0x5ce90
movl %eax, %edi
xorl %esi, %esi
callq 0x5aae0
cvtsi2sd %eax, %xmm0
cvtsi2sdl -0x44(%rbp), %xmm2
movsd 0x10b77f(%rip), %xmm1   # 0x187728
divsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
callq 0x5a970
movq -0x280(%rbp), %rcx
movq %rax, %rdx
movl $0xff, %eax
subq %rdx, %rax
movl %eax, -0x158(%rbp)
movl -0x154(%rbp), %eax
cmpl 0x61c(%rcx), %eax
jne 0x7bff5
movq -0x280(%rbp), %rcx
movl -0x158(%rbp), %eax
cmpl 0x618(%rcx), %eax
je 0x7c4f4
movq -0x280(%rbp), %rax
movl 0x61c(%rax), %ecx
movl %ecx, 0x610(%rax)
movl 0x618(%rax), %ecx
movl %ecx, 0x60c(%rax)
movl -0x154(%rbp), %ecx
movl %ecx, 0x61c(%rax)
movl -0x158(%rbp), %ecx
movl %ecx, 0x618(%rax)
movq 0x40670(%rax), %rcx
movq %rcx, -0x3b8(%rbp)
movl 0x614(%rax), %esi
movl 0x618(%rax), %edx
movl 0x61c(%rax), %ecx
leaq -0x178(%rbp), %rdi
movq %rdi, -0x3c0(%rbp)
movl $0x2, %r8d
movl %r8d, -0x364(%rbp)
callq 0x5a6b0
movq -0x3c0(%rbp), %rsi
leaq -0x168(%rbp), %rdi
movq %rdi, -0x3b0(%rbp)
xorl %edx, %edx
movl %edx, -0x354(%rbp)
callq 0x5c5e0
movq -0x3b8(%rbp), %rdi
movq -0x3b0(%rbp), %rsi
callq 0x5c6d0
movq -0x280(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, -0x398(%rbp)
movl 0x5f8(%rax), %esi
movl 0x5fc(%rax), %edx
addl $-0x4, %esi
addl $-0x4, %edx
leaq -0x190(%rbp), %rdi
movq %rdi, -0x3a8(%rbp)
callq 0x5c2c0
movl -0x44(%rbp), %edx
addl $0x5, %edx
leaq -0x198(%rbp), %rdi
movq %rdi, -0x3a0(%rbp)
movl %edx, %esi
callq 0x59260
movq -0x3a8(%rbp), %rsi
movq -0x3a0(%rbp), %rdx
leaq -0x188(%rbp), %rdi
movq %rdi, -0x390(%rbp)
callq 0x59ff0
movq -0x398(%rbp), %rdi
movq -0x390(%rbp), %rsi
callq 0x591b0
movq -0x280(%rbp), %rdi
callq 0x5cdb0
movq -0x20(%rbp), %rdi
callq 0x5d270
movl -0x364(%rbp), %r8d
movq -0x280(%rbp), %rax
movl 0x614(%rax), %esi
movl 0x618(%rax), %edx
movl 0x61c(%rax), %ecx
leaq -0x1b8(%rbp), %rdi
movq %rdi, -0x388(%rbp)
callq 0x5a6b0
movq -0x388(%rbp), %rsi
movl -0x354(%rbp), %edx
leaq -0x1a8(%rbp), %rdi
movq %rdi, -0x380(%rbp)
callq 0x5c5e0
movq -0x380(%rbp), %rdi
callq 0x59f20
movl -0x364(%rbp), %r8d
movl %eax, %ecx
movq -0x280(%rbp), %rax
movl %ecx, 0x620(%rax)
movl 0x614(%rax), %esi
movl 0x618(%rax), %edx
movl 0x61c(%rax), %ecx
leaq -0x1d8(%rbp), %rdi
movq %rdi, -0x378(%rbp)
callq 0x5a6b0
movq -0x378(%rbp), %rsi
movl -0x354(%rbp), %edx
leaq -0x1c8(%rbp), %rdi
movq %rdi, -0x370(%rbp)
callq 0x5c5e0
movq -0x370(%rbp), %rdi
callq 0x5d920
movl -0x364(%rbp), %r8d
movl %eax, %ecx
movq -0x280(%rbp), %rax
movl %ecx, 0x624(%rax)
movl 0x614(%rax), %esi
movl 0x618(%rax), %edx
movl 0x61c(%rax), %ecx
leaq -0x1f8(%rbp), %rdi
movq %rdi, -0x360(%rbp)
callq 0x5a6b0
movq -0x360(%rbp), %rsi
movl -0x354(%rbp), %edx
leaq -0x1e8(%rbp), %rdi
movq %rdi, -0x350(%rbp)
callq 0x5c5e0
movq -0x350(%rbp), %rdi
callq 0x5b650
movq -0x280(%rbp), %rdi
movl %eax, 0x628(%rdi)
callq 0x5d650
movq -0x280(%rbp), %rax
movq 0x406f8(%rax), %rcx
movq %rcx, -0x348(%rbp)
movslq 0x61c(%rax), %rsi
leaq -0x210(%rbp), %rdi
movq %rdi, -0x340(%rbp)
callq 0x5b290
movq -0x348(%rbp), %rdi
movq -0x340(%rbp), %rsi
movq (%rdi), %rax
movq 0xa0(%rax), %rax
callq *%rax
jmp 0x7c2c6
leaq -0x210(%rbp), %rdi
callq 0x5df00
movq -0x280(%rbp), %rax
movq 0x406f0(%rax), %rcx
movq %rcx, -0x3d0(%rbp)
movslq 0x618(%rax), %rsi
leaq -0x228(%rbp), %rdi
movq %rdi, -0x3c8(%rbp)
callq 0x5b290
movq -0x3d0(%rbp), %rdi
movq -0x3c8(%rbp), %rsi
movq (%rdi), %rax
movq 0xa0(%rax), %rax
callq *%rax
jmp 0x7c31d
leaq -0x228(%rbp), %rdi
callq 0x5df00
movq -0x280(%rbp), %rax
movq 0x40700(%rax), %rcx
movq %rcx, -0x3e0(%rbp)
movslq 0x620(%rax), %rsi
leaq -0x240(%rbp), %rdi
movq %rdi, -0x3d8(%rbp)
callq 0x5b290
movq -0x3e0(%rbp), %rdi
movq -0x3d8(%rbp), %rsi
movq (%rdi), %rax
movq 0xa0(%rax), %rax
callq *%rax
jmp 0x7c374
leaq -0x240(%rbp), %rdi
callq 0x5df00
movq -0x280(%rbp), %rax
movq 0x40708(%rax), %rcx
movq %rcx, -0x3f0(%rbp)
movslq 0x624(%rax), %rsi
leaq -0x258(%rbp), %rdi
movq %rdi, -0x3e8(%rbp)
callq 0x5b290
movq -0x3f0(%rbp), %rdi
movq -0x3e8(%rbp), %rsi
movq (%rdi), %rax
movq 0xa0(%rax), %rax
callq *%rax
jmp 0x7c3cb
leaq -0x258(%rbp), %rdi
callq 0x5df00
movq -0x280(%rbp), %rax
movq 0x40710(%rax), %rcx
movq %rcx, -0x400(%rbp)
movslq 0x628(%rax), %rsi
leaq -0x270(%rbp), %rdi
movq %rdi, -0x3f8(%rbp)
callq 0x5b290
movq -0x400(%rbp), %rdi
movq -0x3f8(%rbp), %rsi
movq (%rdi), %rax
movq 0xa0(%rax), %rax
callq *%rax
jmp 0x7c422
leaq -0x270(%rbp), %rdi
callq 0x5df00
movq -0x280(%rbp), %rsi
movq 0x40718(%rsi), %rdi
addq $0x40630, %rsi          # imm = 0x40630
movq (%rdi), %rax
callq *0xa0(%rax)
jmp 0x7c4f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x5df00
jmp 0x7c503
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x228(%rbp), %rdi
callq 0x5df00
jmp 0x7c503
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x240(%rbp), %rdi
callq 0x5df00
jmp 0x7c503
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x5df00
jmp 0x7c503
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x5df00
jmp 0x7c503
jmp 0x7c4f6
jmp 0x7c4f8
jmp 0x7c4fa
addq $0x400, %rsp            # imm = 0x400
popq %rbp
retq
movq -0xf8(%rbp), %rdi
callq 0x5b6b0
nop