Function at 0x4a5522
Capabilities:
Delete file
Enumerate files on windows

Disassembly:
mov eax, 0x50e3c0
call fcn.00484660
sub esp, 0x194
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor edi, edi
mov esi, ecx
cmp ebx, edi
mov dword [ebp - 0x28], esi
je 0x4a5a42
lea ecx, [ebp - 0x5c]
call fcn.004a6c8f
mov dword [ebp - 4], edi
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 1
mov dword [ebp - 0x20], edi
mov byte [ebp - 4], 2
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x38]
mov byte [ebp - 4], 3
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], edi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 4
call fcn.00419be6
cmp dword [ebp - 0x34], edi
jne 0x4a558a
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 2
jmp 0x4a55ce
mov eax, dword [ebp - 0x10]
cmp eax, edi
je 0x4a559a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x34]
call fcn.00419be6
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x10]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x10]
cmp eax, edi
jne 0x4a55f7
mov ecx, dword [ebp - 0x34]
mov byte [ebp - 4], 3
cmp ecx, edi
je 0x4a55ca
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 2
cmp eax, edi
je 0x4a55d8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 1
cmp eax, edi
je 0x4a55e9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
and byte [ebp - 4], 0
cmp eax, edi
jmp 0x4a5a2e
and byte [ebp + 0xb], 0
mov dword [ebp - 0x44], edi
mov ecx, dword [eax]
lea edx, [ebp + 0xb]
mov edi, str.dwLastCleanTime
push edx
push edi
push eax
call dword [ecx + 0x70]
cmp byte [ebp + 0xb], 4
jne 0x4a5622
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0x44]
push edx
push edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x34]
lea eax, [ebp - 0x40]
push eax
call sub.MFC42.DLL_CTime::GetTickCount
cmp dword [ebp - 0x44], 0
jne 0x4a5643
mov eax, dword [ebp - 0x10]
push dword [ebp - 0x40]
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0x18]
jmp 0x4a59f2
push dword [ebp - 0x44]
push dword [ebp - 0x40]
call dword [sym.imp.MSVCRT.dll_difftime]
pop ecx
pop ecx
call sub.MSVCRT.dll__ftol
cmp eax, 0x278d00
jl 0x4a59f2
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4a5672
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp - 0x14], 0
mov eax, dword [ebx]
lea ecx, [ebp - 0x14]
push ecx
push 0x52bd3c
push ebx
call dword [eax + 0x6c]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4a59f2
mov ecx, dword [eax]
push eax
call dword [ecx + 0x74]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x4a56a3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x20]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x60]
test eax, eax
jne 0x4a578d
lea ecx, [ebp - 0x18]
call sub.MFC42.DLL_CString::CString_5
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 5
push eax
push 0x52bcfc
push dword [ebp - 0x20]
call dword [sym.imp.BasicCtrlDll.dll_long_int___cdecl_GetQQDataStr_struct_IQQData___char_const___class_CString__]
add esp, 0xc
lea ecx, [ebp - 0x1c]
call sub.MFC42.DLL_CString::CString_5
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 6
mov ebx, dword [eax - 8]
lea esi, [ebx - 1]
test esi, esi
jl 0x4a575e
push 1
lea eax, [ebp - 0x24]
push esi
push eax
lea ecx, [ebp - 0x18]
call sub.MFC42.DLL_CString::Mid
push 0x575700
mov byte [ebp - 4], 7
push dword [ebp - 0x24]
call dword [sym.imp.MSVCRT.dll__mbscmp]
pop ecx
test eax, eax
pop ecx
je 0x4a572a
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
dec esi
jns 0x4a56f2
jmp 0x4a575e
inc esi
push ebx
lea eax, [ebp - 0x38]
push esi
push eax
lea ecx, [ebp - 0x18]
call sub.MFC42.DLL_CString::Mid
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call sub.MFC42.DLL_CString::operator_1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x5c]
push eax
push dword [ebp - 0x54]
call fcn.004a6e2b
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 4
call sub.MFC42.DLL_CString::CString
mov esi, dword [ebp - 0x28]
jmp 0x4a5692
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CString::CString_5
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 9
call sub.MFC42.DLL_CString::CString_5
push 0x575e58
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xa
call sub.MFC42.DLL_CString::CString_2
lea eax, [ebp - 0x1c]
add esi, 0x68
push eax
lea eax, [ebp - 0x28]
push esi
push eax
mov byte [ebp - 4], 0xb
call sub.MFC42.DLL_operator_2
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
call sub.MFC42.DLL_CString::operator_1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xa
call sub.MFC42.DLL_CString::CString
lea eax, [ebp - 0x2c]
push 0x5760b8
push eax
lea eax, [ebp - 0x28]
push eax
call sub.MFC42.DLL_operator_3
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xd
call sub.MFC42.DLL_CString::operator_1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xa
call sub.MFC42.DLL_CString::CString
lea eax, [ebp - 0x1a0]
push eax
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x38], eax
je 0x4a59da
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
lea eax, [ebp - 0x174]
push 0x574fd8
push eax
call esi
test eax, eax
je 0x4a59a0
lea eax, [ebp - 0x174]
push 0x5760b4
push eax
call esi
test eax, eax
je 0x4a59a0
lea eax, [ebp - 0x174]
lea ecx, [ebp - 0x24]
push eax
call sub.MFC42.DLL_CString::CString_3
push 0x51a314
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xe
call sub.MFC42.DLL_CString::CString_3
push 0x2e
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xf
call sub.MFC42.DLL_CString::ReverseFind
test eax, eax
jl 0x4a58be
inc eax
lea ecx, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x10
call sub.MFC42.DLL_CString::operator_1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xf
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x18]
call sub.MFC42.DLL_CString::MakeLower
mov esi, dword [sym.imp.MSVCRT.dll__mbscmp]
push 0x5760b0
push dword [ebp - 0x18]
call esi
pop ecx
test eax, eax
pop ecx
je 0x4a58f0
push 0x5760ac
push dword [ebp - 0x18]
call esi
pop ecx
test eax, eax
pop ecx
jne 0x4a5988
mov edi, dword [ebp - 0x54]
xor esi, esi
test edi, edi
jle 0x4a5938
lea eax, [ebp - 0x60]
push esi
push eax
lea ecx, [ebp - 0x5c]
call fcn.004a6ccc
push dword [eax]
mov byte [ebp - 4], 0x11
push dword [ebp - 0x24]
call dword [sym.imp.MSVCRT.dll__mbscmp]
mov ebx, eax
pop ecx
neg ebx
pop ecx
mov byte [ebp - 4], 0xf
sbb bl, bl
lea ecx, [ebp - 0x60]
inc bl
call sub.MFC42.DLL_CString::CString
test bl, bl
jne 0x4a5a53
inc esi
cmp esi, edi
jl 0x4a58f9
lea ecx, [ebp - 0x1c]
call sub.MFC42.DLL_CString::CString_5
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x48]
push eax
call sub.MFC42.DLL_operator_2
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x13
call sub.MFC42.DLL_CString::operator_1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x12
call sub.MFC42.DLL_CString::CString
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xf
call sub.MFC42.DLL_CString::CString
mov edi, str.dwLastCleanTime
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xe
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xa
call sub.MFC42.DLL_CString::CString
lea eax, [ebp - 0x1a0]
push eax
push dword [ebp - 0x38]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4a5833
push dword [ebp - 0x38]
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x48]
push eax
call sub.MFC42.DLL_CTime::GetTickCount
mov eax, dword [eax]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x40], eax
push eax
mov edx, dword [ecx]
push edi
push ecx
call dword [edx + 0x18]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], 3
test eax, eax
je 0x4a5a03
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 2
test eax, eax
je 0x4a5a14
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 1
test eax, eax
je 0x4a5a25
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
and byte [ebp - 4], 0
test eax, eax
je 0x4a5a36
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.004a6d05
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4
push 1
push esi
lea ecx, [ebp - 0x5c]
call fcn.004d5f4d
jmp 0x4a5983