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

	Surface	*surface = GetDrawSurface();
	Rect	 frame	 = Rect(GetRealPosition(), GetRealSize());
	Rect	 bmpRect = Rect(GetRealPosition() + Point(2, 2) * surface->GetSurfaceDPI() / 96.0 - Point(0, 1), Size(12, 12) * surface->GetSurfaceDPI() / 96.0);

	surface->StartPaint(frame);

	switch (message)
	{
		case SP_PAINT:
		case SP_MOUSEOUT:
			if (text == NIL && bitmap == NIL)
			{
				Point	 p1 = Point(frame.left - 1, frame.top + 1);
				Point	 p2 = Point(frame.right + 1, frame.top + 1);

				surface->Bar(p1, p2, OR_HORZ);
			}
			else if (text != NIL || bitmap != NIL)
			{
				Rect	 textRect = frame + Point(18 * surface->GetSurfaceDPI() / 96.0, Math::Ceil(Float(frame.GetHeight() - scaledTextSize.cy) / 2) - 2) - Size(4 + 18 * surface->GetSurfaceDPI() / 96.0, 0);
				Font	 nFont	  = font;

				if (!IsActive()) nFont.SetColor(Setup::InactiveTextColor);

				surface->Box(frame, Setup::BackgroundColor, Rect::Filled);
				surface->SetText(text, textRect, nFont);

				if (bitmap != NIL && bVar == NIL && iVar == NIL)
				{
					if (IsActive())	surface->BlitFromBitmap(bitmap, Rect(Point(0, 0), bitmap.GetSize()), bmpRect);
					else		surface->BlitFromBitmap(graymap, Rect(Point(0, 0), graymap.GetSize()), bmpRect);
				}

				if (shortcut != NIL)
				{
					textRect.left = textRect.right - Math::Round(shortcutOffset * surface->GetSurfaceDPI() / 96.0);

					surface->SetText(shortcut->ToString(), textRect, nFont);
				}

				if (popup != NIL)
				{
					Int	 size = Math::Round(3 * surface->GetSurfaceDPI() / 96.0);

					Point	 lineStart = Point(frame.right - 4 - size, frame.top + 1 + Math::Round(4 * surface->GetSurfaceDPI() / 96.0));
					Point	 lineEnd   = Point(frame.right - 4 - size, frame.top + 1 + Math::Round(4 * surface->GetSurfaceDPI() / 96.0) + size * 2 - 1);

					for (Int i = 0; i < size; i++) surface->Line(lineStart + Point(i, i), lineEnd + Point(i, -i), Setup::TextColor);
				}
			}

			break;
		case SP_MOUSEIN:
			if (text != NIL || bitmap != NIL)
			{
				Rect	 textRect = frame + Point(18 * surface->GetSurfaceDPI() / 96.0, Math::Ceil(Float(frame.GetHeight() - scaledTextSize.cy) / 2) - 2) - Size(4 + 18 * surface->GetSurfaceDPI() / 96.0, 0);
				Font	 nFont	  = font;

				nFont.SetColor(Setup::GradientTextColor);

				surface->Gradient(frame, Setup::GradientStartColor, Setup::GradientEndColor, OR_HORZ);
				surface->SetText(text, textRect, nFont);

				if (bitmap != NIL && bVar == NIL && iVar == NIL)
				{
					surface->BlitFromBitmap(bitmap, Rect(Point(0, 0), bitmap.GetSize()), bmpRect);
				}

				if (shortcut != NIL)
				{
					textRect.left = textRect.right - Math::Round(shortcutOffset * surface->GetSurfaceDPI() / 96.0);

					surface->SetText(shortcut->ToString(), textRect, nFont);
				}

				if (popup != NIL)
				{
					Int	 size = Math::Round(3 * surface->GetSurfaceDPI() / 96.0);

					Point	 lineStart = Point(frame.right - 4 - size, frame.top + 1 + Math::Round(4 * surface->GetSurfaceDPI() / 96.0));
					Point	 lineEnd   = Point(frame.right - 4 - size, frame.top + 1 + Math::Round(4 * surface->GetSurfaceDPI() / 96.0) + size * 2 - 1);

					for (Int i = 0; i < size; i++) surface->Line(lineStart + Point(i, i), lineEnd + Point(i, -i), Setup::GradientTextColor);
				}
			}

			break;
	}

	surface->EndPaint();

	return Success();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
