Function at 0x42afa0
Capabilities:
Enumerate services
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x86c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x864], eax
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push ebp
push esi
push edi
push 0x2819
push dword [0x4e6030]
mov esi, edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x38], esi
call ebx
push 0x7800
push 0x40
mov edi, eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push 0
mov ebp, eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x38]
push eax
push 0x7800
push ebp
push 3
push esi
push 0
push dword [esp + 0x40]
call dword [sym.imp.ADVAPI32.dll_EnumServicesStatusExW]
xor eax, eax
push 0x7fe
push eax
mov word [esp + 0x78], ax
lea eax, [esp + 0x7a]
push eax
call fcn.0048fb10
mov eax, dword [esp + 0x24]
add esp, 0xc
add eax, 3
movzx eax, ax
shl eax, 0x10
push eax
push 0
push 0x401
push 0x29cb
push dword [0x4e6030]
call ebx
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
call esi
push 0
push 1
push 0x404
push 0x29cb
push dword [0x4e6030]
call ebx
push eax
call esi
cmp dword [esp + 0x18], 0
mov dword [esp + 0x24], 0
jbe 0x42b337
mov ebx, dword [sym.imp.SHLWAPI.dll_StrCpyW]
add ebp, 0xc
mov dword [esp + 0x14], ebp
nop word [eax + eax]
push 0
push 0
push 0x405
push 0x29cb
push dword [0x4e6030]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call esi
cmp dword [esp + 0x30], 0xffffffff
jne 0x42b0ce
cmp dword [ebp], 4
jne 0x42b31d
push dword [ebp + 0x18]
lea eax, [esp + 0x74]
push 0x4b5b00
push 0x400
push eax
call fcn.0040a420
add esp, 0x10
push 0
push 0
push 0x1004
push edi
call esi
push 0x4d7c08
push 0
mov dword [0x4d7c0c], eax
lea eax, [esp + 0x78]
push 0x104d
push edi
mov dword [0x4d7c24], 0
mov dword [0x4d7c1c], eax
call esi
mov eax, dword [ebp - 0xc]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x34]
push eax
push dword [0x4d7c0c]
mov dword [esp + 0x44], 1
push 0x1074
push edi
call esi
mov eax, dword [ebp - 8]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x34]
push eax
push dword [0x4d7c0c]
mov dword [esp + 0x44], 2
push 0x1074
push edi
call esi
mov eax, dword [ebp]
dec eax
cmp eax, 6
ja case.default.0x42b168
jmp dword [eax*4 + 0x42b370]
mov edx, 0x4b4548
jmp 0x42b19e
mov edx, 0x4b4550
jmp 0x42b19e
mov edx, 0x4b3a0c
jmp 0x42b19e
mov edx, 0x4b3a14
jmp 0x42b19e
mov edx, 0x4b3a3c
jmp 0x42b19e
mov edx, 0x4b46e8
jmp 0x42b19e
mov edx, 0x4b40d0
mov ecx, str.STRT
call fcn.00478640
push eax
lea eax, [esp + 0x74]
push eax
call ebx
lea eax, [esp + 0x70]
mov dword [esp + 0x3c], 3
mov dword [esp + 0x48], eax
lea eax, [esp + 0x34]
push eax
push dword [0x4d7c0c]
push 0x1074
push edi
call esi
push 0x400
push 0x40
mov dword [esp + 0x28], 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push 0x400
push 0x40
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push 0xf01ff
push dword [ebp - 0xc]
mov dword [esp + 0x18], eax
push dword [esp + 0x24]
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov ebp, eax
test ebp, ebp
je 0x42b313
lea eax, [esp + 0x20]
push eax
push 0x400
push ebx
push ebp
call dword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
test eax, eax
je 0x42b2bd
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x34]
push eax
push dword [0x4d7c0c]
mov dword [esp + 0x44], 6
push 0x1074
push edi
call esi
mov eax, dword [ebx + 4]
cmp eax, 4
ja case.default.0x42b25b
jmp dword [eax*4 + 0x42b38c]
mov edx, 0x4b40d8
jmp 0x42b283
mov edx, 0x4b40c8
jmp 0x42b283
mov edx, 0x4b46f0
jmp 0x42b283
mov edx, 0x4b36c8
jmp 0x42b283
mov edx, 0x4b46f8
mov ecx, str.STRT
call fcn.00478640
push eax
lea eax, [esp + 0x74]
push eax
mov eax, dword [sym.imp.SHLWAPI.dll_StrCpyW]
call eax
lea eax, [esp + 0x70]
mov dword [esp + 0x3c], 4
mov dword [esp + 0x48], eax
lea eax, [esp + 0x34]
push eax
push dword [0x4d7c0c]
push 0x1074
push edi
call esi
lea eax, [esp + 0x20]
push eax
push 0x400
push dword [esp + 0x18]
push 1
push ebp
call dword [sym.imp.ADVAPI32.dll_QueryServiceConfig2W]
test eax, eax
je 0x42b2fd
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], 5
mov eax, dword [eax]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x34]
push eax
push dword [0x4d7c0c]
push 0x1074
push edi
call esi
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_LocalFree]
call ebx
push dword [esp + 0x10]
call ebx
push ebp
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov ebx, dword [sym.imp.SHLWAPI.dll_StrCpyW]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
add ebp, 0x2c
inc eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x18]
jb 0x42b0a0
push 0x478350
push 0
push 0x1051
push edi
mov dword [0x4e5c18], 3
mov dword [0x4e5c14], edi
call esi
mov ecx, dword [esp + 0x874]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0048ea75
add esp, 0x86c
ret