Function at 0x401e10
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x41c
mov eax, dword [0x5c3678]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [esi + 0x270], 0
push edi
jne 0x402058
mov edx, esi
call fcn.00402070
xor eax, eax
push 0x40e
push eax
lea ecx, [ebp - 0x416]
push ecx
mov word [ebp - 0x418], ax
call fcn.00544310
add esp, 0xc
push str.360TSCommon.dll
lea edx, [esi + 4]
push edx
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov ecx, esi
call fcn.004020d0
test al, al
je 0x402058
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.00526af0
add esp, 4
test eax, eax
jne 0x401ea6
push 0x5d0888
lea edi, [ebp - 0x418]
call fcn.00526c60
test eax, eax
je 0x402058
lea ecx, [ebp - 0x418]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [esi], eax
test eax, eax
je 0x402058
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.OpenLinkLowPermission
push eax
call edi
mov edx, dword [esi]
push str.OpenBrowser
push edx
mov dword [esi + 0x20c], eax
call edi
mov dword [esi + 0x210], eax
mov eax, dword [esi]
push str.GetDeviceRegistration
push eax
call edi
mov ecx, dword [esi]
push str.ShowPromotion
push ecx
mov dword [esi + 0x214], eax
call edi
mov edx, dword [esi]
push str.GetThemeName
push edx
mov dword [esi + 0x218], eax
call edi
mov dword [esi + 0x21c], eax
mov eax, dword [esi]
push str.ValidateTheme
push eax
call edi
mov ecx, dword [esi]
push str.OpenLinkByBrowserLowPermission
push ecx
mov dword [esi + 0x220], eax
call edi
mov edx, dword [esi]
push str.IsOpera360e
push edx
mov dword [esi + 0x224], eax
call edi
mov dword [esi + 0x228], eax
mov eax, dword [esi]
push str.IsOpera360eByAppPath
push eax
call edi
mov ecx, dword [esi]
push str.GetEdition
push ecx
mov dword [esi + 0x22c], eax
call edi
mov edx, dword [esi]
push str.PromoOpera
push edx
mov dword [esi + 0x230], eax
call edi
mov dword [esi + 0x234], eax
mov eax, dword [esi]
push str.PromoBoottime
push eax
call edi
mov ecx, dword [esi]
push str.PromoUpgradeNow
push ecx
mov dword [esi + 0x238], eax
call edi
mov edx, dword [esi]
push str.PromoMedal
push edx
mov dword [esi + 0x23c], eax
call edi
mov dword [esi + 0x240], eax
mov eax, dword [esi]
push str.PromoPopup
push eax
call edi
mov ecx, dword [esi]
push str.PromoReminder
push ecx
mov dword [esi + 0x244], eax
call edi
mov dword [esi + 0x248], eax
push str.PromoNews
mov edx, dword [esi]
push edx
call edi
mov dword [esi + 0x24c], eax
mov eax, dword [esi]
push str.PromoAutoPopup
push eax
call edi
mov ecx, dword [esi]
push str.PromoFullCheck
push ecx
mov dword [esi + 0x250], eax
call edi
mov edx, dword [esi]
push str.PromoDesktopPlus
push edx
mov dword [esi + 0x254], eax
call edi
mov dword [esi + 0x258], eax
mov eax, dword [esi]
push str.GetMachineSpec
push eax
call edi
mov ecx, dword [esi]
push str.UpdateTrialInfo
push ecx
mov dword [esi + 0x25c], eax
call edi
mov edx, dword [esi]
push str.UpdateToolUsageCount
push edx
mov dword [esi + 0x260], eax
call edi
mov dword [esi + 0x264], eax
mov eax, dword [esi]
push str.GetToolUsageCount
push eax
call edi
mov ecx, dword [esi]
push str.TriggerToolPromotion
push ecx
mov dword [esi + 0x268], eax
call edi
mov dword [esi + 0x26c], eax
mov byte [esi + 0x270], 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.0053c15d
mov esp, ebp
pop ebp
ret