Function at 0x406c20
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x41247d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x9c
push esi
push edi
lea ecx, [esp + 0x14]
mov dword [esp + 0xac], 0
call sub.MFC42.DLL_CFile::CFile_1
lea ecx, [esp + 0xc]
mov byte [esp + 0xac], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 8]
mov byte [esp + 0xac], 2
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0xb8]
lea edx, [esp + 0x10]
mov byte [esp + 0xac], 3
mov esi, dword [eax - 8]
lea ecx, [esi - 3]
push ecx
push edx
lea ecx, [esp + 0xc0]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0xb0], 4
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x10]
mov byte [esp + 0xac], 3
call fcn.0041128a
mov eax, dword [esp + 0xb8]
push 0
push 0
push eax
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CFile::Open
lea ecx, [esp + 0x64]
push 0x40
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CFile::Read
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CFile::Close
xor edi, edi
xor edx, edx
xor ecx, ecx
mov al, byte [esp + ecx + 0x64]
cmp al, 0x30
je 0x406d21
cmp al, 0x31
je 0x406d21
cmp al, 0x32
je 0x406d21
cmp al, 0x33
je 0x406d21
cmp al, 0x34
je 0x406d21
cmp al, 0x35
je 0x406d21
cmp al, 0x36
je 0x406d21
cmp al, 0x37
je 0x406d21
cmp al, 0x38
je 0x406d21
cmp al, 0x39
je 0x406d21
cmp al, 0x2e
jne 0x406d29
inc edx
cmp edx, ecx
jne 0x406d27
inc edi
mov edx, ecx
cmp edi, 4
jge 0x406d39
inc ecx
cmp ecx, 0x80
jl 0x406cf1
jmp 0x406d3e
mov esi, 1
mov eax, dword [esp + 0xb4]
and eax, 0xff
sub eax, 0
je 0x406e90
dec eax
jne 0x406f64
cmp esi, 1
jne 0x406db3
lea ecx, [esp + 8]
mov byte [esp + 0xac], 2
call fcn.0041128a
lea ecx, [esp + 0xc]
mov byte [esp + 0xac], 1
call fcn.0041128a
lea ecx, [esp + 0x14]
mov byte [esp + 0xac], 0
call fcn.00411416
lea ecx, [esp + 0xb8]
mov dword [esp + 0xac], 0xffffffff
call fcn.0041128a
mov eax, 1
jmp 0x406fb0
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CFileFind::CFileFind
lea edx, [esp + 0xc]
push 0x418820
lea eax, [esp + 0x14]
push edx
push eax
mov byte [esp + 0xb8], 7
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0xb0], 8
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x10]
mov byte [esp + 0xac], 7
call fcn.0041128a
mov ecx, dword [esp + 8]
push 0
push ecx
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CFileFind::FindFile
cmp eax, 1
jne 0x406e30
mov edx, dword [esp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x406e30
mov byte [esp + 0xac], 3
lea ecx, [esp + 0x2c]
jmp 0x406f5f
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xb8]
push eax
push ecx
call sub.MFC42.DLL_CFile::Rename
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xb8]
push edx
push eax
lea ecx, [esp + 0x14]
push str.Rename__s_to__s
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea edx, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42.DLL_CString::CString_2
push 2
push 0
mov ecx, 0x41ac48
call fcn.00407c70
mov byte [esp + 0xac], 3
lea ecx, [esp + 0x2c]
jmp 0x406f5f
cmp esi, 1
jne 0x406d5f
lea ecx, [esp + 0x48]
call sub.MFC42.DLL_CFileFind::CFileFind
lea eax, [esp + 0xc]
push 0x418a50
lea ecx, [esp + 0x2c]
push eax
push ecx
mov byte [esp + 0xb8], 5
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0xb0], 6
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x28]
mov byte [esp + 0xac], 5
call fcn.0041128a
mov edx, dword [esp + 8]
push 0
push edx
lea ecx, [esp + 0x50]
call sub.MFC42.DLL_CFileFind::FindFile
cmp eax, esi
jne 0x406f04
mov eax, dword [esp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x406f53
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
push ecx
push edx
call sub.MFC42.DLL_CFile::Rename
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xb8]
push eax
push ecx
lea edx, [esp + 0x14]
push str.Rename__s_to__s
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea eax, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call sub.MFC42.DLL_CString::CString_2
push 2
push 0
mov ecx, 0x41ac48
call fcn.00407c70
mov byte [esp + 0xac], 3
lea ecx, [esp + 0x48]
call fcn.0041147c
lea ecx, [esp + 8]
mov byte [esp + 0xac], 2
call fcn.0041128a
lea ecx, [esp + 0xc]
mov byte [esp + 0xac], 1
call fcn.0041128a
lea ecx, [esp + 0x14]
mov byte [esp + 0xac], 0
call fcn.00411416
lea ecx, [esp + 0xb8]
mov dword [esp + 0xac], 0xffffffff
call fcn.0041128a
xor eax, eax
mov ecx, dword [esp + 0xa4]
pop edi
mov dword fs:[0], ecx
pop esi
add esp, 0xa8
ret 8