Function at 0x490c60
Capabilities:
Create process on windows
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5fc410
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x448
push ebx
push esi
push edi
xor esi, esi
mov dword [ebp - 0x10], esp
push str.shlwapi.dll
mov dword [ebp - 4], esi
xor edi, edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, eax
cmp ebx, esi
je 0x490db0
push str.AssocQueryStringW
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, esi
je 0x490d9f
lea ecx, [ebp - 0x38]
lea edx, [ebp - 0x454]
push ecx
push edx
push str.open
push 0x6a22f4
push 2
push esi
mov dword [ebp - 0x38], 0x104
call eax
cmp eax, esi
jne 0x490d9f
lea eax, [ebp - 0x454]
push 0x5c
push eax
call fcn.005c4a9a
mov esi, eax
add esp, 8
test esi, esi
je 0x490d9f
add esi, 2
push str.iexplore.exe
push esi
call fcn.005c722c
add esp, 8
test eax, eax
je 0x490d55
push str.Firefox.exe
push esi
call fcn.005c722c
add esp, 8
test eax, eax
je 0x490d55
push str.OPERA.exe
push esi
call fcn.005c722c
add esp, 8
test eax, eax
je 0x490d55
push str.seamonkey.exe
push esi
call fcn.005c722c
add esp, 8
test eax, eax
je 0x490d55
push 0x6a1e80
push esi
call fcn.005c722c
add esp, 8
test eax, eax
jne 0x490d9f
mov ecx, dword [ebp + 0xc]
xor esi, esi
push esi
push ecx
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x2c], esi
mov word [ebp - 0x30], si
call fcn.00402890
mov eax, dword [ebp - 0x34]
cmp eax, esi
jne 0x490d78
lea eax, [ebp - 0x30]
push 1
push esi
lea edx, [ebp - 0x454]
push eax
mov eax, dword [ebp + 8]
push edx
push str.open
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 0x34]
mov edi, 1
call fcn.00401070
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor esi, esi
cmp edi, esi
jne 0x490fc3
xor eax, eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x18], si
mov ecx, dword [0x6cee40]
mov byte [ebp - 4], 1
cmp ecx, esi
mov esi, ecx
jne 0x490dd1
mov esi, 0x6cee44
mov ecx, 0x6a0048
test ecx, ecx
je 0x490ed5
test esi, esi
je 0x490ed5
mov edx, str.temp.htm
test edx, edx
je 0x490ed5
push ecx
lea ecx, [ebp - 0x44]
call fcn.00401ed0
push esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.0040d680
push str.temp.htm
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call fcn.0040d680
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 4
call fcn.00401070
mov edi, dword [ebp - 0x28]
test edi, edi
jne 0x490e30
lea edi, [ebp - 0x24]
mov esi, dword [ebp - 0x3c]
lea ecx, [ebp - 0x34]
call fcn.00401f50
push eax
call fcn.005c4b4a
push edi
mov ebx, eax
call fcn.005c4b4a
add esi, ebx
lea ebx, [eax + esi + 3]
lea esi, [ebx + ebx]
push esi
call fcn.005dd58d
mov edi, eax
add esp, 0xc
test edi, edi
mov dword [ebp - 0x1c], edi
je 0x490eae
mov ecx, esi
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x34]
call fcn.00401f50
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.00401f50
lea ecx, [ebp - 0x44]
mov edi, eax
call fcn.00401f50
push esi
push edi
push eax
mov eax, dword [ebp - 0x1c]
push ebx
push eax
call fcn.005c4ada
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.005c4b4a
add esp, 0x18
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00401070
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 1
call fcn.00401070
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
cmp eax, ebx
jne 0x490ede
lea eax, [ebp - 0x18]
push 0x6a78f0
push eax
call fcn.005c62b7
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x490f0a
push esi
push 0xd
push 1
push str._HTML__HTML_
call fcn.005c614d
push esi
call fcn.005c60d0
add esp, 0x14
mov ecx, 0x82
xor eax, eax
lea edi, [ebp - 0x24c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
jne 0x490f23
lea eax, [ebp - 0x18]
lea edx, [ebp - 0x24c]
push edx
push ebx
push eax
call dword [sym.imp.SHELL32.dll_FindExecutableW]
cmp eax, 0x20
jle 0x490f8f
lea eax, [ebp - 0x24c]
push eax
call fcn.005c4b4a
add esp, 4
test eax, eax
je 0x490f8f
mov ecx, dword [ebp + 0xc]
push ebx
push ecx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], ebx
mov word [ebp - 0x24], bx
call fcn.00402890
mov eax, dword [ebp - 0x28]
cmp eax, ebx
jne 0x490f6b
lea eax, [ebp - 0x24]
push 1
push ebx
lea edx, [ebp - 0x24c]
push eax
mov eax, dword [ebp + 8]
push edx
push str.open
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 0x28]
call fcn.00401070
jmp 0x490fa6
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push 1
push ebx
push ebx
push ecx
push 0x69ff8c
push edx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
jne 0x490fb0
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0
call fcn.00401070
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov al, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret