Function at 0x14001c100
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf0
movaps xmmword [rsp + 0xe0], xmm6
mov r12d, r8d
mov rbx, rdx
mov r14, rcx
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0xd8], rax
movabs r15, 0xaaaaaaaaaaaaaaaa
lea rsi, [rsp + 0x80]
mov qword [rsi + 0x50], r15
movaps xmm6, xmmword [0x1401efb80]
movaps xmmword [rsi + 0x40], xmm6
movaps xmmword [rsi + 0x30], xmm6
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
lea rdx, str.DoInitialize
lea r8, str..._.._base_files_file_win.cc
lea rbp, [rsp + 0x40]
mov rcx, rbp
mov r9d, 0x160
call fcn.1400ddbb0
mov rcx, rsi
mov rdx, rbp
xor r8d, r8d
xor r9d, r9d
call fcn.1400f4dd0
test byte [0x14021afd0], 0x19
jne 0x14001c398
mov eax, r12d
and eax, 1
neg eax
and eax, 3
test r12b, 2
mov edx, 1
cmove edx, eax
test r12b, 4
mov ecx, 4
cmovne edx, ecx
test r12b, 8
mov ebp, 2
cmove ebp, edx
test r12b, 0x10
mov eax, 5
cmove eax, ebp
test eax, eax
je 0x14001c3b1
mov edx, r12d
and edx, 0x40
shl edx, 0x18
test r12b, 0x80
cmove ecx, edx
mov edx, r12d
rol edx, 0x1a
mov edi, r12d
shl edi, 0xb
and edi, 0x20000000
mov ebp, r12d
shr ebp, 4
and ebp, 0x10000
and edx, 0x80000100
or edx, edi
or edx, ebp
or edx, ecx
mov ecx, r12d
shr ecx, 8
and ecx, 3
mov r8d, r12d
shr r8d, 0xd
and r8d, 4
or r8d, ecx
xor r8d, 3
mov esi, r12d
and esi, 0x400
mov ecx, esi
shl ecx, 0x14
mov ebp, r12d
shr ebp, 3
and ebp, 0x100
or ebp, ecx
mov ecx, r12d
shr ecx, 0xb
and ecx, 2
or ecx, ebp
mov ebp, r12d
shl ebp, 0xd
and ebp, 0x4000000
or ebp, ecx
mov ecx, r12d
shl ecx, 8
mov edi, ecx
and edi, 0x2000000
or edi, ebp
and ecx, 0x8000000
or ecx, edi
cmp byte [rbx + 0x17], 0
jns 0x14001c291
mov rbx, qword [rbx]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x30], 0
mov rcx, rbx
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp qword [r14], rax
je 0x14001c2ed
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [r14]
inc rax
cmp rax, 2
jae 0x14001c37f
mov rax, rbx
inc rax
cmp rax, 2
jb 0x14001c2e2
mov qword [r14], rbx
call fcn.1400d3890
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, qword [r14]
inc rbx
cmp rbx, 2
jb 0x14001c318
shr esi, 0xa
mov dword [r14 + 0x24], 0
mov byte [r14 + 0x29], sil
test r12b, 4
jne 0x14001c36d
test r12b, 0xa
je 0x14001c329
mov byte [r14 + 0x28], 1
jmp 0x14001c329
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14001c440
mov dword [r14 + 0x24], eax
test byte [0x14021afd0], 0x19
jne 0x14001c3c9
lea rcx, [rsp + 0x80]
call fcn.1400f5610
mov rcx, qword [rsp + 0xd8]
xor rcx, rsp
call fcn.14011fe20
movaps xmm6, xmmword [rsp + 0xe0]
add rsp, 0xf0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
setne byte [r14 + 0x28]
jmp 0x14001c329
call fcn.1400d3890
mov rcx, qword [r14]
call fcn.140101910
mov qword [r14], 0
jmp 0x14001c2ce
lea rdx, [rsp + 0x68]
mov qword [rdx], rbp
lea rcx, str.ScopedBlockingCall
call fcn.140171970
jmp 0x14001c1a3
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [r14 + 0x24], 0xffffffff
jmp 0x14001c329
lea rsi, [rsp + 0x40]
mov qword [rsi + 0x10], r15
movaps xmmword [rsi], xmm6
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x14021afd0]
lea r9, [0x1401f52ba]
mov rcx, rsi
mov dl, 0x45
call fcn.1400d32d0
mov rdi, qword [rsi]
test rdi, rdi
je 0x14001c426
mov rbx, qword [rsp + 0x48]
lea rsi, [rsp + 0x68]
mov rcx, rsi
xor edx, edx
call fcn.1400dead0
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rbx
mov rcx, rsi
call fcn.1401033f0
lea rcx, [rsp + 0x40]
call fcn.1401033d0
jmp 0x14001c336