Function at 0x102eaa3
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 0x10]
push ebx
push esi
xor esi, esi
xor ebx, ebx
cmp eax, esi
push edi
je 0x102eab9
mov dword [eax], esi
mov edi, dword [ebp + 8]
cmp edi, esi
jne 0x102eaca
mov eax, 0x80000001
jmp 0x102ecf7
mov dword [ebp - 4], esi
xor eax, eax
mov ax, word [edi]
test ax, ax
je 0x102ec98
push eax
call dword [sym.imp.SHLWAPI.dll_PathGetCharTypeW]
test al, 4
je 0x102eaf0
mov ebx, 0x80000004
jmp 0x102ec82
test al, 8
je 0x102ebff
test byte [ebp + 0xc], 1
jne 0x102ec7d
mov ax, word [edi]
cmp ax, 0x5c
jne 0x102ebac
cmp dword [ebp - 4], 0
jne 0x102eb33
test byte [ebp + 0xc], 2
jne 0x102ec82
cmp word [edi + 2], ax
je 0x102ec82
mov ebx, 0x80000008
jmp 0x102ec82
xor eax, eax
cmp dword [ebp - 4], 1
mov ax, word [esi]
jne 0x102eb67
cmp ax, 0x5c
je 0x102ec82
cmp ax, 0x20
je 0x102eb5d
push eax
call dword [sym.imp.SHLWAPI.dll_PathGetCharTypeW]
test al, 1
jne 0x102ec82
mov ebx, InitCommonControls
jmp 0x102ec82
cmp ax, 0x20
je 0x102eba2
push eax
call dword [sym.imp.SHLWAPI.dll_PathGetCharTypeW]
test al, 1
jne 0x102eb7d
mov ebx, 0x80000020
test ebx, ebx
je 0x102ec82
cmp dword [ebp - 4], 2
jne 0x102ec82
mov ax, word [esi]
sub ax, 0x3a
neg ax
sbb eax, eax
and ebx, eax
jmp 0x102ec82
mov ebx, Ordinal_68
jmp 0x102ec82
cmp ax, 0x2f
jne 0x102ebbc
mov ebx, reloc.SHLWAPI.dll_Ordinal_128
jmp 0x102ec82
cmp ax, 0x3a
jne 0x102ebf5
cmp dword [ebp - 4], 1
je 0x102ebd2
mov ebx, 0x80000100
jmp 0x102ec82
push dword [ebp + 8]
call dword [sym.imp.SHLWAPI.dll_PathGetDriveNumberW]
test eax, eax
jl 0x102ebeb
cmp eax, 0x19
jg 0x102ebeb
xor ebx, ebx
jmp 0x102ec82
mov ebx, 0x80000200
jmp 0x102ec82
mov ebx, 0x80000400
jmp 0x102ec82
test al, 1
je 0x102ec7d
mov ax, word [edi]
and word [ebp - 0xa], 0
mov word [ebp - 0xc], ax
push 3
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
call fcn.0102cbf9
test byte [ebp + 0xc], 4
je 0x102ec36
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByte]
test eax, eax
je 0x102ec36
mov ebx, 0x80000800
test ebx, ebx
jne 0x102ec82
test byte [ebp + 0xc], 8
je 0x102ec5a
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByte]
test eax, eax
je 0x102ec5a
cmp byte [ebp - 7], 0x5c
jne 0x102ec5a
mov ebx, 0x80001000
jmp 0x102ec82
test byte [ebp + 0xc], 0x84
je 0x102ec6c
test byte [edi], 0x80
je 0x102ec6c
mov ebx, 0x80010000
jmp 0x102ec82
cmp dword [ebp - 4], 2
jne 0x102ec82
cmp word [esi], 0x3a
jne 0x102ec82
jmp 0x102ebc8
mov ebx, 0x80000002
inc dword [ebp - 4]
push edi
mov esi, edi
call dword [sym.imp.SHLWAPI.dll_Ordinal_40]
test ebx, ebx
mov edi, eax
je 0x102eacd
test ebx, ebx
jne 0x102ecec
test byte [ebp + 0xc], 0x10
je 0x102ecf5
push dword [ebp + 8]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x102ecb9
mov esi, dword [ebp + 8]
mov ebx, 0x80002000
jmp 0x102ecec
push 0
push 0x10
lea eax, [ebp + 0xc]
push eax
call fcn.0102f165
mov esi, dword [ebp + 8]
push esi
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x102ece1
test byte [ebp + 0xc], 0x30
je 0x102ecf5
mov ebx, 0x80004000
jmp 0x102ecec
test byte [ebp + 0xc], 0x50
je 0x102ecf5
mov ebx, 0x80008000
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x102ecf5
mov dword [eax], esi
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret 0xc