Function at 0x445740
Capabilities:
Modify service
Query service status
Start service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0x5ad6f0]
xor eax, ebp
mov dword [ebp - 4], eax
push 0xdc
lea eax, [ebp - 0xfc]
push 0
push eax
call fcn.00513d10
add esp, 0xc
mov eax, 0xdc
mov word [ebp - 0xb8], ax
lea eax, [ebp - 0xfc]
push eax
push 0xfffffffffffffffe
push 0
call dword [sym.imp.USER32.dll_EnumDisplaySettingsW]
cmp dword [ebp - 0x54], 0x20
jae 0x4457a2
push 1
lea eax, [ebp - 0xfc]
mov dword [ebp - 0x54], 0x20
push eax
call dword [sym.imp.USER32.dll_ChangeDisplaySettingsW]
push esi
push edi
push 0x20000000
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov edi, eax
test edi, edi
je 0x4458b9
push ebx
mov ebx, dword [sym.imp.ADVAPI32.dll_OpenServiceW]
push 0xf01ff
push str.UxSms
push edi
call ebx
mov esi, eax
test esi, esi
jne 0x4457f3
push 0x14
push str.UxSms
push edi
call ebx
mov esi, eax
test esi, esi
jne 0x4457f3
push edi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x4458b8
lea eax, [ebp - 0x20]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
je 0x4458ac
cmp dword [ebp - 0x1c], 1
jne 0x4458ac
lea eax, [ebp - 0x100]
mov dword [ebp - 0x100], 0
push eax
push 0
push 0
push esi
call dword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x4458a1
mov eax, dword [ebp - 0x100]
push 0x5b8aca
push eax
mov dword [ebp - 0x110], eax
call fcn.004d6af1
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4458a1
lea eax, [ebp - 0x100]
push eax
push dword [ebp - 0x110]
push ebx
push esi
call dword [sym.imp.ADVAPI32.dll_QueryServiceConfigW]
test eax, eax
je 0x445898
mov eax, dword [ebx + 4]
cmp eax, 2
je 0x445898
cmp eax, 3
je 0x445898
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push 3
push 0xffffffffffffffff
push esi
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
push ebx
call fcn.004d68b3
add esp, 4
push 0
push 0
push esi
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call esi
push edi
call esi
pop ebx
mov esi, dword [sym.imp.USER32.dll_SystemParametersInfoW]
lea eax, [ebp - 0x10c]
push 0
push eax
push 0
push 0x1042
mov dword [ebp - 0x10c], 0
call esi
test eax, eax
je 0x4458e8
cmp dword [ebp - 0x10c], 0
jne 0x4458fd
push 3
push 1
push 0
push 0x1043
call esi
test eax, eax
je 0x4459c0
push 0
lea eax, [ebp - 0x104]
mov dword [ebp - 0x104], 0
push eax
push 0
push 0x1040
call esi
test eax, eax
je 0x44593d
cmp dword [ebp - 0x104], 0
je 0x44593d
push 3
push 0
push 0
push 0x1041
mov dword [ebp - 0x104], 0
call esi
push str.dwmapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x4459c0
push str.DwmIsCompositionEnabled
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4459c0
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x108], 0
push ecx
call eax
cmp dword [ebp - 0x108], 0
je 0x44598d
pop edi
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d684f
mov esp, ebp
pop ebp
ret
push 0
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x11c], 0xc
push eax
push 0xc
push 0x42
call esi
test eax, eax
je 0x4459c0
mov eax, dword [ebp - 0x108]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d684f
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
xor ecx, ebp
pop esi
call fcn.004d684f
mov esp, ebp
pop ebp
ret