Function at 0x1006a9ef
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x438
mov eax, dword [0x102406a8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x430], eax
mov eax, dword [ebp + 0x10]
push esi
mov dword [ebp - 0x434], eax
mov eax, dword [ebp + 0x14]
push edi
mov dword [ebp - 0x438], eax
mov eax, dword [ebp + 0x18]
push 0x410
mov dword [ebp - 0x424], eax
lea eax, [ebp - 0x414]
push ecx
push eax
mov dword [ebp - 0x428], 1
mov dword [ebp - 0x418], ecx
call fcn.1012db70
add esp, 0xc
mov edi, ebx
mov esi, ebx
test ebx, ebx
je 0x1006ac2d
movzx eax, word [ebx]
push 0x22
pop edx
mov ecx, eax
cmp ax, dx
jne 0x1006aa9c
and dword [ebp - 0x428], 0
lea esi, [ebx + 2]
movzx eax, word [esi]
mov dword [ebp - 0x41c], esi
test ax, ax
je 0x1006aac9
mov ecx, eax
cmp cx, dx
je 0x1006aac7
add esi, 2
mov edi, esi
movzx eax, word [esi]
mov ecx, eax
test ax, ax
jne 0x1006aa86
jmp 0x1006aac9
mov dword [ebp - 0x41c], ebx
test cx, cx
je 0x1006aac9
movzx ecx, cx
cmp cx, 0x20
je 0x1006aac7
cmp cx, 9
je 0x1006aac7
add esi, 2
mov edi, esi
movzx eax, word [esi]
mov ecx, eax
test ax, ax
jne 0x1006aaaa
jmp 0x1006aac9
mov edi, esi
movzx eax, word [edi]
xor edx, edx
mov dword [ebp - 0x42c], eax
xor eax, eax
mov word [edi], ax
mov eax, dword [ebp - 0x424]
mov dword [ebp - 0x420], edx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 2
test eax, eax
je 0x1006ab6f
mov ecx, dword [ecx + edx*4]
lea eax, [ebp - 0x414]
xor edx, edx
push edx
push eax
mov eax, dword [ecx - 0xc]
neg eax
push 0x208
sbb eax, eax
and eax, ecx
push eax
push dword [ebp - 0x41c]
push edx
call dword [sym.imp.KERNEL32.dll_SearchPathW]
mov ecx, eax
mov dword [ebp - 0x418], ecx
test ecx, ecx
je 0x1006ab4e
cmp ecx, 0x208
jae 0x1006ab4e
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1006aba9
test al, 0x10
je 0x1006aba9
xor eax, eax
mov dword [ebp - 0x418], eax
mov eax, dword [ebp - 0x424]
mov edx, dword [ebp - 0x420]
inc edx
mov dword [ebp - 0x420], edx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 2
cmp edx, eax
jb 0x1006aaf3
mov eax, dword [ebp - 0x418]
test eax, eax
je 0x1006ab80
cmp eax, 0x410
jb 0x1006abba
mov eax, dword [ebp - 0x42c]
mov word [edi], ax
xor eax, eax
cmp word [esi], ax
je 0x1006ac16
cmp dword [ebp - 0x428], eax
je 0x1006ac16
add esi, 2
mov edi, esi
movzx ecx, word [esi]
jmp 0x1006aa9c
mov eax, dword [ebp - 0x418]
add eax, 2
mov dword [ebp - 0x418], eax
jmp 0x1006ab75
push dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x430]
call fcn.100091b4
mov eax, dword [ebp - 0x42c]
mov word [edi], ax
add edi, 2
push ebx
call fcn.10130fe5
pop ecx
lea eax, [ebx + eax*2]
cmp edi, eax
jae 0x1006abf1
mov ecx, dword [ebp - 0x434]
push edi
call fcn.100091b4
lea ecx, [ebp - 0x414]
push ecx
call fcn.10130fe5
pop ecx
push eax
lea ecx, [ebp - 0x414]
push ecx
mov ecx, dword [ebp - 0x438]
call fcn.10008f20
xor eax, eax
inc eax
jmp 0x1006ac2f
mov ecx, dword [ebp - 0x430]
call fcn.100089d6
mov ecx, dword [ebp - 0x434]
push ebx
call fcn.100091b4
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1012b632
leave
ret