Function at 0x41ac5e
Capabilities:
Check if file exists
Check os version
Get common file path
Persist via run registry key

Disassembly:
push 0x648
mov eax, 0x43a741
call fcn.0041f563
mov dword [ebp - 0x648], edx
mov dword [ebp - 0x64c], ecx
xor ebx, ebx
mov dword [ebp - 0x654], ebx
mov dword [ebp - 4], ebx
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
call fcn.00402e17
lea edi, [eax + 0x10]
mov dword [ebp - 0x650], edi
xor eax, eax
mov byte [ebp - 4], 1
mov esi, 0x206
mov word [ebp - 0x62c], ax
push esi
lea eax, [ebp - 0x62a]
push ebx
push eax
call fcn.0041ed30
add esp, 0xc
xor eax, eax
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push esi
push ebx
push eax
call fcn.0041ed30
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp dword [edi - 0xc], ebx
jne 0x41ad0a
push 0x44288c
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [ebp - 0x64c]
push eax
call fcn.004025e2
lea ecx, [edi - 0x10]
call fcn.00404b8d
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
jmp 0x41ae51
call fcn.0041a64b
cmp eax, 5
lea eax, [ebp - 0x21c]
push eax
push ebx
push ebx
jbe 0x41ad21
push 0x2a
jmp 0x41ad23
push 0x26
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x41ae2c
mov esi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x21c]
push edi
push eax
call esi
push str.Application
lea eax, [ebp - 0x21c]
push eax
call esi
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41af42
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerShell_Folders
lea ecx, [ebp - 0x644]
call fcn.004025e2
mov esi, ebx
mov dword [ebp - 0x634], ebx
mov dword [ebp - 0x638], esi
mov dword [ebp - 0x630], ebx
lea eax, [ebp - 0x63c]
mov byte [ebp - 4], 3
push eax
push 0x2001f
push ebx
push dword [ebp - 0x644]
mov dword [ebp - 0x63c], ebx
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x41ae7c
mov esi, dword [ebp - 0x63c]
push 0x206
mov word [ebp - 0x424], ax
lea eax, [ebp - 0x422]
push ebx
push eax
mov dword [ebp - 0x638], esi
mov dword [ebp - 0x634], ebx
call fcn.0041ed30
add esp, 0xc
mov dword [ebp - 0x640], 0x104
lea eax, [ebp - 0x640]
push eax
lea eax, [ebp - 0x424]
push eax
push ecx
lea ecx, [ebp - 0x638]
call fcn.0041b37a
test eax, eax
je 0x41ae62
test esi, esi
je 0x41ae1a
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x644]
lea ecx, [ecx - 0x10]
call fcn.00404b8d
push 0x44288c
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [ebp - 0x64c]
push eax
call fcn.004025e2
lea ecx, [edi - 0x10]
call fcn.00404b8d
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
call fcn.00404b8d
mov eax, dword [ebp - 0x64c]
call fcn.0041f512
ret
mov ecx, ebx
movzx eax, word [ebp + ecx - 0x424]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0x21e], ax
test ax, ax
jne 0x41ae64
push edi
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push str.Application
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41ae0f
cmp dword [ebp - 0x648], 0
je 0x41af29
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x640], ebx
push eax
lea ecx, [ebp - 0x63c]
call fcn.004025e2
push 0xb
push str.chrome.exe
lea ecx, [ebp - 0x63c]
mov byte [ebp - 4], 4
call fcn.00403219
lea eax, [ebp - 0x640]
push eax
push dword [ebp - 0x63c]
call dword [sym.imp.KERNEL32.dll_GetBinaryTypeW]
test eax, eax
je 0x41af13
cmp dword [ebp - 0x640], 6
jne 0x41af13
mov eax, dword [ebp - 0x648]
mov byte [eax], 1
jmp 0x41af1b
mov eax, dword [ebp - 0x648]
mov byte [eax], bl
mov ecx, dword [ebp - 0x63c]
lea ecx, [ecx - 0x10]
call fcn.00404b8d
test esi, esi
je 0x41af34
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x644]
lea ecx, [ecx - 0x10]
call fcn.00404b8d
mov dword [ebp - 0x638], ebx
mov dword [ebp - 0x634], ebx
mov dword [ebp - 0x630], ebx
lea edx, [ebp - 0x638]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x21c]
call fcn.0041aaa9
test eax, eax
je 0x41afaa
mov byte [ebp - 4], 1
mov esi, dword [ebp - 0x638]
test esi, esi
je 0x41ae2c
mov ebx, esi
cmp esi, dword [ebp - 0x634]
je 0x41af9e
mov ecx, dword [ebx]
sub ecx, 0x10
call fcn.00404b8d
add ebx, 4
cmp ebx, dword [ebp - 0x634]
jne 0x41af89
push esi
call fcn.0041c164
pop ecx
jmp 0x41ae2c
mov esi, dword [ebp - 0x638]
mov eax, dword [ebp - 0x634]
cmp esi, eax
je 0x41b056
xor eax, eax
push 0x206
mov word [ebp - 0x424], ax
lea eax, [ebp - 0x422]
push ebx
push eax
call fcn.0041ed30
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x424]
push 0x104
push eax
call fcn.0041d874
add esp, 0xc
lea eax, [ebp - 0x424]
push dword [esi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push str.Installerchrome.7z
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41b038
mov eax, dword [ebp - 0x634]
add esi, 4
cmp esi, eax
jne 0x41afbe
jmp 0x41b056
push dword [esi]
lea eax, [ebp - 0x62c]
push 0x104
push eax
call fcn.0041d874
mov eax, dword [ebp - 0x634]
add esp, 0xc
mov bl, 1
mov byte [ebp - 4], 1
cmp dword [ebp - 0x638], 0
je 0x41b096
mov esi, dword [ebp - 0x638]
cmp esi, eax
je 0x41b08a
mov edi, dword [ebp - 0x634]
mov ecx, dword [esi]
sub ecx, 0x10
call fcn.00404b8d
add esi, 4
cmp esi, edi
jne 0x41b073
mov edi, dword [ebp - 0x650]
push dword [ebp - 0x638]
call fcn.0041c164
pop ecx
test bl, bl
je 0x41ae2c
lea eax, [ebp - 0x62c]
push eax
jmp 0x41ae31