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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x230
mov eax, dword [0x101203c]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [ebp - 0x230], eax
xor eax, eax
mov byte [ebp - 0x20], 0
lea edi, [ebp - 0x1f]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov esi, 0x104
push esi
stosb byte es:[edi], al
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 0x10165c8
lea eax, [ebp - 0x124]
push eax
call edi
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
mov eax, dword [0x1016c8c]
dec eax
je 0x10089c2
dec eax
je 0x100885f
and dword [ebp - 0x22c], 0
jmp 0x1008a87
push 1
push 0x10014d0
call fcn.0100cbb8
mov eax, esi
sub eax, ebx
push eax
push 0x1005768
lea eax, [ebp + ebx - 0x124]
push eax
call edi
push esi
push 0x10166cc
lea eax, [ebp - 0x228]
push eax
call edi
push esi
push 0x1005774
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCatBuffA]
push 0x14
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x10059d4
call fcn.0100c72b
test eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
je 0x10088d2
xor eax, eax
cmp word [ebp - 0xc], 5
setne al
lea eax, [eax + eax + 5]
jmp 0x1008957
push 0x14
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x10059ac
call fcn.0100c72b
test eax, eax
jne 0x1008933
push 0x14
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x1005714
call fcn.0100c9df
test eax, eax
jge 0x1008933
lea eax, [ebp - 0x124]
push eax
call esi
cmp eax, 0xffffffff
jne 0x1008919
and dword [ebp - 0x22c], 0
jmp 0x100895d
lea eax, [ebp - 0x228]
push eax
call esi
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
inc ecx
mov dword [ebp - 0x22c], ecx
jmp 0x100895d
cmp word [ebp - 0xc], 5
jne 0x1008946
mov dword [ebp - 0x22c], 4
jmp 0x100895d
xor eax, eax
cmp word [ebp - 0xc], 4
setne al
lea eax, [eax*4 + 3]
mov dword [ebp - 0x22c], eax
cmp dword [0x1016c80], 0
je 0x1008a73
lea eax, [ebp - 0x124]
push eax
call esi
cmp eax, 0xffffffff
mov ebx, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
je 0x1008998
and eax, 0xfffffffe
push eax
lea eax, [ebp - 0x124]
push eax
call ebx
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x228]
push eax
call esi
cmp eax, 0xffffffff
je 0x1008a73
and eax, 0xfffffffe
push eax
lea eax, [ebp - 0x228]
push eax
call ebx
lea eax, [ebp - 0x228]
jmp 0x1008a6c
push 1
push 0x10014b0
call fcn.0100cbb8
sub esi, ebx
push esi
push 0x100577c
lea eax, [ebp + ebx - 0x124]
push eax
call edi
push 0x14
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x10059ac
call fcn.0100c72b
test eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
jne 0x1008a2f
push 0x14
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x1005714
call fcn.0100c9df
test eax, eax
jge 0x1008a2f
lea eax, [ebp - 0x124]
push eax
call esi
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov dword [ebp - 0x22c], ecx
jmp 0x1008a3e
lea eax, [ebp - 0xc]
push eax
call fcn.0100c51a
mov dword [ebp - 0x22c], eax
cmp dword [0x1016c80], 0
je 0x1008a73
lea eax, [ebp - 0x124]
push eax
call esi
cmp eax, 0xffffffff
je 0x1008a73
and eax, 0xfffffffe
push eax
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x22c]
push 0
push dword [eax*4 + 0x1001420]
call fcn.0100cbb8
cmp byte [ebp - 0x20], 0
je 0x1008a92
lea eax, [ebp - 0x20]
jmp 0x1008aab
mov eax, dword [ebp - 0x22c]
cmp eax, 5
jbe 0x1008aa4
mov eax, 0x10051a8
jmp 0x1008aab
mov eax, dword [eax*4 + 0x100140c]
push dword [ebp + 0xc]
push eax
push dword [ebp - 0x230]
call edi
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x22c]
pop edi
pop esi
pop ebx
call fcn.0100d038
leave
ret 8