Function at 0x110f3380
Capabilities:
Query service status
Start service
Stop service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x111ec774]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0xf003f
push 0
push 0
call dword [sym.imp.aDvapi32.DLL_OpenSCManagerA]
mov esi, eax
mov dword [ebp - 0x24], esi
test esi, esi
jne 0x110f33ce
call dword [sym.imp.KeRneL32.DLl_GetLastError]
push eax
push 0x111b2c6c
call fcn.11147060
add esp, 8
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.11162bb7
mov esp, ebp
pop ebp
ret
push edi
push 0x34
push 0x111b2c64
push esi
call dword [sym.imp.aDvapi32.DLL_OpenServiceA]
mov edi, eax
test edi, edi
jne 0x110f3410
call dword [sym.imp.KeRneL32.DLl_GetLastError]
push eax
push 0x111b2c3c
call fcn.11147060
add esp, 8
push esi
call dword [sym.imp.aDvapi32.DLL_CloseServiceHandle]
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.11162bb7
mov esp, ebp
pop ebp
ret
push ebx
lea eax, [ebp - 0x20]
push eax
push edi
call dword [sym.imp.aDvapi32.DLL_QueryServiceStatus]
mov eax, dword [ebp - 0x1c]
mov ebx, eax
cmp eax, 4
jne 0x110f3513
mov ecx, dword [0x111ee100]
push 0
push 0x3e8
push 0x111b2c20
push 0x111a0f40
call fcn.1105e820
lea ecx, [ebp - 0x20]
push ecx
push 1
push edi
mov dword [ebp - 0x28], eax
call dword [sym.imp.aDvapi32.DLL_ControlService]
test eax, eax
jne 0x110f3490
call dword [sym.imp.KeRneL32.DLl_GetLastError]
push eax
push 0x111b2bf8
call fcn.11147060
mov esi, dword [sym.imp.aDvapi32.DLL_CloseServiceHandle]
add esp, 8
push edi
call esi
mov edx, dword [ebp - 0x24]
push edx
call esi
pop ebx
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.11162bb7
mov esp, ebp
pop ebp
ret
xor esi, esi
mov eax, dword [0x111ee10c]
test eax, eax
je 0x110f34b5
cmp esi, 0x8b74
jge 0x110f34b5
push 0x111b2bc4
call fcn.11147060
add esp, 4
mov esi, 0x8b74
lea ecx, [ebp - 0x20]
push ecx
push edi
call dword [sym.imp.aDvapi32.DLL_QueryServiceStatus]
test eax, eax
je 0x110f34f1
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x110f34cd
mov ebx, eax
cmp eax, 1
je 0x110f3505
push 0x64
call dword [sym.imp.KeRneL32.DLl_Sleep]
inc esi
cmp esi, 0x8ca0
jl 0x110f3492
mov edx, dword [ebp - 0x28]
mov ebx, dword [sym.imp.KeRneL32.DLl_Sleep]
push edx
call ebx
jmp 0x110f3519
call dword [sym.imp.KeRneL32.DLl_GetLastError]
push eax
push 0x111b2b9c
call fcn.11147060
add esp, 8
mov edx, dword [ebp - 0x28]
mov ebx, dword [sym.imp.KeRneL32.DLl_Sleep]
push edx
call ebx
jmp 0x110f3519
mov ebx, dword [sym.imp.KeRneL32.DLl_Sleep]
push 0
push 0
push edi
call dword [sym.imp.aDvapi32.DLL_StartServiceA]
test eax, eax
jne 0x110f355e
call dword [sym.imp.KeRneL32.DLl_GetLastError]
push eax
push 0x111b2b74
call fcn.11147060
mov esi, dword [sym.imp.aDvapi32.DLL_CloseServiceHandle]
add esp, 8
push edi
call esi
mov eax, dword [ebp - 0x24]
push eax
call esi
pop ebx
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.11162bb7
mov esp, ebp
pop ebp
ret
xor esi, esi
lea ecx, [ebp - 0x20]
push ecx
push edi
call dword [sym.imp.aDvapi32.DLL_QueryServiceStatus]
cmp dword [ebp - 0x1c], 4
je 0x110f3591
push 0x64
call ebx
inc esi
cmp esi, 0x12c
jl 0x110f3560
cmp dword [ebp - 0x1c], 4
je 0x110f3591
push 0x111b2b40
call fcn.11147060
add esp, 4
mov esi, dword [sym.imp.aDvapi32.DLL_CloseServiceHandle]
push edi
call esi
mov edx, dword [ebp - 0x24]
push edx
call esi
mov ecx, dword [ebp - 4]
pop ebx
pop edi
xor ecx, ebp
mov al, 1
pop esi
call fcn.11162bb7
mov esp, ebp
pop ebp
ret