Function at 0x4e1630
Capabilities:
Create directory
Delete directory
Delete file

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x220]
push ebx
sub esp, 0x34c
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_strcpy]
mov dword [esp + 4], 0x58b7e0
mov dword [ebp - 0x340], eax
call eax
call fcn.004dd750
test eax, eax
je 0x4e37c0
lea eax, [ebp - 0x220]
lea ebx, [ebp - 0x11c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x340]
mov dword [esp], ebx
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e1684
mov ecx, edx
mov esi, 0x5c
shr ecx, 0x10
test edx, 0x8080
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
mov word [ebx + eax + 4], si
mov dword [ebx + eax], 0x676e6f6c
call fcn.004d3630
mov dword [esp + 4], 0x1b36
mov dword [esp], str..._wine_dlls_msi_tests_package.c
mov dword [ebp - 0x330], eax
call fcn.0052ae70
mov eax, dword [ebp - 0x330]
mov dword [esp + 4], 0x569567
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x330]
xor edx, edx
call fcn.004dce70
mov ecx, dword [ebp - 0x330]
mov edx, 0x5698ec
mov dword [esp + 4], str.INSERT_INTO__Directory____Directory___Directory_Parent___DefaultDir___VALUES___s__
mov dword [esp], str.TARGETDIR____SourceDir
mov eax, 0x1b3a
call fcn.004deca0
mov ecx, dword [ebp - 0x330]
mov edx, 0x5698ec
mov dword [esp + 4], str.INSERT_INTO__Directory____Directory___Directory_Parent___DefaultDir___VALUES___s__
mov dword [esp], str.SubDir__TARGETDIR__shortlong
mov eax, 0x1b3b
call fcn.004deca0
mov ecx, dword [ebp - 0x330]
mov edx, 0x5698ec
mov dword [esp + 4], str.INSERT_INTO__Directory____Directory___Directory_Parent___DefaultDir___VALUES___s__
mov dword [esp], str.SubDir2__TARGETDIR__onetwo
mov eax, 0x1b3e
call fcn.004deca0
mov ecx, dword [ebp - 0x330]
mov edx, 0x5698ec
mov dword [esp + 4], str.INSERT_INTO__Directory____Directory___Directory_Parent___DefaultDir___VALUES___s__
mov dword [esp], str.SubDir3__TARGETDIR__threefour
mov eax, 0x1b41
call fcn.004deca0
mov ecx, dword [ebp - 0x330]
mov edx, 0x5698ec
mov dword [esp + 4], str.INSERT_INTO__Directory____Directory___Directory_Parent___DefaultDir___VALUES___s__
mov dword [esp], str.SubDir4__TARGETDIR__fivesix
mov eax, 0x1b44
call fcn.004deca0
mov ecx, dword [ebp - 0x330]
mov edx, 0x5698ec
mov dword [esp + 4], str.INSERT_INTO__Directory____Directory___Directory_Parent___DefaultDir___VALUES___s__
mov dword [esp], str.SubDir5__TARGETDIR__seveneight
mov eax, 0x1b47
call fcn.004deca0
mov ecx, dword [ebp - 0x330]
mov edx, 0x5698ec
mov dword [esp + 4], str.INSERT_INTO__Directory____Directory___Directory_Parent___DefaultDir___VALUES___s__
mov dword [esp], str.SubDir6__TARGETDIR__nineten
mov eax, 0x1b4a
call fcn.004deca0
mov ecx, dword [ebp - 0x330]
mov edx, 0x5698ec
mov dword [esp + 4], str.INSERT_INTO__Directory____Directory___Directory_Parent___DefaultDir___VALUES___s__
mov dword [esp], str.SubDir7__TARGETDIR__eleventwelve
mov eax, 0x1b4d
call fcn.004deca0
mov eax, dword [ebp - 0x330]
mov dword [esp], eax
call sub.msi.dll_MsiDatabaseCommit
sub esp, 4
mov esi, eax
mov dword [esp + 4], 0x1b50
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.Expected_ERROR_SUCCESS__got__u_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x330]
lea edx, [ebp - 0x32c]
call fcn.004d3c40
mov esi, eax
cmp eax, 0x659
je 0x4e3803
mov dword [esp + 4], 0x1b59
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 eax, dword [ebp - 0x330]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
mov edi, dword [sym.imp.kernel32.dll_CreateDirectoryA]
sub esp, 4
mov dword [ebp - 0x344], edi
mov dword [esp + 4], 0
mov dword [esp], 0x568505
call edi
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], 0x569b84
call edi
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], 2
call sub.msi.dll_MsiSetInternalUI
mov eax, dword [ebp - 0x32c]
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], 0x1b63
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.file_cost_failed_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0
mov dword [esp], str.five
call edi
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], str.eight
call edi
mov eax, dword [ebp - 0x32c]
sub esp, 8
mov dword [esp + 4], 0x56999d
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x1b69
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.file_cost_failed_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0
mov dword [esp], str.nine
call edi
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], str.twelve
call edi
mov eax, dword [ebp - 0x32c]
sub esp, 8
mov dword [esp + 4], 0x5699a6
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x1b6f
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.file_cost_failed_n
sete al
lea esi, [ebp - 0x324]
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x328]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 4], str.SubDir
mov dword [esp], eax
mov dword [ebp - 0x328], 0x104
mov dword [ebp - 0x324], 0x6977696b
mov byte [ebp - 0x320], 0
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1b75
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1b76
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], ebx
mov dword [esp], esi
mov dword [ebp - 0x33c], eax
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1b77
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov edx, ebx
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4e1b18
mov ecx, eax
mov dword [esp + 0xc], edi
shr ecx, 0x10
test eax, 0x8080
mov dword [esp + 4], 0x5699f6
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
sbb edx, 3
xor eax, eax
sub edx, ebx
cmp edi, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x344]
mov dword [esp], str.short
call eax
lea eax, [ebp - 0x328]
mov byte [ebp - 0x320], 0
mov dword [ebp - 0x328], 0x104
sub esp, 8
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir
mov dword [esp], eax
mov dword [ebp - 0x324], 0x6977696b
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1b7f
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1b80
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1b81
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e1c58
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x344]
mov dword [esp], str.long
call eax
lea eax, [ebp - 0x328]
mov byte [ebp - 0x320], 0
mov dword [ebp - 0x328], 0x104
sub esp, 8
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir
mov dword [esp], eax
mov dword [ebp - 0x324], 0x6977696b
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1b89
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1b8a
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1b8b
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e1d9b
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x340]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e1e06
mov ecx, edx
mov byte [ebp - 0x320], 0
mov dword [ebp - 0x328], 0x104
shr ecx, 0x10
test edx, 0x8080
mov dword [ebp - 0x324], 0x6977696b
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
mov ecx, 0x5c
sbb eax, 3
sub eax, ebx
mov dword [ebx + eax], 0x6f7774
mov word [ebx + eax + 3], cx
lea eax, [ebp - 0x328]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir2
mov dword [esp], eax
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1b95
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1b96
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1b97
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e1f20
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x340]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e1f8b
mov ecx, edx
mov byte [ebp - 0x320], 0
mov dword [ebp - 0x328], 0x104
shr ecx, 0x10
test edx, 0x8080
mov dword [ebp - 0x324], 0x6977696b
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
mov edx, 0x5c
sbb eax, 3
sub eax, ebx
mov word [ebx + eax + 4], dx
mov dword [ebx + eax], 0x72756f66
lea eax, [ebp - 0x328]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir3
mov dword [esp], eax
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1ba1
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1ba2
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1ba3
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e20a5
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x340]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e2110
mov ecx, edx
mov edi, 0x5c
mov dword [ebp - 0x328], 0x104
shr ecx, 0x10
test edx, 0x8080
mov dword [ebp - 0x324], 0x6977696b
cmove edx, ecx
lea ecx, [eax + 2]
mov byte [ebp - 0x320], 0
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
mov dword [ebx + eax], 0x786973
mov word [ebx + eax + 3], di
lea eax, [ebp - 0x328]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir4
mov dword [esp], eax
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1bad
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1bae
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1baf
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e222a
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x340]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e2295
mov ecx, edx
mov byte [ebp - 0x320], 0
mov dword [ebp - 0x328], 0x104
shr ecx, 0x10
test edx, 0x8080
mov dword [ebp - 0x324], 0x6977696b
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
mov ecx, 0x5c
sbb eax, 3
sub eax, ebx
lea edx, [ebx + eax]
mov dword [edx], 0x68676965
mov byte [edx + 4], 0x74
mov word [ebx + eax + 5], cx
lea eax, [ebp - 0x328]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir5
mov dword [esp], eax
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1bb9
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1bba
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1bbb
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e23b5
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x340]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e2420
mov ecx, edx
mov byte [ebp - 0x320], 0
mov dword [ebp - 0x328], 0x104
shr ecx, 0x10
test edx, 0x8080
mov dword [ebp - 0x324], 0x6977696b
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
mov edx, 0x5c
sbb eax, 3
sub eax, ebx
mov dword [ebx + eax], 0x6e6574
mov word [ebx + eax + 3], dx
lea eax, [ebp - 0x328]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir6
mov dword [esp], eax
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1bc5
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1bc6
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1bc7
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e253a
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x340]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e25a5
mov ecx, edx
mov edi, 0x5c
mov dword [ebp - 0x328], 0x104
shr ecx, 0x10
test edx, 0x8080
mov dword [ebp - 0x324], 0x6977696b
cmove edx, ecx
lea ecx, [eax + 2]
mov byte [ebp - 0x320], 0
cmove eax, ecx
mov ecx, edx
add cl, dl
mov ecx, 0x6576
sbb eax, 3
sub eax, ebx
lea edx, [ebx + eax]
mov dword [edx], 0x6c657774
mov word [edx + 4], cx
mov word [ebx + eax + 6], di
lea eax, [ebp - 0x328]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir7
mov dword [esp], eax
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1bd1
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1bd2
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1bd3
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e26ca
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x32c]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
mov eax, dword [sym.imp.kernel32.dll_RemoveDirectoryA]
sub esp, 4
mov edi, eax
mov dword [esp], str.short
mov dword [ebp - 0x348], eax
call eax
mov eax, edi
sub esp, 4
mov dword [esp], str.long
call eax
mov eax, edi
sub esp, 4
mov dword [esp], 0x568505
call eax
mov eax, edi
sub esp, 4
mov dword [esp], 0x569b84
call eax
mov eax, edi
sub esp, 4
mov dword [esp], str.five
call eax
mov eax, edi
sub esp, 4
mov dword [esp], str.eight
call eax
mov eax, edi
sub esp, 4
mov dword [esp], str.nine
call eax
mov eax, edi
sub esp, 4
mov dword [esp], str.twelve
call eax
lea eax, [ebp - 0x330]
sub esp, 4
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov dword [esp], 0x585920
call sub.msi.dll_MsiOpenDatabaseW
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x1be2
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x330]
mov edx, 1
call fcn.004dce70
mov eax, dword [ebp - 0x330]
lea edx, [ebp - 0x32c]
call fcn.004d3c40
mov dword [esp + 4], 0x1be7
mov dword [esp], str..._wine_dlls_msi_tests_package.c
mov edi, eax
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.failed_to_create_package__u_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x330]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
mov edi, dword [ebp - 0x344]
sub esp, 4
mov eax, edi
mov dword [esp + 4], 0
mov dword [esp], 0x568505
call eax
mov dword [ebp - 0x344], edi
mov eax, edi
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], 0x569b84
call eax
mov eax, dword [ebp - 0x32c]
sub esp, 8
mov dword [esp + 4], 0x56997c
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x1bef
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], str.file_cost_failed_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov edi, dword [ebp - 0x344]
mov dword [esp + 4], 0
mov dword [esp], str.five
mov eax, edi
call eax
mov dword [ebp - 0x344], edi
mov eax, edi
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], str.eight
call eax
mov eax, dword [ebp - 0x32c]
sub esp, 8
mov dword [esp + 4], 0x56999d
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x1bf5
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], str.file_cost_failed_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov edi, dword [ebp - 0x344]
mov dword [esp + 4], 0
mov dword [esp], str.nine
mov eax, edi
call eax
mov eax, edi
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], str.twelve
call eax
mov eax, dword [ebp - 0x32c]
sub esp, 8
mov dword [esp + 4], 0x5699a6
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x1bfb
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], str.file_cost_failed_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x340]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e29ea
mov ecx, edx
mov edi, 0x5c
mov dword [ebp - 0x328], 0x104
shr ecx, 0x10
test edx, 0x8080
mov dword [ebp - 0x324], 0x6977696b
cmove edx, ecx
lea ecx, [eax + 2]
mov byte [ebp - 0x320], 0
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
lea edx, [ebx + eax]
mov dword [edx], 0x726f6873
mov byte [edx + 4], 0x74
mov word [ebx + eax + 5], di
lea eax, [ebp - 0x328]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir
mov dword [esp], eax
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1c05
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1c06
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1c07
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e2b0a
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x344]
mov dword [esp], str.short
call eax
lea eax, [ebp - 0x328]
mov byte [ebp - 0x320], 0
mov dword [ebp - 0x328], 0x104
sub esp, 8
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir
mov dword [esp], eax
mov dword [ebp - 0x324], 0x6977696b
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1c0f
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1c10
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1c11
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e2c4d
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x344]
mov dword [esp], str.long
call eax
lea eax, [ebp - 0x328]
mov byte [ebp - 0x320], 0
mov dword [ebp - 0x328], 0x104
sub esp, 8
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir
mov dword [esp], eax
mov dword [ebp - 0x324], 0x6977696b
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1c19
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1c1a
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1c1b
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e2d90
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x340]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e2dfb
mov ecx, edx
mov byte [ebp - 0x320], 0
mov dword [ebp - 0x328], 0x104
shr ecx, 0x10
test edx, 0x8080
mov dword [ebp - 0x324], 0x6977696b
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
mov ecx, 0x5c
sbb eax, 3
sub eax, ebx
mov dword [ebx + eax], 0x656e6f
mov word [ebx + eax + 3], cx
lea eax, [ebp - 0x328]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir2
mov dword [esp], eax
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1c25
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1c26
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1c27
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e2f15
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x340]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e2f80
mov ecx, edx
mov byte [ebp - 0x320], 0
mov dword [ebp - 0x328], 0x104
shr ecx, 0x10
test edx, 0x8080
mov dword [ebp - 0x324], 0x6977696b
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
lea edx, [ebx + eax]
mov dword [edx], 0x65726874
mov byte [edx + 4], 0x65
mov edx, 0x5c
mov word [ebx + eax + 5], dx
lea eax, [ebp - 0x328]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir3
mov dword [esp], eax
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1c31
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1c32
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1c33
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e30a0
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x340]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e310b
mov ecx, edx
mov edi, 0x5c
mov dword [ebp - 0x328], 0x104
shr ecx, 0x10
test edx, 0x8080
mov dword [ebp - 0x324], 0x6977696b
cmove edx, ecx
lea ecx, [eax + 2]
mov byte [ebp - 0x320], 0
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
mov word [ebx + eax + 4], di
mov dword [ebx + eax], 0x65766966
lea eax, [ebp - 0x328]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir4
mov dword [esp], eax
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1c3d
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1c3e
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1c3f
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e3225
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x340]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e3290
mov ecx, edx
mov byte [ebp - 0x320], 0
mov dword [ebp - 0x328], 0x104
shr ecx, 0x10
test edx, 0x8080
mov dword [ebp - 0x324], 0x6977696b
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
mov ecx, 0x5c
sbb eax, 3
sub eax, ebx
lea edx, [ebx + eax]
mov dword [edx], 0x65766573
mov byte [edx + 4], 0x6e
mov word [ebx + eax + 5], cx
lea eax, [ebp - 0x328]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir5
mov dword [esp], eax
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1c49
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1c4a
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1c4b
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e33b0
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x340]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e341b
mov ecx, edx
mov byte [ebp - 0x320], 0
mov dword [ebp - 0x328], 0x104
shr ecx, 0x10
test edx, 0x8080
mov dword [ebp - 0x324], 0x6977696b
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
mov edx, 0x5c
sbb eax, 3
sub eax, ebx
mov word [ebx + eax + 4], dx
mov dword [ebx + eax], 0x656e696e
lea eax, [ebp - 0x328]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir6
mov dword [esp], eax
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1c55
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1c56
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x33c]
mov dword [esp], esi
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1c57
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov edi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e3535
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x340]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e35a0
mov ecx, edx
mov edi, 0x5c
mov dword [ebp - 0x328], 0x104
shr ecx, 0x10
test edx, 0x8080
mov dword [ebp - 0x324], 0x6977696b
cmove edx, ecx
lea ecx, [eax + 2]
mov byte [ebp - 0x320], 0
cmove eax, ecx
mov ecx, edx
add cl, dl
mov ecx, 0x6e65
sbb eax, 3
sub eax, ebx
lea edx, [ebx + eax]
mov dword [edx], 0x76656c65
mov word [edx + 4], cx
mov word [ebx + eax + 6], di
lea eax, [ebp - 0x328]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.SubDir7
mov dword [esp], eax
call sub.msi.dll_MsiGetSourcePathA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x1c61
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], 0x567e84
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1c62
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov dword [esp], esi
mov eax, dword [ebp - 0x33c]
mov dword [esp + 4], ebx
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], 0x56976b
call fcn.0052b0e0
mov dword [esp + 4], 0x1c63
mov dword [esp], str..._wine_dlls_msi_tests_package.c
call fcn.0052ae70
mov esi, dword [ebp - 0x328]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4e36c5
mov ecx, edx
mov dword [esp + 0xc], esi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x5699f6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
cmp esi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x32c]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
mov esi, dword [ebp - 0x348]
sub esp, 4
mov eax, esi
mov dword [esp], str.short
call eax
mov eax, esi
sub esp, 4
mov dword [esp], str.long
call eax
mov eax, esi
sub esp, 4
mov dword [esp], 0x568505
call eax
mov eax, esi
sub esp, 4
mov dword [esp], 0x569b84
call eax
mov eax, esi
sub esp, 4
mov dword [esp], str.five
call eax
mov eax, esi
sub esp, 4
mov dword [esp], str.eight
call eax
mov eax, esi
sub esp, 4
mov dword [esp], str.nine
call eax
mov eax, esi
sub esp, 4
mov dword [esp], str.twelve
call eax
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
lea edx, [ebp - 0x220]
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4e37c6
mov ecx, eax
mov edi, 0x5c
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ebx, eax
add bl, al
sbb edx, 3
mov word [edx], di
jmp 0x4e1667
mov dword [esp + 4], 0x1b55
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