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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4305f8
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x43c4c0]
xor eax, esp
mov dword [esp + 0x40], eax
push ebx
push esi
push edi
mov eax, dword [0x43c4c0]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
push 0xf003f
xor edi, edi
push edi
push edi
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [esp + 0x14], eax
cmp eax, edi
jne 0x414359
xor eax, eax
mov word [esp + 0x18], ax
push 0x1c
mov eax, str.PCSUService:_OpenSCManager:
lea esi, [esp + 0x1c]
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], edi
call fcn.00406cf0
mov dword [esp + 0x60], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, esi
call fcn.0040ff60
cmp dword [esp + 0x2c], 8
jb 0x4146dd
mov ecx, dword [esp + 0x18]
push ecx
jmp 0x4146d5
push 0xf01ff
push str.PCSUService
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov ebx, eax
xor edi, edi
cmp ebx, edi
jne 0x4143c1
xor edx, edx
push 0x1a
mov eax, str.PCSUService:_OpenService:
lea esi, [esp + 0x1c]
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], edi
mov word [esp + 0x1c], dx
call fcn.00406cf0
mov dword [esp + 0x60], 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, esi
call fcn.0040ff60
cmp dword [esp + 0x2c], 8
jb 0x4146dd
mov eax, dword [esp + 0x18]
push eax
jmp 0x4146d5
mov esi, dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
push 0x43ee6c
push ebx
call esi
test eax, eax
je 0x4144f2
cmp dword [0x43ee70], 4
jne 0x414548
push str._is_stopping.
push ecx
push str.PC_Speed_Up_Service
push 0x43dbe0
call fcn.0040d450
add esp, 0xc
push eax
call fcn.00404ad0
add esp, 8
push 0x43ee6c
push 1
push ebx
call dword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
je 0x4144b8
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3e8
call edi
push 0x43ee6c
push ebx
call esi
test eax, eax
je 0x414462
cmp dword [0x43ee70], 3
jne 0x414462
push 0x435618
push 0x43dbe0
call fcn.00404ad0
add esp, 8
push 0x3e8
call edi
push 0x43ee6c
push ebx
call esi
test eax, eax
jne 0x414434
cmp dword [0x43ee70], 1
jne 0x414483
push str._stopped._n
push ecx
push str.PC_Speed_Up_Service
push ecx
push 0x436fd0
push 0x43dbe0
jmp 0x414499
push str._stop_failed._n
push ecx
push str.PC_Speed_Up_Service
push ecx
push 0x436fd0
push 0x43deb8
call fcn.00404ad0
add esp, 0xc
push eax
call fcn.0040d450
add esp, 0xc
push eax
call fcn.00404ad0
add esp, 8
jmp 0x414548
mov eax, str.PCSUService:_ControlService:
lea ecx, [esp + 0x18]
call fcn.00406de0
mov dword [esp + 0x60], 2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
lea eax, [esp + 0x18]
call fcn.0040ff60
lea ecx, [esp + 0x18]
mov dword [esp + 0x60], 0xffffffff
call fcn.00406e20
jmp 0x414548
xor ecx, ecx
push 0x21
mov eax, str.PCSUService:_QueryServiceStatus:
lea esi, [esp + 0x1c]
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], edi
mov word [esp + 0x1c], cx
call fcn.00406cf0
mov dword [esp + 0x60], 3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, esi
call fcn.0040ff60
mov dword [esp + 0x60], 0xffffffff
cmp dword [esp + 0x2c], 8
jb 0x414548
mov edx, dword [esp + 0x18]
push edx
call fcn.00418932
add esp, 4
push ebx
call dword [sym.imp.ADVAPI32.dll_DeleteService]
test eax, eax
je 0x4145c7
push str._uninstalled_successfully.
push ecx
push str.PC_Speed_Up_Service
push 0x43dbe0
call fcn.0040d450
add esp, 0xc
push eax
call fcn.00404ad0
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00406540
mov eax, dword [esi]
mov eax, dword [eax + 4]
xor edi, edi
test byte [eax + esi + 0xc], 6
jne 0x4145a4
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4145a4
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x414621
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x4145bd
or eax, 4
push 0
push eax
call fcn.00406780
jmp 0x414621
xor edx, edx
push 0x1c
mov eax, str.PCSUService:_DeleteService:
lea esi, [esp + 0x1c]
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], 0
mov word [esp + 0x1c], dx
call fcn.00406cf0
mov dword [esp + 0x60], 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, esi
call fcn.0040ff60
mov dword [esp + 0x60], 0xffffffff
cmp dword [esp + 0x2c], 8
jb 0x414621
mov eax, dword [esp + 0x18]
push eax
call fcn.00418932
add esp, 4
push ebx
mov ebx, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call ebx
test eax, eax
jne 0x414684
mov dword [esp + 0x28], eax
xor ecx, ecx
push 0x21
mov eax, str.PCSUService:_CloseServiceHandle:
lea esi, [esp + 0x1c]
mov dword [esp + 0x30], 7
mov word [esp + 0x1c], cx
call fcn.00406cf0
mov dword [esp + 0x60], 5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, esi
call fcn.0040ff60
mov dword [esp + 0x60], 0xffffffff
cmp dword [esp + 0x2c], 8
jb 0x414684
mov edx, dword [esp + 0x18]
push edx
call fcn.00418932
add esp, 4
mov eax, dword [esp + 0x14]
push eax
call ebx
test eax, eax
jne 0x4146dd
mov dword [esp + 0x44], eax
xor ecx, ecx
push 0x21
mov eax, str.PCSUService:_CloseServiceHandle:
lea esi, [esp + 0x38]
mov dword [esp + 0x4c], 7
mov word [esp + 0x38], cx
call fcn.00406cf0
mov dword [esp + 0x60], 6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, esi
call fcn.0040ff60
cmp dword [esp + 0x48], 8
jb 0x4146dd
mov edx, dword [esp + 0x34]
push edx
call fcn.00418932
add esp, 4
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x40]
xor ecx, esp
call fcn.0041893d
mov esp, ebp
pop ebp
ret