// File: /workspace/github_c_makefile_star2_O3/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 0x7788(%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 0xdce8(%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 0xdedb(%rip), %r12      # 0x18ab0
movq %r12, 0x6f8(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x700(%rbx)
leaq 0xde23(%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 0x7692(%rip), %rsi      # 0x12309
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x7695(%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 0x75ce(%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 0xe75b(%rip), %rdi      # 0x194e0
leaq 0x1552(%rip), %rsi      # 0xc2de
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10180
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x7530
movq %rax, %r12
leaq 0x7580(%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      # 0xc7c6
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10240
movq 0x5f0(%rbx), %rdi
movq (%rdi), %rax
movl $0x24, %esi
callq *0x120(%rax)
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x7530
movq %rax, %r12
leaq 0x747e(%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      # 0xc956
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10300
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      # 0xc2de
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10180
movq 0x600(%rbx), %r12
movl $0x2, 0x30(%r12)
leaq 0x739a(%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 0x735f(%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 0x732b(%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      # 0xc2de
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10180
movq 0x608(%rbx), %r12
movl $0x2, 0x30(%r12)
leaq 0x7291(%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 0x7256(%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 0x7222(%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      # 0xca54
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x103c0
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      # 0xca6c
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10480
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      # 0xccac
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10540
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x7530
movq %rax, %r12
leaq 0x70c7(%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      # 0xcdd8
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10300
movq 0x638(%rbx), %r12
leaq 0x705a(%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 0x7033(%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 0x6fdd(%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      # 0xcfd8
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10300
movq 0x678(%rbx), %r12
leaq 0x6f73(%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 0x6f42(%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      # 0xd0da
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10300
movq 0x680(%rbx), %r12
leaq 0x6ed6(%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 0x6ea4(%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      # 0xd108
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10300
movq 0x670(%rbx), %r12
leaq 0x6e38(%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 0x6e02(%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 0x6db2(%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 0x6d10(%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 0x6d0b(%rip), %rsi      # 0x12505
leaq 0x18(%rsp), %rdi
callq 0x77f0
movq 0x5d8(%rbx), %rdx
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x10600
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x5d8(%rbx), %r12
leaq 0x6b1e(%rip), %rsi      # 0x1234e
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x10600
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x1f87(%rip), %rsi      # 0xd7ec
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10300
movq 0x5b8(%rbx), %rcx
movq %r12, %rdi
movl $0x2, %esi
movl $0x4e, %edx
callq 0x7450
movq 0x5d8(%rbx), %r12
leaq 0x6b56(%rip), %rsi      # 0x123ec
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x10600
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x25e1(%rip), %rsi      # 0xdeac
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10300
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 0x10600
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x5d8(%rbx), %r12
leaq 0x6ad9(%rip), %rsi      # 0x123f2
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x10600
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x2564(%rip), %rsi      # 0xdeb2
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10300
movq 0x5b8(%rbx), %rcx
movq %r12, %rdi
movl $0x2, %esi
movl $0x4f, %edx
callq 0x7450
movq 0x5d8(%rbx), %r12
leaq 0x6a31(%rip), %rsi      # 0x123b0
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x10600
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x2660(%rip), %rsi      # 0xe014
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10300
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 0x6a0b(%rip), %rsi      # 0x123fa
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x10600
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x2646(%rip), %rsi      # 0xe06a
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10300
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 0x10600
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x5d8(%rbx), %r12
leaq 0x697a(%rip), %rsi      # 0x12405
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x10600
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x2822(%rip), %rsi      # 0xe2e2
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10300
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 0x10600
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x5d8(%rbx), %r12
leaq 0x6904(%rip), %rsi      # 0x12412
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x10600
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
movq 0x5b8(%rbx), %rcx
movq 0xd496(%rip), %rsi      # 0x18fe0
xorl %edx, %edx
callq 0x1067a
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 0x6476(%rip), %rsi      # 0x1200a
leaq 0x18(%rsp), %rdi
callq 0x77f0
movq 0x5e0(%rbx), %rdx
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x10600
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
movq (%r12), %rax
movq %r12, %rdi
callq *0x70(%rax)
movq 0x5e0(%rbx), %r12
leaq 0x6777(%rip), %rsi      # 0x1234e
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x10600
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x11cc(%rip), %rsi      # 0xcdd8
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10300
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 0x10600
leaq 0x18(%rsp), %rdi
callq 0x7980
movq 0x5e0(%rbx), %r12
leaq 0x6747(%rip), %rsi      # 0x123b0
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x10600
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x146a(%rip), %rsi      # 0xd108
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10300
movq 0x5b8(%rbx), %rcx
movq %r12, %rdi
movl $0x1, %esi
movl $0x53, %edx
callq 0x7450
movq 0x5e0(%rbx), %r12
leaq 0x669a(%rip), %rsi      # 0x12369
leaq 0x18(%rsp), %rdi
callq 0x77f0
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x10600
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x7980
leaq 0x478(%r12), %rdi
leaq 0x12d4(%rip), %rsi      # 0xcfd8
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10300
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 0x10eb2
leaq 0x2657(%rip), %rsi      # 0xe5fc
movq %r12, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10eec
movl $0x298, %edi            # imm = 0x298
addq 0x5b8(%rbx), %rdi
leaq 0x277f(%rip), %rsi      # 0xe744
xorl %edx, %edx
movq %rbx, %rcx
callq 0x10540
movq %rbx, %rdi
callq 0xe744
movq %rbp, %rdi
xorl %esi, %esi
callq 0x76f0
testb %al, %al
je 0xbff0
movq %rbx, %rdi
movq %rbp, %rsi
callq 0xe7a0
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 0xc2a6
jmp 0xc2a3
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc0ca
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
movq %rax, %rbp
movl $0x6b8, %esi            # imm = 0x6B8
jmp 0xc295
jmp 0xc0dd
jmp 0xc0dd
jmp 0xc0dd
movq %rax, %rbp
movl $0x5f0, %esi            # imm = 0x5F0
jmp 0xc295
jmp 0xc2a3
jmp 0xc28d
jmp 0xc28d
jmp 0xc1e3
jmp 0xc1f2
jmp 0xc1e3
jmp 0xc1f2
jmp 0xc27e
jmp 0xc2a3
jmp 0xc1cd
jmp 0xc222
jmp 0xc27e
jmp 0xc2a3
jmp 0xc1cd
jmp 0xc222
jmp 0xc27e
jmp 0xc2a3
jmp 0xc1cd
jmp 0xc222
jmp 0xc1e3
jmp 0xc1f2
jmp 0xc27e
jmp 0xc2a3
jmp 0xc1cd
jmp 0xc222
jmp 0xc2a3
jmp 0xc1ff
jmp 0xc20e
jmp 0xc175
movq %rax, %rbp
movl $0x5f8, %esi            # imm = 0x5F8
jmp 0xc295
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc1c0
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
jmp 0xc27e
jmp 0xc2a3
movq %rax, %rbp
movl $0x718, %esi            # imm = 0x718
jmp 0xc295
movq %rax, %rbp
leaq 0x18(%rsp), %rdi
callq 0x7980
jmp 0xc225
jmp 0xc222
jmp 0xc28d
movq %rax, %rbp
leaq 0x18(%rsp), %rdi
callq 0x7980
jmp 0xc1f5
movq %rax, %rbp
movl $0x5c0, %esi            # imm = 0x5C0
jmp 0xc295
movq %rax, %rbp
leaq 0x18(%rsp), %rdi
callq 0x7980
jmp 0xc211
movq %rax, %rbp
movl $0x5b8, %esi            # imm = 0x5B8
jmp 0xc295
movq %rax, %rbp
movl $0x688, %esi            # imm = 0x688
jmp 0xc295
movq %rax, %rbp
movl $0x5c8, %esi            # imm = 0x5C8
jmp 0xc295
jmp 0xc22e
movq %rax, %rbp
leaq 0x38(%rsp), %rdi
callq 0x7980
jmp 0xc240
movq %rax, %rbp
leaq 0x18(%rsp), %rdi
callq 0x7980
jmp 0xc24f
movq %rax, %rbp
movl $0x6d8, %esi            # imm = 0x6D8
jmp 0xc295
movq %rax, %rbp
movq 0x8(%rsp), %r12
jmp 0xc2b5
movq %rax, %rbp
jmp 0xc2bd
movq %rax, %rbp
jmp 0xc2c5
movq %rax, %rbp
jmp 0xc2cd
movq %rax, %rbp
leaq 0x18(%rsp), %rdi
callq 0x7980
jmp 0xc2d5
movq %rax, %rbp
leaq 0x18(%rsp), %rdi
callq 0x7980
jmp 0xc2a6
movq %rax, %rbp
movl $0x630, %esi            # imm = 0x630
movq %r12, %rdi
callq 0x70a0
jmp 0xc2a6
jmp 0xc2a3
jmp 0xc2a3
movq %rax, %rbp
movq 0x8(%rsp), %r12
movq 0x10(%rsp), %rdi
callq 0x1073a
movq %r12, %rdi
callq 0x1073a
movq %r15, %rdi
callq 0x7980
movq %r14, %rdi
callq 0x7980
movq %rbx, %rdi
callq 0x74a0
movq %rbp, %rdi
callq 0x7290
nop