Function at 0x426410
Capabilities:
Delete file
Get common file path
Get startup folder
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42e40c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x304
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x10], esp
call fcn.004269f0
test al, al
push 1
push 0x1a
je 0x4265e0
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea ecx, [ebp - 0x20c]
push ecx
lea ecx, [ebp - 0x28]
call sub.MFC42.DLL_CString::CString_1
push str.TurboSearcher_
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0
call sub.MFC42.DLL_CString::operator
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x20]
push edx
call sub.MFC42.DLL_CString::CString_3
push str.TSSetting.trg
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::operator
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 2
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ecx, dword [ebp - 0x20]
push 0x1001
push ecx
lea ecx, [ebp - 0x84]
call sub.MFC42.DLL_CFile::CFile
push 0
push 0x1000
lea edx, [ebp - 0x84]
mov bl, 3
push 0
push edx
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], bl
call sub.MFC42.DLL_CArchive::CArchive
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x14]
add eax, 4
cmp eax, ecx
mov byte [ebp - 4], 4
jbe 0x4264f1
lea ecx, [ebp - 0x6c]
call sub.MFC42.DLL_CArchive::Flush
mov ecx, dword [ebp - 0x48]
mov dword [ecx], esi
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x48], eax
add eax, 4
cmp eax, ecx
jbe 0x426514
lea ecx, [ebp - 0x6c]
call sub.MFC42.DLL_CArchive::Flush
mov edx, dword [ebp - 0x48]
mov dword [edx], esi
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x48], eax
add eax, 4
cmp eax, ecx
jbe 0x426537
lea ecx, [ebp - 0x6c]
call sub.MFC42.DLL_CArchive::Flush
mov eax, dword [ebp - 0x48]
mov dword [eax], esi
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x48], eax
add eax, 4
cmp eax, ecx
jbe 0x42655a
lea ecx, [ebp - 0x6c]
call sub.MFC42.DLL_CArchive::Flush
mov ecx, dword [ebp - 0x48]
mov dword [ecx], esi
mov eax, dword [ebp - 0x48]
add eax, 4
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x48], eax
call sub.MFC42.DLL_CArchive::Close
lea ecx, [ebp - 0x84]
call sub.MFC42.DLL_CFile::Close
mov edx, dword [ebp - 0x20]
push 2
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], bl
call fcn.0042a322
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 2
call fcn.0042a364
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x310]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea ecx, [ebp - 0x310]
push ecx
lea ecx, [ebp - 0x1c]
call sub.MFC42.DLL_CString::CString_1
push str.TurboSearcher_
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], 6
call sub.MFC42.DLL_CString::operator
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x14]
push edx
call sub.MFC42.DLL_CString::CString_3
push str.TSSetting.trg
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call sub.MFC42.DLL_CString::operator
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 8
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ecx, dword [ebp - 0x14]
push 0
push ecx
lea ecx, [ebp - 0x84]
call sub.MFC42.DLL_CFile::CFile
push 0
push 0x1000
lea edx, [ebp - 0x84]
push 1
push edx
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 9
call sub.MFC42.DLL_CArchive::CArchive
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
mov byte [ebp - 4], 0xa
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x4266a4
sub eax, ecx
lea ecx, [ebp - 0x100]
add eax, 4
push eax
call sub.MFC42.DLL_CArchive::FillBuffer
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax]
add eax, 4
mov dword [ebp - 0x70], edx
mov dword [ebp - 0xdc], eax
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x4266d6
sub eax, ecx
lea ecx, [ebp - 0x100]
add eax, 4
push eax
call sub.MFC42.DLL_CArchive::FillBuffer
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax]
add eax, 4
mov dword [ebp - 0x74], edx
mov dword [ebp - 0xdc], eax
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x426708
sub eax, ecx
lea ecx, [ebp - 0x100]
add eax, 4
push eax
call sub.MFC42.DLL_CArchive::FillBuffer
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax]
add eax, 4
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xdc], eax
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x426737
sub eax, ecx
lea ecx, [ebp - 0x100]
add eax, 4
push eax
call sub.MFC42.DLL_CArchive::FillBuffer
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax]
add eax, 4
mov dword [ebp - 0xac], ecx
lea ecx, [ebp - 0x100]
mov dword [ebp - 0xdc], eax
call sub.MFC42.DLL_CArchive::Close
lea ecx, [ebp - 0x84]
call sub.MFC42.DLL_CFile::Close
lea edx, [ebp - 0x94]
lea eax, [ebp - 0x108]
push edx
push eax
mov ecx, esi
call fcn.00426330
lea ecx, [ebp - 0xa4]
lea edx, [ebp - 0x74]
push ecx
push edx
mov ecx, esi
call fcn.00426330
lea eax, [ebp - 0x8c]
lea ecx, [ebp - 0xac]
push eax
push ecx
mov ecx, esi
call fcn.00426330
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x90]
cmp eax, ecx
jb 0x4267ca
ja 0x4267bc
mov edx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x94]
cmp edx, ebx
jbe 0x4267ca
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
jmp 0x4267d6
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 0x14]
push 0x1001
push ecx
lea ecx, [ebp - 0xbc]
call sub.MFC42.DLL_CFile::CFile
push 0
push 0x1000
lea edx, [ebp - 0xbc]
mov bl, 0xb
push 0
push edx
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], bl
call sub.MFC42.DLL_CArchive::CArchive
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0x24]
push eax
push ecx
mov ecx, esi
mov byte [ebp - 4], 0xc
call fcn.004263b0
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x70]
add edx, 4
cmp edx, eax
jbe 0x42683f
lea ecx, [ebp - 0x6c]
call sub.MFC42.DLL_CArchive::Flush
mov eax, dword [ebp - 0x48]
mov dword [eax], esi
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x48], eax
add eax, 4
cmp eax, ecx
jbe 0x426862
lea ecx, [ebp - 0x6c]
call sub.MFC42.DLL_CArchive::Flush
mov ecx, dword [ebp - 0x48]
mov dword [ecx], esi
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x98]
add eax, 4
mov dword [ebp - 0x48], eax
add eax, 4
cmp eax, ecx
jbe 0x426888
lea ecx, [ebp - 0x6c]
call sub.MFC42.DLL_CArchive::Flush
mov edx, dword [ebp - 0x48]
mov dword [edx], esi
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x9c]
add eax, 4
mov dword [ebp - 0x48], eax
add eax, 4
cmp eax, ecx
jbe 0x4268ae
lea ecx, [ebp - 0x6c]
call sub.MFC42.DLL_CArchive::Flush
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x6c]
mov dword [eax], esi
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x48], eax
call sub.MFC42.DLL_CArchive::Close
lea ecx, [ebp - 0xbc]
call sub.MFC42.DLL_CFile::Close
mov ecx, dword [ebp - 0x14]
push 2
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xa0]
sub ecx, eax
mov eax, dword [ebp - 0x20]
sbb eax, esi
cmp eax, 0x185c
jb 0x426940
ja 0x426902
cmp ecx, 0x22ce4000
jbe 0x426940
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], bl
call fcn.0042a322
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0xa
call fcn.0042a364
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 9
call fcn.0042a322
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 8
call fcn.0042a364
mov byte [ebp - 4], 6
jmp 0x4269bb
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], bl
call fcn.0042a322
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0xa
call fcn.0042a364
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 9
call fcn.0042a322
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 8
call fcn.0042a364
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor al, al
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret