Function at 0x43f68a
Capabilities:
Delete file
Set file attributes

Disassembly:
mov eax, 0x4ab708
call fcn.0044c320
sub esp, 0x40
push ebx
push esi
push edi
mov edi, ecx
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CStdioFile::CStdioFile
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
call fcn.0044bdac
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0xd]
push ecx
push 0x4bf72c
mov eax, dword [esi]
push esi
mov byte [ebp - 4], 2
call dword [eax + 0x70]
cmp byte [ebp - 0xd], bl
je 0x43f846
push esi
lea ecx, [ebp - 0x38]
push dword [ebp - 0x30]
call sub.MFC42.DLL_CPtrArray::SetAtGrow
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x43f6f6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.BasicCtrlDll.dll_long_int___cdecl_PtrArrayToQQArray_class_CPtrArray_const___struct_IQQDataArray___]
mov eax, dword [ebp - 0x14]
pop ecx
pop ecx
lea edx, [ebp - 0x1c]
mov ecx, dword [eax]
push edx
lea edx, [ebp - 0x18]
push edx
push eax
call dword [ecx + 0xb8]
push dword [ebp - 0x18]
lea ecx, [ebp - 0x20]
push dword [ebp - 0x1c]
call fcn.0044bdd0
push dword [ebp - 0x1c]
mov byte [ebp - 4], 3
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov esi, str.ADgif4.0
lea ecx, [ebp + 8]
push esi
call sub.MFC42.DLL_CString::CString_1
lea eax, [ebp + 8]
add edi, 0x15c
push eax
lea eax, [ebp - 0x24]
push edi
push eax
mov byte [ebp - 4], 4
call sub.MFC42.DLL_operator_2
push dword [eax]
mov byte [ebp - 4], 5
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp + 8]
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CString::CString
push esi
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString_1
lea eax, [ebp + 8]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x24]
push edi
push eax
call sub.MFC42.DLL_operator_2
mov eax, dword [eax]
push 0x80
push eax
mov byte [ebp - 4], 7
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp + 8]
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CString::CString
push esi
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString_1
lea eax, [ebp + 8]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x24]
push edi
push eax
call sub.MFC42.DLL_operator_2
mov eax, dword [eax]
push ebx
push 0x9002
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 9
call sub.MFC42.DLL_CStdioFile::Open
lea ecx, [ebp - 0x24]
mov esi, eax
mov byte [ebp - 4], 8
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp + 8]
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CString::CString
cmp esi, ebx
je 0x43f832
push dword [ebp - 0x18]
lea ecx, [ebp - 0x20]
push dword [ebp - 0x18]
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CStdioFile::Write
push ebx
lea ecx, [ebp - 0x14]
call fcn.00461316
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_CStdioFile::Close
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CPtrArray::CPtrArray
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x43f862
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.0044c1f0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4