Function at 0x5dc2c
Capabilities:
Query service configuration

Disassembly:
push ebp
mov ebp, esp
mov ecx, 9
push 0
push 0
dec ecx
jne 0x5dc34
push ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5df21
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 8], 0
jne 0x5dc70
lea edx, [ebp - 0x24]
mov eax, 0x5df30
call fcn.0005bdb8
mov eax, dword [ebp - 0x24]
call fcn.0005d494
jmp 0x5df06
lea edx, [ebp - 0x28]
mov eax, 0x5df40
call fcn.0005bdb8
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 8]
call fcn.0004f81c
mov edx, dword [ebp - 0x2c]
pop eax
call fcn.00013e24
mov eax, dword [ebp - 0x28]
call fcn.0005d46c
xor eax, eax
mov dword [ebp - 0x10], eax
push 0
call sub.kernel32.dll_SetLastError
xor eax, eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x20]
mov edx, 0x5000
call fcn.000597f4
xor eax, eax
push ebp
push 0x5dedd
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x5de4f
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xf003f
push 0
push 0
call sub.advapi32.dll_OpenSCManagerA
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x5dcfa
push 0
call sub.kernel32.dll_SetLastError
call fcn.0005d404
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x14], 0
je 0x5de22
lea edx, [ebp - 0x30]
mov eax, 0x5df64
call fcn.0005bdb8
mov eax, dword [ebp - 0x30]
call fcn.0005d46c
xor eax, eax
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x5de0d
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xf01ff
mov eax, dword [ebp - 4]
call fcn.00013fe0
push eax
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_OpenServiceA
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x5dd5b
push 0
call sub.kernel32.dll_SetLastError
cmp dword [ebp - 0x18], 0
jne 0x5dd69
call fcn.0005d404
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x1c], 0
je 0x5dde0
lea eax, [ebp - 0x10]
push eax
push 0xa
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_QueryServiceConfigA
test eax, eax
jne 0x5ddd2
call sub.kernel32.dll_GetLastError_1
cmp eax, 0x7a
jne 0x5ddd2
lea edx, [ebp - 0x34]
mov eax, 0x5df7c
call fcn.0005bdb8
mov eax, dword [ebp - 0x34]
call fcn.0005d46c
add dword [ebp - 0x10], 0x64
cmp dword [ebp - 0x10], 0x5000
ja 0x5ddd2
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_QueryServiceConfigA
test eax, eax
je 0x5ddd2
push 0
call sub.kernel32.dll_SetLastError
cmp dword [ebp - 0x18], 0
jne 0x5dde0
call fcn.0005d404
mov dword [ebp - 0x18], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5de14
cmp dword [ebp - 0x1c], 0
je 0x5de07
mov eax, dword [ebp - 0x1c]
push eax
call sub.advapi32.dll_CloseServiceHandle
test eax, eax
je 0x5de07
push 0
call sub.kernel32.dll_SetLastError
xor eax, eax
mov dword [ebp - 0x1c], eax
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5de56
cmp dword [ebp - 0x14], 0
je 0x5de49
mov eax, dword [ebp - 0x14]
push eax
call sub.advapi32.dll_CloseServiceHandle
test eax, eax
je 0x5de49
push 0
call sub.kernel32.dll_SetLastError
xor eax, eax
mov dword [ebp - 0x14], eax
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5df28
lea eax, [ebp - 0x4c]
mov edx, 0xb
call fcn.00013bc0
ret