Function at 0x14a9e4
Capabilities:
Query service configuration

Disassembly:
push ebp
mov ebp, esp
mov ecx, 8
push 0
push 0
dec ecx
jne 0x14a9ec
push ecx
push ebx
push esi
mov dword [ebp - 4], edx
mov esi, eax
xor eax, eax
push ebp
push 0x14acc7
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 4], 0
jne 0x14aa29
lea edx, [ebp - 0x1c]
mov eax, 0x14acd8
call fcn.00031d88
mov eax, dword [ebp - 0x1c]
call fcn.0014a9c0
jmp 0x14acac
lea edx, [ebp - 0x20]
mov eax, 0x14ace8
call fcn.00031d88
lea eax, [ebp - 0x20]
push eax
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.00018fcc
mov edx, dword [ebp - 0x24]
pop eax
call fcn.00013ed4
mov eax, dword [ebp - 0x20]
call fcn.0014a99c
xor eax, eax
mov dword [ebp - 8], eax
push 0
call sub.kernel32.dll_SetLastError
lea eax, [ebp - 0x14]
mov edx, 0x5000
call fcn.0002aea4
xor eax, eax
push ebp
push 0x14ac86
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x14abf8
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xf003f
push 0
push 0
call sub.advapi32.dll_OpenSCManagerA
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x14aaae
push 0
call sub.kernel32.dll_SetLastError
call fcn.0014a93c
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x18], 0
je 0x14abd0
lea edx, [ebp - 0x28]
mov eax, 0x14ad0c
call fcn.00031d88
mov eax, dword [ebp - 0x28]
call fcn.0014a99c
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x14abbb
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xf01ff
mov eax, esi
call fcn.00014090
push eax
mov eax, dword [ebp - 0x18]
push eax
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x14ab0e
push 0
call sub.kernel32.dll_SetLastError
cmp dword [ebp - 0xc], 0
jne 0x14ab1c
call fcn.0014a93c
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x10], 0
je 0x14ab93
lea eax, [ebp - 8]
push eax
push 0xa
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.advapi32.dll_QueryServiceConfigA
test eax, eax
jne 0x14ab85
call sub.kernel32.dll_GetLastError_1
cmp eax, 0x7a
jne 0x14ab85
lea edx, [ebp - 0x2c]
mov eax, 0x14ad24
call fcn.00031d88
mov eax, dword [ebp - 0x2c]
call fcn.0014a99c
add dword [ebp - 8], 0x64
cmp dword [ebp - 8], 0x5000
ja 0x14ab85
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.advapi32.dll_QueryServiceConfigA
test eax, eax
je 0x14ab85
push 0
call sub.kernel32.dll_SetLastError
cmp dword [ebp - 0xc], 0
jne 0x14ab93
call fcn.0014a93c
mov dword [ebp - 0xc], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x14abc2
cmp dword [ebp - 0x10], 0
je 0x14abba
mov eax, dword [ebp - 0x10]
push eax
call sub.advapi32.dll_CloseServiceHandle
test eax, eax
je 0x14abba
push 0
call sub.kernel32.dll_SetLastError
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x14abff
cmp dword [ebp - 0x18], 0
je 0x14abf7
mov eax, dword [ebp - 0x18]
push eax
call sub.advapi32.dll_CloseServiceHandle
test eax, eax
je 0x14abf7
push 0
call sub.kernel32.dll_SetLastError
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x14acce
lea eax, [ebp - 0x44]
mov edx, 0xb
call fcn.00013c60
ret