Function at 0x1001a18
Capabilities:
Accept command line arguments
Check if file exists
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x224
mov eax, dword [0x1004004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x224], eax
xor eax, eax
xor esi, esi
push 0x206
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push esi
push eax
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x218], esi
mov dword [ebp - 0x21c], esi
call sub.msvcrt.dll_memset
mov ecx, dword [ebp - 0x224]
and dword [ebx], esi
add esp, 0xc
call fcn.010018b4
lea eax, [ebp - 0x218]
push eax
push edi
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebx, eax
test ebx, ebx
je 0x1001cb1
cmp dword [ebp - 0x218], esi
jle 0x1001c97
cmp dword [ebp - 0x218], 1
jne 0x1001abc
mov eax, dword [ebp - 0x220]
mov dword [eax], 0x1000
jmp 0x1001c95
push 6
push 0x1001338
push dword [ebx + 4]
call dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
test eax, eax
jne 0x1001b16
mov ecx, dword [ebx + 4]
add ecx, 0xc
mov eax, ecx
lea edi, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x1001adb
sub eax, edi
sar eax, 1
je 0x1001c97
push ecx
mov ecx, dword [ebp - 0x224]
call fcn.01001869
mov esi, eax
test esi, esi
jl 0x1001c97
mov eax, dword [ebp - 0x220]
mov dword [eax], 0x20
jmp 0x1001c95
mov edi, dword [ebx + 4]
cmp word [edi], 0x2f
mov esi, 0x8000ffff
je 0x1001b79
push edi
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.01001926
push dword [ebx + 4]
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
mov dword [ebp - 0x214], eax
xor edi, edi
push dword [edi*8 + 0x1001318]
push dword [ebp - 0x214]
call dword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
je 0x1001b69
inc edi
cmp edi, 4
jb 0x1001b47
jmp 0x1001c97
mov eax, dword [ebx + 4]
mov edi, dword [edi*8 + 0x100131c]
mov dword [ebp - 0x21c], eax
and dword [ebp - 0x214], 0
and dword [ebp - 0x210], 0
mov eax, dword [ebp - 0x210]
push dword [eax + 0x1001348]
push edi
call dword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
je 0x1001bbc
add dword [ebp - 0x210], 0xc
inc dword [ebp - 0x214]
cmp dword [ebp - 0x210], 0x9c
jb 0x1001b87
jmp 0x1001c97
mov esi, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x220]
imul esi, esi, 0xc
mov eax, dword [esi + 0x1001350]
mov dword [ecx], eax
mov eax, dword [esi + 0x100134c]
test eax, eax
je 0x1001c95
cmp dword [ebp - 0x21c], 0
jne 0x1001c16
cmp eax, 1
jne 0x1001c04
cmp dword [ebp - 0x218], 2
jne 0x1001c04
mov dword [ebp - 0x21c], 0x1001488
jmp 0x1001c16
cmp dword [ebp - 0x218], 3
jb 0x1001c76
mov eax, dword [ebx + 8]
mov dword [ebp - 0x21c], eax
push dword [ebp - 0x21c]
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.01001926
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea eax, [ebp - 0x20c]
push eax
call edi
cmp eax, 0xffffffff
jne 0x1001c69
cmp dword [esi + 0x100134c], 1
jne 0x1001c76
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x1001c76
lea eax, [ebp - 0x20c]
push eax
call edi
cmp eax, 0xffffffff
je 0x1001c76
test al, 0x10
je 0x1001c7d
cmp dword [esi + 0x100134c], 1
je 0x1001c7d
mov esi, 0x80070057
jmp 0x1001c97
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20c]
push eax
call fcn.01001869
mov esi, eax
test esi, esi
jl 0x1001c97
xor esi, esi
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
test esi, esi
jge 0x1001cb1
mov eax, dword [ebp - 0x220]
xor esi, esi
mov dword [eax], 0x2000
inc esi
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.01002ac1
leave
ret 0xc