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

Disassembly:
push ecx
push edi
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov edi, eax
test edi, edi
mov dword [esp + 4], edi
je 0x401e36
push esi
push 0xf01ff
push 0x40c724
push edi
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov esi, eax
test esi, esi
je 0x401e0f
push ebp
push 0x4166a0
push 1
push esi
call dword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
mov ebp, dword [sym.imp.ACHelper.dll_public:_static_class_AcLogInfo____cdecl_AcLogInfo::GetLogInfoInstance_void_]
je 0x401db0
push ebx
push str.Ac_Profile_Manager_Service
push str.AcPrfMgrSvc::CmdRemoveService:_Stopping__s
call ebp
push eax
call dword [sym.imp.ACHelper.dll_public:_void___cdecl_AcLogInfo::NormalPrintLogFile_unsigned_short_int__]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0xc
push 0x3e8
call edi
mov ebx, dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
push 0x4166a0
push esi
call ebx
test eax, eax
je 0x401d7c
mov edi, edi
cmp dword [0x4166a4], 3
jne 0x401d7c
push 0x3e8
call edi
push 0x4166a0
push esi
call ebx
test eax, eax
jne 0x401d60
cmp dword [0x4166a4], 1
pop ebx
push str.Ac_Profile_Manager_Service
jne 0x401d9b
push str.AcPrfMgrSvc::CmdRemoveService:_Stopped__s
call ebp
push eax
call dword [sym.imp.ACHelper.dll_public:_void___cdecl_AcLogInfo::NormalPrintLogFile_unsigned_short_int__]
jmp 0x401da9
push str.AcPrfMgrSvc::CmdRemoveService:_Failed_to_Stop__s
call ebp
push eax
call dword [sym.imp.ACHelper.dll_public:_void___cdecl_AcLogInfo::ErrorPrintLogFile_unsigned_short_int__]
mov edi, dword [esp + 0x18]
add esp, 0xc
push esi
call dword [sym.imp.ADVAPI32.dll_DeleteService]
test eax, eax
je 0x401de4
push str.Ac_Profile_Manager_Service
push str.AcPrfMgrSvc::CmdRemoveService:_Removed__s
call ebp
push eax
call dword [sym.imp.ACHelper.dll_public:_void___cdecl_AcLogInfo::NormalPrintLogFile_unsigned_short_int__]
add esp, 0xc
push esi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
pop ebp
push edi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
pop esi
pop edi
pop ecx
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.AcPrfMgrSvc::CmdRemoveService:_DeleteService_failed___Error_Code___d
call ebp
push eax
call dword [sym.imp.ACHelper.dll_public:_void___cdecl_AcLogInfo::ErrorPrintLogFile_unsigned_short_int__]
add esp, 0xc
push esi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
pop ebp
push edi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
pop esi
pop edi
pop ecx
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.AcPrfMgrSvc::CmdRemoveService:_OpenService_failed___Error_Code___d
call dword [sym.imp.ACHelper.dll_public:_static_class_AcLogInfo____cdecl_AcLogInfo::GetLogInfoInstance_void_]
push eax
call dword [sym.imp.ACHelper.dll_public:_void___cdecl_AcLogInfo::ErrorPrintLogFile_unsigned_short_int__]
add esp, 0xc
push edi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
pop esi
pop edi
pop ecx
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.AcPrfMgrSvc::CmdRemoveService:_OpenSCManager_failed___Error_Code___d
call dword [sym.imp.ACHelper.dll_public:_static_class_AcLogInfo____cdecl_AcLogInfo::GetLogInfoInstance_void_]
push eax
call dword [sym.imp.ACHelper.dll_public:_void___cdecl_AcLogInfo::ErrorPrintLogFile_unsigned_short_int__]
add esp, 0xc
pop edi
pop ecx
ret