Function at 0x4283e0
Capabilities:
Delete service
Stop service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov dword [ebp - 0x3c], ecx
call fcn.00401ff0
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
je 0x428444
push 0
movzx eax, byte [0x623349]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [edx + 0xc]
call eax
movzx ecx, al
test ecx, ecx
je 0x428444
push str.CServiceModule::UnRegisterService
push 0x5e94ec
push 0xfd
push 0x5e94fc
push 0
movzx edx, byte [0x623349]
push edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ecx + 0x10]
call eax
add esp, 0x1c
xor ecx, ecx
jne 0x4283e9
mov ecx, dword [ebp - 0x3c]
call fcn.00427b20
test eax, eax
jne 0x42845e
mov eax, 1
jmp 0x428613
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4284de
call fcn.00401ff0
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4284d3
push 4
movzx edx, byte [0x623349]
push edx
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x30]
mov eax, dword [edx + 0xc]
call eax
movzx ecx, al
test ecx, ecx
je 0x4284d3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Couldnt_open_service_manager:_d_n
push 0x105
push 0x5e9534
push 4
movzx edx, byte [0x623349]
push edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ecx + 0x10]
call eax
add esp, 0x1c
xor ecx, ecx
jne 0x428476
xor eax, eax
jmp 0x428613
push 0x10020
push 0x62aef8
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x428572
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call fcn.00401ff0
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x428567
push 4
movzx ecx, byte [0x623349]
push ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x34]
mov edx, dword [eax + 0xc]
call edx
movzx eax, al
test eax, eax
je 0x428567
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x62aef8
push str.Couldnt_open_service:_s__err:__d_n
push 0x10e
push 0x5e956c
push 4
movzx ecx, byte [0x623349]
push ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [eax + 0x10]
call edx
add esp, 0x20
xor eax, eax
jne 0x428505
xor eax, eax
jmp 0x428613
lea ecx, [ebp - 0x28]
push ecx
push 1
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.ADVAPI32.dll_ControlService]
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_DeleteService]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
cmp dword [ebp - 8], 0
je 0x4285b0
mov eax, 1
jmp 0x428613
call fcn.00401ff0
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x42860d
push 4
movzx eax, byte [0x623349]
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x38]
mov eax, dword [edx + 0xc]
call eax
movzx ecx, al
test ecx, ecx
je 0x42860d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Service_could_not_be_deleted:_d_n
push 0x11b
push 0x5e95a4
push 4
movzx edx, byte [0x623349]
push edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ecx + 0x10]
call eax
add esp, 0x1c
xor ecx, ecx
jne 0x4285b0
xor eax, eax
mov esp, ebp
pop ebp
ret