Function at 0x14000d284
Capabilities:
Terminate process

Disassembly:
push rbp
push rbx
push rdi
mov rbp, rsp
sub rsp, 0x80
mov rdi, rcx
lea rcx, [rbp + 0x30]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlDatabase::constructor_void____ptr64]
nop
lea rdx, str.qt_sql_default_connection
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Sql.dll_public:_static_bool___cdecl_QSqlDatabase::contains_class_QString_const____ptr64_]
mov bl, al
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
test bl, bl
je 0x14000d607
lea rdx, str.qt_sql_default_connection
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
mov r8b, 1
lea rdx, [rbp + 0x28]
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Sql.dll_public:_static_class_QSqlDatabase___cdecl_QSqlDatabase::database_class_QString_const____ptr64__bool_]
nop
mov rdx, rax
lea rcx, [rbp + 0x30]
call qword [sym.imp.Qt5Sql.dll_public:_class_QSqlDatabase____ptr64___cdecl_QSqlDatabase::operator_class_QSqlDatabase_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlDatabase::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlDatabase::constructor_void____ptr64]
mov rbx, rax
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_void____ptr64]
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 0x50]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlQuery::constructor_class_QString_const____ptr64__class_QSqlDatabase____ptr64]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, str.MusicInfo
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, str.select_count___from_sqlite_master_where_typetable_and_name_1
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
mov rbx, rax
mov dl, 0x20
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QChar::constructor_struct_QLatin1Char____ptr64]
movzx ecx, word [rax]
mov word [rsp + 0x20], cx
xor r9d, r9d
lea r8, [rbp - 0x48]
lea rdx, [rbp - 0x28]
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QString::arg_class_QString_const____ptr64__int__class_QChar____ptr64]
nop
mov rdx, rax
lea rcx, [rbp - 0x50]
call qword [sym.imp.Qt5Sql.dll_public:_bool___cdecl_QSqlQuery::exec_class_QString_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x28]
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]
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rbp - 0x50]
call qword [sym.imp.Qt5Sql.dll_public:_bool___cdecl_QSqlQuery::next_void____ptr64]
test al, al
je 0x14000d479
xor r8d, r8d
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x50]
call qword [sym.imp.Qt5Sql.dll_public:_class_QVariant___cdecl_QSqlQuery::value_int____ptr64]
nop
xor edx, edx
mov rcx, rax
call qword [sym.imp.Qt5Core.dll_public:_int___cdecl_QVariant::toInt_bool____ptr64_const___ptr64]
mov ebx, eax
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::destructor_void____ptr64]
test ebx, ebx
jne 0x14000d479
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlDatabase::constructor_void____ptr64]
mov rbx, rax
lea rcx, [rbp - 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_void____ptr64]
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlQuery::constructor_class_QString_const____ptr64__class_QSqlDatabase____ptr64]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, str.create_table_MusicInfo__name_varchar_30___url_varchar_200___author_varchar_50___title_varchar_50___duration_bigint__albumTitle_varchar_50___audioBitRate_int_
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Sql.dll_public:_bool___cdecl_QSqlQuery::prepare_class_QString_const____ptr64____ptr64]
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Sql.dll_public:_bool___cdecl_QSqlQuery::exec_void____ptr64]
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlQuery::destructor_void____ptr64]
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlDatabase::constructor_void____ptr64]
mov rbx, rax
lea rcx, [rbp - 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_void____ptr64]
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlQuery::constructor_class_QString_const____ptr64__class_QSqlDatabase____ptr64]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, str.MusicLists
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, str.select_count___from_sqlite_master_where_typetable_and_name_1
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
mov rbx, rax
mov dl, 0x20
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QChar::constructor_struct_QLatin1Char____ptr64]
movzx ecx, word [rax]
mov word [rsp + 0x20], cx
xor r9d, r9d
lea r8, [rbp - 0x48]
lea rdx, [rbp - 0x38]
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QString::arg_class_QString_const____ptr64__int__class_QChar____ptr64]
nop
mov rdx, rax
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Sql.dll_public:_bool___cdecl_QSqlQuery::exec_class_QString_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::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 - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Sql.dll_public:_bool___cdecl_QSqlQuery::next_void____ptr64]
test al, al
je 0x14000d5dc
xor r8d, r8d
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Sql.dll_public:_class_QVariant___cdecl_QSqlQuery::value_int____ptr64]
nop
xor edx, edx
mov rcx, rax
call qword [sym.imp.Qt5Core.dll_public:_int___cdecl_QVariant::toInt_bool____ptr64_const___ptr64]
mov ebx, eax
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::destructor_void____ptr64]
test ebx, ebx
jne 0x14000d5dc
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlDatabase::constructor_void____ptr64]
mov rbx, rax
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_void____ptr64]
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlQuery::constructor_class_QString_const____ptr64__class_QSqlDatabase____ptr64]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, str.create_table_MusicLists__name_varchar_30__
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Sql.dll_public:_bool___cdecl_QSqlQuery::prepare_class_QString_const____ptr64____ptr64]
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Sql.dll_public:_bool___cdecl_QSqlQuery::exec_void____ptr64]
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlQuery::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlQuery::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x50]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlQuery::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x30]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlDatabase::destructor_void____ptr64]
add rsp, 0x80
pop rdi
pop rbx
pop rbp
ret
mov rax, qword [sym.imp.Qt5Sql.dll_char_const____ptr64_const___ptr64_QSqlDatabase::defaultConnection]
mov rcx, qword [rax]
or rbx, 0xffffffffffffffff
test rcx, rcx
je 0x14000d62b
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x14000d61d
mov dword [rbp - 0x20], eax
jmp 0x14000d62f
and dword [rbp - 0x20], 0
mov qword [rbp - 0x18], rcx
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_class_QLatin1String____ptr64]
nop
lea rdx, str.QSQLITE
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea r8, [rbp - 0x48]
lea rdx, [rbp + 0x28]
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Sql.dll_public:_static_class_QSqlDatabase___cdecl_QSqlDatabase::addDatabase_class_QString_const____ptr64__class_QString_const____ptr64_]
nop
mov rdx, rax
lea rcx, [rbp + 0x30]
call qword [sym.imp.Qt5Sql.dll_public:_class_QSqlDatabase____ptr64___cdecl_QSqlDatabase::operator_class_QSqlDatabase_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlDatabase::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, [0x1400a1ee8]
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x30]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlDatabase::setDatabaseName_class_QString_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, str.NJUTang
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x30]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlDatabase::setUserName_class_QString_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, str.123456
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x30]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlDatabase::setPassword_class_QString_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rbp + 0x30]
call qword [sym.imp.Qt5Sql.dll_public:_bool___cdecl_QSqlDatabase::open_void____ptr64]
test al, al
jne 0x14000d317
lea rdx, str.Music.db
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x30]
call qword [sym.imp.Qt5Sql.dll_public:_class_QSqlError___cdecl_QSqlDatabase::lastError_void____ptr64]
nop
lea rdx, [rbp - 0x40]
mov rcx, rax
call qword [sym.imp.Qt5Sql.dll_public:_class_QString___cdecl_QSqlError::databaseText_void____ptr64]
mov r8, rax
mov edx, 0x400
lea rcx, [rbp + 0x28]
call fcn.140010d00
and dword [rsp + 0x20], 0
mov r9d, dword [rax]
lea rdx, [rbp - 0x48]
mov rcx, rdi
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, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Sql.dll_public:_void___cdecl_QSqlError::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3