Function at 0x4038d0
Capabilities:
Delete file
Pause service
Start service
Stop service

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov dword [esp + 8], 0xf003f
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.advapi32.dll_OpenSCManagerA
sub esp, 0xc
test eax, eax
je 0x403e10
mov dword [esp + 4], 0x1426
mov ebx, eax
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], str.Failed_to_open_the_SC_Manager_n
mov dword [esp], 1
call fcn.0052b0e0
mov dword [esp + 8], 0xf003f
mov dword [esp + 4], 0x52e717
mov dword [esp], ebx
call sub.advapi32.dll_OpenServiceA
sub esp, 0xc
mov esi, eax
test eax, eax
je 0x403db2
mov dword [esp + 4], 0x1430
mov dword [esp], str..._wine_dlls_msi_tests_action.c
mov edi, dword fs:[0x18]
call fcn.0052ae70
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.Failed_to_open_Spooler__error__d_n
mov dword [esp], 1
mov dword [esp + 8], eax
call fcn.0052b0e0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], esi
call sub.advapi32.dll_StartServiceA
sub esp, 0xc
test eax, eax
jne 0x403e50
mov edi, dword [edi + 0x34]
cmp edi, 0x420
jne 0x404060
mov dword [esp], esi
call sub.advapi32.dll_CloseServiceHandle
sub esp, 4
mov dword [esp], ebx
call sub.advapi32.dll_CloseServiceHandle
sub esp, 4
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], 0x532720
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
mov dword [esp + 4], 0x1448
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 + 4], 0x52e503
mov dword [esp], 0x52e06e
call sub.msi.dll_MsiInstallProductA
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x1459
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 + 4], 0x145b
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], 0x145c
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], 0x145d
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], 0x145e
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], 0x145f
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], 0x1460
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], 0x1461
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], 0x1462
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], 0x1463
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], 0x1464
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], 0x1465
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], 0x1466
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], 0x1467
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
test edi, edi
je 0x403fb0
call fcn.00401170
mov dword [esp], 0x52e06e
call dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword fs:[0x18]
cmp dword [esi + 0x34], 0x424
je 0x4040c5
mov dword [esp + 4], 0x1430
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.Failed_to_open_Spooler__error__d_n
mov dword [esp], 0
mov dword [esp + 8], eax
call fcn.0052b0e0
mov dword [esp], ebx
call sub.advapi32.dll_CloseServiceHandle
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword fs:[0x18]
cmp dword [eax + 0x34], 5
je 0x4040a0
mov dword [esp + 4], 0x1426
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], str.Failed_to_open_the_SC_Manager_n
mov dword [esp], 0
call fcn.0052b0e0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], esi
call sub.advapi32.dll_CloseServiceHandle
sub esp, 4
mov dword [esp], ebx
call sub.advapi32.dll_CloseServiceHandle
sub esp, 4
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], 0x532720
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
mov dword [esp + 4], 0x1448
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 + 8], 0xf003f
mov dword [esp + 4], 0x52e717
mov dword [esp], eax
call sub.advapi32.dll_OpenServiceA
sub esp, 0xc
mov esi, eax
lea eax, [ebp - 0x34]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], esi
call sub.advapi32.dll_ControlService
sub esp, 0xc
mov dword [ebp - 0x3c], eax
mov dword [esp + 4], 0x1452
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov edx, dword [edi + 0x34]
mov eax, dword [ebp - 0x3c]
xor edi, edi
mov dword [esp + 4], str.ControlService_failed__u_n
mov dword [esp + 8], edx
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
jmp 0x403a6d
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 + 8], 0xf003f
mov dword [esp + 4], 0x52e717
mov dword [esp], eax
call sub.advapi32.dll_OpenServiceA
sub esp, 0xc
mov esi, eax
lea eax, [ebp - 0x34]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], esi
call sub.advapi32.dll_ControlService
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x1471
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], str.ControlService_failed__u_n
mov dword [esp], edi
mov dword [esp + 8], 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
jmp 0x403d95
mov dword [esp + 4], 0x1439
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp], str.Spooler_service_not_available__skipping_test_n
call fcn.0052b1d0
mov dword [esp], esi
call sub.advapi32.dll_CloseServiceHandle
sub esp, 4
mov dword [esp], ebx
call sub.advapi32.dll_CloseServiceHandle
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x1423
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp], 0x52e270
call fcn.0052b1d0
jmp 0x403daa
mov dword [esp + 4], 0x142c
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp], str.The_Spooler_service_does_not_exist_n
call fcn.0052b1f0
mov dword [esp], ebx
call sub.advapi32.dll_CloseServiceHandle
sub esp, 4
jmp 0x403daa