Function at 0x40e998
Capabilities:
Copy file
Delete file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov ecx, 7
push 0
push 0
dec ecx
jne 0x40e9a0
push ebx
push esi
push edi
mov ebx, eax
mov edi, 0x442a10
xor eax, eax
push ebp
push 0x40ec93
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x4429fc], 0
je 0x40e9ce
call dword [0x4429fc]
mov edx, dword [0x442a1c]
mov eax, 0x80000002
call fcn.004066a8
mov esi, eax
lea ecx, [ebp - 0x10]
mov edx, 0x40ecac
mov eax, esi
call fcn.004067d8
push dword [ebp - 0x10]
push 0x40ecc4
push dword [0x4429f8]
lea eax, [ebp - 4]
mov edx, 3
call fcn.00403e68
mov eax, esi
call fcn.004068b4
mov eax, dword [ebp - 4]
call fcn.0040668c
push dword [ebp - 4]
push 0x40ecc4
push dword [0x4429f8]
push 0x40ecd0
mov eax, edi
mov edx, 4
call fcn.00403e68
push 0
mov eax, dword [edi]
call fcn.00403fa8
push eax
lea edx, [ebp - 0x14]
xor eax, eax
call fcn.00406478
mov eax, dword [ebp - 0x14]
call fcn.00403fa8
push eax
call sub.kernel32.dll_CopyFileA
push 0x80
mov eax, dword [edi]
call fcn.00403fa8
push eax
call sub.kernel32.dll_SetFileAttributesA
test bl, bl
je 0x40eb1b
push 0x40ece0
push dword [edi]
push 0x40ee9c
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403e68
push dword [ebp - 4]
push 0x40ecc4
push dword [0x4429f8]
push 0x40eec8
lea eax, [ebp - 0xc]
mov edx, 4
call fcn.00403e68
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
call fcn.0040651c
push 0
push 0xfa0
push 0
push 0x40eed8
push dword [0x4429f8]
push 0x40eef0
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0xc]
call fcn.004064e0
push dword [ebp - 0x20]
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.00403e68
mov eax, dword [ebp - 0x1c]
call fcn.00403fa8
mov edx, eax
lea eax, [ebp - 0x18]
call fcn.00403ce8
mov edx, dword [ebp - 0x18]
xor ecx, ecx
mov eax, 0x40ef00
call fcn.00409d80
mov eax, dword [ebp - 0xc]
call fcn.00403fa8
push eax
call sub.kernel32.dll_DeleteFileA
lea eax, [ebp - 0x24]
mov ecx, dword [0x4429f8]
mov edx, 0x40ef14
call fcn.00403df4
mov edx, dword [ebp - 0x24]
mov eax, 0x80000002
call fcn.00406708
mov esi, eax
mov eax, dword [edi]
call fcn.00403fa8
mov edx, eax
lea eax, [ebp - 0x28]
call fcn.00403ce8
mov ecx, dword [ebp - 0x28]
mov edx, 0x40ef28
mov eax, esi
call fcn.00406874
mov eax, esi
call fcn.004068b4
push dword [0x442a1c]
push 0x40ef44
push 0x40ecc4
push dword [0x4429f8]
lea eax, [ebp - 0x2c]
mov edx, 4
call fcn.00403e68
mov edx, dword [ebp - 0x2c]
mov eax, 0x80000002
call fcn.00406708
mov esi, eax
mov ecx, dword [0x442a08]
mov edx, 0x40ef58
mov eax, esi
call fcn.00406874
push 0x40ef6c
push dword [edi]
push 0x40ef78
push 0x40ef44
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.00403e68
mov eax, dword [ebp - 0x34]
call fcn.00403fa8
mov edx, eax
lea eax, [ebp - 0x30]
call fcn.00403ce8
mov ecx, dword [ebp - 0x30]
mov edx, 0x40ef84
mov eax, esi
call fcn.00406874
mov ecx, 1
mov edx, 0x40ef9c
mov eax, esi
call fcn.0040683c
mov ecx, 1
mov edx, 0x40efb0
mov eax, esi
call fcn.0040683c
mov ecx, dword [0x442a0c]
mov edx, 0x40efc4
mov eax, esi
call fcn.00406874
lea eax, [ebp - 0x38]
mov ecx, 0x40efd8
mov edx, dword [edi]
call fcn.00403df4
mov ecx, dword [ebp - 0x38]
mov edx, 0x40efe4
mov eax, esi
call fcn.00406874
push 0
push 0x400
mov eax, dword [edi]
call fcn.004065cc
call fcn.00404604
mov ecx, eax
mov edx, 0x40eff8
mov eax, esi
call fcn.0040683c
mov ecx, dword [0x4429ec]
mov edx, 0x40f010
mov eax, esi
call fcn.00406874
mov eax, esi
call fcn.004068b4
call fcn.0040e8f8