Function at 0x41b7f0
Capabilities:
Enumerate services

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov dword [ebp - 8], ecx
and dword [ebp - 0x18], 0
and dword [ebp - 0x1c], 0
and dword [ebp - 0x2c], 0
and dword [ebp - 0x24], 0
and dword [ebp - 0x30], 0
and dword [ebp - 0x20], 0
lea ecx, [ebp - 0x14]
call fcn.00406f52
and dword [ebp - 4], 0
and dword [ebp - 0x38], 0
push 5
push 0x429294
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x41b84d
and dword [ebp - 0x40], 0
lea ecx, [ebp - 0x14]
call fcn.00406be2
mov eax, dword [ebp - 0x40]
jmp 0x41ba92
and dword [ebp - 0x24], 0
push 0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1c]
push eax
push 0
push 0
push 3
push 0x30
push 0
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x1c]
call fcn.0040b86a
pop ecx
mov dword [ebp - 4], eax
push 0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x2c]
push dword [ebp - 4]
push 3
push 0x30
push 0
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
test eax, eax
jne 0x41b8d1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xea
je 0x41b8d1
and dword [ebp - 0x44], 0
lea ecx, [ebp - 0x14]
call fcn.00406be2
mov eax, dword [ebp - 0x44]
jmp 0x41ba92
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
and dword [ebp - 0x34], 0
and dword [ebp - 0xc], 0
jmp 0x41b8eb
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x20]
jae 0x41b97d
imul eax, dword [ebp - 0xc], 0x2c
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax], 0
jne 0x41b906
jmp 0x41b97d
imul eax, dword [ebp - 0xc], 0x2c
mov ecx, dword [ebp - 4]
push dword [ecx + eax]
lea ecx, [ebp - 0x28]
call fcn.00406f64
mov eax, dword [ebp - 8]
add eax, 0x28
push eax
lea ecx, [ebp - 0x28]
call fcn.004069e1
test eax, eax
je 0x41b970
mov dword [ebp - 0x34], 1
imul eax, dword [ebp - 0xc], 0x2c
mov ecx, dword [ebp - 4]
push dword [ecx + eax]
lea ecx, [ebp - 0x48]
call fcn.00406f64
push eax
lea ecx, [ebp - 0x14]
call fcn.00406bfc
lea ecx, [ebp - 0x48]
call fcn.00406be2
imul eax, dword [ebp - 0xc], 0x2c
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax + 0x24]
mov dword [ecx + 0x2c], eax
lea ecx, [ebp - 0x28]
call fcn.00406be2
jmp 0x41b97d
lea ecx, [ebp - 0x28]
call fcn.00406be2
jmp 0x41b8e4
cmp dword [ebp - 0x34], 0
jne 0x41b997
and dword [ebp - 0x4c], 0
lea ecx, [ebp - 0x14]
call fcn.00406be2
mov eax, dword [ebp - 0x4c]
jmp 0x41ba92
mov eax, dword [ebp - 8]
cmp dword [eax + 0x2c], 0
jne 0x41b9ef
cmp dword [ebp - 0x38], 1
jne 0x41b9ba
and dword [ebp - 0x50], 0
lea ecx, [ebp - 0x14]
call fcn.00406be2
mov eax, dword [ebp - 0x50]
jmp 0x41ba92
push 2
mov eax, dword [ebp - 8]
add eax, 0x28
push eax
mov ecx, dword [ebp - 8]
call fcn.0041ac18
mov eax, dword [ebp - 8]
add eax, 0x28
push eax
mov ecx, dword [ebp - 8]
call fcn.0041ace9
mov dword [ebp - 0x38], 1
push dword [ebp - 4]
call fcn.00401014
pop ecx
jmp 0x41b821
and dword [ebp - 0x10], 0
jmp 0x41b9fc
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x20]
jae 0x41ba75
imul eax, dword [ebp - 0x10], 0x2c
mov ecx, dword [ebp - 4]
cmp dword [ecx + eax], 0
jne 0x41ba13
jmp 0x41ba75
imul eax, dword [ebp - 0x10], 0x2c
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx + eax + 0x24]
cmp eax, dword [edx + 0x2c]
jne 0x41ba73
imul eax, dword [ebp - 0x10], 0x2c
mov ecx, dword [ebp - 4]
push dword [ecx + eax]
lea ecx, [ebp - 0x3c]
call fcn.00406f64
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x3c]
call fcn.004069e1
test eax, eax
jne 0x41ba6b
mov eax, dword [ebp - 8]
add eax, 0x44
mov dword [ebp - 0x54], eax
push ecx
mov ecx, esp
imul eax, dword [ebp - 0x10], 0x2c
mov edx, dword [ebp - 4]
push dword [edx + eax]
call fcn.00406f64
mov ecx, dword [ebp - 0x54]
call fcn.004042cf
lea ecx, [ebp - 0x3c]
call fcn.00406be2
jmp 0x41b9f5
mov ecx, dword [ebp - 8]
add ecx, 0x44
call fcn.004042ac
mov dword [ebp - 0x58], 1
lea ecx, [ebp - 0x14]
call fcn.00406be2
mov eax, dword [ebp - 0x58]
leave
ret