Function at 0x4cf7c0
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Query service status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
mov eax, dword [0x5c0290]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0x18]
lea ebx, [edi + 0x10]
push ebx
push ecx
sub eax, 0x10
mov esi, esp
push eax
call fcn.004c2870
add esp, 4
add eax, 0x10
mov dword [esi], eax
call fcn.004a4a00
add esp, 8
test eax, eax
je 0x4cf813
lea eax, [edi + 0x14]
mov ecx, ebx
push eax
call fcn.004b7bc0
mov dword [edi + 8], 0
jmp 0x4cf81a
mov dword [edi + 8], 1
push dword [ebx]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4cf84d
lea eax, [edi + 0x1c]
push eax
mov eax, dword [ebx]
push ecx
sub eax, 0x10
mov esi, esp
push eax
call fcn.004c2870
add esp, 4
add eax, 0x10
mov dword [esi], eax
call fcn.004828d0
add esp, 8
jmp 0x4cf9ae
sub esp, 0xc
mov dword [ebp - 0x9c], 0x636b5464
mov ecx, esp
mov dword [ebp - 0x98], 0x3441514e
lea eax, [ebp - 0x21]
mov dword [ebp - 0x94], 0x3845684a
mov dword [ebp - 0x90], 0x5849794d
push dword [ebp - 0xa0]
mov dword [ebp - 0x8c], 0x51734266
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x88], 0x39396e47
mov dword [ebp - 0x84], 0x36706849
mov dword [ebp - 0x80], 0x6a637944
mov dword [ebp - 0x7c], 0x6b776943
mov dword [ebp - 0x78], 0x4b49794b
mov dword [ebp - 0x74], 0x74397a49
mov dword [ebp - 0x70], 0x7477434f
mov dword [ebp - 0x6c], 0x34774144
mov dword [ebp - 0x68], 0x2f777a45
mov dword [ebp - 0x64], 0x61776e4b
mov dword [ebp - 0x60], 0x776b7850
mov dword [ebp - 0x5c], 0x384e4847
mov dword [ebp - 0x58], 0x304d5346
mov dword [ebp - 0x54], 0x4551424c
mov dword [ebp - 0x50], 0x62305441
mov dword [ebp - 0x4c], 0x79554745
mov dword [ebp - 0x48], 0x7956334e
mov dword [ebp - 0x44], 0x67495766
mov dword [ebp - 0x40], 0x676b4141
mov dword [ebp - 0x3c], 0x5930424a
mov dword [ebp - 0x38], 0x7835544b
mov dword [ebp - 0x34], 0x6a594845
mov dword [ebp - 0x30], 0x484d6945
mov dword [ebp - 0x2c], 0x4638694b
mov dword [ebp - 0x28], 0x41414163
mov word [ebp - 0x24], 0x4641
mov byte [ebp - 0x22], 0x63
push eax
push 0
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
call fcn.004660a0
lea eax, [ebp - 0xac]
push eax
call fcn.0047fb90
add esp, 0x10
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
je 0x4cfa3c
push ecx
lea ecx, [edi + 0x1c]
call fcn.004b7ce0
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x4cf9a7
push eax
call fcn.0053c1e0
add esp, 4
mov dword [edi + 8], 0
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov esi, eax
test esi, esi
je 0x4cfa2b
push 0xf01ff
push dword [edi + 0x18]
push esi
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov dword [ebp - 0xa0], eax
test eax, eax
jne 0x4cf9f4
push esi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0053d3a0
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x20]
push ecx
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
mov ebx, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test eax, eax
jne 0x4cfa14
push dword [ebp - 0xa0]
call ebx
push esi
call ebx
push dword [ebp - 0xa0]
xor eax, eax
cmp dword [ebp - 0x1c], 1
sete al
mov dword [edi + 0xc], eax
call ebx
push esi
call ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0053d3a0
mov esp, ebp
pop ebp
ret
push str.invalid_vector_T__subscript
call fcn.0053af06
int3