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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x81c
mov eax, dword [0x10220c4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
lea edi, [esi + 0x20]
mov ecx, edi
mov dword [ebp - 0x814], edi
call fcn.010019ca
mov ebx, 0x105
test eax, eax
jne 0x10101d9
lea edi, [esi + 0x18]
mov eax, dword [edi]
mov dword [ebp - 0x810], edi
test eax, eax
je 0x1008c62
mov eax, dword [eax]
push 0x25
push eax
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
jne 0x101020d
lea edi, [esi + 0x1c]
mov ecx, edi
mov dword [ebp - 0x818], edi
call fcn.010019ca
test eax, eax
jne 0x1010222
mov ecx, esi
call fcn.01004a9f
mov ecx, esi
call fcn.01008105
test eax, eax
jl 0x1008c49
xor eax, eax
and dword [ebp - 0xc], eax
lea edi, [ebp - 8]
stosd dword es:[edi], eax
mov word [ebp - 0x80c], ax
mov eax, dword [ebp - 0x810]
mov eax, dword [eax]
xor edi, edi
cmp eax, edi
je 0x1008c7d
mov eax, dword [eax]
push edi
push edi
push edi
push edi
mov esi, 0x400
push esi
lea ecx, [ebp - 0x80c]
push ecx
push 4
lea ecx, [ebp - 0xc]
push ecx
push eax
call sub.msvcrt.dll__wsplitpath_s
add esp, 0x24
cmp eax, edi
jne 0x101025a
lea eax, [ebp - 0x80c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1008ba8
sub eax, edx
sar eax, 1
je 0x101026f
mov edi, dword [ebp - 0x810]
mov eax, dword [edi]
test eax, eax
je 0x1008c84
mov eax, dword [eax]
push 0x20
push eax
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
jne 0x1010351
mov eax, dword [edi]
test eax, eax
je 0x1008c94
mov eax, dword [eax]
push eax
push esi
lea eax, [ebp - 0x80c]
push eax
call fcn.01009cf3
push 0x1004128
push esi
lea eax, [ebp - 0x80c]
push eax
call fcn.0100838a
mov esi, eax
test esi, esi
jl 0x1008c47
push dword [ebp - 0x818]
lea eax, [ebp - 0x80c]
push eax
lea eax, [ebp - 0x814]
push eax
call fcn.01008ca0
mov ecx, dword [ebp - 0x818]
push eax
call fcn.01006009
mov ecx, dword [ebp - 0x814]
test ecx, ecx
je 0x1008c47
call fcn.010018c0
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01001e90
leave
ret
test eax, eax
jge 0x1008afd
jmp 0x1008c49
xor eax, eax
jmp 0x1008b12
test eax, eax
jge 0x1008b25
jmp 0x1008c49
test eax, eax
jge 0x1008b3d
jmp 0x1008c49
xor eax, eax
jmp 0x1008b77
xor eax, eax
jmp 0x1008bce
test eax, eax
jl 0x1008c49
jmp 0x1008bfb
xor eax, eax
jmp 0x1008bed
mov eax, dword [edi]
test eax, eax
je 0x10101e3
mov eax, dword [eax]
jmp 0x10101e5
xor eax, eax
push 0x25
push eax
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
je 0x1008afd
push ebx
lea eax, [ebp - 0x80c]
push eax
push edi
mov ecx, esi
call fcn.01019270
jmp 0x1008c58
push ebx
lea eax, [ebp - 0x80c]
push eax
push edi
mov ecx, esi
call fcn.01019270
jmp 0x1008c69
mov eax, dword [edi]
test eax, eax
je 0x101022c
mov eax, dword [eax]
jmp 0x101022e
xor eax, eax
push 0x25
push eax
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
je 0x1008b3d
push 0x400
lea eax, [ebp - 0x80c]
push eax
push edi
mov ecx, esi
call fcn.01019270
jmp 0x1008c73
jle 0x1008c49
and eax, 0xffff
or eax, 0x80070000
jmp 0x1008c49
lea eax, [ebp - 0xc]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1010275
sub eax, edx
sar eax, 1
jne 0x1008bbc
mov edi, dword [ebp - 0x814]
mov ecx, edi
call fcn.010019ca
test eax, eax
jbe 0x1008bbc
mov eax, dword [edi]
test eax, eax
je 0x10102a8
mov eax, dword [eax]
jmp 0x10102aa
xor eax, eax
push eax
push ebx
lea eax, [ebp - 0x80c]
push eax
call fcn.01009cf3
test eax, eax
jl 0x1008c49
mov eax, dword [edi]
test eax, eax
je 0x10102ca
mov esi, dword [eax]
jmp 0x10102cc
xor esi, esi
mov ecx, edi
call fcn.010019ca
push 0x5c
pop ecx
cmp cx, word [esi + eax*2 - 2]
je 0x10102f7
push 0x100337c
push ebx
lea eax, [ebp - 0x80c]
push eax
call fcn.0100838a
test eax, eax
jl 0x1008c49
mov eax, dword [ebp - 0x810]
mov eax, dword [eax]
test eax, eax
je 0x1010307
mov eax, dword [eax]
jmp 0x1010309
xor eax, eax
push eax
push ebx
lea eax, [ebp - 0x80c]
push eax
call fcn.0100838a
test eax, eax
jl 0x1008c49
lea eax, [ebp - 0x80c]
push eax
call dword [sym.imp.API_MS_Win_Core_File_L1_1_0.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1010347
test al, 0x10
jne 0x1010347
mov ecx, dword [ebp - 0x810]
lea eax, [ebp - 0x80c]
push eax
call fcn.010045a1
mov esi, 0x400
jmp 0x1008bbc
push 0x22
pop eax
mov word [ebp - 0x80c], ax
xor eax, eax
mov word [ebp - 0x80a], ax
mov eax, dword [edi]
test eax, eax
je 0x101036e
mov eax, dword [eax]
jmp 0x1010370
xor eax, eax
push eax
push esi
lea eax, [ebp - 0x80c]
push eax
call fcn.0100838a
test eax, eax
jl 0x1008c49
push 0x1004124
push esi
lea eax, [ebp - 0x80c]
push eax
call fcn.0100838a
jmp 0x1008c8b