Function at 0x408ae0
Capabilities:
Persist via app paths registry key
Set registry value

Disassembly:
sub esp, 0x218
mov eax, dword [0x48dd78]
xor eax, esp
mov dword [esp + 0x214], eax
push ebp
mov ebp, dword [esp + 0x220]
push esi
push edi
xor eax, eax
push 0x206
mov dword [esp + 0x18], ecx
push eax
lea ecx, [esp + 0x22]
push ecx
mov dword [esp + 0x18], 0
mov word [esp + 0x24], ax
call fcn.0043e9f0
mov eax, ebp
add esp, 0xc
mov dword [esp + 0x10], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408b31
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
push 0
sub eax, edx
lea edx, [esp + 0x10]
push edx
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionApp_Paths360sd.exe
sar eax, 1
push reloc.OLEAUT32.dll_SysReAllocString
mov esi, eax
call edi
test eax, eax
jne 0x408c48
push 0x208
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0043e9f0
push esi
lea ecx, [esp + 0x28]
push ebp
push ecx
call fcn.0043fecb
lea eax, [esp + 0x30]
add esp, 0x18
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408b96
mov ecx, dword [esp + 0xc]
sub eax, edx
sar eax, 1
lea edx, [eax + eax]
push edx
lea eax, [esp + 0x1c]
push eax
push 1
push 0
push 0x475a2c
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x408bce
mov dword [esp + 0x10], 1
push 1
lea edx, [esp + 0x1c]
push 0x475814
push edx
call fcn.0043fbc9
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
mov ecx, dword [eax - 8]
push ecx
push eax
lea edx, [esp + 0x2c]
push edx
call fcn.0043fbc9
lea eax, [esp + 0x30]
add esp, 0x18
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408c00
sub eax, edx
mov edx, dword [esp + 0xc]
sar eax, 1
add eax, eax
push eax
lea ecx, [esp + 0x1c]
push ecx
push 1
push 0
push 0x475570
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x408c33
inc dword [esp + 0x10]
mov eax, dword [esp + 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0xc], 0
jmp 0x408c50
mov dword [esp + 0x10], 2
push 0
lea ecx, [esp + 0x10]
push ecx
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall360SD
push reloc.OLEAUT32.dll_SysReAllocString
call edi
test eax, eax
jne 0x408f1b
push 0x208
push eax
lea edx, [esp + 0x20]
push edx
call fcn.0043e9f0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov ecx, dword [eax - 8]
push ecx
push eax
lea edx, [esp + 0x2c]
push edx
call fcn.0043fecb
lea eax, [esp + 0x30]
add esp, 0x18
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408ca7
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
sub eax, edx
mov edx, dword [esp + 0xc]
sar eax, 1
add eax, eax
push eax
lea ecx, [esp + 0x1c]
push ecx
push 1
push 0
push str.DisplayName
push edx
call edi
test eax, eax
je 0x408cdc
inc dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
lea eax, [esi + esi]
push eax
push ebp
push 1
push 0
push str.InstallLocation
push ecx
call edi
test eax, eax
je 0x408cf9
inc dword [esp + 0x10]
push 0x208
lea edx, [esp + 0x1c]
push 0
push edx
call fcn.0043e9f0
push esi
lea eax, [esp + 0x28]
push ebp
push eax
call fcn.0043fecb
push 1
lea ecx, [esp + 0x34]
push 0x475814
push ecx
call fcn.0043fbc9
push 0xa
lea edx, [esp + 0x40]
push str.uninst.exe
push edx
call fcn.0043fbc9
lea eax, [esp + 0x48]
add esp, 0x30
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408d42
sub eax, edx
mov edx, dword [esp + 0xc]
sar eax, 1
add eax, eax
push eax
lea ecx, [esp + 0x1c]
push ecx
push 1
push 0
push str.UninstallString
push edx
call edi
test eax, eax
je 0x408d71
inc dword [esp + 0x10]
push 0x208
lea eax, [esp + 0x1c]
push 0
push eax
call fcn.0043e9f0
push esi
lea ecx, [esp + 0x28]
push ebp
push ecx
call fcn.0043fecb
push 1
lea edx, [esp + 0x34]
push 0x475814
push edx
call fcn.0043fbc9
mov esi, dword [esp + 0x38]
mov eax, dword [esi + 4]
mov ecx, dword [eax - 8]
push ecx
push eax
lea edx, [esp + 0x44]
push edx
call fcn.0043fbc9
lea eax, [esp + 0x48]
add esp, 0x30
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408dc0
sub eax, edx
mov edx, dword [esp + 0xc]
sar eax, 1
add eax, eax
push eax
lea ecx, [esp + 0x1c]
push ecx
push 1
push 0
push str.DisplayIcon
push edx
call edi
mov ebp, dword [esp + 0x10]
test eax, eax
je 0x408df0
inc ebp
push 0x208
lea eax, [esp + 0x1c]
push 0
push eax
call fcn.0043e9f0
mov eax, dword [esi + 0x14]
mov ecx, dword [eax - 8]
push ecx
push eax
lea edx, [esp + 0x2c]
push edx
call fcn.0043fecb
lea eax, [esp + 0x30]
add esp, 0x18
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408e20
sub eax, edx
mov edx, dword [esp + 0xc]
sar eax, 1
add eax, eax
push eax
lea ecx, [esp + 0x1c]
push ecx
push 1
push 0
push str.DisplayVersion
push edx
call edi
test eax, eax
je 0x408e4c
inc ebp
push 0x208
lea eax, [esp + 0x1c]
push 0
push eax
call fcn.0043e9f0
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax - 8]
push ecx
push eax
lea edx, [esp + 0x2c]
push edx
call fcn.0043fecb
lea eax, [esp + 0x30]
add esp, 0x18
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408e80
sub eax, edx
mov edx, dword [esp + 0xc]
sar eax, 1
add eax, eax
push eax
lea ecx, [esp + 0x1c]
push ecx
push 1
push 0
push str.URLInfoAbout
push edx
call edi
test eax, eax
je 0x408eac
inc ebp
push 0x208
lea eax, [esp + 0x1c]
push 0
push eax
call fcn.0043e9f0
mov eax, dword [esi + 0x18]
mov ecx, dword [eax - 8]
push ecx
push eax
lea edx, [esp + 0x2c]
push edx
call fcn.0043fecb
mov eax, dword [esi + 0x18]
add esp, 0x18
lea edx, [eax + 2]
jmp 0x408ee0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408ee0
sub eax, edx
mov edx, dword [esp + 0xc]
sar eax, 1
add eax, eax
push eax
lea ecx, [esp + 0x1c]
push ecx
push 1
push 0
push 0x4758e0
push edx
call edi
test eax, eax
je 0x408f0c
inc ebp
mov eax, dword [esp + 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebp
jmp 0x408f22
mov eax, dword [esp + 0x10]
add eax, 7
mov ecx, dword [esp + 0x220]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.0043e9e1
add esp, 0x218
ret 4