Function at 0x405710
Capabilities:
Delete file
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x30
call fcn.004665f0
test eax, eax
jne 0x405cc0
call fcn.00403760
mov dword [esp + 0x18], 0x52e1e8
mov dword [esp + 0x14], 0x52e20f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0x532560
mov dword [esp], 0x52e06e
call fcn.00467500
mov dword [esp + 4], 0
mov dword [esp], 2
call sub.msi.dll_MsiSetInternalUI
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], 0x52e06e
call sub.msi.dll_MsiInstallProductA
sub esp, 8
mov ebx, eax
cmp eax, 0x659
je 0x405cf0
mov dword [esp + 4], 0x14ef
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x52e294
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 8], 0xf003f
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.advapi32.dll_OpenSCManagerA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x14f2
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.cant_open_service_manager_n
setne al
mov dword [esp], eax
call fcn.0052b0e0
test ebx, ebx
je 0x405c94
mov dword [esp + 8], 0x10000000
mov dword [esp + 4], 0x52e9ff
mov dword [esp], ebx
call sub.advapi32.dll_OpenServiceA
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x14f6
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.TestService_not_installed_n
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], esi
call sub.advapi32.dll_CloseServiceHandle
sub esp, 4
mov dword [esp + 8], 0x10000000
mov dword [esp + 4], str.TestService4
mov dword [esp], ebx
call sub.advapi32.dll_OpenServiceA
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x14fa
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.TestService4_installed_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x18]
mov dword [esp + 4], str.SYSTEMCurrentControlSetServicesTestService
mov dword [esp + 8], eax
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegOpenKeyA
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x14fd
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x52ea88
mov dword [esp], eax
call fcn.0052b0e0
test esi, esi
je 0x405d12
mov dword [esp + 4], 0x52e503
mov dword [esp], 0x52e06e
call sub.msi.dll_MsiInstallProductA
sub esp, 8
mov esi, eax
mov dword [esp + 4], 0x150a
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x52e294
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 8], 0x10000000
mov dword [esp + 4], 0x52e9ff
mov dword [esp], ebx
call sub.advapi32.dll_OpenServiceA
sub esp, 0xc
mov esi, eax
mov dword [esp + 4], 0x150d
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 4], str.TestService_deleted_n
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], esi
call sub.advapi32.dll_CloseServiceHandle
sub esp, 4
mov dword [esp], ebx
call sub.advapi32.dll_CloseServiceHandle
sub esp, 4
mov dword [esp + 4], 0x1511
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 1
mov dword [esp], 0x52e6a6
call fcn.00467020
mov dword [esp + 4], 0x52e2b4
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1512
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 0
mov dword [esp], 0x52e6c2
call fcn.00467020
mov dword [esp + 4], 0x52e4ac
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1513
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 1
mov dword [esp], 0x52e6d5
call fcn.00467020
mov dword [esp + 4], 0x52e2b4
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1514
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 0
mov dword [esp], 0x52e5d8
call fcn.00467020
mov dword [esp + 4], 0x52e4ac
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1515
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 1
mov dword [esp], 0x52e6ed
call fcn.00467020
mov dword [esp + 4], 0x52e2b4
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1516
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 0
mov dword [esp], 0x52e707
call fcn.00467020
mov dword [esp + 4], 0x52e4ac
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1517
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 1
mov dword [esp], 0x52e09f
call fcn.00467020
mov dword [esp + 4], 0x52e2b4
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1518
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 0
mov dword [esp], 0x52e10e
call fcn.00467020
mov dword [esp + 4], 0x52e4ac
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x1519
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 1
mov dword [esp], 0x52e0ee
call fcn.00467020
mov dword [esp + 4], 0x52e2b4
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x151a
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 1
mov dword [esp], 0x52e0b5
call fcn.00467020
mov dword [esp + 4], 0x52e2b4
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x151b
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 1
mov dword [esp], 0x52e0c5
call fcn.00467020
mov dword [esp + 4], 0x52e2b4
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x151c
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 1
mov dword [esp], str.msitest_service2.exe
call fcn.00467020
mov dword [esp + 4], 0x52e2b4
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x151d
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 0
mov dword [esp], 0x52e11c
call fcn.00467020
mov dword [esp + 4], 0x52e4ac
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x52e9ff
call fcn.00404fb0
call fcn.00401170
mov dword [esp], 0x52e06e
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], 0x14e0
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp], 0x52e124
call fcn.0052b1d0
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
mov dword [esp + 4], 0x14ec
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp], 0x52e270
call fcn.0052b1d0
jmp 0x405c94
lea eax, [ebp - 0x10]
mov dword [esp + 8], 0
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x14]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x18]
mov dword [esp + 4], str.ErrorControl
mov dword [esp], eax
mov dword [ebp - 0x14], 0xbeef
mov dword [ebp - 0xc], 4
mov dword [ebp - 0x10], 4
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov dword [esp + 4], 0x1505
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov eax, dword [ebp - 0x14]
mov dword [esp + 4], str.TestService.ErrorControl_wrong__expected_0__got__u_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
sub esp, 4
jmp 0x405916