// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listentry.cpp
// Function: smooth::GUI::ListEntry::Paint(int)
S::Int S::GUI::ListEntry::Paint(Int message)
{
	if (!IsRegistered()) return Error();
	if (!IsVisible())    return Success();

	Surface	*surface = GetDrawSurface();
	Rect	 frame	 = Rect(GetRealPosition(), GetRealSize());

	Widget	*listBox = container;

	Font	 nFont	 = font;
	Bool	 gotTabs = False;

	switch (message)
	{
		case SP_PAINT:
		case SP_MOUSEIN:
		case SP_MOUSEOUT:
			if (mouseOver) nFont.SetColor(Setup::GradientTextColor);
			if (!IsActive()) nFont.SetColor(Setup::InactiveTextColor);

			gotTabs = text.Contains(tabDelimiter);

			surface->StartPaint(GetVisibleArea());

			/* Draw background and frame.
			 */
			if (mouseOver)	surface->Gradient(frame, Setup::GradientStartColor, Setup::GradientEndColor, OR_HORZ);
			else		surface->Box(frame, IsActive() ? Setup::ClientColor : Setup::BackgroundColor, Rect::Filled);

			if (selected)	surface->Box(frame, Setup::ClientTextColor, Rect::Dotted);

			/* Draw checkbox if necessary.
			 */
			if (container->GetFlags() & LF_MULTICHECKBOX)
			{
				Rect	 cbRect = Rect(GetRealPosition() + Point(2, 3) * surface->GetSurfaceDPI() / 96.0, Size(9, 9) * surface->GetSurfaceDPI() / 96.0);

				if (cbRect.top <= cbRect.bottom - 1)
				{
					surface->Box(cbRect, Setup::ClientColor, Rect::Filled);
					surface->Box(cbRect, Setup::InactiveTextColor, Rect::Outlined);

					if (marked && cbRect.top <= cbRect.bottom - 3)
					{
						Color	 lightColor = Setup::InactiveTextColor;
						Color	 darkColor = Setup::ClientTextColor;

						if (!IsActive()) darkColor = Setup::InactiveTextColor;

						Point	 p1 = Point(cbRect.left + 2 + (IsRightToLeft() ? 1 : 0), cbRect.top + 2);
						Point	 p2 = Point(cbRect.right - 2 + (IsRightToLeft() ? 1 : 0), cbRect.bottom - 2);

						surface->Line(p1 + Point(0, 0), p2 + Point(0, 0), darkColor);
						surface->Line(p1 + Point(1, 0), p2 + Point(0, -1), lightColor);
						surface->Line(p1 + Point(0, 1), p2 + Point(-1, 0), lightColor);

						p1 = Point(cbRect.right - 3 + (IsRightToLeft() ? 1 : 0), cbRect.top + 2);
						p2 = Point(cbRect.left + 1 + (IsRightToLeft() ? 1 : 0), cbRect.bottom - 2);

						surface->Line(p1 + Point(0, 0), p2 + Point(0, 0), darkColor);
						surface->Line(p1 + Point(0, 1), p2 + Point(1, 0), lightColor);
						surface->Line(p1 + Point(-1, 0), p2 + Point(0, -1), lightColor);
					}
				}
			}

			/* Get parent ListBox widget.
			 */
			while (listBox->GetObjectType() != ListBox::classID)
			{
				listBox = listBox->GetContainer();

				if (listBox == NIL) break;
			}

			/* Draw entry text.
			 */
			Int	 lineHeight = scaledTextSize.cy;

			if (text.Contains("\n")) lineHeight = nFont.GetScaledTextSizeY();

			if (listBox != NIL && ((ListBox *) listBox)->GetNOfTabs() > 0 && gotTabs)
			{
				for (Int i = 0; i < ((ListBox *) listBox)->GetNOfTabs(); i++)
				{
					Rect	 rect = Rect(GetRealPosition() + Point(0, Math::Ceil(Float(frame.GetHeight() - lineHeight) / 2) - 2) + Point(1, 1) * surface->GetSurfaceDPI() / 96.0 + Point(i > 0 && listBox != container ? listBox->GetRealPosition().x - container->GetRealPosition().x + 2 : 0, 0), GetRealSize() - Size(1, 1) * surface->GetSurfaceDPI() / 96.0 * 2 - Size(1, 0));

					rect.left += Math::Round(((ListBox *) listBox)->GetNthTabOffset(i) * surface->GetSurfaceDPI() / 96.0);
					rect.left += (i == 0 ? (container->GetFlags() & LF_MULTICHECKBOX ? Math::Round(12 * surface->GetSurfaceDPI() / 96.0) : 0) : 0);

					if	(((ListBox *) listBox)->GetNOfTabs() >= i + 2)		     rect.right  = rect.left + (Math::Round(((ListBox *) listBox)->GetNthTabOffset(i + 1) * surface->GetSurfaceDPI() / 96.0) - Math::Round(((ListBox *) listBox)->GetNthTabOffset(i) * surface->GetSurfaceDPI() / 96.0)) - (i == 0 ? (container->GetFlags() & LF_MULTICHECKBOX ? Math::Round(12 * surface->GetSurfaceDPI() / 96.0) : 0) : 0) - Math::Round(1 * surface->GetSurfaceDPI() / 96.0) * 2 - 1;
					else if (((ListBox *) listBox)->GetNthTabOrientation(i) == OR_RIGHT) rect.right += 1;

					String	 tabText = GetNthTabText(i);

					if (((ListBox *) listBox)->GetNthTabOrientation(i) == OR_RIGHT)
					{
						rect.left = Math::Max(rect.left, rect.right - nFont.GetScaledTextSizeX(tabText) - 1);
					}

					surface->SetText(tabText, rect, nFont);
				}
			}
			else
			{
				surface->SetText(text, frame + Point(0, Math::Ceil(Float(frame.GetHeight() - lineHeight) / 2) - 2) + Point(1, 1) * surface->GetSurfaceDPI() / 96.0 + Point(container->GetFlags() & LF_MULTICHECKBOX ? Math::Round(12 * surface->GetSurfaceDPI() / 96.0) : 0, 0) - Size(1, 1) * surface->GetSurfaceDPI() / 96.0 * 2 - Size(container->GetFlags() & LF_MULTICHECKBOX ? Math::Round(12 * surface->GetSurfaceDPI() / 96.0) : 0, 0), nFont);
			}

			Widget::Paint(SP_PAINT);

			surface->EndPaint();

			return Success();
	}

	return Widget::Paint(message);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x7e0, %rsp            # imm = 0x7E0
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x3e8(%rbp)
movq (%rdi), %rax
callq *0x88(%rax)
testb $0x1, %al
jne 0xb71d4
leaq -0x28(%rbp), %rdi
movq %rdi, -0x3f8(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x3f8(%rbp), %rdi
callq 0x59680
movl %eax, -0x3ec(%rbp)
jmp 0xb71a3
movl -0x3ec(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xb8c3e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xb8c4a
movq -0x3e8(%rbp), %rdi
movq (%rdi), %rax
callq *0x90(%rax)
testb $0x1, %al
jne 0xb723d
leaq -0x48(%rbp), %rdi
movq %rdi, -0x408(%rbp)
callq 0x5ca80
movq -0x408(%rbp), %rdi
callq 0x59680
movl %eax, -0x3fc(%rbp)
jmp 0xb720c
movl -0x3fc(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5a410
jmp 0xb8c3e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5a410
jmp 0xb8c4a
movq -0x3e8(%rbp), %rdi
movq (%rdi), %rax
movq 0x40(%rax), %rax
callq *%rax
movq -0x3e8(%rbp), %rdi
movq %rax, -0x50(%rbp)
movq (%rdi), %rax
movq 0x48(%rax), %rax
callq *%rax
movq -0x3e8(%rbp), %rdi
movq %rax, -0x68(%rbp)
movq (%rdi), %rax
movq 0x50(%rax), %rax
callq *%rax
movq %rax, -0x70(%rbp)
leaq -0x60(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x70(%rbp), %rdx
callq 0x59ff0
movq -0x3e8(%rbp), %rsi
movq 0x190(%rsi), %rax
movq %rax, -0x78(%rbp)
addq $0x140, %rsi            # imm = 0x140
leaq -0xb8(%rbp), %rdi
callq 0x59da0
movb $0x0, -0xb9(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x40c(%rbp)
testl %eax, %eax
je 0xb72d9
jmp 0xb72c5
movl -0x40c(%rbp), %eax
addl $-0x2, %eax
subl $0x1, %eax
ja 0xb8bf8
jmp 0xb72d9
movq -0x3e8(%rbp), %rax
testb $0x1, 0xd4(%rax)
je 0xb7311
movq 0x151828(%rip), %rsi    # 0x208b18
leaq -0xb8(%rbp), %rdi
callq 0x5d110
jmp 0xb72fe
jmp 0xb7311
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xb8c30
movq -0x3e8(%rbp), %rdi
movq (%rdi), %rax
movq 0x98(%rax), %rax
callq *%rax
movb %al, -0x40d(%rbp)
jmp 0xb732c
movb -0x40d(%rbp), %al
testb $0x1, %al
jne 0xb734f
jmp 0xb7338
movq 0x1515f1(%rip), %rsi    # 0x208930
leaq -0xb8(%rbp), %rdi
callq 0x5d110
jmp 0xb734d
jmp 0xb734f
movq -0x3e8(%rbp), %rdi
addq $0xf0, %rdi
movq 0x15183c(%rip), %rsi    # 0x208ba0
callq 0x591d0
movb %al, -0x40e(%rbp)
jmp 0xb7371
movq -0x3e8(%rbp), %rdi
movb -0x40e(%rbp), %al
andb $0x1, %al
movb %al, -0xb9(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x428(%rbp)
movq (%rdi), %rax
movq 0x130(%rax), %rax
callq *%rax
movq %rdx, -0x420(%rbp)
movq %rax, -0x418(%rbp)
jmp 0xb73ad
movq -0x428(%rbp), %rdi
movq -0x420(%rbp), %rax
movq -0x418(%rbp), %rcx
movq %rcx, -0xcc(%rbp)
movq %rax, -0xc4(%rbp)
leaq -0xcc(%rbp), %rsi
callq 0x591b0
jmp 0xb73de
movq -0x3e8(%rbp), %rax
testb $0x1, 0xd4(%rax)
je 0xb7416
movq -0x50(%rbp), %rdi
movq 0x151bbf(%rip), %rdx    # 0x208fb8
movq 0x151b18(%rip), %rcx    # 0x208f18
leaq -0x60(%rbp), %rsi
movl $0x1, %r8d
callq 0x5d230
jmp 0xb7411
jmp 0xb74bf
movq -0x3e8(%rbp), %rdi
movq -0x50(%rbp), %rax
movq %rax, -0x438(%rbp)
movq (%rdi), %rax
movq 0x98(%rax), %rax
callq *%rax
movb %al, -0x429(%rbp)
jmp 0xb743c
movb -0x429(%rbp), %al
testb $0x1, %al
jne 0xb7448
jmp 0xb7458
movq 0x1511f9(%rip), %rax    # 0x208648
movq %rax, -0x440(%rbp)
jmp 0xb7468
movq 0x151049(%rip), %rax    # 0x2084a8
movq %rax, -0x440(%rbp)
jmp 0xb7468
movq -0x440(%rbp), %rax
movq %rax, -0x450(%rbp)
movq 0x151b23(%rip), %rax    # 0x208fa0
movl (%rax), %eax
movl %eax, -0x444(%rbp)
leaq -0xd4(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x59260
jmp 0xb7497
movl -0x444(%rbp), %ecx
movq -0x450(%rbp), %rdx
movq -0x438(%rbp), %rdi
leaq -0x60(%rbp), %rsi
leaq -0xd4(%rbp), %r8
callq 0x5c110
jmp 0xb74bd
jmp 0xb74bf
movq -0x3e8(%rbp), %rax
testb $0x1, 0x5b9(%rax)
je 0xb7523
movq -0x50(%rbp), %rax
movq %rax, -0x460(%rbp)
movq 0x1519a7(%rip), %rax    # 0x208e88
movl (%rax), %eax
movl %eax, -0x454(%rbp)
leaq -0xdc(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x59260
jmp 0xb74fb
movl -0x454(%rbp), %ecx
movq -0x460(%rbp), %rdi
movq 0x1518d1(%rip), %rdx    # 0x208de0
leaq -0x60(%rbp), %rsi
leaq -0xdc(%rbp), %r8
callq 0x5c110
jmp 0xb7521
jmp 0xb7523
movq -0x3e8(%rbp), %rax
movq 0x190(%rax), %rdi
callq 0x5a120
movl %eax, -0x464(%rbp)
jmp 0xb753e
movl -0x464(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0xb7d8c
movq -0x3e8(%rbp), %rdi
movq (%rdi), %rax
movq 0x48(%rax), %rax
callq *%rax
movq %rax, -0x470(%rbp)
jmp 0xb7569
movq -0x470(%rbp), %rax
movq %rax, -0xfc(%rbp)
leaq -0x114(%rbp), %rdi
movl $0x2, %esi
movl $0x3, %edx
callq 0x5c2c0
jmp 0xb758f
movq -0x50(%rbp), %rdi
callq 0x5d470
movw %ax, -0x472(%rbp)
jmp 0xb75a1
movw -0x472(%rbp), %ax
cwtl
cvtsi2sd %eax, %xmm0
leaq -0x114(%rbp), %rdi
callq 0x5a300
movq %rax, -0x480(%rbp)
jmp 0xb75c2
movq -0x480(%rbp), %rax
movq %rax, -0x10c(%rbp)
leaq -0x10c(%rbp), %rdi
movsd 0xcfee1(%rip), %xmm0    # 0x1874c0
callq 0x5cd70
movq %rax, -0x488(%rbp)
jmp 0xb75ed
movq -0x488(%rbp), %rax
movq %rax, -0x104(%rbp)
leaq -0xfc(%rbp), %rdi
leaq -0x104(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x490(%rbp)
jmp 0xb7617
movq -0x490(%rbp), %rax
movq %rax, -0xf4(%rbp)
leaq -0x12c(%rbp), %rdi
movl $0x9, %edx
movl %edx, %esi
callq 0x59260
jmp 0xb763a
movq -0x50(%rbp), %rdi
callq 0x5d470
movw %ax, -0x492(%rbp)
jmp 0xb764c
movw -0x492(%rbp), %ax
cwtl
cvtsi2sd %eax, %xmm0
leaq -0x12c(%rbp), %rdi
callq 0x5a7b0
movq %rax, -0x4a0(%rbp)
jmp 0xb766d
movq -0x4a0(%rbp), %rax
movq %rax, -0x124(%rbp)
leaq -0x124(%rbp), %rdi
movsd 0xcfe36(%rip), %xmm0    # 0x1874c0
callq 0x5c6b0
movq %rax, -0x4a8(%rbp)
jmp 0xb7698
movq -0x4a8(%rbp), %rax
movq %rax, -0x11c(%rbp)
leaq -0xec(%rbp), %rdi
leaq -0xf4(%rbp), %rsi
leaq -0x11c(%rbp), %rdx
callq 0x59ff0
jmp 0xb76c2
movl -0xe8(%rbp), %eax
movl -0xe0(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jg 0xb7d8a
movq -0x50(%rbp), %rax
movq %rax, -0x4b8(%rbp)
movq 0x1518b5(%rip), %rax    # 0x208fa0
movl (%rax), %eax
movl %eax, -0x4ac(%rbp)
leaq -0x134(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x59260
jmp 0xb7705
movl -0x4ac(%rbp), %ecx
movq -0x4b8(%rbp), %rdi
movq 0x150f2f(%rip), %rdx    # 0x208648
leaq -0xec(%rbp), %rsi
leaq -0x134(%rbp), %r8
callq 0x5c110
jmp 0xb772e
movq -0x50(%rbp), %rax
movq %rax, -0x4c8(%rbp)
movq 0x1510b8(%rip), %rax    # 0x2087f8
movl (%rax), %eax
movl %eax, -0x4bc(%rbp)
leaq -0x13c(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x59260
jmp 0xb775a
movl -0x4bc(%rbp), %ecx
movq -0x4c8(%rbp), %rdi
movq 0x1511c2(%rip), %rdx    # 0x208930
leaq -0xec(%rbp), %rsi
leaq -0x13c(%rbp), %r8
callq 0x5c110
jmp 0xb7783
movq -0x3e8(%rbp), %rax
testb $0x1, 0x5b8(%rax)
je 0xb7d88
movl -0xe8(%rbp), %eax
movl -0xe0(%rbp), %ecx
subl $0x3, %ecx
cmpl %ecx, %eax
jg 0xb7d88
movq 0x15117b(%rip), %rsi    # 0x208930
leaq -0x150(%rbp), %rdi
callq 0x5c720
jmp 0xb77c3
movq 0x151616(%rip), %rsi    # 0x208de0
leaq -0x160(%rbp), %rdi
callq 0x5c720
jmp 0xb77d8
movq -0x3e8(%rbp), %rdi
movq (%rdi), %rax
movq 0x98(%rax), %rax
callq *%rax
movb %al, -0x4c9(%rbp)
jmp 0xb77f3
movb -0x4c9(%rbp), %al
testb $0x1, %al
jne 0xb781b
jmp 0xb77ff
movq 0x15112a(%rip), %rax    # 0x208930
movq (%rax), %rcx
movq %rcx, -0x160(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x158(%rbp)
movq -0x3e8(%rbp), %rdi
movl -0xec(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x4d0(%rbp)
movq (%rdi), %rax
movq 0x160(%rax), %rax
callq *%rax
movb %al, -0x4ca(%rbp)
jmp 0xb7845
movl -0x4d0(%rbp), %esi
movb -0x4ca(%rbp), %al
movzbl %al, %eax
andl $0x1, %eax
addl %eax, %esi
movl -0xe8(%rbp), %edx
addl $0x2, %edx
leaq -0x168(%rbp), %rdi
callq 0x5c2c0
jmp 0xb7870
movq -0x3e8(%rbp), %rdi
movl -0xe4(%rbp), %eax
addl $-0x2, %eax
movl %eax, -0x4d8(%rbp)
movq (%rdi), %rax
movq 0x160(%rax), %rax
callq *%rax
movb %al, -0x4d1(%rbp)
jmp 0xb789a
movl -0x4d8(%rbp), %esi
movb -0x4d1(%rbp), %al
movzbl %al, %eax
andl $0x1, %eax
addl %eax, %esi
movl -0xe0(%rbp), %edx
addl $-0x2, %edx
leaq -0x170(%rbp), %rdi
callq 0x5c2c0
jmp 0xb78c5
movq -0x50(%rbp), %rax
movq %rax, -0x4e0(%rbp)
leaq -0x180(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x5c2c0
jmp 0xb78e2
leaq -0x168(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x4e8(%rbp)
jmp 0xb78fe
movq -0x4e8(%rbp), %rax
movq %rax, -0x178(%rbp)
leaq -0x190(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x5c2c0
jmp 0xb791e
leaq -0x170(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x4f0(%rbp)
jmp 0xb793a
movq -0x4e0(%rbp), %rdi
movq -0x4f0(%rbp), %rax
movq %rax, -0x188(%rbp)
leaq -0x178(%rbp), %rsi
leaq -0x188(%rbp), %rdx
leaq -0x160(%rbp), %rcx
callq 0x5cce0
jmp 0xb796b
movq -0x50(%rbp), %rax
movq %rax, -0x4f8(%rbp)
leaq -0x1a0(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x5c2c0
jmp 0xb798b
leaq -0x168(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x500(%rbp)
jmp 0xb79a7
movq -0x500(%rbp), %rax
movq %rax, -0x198(%rbp)
leaq -0x1b0(%rbp), %rdi
xorl %esi, %esi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x5c2c0
jmp 0xb79ca
leaq -0x170(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x508(%rbp)
jmp 0xb79e6
movq -0x4f8(%rbp), %rdi
movq -0x508(%rbp), %rax
movq %rax, -0x1a8(%rbp)
leaq -0x198(%rbp), %rsi
leaq -0x1a8(%rbp), %rdx
leaq -0x150(%rbp), %rcx
callq 0x5cce0
jmp 0xb7a17
movq -0x50(%rbp), %rax
movq %rax, -0x510(%rbp)
leaq -0x1c0(%rbp), %rdi
xorl %esi, %esi
movl $0x1, %edx
callq 0x5c2c0
jmp 0xb7a37
leaq -0x168(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x518(%rbp)
jmp 0xb7a53
movq -0x518(%rbp), %rax
movq %rax, -0x1b8(%rbp)
leaq -0x1d0(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x5c2c0
jmp 0xb7a76
leaq -0x170(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x520(%rbp)
jmp 0xb7a92
movq -0x510(%rbp), %rdi
movq -0x520(%rbp), %rax
movq %rax, -0x1c8(%rbp)
leaq -0x1b8(%rbp), %rsi
leaq -0x1c8(%rbp), %rdx
leaq -0x150(%rbp), %rcx
callq 0x5cce0
jmp 0xb7ac3
movq -0x3e8(%rbp), %rdi
movl -0xe4(%rbp), %eax
addl $-0x3, %eax
movl %eax, -0x528(%rbp)
movq (%rdi), %rax
movq 0x160(%rax), %rax
callq *%rax
movb %al, -0x521(%rbp)
jmp 0xb7aed
movl -0x528(%rbp), %esi
movb -0x521(%rbp), %al
movzbl %al, %eax
andl $0x1, %eax
addl %eax, %esi
movl -0xe8(%rbp), %edx
addl $0x2, %edx
leaq -0x1d8(%rbp), %rdi
callq 0x5c2c0
jmp 0xb7b18
movq -0x3e8(%rbp), %rdi
movq -0x1d8(%rbp), %rax
movq %rax, -0x168(%rbp)
movl -0xec(%rbp), %eax
incl %eax
movl %eax, -0x530(%rbp)
movq (%rdi), %rax
movq 0x160(%rax), %rax
callq *%rax
movb %al, -0x529(%rbp)
jmp 0xb7b4f
movl -0x530(%rbp), %esi
movb -0x529(%rbp), %al
movzbl %al, %eax
andl $0x1, %eax
addl %eax, %esi
movl -0xe0(%rbp), %edx
addl $-0x2, %edx
leaq -0x1e0(%rbp), %rdi
callq 0x5c2c0
jmp 0xb7b7a
movq -0x1e0(%rbp), %rax
movq %rax, -0x170(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x538(%rbp)
leaq -0x1f0(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x5c2c0
jmp 0xb7ba5
leaq -0x168(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x540(%rbp)
jmp 0xb7bc1
movq -0x540(%rbp), %rax
movq %rax, -0x1e8(%rbp)
leaq -0x200(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x5c2c0
jmp 0xb7be1
leaq -0x170(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x548(%rbp)
jmp 0xb7bfd
movq -0x538(%rbp), %rdi
movq -0x548(%rbp), %rax
movq %rax, -0x1f8(%rbp)
leaq -0x1e8(%rbp), %rsi
leaq -0x1f8(%rbp), %rdx
leaq -0x160(%rbp), %rcx
callq 0x5cce0
jmp 0xb7c2e
movq -0x50(%rbp), %rax
movq %rax, -0x550(%rbp)
leaq -0x210(%rbp), %rdi
xorl %esi, %esi
movl $0x1, %edx
callq 0x5c2c0
jmp 0xb7c4e
leaq -0x168(%rbp), %rdi
leaq -0x210(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x558(%rbp)
jmp 0xb7c6a
movq -0x558(%rbp), %rax
movq %rax, -0x208(%rbp)
leaq -0x220(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x5c2c0
jmp 0xb7c8d
leaq -0x170(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x560(%rbp)
jmp 0xb7ca9
movq -0x550(%rbp), %rdi
movq -0x560(%rbp), %rax
movq %rax, -0x218(%rbp)
leaq -0x208(%rbp), %rsi
leaq -0x218(%rbp), %rdx
leaq -0x150(%rbp), %rcx
callq 0x5cce0
jmp 0xb7cda
movq -0x50(%rbp), %rax
movq %rax, -0x568(%rbp)
leaq -0x230(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x5c2c0
jmp 0xb7cfa
leaq -0x168(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x570(%rbp)
jmp 0xb7d16
movq -0x570(%rbp), %rax
movq %rax, -0x228(%rbp)
leaq -0x240(%rbp), %rdi
xorl %esi, %esi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x5c2c0
jmp 0xb7d39
leaq -0x170(%rbp), %rdi
leaq -0x240(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x578(%rbp)
jmp 0xb7d55
movq -0x568(%rbp), %rdi
movq -0x578(%rbp), %rax
movq %rax, -0x238(%rbp)
leaq -0x228(%rbp), %rsi
leaq -0x238(%rbp), %rdx
leaq -0x150(%rbp), %rcx
callq 0x5cce0
jmp 0xb7d86
jmp 0xb7d88
jmp 0xb7d8a
jmp 0xb7d8c
jmp 0xb7d8e
movq -0x78(%rbp), %rdi
callq 0x5bb10
movq %rax, -0x580(%rbp)
jmp 0xb7da0
movq -0x580(%rbp), %rdi
movq 0x1511b2(%rip), %rax    # 0x208f60
movswl (%rax), %esi
callq 0x5da50
movb %al, -0x581(%rbp)
jmp 0xb7dbe
movb -0x581(%rbp), %al
testb $0x1, %al
jne 0xb7dca
jmp 0xb7df2
movq -0x78(%rbp), %rdi
callq 0x5c9c0
movq %rax, -0x590(%rbp)
jmp 0xb7ddc
movq -0x590(%rbp), %rax
movq %rax, -0x78(%rbp)
cmpq $0x0, -0x78(%rbp)
jne 0xb7df0
jmp 0xb7df2
jmp 0xb7d8e
movq -0x3e8(%rbp), %rax
movl 0x18c(%rax), %ecx
movl %ecx, -0x244(%rbp)
addq $0xf0, %rax
movq %rax, -0x598(%rbp)
leaq 0xeda6a(%rip), %rsi     # 0x1a5883
leaq -0x260(%rbp), %rdi
callq 0x5c1f0
jmp 0xb7e27
movq -0x598(%rbp), %rdi
leaq -0x260(%rbp), %rsi
callq 0x591d0
movb %al, -0x599(%rbp)
jmp 0xb7e42
leaq -0x260(%rbp), %rdi
callq 0x5df00
movb -0x599(%rbp), %al
testb $0x1, %al
jne 0xb7e5a
jmp 0xb7ea0
movq 0x150f47(%rip), %rsi    # 0x208da8
leaq -0xb8(%rbp), %rdi
callq 0x5bde0
movl %eax, -0x5a0(%rbp)
jmp 0xb7e75
movl -0x5a0(%rbp), %eax
movl %eax, -0x244(%rbp)
jmp 0xb7ea0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x5df00
jmp 0xb8c30
cmpq $0x0, -0x78(%rbp)
je 0xb873d
movq -0x78(%rbp), %rdi
callq 0x59890
movl %eax, -0x5a4(%rbp)
jmp 0xb7ebc
movl -0x5a4(%rbp), %eax
cmpl $0x0, %eax
jle 0xb873d
testb $0x1, -0xb9(%rbp)
je 0xb873d
movl $0x0, -0x264(%rbp)
movl -0x264(%rbp), %eax
movl %eax, -0x5ac(%rbp)
movq -0x78(%rbp), %rdi
callq 0x59890
movl %eax, -0x5a8(%rbp)
jmp 0xb7eff
movl -0x5ac(%rbp), %eax
movl -0x5a8(%rbp), %ecx
cmpl %ecx, %eax
jge 0xb8738
movq -0x3e8(%rbp), %rdi
movq (%rdi), %rax
movq 0x48(%rax), %rax
callq *%rax
movq %rax, -0x5b8(%rbp)
jmp 0xb7f2c
movq -0x5b8(%rbp), %rax
movq %rax, -0x294(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x591a0
movl %eax, -0x5bc(%rbp)
jmp 0xb7f4b
movl -0x5bc(%rbp), %eax
movl -0x244(%rbp), %ecx
subl %ecx, %eax
cvtsi2sd %eax, %xmm0
movsd 0xcf423(%rip), %xmm1    # 0x187388
mulsd %xmm1, %xmm0
callq 0x5b240
movq %rax, -0x5c8(%rbp)
jmp 0xb7f77
movq -0x5c8(%rbp), %rax
movl %eax, %edx
addl $-0x2, %edx
leaq -0x29c(%rbp), %rdi
xorl %esi, %esi
callq 0x5c2c0
jmp 0xb7f93
leaq -0x294(%rbp), %rdi
leaq -0x29c(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x5d0(%rbp)
jmp 0xb7faf
movq -0x5d0(%rbp), %rax
movq %rax, -0x28c(%rbp)
leaq -0x2b4(%rbp), %rdi
movl $0x1, %edx
movl %edx, %esi
callq 0x5c2c0
jmp 0xb7fd2
movq -0x50(%rbp), %rdi
callq 0x5d470
movw %ax, -0x5d2(%rbp)
jmp 0xb7fe4
movw -0x5d2(%rbp), %ax
cwtl
cvtsi2sd %eax, %xmm0
leaq -0x2b4(%rbp), %rdi
callq 0x5a300
movq %rax, -0x5e0(%rbp)
jmp 0xb8005
movq -0x5e0(%rbp), %rax
movq %rax, -0x2ac(%rbp)
leaq -0x2ac(%rbp), %rdi
movsd 0xcf49e(%rip), %xmm0    # 0x1874c0
callq 0x5cd70
movq %rax, -0x5e8(%rbp)
jmp 0xb8030
movq -0x5e8(%rbp), %rax
movq %rax, -0x2a4(%rbp)
leaq -0x28c(%rbp), %rdi
leaq -0x2a4(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x5f0(%rbp)
jmp 0xb805a
movq -0x5f0(%rbp), %rax
movq %rax, -0x284(%rbp)
cmpl $0x0, -0x264(%rbp)
jle 0xb80fe
movq -0x3e8(%rbp), %rcx
movq -0x78(%rbp), %rax
cmpq 0x190(%rcx), %rax
je 0xb80fe
movq -0x78(%rbp), %rdi
movq (%rdi), %rax
movq 0x48(%rax), %rax
callq *%rax
movq %rax, -0x5f8(%rbp)
jmp 0xb809f
movq -0x3e8(%rbp), %rax
movq -0x5f8(%rbp), %rcx
movq %rcx, -0x2c4(%rbp)
movl -0x2c4(%rbp), %ecx
movl %ecx, -0x604(%rbp)
movq 0x190(%rax), %rdi
movq (%rdi), %rax
movq 0x48(%rax), %rax
callq *%rax
movq %rax, -0x600(%rbp)
jmp 0xb80d9
movl -0x604(%rbp), %eax
movq -0x600(%rbp), %rcx
movq %rcx, -0x2cc(%rbp)
subl -0x2cc(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x608(%rbp)
jmp 0xb8108
xorl %eax, %eax
movl %eax, -0x608(%rbp)
jmp 0xb8108
movl -0x608(%rbp), %esi
leaq -0x2bc(%rbp), %rdi
xorl %edx, %edx
callq 0x5c2c0
jmp 0xb811e
leaq -0x284(%rbp), %rdi
leaq -0x2bc(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x610(%rbp)
jmp 0xb813a
movq -0x3e8(%rbp), %rdi
movq -0x610(%rbp), %rax
movq %rax, -0x27c(%rbp)
movq (%rdi), %rax
movq 0x50(%rax), %rax
callq *%rax
movq %rax, -0x618(%rbp)
jmp 0xb8161
movq -0x618(%rbp), %rax
movq %rax, -0x2e4(%rbp)
leaq -0x304(%rbp), %rdi
movl $0x1, %edx
movl %edx, %esi
callq 0x59260
jmp 0xb8184
movq -0x50(%rbp), %rdi
callq 0x5d470
movw %ax, -0x61a(%rbp)
jmp 0xb8196
movw -0x61a(%rbp), %ax
cwtl
cvtsi2sd %eax, %xmm0
leaq -0x304(%rbp), %rdi
callq 0x5a7b0
movq %rax, -0x628(%rbp)
jmp 0xb81b7
movq -0x628(%rbp), %rax
movq %rax, -0x2fc(%rbp)
leaq -0x2fc(%rbp), %rdi
movsd 0xcf2ec(%rip), %xmm0    # 0x1874c0
callq 0x5c6b0
movq %rax, -0x630(%rbp)
jmp 0xb81e2
movq -0x630(%rbp), %rax
movq %rax, -0x2f4(%rbp)
leaq -0x2f4(%rbp), %rdi
movsd 0xcf179(%rip), %xmm0    # 0x187378
callq 0x5a7b0
movq %rax, -0x638(%rbp)
jmp 0xb820d
movq -0x638(%rbp), %rax
movq %rax, -0x2ec(%rbp)
leaq -0x2e4(%rbp), %rdi
leaq -0x2ec(%rbp), %rsi
callq 0x5db90
movq %rax, -0x640(%rbp)
jmp 0xb8237
movq -0x640(%rbp), %rax
movq %rax, -0x2dc(%rbp)
leaq -0x30c(%rbp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x59260
jmp 0xb825a
leaq -0x2dc(%rbp), %rdi
leaq -0x30c(%rbp), %rsi
callq 0x5db90
movq %rax, -0x648(%rbp)
jmp 0xb8276
movq -0x648(%rbp), %rax
movq %rax, -0x2d4(%rbp)
leaq -0x274(%rbp), %rdi
leaq -0x27c(%rbp), %rsi
leaq -0x2d4(%rbp), %rdx
callq 0x59ff0
jmp 0xb82a0
movq -0x78(%rbp), %rdi
movl -0x264(%rbp), %esi
callq 0x5ce70
movl %eax, -0x64c(%rbp)
jmp 0xb82b7
movq -0x50(%rbp), %rdi
callq 0x5d470
movw %ax, -0x64e(%rbp)
jmp 0xb82c9
movl -0x64c(%rbp), %eax
movw -0x64e(%rbp), %cx
movswl %cx, %ecx
imull %ecx, %eax
cvtsi2sd %eax, %xmm0
movsd 0xcf1d8(%rip), %xmm1    # 0x1874c0
divsd %xmm1, %xmm0
callq 0x5a970
movq %rax, -0x658(%rbp)
jmp 0xb82fa
movq -0x658(%rbp), %rcx
movslq -0x274(%rbp), %rax
addq %rcx, %rax
movl %eax, -0x274(%rbp)
cmpl $0x0, -0x264(%rbp)
jne 0xb83b4
movq -0x3e8(%rbp), %rax
movq 0x190(%rax), %rdi
callq 0x5a120
movl %eax, -0x65c(%rbp)
jmp 0xb8339
movl -0x65c(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0xb8399
movq -0x50(%rbp), %rdi
callq 0x5d470
movw %ax, -0x65e(%rbp)
jmp 0xb8359
movw -0x65e(%rbp), %ax
movswl %ax, %ecx
shll $0x2, %ecx
movl %ecx, %eax
leal (%rax,%rax,2), %eax
cvtsi2sd %eax, %xmm0
movsd 0xcf149(%rip), %xmm1    # 0x1874c0
divsd %xmm1, %xmm0
callq 0x5a970
movq %rax, -0x668(%rbp)
jmp 0xb8389
movq -0x668(%rbp), %rax
movq %rax, -0x670(%rbp)
jmp 0xb83a4
xorl %eax, %eax
movq %rax, -0x670(%rbp)
jmp 0xb83a4
movq -0x670(%rbp), %rax
movq %rax, -0x678(%rbp)
jmp 0xb83bf
xorl %eax, %eax
movq %rax, -0x678(%rbp)
jmp 0xb83bf
movq -0x678(%rbp), %rcx
movl -0x274(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x274(%rbp)
movq -0x78(%rbp), %rdi
callq 0x59890
movl %eax, -0x67c(%rbp)
jmp 0xb83e5
movl -0x67c(%rbp), %eax
movl -0x264(%rbp), %ecx
addl $0x2, %ecx
cmpl %ecx, %eax
jl 0xb8600
movslq -0x274(%rbp), %rax
movq %rax, -0x688(%rbp)
movq -0x78(%rbp), %rdi
movl -0x264(%rbp), %esi
incl %esi
callq 0x5ce70
movl %eax, -0x680(%rbp)
jmp 0xb8423
movq -0x50(%rbp), %rdi
callq 0x5d470
movw %ax, -0x68a(%rbp)
jmp 0xb8435
movl -0x680(%rbp), %eax
movw -0x68a(%rbp), %cx
movswl %cx, %ecx
imull %ecx, %eax
cvtsi2sd %eax, %xmm0
movsd 0xcf06c(%rip), %xmm1    # 0x1874c0
divsd %xmm1, %xmm0
callq 0x5a970
movq %rax, -0x698(%rbp)
jmp 0xb8466
movq -0x78(%rbp), %rdi
movl -0x264(%rbp), %esi
callq 0x5ce70
movl %eax, -0x69c(%rbp)
jmp 0xb847d
movq -0x50(%rbp), %rdi
callq 0x5d470
movw %ax, -0x69e(%rbp)
jmp 0xb848f
movl -0x69c(%rbp), %eax
movw -0x69e(%rbp), %cx
movswl %cx, %ecx
imull %ecx, %eax
cvtsi2sd %eax, %xmm0
movsd 0xcf012(%rip), %xmm1    # 0x1874c0
divsd %xmm1, %xmm0
callq 0x5a970
movq %rax, -0x6a8(%rbp)
jmp 0xb84c0
movq -0x688(%rbp), %rax
movq -0x6a8(%rbp), %rdx
movq -0x698(%rbp), %rcx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x6b0(%rbp)
cmpl $0x0, -0x264(%rbp)
jne 0xb8585
movq -0x3e8(%rbp), %rax
movq 0x190(%rax), %rdi
callq 0x5a120
movl %eax, -0x6b4(%rbp)
jmp 0xb850a
movl -0x6b4(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0xb856a
movq -0x50(%rbp), %rdi
callq 0x5d470
movw %ax, -0x6b6(%rbp)
jmp 0xb852a
movw -0x6b6(%rbp), %ax
movswl %ax, %ecx
shll $0x2, %ecx
movl %ecx, %eax
leal (%rax,%rax,2), %eax
cvtsi2sd %eax, %xmm0
movsd 0xcef78(%rip), %xmm1    # 0x1874c0
divsd %xmm1, %xmm0
callq 0x5a970
movq %rax, -0x6c0(%rbp)
jmp 0xb855a
movq -0x6c0(%rbp), %rax
movq %rax, -0x6c8(%rbp)
jmp 0xb8575
xorl %eax, %eax
movq %rax, -0x6c8(%rbp)
jmp 0xb8575
movq -0x6c8(%rbp), %rax
movq %rax, -0x6d0(%rbp)
jmp 0xb8590
xorl %eax, %eax
movq %rax, -0x6d0(%rbp)
jmp 0xb8590
movq -0x6b0(%rbp), %rax
movq -0x6d0(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x6e0(%rbp)
movq -0x50(%rbp), %rdi
callq 0x5d470
movw %ax, -0x6d2(%rbp)
jmp 0xb85ba
movw -0x6d2(%rbp), %ax
cwtl
cvtsi2sd %eax, %xmm0
movsd 0xceef2(%rip), %xmm1    # 0x1874c0
divsd %xmm1, %xmm0
callq 0x5a970
movq %rax, -0x6e8(%rbp)
jmp 0xb85e0
movq -0x6e0(%rbp), %rax
movq -0x6e8(%rbp), %rcx
shlq %rcx
subq %rcx, %rax
subq $0x1, %rax
movl %eax, -0x26c(%rbp)
jmp 0xb8633
movq -0x78(%rbp), %rdi
movl -0x264(%rbp), %esi
callq 0x5cee0
movl %eax, -0x6ec(%rbp)
jmp 0xb8617
movl -0x6ec(%rbp), %eax
cmpl $0x20, %eax
jne 0xb8631
movl -0x26c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x26c(%rbp)
jmp 0xb8633
movq -0x3e8(%rbp), %rsi
movl -0x264(%rbp), %edx
leaq -0x328(%rbp), %rdi
callq 0x5d8e0
jmp 0xb864e
movq -0x78(%rbp), %rdi
movl -0x264(%rbp), %esi
callq 0x5cee0
movl %eax, -0x6f0(%rbp)
jmp 0xb8665
movl -0x6f0(%rbp), %eax
cmpl $0x20, %eax
jne 0xb86f5
movl -0x274(%rbp), %eax
movl %eax, -0x6fc(%rbp)
movl -0x26c(%rbp), %eax
movl %eax, -0x6f8(%rbp)
leaq -0xb8(%rbp), %rdi
leaq -0x328(%rbp), %rsi
callq 0x5ac00
movl %eax, -0x6f4(%rbp)
jmp 0xb86a7
movl -0x6fc(%rbp), %edi
movl -0x6f8(%rbp), %eax
movl -0x6f4(%rbp), %esi
notl %esi
addl %eax, %esi
callq 0x5aae0
movl %eax, -0x700(%rbp)
jmp 0xb86ca
movl -0x700(%rbp), %eax
movl %eax, -0x274(%rbp)
jmp 0xb86f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x328(%rbp), %rdi
callq 0x5df00
jmp 0xb8c30
movq -0x50(%rbp), %rdi
leaq -0x328(%rbp), %rsi
leaq -0x274(%rbp), %rdx
leaq -0xb8(%rbp), %rcx
xorl %r8d, %r8d
callq 0x5c3f0
jmp 0xb8718
leaq -0x328(%rbp), %rdi
callq 0x5df00
movl -0x264(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x264(%rbp)
jmp 0xb7ee2
jmp 0xb8b80
movq -0x3e8(%rbp), %rax
movq -0x50(%rbp), %rcx
movq %rcx, -0x718(%rbp)
addq $0xf0, %rax
movq %rax, -0x710(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x591a0
movl %eax, -0x704(%rbp)
jmp 0xb876d
movl -0x704(%rbp), %eax
movl -0x244(%rbp), %ecx
subl %ecx, %eax
cvtsi2sd %eax, %xmm0
movsd 0xcec01(%rip), %xmm1    # 0x187388
mulsd %xmm1, %xmm0
callq 0x5b240
movq %rax, -0x720(%rbp)
jmp 0xb8799
movq -0x720(%rbp), %rax
movl %eax, %edx
addl $-0x2, %edx
leaq -0x380(%rbp), %rdi
xorl %esi, %esi
callq 0x5c2c0
jmp 0xb87b5
leaq -0x60(%rbp), %rdi
leaq -0x380(%rbp), %rsi
callq 0x5be80
movq %rdx, -0x730(%rbp)
movq %rax, -0x728(%rbp)
jmp 0xb87d5
movq -0x730(%rbp), %rax
movq -0x728(%rbp), %rcx
movq %rcx, -0x378(%rbp)
movq %rax, -0x370(%rbp)
leaq -0x398(%rbp), %rdi
movl $0x1, %edx
movl %edx, %esi
callq 0x5c2c0
jmp 0xb8806
movq -0x50(%rbp), %rdi
callq 0x5d470
movw %ax, -0x732(%rbp)
jmp 0xb8818
movw -0x732(%rbp), %ax
cwtl
cvtsi2sd %eax, %xmm0
leaq -0x398(%rbp), %rdi
callq 0x5a300
movq %rax, -0x740(%rbp)
jmp 0xb8839
movq -0x740(%rbp), %rax
movq %rax, -0x390(%rbp)
leaq -0x390(%rbp), %rdi
movsd 0xcec6a(%rip), %xmm0    # 0x1874c0
callq 0x5cd70
movq %rax, -0x748(%rbp)
jmp 0xb8864
movq -0x748(%rbp), %rax
movq %rax, -0x388(%rbp)
leaq -0x378(%rbp), %rdi
leaq -0x388(%rbp), %rsi
callq 0x5be80
movq %rdx, -0x758(%rbp)
movq %rax, -0x750(%rbp)
jmp 0xb8895
movq -0x3e8(%rbp), %rax
movq -0x758(%rbp), %rcx
movq -0x750(%rbp), %rdx
movq %rdx, -0x368(%rbp)
movq %rcx, -0x360(%rbp)
movq 0x190(%rax), %rdi
callq 0x5a120
movl %eax, -0x75c(%rbp)
jmp 0xb88cc
movl -0x75c(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0xb892c
movq -0x50(%rbp), %rdi
callq 0x5d470
movw %ax, -0x75e(%rbp)
jmp 0xb88ec
movw -0x75e(%rbp), %ax
movswl %ax, %ecx
shll $0x2, %ecx
movl %ecx, %eax
leal (%rax,%rax,2), %eax
cvtsi2sd %eax, %xmm0
movsd 0xcebb6(%rip), %xmm1    # 0x1874c0
divsd %xmm1, %xmm0
callq 0x5a970
movq %rax, -0x768(%rbp)
jmp 0xb891c
movq -0x768(%rbp), %rax
movq %rax, -0x770(%rbp)
jmp 0xb8937
xorl %eax, %eax
movq %rax, -0x770(%rbp)
jmp 0xb8937
movq -0x770(%rbp), %rax
movl %eax, %esi
leaq -0x3a0(%rbp), %rdi
xorl %edx, %edx
callq 0x5c2c0
jmp 0xb8950
leaq -0x368(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
callq 0x5be80
movq %rdx, -0x780(%rbp)
movq %rax, -0x778(%rbp)
jmp 0xb8973
movq -0x780(%rbp), %rax
movq -0x778(%rbp), %rcx
movq %rcx, -0x358(%rbp)
movq %rax, -0x350(%rbp)
leaq -0x3c0(%rbp), %rdi
movl $0x1, %edx
movl %edx, %esi
callq 0x59260
jmp 0xb89a4
movq -0x50(%rbp), %rdi
callq 0x5d470
movw %ax, -0x782(%rbp)
jmp 0xb89b6
movw -0x782(%rbp), %ax
cwtl
cvtsi2sd %eax, %xmm0
leaq -0x3c0(%rbp), %rdi
callq 0x5a7b0
movq %rax, -0x790(%rbp)
jmp 0xb89d7
movq -0x790(%rbp), %rax
movq %rax, -0x3b8(%rbp)
leaq -0x3b8(%rbp), %rdi
movsd 0xceacc(%rip), %xmm0    # 0x1874c0
callq 0x5c6b0
movq %rax, -0x798(%rbp)
jmp 0xb8a02
movq -0x798(%rbp), %rax
movq %rax, -0x3b0(%rbp)
leaq -0x3b0(%rbp), %rdi
movsd 0xce959(%rip), %xmm0    # 0x187378
callq 0x5a7b0
movq %rax, -0x7a0(%rbp)
jmp 0xb8a2d
movq -0x7a0(%rbp), %rax
movq %rax, -0x3a8(%rbp)
leaq -0x358(%rbp), %rdi
leaq -0x3a8(%rbp), %rsi
callq 0x5c040
movq %rdx, -0x7b0(%rbp)
movq %rax, -0x7a8(%rbp)
jmp 0xb8a5e
movq -0x3e8(%rbp), %rax
movq -0x7b0(%rbp), %rcx
movq -0x7a8(%rbp), %rdx
movq %rdx, -0x348(%rbp)
movq %rcx, -0x340(%rbp)
movq 0x190(%rax), %rdi
callq 0x5a120
movl %eax, -0x7b4(%rbp)
jmp 0xb8a95
movl -0x7b4(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0xb8af5
movq -0x50(%rbp), %rdi
callq 0x5d470
movw %ax, -0x7b6(%rbp)
jmp 0xb8ab5
movw -0x7b6(%rbp), %ax
movswl %ax, %ecx
shll $0x2, %ecx
movl %ecx, %eax
leal (%rax,%rax,2), %eax
cvtsi2sd %eax, %xmm0
movsd 0xce9ed(%rip), %xmm1    # 0x1874c0
divsd %xmm1, %xmm0
callq 0x5a970
movq %rax, -0x7c0(%rbp)
jmp 0xb8ae5
movq -0x7c0(%rbp), %rax
movq %rax, -0x7c8(%rbp)
jmp 0xb8b00
xorl %eax, %eax
movq %rax, -0x7c8(%rbp)
jmp 0xb8b00
movq -0x7c8(%rbp), %rax
movl %eax, %esi
leaq -0x3c8(%rbp), %rdi
xorl %edx, %edx
callq 0x59260
jmp 0xb8b19
leaq -0x348(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
callq 0x5c040
movq %rdx, -0x7d8(%rbp)
movq %rax, -0x7d0(%rbp)
jmp 0xb8b3c
movq -0x710(%rbp), %rsi
movq -0x718(%rbp), %rdi
movq -0x7d8(%rbp), %rax
movq -0x7d0(%rbp), %rcx
movq %rcx, -0x338(%rbp)
movq %rax, -0x330(%rbp)
leaq -0x338(%rbp), %rdx
leaq -0xb8(%rbp), %rcx
xorl %r8d, %r8d
callq 0x5c3f0
jmp 0xb8b7e
jmp 0xb8b80
movq -0x3e8(%rbp), %rdi
xorl %esi, %esi
callq 0x5acb0
jmp 0xb8b90
movq -0x50(%rbp), %rdi
callq 0x5d270
jmp 0xb8b9b
leaq -0x3d8(%rbp), %rdi
callq 0x5ca80
jmp 0xb8ba9
leaq -0x3d8(%rbp), %rdi
callq 0x59680
movl %eax, -0x7dc(%rbp)
jmp 0xb8bbd
movl -0x7dc(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x3d8(%rbp), %rdi
callq 0x5a410
movl $0x1, -0x3dc(%rbp)
jmp 0xb8c22
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x3d8(%rbp), %rdi
callq 0x5a410
jmp 0xb8c30
movq -0x3e8(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x5acb0
movl %eax, -0x7e0(%rbp)
jmp 0xb8c0f
movl -0x7e0(%rbp), %eax
movl %eax, -0x4(%rbp)
movl $0x1, -0x3dc(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x5abf0
jmp 0xb8c3e
leaq -0xb8(%rbp), %rdi
callq 0x5abf0
jmp 0xb8c4a
movl -0x4(%rbp), %eax
addq $0x7e0, %rsp            # imm = 0x7E0
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)