Function at 0x460cd0
Capabilities:
Create thread
Get common file path
Get session user name
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x4d8f89
push eax
mov eax, 0x11c0
mov dword fs:[0], esp
call fcn.004a7790
push esi
push edi
push 1
mov edi, ecx
lea ecx, [ebp - 0x114]
push str.SoftwareSynapticsSynTPEnhZoneConfig
push SysReAllocString
mov dword [ebp - 0x1c], edi
call fcn.00491710
push 0
lea eax, [ebp - 0x14]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 0
push eax
push 0x4e4dfc
lea ecx, [ebp - 0x110]
call fcn.004a1050
cmp dword [ebp - 0x10], 0
jne 0x460d59
mov ecx, edi
call fcn.0045f420
push 0
push 1
push 0x4e4dfc
lea ecx, [ebp - 0x110]
call fcn.004a1390
lea ecx, [ebp - 0x110]
call fcn.004a0d10
push 0x4dbeb4
push 0x4e4aa0
lea eax, [ebp - 0x144]
push 0
push eax
call fcn.0049f140
add esp, 0x10
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 1
push eax
mov ecx, 0x5108f8
call fcn.004052f0
cmp dword [ebp - 0x130], 8
mov byte [ebp - 4], 0
jb 0x460db3
push dword [ebp - 0x144]
call fcn.004a46e7
add esp, 4
call fcn.0047f8b0
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0x24], 0
call fcn.0040e2f0
mov dword [ebp - 0xf8], vtable.CMultiLevelRegistryKey.0
push 0
push 1
push 0
push str.SoftwareSynapticsSynTPEnh
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 2
call fcn.00495550
test eax, eax
je 0x461ab3
push 0
push 1
push 1
push str.SoftwareSynapticsSynTPEnh
push SysReAllocString
lea ecx, [ebp - 0xf8]
call fcn.00495550
test eax, eax
je 0x461ab3
push 0
push str.SoftwareSynapticsSynTPEnh
push SysReAllocString
lea ecx, [ebp - 0x174]
call fcn.00491710
push 0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x54]
push eax
push str.DriverVersion
lea ecx, [ebp - 0x170]
call fcn.004a1050
push 0
push str.SoftwareSynapticsSynTPEnh
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x9c]
call fcn.00491710
push 0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x64]
push eax
push str.DeleteUserSettingsOnUpgrade
lea ecx, [ebp - 0x98]
call fcn.004a1050
push 0
lea eax, [ebp - 0x24]
push eax
lea esi, [edi + 0x8b0]
push esi
push str.IgnoreFirstTPOnOffOSDAfterSessionChange
lea ecx, [ebp - 0x98]
call fcn.004a1050
push 0
push 0
lea eax, [edi + 0x8b4]
push eax
push str.ChangeCursorIconDuringTPONOFF
lea ecx, [ebp - 0x98]
call fcn.004a1050
mov ecx, dword [edi + 0x148c]
test ecx, ecx
jne 0x460ed0
lea ecx, [edi + 0x1490]
mov eax, dword [ecx]
lea edx, [ebp - 0x34]
push edx
push 0x10000001
push ecx
call dword [eax + 0x18]
cmp dword [esi], 0
je 0x460eee
mov dword [edi + 0x1544], 0
push 0
lea eax, [edi + 0x7bc]
push eax
push eax
push str.SwapLeftRightEdgePullZoneIfLanguageIsRTL
lea ecx, [ebp - 0x98]
call fcn.004a1050
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x34]
je 0x460f8a
cmp dword [ebp - 0x64], 1
jne 0x460f8a
push 0
push str.SoftwareSynaptics
push SysReAllocString
lea ecx, [ebp - 0xcc]
call fcn.00491710
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 5
call fcn.004a0e60
push 1
push str.SoftwareSynapticsSynTPEnh
push SysReAllocString
lea ecx, [ebp - 0x12c]
call fcn.00491710
push 0
push dword [ebp - 0x34]
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 6
push str.DriverVersion
call fcn.004a1390
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 5
call fcn.00491a30
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 4
call fcn.00491a30
push ebx
push 0
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
lea eax, [ebp - 0x10]
push eax
push str.AutoRotationFlag
lea ecx, [ebp - 0xf8]
call fcn.00492ed0
mov eax, dword [ebp - 0x10]
lea ebx, [edi + 0x10]
push 0
push 0
mov dword [edi + 0x890], eax
lea ecx, [ebp - 0xf8]
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0x80
push eax
push ebx
push str.WM_TOUCHPADON_OEMOSD_String
call fcn.004935f0
push 0
push 0
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], 0x80
push ecx
lea eax, [edi + 0x90]
push eax
push str.WM_TOUCHPADOFF_OEMOSD_String
lea ecx, [ebp - 0xf8]
call fcn.004935f0
push 0
push 0
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0x80
push eax
lea eax, [edi + 0x110]
push eax
push str.OEM_OSD_ProgramWindow
lea ecx, [ebp - 0xf8]
call fcn.004935f0
push 0
push 0
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 0x80
push eax
lea eax, [edi + 0x190]
push eax
push str.OEM_OSD_ProgramFilePath
lea ecx, [ebp - 0xf8]
call fcn.004935f0
push 0
push 0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x80
push eax
lea eax, [edi + 0x398]
push eax
push str.OEM_OSD_RegKeyPath
lea ecx, [ebp - 0xf8]
call fcn.004935f0
push 0
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 0x80
push eax
lea eax, [edi + 0x5a0]
push eax
push str.OEM_OSD_RegValueName
lea ecx, [ebp - 0xf8]
call fcn.004935f0
push 0
lea esi, [edi + 0x7a8]
push esi
push esi
push str.OEM_OSD_Program_NotRunInInit
lea ecx, [ebp - 0xf8]
call fcn.00492ed0
cmp dword [esi], 0
je 0x4610bf
mov dword [edi + 0x1548], 0
push 0
lea eax, [edi + 0x7ac]
push eax
push eax
push str.SendMsgOffOnToOEMOSD_Feature
lea ecx, [ebp - 0xf8]
call fcn.00492ed0
mov esi, dword [sym.imp.USER32.dll_RegisterWindowMessageW]
push ebx
call esi
mov dword [edi + 0x7b0], eax
lea eax, [edi + 0x90]
push eax
call esi
lea ecx, [ebp - 0xb4]
mov dword [edi + 0x7b4], eax
call fcn.004917a0
push 0
push 0
push 0
push str.SoftwareSynapticsSynTPCpl
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 7
call fcn.004948e0
test eax, eax
je 0x46113f
push 0
lea eax, [edi + 0x1470]
push eax
push eax
push str.UIStyle
lea ecx, [ebp - 0xb0]
call fcn.004a1050
push 0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0
push eax
push eax
push str.ScrollMethod
lea ecx, [ebp - 0x98]
call fcn.004a1050
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x98]
push 0
mov dword [edi + 0x147c], eax
lea eax, [edi + 0x1480]
push eax
push eax
push str.SynapticsScrollMethodSpeedFactor
call fcn.004a1050
push 0
lea eax, [edi + 0x8b8]
push eax
push eax
push str.AdjustPointingSpeedBaseOnDesktopRes
lea ecx, [ebp - 0x98]
call fcn.004a1050
push str.User32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0
mov dword [edi + 0x14a8], eax
call fcn.0049e2e0
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 4
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, 9
jl 0x461239
push str.DwmApi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [edi + 0x14a4], eax
test eax, eax
jne 0x4611e3
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
jmp 0x4611fe
push str.DwmIsCompositionEnabled
push eax
call esi
push str.DwmGetWindowAttribute
push dword [edi + 0x14a4]
mov dword [edi + 8], eax
call esi
mov dword [edi + 0xc], eax
lea esi, [edi + 0x8fc]
push esi
push dword [edi + 0x8f8]
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push 0
push edi
push 0x4606d0
push 0
push 0
call ebx
lea eax, [edi + 0x900]
push eax
push dword [esi]
call dword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
push 0
lea eax, [edi + 0x1518]
push eax
push eax
push str.SynTPEnhExePriorityLevel
lea ecx, [ebp - 0x98]
call fcn.004a1050
push 0
mov ecx, edi
call fcn.00464320
mov ecx, edi
call fcn.00461e70
mov eax, dword [edi]
mov ecx, edi
push 2
call dword [eax + 4]
mov dword [edi + 0x1494], eax
test eax, eax
je 0x461a81
mov eax, dword [edi + 0x7e0]
lea esi, [edi + 0x7e0]
mov ecx, esi
call dword [eax + 0xc]
test eax, eax
je 0x461a81
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x28]
test eax, eax
je 0x461a81
mov ecx, edi
call fcn.00460130
mov ecx, edi
call fcn.004674b0
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax + 0x24]
mov eax, dword [esi]
mov ecx, esi
push 0
push dword [edi + 0x8f8]
push 0x4df148
call dword [eax + 0x10]
test eax, eax
je 0x461a81
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x88]
lea ecx, [edi + 0x1578]
call fcn.0041cef0
test eax, eax
je 0x461a81
mov ecx, edi
call fcn.00461c60
lea ecx, [edi + 0xb24]
call fcn.00405bb0
test eax, eax
je 0x461a81
mov eax, dword [edi]
mov ecx, edi
push 3
call dword [eax + 4]
mov dword [edi + 0x1498], eax
test eax, eax
je 0x461a81
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 4]
mov dword [edi + 0x14a0], eax
test eax, eax
je 0x461a81
mov eax, dword [edi]
mov ecx, edi
push 4
call dword [eax + 4]
mov dword [edi + 0x149c], eax
test eax, eax
je 0x461a81
mov eax, dword [edi]
mov ecx, edi
push 0xc
call dword [eax + 4]
mov dword [edi + 0x14ac], eax
test eax, eax
je 0x461a81
push 0
call fcn.0049e2e0
add esp, 4
cmp eax, 8
jne 0x4613cd
push 0
push str.SoftwareSynapticsSynTPEnh
push SysReAllocString
lea ecx, [ebp - 0xcc]
call fcn.00491710
push 0
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 8
push eax
push eax
push str.XP64VideoOn
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x10], 1
call fcn.004a1050
xor eax, eax
mov byte [ebp - 4], 7
cmp dword [ebp - 0x10], eax
lea ecx, [ebp - 0xcc]
setne al
mov dword [edi + 0x1524], eax
call fcn.00491a30
call fcn.0049d840
mov ecx, dword [edi + 0x14a0]
push eax
call fcn.0040a290
push dword [edi + 0x1498]
mov ecx, dword [edi + 0x1494]
call fcn.00439c30
test eax, eax
je 0x461a81
mov ecx, edi
call fcn.0041e4d0
test eax, eax
je 0x461411
mov ecx, edi
call fcn.00461b70
test eax, eax
je 0x461a81
lea eax, [ebp - 0xfc]
push eax
push 0
push edi
push 0x465d10
push 0
push 0
call ebx
mov ecx, edi
call fcn.00462ab0
push 1
mov ecx, edi
call fcn.004622b0
cmp dword [edi + 0x7cc], 0
je 0x461462
push 1
push 0
lea ecx, [edi + 0x1578]
call fcn.00415e40
test eax, eax
je 0x461462
test byte [edi + 0x8cc], 1
je 0x461462
mov ecx, edi
call fcn.00465b40
mov ecx, 0x5172d8
call fcn.0045ff30
test eax, eax
je 0x46149b
test byte [edi + 0x8d0], 1
je 0x46149b
mov ecx, 0x5172d8
call fcn.0045ff30
mov ecx, eax
call fcn.0045fe60
mov dword [edi + 0x7c4], eax
test eax, eax
je 0x46149b
mov ecx, edi
call fcn.00465850
mov ecx, edi
call fcn.00464c20
test eax, eax
jne 0x4614be
push 0x4633b0
push 0x64
push 0xfffe
push dword [0x516658]
call dword [sym.imp.USER32.dll_SetTimer]
push 0
push 0
push 0
push str.SoftwareSynapticsSynTPEnh
lea esi, [edi + 0x14d4]
lea ecx, [ebp - 0xb4]
mov dword [esi], 0
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004948e0
test eax, eax
je 0x461546
push 0
push esi
push esi
push str.MonitorScreenSaver
lea ecx, [ebp - 0xb0]
call fcn.004a1050
test eax, eax
je 0x461546
cmp dword [esi], 0
je 0x461546
push 0
push str.SynTPEnhWndClass
call dword [sym.imp.USER32.dll_FindWindowW]
lea ecx, [edi + 0x14d8]
mov ebx, eax
call fcn.0045cbc0
lea ecx, [edi + 0x14d8]
call fcn.0045cc20
call fcn.0049f6b0
test eax, eax
je 0x461546
push 0
push ebx
push 0
push str.SynSSHookRun.exe
call fcn.004a06f0
add esp, 0x10
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x15c]
call fcn.00491710
mov eax, dword [edi + 0x1484]
lea ecx, [ebp - 0x158]
push 0
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push 0
push eax
push str.EnableLUA
mov byte [ebp - 4], 9
call fcn.004a1050
test eax, eax
je 0x46158f
mov eax, dword [ebp - 0x30]
mov dword [edi + 0x1484], eax
push 1
push str.SoftwareSynapticsPersistentSynTPEnhScrybePopup
push SysReAllocString
lea ecx, [ebp - 0x84]
call fcn.00491710
push 0
push 0
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0xa
push eax
push str.FirstDelayDays
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x18], 0
call fcn.004a1050
test eax, eax
je 0x4615d4
cmp dword [ebp - 0x18], 0xffffffff
je 0x461816
mov ecx, edi
call fcn.00462100
lea ecx, [ebp - 0x80]
push 0
test eax, eax
je 0x4615f5
push 0xffffffffffffffff
push str.FirstDelayDays
call fcn.004a1390
jmp 0x461816
push 0
lea eax, [ebp - 0x40]
push eax
push str.FirstBootLow
call fcn.004a1050
test eax, eax
jne 0x46164f
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
test eax, eax
je 0x46164f
push 0
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x80]
push str.FirstBootLow
call fcn.004a1390
push 0
push dword [ebp - 0x38]
lea ecx, [ebp - 0x80]
push str.FirstBootHigh
call fcn.004a1390
push 0
push str.0xFFFFFFFF_15_0xFFFFFFFF_1311_1312_1313
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0x400
push eax
lea eax, [ebp - 0x11cc]
push eax
push str.ScrybePopup
lea ecx, [ebp - 0xb0]
call fcn.004a1110
lea ebx, [edi + 0x1528]
push ebx
lea eax, [ebp - 0x11cc]
push 0x4dedfc
push eax
call fcn.0049f3d0
mov esi, dword [ebx]
lea ecx, [ebp - 0x10]
add esp, 0xc
add esi, 0xc
call fcn.004057f0
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x14], 0
cmp esi, dword [edi + 0x152c]
je 0x4617c6
push 0
push 0
push 0
push dword [esi]
lea eax, [ebp - 0x20]
push eax
call fcn.0047f650
add esp, 0x14
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xc
call fcn.00406fe0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xb
call fcn.004036b0
mov eax, dword [ebp - 0x10]
cmp dword [eax - 0xc], 0
jne 0x4616fe
push esi
lea eax, [ebp - 0x38]
mov ecx, ebx
push eax
call fcn.00468e50
mov eax, dword [ebp - 0x14]
jmp 0x461706
mov eax, 1
mov dword [ebp - 0x14], eax
add esi, 4
cmp esi, dword [edi + 0x152c]
jne 0x4616b7
test eax, eax
je 0x4617c6
mov esi, dword [ebx]
add esi, 0xc
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov ecx, 0x3ff
and ax, cx
cmp ax, 9
je 0x4617ce
cmp esi, dword [edi + 0x152c]
je 0x4617c6
xor ebx, ebx
push 0
push 0
push 0
push dword [esi]
lea eax, [ebp - 0x20]
push eax
call fcn.0047f650
add esp, 0x14
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xd
call fcn.00406fe0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xb
call fcn.004036b0
push 0
push 0
push 0x409
push dword [esi]
lea eax, [ebp - 0x14]
push eax
call fcn.0047f650
add esp, 0x14
push dword [eax]
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xe
call fcn.00403770
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xb
mov edi, eax
call fcn.004036b0
test edi, edi
mov eax, 1
mov edi, dword [ebp - 0x1c]
cmovne ebx, eax
add esi, 4
cmp esi, dword [edi + 0x152c]
jne 0x461744
test ebx, ebx
lea ebx, [edi + 0x1528]
jne 0x4617ce
mov eax, dword [ebx]
mov dword [eax], 0xffffffff
mov eax, dword [ebx]
lea ecx, [ebp - 0x80]
push 0
mov eax, dword [eax]
push eax
push str.FirstDelayDays
mov dword [ebp - 0x18], eax
call fcn.004a1390
push 0
push 3
push str.NextMsgIndex
lea ecx, [ebp - 0x80]
call fcn.004a1390
mov eax, dword [ebx]
lea ecx, [ebp - 0x80]
push 0
push dword [eax + 8]
push str.RepeatTimes
call fcn.004a1390
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xa
call fcn.004036b0
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0xdbba0
push eax
push eax
push str.ScrybePopupTimerTimeout
lea ecx, [ebp - 0xb0]
call fcn.004a1050
cmp dword [ebp - 0x18], 0xffffffff
je 0x461853
push 0x4652c0
push dword [ebp - 0x28]
push 0xfffc
push dword [0x516658]
call dword [sym.imp.USER32.dll_SetTimer]
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x5c], 0x101
push eax
lea eax, [ebp - 0x5cc]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
lea eax, [ebp - 0x5cc]
push eax
push str..pipe_s00781D6E_0417_44d2_8082_9257B2CA9E0A
lea eax, [ebp - 0x9cc]
push 0x200
push eax
call fcn.004a6937
push 0x4dbeb4
push 0x4e4aa0
lea eax, [ebp - 0xcc]
push 0
push eax
call fcn.0049f140
add esp, 0x20
lea ecx, [ebp - 0xcc]
cmp dword [eax + 0x10], 0
setne bl
call fcn.004042d0
test bl, bl
je 0x461902
push 0x4dbeb4
push 0x4e4aa0
lea eax, [ebp - 0xcc]
push 0
push eax
call fcn.0049f140
add esp, 0x10
cmp dword [eax + 0x14], 8
jb 0x4618dc
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x9cc]
push eax
push str._s_s
push 0x200
push eax
call fcn.004a6937
add esp, 0x14
lea ecx, [ebp - 0xcc]
call fcn.004042d0
lea eax, [ebp - 0x9cc]
push 0x3d
push eax
call fcn.004024f0
add esp, 8
mov dword [edi + 0x1540], eax
test eax, eax
je 0x461928
lea ecx, [edi + 4]
push ecx
mov ecx, eax
call fcn.00401bc0
push 0x4c
lea eax, [ebp - 0x1c0]
push 0
push eax
call fcn.004a4860
add esp, 0xc
lea eax, [ebp - 0x1c0]
push 0x4c
push eax
push 0
push 0
push 4
call sub.POWRPROF.dll_CallNtPowerInformation
cmp byte [ebp - 0x1ac], 0
je 0x461a17
push 0
push 0
push 0
push str.SoftwareSynapticsSynTPEnh
lea esi, [edi + 0x14d0]
lea ecx, [ebp - 0xb4]
mov dword [esi], 0
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004948e0
test eax, eax
je 0x46199b
push 0
push esi
push esi
push str.ConnectStandbyDisable
lea ecx, [ebp - 0xb0]
call fcn.004a1050
cmp dword [esi], 0
jne 0x461a17
push 0x104
lea eax, [ebp - 0x3c8]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea edi, [ebp - 0x3c8]
add edi, 0xfffffffe
jmp 0x4619c0
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4619c0
lea eax, [ebp - 0x3c8]
mov ecx, 7
mov esi, str.Powrprof.dll
rep movsd dword es:[edi], dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x461a14
push str.PowerRegisterSuspendResumeNotification
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [ebp - 0x1c]
test eax, eax
je 0x461a17
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x44], 0x45f400
push ecx
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x40], edi
push ecx
push 2
call eax
jmp 0x461a17
mov edi, dword [ebp - 0x1c]
call fcn.004464b0
cmp dword [eax + 4], 0
je 0x461a2e
call fcn.004464b0
mov ecx, eax
call fcn.0045c2a0
mov ecx, dword [edi + 0x149c]
call fcn.00471090
push 0
call fcn.0049e2e0
add esp, 4
cmp eax, 0xb
jl 0x461a53
lea ecx, [edi + 0x1578]
call fcn.00427f90
push 1
mov ecx, edi
call fcn.0045dee0
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 9
mov esi, 1
call fcn.00491a30
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 7
call fcn.00491a30
jmp 0x461a83
xor esi, esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 4
call fcn.00491a30
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 3
call fcn.00491a30
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 2
call fcn.00491a30
pop ebx
jmp 0x461ab5
xor esi, esi
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0
mov dword [ebp - 0xf8], vtable.CMultiLevelRegistryKey.0
call fcn.0040f6d0
lea ecx, [ebp - 0x114]
mov dword [ebp - 4], 0xffffffff
call fcn.00491a30
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret