Function at 0x47b9b0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x130
call fcn.004665f0
test eax, eax
jne 0x47c0a0
mov dword [esp + 0x18], str.004757CA_5092_49C2_AD20_28E1CE0DF5F2
lea ebx, [ebp - 0x10c]
mov dword [esp + 0x14], 0x55fdab
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], 8
mov dword [esp + 4], 0x563320
mov dword [esp], str.winetest.msi
call fcn.00467500
mov dword [esp + 4], 0x59c100
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll_strcpy]
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x47ba1d
mov ecx, edx
shr ecx, 0x10
test edx, 0x8080
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], dx
mov edx, dword [str.winetest.msi]
mov dword [esp], ebx
mov dword [ebp + eax - 0x10b], edx
mov edx, dword [0x566c84]
mov dword [ebp + eax - 0x107], edx
mov edx, dword [0x566c88]
mov dword [ebp + eax - 0x103], edx
movzx edx, byte [0x566c8c]
mov byte [ebp + eax - 0xff], dl
lea eax, [ebp - 0x110]
mov dword [esp + 4], eax
call sub.msi.dll_MsiOpenPackageA
sub esp, 8
mov ebx, eax
cmp eax, 0x659
je 0x47c0d0
mov dword [esp + 4], 0x364c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x560404
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x110]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x560424
mov dword [esp], eax
call sub.msi.dll_MsiSetFeatureAttributesA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x364f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x65b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_FUNCTION_FAILED__got__u_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x110]
mov dword [esp + 4], 0x560450
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x3652
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x560404
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x560424
mov dword [esp], 0
call sub.msi.dll_MsiSetFeatureAttributesA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x3655
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 6
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_ERROR_INVALID_HANDLE__got__u_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x110]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call sub.msi.dll_MsiSetFeatureAttributesA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x3658
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x646
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_ERROR_UNKNOWN_FEATURE__got__u_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x110]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msi.dll_MsiSetFeatureAttributesA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x365b
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x646
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_ERROR_UNKNOWN_FEATURE__got__u_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x110]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x560424
mov dword [esp], eax
call sub.msi.dll_MsiSetFeatureAttributesA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x365e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x560404
lea ebx, [ebp - 0x114]
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x110]
mov dword [esp + 8], ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x560424
mov dword [esp], eax
mov dword [ebp - 0x114], 0xdeadbeef
call sub.msi.dll_MsiGetFeatureInfoA
sub esp, 0x1c
mov esi, eax
mov dword [esp + 4], 0x3662
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x560404
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3663
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x114]
mov dword [esp + 4], str.expected_INSTALLFEATUREATTRIBUTE_FAVORLOCAL__got_0x_08x_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x110]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x560424
mov dword [esp], eax
call sub.msi.dll_MsiSetFeatureAttributesA
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x3667
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x560404
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x110]
mov dword [esp + 8], ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x560424
mov dword [esp], eax
mov dword [ebp - 0x114], 0
call sub.msi.dll_MsiGetFeatureInfoA
sub esp, 0x1c
mov esi, eax
mov dword [esp + 4], 0x366b
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x560404
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x366c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x114]
mov dword [esp + 4], str.expected_INSTALLFEATUREATTRIBUTE_FAVORLOCAL__got_0x_08x_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x110]
mov dword [esp + 4], 0x5604e9
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x3670
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x560404
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x110]
mov dword [esp + 8], 2
mov dword [esp + 4], 0x560424
mov dword [esp], eax
call sub.msi.dll_MsiSetFeatureAttributesA
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x3673
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x560404
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x110]
mov dword [esp + 8], ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x560424
mov dword [esp], eax
mov dword [ebp - 0x114], 0
call sub.msi.dll_MsiGetFeatureInfoA
sub esp, 0x1c
mov ebx, eax
mov dword [esp + 4], 0x3677
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x560404
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3678
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x114]
mov dword [esp + 4], str.expected_INSTALLFEATUREATTRIBUTE_FAVORSOURCE__got_0x_08x_n
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x110]
mov dword [esp + 4], 0x56052e
mov dword [esp], eax
call sub.msi.dll_MsiDoActionA
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x367c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x560404
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x110]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x560424
mov dword [esp], eax
call sub.msi.dll_MsiSetFeatureAttributesA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x367f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x65b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_ERROR_FUNCTION_FAILED__got__u_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x110]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov dword [esp], str.winetest.msi
call dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
mov dword [esp + 4], 0x363c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], 0x55fd58
call fcn.0052b1d0
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
mov dword [esp + 4], 0x3648
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], 0x55fb58
call fcn.0052b1d0
mov dword [esp], str.winetest.msi
call dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret