Function at 0x40dfb0
Capabilities:
Link many functions at runtime
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x624
mov eax, dword [0x51ec70]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
cmp byte [ebx + 0x270], 0
jne 0x40e24a
push esi
push edi
lea esi, [ebx + 4]
mov dword [ebp - 0x620], 0x208
xor eax, eax
mov dword [ebp - 0x624], 1
mov ecx, 0x82
mov edi, esi
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x620]
push eax
push esi
lea eax, [ebp - 0x624]
push eax
push str.Path
push str.SOFTWAREMicrosoftWindowsCurrentVersionApp_PathsQHSafeMain.exe
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
push 0x410
lea eax, [ebp - 0x61c]
push 0
push eax
call sub.msvcrt.dll_memset
mov edi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x61c]
add esp, 0xc
push str.360TSCommon.dll
push esi
push eax
call edi
cmp dword [0x51cee4], 0
jne 0x40e08b
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x4f1ce4
push esi
push eax
call edi
lea eax, [ebp - 0x20c]
push eax
call fcn.004099b0
add esp, 4
test eax, eax
je 0x40e248
call fcn.00455620
test eax, eax
jne 0x40e0ae
push eax
lea eax, [ebp - 0x61c]
mov ecx, 0x51cab8
push eax
call fcn.004534c0
test eax, eax
je 0x40e248
lea eax, [ebp - 0x61c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebx], eax
test eax, eax
je 0x40e248
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.OpenLinkLowPermission
push eax
call esi
push str.OpenBrowser
push dword [ebx]
mov dword [ebx + 0x20c], eax
call esi
push str.GetDeviceRegistration
push dword [ebx]
mov dword [ebx + 0x210], eax
call esi
push str.ShowPromotion
push dword [ebx]
mov dword [ebx + 0x214], eax
call esi
push str.GetThemeName
push dword [ebx]
mov dword [ebx + 0x218], eax
call esi
push str.ValidateTheme
push dword [ebx]
mov dword [ebx + 0x21c], eax
call esi
push str.OpenLinkByBrowserLowPermission
push dword [ebx]
mov dword [ebx + 0x220], eax
call esi
push str.IsOpera360e
push dword [ebx]
mov dword [ebx + 0x224], eax
call esi
push str.IsOpera360eByAppPath
push dword [ebx]
mov dword [ebx + 0x228], eax
call esi
push str.GetEdition
push dword [ebx]
mov dword [ebx + 0x22c], eax
call esi
push str.PromoOpera
push dword [ebx]
mov dword [ebx + 0x230], eax
call esi
push str.PromoBoottime
push dword [ebx]
mov dword [ebx + 0x234], eax
call esi
push str.PromoUpgradeNow
push dword [ebx]
mov dword [ebx + 0x238], eax
call esi
push str.PromoMedal
push dword [ebx]
mov dword [ebx + 0x23c], eax
call esi
push str.PromoPopup
push dword [ebx]
mov dword [ebx + 0x240], eax
call esi
push str.PromoReminder
push dword [ebx]
mov dword [ebx + 0x244], eax
call esi
push str.PromoNews
push dword [ebx]
mov dword [ebx + 0x248], eax
call esi
push str.PromoAutoPopup
push dword [ebx]
mov dword [ebx + 0x24c], eax
call esi
push str.PromoFullCheck
push dword [ebx]
mov dword [ebx + 0x250], eax
call esi
push str.PromoDesktopPlus
push dword [ebx]
mov dword [ebx + 0x254], eax
call esi
mov dword [ebx + 0x258], eax
push str.GetMachineSpec
push dword [ebx]
call esi
push str.UpdateTrialInfo
push dword [ebx]
mov dword [ebx + 0x25c], eax
call esi
push str.UpdateToolUsageCount
push dword [ebx]
mov dword [ebx + 0x260], eax
call esi
push str.GetToolUsageCount
push dword [ebx]
mov dword [ebx + 0x264], eax
call esi
push str.TriggerToolPromotion
push dword [ebx]
mov dword [ebx + 0x268], eax
call esi
mov dword [ebx + 0x26c], eax
mov byte [ebx + 0x270], 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.004d761c
mov esp, ebp
pop ebp
ret