Function at 0x4561f0
Capabilities:
Link many functions at runtime

Disassembly:
sub esp, 0xc
push edi
push 0x4ca410
mov byte [esp + 0xb], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test edi, edi
je 0x456533
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.OpenSCManagerW
push edi
call esi
push str.OpenServiceW
push edi
mov dword [0x4ed198], eax
call esi
push str.QueryServiceConfigW
push edi
mov dword [0x4ed18c], eax
call esi
push str.ChangeServiceConfigW
push edi
mov dword [0x4ed178], eax
call esi
push str.CloseServiceHandle
push edi
mov dword [0x4ed174], eax
call esi
mov ecx, dword [0x4ed198]
test ecx, ecx
mov dword [0x4ed190], eax
je 0x456522
cmp dword [0x4ed18c], 0
je 0x456522
cmp dword [0x4ed178], 0
je 0x456522
cmp dword [0x4ed174], 0
je 0x456522
test eax, eax
je 0x456522
push ebx
push 0xf003f
push 0
push 0
call ecx
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x14], ebx
je 0x456507
push ebp
mov ebp, dword [esp + 0x20]
push 0xf01ff
push ebp
push ebx
call dword [0x4ed18c]
mov esi, eax
test esi, esi
je 0x4564d9
lea eax, [esp + 0x14]
push eax
push 0
push 0
push esi
mov dword [esp + 0x24], 0
call dword [0x4ed178]
test eax, eax
jne 0x4564b8
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x4564a4
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00458af3
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x45646c
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x14]
push edx
push eax
push ebx
push esi
call dword [0x4ed178]
test eax, eax
je 0x456423
mov eax, dword [esp + 0x24]
cmp dword [ebx + 4], eax
je 0x4563dc
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push eax
push 0xffffffffffffffff
push esi
call dword [0x4ed174]
test eax, eax
push ebp
je 0x45639b
push str._INFO_ChangeServiceConfig_succeeded:__s_n
call fcn.0044f300
push eax
call fcn.0044fb20
add esp, 0xc
push ebx
mov byte [esp + 0x17], 1
call fcn.00458af8
mov ebx, dword [esp + 0x1c]
add esp, 4
push esi
call dword [0x4ed190]
push ebx
call dword [0x4ed190]
pop ebp
pop ebx
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov al, byte [esp + 0xb]
pop esi
pop edi
add esp, 0xc
ret
push str._ERROR_Failed_to_set_to_start_Automatically:__s_n
call fcn.0044f300
push eax
call fcn.0044fb20
add esp, 0xc
push ebx
call fcn.00458af8
mov ebx, dword [esp + 0x1c]
add esp, 4
push esi
call dword [0x4ed190]
push ebx
call dword [0x4ed190]
pop ebp
pop ebx
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov al, byte [esp + 0xb]
pop esi
pop edi
add esp, 0xc
ret
push ebp
push str._INFO__s_is_already_configured_n
mov byte [esp + 0x1b], 1
call fcn.0044f300
push eax
call fcn.0044fb20
add esp, 0xc
push ebx
call fcn.00458af8
mov ebx, dword [esp + 0x1c]
add esp, 4
push esi
call dword [0x4ed190]
push ebx
call dword [0x4ed190]
pop ebp
pop ebx
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov al, byte [esp + 0xb]
pop esi
pop edi
add esp, 0xc
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebp
push str._ERROR_QueryServiceConfig__s_failed:__x_n
call fcn.0044f300
push eax
call fcn.0044fb20
add esp, 0x10
push ebx
call fcn.00458af8
mov ebx, dword [esp + 0x1c]
add esp, 4
push esi
call dword [0x4ed190]
push ebx
call dword [0x4ed190]
pop ebp
pop ebx
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov al, byte [esp + 0xb]
pop esi
pop edi
add esp, 0xc
ret
push str._ERROR_Allocate_memory_for_QueryServiceConfig_failed_n
call fcn.0044f300
push eax
call fcn.0044fb20
mov ebx, dword [esp + 0x20]
add esp, 8
push esi
call dword [0x4ed190]
push ebx
call dword [0x4ed190]
pop ebp
pop ebx
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov al, byte [esp + 0xb]
pop esi
pop edi
add esp, 0xc
ret
push eax
push str._ERROR_QueryServiceConfig_failed:__x_n
call fcn.0044f300
push eax
call fcn.0044fb20
add esp, 0xc
push esi
call dword [0x4ed190]
push ebx
call dword [0x4ed190]
pop ebp
pop ebx
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov al, byte [esp + 0xb]
pop esi
pop edi
add esp, 0xc
ret
push ebp
push str._INFO_OpenService__s_failed_n
call fcn.0044f300
push eax
call fcn.0044fb20
add esp, 0xc
push ebx
call dword [0x4ed190]
pop ebp
pop ebx
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov al, byte [esp + 0xb]
pop esi
pop edi
add esp, 0xc
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._ERROR_OpenSCManager_failed:__x_n
call fcn.0044f300
push eax
call fcn.0044fb20
add esp, 0xc
pop ebx
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov al, byte [esp + 0xb]
pop esi
pop edi
add esp, 0xc
ret
push str._ERROR_Failed_to_load_ADVAPI32IDLL_n
call fcn.0044f300
push eax
call fcn.0044fb20
add esp, 8
xor al, al
pop edi
add esp, 0xc
ret