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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x102c22c]
mov ecx, dword [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
push ebx
push esi
mov dword [ebp - 0x124], eax
mov eax, ecx
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x110], ecx
lea esi, [eax + 1]
xor ebx, ebx
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x100ea4a
sub eax, esi
mov esi, 0x104
cmp eax, esi
ja 0x100eecb
lea edx, [ebp - 0x108]
mov eax, ecx
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x100ea6a
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.msvcrt.dll__mbslwr]
test byte [ebp + 0x13], 4
pop ecx
jne 0x100ead1
push 0x10024e8
push edi
call fcn.010150e8
push eax
call dword [sym.imp.ntdll.dll__strcmpi]
test eax, eax
pop ecx
pop ecx
jne 0x100ead1
push 0xfffa
push 0x106f8a0
push 0x10024e0
push dword [0x103e48c]
call fcn.01015121
push 0x103e100
push 0x106f8a0
call fcn.0101d7ab
test eax, eax
jne 0x100ee71
push 0xf
pop eax
lea ecx, [ebp - 0x10c]
push ecx
push eax
push edi
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0x11c], eax
call fcn.01018298
test eax, eax
jne 0x100eb0c
and dword [ebp - 0x11c], 0xfffffff7
lea eax, [ebp - 0x10c]
push eax
push dword [ebp - 0x11c]
push edi
call fcn.01018298
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
mov dword [ebp - 0x118], eax
jne 0x100eb28
mov dword [ebp - 0x118], 0x80
push 0x10024e0
push edi
call fcn.010150e8
push eax
call dword [sym.imp.ntdll.dll__strcmpi]
test eax, eax
pop ecx
pop ecx
je 0x100eecf
push 0x10024e8
push edi
call fcn.010150e8
push eax
call dword [sym.imp.ntdll.dll__strcmpi]
test eax, eax
pop ecx
pop ecx
je 0x100eecf
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x114], 1
cmp dword [ebp - 0x120], ebx
jne 0x100ee0b
push edi
call fcn.0101a165
push dword [0x103ec2c]
push edi
call fcn.0101d565
test eax, eax
jne 0x100eba6
push dword [ebp - 0x114]
push edi
push 0x10024b4
call fcn.01015c5a
add esp, 0xc
push edi
call fcn.0101a165
push edi
push dword [ebp - 0x110]
call fcn.0100d6a3
cmp eax, ebx
mov dword [ebp - 0x120], eax
jne 0x100ebde
push dword [ebp - 0x114]
push edi
push dword [ebp - 0x110]
push 0x1002474
call fcn.01015c5a
add esp, 0x10
jmp 0x100ec02
push edi
call fcn.01015809
cmp eax, ebx
mov dword [ebp - 0x120], eax
jne 0x100ec02
push dword [ebp - 0x114]
push edi
push 0x1002450
call fcn.01015c5a
add esp, 0xc
inc dword [ebp - 0x114]
mov eax, dword [ebp - 0x114]
dec eax
cmp eax, 5
jl 0x100eb70
cmp dword [ebp - 0x120], ebx
jne 0x100ee0b
push edi
call fcn.0101a165
push dword [0x103ec2c]
push edi
call fcn.0101d565
test eax, eax
jne 0x100eded
push esi
push 0x103e5c0
push 0xf011
push ebx
mov byte [0x103e5c0], bl
mov byte [0x107f8a0], bl
call fcn.0100e2c5
push 0xfffa
push 0x107f8a0
push 0xf012
push ebx
call fcn.0100e2c5
cmp dword [0x102de54], ebx
je 0x100ec84
cmp dword [0x102c8d0], ebx
jne 0x100eda9
mov eax, 0x107f8a0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x100ec8c
sub eax, edx
mov ecx, eax
mov eax, edi
lea edx, [eax + 1]
mov dword [ebp - 0x128], edx
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x100eca2
sub eax, dword [ebp - 0x128]
lea eax, [eax + ecx + 1]
push eax
call dword [sym.imp.msvcrt.dll_malloc]
cmp eax, ebx
pop ecx
mov dword [ebp - 0x128], eax
je 0x100edb5
push edi
push 0x107f8a0
push eax
call dword [sym.imp.ntdll.dll_sprintf]
add esp, 0xc
push 0x10012
push 0x103e5c0
push dword [ebp - 0x128]
push dword [ebp - 0x124]
call fcn.01017a37
cmp eax, 2
mov dword [ebp - 0x114], eax
je 0x100ed04
cmp eax, 3
jne 0x100ed1e
push dword [0x102c8d0]
push 0x103ea24
push dword [ebp - 0x124]
call fcn.0100d5fe
test eax, eax
je 0x100ecd9
push dword [ebp - 0x128]
call dword [sym.imp.msvcrt.dll_free]
cmp dword [ebp - 0x114], 2
pop ecx
jb 0x100ec24
cmp dword [ebp - 0x114], 3
jbe 0x100edd8
cmp dword [ebp - 0x114], 5
jne 0x100ec24
lea eax, [ebp - 0x118]
push eax
push dword [ebp - 0x10c]
lea eax, [ebp - 0x11c]
push eax
push edi
push dword [ebp - 0x110]
call fcn.0101ab74
push dword [ebp - 0x10c]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
push esi
mov esi, 0x108f8a0
push esi
push 0xf050
push ebx
mov byte [0x108f8a0], bl
mov byte [0x106d3c0], bl
call dword [sym.imp.USER32.dll_LoadStringA]
push dword [ebp - 0x110]
jmp 0x100ee91
push 0x107f8a0
call fcn.01015c42
jmp 0x100ed52
push 0x100241c
call fcn.01015c42
push dword [ebp - 0x10c]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
push 8
call fcn.0100d556
jmp 0x100eecb
push dword [ebp - 0x10c]
call dword [sym.imp.msvcrt.dll_free]
mov dword [esp], 0x4c7
jmp 0x100edce
push edi
call fcn.0101a165
cmp dword [ebp - 0x120], ebx
jne 0x100ee0b
push edi
push dword [ebp - 0x110]
call fcn.0100d6a3
test eax, eax
je 0x100ee19
push edi
call fcn.01015809
test eax, eax
jne 0x100ef83
push dword [0x102c8d0]
lea eax, [ebp - 0x108]
push esi
push eax
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push dword [ebp - 0x110]
push 0x103f820
push dword [ebp - 0x124]
call fcn.0101536b
sub eax, ebx
je 0x100eebe
dec eax
dec eax
je 0x100ee64
dec eax
dec eax
jne 0x100eded
lea eax, [ebp - 0x108]
mov dword [ebp - 0x110], eax
jmp 0x100eded
push dword [ebp - 0x10c]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
push esi
mov esi, 0x108f8a0
push esi
push 0xf05b
push ebx
mov byte [0x106d3c0], bl
mov byte [0x108f8a0], bl
call dword [sym.imp.USER32.dll_LoadStringA]
push edi
push esi
mov esi, 0x106d3c0
push 0x1001f94
push esi
call dword [sym.imp.ntdll.dll_sprintf]
add esp, 0x10
push esi
call fcn.01015c42
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.0101439a
leave
ret 0x14
push dword [ebp - 0x10c]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
xor eax, eax
jmp 0x100eeaf
push 0xfffa
push 0x106f8a0
push 0x10024e0
push dword [0x103e48c]
call fcn.01015121
push 0x103e100
push 0x106f8a0
call fcn.0101d7ab
test eax, eax
jne 0x100ee71
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push edi
push dword [ebp - 0x110]
call fcn.0101ac51
test eax, eax
je 0x100ef30
push edi
call fcn.010154c7
test eax, eax
je 0x100ef30
push edi
call fcn.01015809
test eax, eax
jne 0x100ef83
push dword [0x102c8d0]
lea eax, [ebp - 0x108]
push esi
push eax
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push dword [ebp - 0x110]
push 0x103f820
push dword [ebp - 0x124]
call fcn.0101536b
sub eax, ebx
je 0x100f03e
dec eax
dec eax
je 0x100f01f
dec eax
dec eax
jne 0x100ef0c
lea eax, [ebp - 0x108]
mov dword [ebp - 0x110], eax
jmp 0x100ef0c
cmp dword [ebp - 0x10c], ebx
je 0x100efab
push dword [ebp - 0x10c]
push dword [ebp - 0x11c]
push edi
call dword [sym.imp.ADVAPI32.dll_SetFileSecurityA]
push dword [ebp - 0x10c]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
push dword [ebp - 0x118]
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push esi
mov esi, 0x108f8a0
push esi
push 0xf062
push ebx
mov byte [0x108f8a0], bl
mov byte [0x106d3c0], bl
call dword [sym.imp.USER32.dll_LoadStringA]
push edi
push esi
push 0x1001f94
mov esi, 0x106d3c0
push esi
call dword [sym.imp.ntdll.dll_sprintf]
add esp, 0x10
push esi
call fcn.01015c42
test byte [ebp + 0x10], 1
je 0x100eeac
push 0x80
push dword [ebp - 0x110]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push dword [ebp - 0x110]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x100eeac
push dword [ebp - 0x10c]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
push dword [ebp - 0x118]
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
jmp 0x100ee71
push dword [ebp - 0x10c]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
push dword [ebp - 0x118]
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
jmp 0x100eecb