Function at 0x101f9960
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x70
mov edi, ecx
mov ebx, dword [ebp + 0xc]
mov eax, dword [0x103c2010]
xor eax, ebp
mov dword [esp + 0x68], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x30], xmm0
lea esi, [esp + 0x20]
push 0x179
push str....._base_files_file_win.cc
push str.DoInitialize
push esi
call fcn.10221d60
add esp, 0x10
lea ecx, [esp + 0x30]
push 0
push esi
call fcn.10209420
mov eax, ebx
and eax, 1
neg eax
and eax, 3
test bl, 2
mov ecx, 1
cmove ecx, eax
test bl, 4
mov eax, 4
cmovne ecx, eax
test bl, 8
mov edx, 2
cmove edx, ecx
test bl, 0x10
mov esi, 5
cmove esi, edx
test esi, esi
je 0x101f9bb7
mov ecx, ebx
and ecx, 0x40
shl ecx, 0x18
test bl, bl
cmovns eax, ecx
mov ecx, ebx
rol ecx, 0x1a
and ecx, 0x80000100
or ecx, eax
test ebx, 0x40000
mov dword [esp + 8], edi
je 0x101f9a30
test ebx, 0x200000
jne 0x101f9c35
or ecx, 0x20000000
mov edx, ebx
shr edx, 4
and edx, 0x10000
or edx, ecx
mov eax, ebx
shr eax, 8
and eax, 3
mov edi, ebx
shr edi, 0xd
and edi, 4
or edi, eax
mov eax, ebx
and eax, 0x400
mov dword [esp + 0x1c], eax
shl eax, 0x14
mov ecx, ebx
shr ecx, 3
and ecx, 0x100
or ecx, eax
mov eax, ebx
shr eax, 0xb
and eax, 2
or eax, ecx
mov ecx, ebx
shl ecx, 0xd
and ecx, 0x4000000
or ecx, eax
shl ebx, 8
and ebx, 0xa000000
or ebx, ecx
mov ecx, dword [ebp + 8]
xor edi, 3
cmp byte [ecx + 0xb], 0
mov eax, ecx
jns 0x101f9a9c
mov eax, dword [ecx]
push 0
push ebx
mov dword [esp + 0x14], esi
push esi
push 0
mov dword [esp + 0x24], edi
push edi
mov dword [esp + 0x2c], edx
push edx
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
mov esi, dword [esp + 8]
cmp dword [esi], eax
je 0x101f9b16
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov eax, dword [esi]
inc eax
cmp eax, 2
jb 0x101f9af2
mov dword [esp + 0x10], ecx
call fcn.10221d90
mov esi, dword [esp + 8]
push dword [esi]
call fcn.101ee6e0
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [esi], 0
mov eax, edi
inc eax
cmp eax, 2
jb 0x101f9b09
mov eax, dword [esp + 8]
mov dword [eax], edi
mov esi, ecx
call fcn.10221d90
mov ecx, esi
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [esp + 8]
mov edi, dword [eax]
mov esi, dword [esp + 0xc]
inc edi
cmp edi, 1
ja 0x101f9b97
call fcn.10201780
test al, al
je 0x101f9b97
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0xb], 0
mov eax, ecx
mov edx, dword [esp + 0x18]
jns 0x101f9b3a
mov eax, dword [ecx]
push 0
push ebx
push esi
push 0
push dword [esp + 0x24]
push edx
push eax
call fcn.102018e0
add esp, 0x1c
mov edi, eax
mov eax, dword [esp + 8]
cmp dword [eax], edi
je 0x101f9b97
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov esi, dword [esp + 8]
mov eax, dword [esi]
inc eax
cmp eax, 2
jb 0x101f9b81
call fcn.10221d90
push dword [esi]
call fcn.101ee6e0
add esp, 4
mov dword [esi], 0
lea eax, [edi + 1]
cmp eax, 2
jb 0x101f9b90
mov dword [esi], edi
call fcn.10221d90
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov esi, dword [esp + 8]
mov eax, dword [esi]
inc eax
cmp eax, 2
jae 0x101f9bcd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.101f98a0
add esp, 4
mov dword [esi + 0x14], eax
jmp 0x101f9c17
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [edi + 0x14], 0xffffffff
call sym.EmbeddedBrowserWebView.dll_public_virtual:_void___thiscall_telemetry_client::IDataFieldVisitor::destructor_void_
jmp 0x101f9c17
mov eax, dword [esp + 0x1c]
shr eax, 0xa
mov dword [esi + 0x14], 0
mov byte [esi + 0x19], al
mov ebx, dword [ebp + 0xc]
test bl, 4
jne 0x101f9bf4
test bl, 0xa
mov eax, dword [ebp + 8]
je 0x101f9c06
mov byte [esi + 0x18], 1
jmp 0x101f9c06
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
setne byte [esi + 0x18]
mov eax, dword [ebp + 8]
test ebx, 0x200000
je 0x101f9c17
push eax
call fcn.101fac40
add esp, 4
lea ecx, [esp + 0x30]
call fcn.102094a0
mov ecx, dword [esp + 0x68]
xor ecx, ebp
call fcn.102f4c53
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
int3