Function at 0x4310e0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
lea eax, [ebp - 0x14]
sub esp, 0x30
mov dword [ebp - 0x14], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 3
mov dword [esp], str.winetest_db.msi
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
call sub.msi.dll_MsiOpenDatabaseW
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x1246
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x544021
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, str.CREATE_TABLE__foo_____bar__LONGCHAR_NOT_NULL_PRIMARY_KEY__bar__
call fcn.00427af0
mov dword [esp + 4], 0x124b
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x5465c7
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, str.INSERT_INTO__foo_____bar____VALUES___A__
call fcn.00427af0
mov dword [esp + 4], 0x124f
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.cannot_add_value_to_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, str.INSERT_INTO__foo_____bar____VALUES___B__
call fcn.00427af0
mov dword [esp + 4], 0x1253
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.cannot_add_value_to_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, str.INSERT_INTO__foo_____bar____VALUES___C__
call fcn.00427af0
mov dword [esp + 4], 0x1257
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.cannot_add_value_to_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, str.INSERT_INTO__foo_____bar____VALUES___D__
call fcn.00427af0
mov dword [esp + 4], 0x125b
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.cannot_add_value_to_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, str.INSERT_INTO__foo_____bar____VALUES___E__
call fcn.00427af0
mov dword [esp + 4], 0x125f
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.cannot_add_value_to_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, str.INSERT_INTO__foo_____bar____VALUES___F__
call fcn.00427af0
mov dword [esp + 4], 0x1263
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.cannot_add_value_to_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, str.CREATE_TABLE__bar_____foo__LONGCHAR_NOT_NULL___baz__LONGCHAR_NOT_NULL_PRIMARY_KEY__foo___
call fcn.00427af0
mov dword [esp + 4], 0x126a
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x5465c7
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, str.INSERT_INTO__bar_____foo____baz____VALUES___C__E__
call fcn.00427af0
mov dword [esp + 4], 0x126e
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.cannot_add_value_to_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, str.INSERT_INTO__bar_____foo____baz____VALUES___F__A__
call fcn.00427af0
mov dword [esp + 4], 0x1272
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.cannot_add_value_to_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, str.INSERT_INTO__bar_____foo____baz____VALUES___A__B__
call fcn.00427af0
mov dword [esp + 4], 0x1276
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.cannot_add_value_to_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, str.INSERT_INTO__bar_____foo____baz____VALUES___D__E__
call fcn.00427af0
mov dword [esp + 4], 0x127a
mov dword [esp], str..._wine_dlls_msi_tests_db.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.cannot_add_value_to_table_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x10]
mov dword [esp + 4], str.SELECT__FROM__bar_
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msi.dll_MsiDatabaseOpenViewA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x1282
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x544092
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msi.dll_MsiViewExecute
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x1284
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x5440ae
sete al
lea ebx, [ebp - 0xc]
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msi.dll_MsiViewFetch
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x1287
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.MsiViewFetch_failed_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xc]
mov dword [esp + 0x10], str.BAECDF
mov dword [esp + 0xc], 0x546991
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp], 0x1288
call fcn.0042ca70
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov esi, eax
mov dword [esp + 4], 0x128a
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_close_record_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msi.dll_MsiViewFetch
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x128d
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.MsiViewFetch_failed_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xc]
mov dword [esp + 0x10], 0x546993
mov dword [esp + 0xc], 0x546995
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp], 0x128e
call fcn.0042ca70
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov esi, eax
mov dword [esp + 4], 0x1290
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_close_record_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msi.dll_MsiViewFetch
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x1293
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.MsiViewFetch_failed_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xc]
mov dword [esp + 0x10], 0x546993
mov dword [esp + 0xc], 0x546997
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp], 0x1294
call fcn.0042ca70
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov esi, eax
mov dword [esp + 4], 0x1296
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_close_record_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msi.dll_MsiViewFetch
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x1299
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.MsiViewFetch_failed_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xc]
mov dword [esp + 0x10], 0x546991
mov dword [esp + 0xc], 0x546999
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp], 0x129a
call fcn.0042ca70
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x129c
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.failed_to_close_record_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sub.msi.dll_MsiViewClose
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x129f
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x5440c5
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x12a1
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x5440da
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x12a4
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x5440da
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], 0x543a7e
call dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret