Function at 0x457ab0
Capabilities:
Continue service
Query service status
Start service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov dword [ebp - 0x50], 0x80004005
mov dword [ebp - 0xc], 0x80004005
mov dword [ebp - 8], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x30], 0
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x4c], 0
xor ecx, ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0x10000000
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x10], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
push str._RepairerUtils::MyOpenService_OpenSCManager_strServiceName:__s__hSC:__0x__LastError:__d_
call fcn.0044a070
add esp, 0x10
cmp dword [ebp - 0x10], 0
jne 0x457b61
cmp dword [0x572594], 0
je 0x457b57
int3
jmp 0x457f6a
xor edx, edx
jne 0x457b47
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0xf01ff
mov ecx, dword [ebp + 8]
call fcn.0046ade0
push eax
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
push 0x536400
call fcn.0044a070
add esp, 0x10
cmp dword [ebp - 4], 0
jne 0x457c0d
mov dword [ebp - 0x54], 0
mov edx, dword [ebp - 0x14]
push edx
mov ecx, dword [ebp + 8]
call fcn.0046ade0
push eax
call fcn.004569a0
add esp, 8
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
je 0x457c0d
push 0xf01ff
mov ecx, dword [ebp + 8]
call fcn.0046ade0
push eax
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
push str._RepairerUtils::MyOpenService_OpenService_strServiceName:__s__hSvc:__0x__LastError:__d_
call fcn.0044a070
add esp, 0x10
cmp dword [ebp - 4], 0
jne 0x457c27
cmp dword [0x572594], 0
je 0x457c1d
int3
jmp 0x457f6a
xor edx, edx
jne 0x457c0d
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x457c56
cmp dword [0x572594], 0
je 0x457c4c
int3
jmp 0x457f6a
xor edx, edx
jne 0x457c3c
cmp dword [ebp + 0xc], 0
je 0x457c6e
xor eax, eax
cmp dword [ebp - 0x2c], 4
sete al
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
cmp dword [ebp - 0x2c], 4
jne 0x457c7e
jmp 0x457f61
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
push str.MyOpenService__start_MyEnableService__strServiceName:__s__CurState:__d
call fcn.0044a070
add esp, 0xc
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.004580e0
add esp, 8
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0xc]
push eax
push str.MyOpenService__end_MyEnableService__hrRetCode:__08x__strServiceName:__s
call fcn.0044a070
add esp, 0xc
cmp dword [ebp - 0xc], 0
jge 0x457cd9
cmp dword [0x572594], 0
je 0x457ccf
int3
jmp 0x457f6a
xor ecx, ecx
jne 0x457cbf
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x58]
sub eax, 1
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 6
ja case.default.0x457cf9
mov ecx, dword [ebp - 0x58]
jmp dword [ecx*4 + 0x457fb8]
jmp 0x457f61
push 2
push 4
mov edx, dword [ebp - 4]
push edx
call fcn.00457fe0
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jge 0x457d3c
cmp dword [0x572594], 0
je 0x457d32
int3
jmp 0x457f6a
xor eax, eax
jne 0x457d22
jmp 0x457f61
push 0
push 0
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x457d70
cmp dword [0x572594], 0
je 0x457d66
int3
jmp 0x457f6a
xor edx, edx
jne 0x457d56
push 2
push 4
mov eax, dword [ebp - 4]
push eax
call fcn.00457fe0
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jge 0x457da1
cmp dword [0x572594], 0
je 0x457d97
int3
jmp 0x457f6a
xor ecx, ecx
jne 0x457d87
jmp 0x457f61
push 3
push 1
mov edx, dword [ebp - 4]
push edx
call fcn.00457fe0
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jge 0x457dd7
cmp dword [0x572594], 0
je 0x457dcd
int3
jmp 0x457f6a
xor eax, eax
jne 0x457dbd
push 0
push 0
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x457e06
cmp dword [0x572594], 0
je 0x457dfc
int3
jmp 0x457f6a
xor edx, edx
jne 0x457dec
push 2
push 4
mov eax, dword [ebp - 4]
push eax
call fcn.00457fe0
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jge 0x457e37
cmp dword [0x572594], 0
je 0x457e2d
int3
jmp 0x457f6a
xor ecx, ecx
jne 0x457e1d
jmp 0x457f61
lea edx, [ebp - 0x4c]
push edx
push 3
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_ControlService]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x457e6d
cmp dword [0x572594], 0
je 0x457e63
int3
jmp 0x457f6a
xor ecx, ecx
jne 0x457e53
push 5
push 4
mov edx, dword [ebp - 4]
push edx
call fcn.00457fe0
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jge 0x457e9e
cmp dword [0x572594], 0
je 0x457e94
int3
jmp 0x457f6a
xor eax, eax
jne 0x457e84
jmp 0x457f61
push 6
push 7
mov ecx, dword [ebp - 4]
push ecx
call fcn.00457fe0
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jge 0x457ed4
cmp dword [0x572594], 0
je 0x457eca
int3
jmp 0x457f6a
xor edx, edx
jne 0x457eba
lea eax, [ebp - 0x4c]
push eax
push 3
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_ControlService]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x457eff
cmp dword [0x572594], 0
je 0x457efb
int3
jmp 0x457f6a
xor edx, edx
jne 0x457eeb
push 5
push 4
mov eax, dword [ebp - 4]
push eax
call fcn.00457fe0
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jge 0x457f2a
cmp dword [0x572594], 0
je 0x457f26
int3
jmp 0x457f6a
xor ecx, ecx
jne 0x457f16
jmp 0x457f61
push 5
push 4
mov edx, dword [ebp - 4]
push edx
call fcn.00457fe0
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jge 0x457f57
cmp dword [0x572594], 0
je 0x457f53
int3
jmp 0x457f6a
xor eax, eax
jne 0x457f43
jmp 0x457f61
jmp 0x457f6a
mov dword [ebp - 0x50], 0
jmp 0x457f6a
cmp dword [ebp - 4], 0
je 0x457f81
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov dword [ebp - 4], 0
cmp dword [ebp - 0x10], 0
je 0x457f98
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov dword [ebp - 0x10], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x50]
push edx
push str.MyOpenService_hrRet:__08x__strServiceName:__s
call fcn.0044a070
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov esp, ebp
pop ebp
ret