Function at 0x4046d0
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x40bf37
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x348
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov edi, str.C:WINDOWSTempOfilmTemp_
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x150]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x360], 1
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x150]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42.DLL_CString::CString_1
call fcn.0040ad30
lea eax, [esp + 0x154]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_1
call fcn.0040a7a0
mov edi, dword [esp + 0x36c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x258]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x25c]
push ecx
call fcn.0040a630
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4047b7
push 0x4113d4
push ebp
call fcn.00402390
add esp, 8
lea edx, [esp + 0x254]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x4047e5
push ecx
lea eax, [esp + 0x370]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_2
call fcn.0040ad30
add esp, 4
test eax, eax
jne 0x404817
push 0x4113c0
push ebp
call fcn.00402390
add esp, 8
lea ecx, [esp + 0x368]
mov byte [esp + 0x360], 0
call fcn.0040b184
lea ecx, [esp + 0x36c]
mov dword [esp + 0x360], 0xffffffff
call fcn.0040b184
xor eax, eax
jmp 0x4049e0
lea ecx, [esp + 0x24]
push ecx
push 0xffffffffffffffff
push ebx
call fcn.0040a650
mov esi, dword [esp + 0x30]
add esp, 0xc
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], esi
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x360], 2
call sub.MFC42.DLL_CString::CString
xor ebp, ebp
mov byte [esp + 0x360], 3
test esi, esi
jle 0x40493b
lea edx, [esp + 0x24]
push edx
push ebp
push ebx
call fcn.0040a650
add esp, 0xc
lea eax, [esp + 0x28]
lea ecx, [esp + 0x10]
push eax
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::operator_1
lea edx, [esp + 0x10]
lea eax, [esp + 0x150]
push edx
lea ecx, [esp + 0x20]
push eax
push ecx
call sub.MFC42.DLL_operator_2
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x364], 4
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x1c]
mov byte [esp + 0x360], 3
call fcn.0040b184
mov edi, dword [esp + 0x10]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x28]
push ecx
push ebp
push ebx
call fcn.0040a6f0
add esp, 0xc
lea edx, [esp + 0x18]
lea eax, [esp + 0x36c]
lea ecx, [esp + 0x20]
push edx
push eax
push ecx
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x364], 5
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x20]
mov byte [esp + 0x360], 3
call fcn.0040b184
mov eax, dword [esp + 0x14]
inc ebp
cmp ebp, eax
jl 0x40485b
push ebx
call fcn.0040a710
lea edx, [esp + 0x370]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42.DLL_CString::CString_2
push ecx
lea eax, [esp + 0x158]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
mov byte [esp + 0x36c], 6
call sub.MFC42.DLL_CString::CString_1
mov byte [esp + 0x368], 3
call fcn.0040aa00
add esp, 8
lea ecx, [esp + 0x254]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x18]
mov byte [esp + 0x360], 2
call fcn.0040b184
lea ecx, [esp + 0x10]
mov byte [esp + 0x360], 1
call fcn.0040b184
lea ecx, [esp + 0x368]
mov byte [esp + 0x360], 0
call fcn.0040b184
lea ecx, [esp + 0x36c]
mov dword [esp + 0x360], 0xffffffff
call fcn.0040b184
mov eax, 1
mov ecx, dword [esp + 0x358]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x354
ret 8