Function at 0x427b46
Capabilities:
Check if file exists
Create process on windows
Set registry value

Disassembly:
push 0x24c
mov eax, 0x4d2d59
call fcn.004a9c62
push str.Shell
lea ecx, [ebp - 0x244]
call fcn.00427eb5
mov dword [ebp - method.CCfgOPBaseT_int_.virtual_0], 0x4f1ff8
xor ebx, ebx
lea ecx, [ebp - 0x258]
push 0x4f2060
mov dword [ebp - 4], ebx
call fcn.00427eb5
mov dword [ebp - method.CCfgOPBaseT_int_.virtual_0], 0x4dbdf4
push 0x208
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 1
push ebx
push eax
call fcn.004ab9a0
add esp, 0xc
call fcn.00426587
test eax, eax
je 0x427bbb
push str.CZipContextMenu_Start
call fcn.004265da
pop ecx
lea eax, [ebp - 0x220]
mov dword [ebp - 0x220], ebx
push eax
push 0x4f2000
lea ecx, [ebp - 0x254]
call fcn.00428ada
mov ecx, dword [ebp - 0x220]
xor edx, edx
test eax, eax
cmovne ecx, edx
test ecx, ecx
jne 0x427e33
push 0x104
lea eax, [ebp - 0x21c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov esi, dword [sym.imp.SHLWAPI.dll_StrStrIW]
lea eax, [ebp - 0x21c]
push str.explorer.exe
push eax
call esi
test eax, eax
jne 0x427c2e
push 0x4f1c68
lea eax, [ebp - 0x21c]
push eax
call esi
test eax, eax
je 0x427e33
lea ecx, [ebp - 0x244]
call fcn.00426703
push edx
push eax
call fcn.00426732
pop ecx
pop ecx
test eax, eax
je 0x427d13
lea eax, [ebp - 0x22c]
xorps xmm0, xmm0
push eax
push str.NoLoopTime
lea ecx, [ebp - 0x258]
movlpd qword [ebp - 0x22c], xmm0
call fcn.00427e4f
test eax, eax
jne 0x427c7b
xorps xmm0, xmm0
movlpd qword [ebp - 0x22c], xmm0
push dword [ebp - 0x228]
push dword [ebp - 0x22c]
call fcn.00426732
pop ecx
pop ecx
test eax, eax
je 0x427caf
call fcn.00426587
test eax, eax
je 0x427e33
push str.No_Loop
call fcn.004265da
pop ecx
jmp 0x427e33
call fcn.00426587
lea ecx, [ebp - 0x244]
test eax, eax
je 0x427ce6
call fcn.00426703
push ebx
mov esi, eax
mov edi, edx
call fcn.004afa2d
sub eax, esi
pop ecx
sbb edx, edi
cmp edx, ebx
jg 0x427d13
jl 0x427e33
cmp eax, 0x3c
jae 0x427d13
jmp 0x427e33
call fcn.00426703
push ebx
mov esi, eax
mov edi, edx
call fcn.004afa2d
sub eax, esi
pop ecx
sbb edx, edi
mov dword [ebp - 0x228], edx
js 0x427e33
jg 0x427d13
cmp eax, 0xe10
jb 0x427e33
push ecx
lea ecx, [ebp - 0x230]
call fcn.004264a6
pop ecx
mov byte [ebp - 4], 2
push dword [ebp - 0x230]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x427e25
lea ecx, [ebp - 0x228]
call fcn.0042653e
push eax
mov edx, str._pop
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x220]
call fcn.00427f84
mov esi, dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov edi, str.open
pop ecx
push ebx
push ebx
push dword [eax]
push dword [ebp - 0x230]
push edi
push ebx
call esi
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.004238e7
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x228]
lea ecx, [ecx - 0x10]
call fcn.004238e7
lea ecx, [ebp - 0x220]
call fcn.0042653e
push eax
mov edx, 0x4f1f30
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x228]
call fcn.00427f84
pop ecx
push ebx
push ebx
push dword [eax]
push dword [ebp - 0x230]
push edi
push ebx
call esi
mov ecx, dword [ebp - 0x228]
lea ecx, [ecx - 0x10]
call fcn.004238e7
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.004238e7
push ebx
call fcn.004afa2d
pop ecx
push 8
mov dword [ebp - 0x22c], eax
lea eax, [ebp - 0x22c]
push eax
push 0xb
push ebx
push str.StartTime
push dword [ebp - 0x240]
mov dword [ebp - 0x228], edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
call fcn.00426587
test eax, eax
je 0x427e25
push str.Update_Start
call fcn.004265da
pop ecx
mov ecx, dword [ebp - 0x230]
lea ecx, [ecx - 0x10]
call fcn.004238e7
lea ecx, [ebp - 0x258]
call fcn.00427e8e
lea ecx, [ebp - 0x244]
call fcn.00427e8e
call fcn.004a9c0c
ret