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

Disassembly:
push ebp
lea ebp, [esp - 0x530]
sub esp, 0x5b0
mov eax, dword [0x415050]
xor eax, ebp
mov dword [ebp + 0x52c], eax
push ebx
push esi
push edi
mov esi, 0x103
push esi
xor ebx, ebx
lea eax, [ebp + 0x429]
mov edi, ecx
push ebx
push eax
mov dword [ebp - 0x20], edi
mov byte [ebp + 0x428], 0
call fcn.00407070
push esi
lea eax, [ebp + 0x221]
push ebx
push eax
mov byte [ebp + 0x220], bl
call fcn.00407070
add esp, 0x18
lea eax, [ebp + 0x428]
cmp edi, ebx
jne 0x4018c9
push eax
push ebx
push ebx
push 0x801a
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
jmp 0x4018d1
push edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push str.MozillaExtensionsec8030f7_c20a_464f_9b0e_13a3a9e97384_
mov esi, 0x104
lea eax, [ebp + 0x428]
push esi
push eax
call fcn.0040421d
push str.text_links_arcadeweb.com
lea eax, [ebp + 0x428]
push esi
push eax
call fcn.0040421d
mov edi, dword [sym.imp.SHLWAPI.dll_wnsprintfA]
lea eax, [ebp + 0x428]
push eax
push str._s.
lea eax, [ebp + 0x220]
push esi
push eax
call edi
lea eax, [ebp + 0x220]
mov dword [ebp - 0x58], eax
mov eax, 0x614
mov word [ebp - 0x50], ax
add esp, 0x28
lea eax, [ebp - 0x60]
push eax
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], 3
mov dword [ebp - 0x54], ebx
call dword [sym.imp.SHELL32.dll_SHFileOperationA]
mov ebx, dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
lea eax, [ebp + 0x428]
push eax
call ebx
lea eax, [ebp + 0x428]
push eax
call fcn.004022f1
mov dword [esp], 0x135
lea eax, [ebp - 0x1b]
push 0
push eax
mov byte [ebp - 0x1c], 0
call fcn.00407070
push 0x103
lea eax, [ebp + 0x11d]
push 0
push eax
mov byte [ebp + 0x11c], 0
call fcn.00407070
lea eax, [ebp + 0x428]
push eax
push str.cmd.exe__c_rd___s___Q_S
lea eax, [ebp - 0x1c]
push 0x136
push eax
call edi
add esp, 0x28
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.004042af
call fcn.004042c1
push 0x64
pop ecx
cdq
idiv ecx
lea eax, [ebp + 0x11c]
push edx
push str.AW_Firefox_removal_procedure__d
push esi
push eax
call fcn.00404291
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x11c]
push eax
call fcn.0040236f
mov ecx, dword [ebp - 0x20]
lea eax, [ebp + 0x428]
push eax
call fcn.00402818
add esp, 0x20
test al, al
je 0x401c56
lea eax, [ebp + 0x428]
push eax
push str._s.
lea eax, [ebp + 0x220]
push esi
push eax
call edi
and dword [ebp - 0x80], 0
and dword [ebp - 0x74], 0
lea eax, [ebp + 0x220]
mov dword [ebp - 0x78], eax
mov eax, 0x614
mov word [ebp - 0x70], ax
add esp, 0x10
lea eax, [ebp - 0x80]
push eax
mov dword [ebp - 0x7c], 3
call dword [sym.imp.SHELL32.dll_SHFileOperationA]
mov dword [ebp - 0x20], eax
lea eax, [ebp + 0x428]
push eax
call ebx
lea eax, [ebp + 0x428]
push eax
call fcn.004022f1
cmp dword [ebp - 0x20], 0
pop ecx
je 0x401bff
and dword [ebp - 0x24], 0
push str.awtextlinks.jar
lea eax, [ebp + 0x428]
push eax
push str._schrome_s
lea eax, [ebp + 0x324]
push esi
push eax
mov dword [ebp - 0x40], str.arcadewebfirefox.dll
mov dword [ebp - 0x3c], str.arcadewebfirefox2.dll
mov dword [ebp - 0x38], str.arcadewebfirefox3.dll
mov dword [ebp - 0x34], str.arcadewebfirefox4.dll
mov dword [ebp - 0x30], str.arcadewebfirefox5.dll
mov dword [ebp - 0x2c], str.arcadewebfirefox.xpt
mov dword [ebp - 0x28], str.AWExtension.js
call edi
add esp, 0x14
lea eax, [ebp + 0x324]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp + 0x324]
push eax
call fcn.004022f1
lea eax, [ebp + 0x428]
push eax
push str._schrome
lea eax, [ebp + 0x324]
push esi
push eax
call edi
add esp, 0x14
lea eax, [ebp + 0x324]
push eax
call ebx
lea eax, [ebp + 0x324]
push eax
call fcn.004022f1
and dword [ebp - 0x20], 0
pop ecx
mov eax, str.arcadewebfirefox.dll
push eax
lea eax, [ebp + 0x428]
push eax
push str._scomponents_s
lea eax, [ebp + 0x324]
push esi
push eax
call edi
add esp, 0x14
lea eax, [ebp + 0x324]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp + 0x324]
push eax
call fcn.004022f1
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x40]
pop ecx
test eax, eax
jne 0x401b06
lea eax, [ebp + 0x428]
push eax
push str._scomponents
lea eax, [ebp + 0x324]
push esi
push eax
call edi
add esp, 0x10
lea eax, [ebp + 0x324]
push eax
call ebx
lea eax, [ebp + 0x324]
push eax
call fcn.004022f1
mov dword [esp], str.chrome.manifest
lea eax, [ebp + 0x428]
push eax
push 0x4131ec
lea eax, [ebp + 0x324]
push esi
push eax
call edi
add esp, 0x14
lea eax, [ebp + 0x324]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp + 0x324]
push eax
call fcn.004022f1
mov dword [esp], str.install.rdf
lea eax, [ebp + 0x428]
push eax
push 0x4131ec
lea eax, [ebp + 0x324]
push esi
push eax
call edi
add esp, 0x14
lea eax, [ebp + 0x324]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp + 0x324]
push eax
call fcn.004022f1
pop ecx
lea eax, [ebp + 0x428]
push eax
call ebx
lea eax, [ebp + 0x324]
push eax
call fcn.004022f1
pop ecx
lea eax, [ebp + 0x428]
push eax
push str.cmd.exe__c_rd___s___Q_S
lea eax, [ebp - 0x1c]
push 0x136
push eax
call edi
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.004042af
call fcn.004042c1
push 0x64
pop ecx
cdq
idiv ecx
lea eax, [ebp + 0x11c]
push edx
push str.AW_Firefox_removal_procedure__d
push esi
push eax
call fcn.00404291
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x11c]
push eax
call fcn.0040236f
add esp, 0x1c
mov ecx, dword [ebp + 0x52c]
pop edi
xor eax, eax
pop esi
xor ecx, ebp
inc eax
pop ebx
call fcn.00404175
add ebp, 0x530
leave
ret