Function at 0x500fe0
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Create directory
Delete directory
Delete file
Get common file path
Get process heap flags
Set environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x47e]
push ebx
mov esi, dword fs:[0x18]
sub esp, 0x49c
mov dword [ebp - 0x488], 0
mov dword [esp + 4], eax
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryA]
sub esp, 8
call fcn.004d3630
mov dword [esp + 4], 0xaca
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 dword [esp + 8], 0x6f
mov ecx, dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x494], ecx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ecx
sub esp, 0xc
mov edi, eax
mov dword [esp + 8], str.TARGETDIR____SourceDir
mov dword [esp + 4], str.INSERT_INTO__Directory____Directory___Directory_Parent___DefaultDir___VALUES___s__
mov dword [esp], eax
call fcn.004d3c10
mov edx, edi
mov eax, ebx
call fcn.004d35b0
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [ebp - 0x490], eax
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 - 0x48c], eax
call eax
sub esp, 0xc
mov dword [esp + 4], 0xacc
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, dword [ebp - 0x490]
xor eax, eax
mov dword [esp + 8], 0x5698ec
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], 0x8f
mov ecx, dword [ebp - 0x494]
mov dword [esp + 4], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ecx
sub esp, 0xc
mov edi, eax
mov dword [esp + 8], str.ReallyLongDir__TARGETDIR__I_am_a_really_long_directory
mov dword [esp + 4], str.INSERT_INTO__Directory____Directory___Directory_Parent___DefaultDir___VALUES___s__
mov dword [esp], eax
call fcn.004d3c10
mov edx, edi
mov eax, ebx
call fcn.004d35b0
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [ebp - 0x490], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x48c]
call eax
sub esp, 0xc
mov dword [esp + 4], 0xace
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edx, dword [ebp - 0x490]
xor eax, eax
mov dword [esp + 8], 0x5698ec
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.004d37b0
mov dword [esp + 4], str.INSERT_INTO__Feature____Feature____Feature_Parent____Title____Description____Display____Level____Directory_____Attributes___VALUES___s__
mov ecx, ebx
mov edx, 0x56bdb0
mov dword [esp], str.occipitofrontalis________2__1____0
mov eax, 0xad1
call fcn.004deca0
mov eax, ebx
call fcn.004d3760
mov dword [esp + 4], str.INSERT_INTO__Component_____Component____ComponentId____Directory_____Attributes____Condition____KeyPath___VALUES___s__
mov ecx, ebx
mov edx, 0x56be63
mov dword [esp], str.frontal____TARGETDIR__0____frontal_file
mov eax, 0xad4
call fcn.004deca0
mov dword [esp + 4], str.INSERT_INTO__Component_____Component____ComponentId____Directory_____Attributes____Condition____KeyPath___VALUES___s__
mov ecx, ebx
mov edx, 0x56be63
mov dword [esp], str.parietal____TARGETDIR__1____parietal_file
mov eax, 0xad5
call fcn.004deca0
mov dword [esp + 4], str.INSERT_INTO__Component_____Component____ComponentId____Directory_____Attributes____Condition____KeyPath___VALUES___s__
mov ecx, ebx
mov edx, 0x56be63
mov dword [esp], str.temporal____ReallyLongDir__0____temporal_file
mov eax, 0xad6
call fcn.004deca0
mov eax, ebx
call fcn.004d3800
mov dword [esp + 4], str.INSERT_INTO__FeatureComponents____Feature_____Component____VALUES___s__
mov ecx, ebx
mov edx, 0x56c7f4
mov dword [esp], str.occipitofrontalis__frontal
mov eax, 0xad9
call fcn.004deca0
mov dword [esp + 4], str.INSERT_INTO__FeatureComponents____Feature_____Component____VALUES___s__
mov ecx, ebx
mov edx, 0x56c7f4
mov dword [esp], str.occipitofrontalis__parietal
mov eax, 0xada
call fcn.004deca0
mov dword [esp + 4], str.INSERT_INTO__FeatureComponents____Feature_____Component____VALUES___s__
mov ecx, ebx
mov edx, 0x56c7f4
mov dword [esp], str.occipitofrontalis__temporal
mov eax, 0xadb
call fcn.004deca0
mov eax, ebx
call fcn.004d3850
mov dword [esp + 4], str.INSERT_INTO__File____File____Component_____FileName____FileSize____Version____Language____Attributes____Sequence___VALUES___s__
mov ecx, ebx
mov edx, 0x56c9cb
mov dword [esp], str.frontal_file__frontal__frontal.txt__0____1033__8192__1
mov eax, 0xade
call fcn.004deca0
mov dword [esp + 4], str.INSERT_INTO__File____File____Component_____FileName____FileSize____Version____Language____Attributes____Sequence___VALUES___s__
mov ecx, ebx
mov edx, 0x56c9cb
mov dword [esp], str.parietal_file__parietal__parietal.txt__0____1033__8192__1
mov eax, 0xadf
call fcn.004deca0
mov dword [esp + 4], str.INSERT_INTO__File____File____Component_____FileName____FileSize____Version____Language____Attributes____Sequence___VALUES___s__
mov ecx, ebx
mov edx, 0x56c9cb
mov dword [esp], str.temporal_file__temporal__temporal.txt__0____1033__8192__1
mov eax, 0xae0
call fcn.004deca0
mov eax, ebx
call fcn.004d38f0
mov dword [esp + 4], str.INSERT_INTO__CustomAction_____Action____Type____Source____Target___VALUES___s__
mov ecx, ebx
mov edx, str.CustomAction
mov dword [esp], str.MyCustom__51__prop____temporal_file_
mov eax, 0xae3
call fcn.004deca0
mov dword [esp + 4], str.INSERT_INTO__CustomAction_____Action____Type____Source____Target___VALUES___s__
mov ecx, ebx
mov edx, str.CustomAction
mov dword [esp], str.EscapeIt1__51__prop_____Bracket_Text___
mov eax, 0xae4
call fcn.004deca0
mov dword [esp + 4], str.INSERT_INTO__CustomAction_____Action____Type____Source____Target___VALUES___s__
mov ecx, ebx
mov edx, str.CustomAction
mov dword [esp], str.EscapeIt2__51__prop___xabcd_
mov eax, 0xae5
call fcn.004deca0
mov dword [esp + 4], str.INSERT_INTO__CustomAction_____Action____Type____Source____Target___VALUES___s__
mov ecx, ebx
mov edx, str.CustomAction
mov dword [esp], str.EscapeIt3__51__prop___abcdxefgh_
mov eax, 0xae6
call fcn.004deca0
mov dword [esp + 4], str.INSERT_INTO__CustomAction_____Action____Type____Source____Target___VALUES___s__
mov edx, str.CustomAction
mov ecx, ebx
mov dword [esp], str.EmbedNull__51__prop____np
mov eax, 0xae7
call fcn.004deca0
lea edx, [ebp - 0x488]
mov eax, ebx
call fcn.004d3c40
cmp eax, 0x659
je 0x502890
mov dword [esp + 4], 0xaf1
mov esi, eax
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
mov eax, dword [ebp - 0x488]
sub esp, 4
mov dword [esp + 8], str.ringer
mov dword [esp + 4], str.imaprop
mov dword [esp], eax
call sub.msi.dll_MsiSetPropertyA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xaf6
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.cannot_set_property:__d_n
lea ebx, [ebp - 0x276]
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], 1
call sub.msi.dll_MsiCreateRecord
mov dword [ebp - 0x484], 0x104
sub esp, 4
mov edi, eax
mov dword [ebp - 0x490], eax
mov dword [esp + 8], str._idontexist_
mov dword [esp + 4], 1
mov dword [esp], eax
call sub.msi.dll_MsiRecordSetStringA
lea eax, [ebp - 0x484]
sub esp, 0xc
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.msi.dll_MsiFormatRecordA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xaff
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.format_record_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xb00
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], str.1:
mov dword [esp], ebx
mov dword [ebp - 0x48c], 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_1:____got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], edi
mov dword [esp + 8], str._imaprop_
mov dword [esp + 4], 1
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiRecordSetStringA
mov eax, dword [ebp - 0x488]
lea ecx, [ebp - 0x484]
sub esp, 0xc
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.msi.dll_MsiFormatRecordA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb06
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.format_record_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xb07
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x48c]
mov dword [esp + 4], str.1:_ringer
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_1:_ringer___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], edi
mov dword [esp + 8], str.1:__1_
mov dword [esp + 4], 0
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiRecordSetStringA
mov eax, dword [ebp - 0x488]
lea ecx, [ebp - 0x484]
sub esp, 0xc
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.msi.dll_MsiFormatRecordA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb0c
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.format_record_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xb0d
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x48c]
mov dword [esp + 4], str.1:_ringer
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_1:_ringer___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], edi
mov dword [esp + 8], str.__idontexist_
mov dword [esp + 4], 1
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiRecordSetStringA
mov eax, dword [ebp - 0x488]
lea ecx, [ebp - 0x484]
sub esp, 0xc
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.msi.dll_MsiFormatRecordA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb13
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.format_record_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xb14
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x48c]
mov dword [esp + 4], str.1:
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_1:____got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], str.crazyval
mov dword [ebp - 0x484], 0x104
mov dword [esp], str.crazyvar
call dword [sym.imp.kernel32.dll_SetEnvironmentVariableA]
sub esp, 8
mov dword [esp], edi
mov dword [esp + 8], str.__crazyvar_
mov dword [esp + 4], 1
call sub.msi.dll_MsiRecordSetStringA
mov eax, dword [ebp - 0x488]
lea ecx, [ebp - 0x484]
sub esp, 0xc
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.msi.dll_MsiFormatRecordA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb1b
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.format_record_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xb1c
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x48c]
mov dword [esp + 4], str.1:_crazyval
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_1:_crazyval___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], edi
mov dword [esp + 8], str._frontal_file_
mov dword [esp + 4], 1
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiRecordSetStringA
mov eax, dword [ebp - 0x488]
lea ecx, [ebp - 0x484]
sub esp, 0xc
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.msi.dll_MsiFormatRecordA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb22
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.format_record_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xb23
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x48c]
mov dword [esp + 4], str.1:
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_1:____got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0
mov dword [esp], 2
call sub.msi.dll_MsiSetInternalUI
mov eax, dword [ebp - 0x488]
sub esp, 8
mov dword [esp + 4], 0x56997c
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xb28
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.CostInitialize_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], 0x56999d
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xb2b
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.FileCost_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], 0x5699a6
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xb2e
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.CostFinalize_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x488]
lea edx, [ebp - 0x484]
lea ecx, [ebp - 0x37a]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], str.ROOTDRIVE
mov dword [esp], eax
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiGetPropertyA
lea ecx, [ebp - 0x149]
lea edx, [ebp - 0x37a]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], str.1:__sfrontal.txt
call fcn.004d3c10
mov dword [esp], edi
mov dword [esp + 8], str._frontal_file_
mov dword [esp + 4], 1
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiRecordSetStringA
mov eax, dword [ebp - 0x488]
lea edx, [ebp - 0x484]
sub esp, 0xc
mov dword [esp + 0xc], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.msi.dll_MsiFormatRecordA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb39
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.format_record_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xb3a
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
lea ecx, [ebp - 0x149]
mov dword [esp], ebx
mov eax, dword [ebp - 0x48c]
mov dword [esp + 4], ecx
call eax
lea edx, [ebp - 0x149]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x56976b
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], edi
mov dword [esp + 8], str.__frontal_file_
mov dword [esp + 4], 1
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiRecordSetStringA
mov eax, dword [ebp - 0x488]
lea ecx, [ebp - 0x484]
sub esp, 0xc
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.msi.dll_MsiFormatRecordA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb40
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.format_record_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xb41
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
lea edx, [ebp - 0x149]
mov dword [esp], ebx
mov eax, dword [ebp - 0x48c]
mov dword [esp + 4], edx
call eax
lea ecx, [ebp - 0x149]
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
lea ecx, [ebp - 0x149]
lea edx, [ebp - 0x37a]
mov dword [esp + 4], str.1:__sI_am_a_really_long_directory_temporal.txt
mov dword [esp], ecx
mov dword [esp + 8], edx
call fcn.004d3c10
mov dword [esp], edi
mov dword [esp + 8], str._temporal_file_
mov dword [esp + 4], 1
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiRecordSetStringA
mov eax, dword [ebp - 0x488]
lea edx, [ebp - 0x484]
sub esp, 0xc
mov dword [esp + 0xc], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.msi.dll_MsiFormatRecordA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb49
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.format_record_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xb4a
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
lea ecx, [ebp - 0x149]
mov dword [esp], ebx
mov eax, dword [ebp - 0x48c]
mov dword [esp + 4], ecx
call eax
lea edx, [ebp - 0x149]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x56976b
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], edi
mov dword [esp + 8], str.__temporal_file_
mov dword [esp + 4], 1
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiRecordSetStringA
mov eax, dword [ebp - 0x488]
lea ecx, [ebp - 0x484]
sub esp, 0xc
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.msi.dll_MsiFormatRecordA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb50
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.format_record_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xb51
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
lea edx, [ebp - 0x149]
mov edi, dword [ebp - 0x48c]
mov dword [esp], ebx
mov dword [esp + 4], edx
call edi
lea ecx, [ebp - 0x149]
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 eax, dword [ebp - 0x488]
mov dword [esp + 4], str.MyCustom
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xb55
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.MyCustom_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x37a]
mov dword [esp + 4], str._sI_am_a_really_long_directory_temporal.txt
mov dword [esp + 8], eax
lea eax, [ebp - 0x149]
mov dword [esp], eax
call fcn.004d3c10
lea eax, [ebp - 0x484]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], str.prop
mov dword [esp], eax
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb5b
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 esi, 0x74
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xb5c
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
lea eax, [ebp - 0x149]
mov dword [ebp - 0x48c], edi
mov dword [esp + 4], eax
mov dword [esp], ebx
call edi
lea edx, [ebp - 0x149]
mov edi, 0x568d47
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x56976b
call fcn.0052b0e0
lea eax, [ebp - 0x37a]
mov dword [esp + 4], str._sI_am_a_really_long_directory
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.004d3c10
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_CreateDirectoryA]
sub esp, 8
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, ebx
add eax, ebx
mov word [eax + 0xc], si
mov dword [eax], 0x6d65745c
mov dword [eax + 4], 0x61726f70
mov dword [eax + 8], 0x78742e6c
mov eax, ebx
call fcn.004d9c60
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], str.MyCustom
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xb66
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.MyCustom_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x484]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], str.prop
mov dword [esp], eax
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb6a
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 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 - 0x48c]
jmp 0x502041
mov dword [esp + 4], 0xb6d
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
lea eax, [ebp - 0x149]
mov dword [esp], ebx
mov dword [esp + 4], eax
call esi
lea edx, [ebp - 0x149]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x56976b
call fcn.0052b0e0
call fcn.0052b2a0
call fcn.0052b280
test eax, eax
jne 0x501ff0
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], str.EscapeIt1
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xb72
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.EscapeIt1_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x484]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], str.prop
mov dword [esp], eax
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb76
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], 0xb77
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x48c]
mov dword [esp + 4], str._Bracket_Text_
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], str.Expected__Bracket_Text___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], str.EscapeIt2
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xb7b
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.EscapeIt2_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x484]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], str.prop
mov dword [esp], eax
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb7f
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], 0xb80
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], 0x568c55
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], str.Expected_x__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], str.EscapeIt3
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xb84
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.EscapeIt3_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x484]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], str.prop
mov dword [esp], eax
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb88
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], 0xb89
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [ebp - 0x48c], edi
mov dword [esp + 4], 0x567e5a
mov dword [esp], ebx
call edi
lea edi, [ebp - 0x274]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], str.EmbedNull
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0xb8d
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.EmbedNull_failed:__d_n
mov esi, 0x61616161
mov dword [esp], eax
call fcn.0052b0e0
mov ecx, ebx
mov eax, esi
mov dword [ebp - 0x484], 0x104
mov dword [ebp - 0x276], 0x61616161
sub ecx, edi
mov dword [ebp - 0x14d], 0x61616161
add ecx, 0x12d
shr ecx, 2
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x484]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], str.prop
mov dword [esp], eax
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0xb92
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], 0xb93
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.wrong_value_n
cmp dword [ebp - 0x276], 0x706e00
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xb94
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov eax, dword [ebp - 0x484]
mov dword [esp + 4], 0x56e06c
cmp eax, 3
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x488]
mov dword [esp + 8], str.__np
mov dword [esp + 4], str.prop
mov dword [esp], eax
call sub.msi.dll_MsiSetPropertyA
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0xb97
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.cannot_set_property:__d_n
lea edi, [ebp - 0x274]
mov dword [esp], eax
call fcn.0052b0e0
mov ecx, ebx
mov eax, esi
mov dword [ebp - 0x484], 0x104
mov dword [ebp - 0x276], 0x61616161
sub ecx, edi
mov dword [ebp - 0x14d], 0x61616161
add ecx, 0x12d
shr ecx, 2
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x484]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], str.prop
mov dword [esp], eax
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xb9c
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], 0xb9d
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x48c]
mov dword [esp + 4], str.__np
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], str.Expected___np__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x37a]
mov dword [esp + 4], str.1:__sI_am_a_really_long_directory_
mov dword [esp + 8], eax
lea eax, [ebp - 0x149]
mov dword [esp], eax
call fcn.004d3c10
mov esi, dword [ebp - 0x490]
mov dword [esp + 8], str.__temporal_
mov dword [esp + 4], 1
mov dword [esp], esi
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiRecordSetStringA
lea eax, [ebp - 0x484]
sub esp, 0xc
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x488]
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.msi.dll_MsiFormatRecordA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xba5
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.format_record_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xba6
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
lea eax, [ebp - 0x149]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edi
lea ecx, [ebp - 0x149]
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 eax, dword [ebp - 0x488]
mov dword [esp + 8], 4
mov dword [esp + 4], str.temporal
mov dword [esp], eax
call sub.msi.dll_MsiSetComponentStateA
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0xba9
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_set_install_state:__d_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x47e]
mov dword [ebp - 0x149], 0x203a31
mov dword [esp + 4], eax
lea eax, [ebp - 0x146]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x47e]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strlen]
cmp eax, 3
ja 0x502870
lea eax, [ebp - 0x149]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edi, dword [ebp - 0x490]
mov edx, 0x20
mov dword [esp + 8], str.__parietal_
mov dword [esp + 4], 1
mov dword [esp], edi
mov word [ebp + eax - 0x149], dx
mov dword [ebp - 0x484], 0x104
call sub.msi.dll_MsiRecordSetStringA
lea eax, [ebp - 0x484]
sub esp, 0xc
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x488]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msi.dll_MsiFormatRecordA
sub esp, 0x10
mov esi, eax
mov dword [esp + 4], 0xbb3
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.format_record_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xbb4
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
lea eax, [ebp - 0x149]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x48c]
call eax
lea edx, [ebp - 0x149]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x571331
call fcn.0052b0e0
lea eax, [ebp - 0x37a]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str._sI_am_a_really_long_directory_temporal.txt
call fcn.004d3c10
mov esi, dword [sym.imp.kernel32.dll_DeleteFileA]
mov dword [esp], ebx
call esi
lea eax, [ebp - 0x37a]
sub esp, 4
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str._sI_am_a_really_long_directory
call fcn.004d3c10
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_RemoveDirectoryA]
sub esp, 4
mov dword [esp], edi
call sub.msi.dll_MsiCloseHandle
mov eax, dword [ebp - 0x488]
sub esp, 4
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov dword [esp], str.winetest_package.msi
call esi
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebp - 0x149]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov ecx, 0x5c
mov word [ebp + eax - 0x149], cx
jmp 0x5026fc
mov dword [esp + 4], 0xaec
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], 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