Function at 0x100042d0
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x705c
call fcn.100bb1c0
mov eax, dword [0x10123068]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov eax, dword [ebp + 8]
mov dword [0x10125d80], eax
mov ecx, dword [ebp + 0xc]
mov dword [0x10128404], ecx
mov edx, dword [ebp + 0x14]
mov dword [0x10128408], edx
mov eax, dword [ebp + 0x10]
mov dword [0x10128400], eax
push 0x1002
push 0
lea ecx, [ebp - 0x400c]
push ecx
call fcn.100bc780
add esp, 0xc
push 0x1002
push 0
lea edx, [ebp - 0x3008]
push edx
call fcn.100bc780
add esp, 0xc
push 0x1002
push 0
lea eax, [ebp - 0x5010]
push eax
call fcn.100bc780
add esp, 0xc
lea ecx, [ebp - 0x400c]
call fcn.1001c440
lea ecx, [ebp - 0x3008]
call fcn.1001c440
lea ecx, [ebp - 0x5010]
call fcn.1001c440
mov ecx, 2
shl ecx, 0xb
mov dword [ebp - 0x7044], ecx
cmp dword [ebp - 0x7044], 0x1002
jae 0x1000438a
jmp 0x1000438f
call fcn.100ba547
xor edx, edx
mov eax, dword [ebp - 0x7044]
mov word [ebp + eax - 0x400c], dx
mov ecx, 2
shl ecx, 0xb
mov dword [ebp - 0x7048], ecx
cmp dword [ebp - 0x7048], 0x1002
jae 0x100043bb
jmp 0x100043c0
call fcn.100ba547
xor edx, edx
mov eax, dword [ebp - 0x7048]
mov word [ebp + eax - 0x3008], dx
mov ecx, 2
shl ecx, 0xb
mov dword [ebp - 0x704c], ecx
cmp dword [ebp - 0x704c], 0x1002
jae 0x100043ec
jmp 0x100043f1
call fcn.100ba547
xor edx, edx
mov eax, dword [ebp - 0x704c]
mov word [ebp + eax - 0x5010], dx
mov ecx, 2
imul edx, ecx, 0
movzx eax, word [ebp + edx - 0x400c]
test eax, eax
je 0x1000443d
mov ecx, 2
imul edx, ecx, 0
movzx eax, word [ebp + edx - 0x3008]
test eax, eax
je 0x1000443d
mov ecx, 2
imul edx, ecx, 0
movzx eax, word [ebp + edx - 0x5010]
test eax, eax
jne 0x10004442
jmp 0x1000481a
push 0x2000
push 0
lea ecx, [ebp - 0x2004]
push ecx
call fcn.100bc780
add esp, 0xc
push 0x2000
push 0
lea edx, [ebp - 0x7010]
push edx
call fcn.100bc780
add esp, 0xc
lea eax, [ebp - 0x400c]
mov dword [ebp - 0x7040], eax
lea ecx, [ebp - 0x2004]
mov dword [ebp - 0x7020], ecx
mov edx, dword [ebp - 0x7020]
mov dword [ebp - 0x705c], edx
mov eax, dword [ebp - 0x7040]
mov cx, word [eax]
mov word [ebp - 0x7016], cx
mov edx, dword [ebp - 0x7020]
mov ax, word [ebp - 0x7016]
mov word [edx], ax
mov ecx, dword [ebp - 0x7040]
add ecx, 2
mov dword [ebp - 0x7040], ecx
mov edx, dword [ebp - 0x7020]
add edx, 2
mov dword [ebp - 0x7020], edx
cmp word [ebp - 0x7016], 0
jne 0x10004492
lea eax, [ebp - 0x2004]
add eax, 0xfffffffe
mov dword [ebp - 0x7024], eax
mov ecx, dword [ebp - 0x7024]
mov dx, word [ecx + 2]
mov word [ebp - 0x7036], dx
add dword [ebp - 0x7024], 2
cmp word [ebp - 0x7036], 0
jne 0x100044e9
mov edi, dword [ebp - 0x7024]
mov eax, dword [0x101027c8]
mov dword [edi], eax
lea ecx, [ebp - 0x3008]
mov dword [ebp - 0x701c], ecx
mov edx, dword [ebp - 0x701c]
mov dword [ebp - 0x7050], edx
mov eax, dword [ebp - 0x701c]
mov cx, word [eax]
mov word [ebp - 0x7038], cx
add dword [ebp - 0x701c], 2
cmp word [ebp - 0x7038], 0
jne 0x10004530
mov edx, dword [ebp - 0x701c]
sub edx, dword [ebp - 0x7050]
mov eax, dword [ebp - 0x7050]
mov dword [ebp - 0x7054], eax
mov dword [ebp - 0x7058], edx
lea ecx, [ebp - 0x2004]
add ecx, 0xfffffffe
mov dword [ebp - 0x7028], ecx
mov edx, dword [ebp - 0x7028]
mov ax, word [edx + 2]
mov word [ebp - 0x703a], ax
add dword [ebp - 0x7028], 2
cmp word [ebp - 0x703a], 0
jne 0x1000457e
mov edi, dword [ebp - 0x7028]
mov esi, dword [ebp - 0x7054]
mov edx, dword [ebp - 0x7058]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x2004]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [ebp - 0x7014], eax
cmp dword [ebp - 0x7014], 0xffffffff
je 0x1000469a
mov ecx, dword [ebp - 0x7014]
and ecx, 0x10
jne 0x1000469a
lea edx, [ebp - 0x2004]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x10004605
jmp 0x1000481a
push 0
lea eax, [ebp - 0x2004]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [ebp - 0x2004]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x1000462a
jmp 0x1000481a
mov dword [ebp - 0x702c], 1
jmp 0x10004645
mov edx, dword [ebp - 0x702c]
add edx, 1
mov dword [ebp - 0x702c], edx
cmp dword [ebp - 0x702c], 3
ja 0x1000469a
mov eax, dword [ebp - 0x702c]
push eax
lea ecx, [ebp - 0x3008]
push ecx
lea edx, [ebp - 0x5010]
push edx
push str._s_s__02d.tmp
push 0xfff
lea eax, [ebp - 0x7010]
push eax
call fcn.10003540
add esp, 0x18
push 9
lea ecx, [ebp - 0x7010]
push ecx
lea edx, [ebp - 0x2004]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x10004698
jmp 0x1000469a
jmp 0x10004636
lea eax, [ebp - 0x2004]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [ebp - 0x7014], eax
cmp dword [ebp - 0x7014], 0xffffffff
je 0x10004777
mov ecx, dword [ebp - 0x7014]
and ecx, 0x10
jne 0x10004777
lea edx, [ebp - 0x2004]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x100046df
jmp 0x1000481a
push 0
lea eax, [ebp - 0x2004]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [ebp - 0x2004]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x10004704
jmp 0x1000481a
mov dword [ebp - 0x7030], 1
jmp 0x1000471f
mov edx, dword [ebp - 0x7030]
add edx, 1
mov dword [ebp - 0x7030], edx
cmp dword [ebp - 0x7030], 0xa
ja 0x10004777
mov eax, dword [ebp - 0x7030]
push eax
lea ecx, [ebp - 0x3008]
push ecx
lea edx, [ebp - 0x400c]
push edx
push str._s_s__02d.tmp
push 0xfff
lea eax, [ebp - 0x7010]
push eax
call fcn.10003540
add esp, 0x18
push 9
lea ecx, [ebp - 0x7010]
push ecx
lea edx, [ebp - 0x2004]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x10004775
jmp 0x1000481a
jmp 0x10004710
lea eax, [ebp - 0x2004]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [ebp - 0x7014], eax
cmp dword [ebp - 0x7014], 0xffffffff
je 0x1000481a
mov ecx, dword [ebp - 0x7014]
and ecx, 0x10
jne 0x1000481a
push 0
lea edx, [ebp - 0x2004]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov dword [ebp - 0x7034], 0
jmp 0x100047cc
mov eax, dword [ebp - 0x7034]
add eax, 1
mov dword [ebp - 0x7034], eax
cmp dword [ebp - 0x7034], 0x258
jae 0x1000481a
lea ecx, [ebp - 0x2004]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x100047ed
jmp 0x1000481a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x20
je 0x10004803
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x21
jne 0x1000480d
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10004818
cmp dword [ebp - 0x7034], 0x32
jbe 0x10004818
jmp 0x1000481a
jmp 0x100047bd
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100ba074
mov esp, ebp
pop ebp
ret