Function at 0x53c138
Capabilities:
Query service status
Start service

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
xor eax, eax
mov dword [ebp - 4], eax
push 0xf003f
push 0
push 0
call sub.advapi32.dll_OpenSCManagerA
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x53c175
mov edx, 0x53c480
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 0xffffffff
jmp 0x53c46c
mov eax, dword [0x753a48]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.00474fdc
xor eax, eax
push ebp
push 0x53c465
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xf01ff
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x53c1ce
mov edx, 0x53c4a0
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.004046cc
jmp 0x53c46c
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_QueryServiceStatus
mov eax, dword [ebp - 0x28]
sub eax, 2
je 0x53c1eb
add eax, 0xfffffffe
sub eax, 3
jae 0x53c1fc
mov dword [ebp - 4], 0xffffffff
call fcn.004046cc
jmp 0x53c46c
xor eax, eax
push ebp
push 0x53c439
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 0
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_StartServiceA
test eax, eax
jne 0x53c422
call sub.kernel32.dll_GetLastError_1
cmp eax, 0x420
jg 0x53c27a
je 0x53c328
cmp eax, 0x41d
jg 0x53c263
je 0x53c3f4
sub eax, 3
je 0x53c30d
sub eax, 2
je 0x53c2d7
dec eax
je 0x53c2f2
jmp case.0x53c288.1059
sub eax, 0x41e
je 0x53c3dc
dec eax
je 0x53c343
jmp case.0x53c288.1059
add eax, 0xfffffbde
cmp eax, 0x11
ja case.0x53c288.1059
jmp dword [eax*4 + 0x53c28f]
mov edx, 0x53c4bc
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 0xfffffffe
jmp 0x53c422
mov edx, 0x53c504
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 0xfffffffd
jmp 0x53c422
mov edx, 0x53c530
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 0xfffffffc
jmp 0x53c422
mov edx, 0x53c564
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 1
jmp 0x53c422
mov edx, 0x53c59c
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 0xfffffffb
jmp 0x53c422
mov edx, 0x53c5bc
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 0xfffffffa
jmp 0x53c422
mov edx, 0x53c61c
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 0xfffffff9
jmp 0x53c422
mov edx, 0x53c668
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 0xfffffff8
jmp 0x53c422
mov edx, 0x53c690
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 0xfffffff7
jmp 0x53c422
mov edx, 0x53c72c
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 0xfffffff6
jmp 0x53c422
mov edx, 0x53c760
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 0xfffffff5
jmp 0x53c422
mov edx, 0x53c798
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 0xfffffff4
jmp 0x53c422
mov edx, 0x53c85c
mov eax, dword [0x754ffc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov dword [ebp - 4], 0xfffffff3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x53c440
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_CloseServiceHandle
ret
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret 4