Function at 0x486da0
Capabilities:
Query service status
Stop service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [ebp + 0xc]
mov ecx, 0x1d4c0
push ebx
push esi
or esi, 0xffffffff
test eax, eax
cmovne ecx, eax
cmp dword [0x665124], 0
mov dword [ebp - 4], ecx
je 0x487026
mov ebx, dword [ebp + 8]
lea eax, [ebp + 4]
sub eax, 4
push ebx
push eax
call fcn.004766b0
add esp, 8
push 0x2c
push dword [eax]
push dword [0x665124]
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
push eax
call fcn.00590bc0
add esp, 4
mov dword [ebp + 0xc], eax
test eax, eax
je 0x487026
lea ecx, [ebp - 8]
push ecx
push 0x24
lea ecx, [ebp - 0x2c]
push ecx
push 0
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
push eax
call fcn.00590b90
add esp, 4
test eax, eax
jne 0x486e3a
push ebx
push str.failed_query_service_status__s:__m
push 0x550003
call fcn.00479a10
add esp, 0xc
test eax, eax
jne 0x486fdf
mov eax, dword [ebp - 0x28]
cmp eax, 1
jne 0x486e5c
push ebx
push str.service__s_already_stopped
push 0x550005
call fcn.00479a10
add esp, 0xc
xor esi, esi
jmp 0x486fdf
mov ebx, dword [ebp - 0x18]
xor esi, esi
push edi
xor edi, edi
cmp eax, 3
jne 0x486ec0
nop dword [eax]
cmp edi, 0xea60
jge 0x486ec0
cmp esi, dword [ebp - 4]
jge 0x486ec0
push dword [ebp + 8]
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 0xc]
call fcn.00486d40
add esp, 0xc
test eax, eax
jne 0x486fd0
cmp dword [ebp - 0x28], 1
je 0x486f13
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jbe 0x486ea8
xor edi, edi
mov ebx, eax
push 0
push 0x64
call fcn.0047b4d0
add esp, 8
add edi, 0x64
add esi, 0x64
cmp dword [ebp - 0x28], 3
je 0x486e70
lea eax, [ebp - 0x2c]
push eax
push 1
push dword [ebp + 0xc]
call dword [sym.imp.ADVAPI32.dll_ControlService]
push eax
call fcn.00590b90
add esp, 4
test eax, eax
jne 0x486f39
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov eax, dword [eax + 0x28f0]
test eax, eax
jne 0x486ef3
call fcn.00596e90
cmp dword [eax], 0x6d
je 0x486f39
mov ebx, dword [ebp + 8]
push ebx
push str.ControlService_failed_for__s:__m
push 0x550003
call fcn.00479a10
add esp, 0xc
jmp 0x486fdb
cmp dword [0x669174], 6
mov ebx, dword [ebp + 8]
jl 0x486f32
push ebx
push str.service__s__stopped_successfully
push 0x550006
call fcn.00479a10
add esp, 0xc
xor esi, esi
jmp 0x486fde
mov eax, dword [ebp - 0x28]
xor edi, edi
cmp eax, 1
je 0x486fb7
cmp edi, 0xea60
jge 0x486fb2
cmp esi, dword [ebp - 4]
jge 0x486fb2
lea eax, [ebp - 8]
push eax
push 0x24
lea eax, [ebp - 0x2c]
push eax
push 0
push dword [ebp + 0xc]
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
push eax
call fcn.00590b90
add esp, 4
test eax, eax
jne 0x486f8b
push dword [ebp + 8]
push str.failed_query_service_status__s:__m
push 0x550003
call fcn.00479a10
add esp, 0xc
test eax, eax
jne 0x486fd8
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jbe 0x486f96
xor edi, edi
mov ebx, eax
push 0
push 0x64
add edi, 0x64
add esi, 0x64
call fcn.0047b4d0
mov eax, dword [ebp - 0x28]
add esp, 8
cmp eax, 1
jne 0x486f43
jmp 0x486fb7
cmp eax, 1
jne 0x486fd8
push str.service_stopped_successfully
push 0x550005
call fcn.00479a10
mov ebx, dword [ebp + 8]
add esp, 8
xor esi, esi
jmp 0x486fde
mov ebx, dword [ebp + 8]
or esi, 0xffffffff
jmp 0x486fde
mov ebx, dword [ebp + 8]
or esi, 0xffffffff
pop edi
push dword [ebp + 0xc]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push eax
call fcn.00590b90
add esp, 4
test eax, eax
jne 0x487007
push str.Failed_close_service_handle:__m
push 0x550003
call fcn.00479a10
add esp, 8
test esi, esi
je 0x48701e
push ebx
push str.error_stopping_service__s
push 0x550003
call fcn.00479a10
add esp, 0xc
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret