Function at 0x10018800
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102459c2
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x102de06c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 4], 0
push str._2685914832
mov dword [ebp - 0x78], edi
push edi
mov dword [ebp - 0x70], 0
call fcn.10048a0d
mov dword [ebp - 4], 0
cmp dword [edi + 0x10], 0
mov dword [ebp - 0x70], 1
jbe 0x100188ee
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 1
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push 0x102c4dd0
mov word [ecx], ax
call fcn.100088f0
push edi
call fcn.1003f8f5
add esp, 4
xor eax, eax
mov ecx, esp
push 1
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push 0x102c4dd0
mov word [ecx], ax
call fcn.100088f0
push edi
call fcn.1003f9d3
push edi
call fcn.1003e358
add esp, 0x20
test eax, eax
jne 0x100188d1
push 0x102c45d8
mov ecx, edi
call fcn.10004090
push str.WinAssist
mov ecx, edi
call fcn.10004090
push 0x102c45d8
mov ecx, edi
call fcn.10004090
jmp 0x10018b74
mov esi, dword [0x102ee6b8]
test esi, esi
jne 0x1001896f
push 0x102ee6bc
mov dword [ebp - 0x6c], 0x102ee6bc
call fcn.10022a6e
add esp, 4
test eax, eax
je 0x10018919
push eax
call fcn.10022b83
add esp, 4
mov dword [ebp - 4], 1
mov esi, dword [0x102ee6b8]
test esi, esi
jne 0x1001894a
push 0xc
call fcn.100392af
add esp, 4
mov dword [ebp - 0x74], eax
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.1003a844
mov esi, eax
mov dword [0x102ee6b8], esi
push 0x102ee6bc
mov dword [ebp - 4], 3
call fcn.10022ae3
add esp, 4
test eax, eax
je 0x1001896b
push eax
call fcn.10022b83
add esp, 4
mov byte [ebp - 4], 0
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.1003ae27
mov esi, eax
cmp edi, esi
je 0x100189e9
mov ecx, dword [edi + 0x14]
cmp ecx, 8
jb 0x100189b9
mov eax, dword [edi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x100189af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10018be1
mov eax, edx
push ecx
push eax
call fcn.10039277
add esp, 8
mov dword [edi + 0x10], 0
xor eax, eax
mov dword [edi + 0x14], 7
mov word [edi], ax
movups xmm0, xmmword [esi]
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x10018a23
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10018a19
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10018be1
push edx
push ecx
call fcn.10039277
add esp, 8
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp dword [edi + 0x10], eax
ja 0x10018b74
mov esi, dword [0x102ee6ec]
test esi, esi
jne 0x10018ac4
push 0x102ee6f0
mov dword [ebp - 0x7c], 0x102ee6f0
call fcn.10022a6e
add esp, 4
test eax, eax
je 0x10018a6b
push eax
call fcn.10022b83
add esp, 4
mov dword [ebp - 4], 4
mov esi, dword [0x102ee6ec]
test esi, esi
jne 0x10018a9f
push 0x9c
call fcn.100392af
add esp, 4
mov dword [ebp - 0x74], eax
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.100470c6
mov esi, eax
mov dword [0x102ee6ec], esi
push 0x102ee6f0
mov dword [ebp - 4], 6
call fcn.10022ae3
add esp, 4
test eax, eax
je 0x10018ac0
push eax
call fcn.10022b83
add esp, 4
mov byte [ebp - 4], 0
lea eax, [ebp - 0x40]
mov ecx, esi
push eax
call fcn.10047456
mov esi, eax
cmp edi, esi
je 0x10018b3e
mov ecx, dword [edi + 0x14]
cmp ecx, 8
jb 0x10018b0e
mov eax, dword [edi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x10018b04
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10018be1
mov eax, edx
push ecx
push eax
call fcn.10039277
add esp, 8
mov dword [edi + 0x10], 0
xor eax, eax
mov dword [edi + 0x14], 7
mov word [edi], ax
movups xmm0, xmmword [esi]
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov edx, dword [ebp - 0x2c]
cmp edx, 8
jb 0x10018b74
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10018b6a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10018be6
push edx
push ecx
call fcn.10039277
add esp, 8
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x10018b7e
mov eax, dword [edi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x10018bc2
mov dword [ebp - 0x44], eax
mov dword [ebp - 4], 7
mov eax, edi
cmp dword [edi + 0x14], 8
jb 0x10018b9d
mov eax, dword [edi]
lea ecx, [ebp - 0x68]
push ecx
push eax
call fcn.10050f25
mov ecx, dword [ebp - 0x44]
add esp, 8
test ecx, ecx
je 0x10018bc2
mov esi, dword [ecx]
lea eax, [ebp - 0x68]
cmp ecx, eax
setne dl
movzx edx, dl
push edx
call dword [esi + 0x10]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10039266
mov esp, ebp
pop ebp
ret 8
call fcn.100b535e
call fcn.100b535e
int3