Function at 0x4df990
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4feeb9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x3694
call fcn.004f2fa0
mov eax, dword [0x540cc0]
push ebx
push esi
push edi
lea ecx, [esp + 0xc]
mov dword [esp + 0x369c], eax
call sub.MFC71.DLL_CFile::CFile
mov esi, dword [ebp + 8]
xor ebx, ebx
push ebx
push 2
push esi
lea ecx, [esp + 0x18]
mov dword [esp + 0x36b8], ebx
call sub.MFC71.DLL_CFile::Open
test eax, eax
lea ecx, [esp + 0xc]
je 0x4dfd79
call sub.MFC71.DLL_CFile::GetLength
cmp eax, 0x1658
jne 0x4dfd6c
xor eax, eax
mov ecx, 0x216
lea edi, [esp + 0xe20]
rep stosd dword es:[edi], eax
push 0x858
lea eax, [esp + 0xe24]
push eax
lea ecx, [esp + 0x14]
call sub.MFC71.DLL_CFile::Read
cmp eax, 0x858
jne 0x4dfd6c
lea edi, [esp + 0x620]
jmp 0x4dfa40
xor ecx, ecx
mov edx, edi
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], ecx
mov dword [edx + 0x18], ecx
push 0x20
mov dword [edx + 0x1c], ecx
push edi
lea ecx, [esp + 0x14]
call sub.MFC71.DLL_CFile::Read
test eax, eax
je 0x4dfd6c
inc ebx
add edi, 0x20
cmp ebx, 0x40
jl 0x4dfa40
push 0x200
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x14]
call sub.MFC71.DLL_CFile::Read
test eax, eax
je 0x4dfd6c
push 0x200
lea ecx, [esp + 0x224]
push ecx
lea ecx, [esp + 0x14]
call sub.MFC71.DLL_CFile::Read
test eax, eax
lea ecx, [esp + 0xc]
je 0x4dfd70
push 0x100
lea edx, [esp + 0x424]
push edx
call sub.MFC71.DLL_CFile::Read
test eax, eax
lea ecx, [esp + 0xc]
je 0x4dfd70
push 0x100
lea eax, [esp + 0x524]
push eax
call sub.MFC71.DLL_CFile::Read
test eax, eax
je 0x4dfd6c
push 0x2130
call sub.MFC71.DLL_operator_new_1
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov byte [esp + 0x36ac], 1
je 0x4dfb19
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, eax
call fcn.004e7050
mov ebx, eax
jmp 0x4dfb1b
xor ebx, ebx
lea edx, [esp + 0x104a]
push edx
mov byte [esp + 0x36b0], 0
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
mov eax, dword [esp + 0xe20]
jne 0x4dfb48
test eax, eax
jne 0x4dfb48
mov edi, 1
mov ecx, dword [esp + 0xe2e]
cmp ecx, dword [esp + 0xe26]
jne 0x4dfb68
mov edx, dword [esp + 0xe32]
cmp edx, dword [esp + 0xe2a]
je 0x4dfb71
test eax, eax
je 0x4dfb71
mov edi, 1
lea ecx, [esp + 0xc]
call sub.MFC71.DLL_CFile::Close
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test edi, edi
je 0x4dfbc3
mov eax, dword [ebx]
lea ecx, [esp + 0x1462]
push ecx
push 5
push 0
lea edx, [esp + 0x125e]
push edx
lea ecx, [esp + 0x115e]
push ecx
mov ecx, ebx
call dword [eax + 0x54]
lea ecx, [esp + 0xc]
mov dword [esp + 0x36ac], 0xffffffff
call fcn.004f234e
mov eax, ebx
jmp 0x4dfd8b
mov edx, dword [esp + 0xe26]
mov esi, dword [sym.imp.MSVCR71.dll__snprintf]
xor eax, eax
mov ecx, 0x808
lea edi, [esp + 0x1678]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xe2e]
mov ecx, dword [esp + 0xe20]
mov dword [esp + 0x1682], eax
lea eax, [esp + 0x1252]
push eax
push 0x520204
mov dword [esp + 0x1680], ecx
mov dword [esp + 0x1686], edx
mov edx, dword [esp + 0xe46]
lea ecx, [esp + 0x2696]
push 0x3ff
push ecx
mov dword [esp + 0x169a], edx
call esi
lea edx, [esp + 0x1472]
push edx
push 0x520204
lea eax, [esp + 0x2eae]
push 0x3ff
push eax
call esi
lea ecx, [esp + 0x106a]
push ecx
push 0x520204
lea edx, [esp + 0x1eb6]
push 0x3ff
push edx
call esi
lea eax, [esp + 0x117e]
push eax
push 0x520204
lea ecx, [esp + 0x22c6]
push 0x3ff
push ecx
call esi
mov edx, dword [ebx]
add esp, 0x40
mov eax, 0x2020
lea esi, [esp + 0x1678]
call fcn.004f2fa0
mov edi, esp
mov ecx, 0x808
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call dword [edx + 0x50]
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax + 0xcc]
mov ecx, dword [esp + 0x167e]
push ecx
push 0
mov ecx, ebx
call fcn.004e1e30
xor esi, esi
jmp 0x4dfcd0
mov edx, dword [esp + esi + 0x28]
or edx, dword [esp + esi + 0x2c]
je 0x4dfba8
mov ecx, dword [esp + esi + 0x220]
mov edx, dword [esp + esi + 0x20]
mov eax, dword [ebx]
push 0x20000
push 0
push 0
push ecx
push edx
lea ecx, [esp + 0x1476]
push ecx
lea edx, [esp + 0x126a]
push edx
mov ecx, ebx
call dword [eax + 0x144]
test eax, eax
je 0x4dfd62
mov edx, dword [esp + esi + 0x20]
mov ecx, dword [esp + esi + 0x28]
mov edi, dword [esp + esi + 0x24]
sub ecx, edx
mov edx, dword [esp + esi + 0x2c]
sbb edx, edi
cmp ecx, dword [esp + esi + 0x220]
jne 0x4dfd44
cmp edx, dword [esp + esi + 0x224]
jne 0x4dfd44
mov dword [eax + 0x418], 3
jmp 0x4dfd4e
mov dword [eax + 0x418], 0
add esi, 8
cmp esi, 0x200
jl 0x4dfcd0
jmp 0x4dfba8
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
jmp 0x4dfd75
lea ecx, [esp + 0xc]
call sub.MFC71.DLL_CFile::Close
lea ecx, [esp + 0xc]
mov dword [esp + 0x36ac], 0xffffffff
call fcn.004f234e
xor eax, eax
mov ecx, dword [esp + 0x36a4]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x369c]
call fcn.004f2f91
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8