movl %esi, %ebp
movq %rdi, %r15
movq (%rdi), %rax
callq *0x88(%rax)
testb %al, %al
je 0x89c8d
movq (%r15), %rax
movq %r15, %rdi
callq *0x90(%rax)
xorl %ecx, %ecx
testb %al, %al
je 0x8a447
movq (%r15), %rax
movq %r15, %rdi
callq *0x40(%rax)
movq %rax, %r12
movq (%r15), %rax
movq %r15, %rdi
callq *0x48(%rax)
movq %rax, %rbx
movq %rax, %r14
shrq $0x20, %r14
movq (%r15), %rax
movq %r15, %rdi
callq *0x50(%rax)
leal (%rax,%rbx), %ecx
shrq $0x20, %rax
leaq 0x10(%rsp), %rdx
movl %ebx, (%rdx)
movl %r14d, 0x4(%rdx)
movl %ecx, 0x8(%rdx)
addl %r14d, %eax
movl %eax, 0xc(%rdx)
movq (%r15), %rax
movq %r15, %rdi
callq *0x48(%rax)
movq %rax, %r14
movq %rax, %rbx
shrq $0x20, %rbx
movabsq $0x200000002, %rax      # imm = 0x200000002
leaq 0x30(%rsp), %r13
movq %rax, (%r13)
movq %r12, %rdi
callq 0x59c60
cwtl
cvtsi2sd %eax, %xmm0
movq %r13, %rdi
callq 0x570c0
leaq 0x78(%rsp), %rdi
movq %rax, (%rdi)
movsd 0x59989(%rip), %xmm0    # 0xe3510
callq 0x59600
movq %rax, %r13
shrq $0x20, %rax
addl %r14d, %r13d
movl %ebx, %r14d
addl %eax, %r14d
addl %ebx, %eax
decl %eax
movl %eax, 0x8(%rsp)
movabsq $0xc0000000c, %rax      # imm = 0xC0000000C
leaq 0x48(%rsp), %rbx
movq %rax, (%rbx)
movq %r12, %rdi
callq 0x59c60
cwtl
cvtsi2sd %eax, %xmm0
movq %rbx, %rdi
callq 0x57480
leaq 0x20(%rsp), %rdi
movq %rax, (%rdi)
movsd 0x59935(%rip), %xmm0    # 0xe3510
callq 0x59050
movl %r13d, 0x68(%rsp)
addl %eax, %r13d
shrq $0x20, %rax
movl 0x8(%rsp), %ecx
movl %ecx, 0x6c(%rsp)
movl %r13d, 0x70(%rsp)
addl %r14d, %eax
decl %eax
movq %r12, %r14
movl %eax, 0x74(%rsp)
movq %r12, %rdi
leaq 0x10(%rsp), %rsi
callq 0x56160
cmpl $0x3, %ebp
je 0x89c28
cmpl $0x2, %ebp
je 0x89e42
testl %ebp, %ebp
jne 0x8a43d
leaq 0xf0(%r15), %r12
movq %r12, %rdi
xorl %esi, %esi
callq 0x56280
testb %al, %al
je 0x89c95
leaq 0x5c0(%r15), %rdi
xorl %esi, %esi
callq 0x590c0
testb %al, %al
je 0x89c95
movq 0x10(%rsp), %xmm0
paddd 0x5c373(%rip), %xmm0    # 0xe5fd0
leaq 0x78(%rsp), %rsi
movq %xmm0, (%rsi)
movl 0x18(%rsp), %eax
incl %eax
leaq 0x30(%rsp), %rdx
movl %eax, (%rdx)
pshufd $0x55, %xmm0, %xmm0     # xmm0 = xmm0[1,1,1,1]
movd %xmm0, 0x4(%rdx)
pushq $0x1
popq %rcx
movq %r14, %rdi
callq 0x5a330
jmp 0x8a43d
pushq $-0x1
popq %rcx
jmp 0x8a447
movq %r12, %rdi
xorl %esi, %esi
callq 0x57d40
testb %al, %al
jne 0x89cb9
leaq 0x5c0(%r15), %rdi
xorl %esi, %esi
callq 0x574f0
testb %al, %al
je 0x8a43d
movq %r14, %rdi
callq 0x59c60
cwtl
imull $0x12, %eax, %eax
cvtsi2sd %eax, %xmm0
movsd 0x5983f(%rip), %xmm1    # 0xe3510
divsd %xmm1, %xmm0
cvttsd2si %xmm0, %ebp
leaq 0x10(%rsp), %rbx
movl 0x4(%rbx), %eax
movl 0xc(%rbx), %ecx
addl 0x18c(%r15), %eax
subl %eax, %ecx
cvtsi2sd %ecx, %xmm0
mulsd 0x59687(%rip), %xmm0    # 0xe3380
callq 0x57e30
addl $-0x2, %eax
leaq 0x78(%rsp), %rsi
movl %ebp, (%rsi)
movl %eax, 0x4(%rsi)
movq %rbx, %rdi
callq 0x58930
movq %rax, %rbx
movq %rdx, %r13
movq %r14, %rdi
callq 0x59c60
cwtl
imull $0x12, %eax, %eax
cvtsi2sd %eax, %xmm0
divsd 0x597df(%rip), %xmm0    # 0xe3510
addsd 0x5964f(%rip), %xmm0    # 0xe3388
cvttsd2si %xmm0, %eax
movq %r13, %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
andq %rdx, %rcx
subl %eax, %r13d
orq %rcx, %r13
movq %rbx, 0x20(%rsp)
movq %r13, 0x28(%rsp)
leaq 0x140(%r15), %rsi
leaq 0x78(%rsp), %rdi
callq 0x56bf0
movq (%r15), %rax
movq %r15, %rdi
callq *0x98(%rax)
testb %al, %al
jne 0x89d8f
movq 0xd7bcb(%rip), %rsi     # 0x161950
leaq 0x78(%rsp), %rdi
callq 0x59940
movq 0xd8212(%rip), %rax     # 0x161fa8
movl (%rax), %ecx
leaq 0x30(%rsp), %r8
andq $0x0, (%r8)
movq 0xd7728(%rip), %rdx     # 0x1614d0
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x58b80
leaq 0x20(%rsp), %rdx
leaq 0x78(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
xorl %r8d, %r8d
callq 0x58df0
leaq 0x5c0(%r15), %r12
movq %r12, %rdi
xorl %esi, %esi
callq 0x574f0
cmpq $0x0, 0x5d8(%r15)
sete %cl
andb %cl, %al
cmpb $0x1, %al
jne 0x8a210
cmpq $0x0, 0x5e0(%r15)
jne 0x8a210
movq (%r15), %rax
movq %r15, %rdi
callq *0x98(%rax)
testb %al, %al
je 0x8a1e1
movq %r12, %rdi
callq 0x596e0
leaq 0x30(%rsp), %rdx
andq $0x0, (%rdx)
movq (%rax), %rax
movq %rax, 0x8(%rdx)
leaq 0x68(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0x56c20
jmp 0x8a210
leaq 0xf0(%r15), %r12
movq %r12, %rdi
xorl %esi, %esi
callq 0x57d40
testb %al, %al
jne 0x89e6d
leaq 0x5c0(%r15), %rdi
xorl %esi, %esi
callq 0x574f0
testb %al, %al
je 0x8a43d
movq %r14, %rdi
callq 0x59c60
cwtl
imull $0x12, %eax, %eax
cvtsi2sd %eax, %xmm0
movsd 0x5968b(%rip), %xmm1    # 0xe3510
divsd %xmm1, %xmm0
cvttsd2si %xmm0, %ebp
leaq 0x10(%rsp), %rbx
movl 0x4(%rbx), %eax
movl 0xc(%rbx), %ecx
addl 0x18c(%r15), %eax
subl %eax, %ecx
cvtsi2sd %ecx, %xmm0
mulsd 0x594d3(%rip), %xmm0    # 0xe3380
callq 0x57e30
addl $-0x2, %eax
leaq 0x78(%rsp), %rsi
movl %ebp, (%rsi)
movl %eax, 0x4(%rsi)
movq %rbx, %rdi
callq 0x58930
movq %rax, %rbx
movq %rdx, %r13
movq %r14, %rdi
callq 0x59c60
cwtl
imull $0x12, %eax, %eax
cvtsi2sd %eax, %xmm0
divsd 0x5962b(%rip), %xmm0    # 0xe3510
addsd 0x5949b(%rip), %xmm0    # 0xe3388
cvttsd2si %xmm0, %eax
movq %r13, %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
andq %rdx, %rcx
subl %eax, %r13d
orq %rcx, %r13
movq %rbx, 0x20(%rsp)
movq %r13, 0x28(%rsp)
leaq 0x140(%r15), %rsi
leaq 0x78(%rsp), %rbx
movq %rbx, %rdi
callq 0x56bf0
movq 0xd7c04(%rip), %rsi     # 0x161b30
movq %rbx, %rdi
callq 0x59940
movq 0xd807d(%rip), %rdx     # 0x161fb8
movq 0xd7fde(%rip), %rcx     # 0x161f20
leaq 0x10(%rsp), %rsi
pushq $0x1
popq %r8
movq %r14, %rdi
callq 0x59a40
leaq 0x20(%rsp), %rdx
leaq 0x78(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
xorl %r8d, %r8d
callq 0x58df0
leaq 0x5c0(%r15), %r12
movq %r12, %rdi
xorl %esi, %esi
callq 0x574f0
cmpq $0x0, 0x5d8(%r15)
sete %cl
andb %cl, %al
cmpb $0x1, %al
jne 0x89fbf
cmpq $0x0, 0x5e0(%r15)
jne 0x89fbf
movq %r12, %rdi
callq 0x596e0
leaq 0x30(%rsp), %rdx
andq $0x0, (%rdx)
movq (%rax), %rax
movq %rax, 0x8(%rdx)
leaq 0x68(%rsp), %rcx
movq %r14, %rdi
movq %r12, %rsi
callq 0x56c20
cmpq $0x0, 0x5d0(%r15)
je 0x8a046
movl 0x28(%rsp), %ebx
movl 0x610(%r15), %ebp
movq %r14, %rdi
callq 0x59c60
cwtl
imull %eax, %ebp
cvtsi2sd %ebp, %xmm0
divsd 0x59524(%rip), %xmm0    # 0xe3510
xorpd %xmm1, %xmm1
xorl %eax, %eax
ucomisd %xmm0, %xmm1
seta %al
leaq 0x597b0(%rip), %rcx     # 0xe37b0
addsd (%rcx,%rax,8), %xmm0
cvttsd2si %xmm0, %rax
subl %eax, %ebx
movl %ebx, 0x20(%rsp)
movq 0x5d0(%r15), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *0x20(%rax)
leaq 0x30(%rsp), %rsi
leaq 0x20(%rsp), %rdx
leaq 0x78(%rsp), %rcx
movq %r14, %rdi
xorl %r8d, %r8d
callq 0x58df0
leaq 0x30(%rsp), %rdi
callq 0x5a588
movq %r14, 0x8(%rsp)
cmpq $0x0, 0x5b8(%r15)
je 0x8a42e
movq 0x8(%rsp), %r13
movq %r13, %rdi
callq 0x59c60
cwtl
leal (%rax,%rax,2), %eax
cvtsi2sd %eax, %xmm1
divsd 0x5949a(%rip), %xmm1    # 0xe3510
xorpd %xmm0, %xmm0
xorl %r14d, %r14d
movsd %xmm1, 0x58(%rsp)
ucomisd %xmm1, %xmm0
seta %r12b
movl 0x14(%rsp), %eax
movq %rax, 0x60(%rsp)
movl 0x18(%rsp), %ebp
movq %r13, %rdi
callq 0x59c60
movl %eax, %r15d
movl 0x14(%rsp), %eax
movq %rax, 0x50(%rsp)
movl 0x18(%rsp), %ebx
movq %r13, %rdi
callq 0x59c60
movb %r12b, %r14b
leaq 0x596ee(%rip), %rcx     # 0xe37b0
movsd 0x58(%rsp), %xmm0
addsd (%rcx,%r14,8), %xmm0
cvttsd2si %xmm0, %rcx
xorpd %xmm0, %xmm0
pinsrw $0x1, %eax, %xmm0
pinsrw $0x3, %r15d, %xmm0
psrad $0x10, %xmm0
pslld $0x2, %xmm0
cvtdq2pd %xmm0, %xmm0
divpd 0x596f8(%rip), %xmm0    # 0xe37f0
xorpd %xmm1, %xmm1
movapd %xmm0, %xmm2
cmpltpd %xmm1, %xmm2
movmskpd %xmm2, %edx
movsd 0x59267(%rip), %xmm1    # 0xe3378
movsd 0x59267(%rip), %xmm2    # 0xe3380
movapd %xmm1, %xmm3
testb $0x2, %dl
jne 0x8a126
movapd %xmm2, %xmm3
movapd %xmm0, %xmm4
unpckhpd %xmm0, %xmm4            # xmm4 = xmm4[1],xmm0[1]
addsd %xmm3, %xmm4
cvttsd2si %xmm4, %rax
testb $0x1, %dl
jne 0x8a140
movapd %xmm2, %xmm1
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %rdx
xorl %r14d, %r14d
testl %ecx, %ecx
cmovgl %ecx, %r14d
subl %ecx, %ebx
addl $-0x4, %ebx
leal (%rdx,%rcx,2), %edx
movq 0x50(%rsp), %rsi
leal (%rsi,%rdx), %r15d
incl %r15d
shlq $0x20, %r15
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
addq %rdx, %r15
subl %ecx, %ebp
addl $-0x4, %ebp
movq 0x60(%rsp), %rcx
leal (%rcx,%rax), %r12d
incl %r12d
leaq 0x48(%rsp), %r13
subq $0x1, %r14
jb 0x8a42e
movl %ebx, %eax
addq %r15, %rax
movq %r12, %rcx
shlq $0x20, %rcx
movl %ebp, %edx
orq %rcx, %rdx
movq %rdx, 0x30(%rsp)
movq %rax, 0x48(%rsp)
movq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rsi
movq %r13, %rdx
movq 0xd796a(%rip), %rcx     # 0x161b30
callq 0x595b0
incl %ebx
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
addq %rax, %r15
incl %ebp
incl %r12d
jmp 0x8a18d
leaq 0x5c8(%r15), %rbx
movq %rbx, %rdi
callq 0x596e0
leaq 0x30(%rsp), %rdx
andq $0x0, (%rdx)
movq (%rax), %rax
movq %rax, 0x8(%rdx)
leaq 0x68(%rsp), %rcx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x56c20
cmpq $0x0, 0x5d0(%r15)
je 0x8a297
movl 0x28(%rsp), %ebx
movl 0x610(%r15), %ebp
movq %r14, %rdi
callq 0x59c60
cwtl
imull %eax, %ebp
cvtsi2sd %ebp, %xmm0
divsd 0x592d3(%rip), %xmm0    # 0xe3510
xorpd %xmm1, %xmm1
xorl %eax, %eax
ucomisd %xmm0, %xmm1
seta %al
leaq 0x5955f(%rip), %rcx     # 0xe37b0
addsd (%rcx,%rax,8), %xmm0
cvttsd2si %xmm0, %rax
subl %eax, %ebx
movl %ebx, 0x20(%rsp)
movq 0x5d0(%r15), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *0x20(%rax)
leaq 0x30(%rsp), %rsi
leaq 0x20(%rsp), %rdx
leaq 0x78(%rsp), %rcx
movq %r14, %rdi
xorl %r8d, %r8d
callq 0x58df0
leaq 0x30(%rsp), %rdi
callq 0x5a588
movq %r14, 0x8(%rsp)
cmpq $0x0, 0x5b8(%r15)
je 0x8a42e
movq 0x8(%rsp), %r13
movq %r13, %rdi
callq 0x59c60
cwtl
leal (%rax,%rax,2), %eax
cvtsi2sd %eax, %xmm1
divsd 0x59249(%rip), %xmm1    # 0xe3510
xorpd %xmm0, %xmm0
xorl %r14d, %r14d
movsd %xmm1, 0x58(%rsp)
ucomisd %xmm1, %xmm0
seta %r12b
movl 0x14(%rsp), %eax
movq %rax, 0x60(%rsp)
movl 0x18(%rsp), %ebp
movq %r13, %rdi
callq 0x59c60
movl %eax, %r15d
movl 0x14(%rsp), %eax
movq %rax, 0x50(%rsp)
movl 0x18(%rsp), %ebx
movq %r13, %rdi
callq 0x59c60
movb %r12b, %r14b
leaq 0x5949d(%rip), %rcx     # 0xe37b0
movsd 0x58(%rsp), %xmm0
addsd (%rcx,%r14,8), %xmm0
cvttsd2si %xmm0, %rcx
xorpd %xmm0, %xmm0
pinsrw $0x1, %eax, %xmm0
pinsrw $0x3, %r15d, %xmm0
psrad $0x10, %xmm0
pslld $0x2, %xmm0
cvtdq2pd %xmm0, %xmm0
divpd 0x594a7(%rip), %xmm0    # 0xe37f0
xorpd %xmm1, %xmm1
movapd %xmm0, %xmm2
cmpltpd %xmm1, %xmm2
movmskpd %xmm2, %edx
movsd 0x59016(%rip), %xmm1    # 0xe3378
movsd 0x59016(%rip), %xmm2    # 0xe3380
movapd %xmm1, %xmm3
testb $0x2, %dl
jne 0x8a377
movapd %xmm2, %xmm3
movapd %xmm0, %xmm4
unpckhpd %xmm0, %xmm4            # xmm4 = xmm4[1],xmm0[1]
addsd %xmm3, %xmm4
cvttsd2si %xmm4, %rax
testb $0x1, %dl
jne 0x8a391
movapd %xmm2, %xmm1
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %rdx
xorl %r14d, %r14d
testl %ecx, %ecx
cmovgl %ecx, %r14d
subl %ecx, %ebx
addl $-0x4, %ebx
leal (%rdx,%rcx,2), %edx
movq 0x50(%rsp), %rsi
leal (%rsi,%rdx), %r15d
incl %r15d
shlq $0x20, %r15
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
addq %rdx, %r15
subl %ecx, %ebp
addl $-0x4, %ebp
movq 0x60(%rsp), %rcx
leal (%rcx,%rax), %r12d
incl %r12d
leaq 0x48(%rsp), %r13
subq $0x1, %r14
jb 0x8a42e
movl %ebx, %eax
addq %r15, %rax
movq %r12, %rcx
shlq $0x20, %rcx
movl %ebp, %edx
orq %rcx, %rdx
movq %rdx, 0x30(%rsp)
movq %rax, 0x48(%rsp)
movq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rsi
movq %r13, %rdx
movq 0xd75d5(%rip), %rcx     # 0x1619e8
callq 0x595b0
incl %ebx
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
addq %rax, %r15
incl %ebp
incl %r12d
jmp 0x8a3de
leaq 0x78(%rsp), %rdi
callq 0x57860
movq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x59a80
xorl %ecx, %ecx
movl %ecx, %eax
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8a48a
jmp 0x8a48a
jmp 0x8a46d
jmp 0x8a48a
jmp 0x8a48a
jmp 0x8a48a
jmp 0x8a48a
jmp 0x8a48a
jmp 0x8a48a
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x5a588
jmp 0x8a48d
jmp 0x8a48a
jmp 0x8a48a
jmp 0x8a48a
jmp 0x8a48a
jmp 0x8a48a
jmp 0x8a48a
jmp 0x8a48a
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x57860
movq %rbx, %rdi
callq 0x58260
nop