// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/tools/translator/translator.cpp
// Function: Translator::Translator(smooth::String const&)
Translator::Translator(const String &openFile) : Application("smooth Translator")
{
	fileName	= NIL;
	templateName	= NIL;

	dataSection	= NIL;
	modified	= False;

	splitFactor	= 0.58;
	updateSplitter	= False;

	Rect	 workArea = System::Screen::GetActiveScreenWorkArea();

	wnd		= new GUI::Window(String("smooth Translator v").Append(SMOOTH_VERSION), Point(workArea.left, workArea.top) + Point(50, 50), Size(740, 490));
	title		= new Titlebar();
	menubar		= new Menubar();
	statusbar	= new Statusbar("Ready");

	Section::onSelectItem.Connect(&Translator::SelectEntry, this);

	text_filter	= new Text("Filter:", Point(377, 10));
	text_filter->SetOrientation(OR_UPPERRIGHT);

	edit_filter	= new EditBox(Point(370 - text_filter->GetUnscaledTextWidth(), 7), Size(275 - text_filter->GetUnscaledTextWidth(), 0), 0);
	edit_filter->onInput.Connect(&Translator::FilterEntries, this);
	edit_filter->SetOrientation(OR_UPPERRIGHT);

	button_clear	= new Button("Clear", Point(87, 6), Size());
	button_clear->onAction.Connect(&Translator::ClearFilter, this);
	button_clear->SetOrientation(OR_UPPERRIGHT);

	list_entries	= new ListBox(Point(7, 34), Size(757, 161));
	list_entries->onSelectEntry.Connect(&Translator::SelectEntry, this);
	list_entries->SetFlags(LF_ALLOWRESELECT);
	list_entries->AddTab("ID", 80);
	list_entries->AddTab("String");
	list_entries->AddTab("Translation");

	list_filtered	= new ListBox(list_entries->GetPosition(), list_entries->GetSize());
	list_filtered->onSelectEntry.Connect(&Translator::SelectEntry, this);
	list_filtered->SetFlags(LF_ALLOWRESELECT);
	list_filtered->AddTab("ID", 80);
	list_filtered->AddTab("String");
	list_filtered->AddTab("Translation");
	list_filtered->Hide();

	droparea = new DropArea(list_entries->GetPosition(), list_entries->GetSize());
	droparea->onDropFiles.Connect(&Translator::HandleDropFile, this);

	splitter	= new Divider(200, OR_HORZ | DIV_MOVABLE);
	splitter->onDrag.Connect(&Translator::OnDragSplitter, this);

	layer_edit	= new Layer();
	layer_edit->SetMetrics(Point(0, 202), Size(500, 200));
	layer_edit->onChangeSize.Connect(&Translator::OnChangeEditLayerSize, this);

	button_new	= new Button("New", Point(7, 7), Size());
	button_new->onAction.Connect(&Translator::NewEntry, this);
	button_new->SetTooltipText("Create a new entry");

	text_id		= new Text("ID:", Point(94, 11));

	button_remove	= new Button("Remove", Point(263, 7), Size());
	button_remove->onAction.Connect(&Translator::RemoveEntry, this);
	button_remove->SetTooltipText("Remove entry from translation");
	button_remove->SetOrientation(OR_UPPERRIGHT);

	button_copy	= new Button("Copy", Point(175, 7), Size());
	button_copy->onAction.Connect(&Translator::CopyOriginal, this);
	button_copy->SetTooltipText("Copy original to translation");
	button_copy->SetOrientation(OR_UPPERRIGHT);

	button_save	= new Button("Save", Point(87, 7), Size());
	button_save->onAction.Connect(&Translator::SaveData, this);
	button_save->SetTooltipText("Save entry and show next");
	button_save->SetOrientation(OR_UPPERRIGHT);

	text_original	= new Text("Original:", Point(94, 38));
	text_translated	= new Text("Translation:", Point(94, 106));

	edit_id		= new EditBox(Point(221 - text_translated->GetUnscaledTextWidth(), 8), Size(37, 0), 6);
	edit_id->SetWidth(edit_id->GetFont().GetUnscaledTextSizeX("000000") + 6); 
	edit_id->SetFlags(EDB_NUMERIC);

	edit_original	= new MultiEdit(Point(221 - text_translated->GetUnscaledTextWidth(), 35), Size(608, 60), 0);
	edit_translated	= new MultiEdit(Point(221 - text_translated->GetUnscaledTextWidth(), 103), Size(608, 60), 0);

	MenuEntry	*entry = NIL;

	menu_file	= new PopupMenu();

	menubar->AddEntry("File", menu_file);

	entry = menu_file->AddEntry("New");
	entry->onAction.Connect(&Translator::NewFile, this);
	entry->SetShortcut(SC_CONTROL, 'N', wnd);

	entry = menu_file->AddEntry("Close");
	entry->onAction.Connect(&Translator::Close, this);
	entry->Deactivate();

	menu_file->AddEntry();

	entry = menu_file->AddEntry("Open...");
	entry->onAction.Connect(&Translator::OpenFile, this);
	entry->SetShortcut(SC_CONTROL, 'O', wnd);

	entry = menu_file->AddEntry("Save");
	entry->onAction.Connect(&Translator::SaveFile, this);
	entry->SetShortcut(SC_CONTROL, 'S', wnd);
	entry->Deactivate();

	entry = menu_file->AddEntry("Save as...");
	entry->onAction.Connect(&Translator::SaveFileAs, this);
	entry->SetShortcut(SC_CONTROL | SC_SHIFT, 'S', wnd);
	entry->Deactivate();

	menu_file->AddEntry();

	entry = menu_file->AddEntry("Export as...");
	entry->onAction.Connect(&Translator::ExportAs, this);
	entry->Deactivate();

	menu_file->AddEntry();

	entry = menu_file->AddEntry("Exit");
	entry->onAction.Connect(&GUI::Window::Close, wnd);
	entry->SetShortcut(SC_ALT, Keyboard::KeyF4, wnd);

	menu_entry	= new PopupMenu();

	entry = menubar->AddEntry("Entry", menu_entry);
	entry->Deactivate();

	entry = menu_entry->AddEntry("New");
	entry->onAction.Connect(&Translator::NewEntry, this);
	entry->SetShortcut(SC_ALT, 'N', wnd);

	menu_entry->AddEntry();

	entry = menu_entry->AddEntry("Save");
	entry->onAction.Connect(&Translator::SaveData, this);
	entry->SetShortcut(SC_ALT, 'S', wnd);

	entry = menu_entry->AddEntry("Remove");
	entry->onAction.Connect(&Translator::RemoveEntry, this);
	entry->SetShortcut(SC_ALT, 'R', wnd);
	entry->Deactivate();

	list_entries->Deactivate();
	list_filtered->Deactivate();

	layer_edit->Deactivate();

	text_filter->Deactivate();
	edit_filter->Deactivate();
	button_clear->Deactivate();

	Add(wnd);

	wnd->Add(text_filter);
	wnd->Add(edit_filter);
	wnd->Add(button_clear);

	wnd->GetMainLayer()->Add(droparea);
	wnd->GetMainLayer()->Add(layer_edit);

	layer_edit->Add(text_id);
	layer_edit->Add(edit_id);
	layer_edit->Add(text_original);
	layer_edit->Add(edit_original);
	layer_edit->Add(text_translated);
	layer_edit->Add(edit_translated);
	layer_edit->Add(button_save);
	layer_edit->Add(button_remove);
	layer_edit->Add(button_new);
	layer_edit->Add(button_copy);

	wnd->Add(splitter);

	wnd->Add(list_entries);
	wnd->Add(list_filtered);

	wnd->Add(title);
	wnd->Add(menubar);
	wnd->Add(statusbar);

	wnd->SetMinimumSize(Size(488, 308));
	wnd->SetIcon(NIL);

#ifdef __WIN32__
	wnd->SetIcon(ImageLoader::Load(String("Icon:").Append(String::FromInt(IDI_ICON))));
	wnd->SetIconDirect(LoadImageA(hInstance, MAKEINTRESOURCEA(IDI_ICON), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE | LR_SHARED));
#endif

	wnd->doClose.Connect(&Translator::ExitProc, this);
	wnd->onChangeSize.Connect(&Translator::OnChangeSize, this);

	OnChangeSize(wnd->GetSize());

	if (openFile != NIL) OpenFileName(openFile);

	wnd->Show();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %rsi, %rbp
movq %rdi, %rbx
leaq 0x7734(%rip), %rsi      # 0x122f7
leaq 0x18(%rsp), %r14
movq %r14, %rdi
callq 0x77f0
movq %rbx, %rdi
movq %r14, %rsi
callq 0x7790
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0xdc94(%rip), %rax      # 0x18880
movq %rax, (%rbx)
leaq 0x688(%rbx), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x7480
leaq 0x6a0(%rbx), %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x7480
leaq 0x6b8(%rbx), %rdi
movq %rdi, 0x8(%rsp)
callq 0x7130
leaq 0xde87(%rip), %r12      # 0x18ab0
movq %r12, 0x6f8(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x700(%rbx)
leaq 0xddcf(%rip), %r13      # 0x18a10
movq %r13, 0x6b8(%rbx)
leaq 0x710(%rbx), %rdi
movq %rdi, 0x10(%rsp)
callq 0x7130
movq %r12, 0x750(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x758(%rbx)
movq %r13, 0x710(%rbx)
movq %r14, %rdi
xorl %esi, %esi
callq 0x77c0
movq %r15, %rdi
xorl %esi, %esi
callq 0x77c0
movq $0x0, 0x768(%rbx)
xorl %eax, %eax
movb %al, 0x770(%rbx)
movabsq $0x3fe28f5c28f5c28f, %rcx # imm = 0x3FE28F5C28F5C28F
movq %rcx, 0x620(%rbx)
movb %al, 0x628(%rbx)
callq 0x7390
movq %rax, %r13
movl $0x6d8, %edi            # imm = 0x6D8
callq 0x7530
movq %rax, %r12
leaq 0x763e(%rip), %rsi      # 0x12309
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x7641(%rip), %rsi      # 0x1231d
leaq 0x38(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x7170
leal 0x32(%r13), %ecx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
andq %r13, %rdx
orq %rdx, %rcx
movabsq $0x3200000000, %rsi     # imm = 0x3200000000
addq %rcx, %rsi
leaq 0x30(%rsp), %rdx
movq %rsi, (%rdx)
movabsq $0x1ea000002e4, %rsi    # imm = 0x1EA000002E4
leaq 0x50(%rsp), %rcx
movq %rsi, (%rcx)
movq %r12, %rdi
movq %rax, %rsi
xorl %r8d, %r8d
callq 0x72a0
movq %r12, 0x5b8(%rbx)
leaq 0x38(%rsp), %rdi
callq 0x7980
leaq 0x18(%rsp), %rdi
callq 0x7980
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x7530
movq %rax, %r12
movq %rax, %rdi
movl $0x7, %esi
callq 0x7190
movq %r12, 0x5c0(%rbx)
movl $0x688, %edi            # imm = 0x688
callq 0x7530
movq %rax, %r12
movq %rax, %rdi
callq 0x7270
movq %r12, 0x5c8(%rbx)
movl $0x5b8, %edi            # imm = 0x5B8
callq 0x7530
movq %rax, %r12
leaq 0x757a(%rip), %rsi      # 0x12324
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x7180
movq %r12, 0x5d0(%rbx)
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0xe707(%rip), %rdi      # 0x194e0
leaq 0x1552(%rip), %rsi      # 0xc332
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10288
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x7530
movq %rax, %r12
leaq 0x752c(%rip), %rsi      # 0x1232a
leaq 0x18(%rsp), %rdi
callq 0x77f0
movabsq $0xa00000179, %rax      # imm = 0xA00000179
leaq 0x38(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x30(%rsp), %rcx
movq $0x0, (%rcx)
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x7140
movq %r12, 0x5e8(%rbx)
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x5e8(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x630, %edi            # imm = 0x630
callq 0x7530
movq %rax, %r12
movq 0x5e8(%rbx), %rdi
movq (%rdi), %rax
callq *0xf0(%rax)
movl $0x172, %ecx            # imm = 0x172
subl %eax, %ecx
movl %ecx, 0x18(%rsp)
movl $0x7, 0x1c(%rsp)
movq 0x5e8(%rbx), %rdi
movq (%rdi), %rax
callq *0xf0(%rax)
movl $0x113, %ecx            # imm = 0x113
subl %eax, %ecx
leaq 0x38(%rsp), %rdx
movl %ecx, (%rdx)
movl $0x0, 0x4(%rdx)
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %ecx, %ecx
callq 0x7820
movq %r12, 0x5f0(%rbx)
addq $0x5d0, %r12            # imm = 0x5D0
leaq 0x1948(%rip), %rsi      # 0xc81a
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10346
movq 0x5f0(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x7530
movq %rax, %r12
leaq 0x742a(%rip), %rsi      # 0x12332
leaq 0x18(%rsp), %rdi
callq 0x77f0
movabsq $0x600000057, %rax      # imm = 0x600000057
leaq 0x38(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x30(%rsp), %rcx
movq $0x0, (%rcx)
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x72f0
movq %r12, 0x5f8(%rbx)
leaq 0x18(%rsp), %rdi
callq 0x7980
movl $0x478, %edi            # imm = 0x478
addq 0x5f8(%rbx), %rdi
leaq 0x1a49(%rip), %rsi      # 0xc9aa
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10404
movq 0x5f8(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x718, %edi            # imm = 0x718
callq 0x7530
movq %rax, %r12
movabsq $0x2200000007, %rax     # imm = 0x2200000007
leaq 0x18(%rsp), %rsi
movq %rax, (%rsi)
movabsq $0xa1000002f5, %rax     # imm = 0xA1000002F5
leaq 0x38(%rsp), %rdx
movq %rax, (%rdx)
movq %r12, %rdi
callq 0x7200
movq %r12, 0x600(%rbx)
addq $0x688, %r12            # imm = 0x688
leaq 0x1364(%rip), %rsi      # 0xc332
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10288
movq 0x600(%rbx), %r12
movl $0x2, 0x30(%r12)
leaq 0x7346(%rip), %rsi      # 0x12338
leaq 0x18(%rsp), %rdi
callq 0x77f0
movq 0x6d8(%r12), %rdi
leaq 0x18(%rsp), %rsi
movl $0x50, %edx
movl $0x10, %ecx
callq 0x77a0
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x600(%rbx), %r12
leaq 0x730b(%rip), %rsi      # 0x1233b
leaq 0x18(%rsp), %rdi
callq 0x77f0
movq 0x6d8(%r12), %rdi
leaq 0x18(%rsp), %rsi
xorl %edx, %edx
movl $0x10, %ecx
callq 0x77a0
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x600(%rbx), %r12
leaq 0x72d7(%rip), %rsi      # 0x12342
leaq 0x18(%rsp), %rdi
callq 0x77f0
movq 0x6d8(%r12), %rdi
leaq 0x18(%rsp), %rsi
xorl %edx, %edx
movl $0x10, %ecx
callq 0x77a0
leaq 0x18(%rsp), %rdi
callq 0x7980
movl $0x718, %edi            # imm = 0x718
callq 0x7530
movq %rax, %r12
movq 0x600(%rbx), %rdx
leaq 0xa8(%rdx), %rsi
addq $0xb0, %rdx
movq %rax, %rdi
callq 0x7200
movq %r12, 0x608(%rbx)
addq $0x688, %r12            # imm = 0x688
leaq 0x125b(%rip), %rsi      # 0xc332
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10288
movq 0x608(%rbx), %r12
movl $0x2, 0x30(%r12)
leaq 0x723d(%rip), %rsi      # 0x12338
leaq 0x18(%rsp), %rdi
callq 0x77f0
movq 0x6d8(%r12), %rdi
leaq 0x18(%rsp), %rsi
movl $0x50, %edx
movl $0x10, %ecx
callq 0x77a0
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x608(%rbx), %r12
leaq 0x7202(%rip), %rsi      # 0x1233b
leaq 0x18(%rsp), %rdi
callq 0x77f0
movq 0x6d8(%r12), %rdi
leaq 0x18(%rsp), %rsi
xorl %edx, %edx
movl $0x10, %ecx
callq 0x77a0
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x608(%rbx), %r12
leaq 0x71ce(%rip), %rsi      # 0x12342
leaq 0x18(%rsp), %rdi
callq 0x77f0
movq 0x6d8(%r12), %rdi
leaq 0x18(%rsp), %rsi
xorl %edx, %edx
movl $0x10, %ecx
callq 0x77a0
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x608(%rbx), %rdi
movq (%rdi), %rax
callq *0x60(%rax)
movl $0x5f8, %edi            # imm = 0x5F8
callq 0x7530
movq %rax, %r12
movq 0x600(%rbx), %rdx
leaq 0xa8(%rdx), %rsi
addq $0xb0, %rdx
movq %rax, %rdi
callq 0x7650
movq %r12, 0x610(%rbx)
addq $0x5d8, %r12            # imm = 0x5D8
leaq 0x18bb(%rip), %rsi      # 0xcaa8
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x104c2
movl $0x5f8, %edi            # imm = 0x5F8
callq 0x7530
movq %rax, %r12
movq %rax, %rdi
movl $0xc8, %esi
movl $0x4001, %edx           # imm = 0x4001
callq 0x76c0
movq %r12, 0x618(%rbx)
addq $0x5d8, %r12            # imm = 0x5D8
leaq 0x1892(%rip), %rsi      # 0xcac0
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10580
movl $0x5b8, %edi            # imm = 0x5B8
callq 0x7530
movq %rax, %r12
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x7480
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x71f0
movq %r12, 0x630(%rbx)
leaq 0x18(%rsp), %r12
movq %r12, %rdi
callq 0x7980
movq 0x630(%rbx), %rdi
movabsq $0xca00000000, %rax     # imm = 0xCA00000000
movq %rax, (%r12)
movabsq $0xc8000001f4, %rax     # imm = 0xC8000001F4
leaq 0x38(%rsp), %rdx
movq %rax, (%rdx)
movq (%rdi), %rax
leaq 0x18(%rsp), %rsi
callq *0x150(%rax)
movl $0x298, %edi            # imm = 0x298
addq 0x630(%rbx), %rdi
leaq 0x1a43(%rip), %rsi      # 0xcd00
xorl %edx, %edx
movq %rbx, %rcx
callq 0x1063e
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x7530
movq %rax, %r12
leaq 0x7073(%rip), %rsi      # 0x1234e
leaq 0x18(%rsp), %rdi
callq 0x77f0
movabsq $0x700000007, %rax      # imm = 0x700000007
leaq 0x38(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x30(%rsp), %rcx
movq $0x0, (%rcx)
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x72f0
movq %r12, 0x638(%rbx)
leaq 0x18(%rsp), %rdi
callq 0x7980
movl $0x478, %edi            # imm = 0x478
addq 0x638(%rbx), %rdi
leaq 0x1af8(%rip), %rsi      # 0xce2c
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10404
movq 0x638(%rbx), %r12
leaq 0x7006(%rip), %rsi      # 0x12352
leaq 0x18(%rsp), %rdi
callq 0x77f0
movq (%r12), %rax
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq *0xb0(%rax)
leaq 0x18(%rsp), %rdi
callq 0x7980
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x7530
movq %rax, %r12
leaq 0x6fdf(%rip), %rsi      # 0x12365
leaq 0x18(%rsp), %rdi
callq 0x77f0
movabsq $0xb0000005e, %rax      # imm = 0xB0000005E
leaq 0x38(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x30(%rsp), %rcx
movq $0x0, (%rcx)
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x7140
movq %r12, 0x640(%rbx)
leaq 0x18(%rsp), %rdi
callq 0x7980
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x7530
movq %rax, %r12
leaq 0x6f89(%rip), %rsi      # 0x12369
leaq 0x18(%rsp), %rdi
callq 0x77f0
movabsq $0x700000107, %rax      # imm = 0x700000107
leaq 0x38(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x30(%rsp), %rcx
movq $0x0, (%rcx)
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x72f0
movq %r12, 0x678(%rbx)
leaq 0x18(%rsp), %rdi
callq 0x7980
movl $0x478, %edi            # imm = 0x478
addq 0x678(%rbx), %rdi
leaq 0x1bf3(%rip), %rsi      # 0xd02c
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10404
movq 0x678(%rbx), %r12
leaq 0x6f1f(%rip), %rsi      # 0x12370
leaq 0x18(%rsp), %rdi
callq 0x77f0
movq (%r12), %rax
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq *0xb0(%rax)
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x678(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x7530
movq %rax, %r12
leaq 0x6eee(%rip), %rsi      # 0x1238e
leaq 0x18(%rsp), %rdi
callq 0x77f0
movabsq $0x7000000af, %rax      # imm = 0x7000000AF
leaq 0x38(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x30(%rsp), %rcx
movq $0x0, (%rcx)
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x72f0
movq %r12, 0x680(%rbx)
leaq 0x18(%rsp), %rdi
callq 0x7980
movl $0x478, %edi            # imm = 0x478
addq 0x680(%rbx), %rdi
leaq 0x1c35(%rip), %rsi      # 0xd12e
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10404
movq 0x680(%rbx), %r12
leaq 0x6e82(%rip), %rsi      # 0x12393
leaq 0x18(%rsp), %rdi
callq 0x77f0
movq (%r12), %rax
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq *0xb0(%rax)
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x680(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x7530
movq %rax, %r12
leaq 0x6e50(%rip), %rsi      # 0x123b0
leaq 0x18(%rsp), %rdi
callq 0x77f0
movabsq $0x700000057, %rax      # imm = 0x700000057
leaq 0x38(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x30(%rsp), %rcx
movq $0x0, (%rcx)
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x72f0
movq %r12, 0x670(%rbx)
leaq 0x18(%rsp), %rdi
callq 0x7980
movl $0x478, %edi            # imm = 0x478
addq 0x670(%rbx), %rdi
leaq 0x1ba3(%rip), %rsi      # 0xd15c
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10404
movq 0x670(%rbx), %r12
leaq 0x6de4(%rip), %rsi      # 0x123b5
leaq 0x18(%rsp), %rdi
callq 0x77f0
movq (%r12), %rax
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq *0xb0(%rax)
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x670(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x7530
movq %rax, %r12
leaq 0x6dae(%rip), %rsi      # 0x123ce
leaq 0x18(%rsp), %rdi
callq 0x77f0
movabsq $0x260000005e, %rax     # imm = 0x260000005E
leaq 0x38(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x30(%rsp), %rcx
movq $0x0, (%rcx)
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x7140
movq %r12, 0x650(%rbx)
leaq 0x18(%rsp), %rdi
callq 0x7980
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x7530
movq %rax, %r12
leaq 0x6d5e(%rip), %rsi      # 0x123d8
leaq 0x18(%rsp), %rdi
callq 0x77f0
movabsq $0x6a0000005e, %rax     # imm = 0x6A0000005E
leaq 0x38(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x30(%rsp), %rcx
movq $0x0, (%rcx)
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x7140
movq %r12, 0x660(%rbx)
leaq 0x18(%rsp), %rdi
callq 0x7980
movl $0x630, %edi            # imm = 0x630
callq 0x7530
movq %rax, %r12
movq 0x660(%rbx), %rdi
movq (%rdi), %rax
callq *0xf0(%rax)
movl $0xdd, %ecx
subl %eax, %ecx
leaq 0x18(%rsp), %rsi
movl %ecx, (%rsi)
movl $0x8, 0x4(%rsi)
leaq 0x38(%rsp), %rdx
movq $0x25, (%rdx)
movq %r12, %rdi
movl $0x6, %ecx
callq 0x7820
movq %r12, 0x648(%rbx)
movq (%r12), %rax
movq %r12, %rdi
callq *0xe8(%rax)
movq %rax, %r13
leaq 0x6cbc(%rip), %rsi      # 0x123e5
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r13, %rdi
callq 0x7870
addl $0x6, %eax
movq %r12, %rsi
addq $0xa8, %rsi
movl 0xb4(%r12), %ecx
leaq 0x38(%rsp), %rdx
movl %eax, (%rdx)
movl %ecx, 0x4(%rdx)
movq (%r12), %rax
movq %r12, %rdi
callq *0x150(%rax)
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x648(%rbx), %rax
movl $0x1, 0x30(%rax)
movl $0x5f0, %edi            # imm = 0x5F0
callq 0x7530
movq %rax, %r12
movq 0x660(%rbx), %rdi
movq (%rdi), %rax
callq *0xf0(%rax)
movl $0xdd, %ecx
subl %eax, %ecx
leaq 0x18(%rsp), %rsi
movl %ecx, (%rsi)
movl $0x23, 0x4(%rsi)
movabsq $0x3c00000260, %r13     # imm = 0x3C00000260
leaq 0x38(%rsp), %rdx
movq %r13, (%rdx)
movq %r12, %rdi
xorl %ecx, %ecx
callq 0x73f0
movq %r12, 0x658(%rbx)
movl $0x5f0, %edi            # imm = 0x5F0
callq 0x7530
movq %rax, %r12
movq 0x660(%rbx), %rdi
movq (%rdi), %rax
callq *0xf0(%rax)
movl $0xdd, %ecx
subl %eax, %ecx
leaq 0x18(%rsp), %rsi
movl %ecx, (%rsi)
movl $0x67, 0x4(%rsi)
leaq 0x38(%rsp), %rdx
movq %r13, (%rdx)
movq %r12, %rdi
xorl %ecx, %ecx
callq 0x73f0
movq %r12, 0x668(%rbx)
movl $0x6b8, %edi            # imm = 0x6B8
callq 0x7530
movq %rax, %r12
movq %rax, %rdi
callq 0x7940
movq %r12, 0x5d8(%rbx)
movq 0x5c8(%rbx), %r12
leaq 0x6cb7(%rip), %rsi      # 0x12505
leaq 0x18(%rsp), %rdi
callq 0x77f0
movq 0x5d8(%rbx), %rdx
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x106fc
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x5d8(%rbx), %r12
leaq 0x6aca(%rip), %rsi      # 0x1234e
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x106fc
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x1fc5(%rip), %rsi      # 0xd87e
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10404
movq 0x5b8(%rbx), %rcx
movq %r12, %rdi
movl $0x2, %esi
movl $0x4e, %edx
callq 0x7450
movq 0x5d8(%rbx), %r12
leaq 0x6b02(%rip), %rsi      # 0x123ec
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x106fc
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x261f(%rip), %rsi      # 0xdf3e
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10404
movq (%r12), %rax
movq %r12, %rdi
callq *0x70(%rax)
movq 0x5d8(%rbx), %r12
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x7480
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x106fc
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x5d8(%rbx), %r12
leaq 0x6a85(%rip), %rsi      # 0x123f2
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x106fc
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x25a2(%rip), %rsi      # 0xdf44
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10404
movq 0x5b8(%rbx), %rcx
movq %r12, %rdi
movl $0x2, %esi
movl $0x4f, %edx
callq 0x7450
movq 0x5d8(%rbx), %r12
leaq 0x69dd(%rip), %rsi      # 0x123b0
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x106fc
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x269e(%rip), %rsi      # 0xe0a6
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10404
movq 0x5b8(%rbx), %rcx
movq %r12, %rdi
movl $0x2, %esi
movl $0x53, %edx
callq 0x7450
movq (%r12), %rax
movq %r12, %rdi
callq *0x70(%rax)
movq 0x5d8(%rbx), %r12
leaq 0x69b7(%rip), %rsi      # 0x123fa
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x106fc
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x2684(%rip), %rsi      # 0xe0fc
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10404
movq 0x5b8(%rbx), %rcx
movq %r12, %rdi
movl $0xa, %esi
movl $0x53, %edx
callq 0x7450
movq (%r12), %rax
movq %r12, %rdi
callq *0x70(%rax)
movq 0x5d8(%rbx), %r12
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x7480
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x106fc
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x5d8(%rbx), %r12
leaq 0x6926(%rip), %rsi      # 0x12405
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x106fc
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x2860(%rip), %rsi      # 0xe374
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10404
movq (%r12), %rax
movq %r12, %rdi
callq *0x70(%rax)
movq 0x5d8(%rbx), %r12
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x7480
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x106fc
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x5d8(%rbx), %r12
leaq 0x68b0(%rip), %rsi      # 0x12412
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x106fc
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
movq 0x5b8(%rbx), %rcx
movq 0xd442(%rip), %rsi      # 0x18fe0
xorl %edx, %edx
callq 0x10776
movq 0x5b8(%rbx), %rcx
movq %r12, %rdi
movl $0x1, %esi
movl $0x73, %edx
callq 0x7450
movl $0x6b8, %edi            # imm = 0x6B8
callq 0x7530
movq %rax, %r12
movq %rax, %rdi
callq 0x7940
movq %r12, 0x5e0(%rbx)
movq 0x5c8(%rbx), %r12
leaq 0x6422(%rip), %rsi      # 0x1200a
leaq 0x18(%rsp), %rdi
callq 0x77f0
movq 0x5e0(%rbx), %rdx
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x106fc
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
movq (%r12), %rax
movq %r12, %rdi
callq *0x70(%rax)
movq 0x5e0(%rbx), %r12
leaq 0x6723(%rip), %rsi      # 0x1234e
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x106fc
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x11cc(%rip), %rsi      # 0xce2c
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10404
movq 0x5b8(%rbx), %rcx
movq %r12, %rdi
movl $0x1, %esi
movl $0x4e, %edx
callq 0x7450
movq 0x5e0(%rbx), %r12
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x7480
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x106fc
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x5e0(%rbx), %r12
leaq 0x66f3(%rip), %rsi      # 0x123b0
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x106fc
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x146a(%rip), %rsi      # 0xd15c
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10404
movq 0x5b8(%rbx), %rcx
movq %r12, %rdi
movl $0x1, %esi
movl $0x53, %edx
callq 0x7450
movq 0x5e0(%rbx), %r12
leaq 0x6646(%rip), %rsi      # 0x12369
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x106fc
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x12d4(%rip), %rsi      # 0xd02c
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10404
movq 0x5b8(%rbx), %rcx
movq %r12, %rdi
movl $0x1, %esi
movl $0x52, %edx
callq 0x7450
movq (%r12), %rax
movq %r12, %rdi
callq *0x70(%rax)
movq 0x600(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x608(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x630(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x5e8(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x5f0(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x5f8(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x5b8(%rbx), %rsi
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x30(%rax)
movq 0x5b8(%rbx), %rdi
movq 0x5e8(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5b8(%rbx), %rdi
movq 0x5f0(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5b8(%rbx), %rdi
movq 0x5f8(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5b8(%rbx), %rax
movq 0x610(%rbx), %rsi
movq 0x620(%rax), %rdi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5b8(%rbx), %rax
movq 0x630(%rbx), %rsi
movq 0x620(%rax), %rdi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x630(%rbx), %rdi
movq 0x640(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x630(%rbx), %rdi
movq 0x648(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x630(%rbx), %rdi
movq 0x650(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x630(%rbx), %rdi
movq 0x658(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x630(%rbx), %rdi
movq 0x660(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x630(%rbx), %rdi
movq 0x668(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x630(%rbx), %rdi
movq 0x670(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x630(%rbx), %rdi
movq 0x678(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x630(%rbx), %rdi
movq 0x638(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x630(%rbx), %rdi
movq 0x680(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5b8(%rbx), %rdi
movq 0x618(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5b8(%rbx), %rdi
movq 0x600(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5b8(%rbx), %rdi
movq 0x608(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5b8(%rbx), %rdi
movq 0x5c0(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5b8(%rbx), %rdi
movq 0x5c8(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5b8(%rbx), %rdi
movq 0x5d0(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5b8(%rbx), %rdi
movabsq $0x134000001e8, %rax    # imm = 0x134000001E8
leaq 0x18(%rsp), %rsi
movq %rax, (%rsi)
callq 0x7890
movq 0x5b8(%rbx), %r12
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x78e0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x7420
leaq 0x18(%rsp), %rdi
callq 0x71c0
movl $0x688, %r12d           # imm = 0x688
addq 0x5b8(%rbx), %r12
movq %r12, %rdi
callq 0x10fbe
leaq 0x2695(%rip), %rsi      # 0xe68e
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10ff8
movl $0x298, %edi            # imm = 0x298
addq 0x5b8(%rbx), %rdi
leaq 0x27bd(%rip), %rsi      # 0xe7d6
xorl %edx, %edx
movq %rbx, %rcx
callq 0x1063e
movq %rbx, %rdi
callq 0xe7d6
movq %rbp, %rdi
xorl %esi, %esi
callq 0x76f0
testb %al, %al
je 0xc044
movq %rbx, %rdi
movq %rbp, %rsi
callq 0xe832
movq 0x5b8(%rbx), %rdi
movq (%rdi), %rax
callq *0x58(%rax)
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbp
leaq 0x18(%rsp), %rdi
callq 0x71c0
jmp 0xc2fa
jmp 0xc2f7
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc11e
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
movq %rax, %rbp
movl $0x6b8, %esi            # imm = 0x6B8
jmp 0xc2e9
jmp 0xc131
jmp 0xc131
jmp 0xc131
movq %rax, %rbp
movl $0x5f0, %esi            # imm = 0x5F0
jmp 0xc2e9
jmp 0xc2f7
jmp 0xc2e1
jmp 0xc2e1
jmp 0xc237
jmp 0xc246
jmp 0xc237
jmp 0xc246
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc221
jmp 0xc276
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc221
jmp 0xc276
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc221
jmp 0xc276
jmp 0xc237
jmp 0xc246
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc221
jmp 0xc276
jmp 0xc2f7
jmp 0xc253
jmp 0xc262
jmp 0xc1c9
movq %rax, %rbp
movl $0x5f8, %esi            # imm = 0x5F8
jmp 0xc2e9
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc214
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
jmp 0xc2d2
jmp 0xc2f7
movq %rax, %rbp
movl $0x718, %esi            # imm = 0x718
jmp 0xc2e9
movq %rax, %rbp
leaq 0x18(%rsp), %rdi
callq 0x7980
jmp 0xc279
jmp 0xc276
jmp 0xc2e1
movq %rax, %rbp
leaq 0x18(%rsp), %rdi
callq 0x7980
jmp 0xc249
movq %rax, %rbp
movl $0x5c0, %esi            # imm = 0x5C0
jmp 0xc2e9
movq %rax, %rbp
leaq 0x18(%rsp), %rdi
callq 0x7980
jmp 0xc265
movq %rax, %rbp
movl $0x5b8, %esi            # imm = 0x5B8
jmp 0xc2e9
movq %rax, %rbp
movl $0x688, %esi            # imm = 0x688
jmp 0xc2e9
movq %rax, %rbp
movl $0x5c8, %esi            # imm = 0x5C8
jmp 0xc2e9
jmp 0xc282
movq %rax, %rbp
leaq 0x38(%rsp), %rdi
callq 0x7980
jmp 0xc294
movq %rax, %rbp
leaq 0x18(%rsp), %rdi
callq 0x7980
jmp 0xc2a3
movq %rax, %rbp
movl $0x6d8, %esi            # imm = 0x6D8
jmp 0xc2e9
movq %rax, %rbp
movq 0x8(%rsp), %r12
jmp 0xc309
movq %rax, %rbp
jmp 0xc311
movq %rax, %rbp
jmp 0xc319
movq %rax, %rbp
jmp 0xc321
movq %rax, %rbp
leaq 0x18(%rsp), %rdi
callq 0x7980
jmp 0xc329
movq %rax, %rbp
leaq 0x18(%rsp), %rdi
callq 0x7980
jmp 0xc2fa
movq %rax, %rbp
movl $0x630, %esi            # imm = 0x630
movq %r12, %rdi
callq 0x70a0
jmp 0xc2fa
jmp 0xc2f7
jmp 0xc2f7
movq %rax, %rbp
movq 0x8(%rsp), %r12
movq 0x10(%rsp), %rdi
callq 0x10834
movq %r12, %rdi
callq 0x10834
movq %r15, %rdi
callq 0x7980
movq %r14, %rdi
callq 0x7980
movq %rbx, %rdi
callq 0x74a0
movq %rbp, %rdi
callq 0x7290
nop