Function at 0x140081100
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov edi, r8d
mov r13, rdx
mov r12, rcx
mov rax, qword [0x14020b038]
xor rax, rsp
mov qword [rsp + 0xd0], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r14, [rsp + 0x70]
mov qword [r14 + 0x50], rax
movaps xmm0, xmmword [0x1401dfd10]
movaps xmmword [r14 + 0x40], xmm0
movaps xmmword [r14 + 0x30], xmm0
movaps xmmword [r14 + 0x20], xmm0
movaps xmmword [r14 + 0x10], xmm0
movaps xmmword [r14], xmm0
lea rdx, str.DoInitialize
lea r8, str....._base_files_file_win.cc
lea r15, [rsp + 0x50]
mov rcx, r15
mov r9d, 0x175
call fcn.1400713b0
mov rcx, r14
mov rdx, r15
xor r8d, r8d
call fcn.14007d430
mov eax, edi
and eax, 1
neg eax
and eax, 3
test dil, 2
mov ecx, 1
cmove ecx, eax
test dil, 4
mov eax, 4
cmovne ecx, eax
test dil, 8
mov edx, 2
cmove edx, ecx
test dil, 0x10
mov r8d, 5
cmove r8d, edx
test r8d, r8d
je 0x1400813f8
mov ecx, edi
and ecx, 0x40
shl ecx, 0x18
test dil, dil
cmovns eax, ecx
mov ebp, edi
rol ebp, 0x1a
mov ecx, edi
shl ecx, 0xb
and ecx, 0x20000000
mov edx, edi
shr edx, 4
and edx, 0x10000
and ebp, 0x80000100
or ebp, ecx
or ebp, edx
or ebp, eax
mov eax, edi
shr eax, 8
and eax, 3
mov r14d, edi
shr r14d, 0xd
and r14d, 4
or r14d, eax
xor r14d, 3
mov ebx, edi
and ebx, 0x400
mov eax, ebx
shl eax, 0x14
mov ecx, edi
shr ecx, 3
and ecx, 0x100
or ecx, eax
mov eax, edi
shr eax, 0xb
and eax, 2
or eax, ecx
mov ecx, edi
shl ecx, 0xd
and ecx, 0x4000000
or ecx, eax
mov esi, edi
shl esi, 8
and esi, 0xa000000
or esi, ecx
cmp byte [r13 + 0x17], 0
mov rcx, r13
jns 0x14008126f
mov rcx, qword [r13]
mov qword [rsp + 0x38], r13
mov r13d, r8d
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x30], 0
mov edx, ebp
mov r8d, r14d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r15, rax
cmp qword [r12], rax
je 0x1400812e1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r12
mov rcx, qword [r12]
inc rcx
cmp rcx, 2
jae 0x1400813cc
mov rcx, r15
inc rcx
cmp rcx, 2
jb 0x1400812d5
mov qword [r12], r15
mov r15d, eax
call fcn.1400713d0
mov eax, r15d
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r15, qword [r12]
inc r15
cmp r15, 1
jbe 0x140081360
mov rax, qword [r12]
inc rax
cmp rax, 2
jb 0x1400813b5
shr ebx, 0xa
mov dword [r12 + 0x24], 0
mov byte [r12 + 0x29], bl
test dil, 4
jne 0x14008134d
test dil, 0xa
je 0x14008131e
mov byte [r12 + 0x28], 1
lea rcx, [rsp + 0x70]
call fcn.14007e5d0
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.140113000
nop
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
setne byte [r12 + 0x28]
jmp 0x14008131e
call fcn.14009b8a0
test al, al
je 0x1400812ea
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x17], 0
jns 0x140081381
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r13d
mov qword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x38]
mov edx, ebp
mov r8d, r14d
xor r9d, r9d
call fcn.14017bae0
mov rcx, r12
mov rdx, rax
call fcn.14005bb50
jmp 0x1400812ea
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.1400cb110
mov dword [r12 + 0x24], eax
jmp 0x14008131e
mov dword [rsp + 0x44], eax
call fcn.1400713d0
mov qword [rsp + 0x48], r12
mov rcx, qword [r12]
call fcn.140081d40
mov eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x48]
mov qword [rcx], 0
jmp 0x1400812ba
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [r12 + 0x24], 0xffffffff
jmp 0x14008131e