Function at 0x40f380
Capabilities:
Delete service
Query service status
Stop service

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49772e
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x4c606c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x8c], ecx
push 0x20000004
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov edi, eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0
test edi, edi
jne 0x40f499
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x88]
mov esi, eax
call fcn.0044b850
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40f3f8
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ca1e0
call fcn.0040b1e0
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupinstallerservicefactory.cpp
mov ecx, eax
call fcn.0040a3c0
mov edx, 0x4adac4
mov ecx, eax
call fcn.0040a3c0
push 0xc4
mov ecx, eax
call fcn.00408a40
mov edx, 0x4adc00
mov ecx, eax
call fcn.0040a3c0
mov edx, str.Error_opening_SCM:
mov ecx, eax
call fcn.0040a3c0
push esi
mov ecx, eax
call fcn.004138e0
push eax
call fcn.0040a730
mov edx, dword [ebp - 0x74]
add esp, 4
cmp edx, 8
jb 0x40f492
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f488
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fb1d
push edx
push ecx
call fcn.0045a3a4
add esp, 8
xor al, al
jmp 0x40fb02
push 0xf01ff
push str.MBAMInstallerService
push edi
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov esi, eax
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 2
test esi, esi
jne 0x40f559
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov dword [ebp - 0x14], 0
cmp esi, 0x424
je 0x40fb00
lea ecx, [ebp - 0x88]
call fcn.0044b850
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40f4f7
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ca1e0
call fcn.0040b1e0
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupinstallerservicefactory.cpp
mov ecx, eax
call fcn.0040a3c0
mov edx, 0x4adac4
mov ecx, eax
call fcn.0040a3c0
push 0xcf
mov ecx, eax
call fcn.00408a40
mov edx, 0x4adc00
mov ecx, eax
call fcn.0040a3c0
mov edx, str.Error_opening
mov ecx, eax
call fcn.0040a3c0
mov edx, str.MBAMInstallerService
mov ecx, eax
call fcn.00413c50
mov edx, str.__status:
jmp 0x40f43d
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
push 0x24
lea eax, [ebp - 0x40]
push eax
push 0
push esi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
jne 0x40f624
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov dword [ebp - 0x70], eax
call esi
push edi
mov dword [ebp - 0x18], 0
call esi
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x14], 0
call fcn.0044b850
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40f5b8
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ca1e0
call fcn.0040b1e0
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupinstallerservicefactory.cpp
mov ecx, eax
call fcn.0040a3c0
mov edx, 0x4adac4
mov ecx, eax
call fcn.0040a3c0
push 0xde
mov ecx, eax
call fcn.00408a40
mov edx, 0x4adc00
mov ecx, eax
call fcn.0040a3c0
mov edx, str.Error_getting
mov ecx, eax
call fcn.0040a3c0
mov edx, str.MBAMInstallerService
mov ecx, eax
call fcn.00413c50
mov edx, str._status:
mov ecx, eax
call fcn.0040a3c0
push dword [ebp - 0x70]
jmp 0x40f445
cmp dword [ebp - 0x3c], 1
je 0x40f852
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0x4005000e
push eax
push 0x2c
xorps xmm0, xmm0
push 1
push esi
movups xmmword [ebp - 0x68], xmm0
movups xmmword [ebp - 0x58], xmm0
movq qword [ebp - 0x48], xmm0
call dword [sym.imp.ADVAPI32.dll_ControlServiceExA]
test eax, eax
jne 0x40f742
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x70], eax
cmp eax, 0x426
je 0x40f742
lea ecx, [ebp - 0x88]
call fcn.0044b850
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40f68a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ca1e0
call fcn.0040b1e0
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupinstallerservicefactory.cpp
mov ecx, eax
call fcn.0040a3c0
mov edx, 0x4adac4
mov ecx, eax
call fcn.0040a3c0
push 0xec
mov ecx, eax
call fcn.00408a40
mov edx, 0x4adc00
mov ecx, eax
call fcn.0040a3c0
mov edx, str.Error_controlling
mov ecx, eax
call fcn.0040a3c0
mov edx, str.MBAMInstallerService
mov ecx, eax
call fcn.00413c50
mov edx, str.__status:
mov ecx, eax
call fcn.0040a3c0
push dword [ebp - 0x70]
mov ecx, eax
call fcn.004138e0
push eax
call fcn.0040a730
mov byte [ebp - 4], 2
add esp, 4
mov edx, dword [ebp - 0x74]
cmp edx, 8
jb 0x40f742
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f738
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fb1d
push edx
push ecx
call fcn.0045a3a4
add esp, 8
xor eax, eax
inc eax
cmp dword [ebp - 0x3c], 1
mov dword [ebp - 0x70], eax
je 0x40f983
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x1c]
push eax
push 0x24
lea eax, [ebp - 0x40]
push eax
push 0
push esi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
je 0x40f914
mov eax, dword [ebp - 0x70]
cmp eax, 0x3c
jl 0x40f744
cmp dword [ebp - 0x3c], 1
je 0x40f983
lea ecx, [ebp - 0x88]
call fcn.0044b850
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40f7a4
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ca1e0
call fcn.0040b1e0
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupinstallerservicefactory.cpp
mov ecx, eax
call fcn.0040a3c0
mov edx, 0x4adac4
mov ecx, eax
call fcn.0040a3c0
push 0xff
mov ecx, eax
call fcn.00408a40
mov edx, 0x4adc00
mov ecx, eax
call fcn.0040a3c0
mov edx, str.Error_stopping
mov ecx, eax
call fcn.0040a3c0
mov edx, str.MBAMInstallerService
mov ecx, eax
call fcn.00413c50
mov edx, str.__continuing
mov ecx, eax
call fcn.0040a3c0
push eax
call fcn.0040a730
mov byte [ebp - 4], 2
add esp, 4
mov edx, dword [ebp - 0x74]
cmp edx, 8
jb 0x40f852
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40f848
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fb1d
push edx
push ecx
call fcn.0045a3a4
add esp, 8
push esi
call dword [sym.imp.ADVAPI32.dll_DeleteService]
test eax, eax
jne 0x40fa4c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov dword [ebp - 0x70], eax
call esi
push edi
mov dword [ebp - 0x18], 0
call esi
mov esi, dword [ebp - 0x70]
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x14], 0
cmp esi, 0x430
jne 0x40f9ee
mov eax, dword [ebp - 0x8c]
mov byte [eax + 4], 1
call fcn.0044b850
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40f8b7
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ca1e0
call fcn.0040b1e0
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupinstallerservicefactory.cpp
mov ecx, eax
call fcn.0040a3c0
mov edx, 0x4adac4
mov ecx, eax
call fcn.0040a3c0
push 0x110
mov ecx, eax
call fcn.00408a40
mov edx, 0x4adc00
mov ecx, eax
call fcn.0040a3c0
mov edx, str.Deleting_pending_for
mov ecx, eax
call fcn.0040a3c0
mov edx, str.MBAMInstallerService
mov ecx, eax
call fcn.00413c50
jmp 0x40f44c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov dword [ebp - 0x70], eax
call esi
push edi
mov dword [ebp - 0x18], 0
call esi
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x14], 0
call fcn.0044b850
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], 8
mov esi, dword [eax + 0x10]
jb 0x40f951
mov eax, dword [eax]
push esi
mov edx, eax
mov ecx, 0x4ca1e0
call fcn.0040b1e0
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupinstallerservicefactory.cpp
mov ecx, eax
call fcn.0040a3c0
mov edx, 0x4adac4
mov ecx, eax
call fcn.0040a3c0
push 0xf9
jmp 0x40f5e5
lea ecx, [ebp - 0x88]
call fcn.0044b850
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40f99d
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ca1e0
call fcn.0040b1e0
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupinstallerservicefactory.cpp
mov ecx, eax
call fcn.0040a3c0
mov edx, 0x4adac4
mov ecx, eax
call fcn.0040a3c0
push 0x103
mov ecx, eax
call fcn.00408a40
mov edx, str.:_Stopped
mov ecx, eax
call fcn.0040a3c0
mov edx, str.MBAMInstallerService
mov ecx, eax
call fcn.00413c50
jmp 0x40f808
call fcn.0044b850
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40fa02
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ca1e0
call fcn.0040b1e0
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupinstallerservicefactory.cpp
mov ecx, eax
call fcn.0040a3c0
mov edx, 0x4adac4
mov ecx, eax
call fcn.0040a3c0
push 0x115
mov ecx, eax
call fcn.00408a40
mov edx, 0x4adc00
mov ecx, eax
call fcn.0040a3c0
mov edx, str.Error_deleting
jmp 0x40f53c
lea ecx, [ebp - 0x88]
call fcn.0044b850
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x40fa66
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4ca1e0
call fcn.0040b1e0
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupinstallerservicefactory.cpp
mov ecx, eax
call fcn.0040a3c0
mov edx, 0x4adac4
mov ecx, eax
call fcn.0040a3c0
push 0x11b
mov ecx, eax
call fcn.00408a40
mov edx, str.:_Deleted_service
mov ecx, eax
call fcn.0040a3c0
mov edx, str.MBAMInstallerService
mov ecx, eax
call fcn.00413c50
push eax
call fcn.0040a730
mov edx, dword [ebp - 0x74]
add esp, 4
cmp edx, 8
jb 0x40faf4
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40faea
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40fb1d
push edx
push ecx
call fcn.0045a3a4
add esp, 8
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call esi
push edi
call esi
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00459e83
mov esp, ebp
pop ebp
ret
call fcn.004750dc
int3