// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/colordlg.cpp
// Function: smooth::GUI::Dialogs::ColorSelection::ColorDlgPaintProc()
void S::GUI::Dialogs::ColorSelection::ColorDlgPaintProc()
{
	Surface		*surface    = dlgwnd->GetDrawSurface();
	Rect		 rect;
	Rect		 urect	    = dlgwnd->GetUpdateRect();
	Int		 hssize	    = Math::Round(205.0 * surface->GetSurfaceDPI() / 96.0);
	Int		 huexoffset = hssize + Math::Round(14.0 * surface->GetSurfaceDPI() / 96.0);
	double		 huebias    = 256 / (double) hssize;
	Bitmap		 bmp(Size(hssize, hssize));

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

	if (Rect::DoRectsOverlap(rect, urect))
	{
		double	 hue = 0;

		surface->Frame(rect, FRAME_DOWN);

		for (Int ypos = 0; ypos < hssize; ypos++)
		{
			Point	 p1(huexoffset							     + 1, yoffset + 1 + ypos);
			Point	 p2(huexoffset + Math::Round(16.0 * surface->GetSurfaceDPI() / 96.0) + 1, yoffset + 1 + ypos);

			surface->Line(p1, p2, Color(255 - Math::Round(hue), 255, 255, Color::HSV).ConvertTo(Color::RGB));

			hue += huebias;
		}
	}

	rect.left	= xoffset;
	rect.right	= rect.left + hssize + 2;

	surface->Frame(rect, FRAME_DOWN);

	rect.left	= xoffset - 4;
	rect.top	= yoffset - 4;
	rect.right	= rect.left + hssize;
	rect.bottom	= rect.top + hssize;

	surface->StartPaint(Rect(Point(xoffset - 4, yoffset - 4), Size(hssize + Math::Round(30.0 * surface->GetSurfaceDPI() / 96.0) + 5, hssize + 5)));

	forcehupdate	= True;
	preventvsupdate = True;

	ColorDlgUpdatePickers();

	if (Rect::DoRectsOverlap(rect, urect))
	{
		Rect	 irect = Rect::OverlapRect(rect, urect);

		irect.right += 5;
		irect.bottom += 5;

		Int	 xmin = irect.left - (xoffset + 1);
		Int	 ymin = irect.top - (yoffset + 1);
		Int	 xmax = irect.right - (xoffset + 1);
		Int	 ymax = irect.bottom - (yoffset + 1);

		rect.left   = xmin;
		rect.top    = ymin;
		rect.right  = xmax;
		rect.bottom = ymax;

		for (int sat = Math::Max(0, ymin); sat < Math::Min(hssize, ymax); sat++)
		{
			int	 normrgb = colortable[acthue][255 - Math::Round(sat * (256.0 / hssize))];

			double	 rbias	 = (double) Color(normrgb).GetRed() / (255.0 / (256.0 / hssize));
			double	 gbias	 = (double) Color(normrgb).GetGreen() / (255.0 / (256.0 / hssize));
			double	 bbias	 = (double) Color(normrgb).GetBlue() / (255.0 / (256.0 / hssize));

			double	 ared	 = -rbias + Math::Max(0, xmin) * rbias;
			double	 agreen	 = -gbias + Math::Max(0, xmin) * gbias;
			double	 ablue	 = -bbias + Math::Max(0, xmin) * bbias;

			for (int val = Math::Max(0, xmin); val < Math::Min(hssize, xmax); val++)
			{
				bmp.SetPixel(Point(val, sat), Color(Math::Round(ared += rbias), Math::Round(agreen += gbias), Math::Round(ablue += bbias)));
			}
		}

		surface->BlitFromBitmap(bmp, rect, irect);
	}

	forcevsupdate  = True;
	preventhupdate = True;

	ColorDlgUpdatePickers();

	surface->EndPaint();

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2c0, %rsp            # imm = 0x2C0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x1a0(%rbp)
movq 0x40648(%rax), %rdi
movq (%rdi), %rax
movq 0x40(%rax), %rax
callq *%rax
movq %rax, -0x10(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5c030
movq -0x1a0(%rbp), %rax
movq 0x40648(%rax), %rdi
callq 0x5c5d0
movups (%rax), %xmm0
movaps %xmm0, -0x30(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5d470
cwtl
cvtsi2sd %eax, %xmm0
movsd 0x10c9a1(%rip), %xmm1   # 0x187718
mulsd %xmm1, %xmm0
movsd 0x10c73d(%rip), %xmm1   # 0x1874c0
movsd %xmm1, -0x1b8(%rbp)
divsd %xmm1, %xmm0
callq 0x5a970
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
movl %eax, -0x1ac(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5d470
movsd -0x1b8(%rbp), %xmm1
cwtl
cvtsi2sd %eax, %xmm0
movsd 0x10c962(%rip), %xmm2   # 0x187720
mulsd %xmm2, %xmm0
divsd %xmm1, %xmm0
callq 0x5a970
movq %rax, %rcx
movl -0x1ac(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x38(%rbp)
cvtsi2sdl -0x34(%rbp), %xmm1
movsd 0x10c942(%rip), %xmm0   # 0x187728
divsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movl -0x34(%rbp), %edx
leaq -0x50(%rbp), %rdi
movq %rdi, -0x1a8(%rbp)
movl %edx, %esi
callq 0x59260
movq -0x1a8(%rbp), %rsi
leaq -0x48(%rbp), %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x59b20
movq -0x1a0(%rbp), %rax
movl -0x38(%rbp), %ecx
movl %ecx, -0x20(%rbp)
movl 0x5fc(%rax), %eax
movl %eax, -0x1c(%rbp)
movslq -0x20(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5d470
movw %ax, -0x18a(%rbp)
jmp 0x7ae4c
movw -0x18a(%rbp), %ax
cwtl
cvtsi2sd %eax, %xmm0
movsd 0x10c8d0(%rip), %xmm1   # 0x187730
mulsd %xmm1, %xmm0
movsd 0x10c654(%rip), %xmm1   # 0x1874c0
divsd %xmm1, %xmm0
callq 0x5a970
movq %rax, -0x1c0(%rbp)
jmp 0x7ae7e
movq -0x1c0(%rbp), %rax
movq -0x198(%rbp), %rcx
movl %ecx, %edx
movl %eax, %ecx
movl %edx, %eax
leal 0x2(%rax,%rcx), %eax
movl %eax, -0x18(%rbp)
movl -0x1c(%rbp), %edx
movl -0x34(%rbp), %eax
movl %eax, %ecx
movl %edx, %eax
leal 0x2(%rax,%rcx), %eax
movl %eax, -0x14(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x59b30
movb %al, -0x1c1(%rbp)
jmp 0x7aebf
movb -0x1c1(%rbp), %al
testb $0x1, %al
jne 0x7aece
jmp 0x7b060
movq $0x0, -0x68(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x20(%rbp), %rsi
movl $0x1, %edx
callq 0x5c050
jmp 0x7aeea
movl $0x0, -0x6c(%rbp)
movl -0x6c(%rbp), %eax
cmpl -0x34(%rbp), %eax
jge 0x7b05e
movq -0x1a0(%rbp), %rax
movl -0x38(%rbp), %esi
incl %esi
movl 0x5fc(%rax), %edx
movl -0x6c(%rbp), %eax
movl %eax, %ecx
movl %edx, %eax
leal 0x1(%rax,%rcx), %edx
leaq -0x74(%rbp), %rdi
callq 0x5c2c0
jmp 0x7af25
movslq -0x38(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5d470
movw %ax, -0x1c4(%rbp)
jmp 0x7af42
movw -0x1c4(%rbp), %ax
cwtl
cvtsi2sd %eax, %xmm0
movsd 0x10c7da(%rip), %xmm1   # 0x187730
mulsd %xmm1, %xmm0
movsd 0x10c55e(%rip), %xmm1   # 0x1874c0
divsd %xmm1, %xmm0
callq 0x5a970
movq %rax, -0x1d8(%rbp)
jmp 0x7af74
movq -0x1a0(%rbp), %rax
movq -0x1d8(%rbp), %rcx
movq -0x1d0(%rbp), %rdx
movl %edx, %esi
movl %ecx, %edx
movl %esi, %ecx
leal 0x1(%rcx,%rdx), %esi
movl 0x5fc(%rax), %edx
movl -0x6c(%rbp), %eax
movl %eax, %ecx
movl %edx, %eax
leal 0x1(%rax,%rcx), %edx
leaq -0x7c(%rbp), %rdi
callq 0x5c2c0
jmp 0x7afaf
movq -0x10(%rbp), %rax
movq %rax, -0x1e8(%rbp)
movsd -0x68(%rbp), %xmm0
callq 0x5a970
movq %rax, -0x1e0(%rbp)
jmp 0x7afcd
movq -0x1e0(%rbp), %rax
movl $0xff, %ecx
movl %ecx, %esi
subl %eax, %esi
leaq -0xa0(%rbp), %rdi
movl $0x2, %r8d
movl %ecx, %edx
callq 0x5a6b0
jmp 0x7aff3
leaq -0x90(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
xorl %edx, %edx
callq 0x5c5e0
jmp 0x7b00a
movq -0x1e8(%rbp), %rdi
leaq -0x74(%rbp), %rsi
leaq -0x7c(%rbp), %rdx
leaq -0x90(%rbp), %rcx
callq 0x5cce0
jmp 0x7b027
movsd -0x40(%rbp), %xmm0
addsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movl -0x6c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6c(%rbp)
jmp 0x7aef1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5de40
jmp 0x7b7d5
jmp 0x7b060
movq -0x1a0(%rbp), %rax
movl 0x5f8(%rax), %eax
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %edx
movl -0x34(%rbp), %eax
movl %eax, %ecx
movl %edx, %eax
leal 0x2(%rax,%rcx), %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x20(%rbp), %rsi
movl $0x1, %edx
callq 0x5c050
jmp 0x7b095
movq -0x1a0(%rbp), %rax
movl 0x5f8(%rax), %ecx
addl $-0x4, %ecx
movl %ecx, -0x20(%rbp)
movl 0x5fc(%rax), %ecx
addl $-0x4, %ecx
movl %ecx, -0x1c(%rbp)
movl -0x20(%rbp), %ecx
movl -0x34(%rbp), %edx
addl %edx, %ecx
movl %ecx, -0x18(%rbp)
movl -0x1c(%rbp), %ecx
movl -0x34(%rbp), %edx
addl %edx, %ecx
movl %ecx, -0x14(%rbp)
movq -0x10(%rbp), %rcx
movq %rcx, -0x1f0(%rbp)
movl 0x5f8(%rax), %esi
movl 0x5fc(%rax), %edx
addl $-0x4, %esi
addl $-0x4, %edx
leaq -0xb8(%rbp), %rdi
callq 0x5c2c0
jmp 0x7b0f5
movslq -0x34(%rbp), %rax
movq %rax, -0x200(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5d470
movw %ax, -0x1f2(%rbp)
jmp 0x7b112
movw -0x1f2(%rbp), %ax
cwtl
cvtsi2sd %eax, %xmm0
movsd 0x10c612(%rip), %xmm1   # 0x187738
mulsd %xmm1, %xmm0
movsd 0x10c38e(%rip), %xmm1   # 0x1874c0
divsd %xmm1, %xmm0
callq 0x5a970
movq %rax, -0x208(%rbp)
jmp 0x7b144
movq -0x208(%rbp), %rax
movq -0x200(%rbp), %rcx
movl %ecx, %edx
movl %eax, %ecx
movl %edx, %eax
leal 0x5(%rax,%rcx), %esi
movl -0x34(%rbp), %edx
addl $0x5, %edx
leaq -0xc0(%rbp), %rdi
callq 0x59260
jmp 0x7b170
leaq -0xb0(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
leaq -0xc0(%rbp), %rdx
callq 0x59ff0
jmp 0x7b18c
movq -0x1f0(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x591b0
jmp 0x7b1a1
movq -0x1a0(%rbp), %rdi
movb $0x1, 0x602(%rdi)
movb $0x1, 0x605(%rdi)
callq 0x5cdb0
jmp 0x7b1bd
leaq -0x20(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x59b30
movb %al, -0x209(%rbp)
jmp 0x7b1d2
movb -0x209(%rbp), %al
testb $0x1, %al
jne 0x7b1e1
jmp 0x7b735
leaq -0x20(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x5d6a0
movq %rdx, -0x220(%rbp)
movq %rax, -0x218(%rbp)
jmp 0x7b1fe
movq -0x1a0(%rbp), %rax
movq -0x220(%rbp), %rcx
movq -0x218(%rbp), %rdx
movq %rdx, -0xd0(%rbp)
movq %rcx, -0xc8(%rbp)
movl -0xc8(%rbp), %ecx
addl $0x5, %ecx
movl %ecx, -0xc8(%rbp)
movl -0xc4(%rbp), %ecx
addl $0x5, %ecx
movl %ecx, -0xc4(%rbp)
movl -0xd0(%rbp), %edx
movl 0x5f8(%rax), %ecx
notl %ecx
addl %edx, %ecx
movl %ecx, -0xd4(%rbp)
movl -0xcc(%rbp), %edx
movl 0x5fc(%rax), %ecx
notl %ecx
addl %edx, %ecx
movl %ecx, -0xd8(%rbp)
movl -0xc8(%rbp), %edx
movl 0x5f8(%rax), %ecx
notl %ecx
addl %edx, %ecx
movl %ecx, -0xdc(%rbp)
movl -0xc4(%rbp), %ecx
movl 0x5fc(%rax), %eax
notl %eax
addl %ecx, %eax
movl %eax, -0xe0(%rbp)
movl -0xd4(%rbp), %eax
movl %eax, -0x20(%rbp)
movl -0xd8(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0xdc(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0xe0(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0xd8(%rbp), %esi
xorl %edi, %edi
callq 0x5aae0
movl %eax, -0x224(%rbp)
jmp 0x7b2d0
movl -0x224(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
movl %eax, -0x22c(%rbp)
movl -0x34(%rbp), %edi
movl -0xe0(%rbp), %esi
callq 0x5ce90
movl %eax, -0x228(%rbp)
jmp 0x7b2fe
movl -0x22c(%rbp), %eax
movl -0x228(%rbp), %ecx
cmpl %ecx, %eax
jge 0x7b719
movq -0x1a0(%rbp), %rax
movslq 0x614(%rax), %rcx
shlq $0xa, %rcx
leaq 0x62c(%rax,%rcx), %rax
movq %rax, -0x240(%rbp)
cvtsi2sdl -0xe4(%rbp), %xmm0
cvtsi2sdl -0x34(%rbp), %xmm2
movsd 0x10c3e0(%rip), %xmm1   # 0x187728
divsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
callq 0x5a970
movq %rax, -0x238(%rbp)
jmp 0x7b35e
movq -0x240(%rbp), %rax
movq -0x238(%rbp), %rdx
movl $0xff, %ecx
subq %rdx, %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0xe8(%rbp)
movslq -0xe8(%rbp), %rsi
leaq -0x100(%rbp), %rdi
xorl %edx, %edx
callq 0x59be0
jmp 0x7b394
leaq -0x100(%rbp), %rdi
callq 0x59f20
movl %eax, -0x244(%rbp)
jmp 0x7b3a8
movl -0x244(%rbp), %eax
cvtsi2sd %eax, %xmm0
cvtsi2sdl -0x34(%rbp), %xmm1
movsd 0x10c369(%rip), %xmm2   # 0x187728
divsd %xmm1, %xmm2
movsd 0x10bf85(%rip), %xmm1   # 0x187350
divsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0xf0(%rbp)
movslq -0xe8(%rbp), %rsi
leaq -0x118(%rbp), %rdi
xorl %edx, %edx
callq 0x59be0
jmp 0x7b3f2
leaq -0x118(%rbp), %rdi
callq 0x5d920
movl %eax, -0x248(%rbp)
jmp 0x7b406
movl -0x248(%rbp), %eax
cvtsi2sd %eax, %xmm0
cvtsi2sdl -0x34(%rbp), %xmm1
movsd 0x10c30b(%rip), %xmm2   # 0x187728
divsd %xmm1, %xmm2
movsd 0x10bf27(%rip), %xmm1   # 0x187350
divsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x108(%rbp)
movslq -0xe8(%rbp), %rsi
leaq -0x130(%rbp), %rdi
xorl %edx, %edx
callq 0x59be0
jmp 0x7b450
leaq -0x130(%rbp), %rdi
callq 0x5b650
movl %eax, -0x24c(%rbp)
jmp 0x7b464
movl -0x24c(%rbp), %eax
cvtsi2sd %eax, %xmm0
cvtsi2sdl -0x34(%rbp), %xmm1
movsd 0x10c2ad(%rip), %xmm2   # 0x187728
divsd %xmm1, %xmm2
movsd 0x10bec9(%rip), %xmm1   # 0x187350
divsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x120(%rbp)
movaps 0x10c2a2(%rip), %xmm1   # 0x187740
movsd -0xf0(%rbp), %xmm0
pxor %xmm1, %xmm0
movsd %xmm0, -0x258(%rbp)
movl -0xd4(%rbp), %esi
xorl %edi, %edi
callq 0x5aae0
movl %eax, -0x250(%rbp)
jmp 0x7b4c7
movsd -0x258(%rbp), %xmm1
movl -0x250(%rbp), %eax
cvtsi2sd %eax, %xmm0
movsd -0xf0(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x138(%rbp)
movaps 0x10c248(%rip), %xmm1   # 0x187740
movsd -0x108(%rbp), %xmm0
pxor %xmm1, %xmm0
movsd %xmm0, -0x268(%rbp)
movl -0xd4(%rbp), %esi
xorl %edi, %edi
callq 0x5aae0
movl %eax, -0x25c(%rbp)
jmp 0x7b521
movsd -0x268(%rbp), %xmm1
movl -0x25c(%rbp), %eax
cvtsi2sd %eax, %xmm0
movsd -0x108(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x140(%rbp)
movaps 0x10c1ee(%rip), %xmm1   # 0x187740
movsd -0x120(%rbp), %xmm0
pxor %xmm1, %xmm0
movsd %xmm0, -0x278(%rbp)
movl -0xd4(%rbp), %esi
xorl %edi, %edi
callq 0x5aae0
movl %eax, -0x26c(%rbp)
jmp 0x7b57b
movsd -0x278(%rbp), %xmm1
movl -0x26c(%rbp), %eax
cvtsi2sd %eax, %xmm0
movsd -0x120(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x148(%rbp)
movl -0xd4(%rbp), %esi
xorl %edi, %edi
callq 0x5aae0
movl %eax, -0x27c(%rbp)
jmp 0x7b5ba
movl -0x27c(%rbp), %eax
movl %eax, -0x14c(%rbp)
movl -0x14c(%rbp), %eax
movl %eax, -0x284(%rbp)
movl -0x34(%rbp), %edi
movl -0xdc(%rbp), %esi
callq 0x5ce90
movl %eax, -0x280(%rbp)
jmp 0x7b5e8
movl -0x284(%rbp), %eax
movl -0x280(%rbp), %ecx
cmpl %ecx, %eax
jge 0x7b703
movl -0x14c(%rbp), %esi
movl -0xe4(%rbp), %edx
leaq -0x154(%rbp), %rdi
callq 0x5c2c0
jmp 0x7b616
movsd -0xf0(%rbp), %xmm1
movsd -0x138(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x138(%rbp)
callq 0x5a970
movq %rax, -0x290(%rbp)
jmp 0x7b640
movq -0x290(%rbp), %rax
movl %eax, -0x29c(%rbp)
movsd -0x108(%rbp), %xmm1
movsd -0x140(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x140(%rbp)
callq 0x5a970
movq %rax, -0x298(%rbp)
jmp 0x7b677
movq -0x298(%rbp), %rax
movl %eax, -0x2ac(%rbp)
movsd -0x120(%rbp), %xmm1
movsd -0x148(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x148(%rbp)
callq 0x5a970
movq %rax, -0x2a8(%rbp)
jmp 0x7b6ae
movl -0x2ac(%rbp), %edx
movl -0x29c(%rbp), %esi
movq -0x2a8(%rbp), %rax
movl %eax, %ecx
leaq -0x168(%rbp), %rdi
xorl %r8d, %r8d
callq 0x5a6b0
jmp 0x7b6d4
leaq -0x48(%rbp), %rdi
leaq -0x154(%rbp), %rsi
leaq -0x168(%rbp), %rdx
callq 0x5a3d0
jmp 0x7b6ed
jmp 0x7b6ef
movl -0x14c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14c(%rbp)
jmp 0x7b5c6
jmp 0x7b705
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0x7b2dc
movq -0x10(%rbp), %rdi
leaq -0x48(%rbp), %rsi
leaq -0x20(%rbp), %rdx
leaq -0xd0(%rbp), %rcx
callq 0x59dd0
jmp 0x7b733
jmp 0x7b735
movq -0x1a0(%rbp), %rdi
movb $0x1, 0x603(%rdi)
movb $0x1, 0x604(%rdi)
callq 0x5cdb0
jmp 0x7b751
movq -0x10(%rbp), %rdi
callq 0x5d270
jmp 0x7b75c
movq -0x1a0(%rbp), %rax
movq 0x40670(%rax), %rcx
movq %rcx, -0x2b8(%rbp)
movl 0x614(%rax), %esi
movl 0x618(%rax), %edx
movl 0x61c(%rax), %ecx
leaq -0x188(%rbp), %rdi
movl $0x2, %r8d
callq 0x5a6b0
jmp 0x7b797
leaq -0x178(%rbp), %rdi
leaq -0x188(%rbp), %rsi
xorl %edx, %edx
callq 0x5c5e0
jmp 0x7b7ae
movq -0x2b8(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x5c6d0
jmp 0x7b7c3
leaq -0x48(%rbp), %rdi
callq 0x5de40
addq $0x2c0, %rsp            # imm = 0x2C0
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x5b6b0
nop