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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe48
mov eax, dword [0x1008b008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov dword [0x1008dc44], eax
mov edi, 0x20a
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [0x1008dc48], eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [0x1008dc40], eax
lea eax, [ebp - 0x82c]
push esi
push eax
call fcn.10048ed0
push edi
lea eax, [ebp - 0x620]
push esi
push eax
call fcn.10048ed0
push edi
lea eax, [ebp - 0xa38]
push esi
push eax
call fcn.10048ed0
add esp, 0x24
lea ecx, [ebp - 0x82c]
call fcn.10002f9a
lea ecx, [ebp - 0x620]
call fcn.10002f9a
lea ecx, [ebp - 0xa38]
call fcn.10002f9a
xor eax, eax
mov word [ebp - 0x624], ax
mov word [ebp - 0x418], ax
mov word [ebp - 0x830], ax
cmp word [ebp - 0x82c], ax
je 0x100022b9
cmp word [ebp - 0x620], ax
je 0x100022b9
cmp word [ebp - 0xa38], ax
je 0x100022b9
push ebx
mov edi, 0x410
lea eax, [ebp - 0x414]
push edi
push esi
push eax
call fcn.10048ed0
push edi
lea eax, [ebp - 0xe48]
push esi
push eax
call fcn.10048ed0
lea eax, [ebp - 0x82c]
push eax
lea eax, [ebp - 0x414]
push eax
call fcn.1004e8f7
lea eax, [ebp - 0x414]
push 0x1007a958
push eax
call fcn.1004e919
lea eax, [ebp - 0x620]
push eax
lea eax, [ebp - 0x414]
push eax
call fcn.1004e919
add esp, 0x30
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor ebx, ebx
inc ebx
cmp eax, 0xffffffff
je 0x100021c9
test al, 0x10
jne 0x100021c9
lea eax, [ebp - 0x414]
push eax
call edi
test eax, eax
jne 0x100022b8
push esi
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea eax, [ebp - 0x414]
push eax
call edi
test eax, eax
jne 0x100022b8
mov edi, ebx
push edi
lea eax, [ebp - 0x620]
push eax
lea eax, [ebp - 0xa38]
push eax
push 0x1007a95c
lea eax, [ebp - 0xe48]
push 0x207
push eax
call fcn.10001e56
add esp, 0x18
lea eax, [ebp - 0xe48]
push 9
push eax
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x100021c3
inc edi
cmp edi, 3
jbe 0x1000217b
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x10002257
test al, 0x10
jne 0x10002257
lea eax, [ebp - 0x414]
push eax
call edi
test eax, eax
jne 0x100022b8
push esi
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea eax, [ebp - 0x414]
push eax
call edi
test eax, eax
jne 0x100022b8
push ebx
lea eax, [ebp - 0x620]
push eax
lea eax, [ebp - 0x82c]
push eax
push 0x1007a95c
lea eax, [ebp - 0xe48]
push 0x207
push eax
call fcn.10001e56
add esp, 0x18
lea eax, [ebp - 0xe48]
push 9
push eax
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x100022b8
inc ebx
cmp ebx, 0xa
jbe 0x1000220f
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x100022b8
test al, 0x10
jne 0x100022b8
push esi
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x100022b8
call edi
cmp eax, 0x20
je 0x100022a7
call edi
cmp eax, 0x21
je 0x100022a7
cmp esi, 0x32
ja 0x100022b8
jmp 0x100022af
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 0x258
jb 0x10002281
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.10045825
leave
ret