Function at 0x444a00
Capabilities:
Delete file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x452eb0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x158
mov al, byte [0x475e90]
push ebx
push esi
push edi
test al, 1
mov dword [ebp - 0x10], esp
jne 0x444a4f
mov dl, al
mov ecx, 0x475e80
or dl, 1
mov byte [0x475e90], dl
call sub.MFC42.DLL_CFile::CFile
push 0x444d50
call fcn.0044c38b
add esp, 4
lea ecx, [ebp - 0x28]
call fcn.0042d0c0
lea ecx, [ebp - 0x14]
call fcn.0044b6f4
mov esi, dword [ebp + 8]
mov ecx, dword [0x47352c]
xor ebx, ebx
mov eax, dword [esi + 0xd]
mov dword [ebp - 4], ebx
cmp eax, ecx
je 0x444a7c
cmp eax, ebx
jne 0x444d18
mov eax, dword [esi + 5]
dec eax
je 0x444c1a
dec eax
je 0x444b86
dec eax
je 0x444a9b
mov dword [0x475e98], ebx
jmp 0x444d00
cmp dword [0x475e98], ebx
je 0x444d00
mov eax, dword [0x475e80]
push ebx
push ebx
mov ecx, 0x475e80
mov byte [ebp - 4], 6
call dword [eax + 0x30]
lea ecx, [ebp - 0x28]
push 0x10
push ecx
mov ecx, 0x475e80
call sub.MFC42.DLL_CFile::Read
cmp eax, 0x10
je 0x444ade
mov ecx, 0x475e80
call sub.MFC42.DLL_CFile::Close
jmp 0x444cf8
mov dx, word [0x467f58]
mov ecx, dword [0x475e94]
mov eax, dword [0x473528]
mov word [ebp - 0x22], dx
mov edx, dword [0x475e80]
mov dword [ebp - 0x20], ecx
push ebx
push ebx
mov ecx, 0x475e80
mov dword [ebp - 0x1c], eax
call dword [edx + 0x30]
lea eax, [ebp - 0x28]
push 0x10
push eax
mov ecx, 0x475e80
call sub.MFC42.DLL_CFile::Write
mov ecx, 0x475e80
call sub.MFC42.DLL_CFile::Flush
mov ecx, 0x475e80
call sub.MFC42.DLL_CFile::Close
mov ecx, dword [ebp - 0x14]
push 2
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0x473518
mov dword [0x475e98], ebx
call fcn.0040e470
add esp, 4
jmp 0x444cf8
cmp dword [0x475e98], ebx
je 0x444d00
mov ax, word [esi + 0x26]
add esi, 0x28
mov ecx, eax
lea edi, [ebp - 0x15e]
and ecx, 0xffff
push 0x5b
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov word [ebp - 0x160], ax
lea eax, [ebp - 0x164]
push eax
call fcn.00405750
add esp, 8
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 4
push 0x139
push ecx
mov ecx, 0x475e80
call sub.MFC42.DLL_CFile::Write
inc dword [0x475e94]
jmp 0x444cf5
push str.Common_FilesSystemOle_DB_
lea edx, [ebp + 8]
push 0x47527c
push edx
mov dword [0x475e98], ebx
call sub.MFC42.DLL_operator
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.0044b81a
lea ecx, [ebp + 8]
mov byte [ebp - 4], bl
call sub.MFC42.DLL_CString::CString
push str.mstalk.dll
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [esi + 0x28]
mov dword [0x475e94], ebx
mov dword [0x473528], eax
mov eax, dword [0x475e84]
cmp eax, 0xffffffff
mov byte [ebp - 4], 2
je 0x444c7e
mov ecx, 0x475e80
call sub.MFC42.DLL_CFile::Close
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edx, dword [ebp - 0x14]
push ebx
push 0x9042
push edx
mov ecx, 0x475e80
call sub.MFC42.DLL_CFile::Open
cmp eax, ebx
je 0x444cf5
mov eax, dword [0x475e80]
push ebx
push ebx
mov ecx, 0x475e80
call dword [eax + 0x30]
lea ecx, [ebp - 0x28]
push 0x10
push ecx
mov ecx, 0x475e80
call sub.MFC42.DLL_CFile::Write
mov dword [0x475e98], 1
jmp 0x444cf5
mov dword [ebp - 4], ebx
cmp dword [0x475e98], ebx
jne 0x444d18
mov eax, dword [0x475e84]
mov byte [ebp - 4], 8
cmp eax, 0xffffffff
je 0x444d18
mov ecx, 0x475e80
call sub.MFC42.DLL_CFile::Close
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4