Function at 0x100062b0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1007092b
mov eax, dword fs:[0]
push eax
sub esp, 0x22c
mov eax, dword [0x10089040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.10045770
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push 0x1007de80
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea eax, [ebp - 0x218]
push eax
call esi
test eax, eax
je 0x10006869
and dword [ebp - 0x220], 0xfffffe00
mov dword [ebp - 0x21c], 0
lea eax, [ebp - 0x218]
mov dword [ebp - 4], 1
push eax
call esi
test eax, eax
je 0x100063f1
mov dword [ebp - method.CxAutoArray_unsigned_char_.virtual_0], vtable.CxAutoArray_unsigned_char_.0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 0
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 2
push eax
lea edx, [ebp - 0x234]
mov dword [ebp - 0x22c], 0
lea ecx, [ebp - 0x218]
call fcn.1000a730
add esp, 4
test eax, eax
je 0x100063da
cmp dword [ebp - 0x22c], 0
je 0x100063da
mov esi, dword [ebp - 0x234]
lea edx, [ebp - 0x228]
mov ecx, esi
call fcn.1000ab40
mov byte [ebp - 4], 1
test esi, esi
je 0x100063f1
push esi
jmp 0x100063e9
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x234]
test eax, eax
je 0x100063f1
push eax
call fcn.10043645
add esp, 4
mov ecx, dword [ebp - 0x220]
test cl, cl
je 0x10006793
push ecx
push 0x1007dea8
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x10006422
mov edx, 0x1008be48
mov ecx, eax
call fcn.1000b770
push ecx
push str.UninstallProductName
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x10006445
mov edx, 0x1008be4c
mov ecx, eax
call fcn.1000b770
push ecx
push str.CloudProductName
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x10006468
mov edx, 0x1008be50
mov ecx, eax
call fcn.1000b770
push ecx
push str.InstallDirName
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x1000648b
mov edx, 0x1008be54
mov ecx, eax
call fcn.1000b770
push ecx
push str.DataDirName
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x100064ae
mov edx, 0x1008be58
mov ecx, eax
call fcn.1000b770
push ecx
push str.RegUninstallKey
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x100064d1
mov edx, 0x1008be5c
mov ecx, eax
call fcn.1000b770
push ecx
push str.RegMsnGuardDirKey
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x100064f4
mov edx, 0x1008be60
mov ecx, eax
call fcn.1000b770
push ecx
push str.RegMsnGuardInstallKey
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x10006517
mov edx, 0x1008be64
mov ecx, eax
call fcn.1000b770
push ecx
push str.RegDataKey
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x1000653a
mov edx, 0x1008be68
mov ecx, eax
call fcn.1000b770
push ecx
push str.MainExeName
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x1000655d
mov edx, 0x1008be6c
mov ecx, eax
call fcn.1000b770
push ecx
push str.MainVersion
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x10006580
mov edx, 0x1008be70
mov ecx, eax
call fcn.1000b770
push ecx
push str.MainPermanent
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 5
jne 0x100065a3
mov edx, 0x1008be74
mov ecx, eax
call fcn.1000b420
push ecx
push str.RunningHelperExeName
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x100065c6
mov edx, 0x1008be78
mov ecx, eax
call fcn.1000b770
push ecx
push str.ServerExeName
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x100065e9
mov edx, 0x1008be7c
mov ecx, eax
call fcn.1000b770
push ecx
push str.ServerSCMName
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x1000660c
mov edx, 0x1008be80
mov ecx, eax
call fcn.1000b770
push ecx
push str.ServerReport
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 5
jne 0x1000662f
mov edx, 0x1008be84
mov ecx, eax
call fcn.1000b420
push ecx
push str.SpeedupExeName
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x10006652
mov edx, 0x1008be88
mov ecx, eax
call fcn.1000b770
push ecx
push str.SpeedupTaskName
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x10006675
mov edx, 0x1008be8c
mov ecx, eax
call fcn.1000b770
push ecx
push str.SpeedupTaskDesc
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x10006698
mov edx, 0x1008be90
mov ecx, eax
call fcn.1000b770
push ecx
push str.ShellName
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x100066bb
mov edx, 0x1008be94
mov ecx, eax
call fcn.1000b770
push ecx
push str.ShellGuid
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x100066de
mov edx, 0x1008be98
mov ecx, eax
call fcn.1000b770
push ecx
push str.ConfigFileName
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x10006701
mov edx, 0x1008be9c
mov ecx, eax
call fcn.1000b770
push ecx
push str.ConfigSessionName
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x10006724
mov edx, 0x1008bea0
mov ecx, eax
call fcn.1000b770
push ecx
push str.ConfigVersion
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x10006747
mov edx, 0x1008bea4
mov ecx, eax
call fcn.1000b770
push ecx
push str.ConfigInstallTime
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x1000676a
mov edx, 0x1008bea8
mov ecx, eax
call fcn.1000b770
push ecx
push str.ConfigActivate
lea ecx, [ebp - 0x228]
call fcn.1001c1f0
cmp byte [eax + 8], 4
jne 0x1000678d
mov edx, 0x1008beac
mov ecx, eax
call fcn.1000b770
mov ecx, dword [ebp - 0x220]
movsx eax, cl
mov dword [ebp - 4], 5
sub eax, 4
je 0x100067cf
sub eax, 2
je 0x100067b0
sub eax, 1
jne 0x10006834
mov esi, dword [ebp - 0x228]
test esi, esi
je 0x10006834
push esi
mov ecx, esi
call fcn.1001c8e0
push 8
push esi
call fcn.10043c87
add esp, 8
jmp 0x10006834
test ecx, 0x100
je 0x10006834
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1008ade8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1008c30c]
cmp eax, dword [ecx + 4]
jle 0x10006823
push 0x1008c30c
call fcn.100440d0
add esp, 4
cmp dword [0x1008c30c], 0xffffffff
jne 0x10006823
push 0x10074e10
call fcn.10043c72
add esp, 4
push 0x1008c30c
call fcn.1004407f
add esp, 4
mov ecx, dword [0x10089ae4]
push dword [ebp - 0x228]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov esi, dword [ebp - 0x21c]
test esi, esi
je 0x10006869
push 0x1001b730
mov byte [ebp - 4], 6
push dword [esi - 4]
push 4
push esi
call fcn.10043858
mov eax, dword [esi - 4]
lea ecx, [esi - 4]
lea eax, [eax*4 + 4]
push eax
push ecx
call fcn.1004364a
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10043637
mov esp, ebp
pop ebp
ret