Function at 0x471710
Capabilities:
Check if file exists
Delete directory
Delete file
Get file attributes
Reference processor manufacturer constants

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x27c
mov dword [ebp - 0x250], 0
call fcn.004665f0
test eax, eax
jne 0x471eb0
mov dword [esp + 0x18], 0x550708
mov dword [esp + 0x14], 0x55072f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], 8
mov dword [esp + 4], 0x5551a0
mov dword [esp], 0x54ffa1
call fcn.00467500
mov dword [esp + 4], 0
mov dword [esp], 2
call sub.msi.dll_MsiSetInternalUI
lea eax, [ebp - 0x250]
sub esp, 8
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], 0x55fa44
call sub.msi.dll_MsiOpenDatabaseW
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x15b9
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.failed_to_open_db:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x250]
mov dword [esp + 8], str.CREATE_TABLE__Icon____Name__CHAR_72__NOT_NULL___Data__OBJECT_NOT_NULL__PRIMARY_KEY__Name__
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00467470
mov dword [esp + 4], 0x15bd
mov dword [esp], str..._wine_dlls_msi_tests_install.c
mov ebx, eax
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Cant_create_Icon_table:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 8], 0x64
mov dword [esp + 4], str.icon.ico
mov dword [esp], str.icon.ico
call fcn.00466b70
mov dword [esp], 1
call sub.msi.dll_MsiCreateRecord
sub esp, 4
mov ebx, eax
mov dword [esp + 8], str.icon.ico
mov dword [esp + 4], 1
mov dword [esp], eax
call sub.msi.dll_MsiRecordSetStreamA
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x15c2
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Failed_to_add_stream_data_to_record:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x250]
mov dword [esp + 4], ebx
mov dword [esp + 8], str.INSERT_INTO__Icon____Name____Data___VALUES__testicon____
mov dword [esp], eax
call fcn.00467470
mov dword [esp + 4], 0x15c6
mov dword [esp], str..._wine_dlls_msi_tests_install.c
mov esi, eax
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Insert_into_Icon_table_failed:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], ebx
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x15c9
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Failed_to_close_record_handle:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [sym.imp.kernel32.dll_DeleteFileA]
mov dword [esp], str.icon.ico
mov dword [ebp - 0x25c], eax
call eax
mov eax, dword [ebp - 0x250]
sub esp, 4
mov dword [esp], eax
call sub.msi.dll_MsiDatabaseCommit
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x15cc
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Failed_to_commit_database:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x250]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x15ce
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Failed_to_close_database:__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x550845
mov dword [esp], 0x54ffa1
call sub.msi.dll_MsiInstallProductA
sub esp, 8
mov ebx, eax
cmp eax, 0x659
je 0x471ee0
mov dword [esp + 4], 0x15d8
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Failed_to_do_per_user_install:__d_n
lea ebx, [ebp - 0x22b]
mov dword [esp], eax
call fcn.0052b0e0
mov esi, dword [sym.imp.msvcrt.dll_strcpy]
mov dword [esp], ebx
mov dword [esp + 4], 0x59c340
call esi
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, dword [str.7DF88A49_996F_4EC8_A022_BF956F9B2CBB]
mov edi, dword [0x551ee4]
lea edx, [ebx + eax + 1]
mov byte [ebx + eax], 0x5c
mov dword [edx], 0x7263694d
mov dword [edx + 4], 0x666f736f
mov dword [edx + 8], 0x6e495c74
mov dword [edx + 0xc], 0x6c617473
mov dword [edx + 0x10], 0x5c72656c
mov byte [edx + 0x14], 0
mov dword [ebp + eax - 0x216], ecx
mov ecx, dword [0x551ee8]
mov dword [ebp + eax - 0x212], edi
mov edi, dword [0x551eec]
mov dword [ebp + eax - 0x20e], ecx
mov ecx, dword [0x551ef0]
mov dword [ebp + eax - 0x20a], edi
mov edi, dword [0x551ef4]
mov dword [ebp + eax - 0x206], ecx
mov ecx, dword [0x551ef8]
mov dword [ebp + eax - 0x202], edi
mov edi, dword [0x551efc]
mov dword [ebp + eax - 0x1fe], ecx
mov ecx, dword [0x551f00]
mov dword [ebp + eax - 0x1fa], edi
movzx edi, word [0x551f04]
mov dword [ebp + eax - 0x1f6], ecx
movzx ecx, byte [0x551f06]
mov word [ebp + eax - 0x1f2], di
mov byte [ebp + eax - 0x1f0], cl
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, 0x6e
add eax, ebx
mov word [eax + 8], dx
mov dword [eax], 0x7365745c
mov dword [eax + 4], 0x6f636974
mov dword [esp + 4], 0x15df
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
mov edi, dword [sym.imp.kernel32.dll_GetFileAttributesA]
mov dword [esp], ebx
call edi
sub esp, 4
cmp eax, 0xffffffff
setne al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Per_user_icon_file_isnt_where_its_expected___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x550857
mov dword [esp], 0x54ffa1
call sub.msi.dll_MsiInstallProductA
sub esp, 8
mov dword [ebp - 0x260], eax
mov dword [esp + 4], 0x15e2
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
mov eax, dword [ebp - 0x260]
mov dword [esp + 4], str.Failed_to_uninstall_per_user_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15e3
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
mov dword [esp], ebx
call edi
sub esp, 4
cmp eax, 0xffffffff
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Per_user_icon_file_not_removed___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], str.PUBLISH_PRODUCT1_ALLUSERS1
mov dword [esp], 0x54ffa1
call sub.msi.dll_MsiInstallProductA
sub esp, 8
mov dword [ebp - 0x260], eax
mov dword [esp + 4], 0x15e7
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
mov eax, dword [ebp - 0x260]
mov dword [esp + 4], str.Failed_to_system_wide_install:__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], ebx
mov dword [esp + 4], 0x59c460
call esi
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, 0x5c72
lea edx, [ebx + eax + 1]
mov byte [ebx + eax], 0x5c
mov word [edx + 8], cx
mov ecx, dword [str.7DF88A49_996F_4EC8_A022_BF956F9B2CBB]
mov dword [edx], 0x74736e49
mov dword [edx + 4], 0x656c6c61
mov byte [edx + 0xa], 0
mov edx, dword [0x551ee8]
mov dword [ebp + eax - 0x220], ecx
mov ecx, dword [0x551ee4]
mov dword [ebp + eax - 0x218], edx
mov edx, dword [0x551ef0]
mov dword [ebp + eax - 0x21c], ecx
mov ecx, dword [0x551eec]
mov dword [ebp + eax - 0x210], edx
mov edx, dword [0x551ef8]
mov dword [ebp + eax - 0x214], ecx
mov ecx, dword [0x551ef4]
mov dword [esp], ebx
mov dword [ebp + eax - 0x20c], ecx
mov ecx, dword [0x551efc]
mov dword [ebp + eax - 0x208], edx
mov edx, dword [0x551f00]
mov dword [ebp + eax - 0x204], ecx
movzx ecx, word [0x551f04]
mov dword [ebp + eax - 0x200], edx
mov word [ebp + eax - 0x1fc], cx
movzx ecx, byte [0x551f06]
mov byte [ebp + eax - 0x1fa], cl
call sub.msvcrt.dll_strlen
mov edx, 0x6e
add eax, ebx
mov word [eax + 8], dx
mov dword [eax], 0x7365745c
mov dword [eax + 4], 0x6f636974
mov dword [esp + 4], 0x15ee
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
mov dword [esp], ebx
call edi
sub esp, 4
cmp eax, 0xffffffff
setne al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.System_wide_icon_file_isnt_where_its_expected___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x550857
mov dword [esp], 0x54ffa1
call sub.msi.dll_MsiInstallProductA
sub esp, 8
mov dword [ebp - 0x260], eax
mov dword [esp + 4], 0x15f1
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
mov eax, dword [ebp - 0x260]
mov dword [esp + 4], str.Failed_to_uninstall_system_wide_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15f2
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
mov dword [esp], ebx
call edi
mov edi, 0x1494
sub esp, 4
cmp eax, 0xffffffff
sete al
mov dword [esp + 8], ebx
lea ebx, [ebp - 0x127]
movzx eax, al
mov dword [esp + 4], str.System_wide_icon_file_not_removed___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], ebx
mov dword [esp + 4], 0x59c220
call esi
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, 0x2a5c
mov dword [ebp - 0x241], ebx
lea edx, [ebx + eax]
mov word [ebp - 0x239], di
mov dword [edx], 0x69736d5c
mov dword [edx + 4], 0x74736574
mov word [edx + 8], cx
mov byte [edx + 0xa], 0
mov byte [ebp + eax - 0x11c], 0
lea eax, [ebp - 0x249]
mov dword [esp], eax
mov dword [ebp - 0x249], 0
mov dword [ebp - 0x245], 3
mov dword [ebp - 0x23d], 0
call sub.shell32.dll_SHFileOperationA
sub esp, 4
mov dword [esp], ebx
mov dword [esp + 4], 0x59c220
call esi
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov dword [eax], 0x69736d5c
mov dword [eax + 4], 0x74736574
mov byte [eax + 8], 0
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_RemoveDirectoryA]
mov eax, dword [ebp - 0x25c]
sub esp, 4
mov dword [esp], 0x54ffa1
call eax
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x15b0
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
mov dword [esp], 0x5506bc
call fcn.0052b1d0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x15d4
mov dword [esp], str..._wine_dlls_msi_tests_install.c
call fcn.0052ae70
mov dword [esp], 0x550738
call fcn.0052b1d0
mov eax, dword [ebp - 0x25c]
mov dword [esp], 0x54ffa1
call eax
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret