Function at 0x4397c0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x24]
lea esi, [ebp - 0x20]
push ebx
sub esp, 0x4c
mov dword [ebp - 0x24], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 3
mov dword [esp], str.winetest_db.msi
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
call sub.msi.dll_MsiOpenDatabaseW
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x103c
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 - 0x24]
mov dword [esp + 8], esi
mov dword [esp + 4], str.CREATE_TABLE__integers_____one__SHORT___two__INT___three__INTEGER___four__LONG___five__SHORT_NOT_NULL___six__INT_NOT_NULL___seven__INTEGER_NOT_NULL___eight__LONG_NOT_NULL_PRIMARY_KEY__one__
mov dword [esp], eax
call sub.msi.dll_MsiDatabaseOpenViewA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x1045
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 - 0x20]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msi.dll_MsiViewExecute
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x1047
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
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sub.msi.dll_MsiViewClose
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x1049
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 - 0x20]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x104b
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 - 0x24]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SELECT__FROM__integers_
mov dword [esp], eax
call sub.msi.dll_MsiDatabaseOpenViewA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x104f
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x543d04
lea ebx, [ebp - 0x1c]
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x20]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msi.dll_MsiViewGetColumnInfo
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x1052
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x543d04
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp + 0x28], 0x54836f
mov dword [esp + 0x24], 0x548375
mov dword [esp + 4], eax
mov dword [esp + 0x20], 0x54837b
mov dword [esp + 0x1c], 0x54837f
mov dword [esp + 0x18], 0x548384
mov dword [esp + 0x14], 0x546be0
mov dword [esp + 0x10], 0x546522
mov dword [esp + 0xc], 0x546b95
mov dword [esp + 8], 8
mov dword [esp], 0x1053
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 + 8], ebx
mov dword [esp + 4], 1
mov dword [esp], eax
call sub.msi.dll_MsiViewGetColumnInfo
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x1057
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x543d04
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp + 0x28], 0x548389
mov dword [esp + 0x24], 0x54838c
mov dword [esp + 4], eax
mov dword [esp + 0x20], 0x54838c
mov dword [esp + 0x1c], 0x54838c
mov dword [esp + 0x18], 0x5480f8
mov dword [esp + 0x14], 0x5480fb
mov dword [esp + 0x10], 0x5480fb
mov dword [esp + 0xc], 0x5480fb
mov dword [esp + 8], 8
mov dword [esp], 0x1058
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 eax, dword [ebp - 0x24]
sub esp, 4
mov dword [esp + 8], esi
mov dword [esp + 4], str.INSERT_INTO__integers_____one____two____three____four____five____six____seven____eight___VALUES________________
mov dword [esp], eax
call sub.msi.dll_MsiDatabaseOpenViewA
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x1062
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x543d04
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msi.dll_MsiViewExecute
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x1064
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x65b
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x543e54
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x20]
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 eax, dword [ebp - 0x24]
mov ecx, ebx
mov edx, str.SELECT__FROM__integers_
sub esp, 4
call fcn.00427c20
mov dword [esp + 4], 0x106b
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 + 8], edi
sete al
mov dword [esp + 4], 0x543f9c
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.msi.dll_MsiRecordGetFieldCount
sub esp, 4
mov edi, eax
mov dword [esp + 4], 0x106e
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0xffffffff
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.record_count_wrong:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
mov eax, dword [ebp - 0x24]
sub esp, 4
mov dword [esp + 8], esi
mov dword [esp + 4], str.INSERT_INTO__integers_____one____two____three____four____five____six____seven____eight___VALUES___2____4__5__6__7__8_
mov dword [esp], eax
call sub.msi.dll_MsiDatabaseOpenViewA
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x1076
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x543d04
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msi.dll_MsiViewExecute
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x1078
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x543d04
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x24]
mov ecx, ebx
mov edx, str.SELECT__FROM__integers_
call fcn.00427c20
mov dword [esp + 4], 0x107c
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 + 8], ebx
sete al
mov dword [esp + 4], 0x543d04
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.msi.dll_MsiRecordGetFieldCount
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x107f
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 8
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.record_count_wrong:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], 1
mov dword [esp], eax
call sub.msi.dll_MsiRecordGetInteger
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x1082
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80000000
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x5484b0
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], 3
mov dword [esp], eax
call sub.msi.dll_MsiRecordGetInteger
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x1084
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80000000
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x5484b0
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], 2
mov dword [esp], eax
call sub.msi.dll_MsiRecordGetInteger
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x1086
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x547059
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], 4
mov dword [esp], eax
call sub.msi.dll_MsiRecordGetInteger
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x1088
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 4
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x544db0
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], 5
mov dword [esp], eax
call sub.msi.dll_MsiRecordGetInteger
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x108a
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 5
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x544dc4
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], 6
mov dword [esp], eax
call sub.msi.dll_MsiRecordGetInteger
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x108c
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 6
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x544dd8
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], 7
mov dword [esp], eax
call sub.msi.dll_MsiRecordGetInteger
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x108e
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 7
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x5450b4
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], 8
mov dword [esp], eax
call sub.msi.dll_MsiRecordGetInteger
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x1090
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 8
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x5450c8
mov dword [esp], eax
call fcn.0052b0e0
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 eax, dword [ebp - 0x24]
sub esp, 4
mov dword [esp], eax
call sub.msi.dll_MsiDatabaseCommit
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x1097
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.MsiDatabaseCommit_failed_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x109a
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
mov ebx, eax
mov dword [esp + 4], 0x109d
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 1
mov dword [esp + 4], str.file_didnt_exist_after_commit_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret