Function at 0x40a486
Capabilities:
Create process on windows

Disassembly:
mov eax, 0x46df29
call fcn.0044e5d8
sub esp, 0x58
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 1
push str.SOFTWAREMicrosoftWindowsCurrentVersionApp_Paths_
lea ecx, [ebp - 0x14]
call fcn.00407f28
mov byte [ebp - 4], 2
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 0xc]
xor ebx, ebx
cmp eax, ebx
jne 0x40a4f3
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
lea eax, [ebp + 8]
push eax
call fcn.0040181b
mov byte [ebp - 4], 3
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x1c]
call fcn.004091e9
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14]
call fcn.00401436
mov byte [ebp - 4], bl
jmp 0x40a6bc
push 0x477248
lea eax, [ebp + 0xc]
push eax
call fcn.004110c5
pop ecx
pop ecx
test al, al
je 0x40a50e
push str.chrome.exe
jmp 0x40a578
push 0x47722c
lea eax, [ebp + 0xc]
push eax
call fcn.004110c5
pop ecx
pop ecx
test al, al
je 0x40a529
push str.iexplore.exe
jmp 0x40a578
push 0x47720c
lea eax, [ebp + 0xc]
push eax
call fcn.004110c5
pop ecx
pop ecx
test al, al
je 0x40a544
push str.firefox.exe
jmp 0x40a578
push 0x4771f0
lea eax, [ebp + 0xc]
push eax
call fcn.004110c5
pop ecx
pop ecx
test al, al
je 0x40a55f
push str.opera.exe
jmp 0x40a578
push 0x4771d8
lea eax, [ebp + 0xc]
push eax
call fcn.004110c5
pop ecx
pop ecx
test al, al
je 0x40a580
push str.safari.exe
lea ecx, [ebp - 0x14]
call fcn.00410dc0
mov byte [ebp - 4], 4
push ecx
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x47597b
call fcn.00407e68
mov byte [ebp - 4], 5
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
lea eax, [ebp - 0x14]
push eax
call fcn.0040181b
mov byte [ebp - 4], 6
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.HKEY_LOCAL_MACHINE
call fcn.00407e68
mov byte [ebp - 4], 7
mov byte [ebp - 4], 6
mov esi, 0x499adc
mov ecx, esi
call fcn.00426f3e
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 4
mov ecx, esi
call fcn.004278af
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], ebx
jne 0x40a61b
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
lea eax, [ebp + 8]
push eax
call fcn.0040181b
mov byte [ebp - 4], 9
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1c]
call fcn.004091e9
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00401436
jmp 0x40a4df
push 0x3c
pop esi
push esi
push ebx
lea eax, [ebp - 0x64]
push eax
call fcn.00450270
add esp, 0xc
mov dword [ebp - 0x64], esi
mov byte [ebp - 4], 0xa
call fcn.00437f69
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 4], 8
mov dword [ebp - 0x60], 0x40
mov eax, dword [ebp + 8]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x58], str.open
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
jne 0x40a699
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
lea eax, [ebp + 8]
push eax
call fcn.0040181b
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1c]
call fcn.004091e9
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00401436
mov dword [ebp - 4], 2
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14]
call fcn.00401436
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00401436
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.00401436
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 8