Function at 0x4f2880
Capabilities:
Access peb ldr_data
Check if process is running under wine
Contain obfuscated stackstrings
Delete file
Delete registry key
Get process heap flags
Persist via default file association registry key
Set registry value

Disassembly:
push ebp
mov eax, 0x65
mov ebp, esp
push edi
push esi
push ebx
mov esi, dword fs:[0x18]
sub esp, 0x18c
mov word [ebp - 0x11e], ax
mov dword [ebp - 0x13e], 0x73797325
mov dword [ebp - 0x13a], 0x726d6574
mov dword [ebp - 0x136], 0x25746f6f
mov dword [ebp - 0x132], 0x7379735c
mov dword [ebp - 0x12e], 0x336d6574
mov dword [ebp - 0x12a], 0x6f6e5c32
mov dword [ebp - 0x126], 0x61706574
mov dword [ebp - 0x122], 0x78652e64
call fcn.004d3630
mov dword [esp + 4], 0xfb7
mov dword [esp], str..._wine_dlls_msi_tests_package.c
mov ebx, eax
call fcn.0052ae70
mov dword [esp + 4], str.failed_to_create_package_database_n
mov dword [esp], ebx
call fcn.0052b0e0
mov eax, ebx
call fcn.004d39e0
mov dword [esp + 8], 0x61
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 - 0x15c], eax
call eax
sub esp, 0xc
mov edi, eax
mov dword [esp + 8], str.WEBBROWSERPROG__NewSignature1
mov dword [esp + 4], str.INSERT_INTO__AppSearch____Property____Signature____VALUES___s__
mov dword [esp], eax
call fcn.004d3c10
mov edx, edi
mov eax, ebx
call fcn.004d35b0
mov dword [esp + 8], edi
mov ecx, dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 4], 0
mov dword [ebp - 0x164], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x160], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ecx
sub esp, 0xc
mov dword [esp + 4], 0xfba
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, dword [ebp - 0x164]
xor eax, eax
mov dword [esp + 8], 0x569d74
mov dword [esp + 4], str.failed_to_insert_into__s_table:__u_n
test edx, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 8], 0x5a
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x15c]
call eax
sub esp, 0xc
mov edi, eax
mov dword [esp + 8], str.NOTEPAD__NewSignature2
mov dword [esp + 4], str.INSERT_INTO__AppSearch____Property____Signature____VALUES___s__
mov dword [esp], eax
call fcn.004d3c10
mov edx, edi
mov eax, ebx
call fcn.004d35b0
mov dword [esp + 8], edi
mov ecx, dword [ebp - 0x160]
mov dword [esp + 4], 0
mov dword [ebp - 0x164], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ecx
sub esp, 0xc
mov dword [esp + 4], 0xfbb
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, dword [ebp - 0x164]
xor eax, eax
mov dword [esp + 8], 0x569d74
mov dword [esp + 4], str.failed_to_insert_into__s_table:__u_n
test edx, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 8], 0x5f
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x15c]
call eax
sub esp, 0xc
mov edi, eax
mov dword [esp + 8], str.REGEXPANDVAL__NewSignature3
mov dword [esp + 4], str.INSERT_INTO__AppSearch____Property____Signature____VALUES___s__
mov dword [esp], eax
call fcn.004d3c10
mov edx, edi
mov eax, ebx
call fcn.004d35b0
mov dword [esp + 8], edi
mov ecx, dword [ebp - 0x160]
mov dword [esp + 4], 0
mov dword [ebp - 0x164], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ecx
sub esp, 0xc
mov dword [esp + 4], 0xfbc
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, dword [ebp - 0x164]
xor eax, eax
mov dword [esp + 8], 0x569d74
mov dword [esp + 4], str.failed_to_insert_into__s_table:__u_n
test edx, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 8], 0x5b
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x15c]
call eax
sub esp, 0xc
mov edi, eax
mov dword [esp + 8], str.32KEYVAL__NewSignature4
mov dword [esp + 4], str.INSERT_INTO__AppSearch____Property____Signature____VALUES___s__
mov dword [esp], eax
call fcn.004d3c10
mov edx, edi
mov eax, ebx
call fcn.004d35b0
mov dword [esp + 8], edi
mov ecx, dword [ebp - 0x160]
mov dword [esp + 4], 0
mov dword [ebp - 0x164], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ecx
sub esp, 0xc
mov dword [esp + 4], 0xfbd
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, dword [ebp - 0x164]
xor eax, eax
mov dword [esp + 8], 0x569d74
mov dword [esp + 4], str.failed_to_insert_into__s_table:__u_n
test edx, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 8], 0x5b
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x15c]
call eax
sub esp, 0xc
mov edi, eax
mov dword [esp + 8], str.64KEYVAL__NewSignature5
mov dword [esp + 4], str.INSERT_INTO__AppSearch____Property____Signature____VALUES___s__
mov dword [esp], eax
call fcn.004d3c10
mov edx, edi
mov eax, ebx
call fcn.004d35b0
mov dword [esp + 8], edi
mov ecx, dword [ebp - 0x160]
lea edi, [ebp - 0x144]
mov dword [esp + 4], 0
mov dword [ebp - 0x164], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ecx
sub esp, 0xc
mov dword [esp + 4], 0xfbe
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, dword [ebp - 0x164]
xor eax, eax
mov dword [esp + 8], 0x569d74
mov dword [esp + 4], str.failed_to_insert_into__s_table:__u_n
test edx, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, ebx
call fcn.004d3a30
mov dword [esp], str.htmlfile_shellopencommand
xor ecx, ecx
mov eax, ebx
mov dword [esp + 8], 1
mov edx, str.NewSignature1
mov dword [esp + 4], 0x567e5a
call fcn.004d3ce0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0xf003f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.SoftwareWinetest_msi
mov dword [esp], 0x80000001
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov dword [ebp - 0x164], eax
mov dword [esp + 4], 0xfc4
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [ebp - 0x164]
mov dword [esp + 4], str.Could_not_create_key:__d._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea edx, [ebp - 0x13e]
mov dword [esp], edx
call dword [sym.imp.msvcrt.dll_strlen]
lea edx, [ebp - 0x13e]
mov dword [esp + 0xc], 2
add eax, 1
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x144]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0x164], eax
mov dword [esp + 4], 0xfc6
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [ebp - 0x164]
mov dword [esp + 4], str.Could_not_set_key_value:__d._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x144]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov ecx, 1
mov edx, str.NewSignature3
mov eax, ebx
sub esp, 4
mov dword [esp + 8], 1
mov dword [esp + 4], 0x567e5a
mov dword [esp], str.SoftwareWinetest_msi
call fcn.004d3ce0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0xf023f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.SoftwareWinetest_msi
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
cmp eax, 5
je 0x4f38d2
mov dword [esp + 4], 0xfd4
mov dword [esp], str..._wine_dlls_msi_tests_package.c
mov dword [ebp - 0x164], eax
call fcn.0052ae70
mov eax, dword [ebp - 0x164]
mov dword [esp + 4], str.Could_not_create_key:__d._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x144]
mov dword [esp + 0x14], 0x20
mov dword [esp + 0x10], str.c:windows_system32_notepad.exe
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0x164], eax
mov dword [esp + 4], 0xfd8
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [ebp - 0x164]
mov dword [esp + 4], str.Could_not_set_key_value:__d._n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x144]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov ecx, 2
mov edx, str.NewSignature4
mov eax, ebx
sub esp, 4
mov dword [esp + 8], 1
mov dword [esp + 4], 0x567e5a
mov dword [esp], str.SoftwareWinetest_msi
call fcn.004d3ce0
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0xf013f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.SoftwareWinetest_msi
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov edi, eax
mov dword [esp + 4], 0xfde
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Could_not_create_key:__d._n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x144]
mov dword [esp + 0x14], 0x20
mov dword [esp + 0x10], str.c:windows_system32_notepad.exe
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0xfe1
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Could_not_set_key_value:__d._n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x144]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov ecx, 2
mov edx, str.NewSignature5
mov eax, ebx
sub esp, 4
mov dword [esp + 8], 0x11
mov dword [esp + 4], 0x567e5a
mov dword [esp], str.SoftwareWinetest_msi
call fcn.004d3ce0
mov eax, ebx
call fcn.004d3a80
mov dword [esp + 8], 0x7b
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x15c]
call eax
sub esp, 0xc
mov edi, eax
mov dword [esp + 8], str.NewSignature2__0__c:windows_system32__0
mov dword [esp + 4], str.INSERT_INTO__DrLocator____Signature_____Parent____Path____Depth___VALUES___s__
mov dword [esp], eax
call fcn.004d3c10
mov edx, edi
mov eax, ebx
call fcn.004d35b0
mov dword [esp + 8], edi
mov edi, dword [ebp - 0x160]
mov dword [esp + 4], 0
mov dword [ebp - 0x164], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
sub esp, 0xc
mov dword [esp + 4], 0xfe7
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, dword [ebp - 0x164]
xor eax, eax
mov dword [esp + 8], str.DrLocator
mov dword [esp + 4], str.failed_to_insert_into__s_table:__u_n
test edx, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, ebx
call fcn.004d3ad0
mov dword [esp + 8], 0xcb
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x15c]
call eax
sub esp, 0xc
mov edi, eax
mov dword [esp + 8], str.NewSignature1__FileName______________
mov dword [esp + 4], str.INSERT_INTO__Signature____Signature____FileName____MinVersion____MaxVersion____MinSize____MaxSize____MinDate____MaxDate____Languages___VALUES___s__
mov dword [esp], eax
call fcn.004d3c10
mov edx, edi
mov eax, ebx
call fcn.004d35b0
mov dword [esp + 8], edi
mov edi, dword [ebp - 0x160]
mov dword [esp + 4], 0
mov dword [ebp - 0x164], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
sub esp, 0xc
mov dword [esp + 4], 0xfea
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, dword [ebp - 0x164]
xor eax, eax
mov dword [esp + 8], str.Signature
mov dword [esp + 4], str.failed_to_insert_into__s_table:__u_n
test edx, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 8], 0xda
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x15c]
call eax
sub esp, 0xc
mov edi, eax
mov dword [esp + 8], str.NewSignature2__NOTEPAD.EXEnotepad.exe______________
mov dword [esp + 4], str.INSERT_INTO__Signature____Signature____FileName____MinVersion____MaxVersion____MinSize____MaxSize____MinDate____MaxDate____Languages___VALUES___s__
mov dword [esp], eax
call fcn.004d3c10
mov edx, edi
mov eax, ebx
call fcn.004d35b0
mov dword [esp + 8], edi
mov edi, dword [ebp - 0x160]
mov dword [esp + 4], 0
mov dword [ebp - 0x164], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
sub esp, 0xc
mov dword [esp + 4], 0xfeb
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, dword [ebp - 0x164]
xor eax, eax
mov dword [esp + 8], str.Signature
mov dword [esp + 4], str.failed_to_insert_into__s_table:__u_n
test edx, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 8], 0xda
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x15c]
call eax
sub esp, 0xc
mov edi, eax
mov dword [esp + 8], str.NewSignature3__NOTEPAD.EXEnotepad.exe______________
mov dword [esp + 4], str.INSERT_INTO__Signature____Signature____FileName____MinVersion____MaxVersion____MinSize____MaxSize____MinDate____MaxDate____Languages___VALUES___s__
mov dword [esp], eax
call fcn.004d3c10
mov edx, edi
mov eax, ebx
call fcn.004d35b0
mov dword [esp + 8], edi
mov edi, dword [ebp - 0x160]
mov dword [esp + 4], 0
mov dword [ebp - 0x164], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
sub esp, 0xc
mov dword [esp + 4], 0xfec
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, dword [ebp - 0x164]
xor eax, eax
mov dword [esp + 8], str.Signature
mov dword [esp + 4], str.failed_to_insert_into__s_table:__u_n
test edx, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 8], 0xda
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x15c]
call eax
sub esp, 0xc
mov edi, eax
mov dword [esp + 8], str.NewSignature4__NOTEPAD.EXEnotepad.exe______________
mov dword [esp + 4], str.INSERT_INTO__Signature____Signature____FileName____MinVersion____MaxVersion____MinSize____MaxSize____MinDate____MaxDate____Languages___VALUES___s__
mov dword [esp], eax
call fcn.004d3c10
mov edx, edi
mov eax, ebx
call fcn.004d35b0
mov dword [esp + 8], edi
mov edi, dword [ebp - 0x160]
mov dword [esp + 4], 0
mov dword [ebp - 0x164], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
sub esp, 0xc
mov dword [esp + 4], 0xfed
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, dword [ebp - 0x164]
xor eax, eax
mov dword [esp + 8], str.Signature
mov dword [esp + 4], str.failed_to_insert_into__s_table:__u_n
test edx, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 8], 0xda
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x15c]
call eax
sub esp, 0xc
mov edi, eax
mov dword [esp + 8], str.NewSignature5__NOTEPAD.EXEnotepad.exe______________
mov dword [esp + 4], str.INSERT_INTO__Signature____Signature____FileName____MinVersion____MaxVersion____MinSize____MaxSize____MinDate____MaxDate____Languages___VALUES___s__
mov dword [esp], eax
call fcn.004d3c10
mov edx, edi
mov eax, ebx
call fcn.004d35b0
mov dword [esp + 8], edi
mov edi, dword [ebp - 0x160]
mov dword [esp + 4], 0
mov dword [ebp - 0x15c], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
sub esp, 0xc
mov dword [esp + 4], 0xfee
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, dword [ebp - 0x15c]
xor eax, eax
mov dword [esp + 8], str.Signature
mov dword [esp + 4], str.failed_to_insert_into__s_table:__u_n
test edx, edx
mov dword [esp + 0xc], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea edx, [ebp - 0x14c]
mov eax, ebx
call fcn.004d3c40
mov esi, eax
cmp eax, 0x659
je 0x4f3930
mov dword [esp + 4], 0xff7
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], str.failed_to_create_package__u_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], ebx
call sub.msi.dll_MsiCloseHandle
sub esp, 4
test esi, esi
je 0x4f3520
mov eax, dword [ebp - 0x14c]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov dword [esp], str.winetest_package.msi
call dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
mov dword [esp + 4], str.SoftwareWinetest_msi
mov dword [esp], 0x80000001
call sub.advapi32.dll_RegDeleteKeyA
mov ecx, 0x200
mov edx, str.SoftwareWinetest_msi
mov eax, 0x80000002
sub esp, 8
call fcn.004da3e0
mov ecx, 0x100
mov edx, str.SoftwareWinetest_msi
mov eax, 0x80000002
call fcn.004da3e0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0
lea esi, [ebp - 0x148]
mov dword [esp], 2
call sub.msi.dll_MsiSetInternalUI
mov eax, dword [ebp - 0x14c]
sub esp, 8
mov dword [esp + 4], 0x569d74
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0xfff
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], str.AppSearch_failed:__d_n
lea ebx, [ebp - 0x11c]
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14c]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.WEBBROWSERPROG
mov dword [esp], eax
mov dword [ebp - 0x148], 0x104
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1003
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.get_property_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1004
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, ebx
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4f35ff
mov ecx, eax
mov dword [esp + 4], str.Expected_non_zero_length_n
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
sbb edx, 3
xor eax, eax
cmp ebx, edx
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14c]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.NOTEPAD
mov dword [esp], eax
mov dword [ebp - 0x148], 0x104
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1008
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.get_property_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14c]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.REGEXPANDVAL
mov dword [esp], eax
mov dword [ebp - 0x148], 0x104
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x100c
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.get_property_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x100d
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, ebx
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4f3714
mov ecx, eax
mov dword [esp + 4], str.Expected_non_zero_length_n
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
sbb edx, 3
xor eax, eax
cmp ebx, edx
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14c]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.32KEYVAL
mov dword [esp], eax
mov dword [ebp - 0x148], 0x104
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1011
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.get_property_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1012
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, ebx
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4f37cd
mov ecx, eax
mov dword [esp + 4], str.Expected_non_zero_length_n
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
sbb edx, 3
xor eax, eax
cmp ebx, edx
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x14c]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.64KEYVAL
mov dword [esp], eax
mov dword [ebp - 0x148], 0x104
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0x1016
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], str.get_property_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1017
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, ebx
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4f3886
mov ecx, eax
mov dword [esp + 4], str.Expected_non_zero_length_n
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
sbb edx, 3
xor eax, eax
cmp ebx, edx
setne al
mov dword [esp], eax
call fcn.0052b0e0
jmp 0x4f34b4
mov dword [esp + 4], 0xfce
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp], str.insufficient_rights_n
call fcn.0052b1d0
mov dword [esp + 4], str.SoftwareWinetest_msi
mov dword [esp], 0x80000001
call sub.advapi32.dll_RegDeleteKeyA
sub esp, 8
mov dword [esp], ebx
call sub.msi.dll_MsiCloseHandle
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
mov dword [esp + 4], 0xff3
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