Function at 0x448cec
Capabilities:
Continue service
Pause service
Start service
Stop service

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb8
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x48], ebx
mov ebx, ecx
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
call sub.rtl160.bpl__System__UStrAddRef_qqrpv
xor eax, eax
push ebp
push 0x449153
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0x11
mov eax, ebx
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x48]
call sub.rtl160.bpl__System_Sysutils_IntToStr_qqrj
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x38], 0x11
lea eax, [ebp - 0x44]
push eax
push 1
mov eax, dword [ebp - 8]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x463cbc]
mov eax, dword [eax]
mov ecx, 0x44916c
mov dl, 3
call fcn.004082b8
xor edx, edx
push ebp
push 0x44912e
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 8]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x463cbc]
mov eax, dword [eax]
mov ecx, 0x4491a0
mov dl, 3
call fcn.00407ff8
push 0xf003f
push 0
push 0
call sub.advapi32.dll_OpenSCManagerW
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x448dab
call sub.kernel32.dll_GetLastError_1
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004483a4
xor edx, edx
push ebp
push 0x4490fa
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 8]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x463cbc]
mov eax, dword [eax]
mov ecx, 0x4491c4
mov dl, 3
call fcn.00407ff8
push 0x77
mov eax, dword [ebp - 4]
call sub.rtl160.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.advapi32.dll_OpenServiceW
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x448e01
call sub.kernel32.dll_GetLastError_1
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004483a4
xor edx, edx
push ebp
push 0x4490dc
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 8]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x463cbc]
mov eax, dword [eax]
mov ecx, 0x4491f0
mov dl, 3
call fcn.00407ff8
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.0044b914
test al, al
jne 0x448e49
call sub.kernel32.dll_GetLastError_1
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004483a4
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.0044b300
mov esi, eax
cmp ebx, esi
je 0x4490c5
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.0044b4a8
cmp eax, 4
jne 0x448e73
cmp esi, 1
je 0x448e77
xor eax, eax
jmp 0x448e79
mov al, 1
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x448e92
mov ecx, 3
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.004488cc
xor eax, eax
push ebp
push 0x4490be
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x449234
mov dword [ebp - 0xc], eax
mov eax, ebx
dec eax
je 0x448f57
sub eax, 3
je 0x448ec4
sub eax, 3
je 0x448f9e
jmp 0x44905e
cmp esi, 7
jne 0x448f10
mov eax, dword [ebp - 8]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x463cbc]
mov eax, dword [eax]
mov ecx, 0x449244
mov dl, 3
call fcn.00407ff8
lea eax, [ebp - 0x34]
push eax
push 3
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_ControlService
test eax, eax
jne 0x44905e
call sub.kernel32.dll_GetLastError_1
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004483a4
jmp 0x44905e
mov eax, dword [ebp - 8]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x463cbc]
mov eax, dword [eax]
mov ecx, 0x449278
mov dl, 3
call fcn.00407ff8
lea eax, [ebp - 0xc]
push eax
push 0
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_StartServiceW
test eax, eax
jne 0x44905e
call sub.kernel32.dll_GetLastError_1
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004483a4
jmp 0x44905e
mov eax, dword [ebp - 8]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x463cbc]
mov eax, dword [eax]
mov ecx, 0x4492a8
mov dl, 3
call fcn.00407ff8
lea eax, [ebp - 0x34]
push eax
push 1
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_ControlService
test eax, eax
jne 0x44905e
call sub.kernel32.dll_GetLastError_1
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004483a4
jmp 0x44905e
cmp esi, 1
jne 0x449020
mov eax, dword [ebp - 8]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x463cbc]
mov eax, dword [eax]
mov ecx, 0x449278
mov dl, 3
call fcn.00407ff8
lea eax, [ebp - 0xc]
push eax
push 0
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_StartServiceW
test eax, eax
jne 0x448fe1
call sub.kernel32.dll_GetLastError_1
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004483a4
mov eax, dword [ebp - 8]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x463cbc]
mov eax, dword [eax]
mov ecx, 0x4492d4
mov dl, 3
call fcn.00407ff8
mov ecx, 4
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.0044b970
test al, al
jne 0x449020
call sub.kernel32.dll_GetLastError_1
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004483a4
mov eax, dword [ebp - 8]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x463cbc]
mov eax, dword [eax]
mov ecx, 0x449314
mov dl, 3
call fcn.00407ff8
lea eax, [ebp - 0x34]
push eax
push 2
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_ControlService
test eax, eax
jne 0x44905e
call sub.kernel32.dll_GetLastError_1
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004483a4
mov eax, dword [ebp - 8]
call sub.rtl160.bpl__System_TObject_ClassType_qqrv
push eax
mov eax, dword [0x463cbc]
mov eax, dword [eax]
mov ecx, 0x4492d4
mov dl, 3
call fcn.00407ff8
mov ecx, ebx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.0044b970
test al, al
jne 0x44909a
call sub.kernel32.dll_GetLastError_1
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004483a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4490c5
cmp byte [ebp - 0x15], 0
je 0x4490bd
mov ecx, 4
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.004488cc
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4490e3
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_CloseServiceHandle
ret