Function at 0x440510
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3c
mov dword [ebp - 0x20], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.msi.dll_MsiDatabaseIsTablePersistentA
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0xf08
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 3
mov dword [esp + 4], str.wrong_return_condition_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
call fcn.00427080
mov dword [esp + 4], 0xf0b
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov ebx, eax
call fcn.0052ae70
mov dword [esp + 4], str.failed_to_create_db_n
mov dword [esp], ebx
call fcn.0052b0e0
mov dword [esp + 4], 0
mov dword [esp], ebx
call sub.msi.dll_MsiDatabaseIsTablePersistentA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xf0e
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp esi, 3
mov dword [esp + 4], str.wrong_return_condition_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x549804
mov dword [esp], ebx
call sub.msi.dll_MsiDatabaseIsTablePersistentA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xf11
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp esi, 2
mov dword [esp + 4], str.wrong_return_condition_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], str._Columns
mov dword [esp], ebx
call sub.msi.dll_MsiDatabaseIsTablePersistentA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xf14
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp esi, 2
mov dword [esp + 4], str.wrong_return_condition_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], str._Storages
mov dword [esp], ebx
call sub.msi.dll_MsiDatabaseIsTablePersistentA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xf17
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp esi, 2
mov dword [esp + 4], str.wrong_return_condition_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x54981f
mov dword [esp], ebx
call sub.msi.dll_MsiDatabaseIsTablePersistentA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xf1a
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp esi, 2
mov dword [esp + 4], str.wrong_return_condition_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
xor edx, edx
mov ecx, str.CREATE_TABLE__P_____B__SHORT_NOT_NULL___C__CHAR_255__PRIMARY_KEY__C__
mov eax, ebx
call fcn.00427af0
mov dword [esp + 4], 0xf1e
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov esi, eax
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.failed_to_add_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x549883
mov dword [esp], ebx
call sub.msi.dll_MsiDatabaseIsTablePersistentA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xf21
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp esi, 1
mov dword [esp + 4], str.wrong_return_condition_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
xor edx, edx
mov ecx, str.CREATE_TABLE__P2_____B__SHORT_NOT_NULL___C__CHAR_255__PRIMARY_KEY__C___HOLD
mov eax, ebx
call fcn.00427af0
mov dword [esp + 4], 0xf25
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov esi, eax
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.failed_to_add_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x5498d4
mov dword [esp], ebx
call sub.msi.dll_MsiDatabaseIsTablePersistentA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xf28
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp esi, 1
mov dword [esp + 4], str.wrong_return_condition_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
xor edx, edx
mov ecx, str.CREATE_TABLE__T_____B__SHORT_NOT_NULL_TEMPORARY___C__CHAR_255__TEMPORARY_PRIMARY_KEY__C___HOLD
mov eax, ebx
call fcn.00427af0
mov dword [esp + 4], 0xf2c
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov esi, eax
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.failed_to_add_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x5485f1
mov dword [esp], ebx
call sub.msi.dll_MsiDatabaseIsTablePersistentA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xf2f
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.wrong_return_condition_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
xor edx, edx
mov ecx, str.CREATE_TABLE__T2_____B__SHORT_NOT_NULL_TEMPORARY___C__CHAR_255__TEMPORARY_PRIMARY_KEY__C__
mov eax, ebx
call fcn.00427af0
mov dword [esp + 4], 0xf33
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov esi, eax
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.failed_to_add_table_n
sete al
lea esi, [ebp - 0x20]
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 8], esi
mov dword [esp + 4], str.SELECT__FROM__T2_
mov dword [esp], ebx
call sub.msi.dll_MsiDatabaseOpenViewA
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xf37
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x64f
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x543efc
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x5499a6
mov dword [esp], ebx
call sub.msi.dll_MsiDatabaseIsTablePersistentA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0xf3b
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp edi, 2
mov dword [esp + 4], str.wrong_return_condition_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
xor edx, edx
mov ecx, str.CREATE_TABLE__T3_____B__SHORT_NOT_NULL_TEMPORARY___C__CHAR_255__PRIMARY_KEY__C__
mov eax, ebx
call fcn.00427af0
mov dword [esp + 4], 0xf3f
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov edi, eax
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], str.failed_to_add_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x5499fd
mov dword [esp], ebx
call sub.msi.dll_MsiDatabaseIsTablePersistentA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0xf42
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp edi, 1
mov dword [esp + 4], str.wrong_return_condition_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
xor edx, edx
mov ecx, str.CREATE_TABLE__T4_____B__SHORT_NOT_NULL___C__CHAR_255__TEMPORARY_PRIMARY_KEY__C__
mov eax, ebx
call fcn.00427af0
mov dword [esp + 4], 0xf46
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov edi, eax
call fcn.0052ae70
xor eax, eax
cmp edi, 0x65b
mov dword [esp + 4], str.failed_to_add_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x549a51
mov dword [esp], ebx
call sub.msi.dll_MsiDatabaseIsTablePersistentA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0xf49
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp edi, 2
mov dword [esp + 4], str.wrong_return_condition_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
xor edx, edx
mov ecx, str.CREATE_TABLE__T5_____B__SHORT_NOT_NULL_TEMP___C__CHAR_255__TEMP_PRIMARY_KEY__C___HOLD
mov eax, ebx
call fcn.00427af0
mov dword [esp + 4], 0xf4d
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov edi, eax
call fcn.0052ae70
xor eax, eax
cmp edi, 0x64f
mov dword [esp + 4], str.failed_to_add_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 8], esi
mov dword [esp + 4], str.select__from__T_
mov dword [esp], ebx
call sub.msi.dll_MsiDatabaseOpenViewA
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0xf51
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.failed_to_query_table_n
sete al
lea esi, [ebp - 0x1c]
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x20]
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], eax
call sub.msi.dll_MsiViewGetColumnInfo
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xf53
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], str.failed_to_get_column_info_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp + 0x10], 0x549aee
mov dword [esp + 0xc], str.G255
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp], 0xf54
call fcn.0042ca70
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call sub.msi.dll_MsiViewClose
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
mov ecx, esi
mov edx, str.select__from___Tables__where__Name___T
mov eax, ebx
sub esp, 4
mov dword [ebp - 0x1c], 0
call fcn.00427c20
mov dword [esp + 4], 0xf5d
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov edi, eax
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], str.temporary_table_exists_in__Tables_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
mov ecx, esi
mov edx, str.select__from___Columns__where__Table___T_AND__Name___B
mov eax, ebx
sub esp, 4
mov dword [ebp - 0x1c], 0
call fcn.00427c20
mov dword [esp + 4], 0xf63
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov edi, eax
call fcn.0052ae70
xor eax, eax
cmp edi, 0x103
mov dword [esp + 4], str.temporary_table_exists_in__Columns_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x440c40
mov ecx, esi
mov edx, str.select__from___Columns__where__Table___T_AND__Name___C
mov eax, ebx
call fcn.00427c20
mov dword [esp + 4], 0xf67
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov esi, eax
call fcn.0052ae70
xor eax, eax
cmp esi, 0x103
mov dword [esp + 4], str.temporary_table_exists_in__Columns_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x440c50
mov dword [esp], ebx
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov dword [esp], 0x543a7e
call dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
jmp 0x440bce
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
jmp 0x440c14