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

Disassembly:
sub esp, 0x86c
mov eax, dword [0x4c4004]
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 [0x4def88]
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.0048e880
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 [0x4def88]
call ebx
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
call esi
push 0
push 1
push 0x404
push 0x29cb
push dword [0x4def88]
call ebx
push eax
call esi
cmp dword [esp + 0x18], 0
mov dword [esp + 0x24], 0
jbe 0x42af67
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 [0x4def88]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call esi
cmp dword [esp + 0x30], 0xffffffff
jne 0x42acfe
cmp dword [ebp], 4
jne 0x42af4d
push dword [ebp + 0x18]
lea eax, [esp + 0x74]
push 0x4af8c0
push 0x400
push eax
call fcn.0040a3c0
add esp, 0x10
push 0
push 0
push 0x1004
push edi
call esi
push 0x4d0bc8
push 0
mov dword [0x4d0bcc], eax
lea eax, [esp + 0x78]
push 0x104d
push edi
mov dword [0x4d0be4], 0
mov dword [0x4d0bdc], eax
call esi
mov eax, dword [ebp - 0xc]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x34]
push eax
push dword [0x4d0bcc]
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 [0x4d0bcc]
mov dword [esp + 0x44], 2
push 0x1074
push edi
call esi
mov eax, dword [ebp]
dec eax
cmp eax, 6
ja case.default.0x42ad98
jmp dword [eax*4 + 0x42afa0]
mov edx, 0x4ae308
jmp 0x42adce
mov edx, 0x4ae310
jmp 0x42adce
mov edx, 0x4ad7cc
jmp 0x42adce
mov edx, 0x4ad7d4
jmp 0x42adce
mov edx, 0x4ad7fc
jmp 0x42adce
mov edx, 0x4ae4a8
jmp 0x42adce
mov edx, 0x4ade90
mov ecx, str.STRT
call fcn.00477440
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 [0x4d0bcc]
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 0x42af43
lea eax, [esp + 0x20]
push eax
push 0x400
push ebx
push ebp
call dword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
test eax, eax
je 0x42aeed
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x34]
push eax
push dword [0x4d0bcc]
mov dword [esp + 0x44], 6
push 0x1074
push edi
call esi
mov eax, dword [ebx + 4]
cmp eax, 4
ja case.default.0x42ae8b
jmp dword [eax*4 + 0x42afbc]
mov edx, 0x4ade98
jmp 0x42aeb3
mov edx, 0x4ade88
jmp 0x42aeb3
mov edx, 0x4ae4b0
jmp 0x42aeb3
mov edx, 0x4ad488
jmp 0x42aeb3
mov edx, 0x4ae4b8
mov ecx, str.STRT
call fcn.00477440
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 [0x4d0bcc]
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 0x42af2d
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 [0x4d0bcc]
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 0x42acd0
push 0x477150
push 0
push 0x1051
push edi
mov dword [0x4deb70], 3
mov dword [0x4deb6c], edi
call esi
mov ecx, dword [esp + 0x874]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0048d925
add esp, 0x86c
ret