Function at 0x4ef8e0
Capabilities:
Contain obfuscated stackstrings
Delete file
Delete registry key
Delete registry value
Get common file path
Set registry value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0xc59]
mov esi, 0x5c
push ebx
lea ebx, [ebp - 0x428]
sub esp, 0xdbc
mov dword [esp + 4], edi
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryA]
sub esp, 8
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov word [edi + eax], si
lea eax, [ebp - 0x630]
mov dword [esp], eax
call sub.ole32.dll_CoCreateGuid
sub esp, 4
mov esi, eax
mov dword [esp + 4], 0xff
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x56db6c
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x630]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x104
mov dword [esp], eax
call sub.ole32.dll_StringFromGUID2
sub esp, 0xc
mov dword [ebp - 0xd7c], eax
mov dword [esp + 4], 0x102
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 8], esi
xor eax, eax
mov esi, dword [ebp - 0xd7c]
mov dword [esp + 4], 0x56db83
cmp esi, 0x27
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov ecx, dword [sym.imp.kernel32.dll_WideCharToMultiByte]
lea eax, [ebp - 0xb55]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
lea esi, [ebp - 0x220]
mov dword [ebp - 0xd7c], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call ecx
mov edx, esi
mov eax, ebx
sub esp, 0x20
call fcn.004dc1a0
lea eax, [ebp - 0xa51]
mov ecx, dword [ebp - 0xd7c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 0
call ecx
lea eax, [ebp - 0x630]
sub esp, 0x20
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xb55]
mov dword [esp + 0x14], 0x104
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov edx, ebx
lea eax, [ebp - 0x630]
sub esp, 0x18
call fcn.004dc1a0
cmp dword [0x58b8e4], 1
mov dword [esp + 4], 3
sbb eax, eax
mov dword [esp], 0x585920
xor al, al
add eax, 0xf013f
mov dword [ebp - 0xd88], eax
lea eax, [ebp - 0xd74]
mov dword [esp + 8], eax
call sub.msi.dll_MsiOpenDatabaseW
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x1f2b
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xd74]
mov dword [esp], eax
call sub.msi.dll_MsiDatabaseCommit
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x1f2e
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xd74]
call fcn.004d3220
mov dword [esp + 4], 0x1f31
mov dword [esp], str..._wine_dlls_msi_tests_package.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xd74]
mov edx, str.CREATE_TABLE__Directory_____Directory__CHAR_255__NOT_NULL___Directory_Parent__CHAR_255____DefaultDir__CHAR_255__NOT_NULL_PRIMARY_KEY__Directory__
call fcn.004d35b0
mov dword [esp + 4], 0x1f39
mov dword [esp], str..._wine_dlls_msi_tests_package.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567e84
lea ebx, [ebp - 0x94d]
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xd74]
call fcn.004d38a0
lea ecx, [ebp - 0xb55]
mov dword [esp], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], str.ProductCode___s
call fcn.004d3c10
mov dword [esp], ebx
mov ecx, dword [ebp - 0xd74]
mov edx, 0x569043
mov dword [esp + 4], str.INSERT_INTO__Property____Property____Value___VALUES___s__
mov eax, 0x1f3e
call fcn.004deca0
mov eax, dword [ebp - 0xd74]
mov dword [esp], eax
call sub.msi.dll_MsiDatabaseCommit
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x1f41
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xd74]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
lea ecx, [ebp - 0xa51]
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x220], 0x74666f53
mov dword [ebp - 0x21c], 0x65726177
sub esp, 4
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [ebp - 0x218], 0x616c435c
mov dword [ebp - 0x214], 0x73657373
mov dword [ebp - 0x210], 0x736e495c
mov dword [ebp - 0x20c], 0x6c6c6174
mov dword [ebp - 0x208], 0x505c7265
mov dword [ebp - 0x204], 0x75646f72
mov dword [ebp - 0x200], 0x5c737463
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0xd70]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0xd88]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
cmp eax, 5
je 0x4f1d20
mov dword [esp + 4], 0x1f4f
mov ebx, eax
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567e84
mov ebx, 0x5c6e
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xa51]
mov word [ebp - 0x1f8], bx
mov dword [esp + 4], eax
lea eax, [ebp - 0x1d1]
mov dword [esp], eax
mov dword [ebp - 0x220], 0x74666f53
mov dword [ebp - 0x21c], 0x65726177
mov dword [ebp - 0x218], 0x63694d5c
mov dword [ebp - 0x214], 0x6f736f72
mov dword [ebp - 0x210], 0x575c7466
mov dword [ebp - 0x20c], 0x6f646e69
mov dword [ebp - 0x208], 0x435c7377
mov dword [ebp - 0x204], 0x65727275
mov dword [ebp - 0x200], 0x6556746e
mov dword [ebp - 0x1fc], 0x6f697372
mov dword [ebp - 0x1f6], 0x74736e49
mov dword [ebp - 0x1f2], 0x656c6c61
mov dword [ebp - 0x1ee], 0x73555c72
mov dword [ebp - 0x1ea], 0x61447265
mov dword [ebp - 0x1e6], 0x535c6174
mov dword [ebp - 0x1e2], 0x352d312d
mov dword [ebp - 0x1de], 0x5c38312d
mov dword [ebp - 0x1da], 0x646f7250
mov dword [ebp - 0x1d6], 0x73746375
mov byte [ebp - 0x1d2], 0x5c
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0xd6c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0xd88]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov ebx, eax
cmp eax, 5
je 0x4f1d60
mov dword [esp + 4], 0x1f5d
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd68]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0xd88]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xd6c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.InstallProperties
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x1f60
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567e84
lea ebx, [ebp - 0xd5d]
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], edi
lea edi, [ebp - 0x838]
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll_strcpy]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, 0x5c
mov word [ebx + eax], dx
mov edx, dword [str.winetest_package.msi]
mov dword [esp], ebx
mov dword [ebp + eax - 0xd5c], edx
mov edx, dword [0x585950]
mov dword [ebp + eax - 0xd58], edx
mov edx, dword [0x585954]
mov dword [ebp + eax - 0xd54], edx
mov edx, dword [0x585958]
mov dword [ebp + eax - 0xd50], edx
mov edx, dword [0x58595c]
mov dword [ebp + eax - 0xd4c], edx
movzx edx, byte [0x585960]
mov byte [ebp + eax - 0xd48], dl
mov eax, dword [sym.imp.msvcrt.dll_strlen]
mov dword [ebp - 0xd7c], eax
call eax
mov dword [esp + 0x10], ebx
add eax, 1
mov dword [esp + 0xc], 1
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xd68]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x56d288
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov esi, eax
mov dword [esp + 4], 0x1f67
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd78]
mov dword [ebp - 0xd78], 0xdeadbeef
mov dword [esp + 4], eax
lea eax, [ebp - 0xb55]
mov dword [esp], eax
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x1f6b
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1f6c
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd78]
mov dword [esp + 4], str.Expected_a_valid_product_handle_n
test edx, edx
setne cl
xor eax, eax
cmp edx, 0xdeadbeef
setne al
and eax, ecx
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd64]
mov dword [esp + 8], ebx
mov ecx, 0x65
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x56dbe1
mov dword [esp], 0xdeadbeef
mov word [ebp - 0xd59], cx
mov dword [ebp - 0xd64], 0x104
mov dword [ebp - 0xd5d], 0x6c707061
call sub.msi.dll_MsiGetProductPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1f72
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
cmp esi, 6
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_ERROR_INVALID_HANDLE__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1f74
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [sym.imp.kernel32.dll_lstrcmpA]
mov dword [esp + 4], 0x56dbed
mov dword [esp], ebx
mov dword [ebp - 0xd80], eax
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_val_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1f76
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd64]
mov dword [esp + 4], str.Expected_size_to_be_unchanged__got__d_n
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
xor eax, eax
mov edx, 0x61
mov dword [ebp - 0xd64], 0x104
jmp 0x4f01f7
movzx edx, word [eax + str.apple]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x4f01f0
lea eax, [ebp - 0xd64]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x56dc28
mov dword [esp], 0xdeadbeef
call sub.msi.dll_MsiGetProductPropertyW
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1f7b
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
cmp esi, 6
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_ERROR_INVALID_HANDLE__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1f7d
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, edi
call fcn.004ef720
mov dword [esp + 4], str.apple
mov esi, eax
mov eax, dword [sym.imp.kernel32.dll_lstrcmpW]
mov dword [esp], edi
mov dword [ebp - 0xd84], eax
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_val_to_be_unchanged__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1f7f
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd64]
mov dword [esp + 4], str.Expected_size_to_be_unchanged__got__d_n
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 8], ebx
mov word [ebp - 0xd59], ax
lea eax, [ebp - 0xd64]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xd64], 0x104
mov dword [ebp - 0xd5d], 0x6c707061
call sub.msi.dll_MsiGetProductPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1f85
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e30
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1f87
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0xd80]
mov dword [esp + 4], 0x56dbed
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_val_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1f89
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd64]
mov dword [esp + 4], str.Expected_size_to_be_unchanged__got__d_n
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
xor eax, eax
mov edx, 0x61
mov dword [ebp - 0xd64], 0x104
jmp 0x4f03f9
movzx edx, word [eax + str.apple]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x4f03f2
lea eax, [ebp - 0xd64]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msi.dll_MsiGetProductPropertyW
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1f8e
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e30
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1f90
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, edi
call fcn.004ef720
mov dword [esp + 4], str.apple
mov esi, eax
mov dword [esp], edi
mov eax, dword [ebp - 0xd84]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_val_to_be_unchanged__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1f92
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd64]
mov dword [esp + 4], str.Expected_size_to_be_unchanged__got__d_n
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 8], ebx
mov word [ebp - 0xd59], ax
lea eax, [ebp - 0xd64]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x567e5a
mov dword [esp], eax
mov dword [ebp - 0xd64], 0x104
mov dword [ebp - 0xd5d], 0x6c707061
call sub.msi.dll_MsiGetProductPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1f98
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1f99
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0xd80]
mov dword [esp + 4], 0x567e5a
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], 0x567fbf
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1f9a
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd64]
mov dword [esp + 4], 0x567fd6
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
xor eax, eax
mov edx, 0x61
mov dword [ebp - 0xd64], 0x104
jmp 0x4f05f7
movzx edx, word [eax + str.apple]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x4f05f0
lea eax, [ebp - 0xd64]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x56dc66
mov dword [esp], eax
call sub.msi.dll_MsiGetProductPropertyW
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1f9f
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1fa0
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, edi
call fcn.004ef720
mov dword [esp + 4], str.Expected_____got__s_n
mov dword [esp + 8], eax
xor eax, eax
cmp word [ebp - 0x838], 0
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1fa1
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd64]
mov dword [esp + 4], 0x567fd6
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 8], ebx
mov word [ebp - 0xd59], ax
lea eax, [ebp - 0xd64]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x56dbe1
mov dword [esp], eax
mov dword [ebp - 0xd64], 0x104
mov dword [ebp - 0xd5d], 0x6c707061
call sub.msi.dll_MsiGetProductPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1fa7
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1fa8
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
lea eax, [ebp - 0xb55]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd80]
call eax
lea ecx, [ebp - 0xb55]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1faa
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov esi, dword [ebp - 0xd64]
lea eax, [ebp - 0xb55]
mov dword [esp], eax
mov eax, dword [ebp - 0xd7c]
call eax
mov dword [esp + 0xc], esi
cmp esi, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], 0x5699f6
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
xor eax, eax
mov edx, 0x61
mov dword [ebp - 0xd64], 0x104
jmp 0x4f07fc
movzx edx, word [eax + str.apple]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x4f07f5
lea eax, [ebp - 0xd64]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x56dc28
mov dword [esp], eax
call sub.msi.dll_MsiGetProductPropertyW
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1fb0
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1fb1
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, edi
call fcn.004ef720
mov dword [ebp - 0xd8c], eax
lea eax, [ebp - 0x630]
call fcn.004ef720
mov dword [esp], edi
mov esi, eax
lea eax, [ebp - 0x630]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd84]
call eax
mov edx, dword [ebp - 0xd8c]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], 0x5695c9
call fcn.0052b0e0
mov dword [esp + 4], 0x1fb3
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
cmp word [ebp - 0x630], 0
mov ecx, dword [ebp - 0xd64]
je 0x4f1e10
lea eax, [ebp - 0x630]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x4f0900
lea esi, [ebp - 0x630]
sub eax, esi
mov edx, esi
sar eax, 1
add edx, 2
cmp word [edx], 0
jne 0x4f0915
lea esi, [ebp - 0x630]
sub edx, esi
sar edx, 1
mov dword [esp + 8], eax
xor eax, eax
cmp ecx, edx
sete al
mov dword [esp + 0xc], ecx
mov dword [esp], eax
mov dword [esp + 4], 0x5699f6
call fcn.0052b0e0
lea eax, [ebp - 0xd64]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x56dbe1
mov dword [esp], eax
mov dword [ebp - 0xd64], 0x104
call sub.msi.dll_MsiGetProductPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1fb9
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1fba
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov esi, dword [ebp - 0xd64]
lea eax, [ebp - 0xb55]
mov dword [esp], eax
mov eax, dword [ebp - 0xd7c]
call eax
mov dword [esp + 0xc], esi
cmp esi, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], 0x5699f6
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd64]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x56dc28
mov dword [esp], eax
mov dword [ebp - 0xd64], 0x104
call sub.msi.dll_MsiGetProductPropertyW
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1fbf
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1fc0
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
cmp word [ebp - 0x630], 0
mov ecx, dword [ebp - 0xd64]
je 0x4f1df0
lea eax, [ebp - 0x630]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x4f0a90
lea esi, [ebp - 0x630]
sub eax, esi
mov edx, esi
sar eax, 1
add edx, 2
cmp word [edx], 0
jne 0x4f0aa5
lea esi, [ebp - 0x630]
sub edx, esi
sar edx, 1
mov dword [esp + 8], eax
xor eax, eax
cmp ecx, edx
sete al
mov dword [esp + 0xc], ecx
mov dword [esp], eax
mov dword [esp + 4], 0x5699f6
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], 0
mov word [ebp - 0xd59], ax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x56dbe1
mov dword [esp], eax
mov dword [ebp - 0xd5d], 0x6c707061
call sub.msi.dll_MsiGetProductPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1fc6
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e30
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1fc8
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0xd80]
mov dword [esp + 4], 0x56dbed
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_val_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1fca
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov esi, dword [ebp - 0xd64]
lea eax, [ebp - 0xb55]
mov dword [esp], eax
mov eax, dword [ebp - 0xd7c]
call eax
mov dword [esp + 0xc], esi
cmp esi, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], 0x5699f6
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
xor eax, eax
mov edx, 0x61
jmp 0x4f0be7
movzx edx, word [eax + str.apple]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x4f0be0
mov eax, dword [ebp - 0xd78]
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 4], 0x56dc28
mov dword [esp], eax
call sub.msi.dll_MsiGetProductPropertyW
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1fcf
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e30
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1fd1
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, edi
call fcn.004ef720
mov dword [esp + 4], str.apple
mov esi, eax
mov dword [esp], edi
mov eax, dword [ebp - 0xd84]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_val_to_be_unchanged__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1fd3
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
cmp word [ebp - 0x630], 0
mov ecx, dword [ebp - 0xd64]
je 0x4f1e00
lea eax, [ebp - 0x630]
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x4f0cd0
lea esi, [ebp - 0x630]
sub eax, esi
mov edx, esi
sar eax, 1
add edx, 2
cmp word [edx], 0
jne 0x4f0ce5
lea esi, [ebp - 0x630]
sub edx, esi
sar edx, 1
mov dword [esp + 8], eax
xor eax, eax
cmp ecx, edx
sete al
mov dword [esp + 0xc], ecx
mov dword [esp], eax
mov dword [esp + 4], 0x5699f6
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 8], ebx
mov word [ebp - 0xd59], ax
lea eax, [ebp - 0xd64]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x56dbe1
mov dword [esp], eax
mov dword [ebp - 0xd64], 4
mov dword [ebp - 0xd5d], 0x6c707061
call sub.msi.dll_MsiGetProductPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1fda
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
cmp esi, 0xea
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x56dc80
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1fdb
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
lea eax, [ebp - 0xb55]
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov eax, dword [sym.imp.msvcrt.dll_strncmp]
mov dword [esp], ebx
mov dword [ebp - 0xd8c], eax
call eax
lea ecx, [ebp - 0xb55]
mov dword [esp + 0xc], ebx
test eax, eax
mov dword [esp + 8], ecx
sete al
mov dword [esp + 4], str.Expected_first_3_chars_of___s___got___s__n
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1fdd
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov esi, dword [ebp - 0xd64]
lea eax, [ebp - 0xb55]
mov dword [esp], eax
mov eax, dword [ebp - 0xd7c]
call eax
mov dword [esp + 0xc], esi
cmp esi, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], 0x5699f6
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
xor eax, eax
mov edx, 0x61
mov dword [ebp - 0xd64], 4
jmp 0x4f0e57
movzx edx, word [eax + str.apple]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x4f0e50
lea eax, [ebp - 0xd64]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x56dc28
mov dword [esp], eax
call sub.msi.dll_MsiGetProductPropertyW
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1fe3
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
cmp esi, 0xea
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x56dc80
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1fe4
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, edi
call fcn.004ef720
mov esi, eax
lea eax, [ebp - 0x630]
call fcn.004ef720
mov ecx, dword [ebp - 0x630]
cmp dword [edi], ecx
je 0x4f1d00
mov edx, 1
xor edx, 1
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.Expected_first_3_chars_of__s__got__s_n
call fcn.0052b0e0
mov dword [esp + 4], 0x1fe6
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
cmp word [ebp - 0x630], 0
mov ecx, dword [ebp - 0xd64]
je 0x4f1db2
lea eax, [ebp - 0x630]
add eax, 2
cmp word [eax], 0
jne 0x4f0f43
lea esi, [ebp - 0x630]
sub eax, esi
mov edx, esi
sar eax, 1
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x4f0f60
lea esi, [ebp - 0x630]
sub edx, esi
sar edx, 1
mov dword [esp + 8], eax
xor eax, eax
cmp ecx, edx
sete al
mov dword [esp + 0xc], ecx
mov dword [esp], eax
mov dword [esp + 4], 0x5699f6
call fcn.0052b0e0
lea eax, [ebp - 0xb55]
mov dword [esp], eax
mov eax, dword [ebp - 0xd7c]
call eax
lea ecx, [ebp - 0xd64]
mov dword [esp + 8], ebx
mov dword [ebp - 0xd64], eax
mov eax, 0x65
mov word [ebp - 0xd59], ax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], 0x56dbe1
mov dword [esp], eax
mov dword [ebp - 0xd5d], 0x6c707061
call sub.msi.dll_MsiGetProductPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1fed
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
cmp esi, 0xea
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x56dc80
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1fee
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
lea ecx, [ebp - 0xb55]
mov eax, dword [ebp - 0xd7c]
mov dword [esp], ecx
call eax
lea ecx, [ebp - 0xb55]
mov dword [esp], ebx
sub eax, 1
mov dword [esp + 4], ecx
mov ecx, dword [ebp - 0xd8c]
mov dword [esp + 8], eax
call ecx
lea ecx, [ebp - 0xb55]
mov dword [esp + 0xc], ebx
test eax, eax
mov dword [esp + 8], ecx
sete al
mov dword [esp + 4], str.Expected_first_37_chars_of___s___got___s__n
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1ff0
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov esi, dword [ebp - 0xd64]
lea ecx, [ebp - 0xb55]
mov eax, dword [ebp - 0xd7c]
mov dword [esp], ecx
call eax
mov dword [esp + 0xc], esi
cmp esi, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], 0x5699f6
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
cmp word [ebp - 0x630], 0
je 0x4f1dc0
lea eax, [ebp - 0x630]
add eax, 2
cmp word [eax], 0
jne 0x4f10e1
lea ecx, [ebp - 0x630]
sub eax, ecx
sar eax, 1
mov dword [ebp - 0xd64], eax
mov edx, 0x61
xor eax, eax
jmp 0x4f110a
movzx edx, word [eax + str.apple]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x4f1103
lea eax, [ebp - 0xd64]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x56dc28
mov dword [esp], eax
call sub.msi.dll_MsiGetProductPropertyW
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1ff6
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
cmp esi, 0xea
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x56dc80
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1ff7
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, edi
call fcn.004ef720
mov esi, eax
lea eax, [ebp - 0x630]
call fcn.004ef720
cmp word [ebp - 0x630], 0
mov edx, eax
je 0x4f1dd0
lea eax, [ebp - 0x630]
add eax, 2
cmp word [eax], 0
jne 0x4f11b0
lea ecx, [ebp - 0x630]
sub eax, ecx
sar eax, 1
sub eax, 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x630]
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [ebp - 0xd8c], edx
call sub.msvcrt.dll_memcmp
mov edx, dword [ebp - 0xd8c]
mov dword [esp + 0xc], esi
test eax, eax
mov dword [esp + 4], str.Expected_first_37_chars_of__s__got__s_n
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1ff9
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
cmp word [ebp - 0x630], 0
mov ecx, dword [ebp - 0xd64]
je 0x4f1de0
lea eax, [ebp - 0x630]
lea esi, [esi]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x4f1240
lea esi, [ebp - 0x630]
sub eax, esi
mov edx, esi
sar eax, 1
add edx, 2
cmp word [edx], 0
jne 0x4f1255
lea esi, [ebp - 0x630]
sub edx, esi
sar edx, 1
mov dword [esp + 8], eax
xor eax, eax
cmp ecx, edx
mov esi, 0x65
sete al
mov dword [esp + 0xc], ecx
mov dword [esp], eax
mov dword [esp + 4], 0x5699f6
call fcn.0052b0e0
lea eax, [ebp - 0xb55]
mov dword [esp], eax
mov eax, dword [ebp - 0xd7c]
call eax
lea ecx, [ebp - 0xd64]
mov dword [esp + 8], ebx
add eax, 1
mov dword [esp + 0xc], ecx
mov dword [ebp - 0xd64], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x56dbe1
mov dword [esp], eax
mov word [ebp - 0xd59], si
mov dword [ebp - 0xd5d], 0x6c707061
call sub.msi.dll_MsiGetProductPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x2000
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2001
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
lea ecx, [ebp - 0xb55]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov ecx, dword [ebp - 0xd80]
call ecx
lea ecx, [ebp - 0xb55]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x2003
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov esi, dword [ebp - 0xd64]
lea ecx, [ebp - 0xb55]
mov eax, dword [ebp - 0xd7c]
mov dword [esp], ecx
call eax
mov dword [esp + 0xc], esi
cmp esi, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], 0x5699f6
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
cmp word [ebp - 0x630], 0
je 0x4f1e30
lea eax, [ebp - 0x630]
add eax, 2
cmp word [eax], 0
jne 0x4f13c0
lea ecx, [ebp - 0x630]
sub eax, ecx
sar eax, 1
add eax, 1
mov dword [ebp - 0xd64], eax
mov edx, 0x61
xor eax, eax
jmp 0x4f13ec
movzx edx, word [eax + str.apple]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x4f13e5
lea eax, [ebp - 0xd64]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x56dc28
mov dword [esp], eax
call sub.msi.dll_MsiGetProductPropertyW
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x2009
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x200a
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, edi
call fcn.004ef720
mov dword [ebp - 0xd8c], eax
lea eax, [ebp - 0x630]
call fcn.004ef720
mov dword [esp], edi
mov esi, eax
lea eax, [ebp - 0x630]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd84]
call eax
mov edx, dword [ebp - 0xd8c]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], 0x5695c9
call fcn.0052b0e0
mov dword [esp + 4], 0x200c
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
cmp word [ebp - 0x630], 0
mov ecx, dword [ebp - 0xd64]
je 0x4f1e40
lea eax, [ebp - 0x630]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x4f14f0
lea esi, [ebp - 0x630]
sub eax, esi
mov edx, esi
sar eax, 1
add edx, 2
cmp word [edx], 0
jne 0x4f1505
lea esi, [ebp - 0x630]
sub edx, esi
sar edx, 1
mov dword [esp + 8], eax
xor eax, eax
cmp ecx, edx
sete al
mov dword [esp + 0xc], ecx
mov dword [esp], eax
mov dword [esp + 4], 0x5699f6
call fcn.0052b0e0
lea eax, [ebp - 0xd64]
mov dword [esp + 8], ebx
mov ecx, 0x65
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x56dd4b
mov dword [esp], eax
mov word [ebp - 0xd59], cx
mov dword [ebp - 0xd64], 0x104
mov dword [ebp - 0xd5d], 0x6c707061
call sub.msi.dll_MsiGetProductPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x2013
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2014
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0xd80]
mov dword [esp + 4], 0x567e5a
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], 0x567fbf
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2015
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd64]
mov dword [esp + 4], 0x567fd6
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
xor eax, eax
mov edx, 0x61
mov dword [ebp - 0xd64], 0x104
jmp 0x4f1647
movzx edx, word [eax + str.apple]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x4f1640
lea eax, [ebp - 0xd64]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], str.IDontExist
mov dword [esp], eax
call sub.msi.dll_MsiGetProductPropertyW
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x201a
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x201b
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, edi
call fcn.004ef720
mov dword [esp + 4], 0x56dc66
mov esi, eax
mov dword [esp], edi
mov eax, dword [ebp - 0xd84]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_____got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x201c
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd64]
mov dword [esp + 4], 0x567fd6
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xd78]
mov dword [esp + 8], str.value
mov dword [esp + 4], 0x56dd72
mov dword [esp], eax
call sub.msi.dll_MsiSetPropertyA
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x201f
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd64]
mov dword [esp + 8], ebx
mov edx, 0x65
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x56dd72
mov dword [esp], eax
mov word [ebp - 0xd59], dx
mov dword [ebp - 0xd64], 0x104
mov dword [ebp - 0xd5d], 0x6c707061
call sub.msi.dll_MsiGetProductPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x2025
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2026
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0xd80]
mov dword [esp + 4], 0x567e5a
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], 0x567fbf
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2027
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd64]
mov dword [esp + 4], 0x567fd6
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
xor eax, eax
mov edx, 0x61
mov dword [ebp - 0xd64], 0x104
jmp 0x4f1897
movzx edx, word [eax + str.apple]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x4f1890
lea eax, [ebp - 0xd64]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], str.NewProperty
mov dword [esp], eax
call sub.msi.dll_MsiGetProductPropertyW
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x202c
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x202d
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, edi
call fcn.004ef720
mov dword [esp + 4], 0x56dc66
mov esi, eax
mov dword [esp], edi
mov eax, dword [ebp - 0xd84]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_____got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x202e
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd64]
mov dword [esp + 4], 0x567fd6
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xd78]
mov dword [esp + 8], str.value
mov dword [esp + 4], 0x56dbe1
mov dword [esp], eax
call sub.msi.dll_MsiSetPropertyA
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x2031
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 8], ebx
mov word [ebp - 0xd59], ax
lea eax, [ebp - 0xd64]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x56dbe1
mov dword [esp], eax
mov dword [ebp - 0xd64], 0x104
mov dword [ebp - 0xd5d], 0x6c707061
call sub.msi.dll_MsiGetProductPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x2037
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2038
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
lea eax, [ebp - 0xb55]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd80]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
lea ebx, [ebp - 0xb55]
movzx eax, al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x203a
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov ebx, dword [ebp - 0xd64]
lea eax, [ebp - 0xb55]
mov dword [esp], eax
mov eax, dword [ebp - 0xd7c]
call eax
mov dword [esp + 0xc], ebx
cmp ebx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 4], 0x5699f6
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
xor eax, eax
mov edx, 0x61
mov dword [ebp - 0xd64], 0x104
jmp 0x4f1b07
movzx edx, word [eax + str.apple]
mov word [edi + eax], dx
add eax, 2
test dx, dx
jne 0x4f1b00
lea eax, [ebp - 0xd64]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xd78]
mov dword [esp + 4], 0x56dc28
mov dword [esp], eax
call sub.msi.dll_MsiGetProductPropertyW
sub esp, 0x10
mov ebx, eax
mov dword [esp + 4], 0x2040
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2041
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, edi
call fcn.004ef720
mov esi, eax
lea eax, [ebp - 0x630]
call fcn.004ef720
mov dword [esp], edi
mov ebx, eax
lea eax, [ebp - 0x630]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd84]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], esi
movzx eax, al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x5695c9
call fcn.0052b0e0
mov dword [esp + 4], 0x2043
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
cmp word [ebp - 0x630], 0
mov ecx, dword [ebp - 0xd64]
je 0x4f1e20
lea eax, [ebp - 0x630]
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x4f1c00
lea ebx, [ebp - 0x630]
sub eax, ebx
mov edx, ebx
sar eax, 1
add edx, 2
cmp word [edx], 0
jne 0x4f1c15
lea ebx, [ebp - 0x630]
sub edx, ebx
sar edx, 1
mov dword [esp + 8], eax
xor eax, eax
cmp ecx, edx
sete al
mov dword [esp + 0xc], ecx
mov dword [esp], eax
mov dword [esp + 4], 0x5699f6
call fcn.0052b0e0
mov eax, dword [ebp - 0xd78]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
mov eax, dword [ebp - 0xd68]
sub esp, 4
mov dword [esp + 4], 0x56d288
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov ebx, dword [ebp - 0xd88]
mov eax, dword [ebp - 0xd68]
mov edx, 0x567e5a
sub esp, 8
mov ecx, ebx
call fcn.004da3e0
mov eax, dword [ebp - 0xd68]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0xd6c]
mov ecx, ebx
mov edx, 0x567e5a
sub esp, 4
call fcn.004da3e0
mov eax, dword [ebp - 0xd6c]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0xd70]
mov ecx, ebx
mov edx, 0x567e5a
sub esp, 4
call fcn.004da3e0
mov eax, dword [ebp - 0xd70]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
sub esp, 4
mov dword [esp], str.winetest_package.msi
call dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
movzx ecx, word [ebp - 0x62c]
xor edx, edx
cmp word [edi + 4], cx
jne 0x4f0ef5
jmp 0x4f0efa
mov dword [esp + 4], 0x1f4b
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp], str.Not_enough_rights_to_perform_tests_n
call fcn.0052b1d0
mov dword [esp], str.winetest_package.msi
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], 0x1f58
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp], str.Not_enough_rights_to_perform_tests_n
call fcn.0052b1d0
mov eax, dword [ebp - 0xd70]
mov dword [esp + 4], 0x567e5a
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteKeyA
mov eax, dword [ebp - 0xd70]
sub esp, 8
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor edx, edx
xor eax, eax
jmp 0x4f0f73
xor eax, eax
jmp 0x4f10f4
mov eax, 0xffffffff
jmp 0x4f11c6
xor edx, edx
xor eax, eax
jmp 0x4f1268
xor edx, edx
xor eax, eax
jmp 0x4f0ab8
xor edx, edx
xor eax, eax
jmp 0x4f0cf8
xor edx, edx
xor eax, eax
jmp 0x4f0928
xor edx, edx
xor eax, eax
jmp 0x4f1c28
mov eax, 1
jmp 0x4f13d6
xor edx, edx
xor eax, eax
jmp 0x4f1518