Function at 0x140003054
Capabilities:
Terminate process
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x198]
sub rsp, 0x270
mov rax, qword [0x140187620]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov rsi, rcx
mov qword [rbp + 0x70], rcx
xor r12d, r12d
mov r8d, r12d
xor edx, edx
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QMainWindow::constructor_class_QWidget____ptr64__class_QFlags_enum_Qt::WindowType_____ptr64]
nop
lea rax, vtable.BookWindow.1.0
mov qword [rsi], rax
lea rax, vtable.BookWindow.0
mov qword [rsi + 0x10], rax
lea rcx, [rsi + 0x30]
mov rdx, rsi
call fcn.14000166c
lea rdx, str.QSQLITE
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.Qt5Sql.dll_public:_static_class_QStringList___cdecl_QSqlDatabase::drivers_void_]
nop
lea r13d, [r12 + 1]
mov r8d, r13d
lea rdx, [rsp + 0x50]
mov rcx, rax
call qword [sym.imp.Qt5Core.dll_bool___cdecl_QtPrivate::QStringList_contains_class_QStringList_const____ptr64__class_QString_const____ptr64__enum_Qt::CaseSensitivity_]
mov bl, al
lea rcx, [rsp + 0x60]
call fcn.1400048cc
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
test bl, bl
jne 0x14000316f
lea rdx, str.This_demo_needs_the_SQLITE_driver
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, str.Unable_to_load_database
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
mov dword [rsp + 0x20], r12d
mov r9d, 0x400
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.Qt5Widgets.dll_public:_static_enum_QMessageBox::StandardButton___cdecl_QMessageBox::critical_class_QWidget____ptr64__class_QString_const____ptr64__class_QString_const____ptr64__class_QFlags_enum_QMessageBox::StandardButton___enum_QMessageBox::StandardButton_]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rbp + 0x58]
call fcn.140002540
nop
lea rcx, [rbp + 0x58]
call qword [sym.imp.Qt5Sql.dll_public:_enum_QSqlError::ErrorType___cdecl_QSqlError::type_void____ptr64]
test eax, eax
je 0x140003198
lea rdx, [rbp + 0x58]
mov rcx, rsi
call fcn.14000416c
jmp 0x140004084
mov ecx, 0x10
call fcn.14000a910
mov rbx, rax
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x60]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlDatabase::constructor_void____ptr64]
mov r8, rax
mov rdx, qword [rsi + 0x50]
mov rcx, rbx
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlRelationalTableModel::constructor_class_QObject____ptr64__class_QSqlDatabase____ptr64]
lea rax, vtable.QSqlRelationalTableModel.0
mov qword [rbx], rax
mov qword [rsi + 0xb8], rbx
mov rax, qword [rbx]
mov r15d, 2
mov edx, r15d
mov rcx, rbx
call qword [rax + 0x188]
lea rdx, str.books
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
mov rcx, qword [rsi + 0xb8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
call qword [rax + 0x180]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, str.author
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rsp + 0x50]
mov rcx, qword [rsi + 0xb8]
call qword [sym.imp.Qt5Sql.dll_public:_int___cdecl_QSqlTableModel::fieldIndex_class_QString_const____ptr64_const___ptr64]
mov dword [rsi + 0xc0], eax
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, str.genre
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rsp + 0x50]
mov rcx, qword [rsi + 0xb8]
call qword [sym.imp.Qt5Sql.dll_public:_int___cdecl_QSqlTableModel::fieldIndex_class_QString_const____ptr64_const___ptr64]
mov dword [rsi + 0xc4], eax
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, [0x140011b88]
lea rcx, [rsp + 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [0x140011b90]
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, str.authors
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea r9, [rsp + 0x68]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlRelation::constructor_class_QString_const____ptr64__class_QString_const____ptr64__class_QString_const____ptr64____ptr64]
mov r8, rax
mov rcx, qword [rsi + 0xb8]
mov rax, qword [rcx]
mov edx, dword [rsi + 0xc0]
call qword [rax + 0x1e0]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlRelation::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, [0x140011b88]
lea rcx, [rsp + 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [0x140011b90]
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, str.genres
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea r9, [rsp + 0x68]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlRelation::constructor_class_QString_const____ptr64__class_QString_const____ptr64__class_QString_const____ptr64____ptr64]
mov r8, rax
mov rcx, qword [rsi + 0xb8]
mov rax, qword [rcx]
mov edx, dword [rsi + 0xc4]
call qword [rax + 0x1e0]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlRelation::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
or ebx, 0xffffffff
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, str.Author_Name
lea rdx, [rsp + 0x50]
lea r14, [0x1401876c0]
mov rcx, r14
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QMetaObject::tr_char_const____ptr64__char_const____ptr64__int____ptr64]
nop
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::constructor_class_QString_const____ptr64____ptr64]
nop
mov rcx, qword [rsi + 0xb8]
mov rax, qword [rcx]
mov dword [rsp + 0x20], r15d
lea r9, [rsp + 0x70]
mov r8d, r13d
mov edx, dword [rsi + 0xc0]
call qword [rax + 0xa0]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, str.Genre
lea rdx, [rsp + 0x50]
mov rcx, r14
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QMetaObject::tr_char_const____ptr64__char_const____ptr64__int____ptr64]
nop
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::constructor_class_QString_const____ptr64____ptr64]
nop
mov rcx, qword [rsi + 0xb8]
mov rax, qword [rcx]
mov dword [rsp + 0x20], r15d
lea r9, [rsp + 0x70]
mov r8d, r13d
mov edx, dword [rsi + 0xc4]
call qword [rax + 0xa0]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, str.Title
lea rdx, [rsp + 0x58]
mov rcx, r14
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QMetaObject::tr_char_const____ptr64__char_const____ptr64__int____ptr64]
nop
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::constructor_class_QString_const____ptr64____ptr64]
nop
lea rdx, str.title
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
mov rcx, qword [rsi + 0xb8]
mov rbx, qword [rcx]
mov edi, 0xa0
lea rdx, [rsp + 0x50]
call qword [sym.imp.Qt5Sql.dll_public:_int___cdecl_QSqlTableModel::fieldIndex_class_QString_const____ptr64_const___ptr64]
mov edx, eax
mov dword [rsp + 0x20], r15d
lea r9, [rsp + 0x70]
mov r8d, r13d
mov rcx, qword [rsi + 0xb8]
call qword [rbx + rdi]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
or dword [rsp + 0x20], 0xffffffff
xor r9d, r9d
lea r8, str.Year
lea rdx, [rsp + 0x58]
mov rcx, r14
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QMetaObject::tr_char_const____ptr64__char_const____ptr64__int____ptr64]
nop
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::constructor_class_QString_const____ptr64____ptr64]
nop
lea rdx, str.year
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
mov rcx, qword [rsi + 0xb8]
mov rbx, qword [rcx]
lea rdx, [rsp + 0x50]
call qword [sym.imp.Qt5Sql.dll_public:_int___cdecl_QSqlTableModel::fieldIndex_class_QString_const____ptr64_const___ptr64]
mov edx, eax
mov dword [rsp + 0x20], r15d
lea r9, [rsp + 0x70]
mov r8d, r13d
mov rcx, qword [rsi + 0xb8]
call qword [rbx + rdi]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
or dword [rsp + 0x20], 0xffffffff
xor r9d, r9d
lea r8, str.Rating
lea rdx, [rsp + 0x58]
mov rcx, r14
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QMetaObject::tr_char_const____ptr64__char_const____ptr64__int____ptr64]
nop
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::constructor_class_QString_const____ptr64____ptr64]
nop
lea rdx, str.rating
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
mov rcx, qword [rsi + 0xb8]
mov rbx, qword [rcx]
lea rdx, [rsp + 0x50]
call qword [sym.imp.Qt5Sql.dll_public:_int___cdecl_QSqlTableModel::fieldIndex_class_QString_const____ptr64_const___ptr64]
mov edx, eax
mov dword [rsp + 0x20], r15d
lea r9, [rsp + 0x70]
mov r8d, r13d
mov rcx, qword [rsi + 0xb8]
call qword [rbx + rdi]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rcx, qword [rsi + 0xb8]
mov rax, qword [rcx]
call qword [rax + 0x1a8]
test al, al
jne 0x1400036a2
lea rdx, [rsp + 0x70]
mov rcx, qword [rsi + 0xb8]
call qword [sym.imp.Qt5Sql.dll_public:_class_QSqlError___cdecl_QSqlQueryModel::lastError_void____ptr64]
nop
mov rdx, rax
mov rcx, rsi
call fcn.14000416c
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlError::destructor_void____ptr64]
jmp 0x140004084
mov rcx, qword [rsi + 0x50]
mov rax, qword [rcx]
mov rdx, qword [rsi + 0xb8]
call qword [rax + 0x188]
mov r14d, 0x30
mov ecx, r14d
call fcn.14000a910
mov qword [rsp + 0x70], rax
mov rdx, qword [rsi + 0x50]
mov rcx, rax
call fcn.140005368
nop
mov rdx, rax
mov rcx, qword [rsi + 0x50]
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QAbstractItemView::setItemDelegate_class_QAbstractItemDelegate____ptr64____ptr64]
lea rdx, [0x140011b90]
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rsp + 0x50]
mov rcx, qword [rsi + 0xb8]
call qword [sym.imp.Qt5Sql.dll_public:_int___cdecl_QSqlTableModel::fieldIndex_class_QString_const____ptr64_const___ptr64]
mov edx, eax
mov r8b, r13b
mov rcx, qword [rsi + 0x50]
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QTableView::setColumnHidden_int__bool____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, r13d
mov rcx, qword [rsi + 0x50]
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QAbstractItemView::setSelectionMode_enum_QAbstractItemView::SelectionMode____ptr64]
mov rcx, qword [rsi + 0xb8]
mov rax, qword [rcx]
mov edx, dword [rsi + 0xc0]
call qword [rax + 0x1e8]
mov rdx, rax
mov rcx, qword [rsi + 0x80]
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QComboBox::setModel_class_QAbstractItemModel____ptr64____ptr64]
lea rdx, [0x140011b88]
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
mov rcx, qword [rsi + 0xb8]
mov rax, qword [rcx]
mov edx, dword [rsi + 0xc0]
call qword [rax + 0x1e8]
mov rcx, rax
lea rdx, [rsp + 0x50]
call qword [sym.imp.Qt5Sql.dll_public:_int___cdecl_QSqlTableModel::fieldIndex_class_QString_const____ptr64_const___ptr64]
mov edx, eax
mov rcx, qword [rsi + 0x80]
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QComboBox::setModelColumn_int____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rcx, qword [rsi + 0xb8]
mov rax, qword [rcx]
mov edx, dword [rsi + 0xc4]
call qword [rax + 0x1e8]
mov rdx, rax
mov rcx, qword [rsi + 0x90]
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QComboBox::setModel_class_QAbstractItemModel____ptr64____ptr64]
lea rdx, [0x140011b88]
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
mov rcx, qword [rsi + 0xb8]
mov rax, qword [rcx]
mov edx, dword [rsi + 0xc4]
call qword [rax + 0x1e8]
mov rcx, rax
lea rdx, [rsp + 0x50]
call qword [sym.imp.Qt5Sql.dll_public:_int___cdecl_QSqlTableModel::fieldIndex_class_QString_const____ptr64_const___ptr64]
mov edx, eax
mov rcx, qword [rsi + 0x90]
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QComboBox::setModelColumn_int____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, str.rating
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rsp + 0x50]
mov rcx, qword [rsi + 0xb8]
call qword [sym.imp.Qt5Sql.dll_public:_int___cdecl_QSqlTableModel::fieldIndex_class_QString_const____ptr64_const___ptr64]
mov ebx, eax
mov rcx, qword [rsi + 0x50]
call qword [sym.imp.Qt5Widgets.dll_public:_class_QHeaderView____ptr64___cdecl_QTableView::horizontalHeader_void_const___ptr64]
mov rcx, rax
lea r8d, [r14 - 0x2d]
mov edx, ebx
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QHeaderView::setSectionResizeMode_int__enum_QHeaderView::ResizeMode____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea ecx, [r14 - 0x20]
call fcn.14000a910
mov rdi, rax
mov qword [rsp + 0x70], rax
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QDataWidgetMapper::constructor_class_QObject____ptr64____ptr64]
lea rax, vtable.QDataWidgetMapper.0
mov qword [rdi], rax
mov rdx, qword [rsi + 0xb8]
mov rcx, rdi
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QDataWidgetMapper::setModel_class_QAbstractItemModel____ptr64____ptr64]
mov ecx, r14d
call fcn.14000a910
mov qword [rsp + 0x70], rax
mov rdx, rsi
mov rcx, rax
call fcn.140005368
nop
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QDataWidgetMapper::setItemDelegate_class_QAbstractItemDelegate____ptr64____ptr64]
lea rdx, str.title
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rsp + 0x50]
mov rcx, qword [rsi + 0xb8]
call qword [sym.imp.Qt5Sql.dll_public:_int___cdecl_QSqlTableModel::fieldIndex_class_QString_const____ptr64_const___ptr64]
mov r8d, eax
mov rdx, qword [rsi + 0x70]
mov rcx, rdi
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QDataWidgetMapper::addMapping_class_QWidget____ptr64__int____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, str.year
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rsp + 0x50]
mov rcx, qword [rsi + 0xb8]
call qword [sym.imp.Qt5Sql.dll_public:_int___cdecl_QSqlTableModel::fieldIndex_class_QString_const____ptr64_const___ptr64]
mov r8d, eax
mov rdx, qword [rsi + 0xa0]
mov rcx, rdi
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QDataWidgetMapper::addMapping_class_QWidget____ptr64__int____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov r8d, dword [rsi + 0xc0]
mov rdx, qword [rsi + 0x80]
mov rcx, rdi
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QDataWidgetMapper::addMapping_class_QWidget____ptr64__int____ptr64]
mov r8d, dword [rsi + 0xc4]
mov rdx, qword [rsi + 0x90]
mov rcx, rdi
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QDataWidgetMapper::addMapping_class_QWidget____ptr64__int____ptr64]
lea rdx, str.rating
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rsp + 0x50]
mov rcx, qword [rsi + 0xb8]
call qword [sym.imp.Qt5Sql.dll_public:_int___cdecl_QSqlTableModel::fieldIndex_class_QString_const____ptr64_const___ptr64]
mov r8d, eax
mov rdx, qword [rsi + 0xb0]
mov rcx, rdi
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QDataWidgetMapper::addMapping_class_QWidget____ptr64__int____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rax, qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QDataWidgetMapper::setCurrentModelIndex_class_QModelIndex_const____ptr64____ptr64]
mov qword [rsp + 0x50], rax
mov rax, qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QItemSelectionModel::currentRowChanged_class_QModelIndex_const____ptr64__class_QModelIndex_const____ptr64____ptr64]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsi + 0x50]
call qword [sym.imp.Qt5Widgets.dll_public:_class_QItemSelectionModel____ptr64___cdecl_QAbstractItemView::selectionModel_void_const___ptr64]
mov rbx, rax
lea ecx, [r14 - 0x18]
call fcn.14000a910
mov rcx, rax
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x50]
mov dword [rcx], r13d
lea rdx, [0x140004b5c]
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], rax
mov rax, qword [sym.imp.Qt5Core.dll_struct_QMetaObject_const_QItemSelectionModel::staticMetaObject]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], rcx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9, rdi
lea r8, [rsp + 0x60]
mov rdx, rbx
lea rcx, [rbp - 0x68]
call qword [sym.imp.Qt5Core.dll_private:_static_class_QMetaObject::Connection___cdecl_QObject::connectImpl_class_QObject_const____ptr64__void____ptr64____ptr64__class_QObject_const____ptr64__void____ptr64____ptr64__class_QtPrivate::QSlotObjectBase____ptr64__enum_Qt::ConnectionType__int_const____ptr64__struct_QMetaObject_const____ptr64_]
lea rcx, [rbp - 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMetaObject::Connection::destructor_void____ptr64]
or eax, 0xffffffff
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x74], eax
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r12
mov rcx, qword [rsi + 0xb8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x80]
call qword [rax + 0x58]
mov rdx, rax
mov rcx, qword [rsi + 0x50]
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QAbstractItemView::setCurrentIndex_class_QModelIndex_const____ptr64____ptr64]
mov rcx, rsi
call fcn.140004220
lea rcx, [rsp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QStringList___cdecl_QCoreApplication::arguments_void_]
mov rcx, rax
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
mov rax, qword [sym.imp.Qt5Core.dll_struct_QListData::Data_const_QListData::shared_null]
mov qword [rcx], rax
lea rcx, [rsp + 0x60]
call fcn.1400048cc
lea rcx, [rbp - 0x68]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QCoreApplication::applicationDirPath_void_]
nop
mov rdx, rax
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QDir::toNativeSeparators_class_QString_const____ptr64_]
nop
lea rcx, [rbp - 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QFile::constructor_void____ptr64]
nop
lea edx, [r14 - 0x29]
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QStandardPaths::writableLocation_enum_QStandardPaths::StandardLocation_]
nop
mov rax, qword [rbp - 0x48]
cmp dword [rax + 4], r12d
jne 0x140003b30
lea rcx, [rsp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QDir::tempPath_void_]
mov rdx, rax
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::operator_class_QString____ptr64____ptr64]
lea rcx, [rsp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov dil, r12b
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x58]
call fcn.140004994
nop
mov rax, qword [rbp - 0x78]
mov ecx, dword [rax]
cmp ecx, r13d
jbe 0x140003b5c
mov rax, qword [rbp - 0x78]
mov edx, dword [rax + 4]
lea rcx, [rbp - 0x78]
call fcn.140004bb0
mov rax, qword [rbp - 0x78]
movsxd rbx, dword [rax + 8]
add rbx, 2
lea rbx, [rax + rbx*8]
mov ecx, dword [rax]
cmp ecx, r13d
jbe 0x140003b83
mov rax, qword [rbp - 0x78]
mov edx, dword [rax + 4]
lea rcx, [rbp - 0x78]
call fcn.140004bb0
mov rax, qword [rbp - 0x78]
movsxd r14, dword [rax + 0xc]
add r14, 2
lea r14, [rax + r14*8]
jmp 0x140003bb3
lea rdx, str.__initdb
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_bool___cdecl_QString::operator_char_const____ptr64_const___ptr64]
movzx edi, dil
test al, al
cmovne edi, r13d
add rbx, 8
cmp rbx, r14
jne 0x140003b95
lea rcx, [rbp - 0x78]
call fcn.1400048cc
test dil, dil
je 0x14000404f
lea rcx, [rbp - 0x58]
call fcn.140004940
lea rcx, [rbp - 0x58]
call fcn.140004940
call fcn.1400014d8
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3c
sub ecx, eax
add ecx, 0x3c
mov esi, 0x1f4
test ecx, ecx
jle 0x140003c25
mov ebx, ecx
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
sub rbx, r13
jne 0x140003c18
call qword [sym.imp.Qt5Core.dll_public:_static_class_QCoreApplication____ptr64___cdecl_QCoreApplication::instance_void_]
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QCoreApplication::applicationDirPath_void_]
nop
mov rdx, rax
lea rcx, [rbp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QDir::toNativeSeparators_class_QString_const____ptr64_]
mov rbx, rax
lea rcx, [rbp - 0x50]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QChar___cdecl_QDir::separator_void_]
movzx r8d, word [rax]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.140001538
nop
lea r8, str.BookMgr.pdb
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.14000157c
nop
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QFile::setFileName_class_QString_const____ptr64____ptr64]
lea rcx, [rbp + 0x40]
call fcn.140004844
mov edx, dword [rax]
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public_virtual:_bool___cdecl_QFile::open_class_QFlags_enum_QIODevice::OpenModeFlag_____ptr64]
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QIODevice::readAll_void____ptr64]
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public_virtual:_void___cdecl_QFileDevice::close_void____ptr64]
movabs rdx, 0x2c4b8125cb8cfd9a
mov r8d, 0xa
lea rcx, [rbp + 8]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QByteArray___cdecl_QByteArray::number_long_long___int64___int_]
mov rbx, rax
lea rdx, str.vnFOrY68P
lea rcx, [rbp]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rbp - 8]
mov rcx, rax
call qword [sym.imp.Qt5Core.dll__toLocal8Bit_QString__QEHAA_AVQByteArray__XZ]
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.1400014e4
nop
mov r8d, r13d
mov rdx, rax
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QByteArray___cdecl_QCryptographicHash::hash_class_QByteArray_const____ptr64__enum_QCryptographicHash::Algorithm_]
nop
lea rcx, [rbp - 0x10]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp - 8]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp + 8]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
lea rdx, str.VvUKfD
lea rcx, [rbp + 0x18]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rbp + 0x10]
mov rcx, rax
call qword [sym.imp.Qt5Core.dll__toLocal8Bit_QString__QEHAA_AVQByteArray__XZ]
nop
mov r8d, r13d
mov rdx, rax
lea rcx, [rbp + 0x20]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QByteArray___cdecl_QCryptographicHash::hash_class_QByteArray_const____ptr64__enum_QCryptographicHash::Algorithm_]
nop
lea rcx, [rbp + 0x10]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x18]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rbp + 0x20]
call qword [sym.imp.Qt5Core.dll_public:_char_const____ptr64___cdecl_QByteArray::constData_void_const___ptr64]
mov rbx, rax
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_char_const____ptr64___cdecl_QByteArray::constData_void_const___ptr64]
mov rdx, rax
mov r8, rbx
lea rcx, [rbp + 0xa0]
call fcn.140001180
lea rcx, [rbp - 0x70]
call qword [sym.imp.Qt5Core.dll_public:_int___cdecl_QByteArray::size_void_const___ptr64]
mov ebx, eax
lea rcx, [rbp - 0x70]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::data_void____ptr64]
mov rdx, rax
mov r8d, ebx
lea rcx, [rbp + 0xa0]
call fcn.140001398
mov r9d, 0x673200
xor r8d, r8d
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x70]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::mid_int__int____ptr64]
nop
lea rcx, [rbp - 0x70]
call qword [sym.imp.Qt5Core.dll_public:_int___cdecl_QByteArray::size_void_const___ptr64]
mov ebx, eax
lea rcx, [rsp + 0x68]
call qword [sym.imp.Qt5Core.dll_public:_int___cdecl_QByteArray::size_void_const___ptr64]
mov r8d, eax
mov r9d, ebx
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x70]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::mid_int__int____ptr64]
nop
lea rcx, [rbp - 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::clear_void____ptr64]
lea rcx, [0x140011c20]
call fcn.140009fd0
call fcn.140009f10
lea rcx, [rbp - 0x4e]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QChar___cdecl_QDir::separator_void_]
movzx r8d, word [rax]
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x30]
call fcn.140001538
nop
lea r8, [0x140011c48]
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14000157c
nop
lea rcx, [rbp + 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov dword [rbp - 0x60], r12d
lea rdx, [rbp + 0x38]
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll__toLocal8Bit_QString__QEGBA_AVQByteArray__XZ]
nop
mov rcx, rax
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::data_void____ptr64]
mov rcx, rax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r13d
xor r9d, r9d
mov r8d, r13d
mov r14d, 0x40000000
mov edx, r14d
call fcn.140009f00
mov rdi, rax
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
lea rcx, [rsp + 0x68]
call qword [sym.imp.Qt5Core.dll_public:_int___cdecl_QByteArray::size_void_const___ptr64]
mov ebx, eax
lea rcx, [rsp + 0x68]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::data_void____ptr64]
mov rdx, rax
mov qword [rsp + 0x20], r12
lea r9, [rbp - 0x60]
mov r8d, ebx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [0x140011c54]
lea rcx, [rbp - 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x58]
call fcn.1400015e8
nop
mov r8, rax
lea rdx, [rsp + 0x58]
call fcn.1400045d8
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rsp + 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::clear_void____ptr64]
mov ebx, 0xc
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
sub rbx, r13
jne 0x140003f6d
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll__toLocal8Bit_QString__QEGBA_AVQByteArray__XZ]
nop
mov rcx, rax
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::data_void____ptr64]
mov rcx, rax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r13d
xor r9d, r9d
mov r8d, r13d
mov edx, r14d
call fcn.140009f00
mov rdi, rax
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_int___cdecl_QByteArray::size_void_const___ptr64]
mov ebx, eax
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::data_void____ptr64]
mov rdx, rax
mov qword [rsp + 0x20], r12
lea r9, [rbp - 0x60]
mov r8d, ebx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [0x140011618]
lea rcx, [rsp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x58]
call fcn.1400045d8
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::clear_void____ptr64]
mov ebx, 0xb
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
sub rbx, r13
jne 0x140004039
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
mov rcx, rsi
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QWidget::show_void____ptr64]
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public_virtual:_void___cdecl_QFile::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x58]
call fcn.1400048cc
nop
lea rcx, [rbp + 0x58]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlError::destructor_void____ptr64]
nop
mov rax, rsi
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.14000a8f0
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret