Function at 0x401ad2
Capabilities:
Check for time delay via gettickcount
Check if file exists
Delete directory
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x588
push ebx
push esi
push edi
mov esi, 0x103
push esi
xor ebx, ebx
lea eax, [ebp - 0x143]
push ebx
push eax
mov byte [ebp - 0x144], 0
call fcn.0040a870
push esi
lea eax, [ebp - 0x587]
push ebx
push eax
mov byte [ebp - 0x588], bl
call fcn.0040a870
add esp, 0x18
lea edi, [esi + 1]
lea eax, [ebp - 0x144]
cmp dword [ebp + 8], ebx
jne 0x401b30
push eax
push ebx
push ebx
push 0x801a
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
jmp 0x401b3d
push dword [ebp + 8]
push edi
push eax
call fcn.004058e4
add esp, 0xc
push str.MozillaExtensionsec8030f7_c20a_464f_9b0e_13a3a9e97384_
lea eax, [ebp - 0x144]
push edi
push eax
call fcn.00405a52
push str.links_freeworkz.com
lea eax, [ebp - 0x144]
push edi
push eax
call fcn.00405a52
mov ebx, dword [sym.imp.SHLWAPI.dll_wnsprintfA]
lea eax, [ebp - 0x144]
push eax
push str._s.
lea eax, [ebp - 0x588]
push edi
push eax
call ebx
and dword [ebp - 0x40], 0
and dword [ebp - 0x34], 0
lea eax, [ebp - 0x588]
mov dword [ebp - 0x38], eax
mov eax, 0x614
mov word [ebp - 0x30], ax
add esp, 0x28
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x3c], 3
call dword [sym.imp.SHELL32.dll_SHFileOperationA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 0x144]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
lea eax, [ebp - 0x144]
push eax
call fcn.0040177d
mov dword [esp], 0x135
lea eax, [ebp - 0x37f]
push 0
push eax
mov byte [ebp - 0x380], 0
call fcn.0040a870
push esi
lea eax, [ebp - 0x483]
push 0
push eax
mov byte [ebp - 0x484], 0
call fcn.0040a870
add esp, 0x18
lea eax, [ebp - 0x144]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
mov esi, 0x136
test eax, eax
je 0x401cea
push str.cmd.exe
lea eax, [ebp - 0x380]
push esi
push eax
call fcn.00405a52
push str.__c
lea eax, [ebp - 0x380]
push esi
push eax
call fcn.00405a52
push 0x411384
lea eax, [ebp - 0x380]
push esi
push eax
call fcn.00405a52
push 0x411388
lea eax, [ebp - 0x380]
push esi
push eax
call fcn.00405a52
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x380]
push esi
push eax
call fcn.00405a52
push 0x41138c
lea eax, [ebp - 0x380]
push esi
push eax
call fcn.00405a52
add esp, 0x48
push str._Q_S
lea eax, [ebp - 0x380]
push esi
push eax
call fcn.00405a52
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.00405a1e
call fcn.00405a30
push 0x64
pop ecx
cdq
idiv ecx
lea eax, [ebp - 0x484]
push edx
push str.fw_postcleanup
push 0x411398
push edi
push eax
call fcn.004058c6
lea eax, [ebp - 0x380]
push eax
lea eax, [ebp - 0x484]
push eax
call fcn.0040178c
add esp, 0x20
push dword [ebp + 8]
lea eax, [ebp - 0x144]
push eax
call fcn.0040325a
test al, al
je 0x401ffe
push str.extensions_
lea eax, [ebp - 0x144]
push edi
push eax
call fcn.00405a52
push str.links_freeworkz.com
lea eax, [ebp - 0x144]
push edi
push eax
call fcn.00405a52
lea eax, [ebp - 0x144]
push 0x2f
push eax
call fcn.00405960
add esp, 0x20
test eax, eax
je 0x401d3d
mov byte [eax], 0x5c
lea eax, [ebp - 0x144]
push eax
push str._s.
lea eax, [ebp - 0x588]
push edi
push eax
call ebx
and dword [ebp - 0x20], 0
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x588]
mov dword [ebp - 0x18], eax
mov eax, 0x614
mov word [ebp - 0x10], ax
add esp, 0x10
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x1c], 3
call dword [sym.imp.SHELL32.dll_SHFileOperationA]
mov dword [ebp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 0x144]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
lea eax, [ebp - 0x144]
push eax
call fcn.0040177d
cmp dword [ebp + 8], 0
pop ecx
je 0x401f1e
push str.fwtextlinks.jar
lea eax, [ebp - 0x144]
push eax
push str._schrome_s
lea eax, [ebp - 0x248]
push edi
push eax
call ebx
add esp, 0x14
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x248]
push eax
call fcn.0040177d
lea eax, [ebp - 0x144]
push eax
push str._schrome
lea eax, [ebp - 0x248]
push edi
push eax
call ebx
add esp, 0x14
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
lea eax, [ebp - 0x248]
push eax
call fcn.0040177d
and dword [ebp + 8], 0
mov eax, dword [str.FreeWorkzFirefox.dll]
jmp 0x401e62
push eax
lea eax, [ebp - 0x144]
push eax
push str._scomponents_s
lea eax, [ebp - 0x248]
push edi
push eax
call ebx
add esp, 0x14
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x248]
push eax
call fcn.0040177d
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4150b8]
pop ecx
test eax, eax
jne 0x401e22
lea eax, [ebp - 0x144]
push eax
push str._scomponents
lea eax, [ebp - 0x248]
push edi
push eax
call ebx
add esp, 0x10
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
lea eax, [ebp - 0x248]
push eax
call fcn.0040177d
lea eax, [ebp - 0x144]
push eax
push str._schrome.manifest
lea eax, [ebp - 0x248]
push edi
push eax
call ebx
add esp, 0x14
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x248]
push eax
call fcn.0040177d
lea eax, [ebp - 0x144]
push eax
push str._sinstall.rdf
lea eax, [ebp - 0x248]
push edi
push eax
call ebx
add esp, 0x14
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x248]
push eax
call fcn.0040177d
pop ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 0x144]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
lea eax, [ebp - 0x248]
push eax
call fcn.0040177d
pop ecx
lea eax, [ebp - 0x144]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x401ffe
push str.cmd.exe
lea eax, [ebp - 0x380]
push esi
push eax
call fcn.00405a52
push str.__c
lea eax, [ebp - 0x380]
push esi
push eax
call fcn.00405a52
push 0x411384
lea eax, [ebp - 0x380]
push esi
push eax
call fcn.00405a52
push 0x411388
lea eax, [ebp - 0x380]
push esi
push eax
call fcn.00405a52
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x380]
push esi
push eax
call fcn.00405a52
push 0x41138c
lea eax, [ebp - 0x380]
push esi
push eax
call fcn.00405a52
add esp, 0x48
push str._Q_S
lea eax, [ebp - 0x380]
push esi
push eax
call fcn.00405a52
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.00405a1e
call fcn.00405a30
push 0x64
pop ecx
cdq
idiv ecx
lea eax, [ebp - 0x484]
push edx
push str.fw_postcleanup
push 0x411398
push edi
push eax
call fcn.004058c6
lea eax, [ebp - 0x380]
push eax
lea eax, [ebp - 0x484]
push eax
call fcn.0040178c
add esp, 0x20
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
leave
ret