Function at 0x44a420
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Delete file
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x134]
push ebx
sub esp, 0x14c
mov dword [esp + 8], eax
mov dword [esp + 4], 3
mov dword [esp], str.winetest_db.msi
call sub.msi.dll_MsiOpenDatabaseW
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x1c39
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x543a1c
sete al
mov dword [esp], eax
mov esi, dword fs:[0x18]
call fcn.0052b0e0
mov eax, dword [ebp - 0x134]
call fcn.0043c5e0
mov eax, dword [ebp - 0x134]
call fcn.00427b80
mov eax, dword [ebp - 0x134]
call fcn.00427bd0
mov dword [esp + 8], 0x70
mov edi, dword [ebp - 0x134]
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [ebp - 0x144], eax
call eax
sub esp, 0xc
mov ebx, eax
mov dword [esp + 8], str.SetProp__51__MYPROP__grape
mov dword [esp + 4], 0x54c130
mov dword [esp], eax
call fcn.00438ea0
xor edx, edx
mov ecx, ebx
mov eax, edi
call fcn.00427af0
mov dword [esp + 8], ebx
mov edi, eax
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_HeapFree]
mov dword [ebp - 0x140], eax
call eax
sub esp, 0xc
mov dword [esp + 4], 0x1c40
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 0xc], edi
sete al
mov dword [esp + 8], 0x54c180
mov dword [esp], eax
mov dword [esp + 4], 0x54c190
call fcn.0052b0e0
mov eax, dword [ebp - 0x134]
mov dword [esp + 4], 0x54c0c4
mov dword [esp + 8], eax
lea eax, [ebp - 0x128]
mov dword [esp], eax
call fcn.00438ea0
lea eax, [ebp - 0x130]
mov dword [esp + 4], eax
lea eax, [ebp - 0x128]
mov dword [esp], eax
call sub.msi.dll_MsiOpenPackageA
sub esp, 8
cmp eax, 0x659
je 0x44af35
mov dword [esp + 4], 0x1c49
mov ebx, eax
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 - 0x11c]
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x12c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x130]
mov dword [esp + 4], str.MYPROP
mov dword [esp], eax
mov dword [ebp - 0x12c], 0x104
mov dword [ebp - 0x11c], 0x6977696b
mov byte [ebp - 0x118], 0
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1c4f
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 dword [esp + 4], 0x1c50
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
mov edi, dword [sym.imp.kernel32.dll_lstrcmpA]
mov dword [esp + 4], 0x545bc5
mov dword [esp], ebx
call edi
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], 0x54c1bb
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1c51
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
mov eax, dword [ebp - 0x12c]
mov dword [esp + 4], 0x544d88
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x130]
mov dword [esp + 4], str.SetProp
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x1c55
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
lea eax, [ebp - 0x12c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x130]
mov dword [esp + 4], str.MYPROP
mov dword [esp], eax
mov dword [ebp - 0x12c], 0x104
mov dword [ebp - 0x11c], 0x6977696b
mov byte [ebp - 0x118], 0
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1c5b
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 dword [esp + 4], 0x1c5c
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
mov dword [ebp - 0x13c], edi
mov dword [esp + 4], str.grape
mov dword [esp], ebx
call edi
mov edi, 0x547e65
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected__grape___got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1c5d
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
mov eax, dword [ebp - 0x12c]
mov dword [esp + 4], 0x544dc4
cmp eax, 5
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x130]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
lea eax, [ebp - 0x130]
sub esp, 4
mov dword [esp + 4], eax
lea eax, [ebp - 0x128]
mov dword [esp], eax
call sub.msi.dll_MsiOpenPackageA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x1c63
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
lea eax, [ebp - 0x12c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x130]
mov dword [esp + 4], str.MYPROP
mov dword [esp], eax
mov dword [ebp - 0x12c], 0x104
mov dword [ebp - 0x11c], 0x6977696b
mov byte [ebp - 0x118], 0
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1c69
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 esi, dword [str.windows]
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
seta al
sbb al, 0
test al, al
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b250
mov esi, dword [ebp - 0x13c]
jmp 0x44a97b
mov dword [esp + 4], 0x1c6c
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
mov dword [esp + 4], 0x545bc5
mov dword [esp], ebx
call esi
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], 0x54c1bb
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1c6d
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
mov eax, dword [ebp - 0x12c]
mov dword [esp + 4], 0x544d88
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
call fcn.0052b2a0
call fcn.0052b280
test eax, eax
jne 0x44a900
mov eax, dword [ebp - 0x134]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
mov eax, dword [ebp - 0x130]
sub esp, 4
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
lea eax, [ebp - 0x134]
sub esp, 4
mov dword [esp + 8], eax
mov dword [esp + 4], 4
mov dword [esp], str.winetest_db.msi
call sub.msi.dll_MsiOpenDatabaseW
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x1c75
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], 0x543a1c
sete al
mov dword [esp], eax
mov edi, dword fs:[0x18]
call fcn.0052b0e0
mov eax, dword [ebp - 0x134]
call fcn.0043c5e0
mov eax, dword [ebp - 0x134]
call fcn.00427b80
mov eax, dword [ebp - 0x134]
call fcn.00427bd0
mov eax, dword [ebp - 0x134]
mov dword [esp + 8], 0x70
mov dword [esp + 4], 0
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x148], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ecx
sub esp, 0xc
mov esi, eax
mov dword [esp + 8], str.SetProp__51__MYPROP__grape
mov dword [esp + 4], 0x54c130
mov dword [esp], eax
call fcn.00438ea0
mov eax, dword [ebp - 0x148]
mov ecx, esi
xor edx, edx
call fcn.00427af0
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [ebp - 0x144], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x140]
call eax
sub esp, 0xc
mov dword [esp + 4], 0x1c7c
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
mov edx, dword [ebp - 0x144]
xor eax, eax
mov dword [esp + 8], 0x54c180
mov dword [esp + 4], 0x54c190
test edx, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x134]
mov dword [esp + 4], 0x54c0c4
mov dword [esp + 8], eax
lea eax, [ebp - 0x128]
mov dword [esp], eax
call fcn.00438ea0
lea eax, [ebp - 0x130]
mov dword [esp + 4], eax
lea eax, [ebp - 0x128]
mov dword [esp], eax
call sub.msi.dll_MsiOpenPackageA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x1c80
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
lea eax, [ebp - 0x12c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x130]
mov dword [esp + 4], str.MYPROP
mov dword [esp], eax
mov dword [ebp - 0x12c], 0x104
mov dword [ebp - 0x11c], 0x6977696b
mov byte [ebp - 0x118], 0
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1c86
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 dword [esp + 4], 0x1c87
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
mov edi, dword [ebp - 0x13c]
mov dword [esp + 4], 0x545bc5
mov dword [esp], ebx
call edi
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], 0x54c1bb
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1c88
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
mov eax, dword [ebp - 0x12c]
mov dword [esp + 4], 0x544d88
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x130]
mov dword [esp + 4], str.SetProp
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x1c8c
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
lea eax, [ebp - 0x12c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x130]
mov dword [esp + 4], str.MYPROP
mov dword [esp], eax
mov dword [ebp - 0x12c], 0x104
mov dword [ebp - 0x11c], 0x6977696b
mov byte [ebp - 0x118], 0
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1c92
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 dword [esp + 4], 0x1c93
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
mov dword [ebp - 0x13c], edi
mov dword [esp + 4], str.grape
mov dword [esp], ebx
call edi
mov edi, 0x547e65
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected__grape___got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1c94
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
mov eax, dword [ebp - 0x12c]
mov dword [esp + 4], 0x544dc4
cmp eax, 5
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x130]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
lea eax, [ebp - 0x130]
sub esp, 4
mov dword [esp + 4], eax
lea eax, [ebp - 0x128]
mov dword [esp], eax
call sub.msi.dll_MsiOpenPackageA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x1c9a
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
lea eax, [ebp - 0x12c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x130]
mov dword [esp + 4], str.MYPROP
mov dword [esp], eax
mov dword [ebp - 0x12c], 0x104
mov dword [ebp - 0x11c], 0x6977696b
mov byte [ebp - 0x118], 0
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1ca0
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 esi, dword [str.windows]
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
seta al
sbb al, 0
test al, al
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b250
mov esi, dword [ebp - 0x13c]
jmp 0x44aeee
mov dword [esp + 4], 0x1ca3
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
mov dword [esp + 4], 0x545bc5
mov dword [esp], ebx
call esi
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], 0x54c1bb
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1ca4
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
mov eax, dword [ebp - 0x12c]
mov dword [esp + 4], 0x544d88
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
call fcn.0052b2a0
call fcn.0052b280
test eax, eax
jne 0x44ae73
mov eax, dword [ebp - 0x130]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov eax, dword [ebp - 0x134]
mov dword [esp], eax
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 + 4], 0x1c46
mov dword [esp], str..._wine_dlls_msi_tests_db.c
call fcn.0052ae70
mov dword [esp], 0x54c0c8
call fcn.0052b1d0
jmp 0x44af0c