Function at 0x4070c2
Capabilities:
Delete file
Get file attributes
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x28d0
call fcn.00435c70
push edi
mov byte [ebp - 0x28a0], 0
mov ecx, 0xa27
xor eax, eax
lea edi, [ebp - 0x289f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
and eax, 1
test eax, eax
je 0x407106
push 0
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0
push 0x80000000
push 3
push 0
push 3
push 0x40000000
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x28b4], eax
cmp dword [ebp - 0x28b4], 0xffffffff
jne 0x407145
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00406ed9
add esp, 4
jmp 0x407388
cmp dword [ebp + 0x10], 0
jne 0x407155
cmp dword [ebp + 0xc], 0
je 0x407337
mov eax, dword [ebp + 0x10]
sub eax, 1
mov dword [ebp + 0x10], eax
cmp dword [ebp + 0x10], 0xffffffff
jne 0x407173
cmp dword [ebp + 0xc], 0
je 0x407173
mov ecx, dword [ebp + 0xc]
sub ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x28c0], edx
push 0
lea eax, [ebp - 0x28c0]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0x28b4]
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
push 1
mov eax, dword [ebp - 0x28b4]
push eax
call fcn.00406907
add esp, 0xc
and eax, 0xff
test eax, eax
jne 0x4071d3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00406ed9
add esp, 4
mov ecx, dword [ebp - 0x28b4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x407388
push 0
push 0
push 0
mov edx, dword [ebp - 0x28b4]
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x28b0], eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x28ac], ecx
mov dword [ebp - 0x28bc], 0
mov dword [ebp - 0x28b8], 0
mov edx, dword [ebp - 0x28b8]
cmp edx, dword [ebp - 0x28ac]
ja 0x407337
jb 0x407232
mov eax, dword [ebp - 0x28bc]
cmp eax, dword [ebp - 0x28b0]
jae 0x407337
xor ecx, ecx
mov cl, byte [0x496758]
test ecx, ecx
je 0x407250
mov edx, dword [ebp - 0x28b4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x407388
mov eax, dword [ebp - 0x28b0]
sub eax, dword [ebp - 0x28bc]
mov ecx, dword [ebp - 0x28ac]
sbb ecx, dword [ebp - 0x28b8]
mov dword [ebp - 0x28c8], eax
mov dword [ebp - 0x28c4], ecx
cmp dword [ebp - 0x28c4], 0
ja 0x4072b1
jb 0x40728b
cmp dword [ebp - 0x28c8], 0x10000
jae 0x4072b1
mov edx, dword [ebp - 0x28b0]
sub edx, dword [ebp - 0x28bc]
mov eax, dword [ebp - 0x28ac]
sbb eax, dword [ebp - 0x28b8]
mov dword [ebp - 0x28d0], edx
mov dword [ebp - 0x28cc], eax
jmp 0x4072c5
mov dword [ebp - 0x28d0], 0x10000
mov dword [ebp - 0x28cc], 0
mov ecx, dword [ebp - 0x28d0]
mov dword [ebp - 0x28a8], ecx
mov edx, dword [ebp - 0x28cc]
mov dword [ebp - 0x28a4], edx
mov eax, dword [ebp - 0x28a8]
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp - 0x28b4]
push edx
call fcn.00406907
add esp, 0xc
and eax, 0xff
test eax, eax
jne 0x40730e
mov eax, dword [ebp - 0x28b4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x407388
mov ecx, dword [ebp - 0x28bc]
add ecx, dword [ebp - 0x28a8]
mov edx, dword [ebp - 0x28b8]
adc edx, dword [ebp - 0x28a4]
mov dword [ebp - 0x28bc], ecx
mov dword [ebp - 0x28b8], edx
jmp 0x40720c
mov eax, dword [ebp - 0x28b4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x28a0]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00406db6
add esp, 8
lea eax, [ebp - 0x28a0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x407388
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00406ed9
add esp, 4
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x28a0]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
pop edi
mov esp, ebp
pop ebp
ret