Function at 0x140091c40
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov edi, r8d
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x14021f030]
xor rax, rsp
mov qword [rsp + 0xb0], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], rax
movaps xmm0, xmmword [0x1401e7440]
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
lea rdx, str.MapFileRegionToMemory
lea r8, str....._base_filesmemory_mapped_file_win.cc
lea r15, [rsp + 0x40]
mov rcx, r15
mov r9d, 0x3a
call fcn.1400afa40
lea rcx, [rsp + 0x60]
xor r14d, r14d
mov rdx, r15
xor r8d, r8d
call fcn.14009d6e0
mov rcx, rsi
call fcn.140091fd0
test al, al
je 0x140091db5
cmp edi, 3
ja case.default.0x140091cf6
mov eax, edi
lea rcx, [0x1401f8498]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov edi, 2
jmp 0x140091d2a
mov r14, qword [rbx + 8]
mov r15, r14
shr r15, 0x20
mov edi, 4
jmp 0x140091d2d
mov rcx, rsi
call fcn.140091a70
mov r14d, eax
jmp 0x140091db5
mov edi, 4
jmp 0x140091d2a
xor edi, edi
xor r15d, r15d
mov rcx, rsi
call fcn.140035dc0
mov dword [rsp + 0x20], r14d
mov qword [rsp + 0x28], 0
mov rcx, rax
xor edx, edx
mov r8d, edi
mov r9d, r15d
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov r14, rax
cmp qword [rsi + 0x40], rax
je 0x140091da9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi + 0x40]
inc rax
cmp rax, 2
jb 0x140091d88
call fcn.1400afa60
mov rcx, qword [rsi + 0x40]
call fcn.14008a660
mov qword [rsi + 0x40], 0
mov rax, r14
inc rax
cmp rax, 2
jb 0x140091d9d
mov qword [rsi + 0x40], r14
call fcn.1400afa60
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [rsi + 0x40]
inc r14
cmp r14, 2
jae 0x140091de2
xor r14d, r14d
lea rcx, [rsp + 0x60]
call fcn.14009d740
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.14019eb90
mov eax, r14d
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov dword [rsp + 0x3c], 0
lea rdx, [0x1401f92d0]
mov rcx, rbx
call fcn.1400aff30
test al, al
je 0x140091e1b
mov rcx, rsi
call fcn.140092770
xor r14d, r14d
test rax, rax
jle 0x140091db5
mov qword [rsi + 0x38], rax
xor r8d, r8d
xor eax, eax
jmp 0x140091e9f
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x30], 0
mov rcx, qword [rbx]
mov rdx, qword [rbx + 8]
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x40]
lea r9, [rsp + 0x30]
call fcn.1400b0110
mov rcx, qword [rbx + 8]
movsxd rax, dword [rsp + 0x3c]
mov r8, rax
sar r8, 0x3f
add rax, rcx
adc r8, 0
mov edx, r8d
and edx, 1
neg rdx
xor r8, rdx
setne r8b
mov r14, qword [rsp + 0x40]
test r14, r14
js 0x140091db2
test r8b, r8b
jne 0x140091db2
test rdx, rdx
js 0x140091db2
mov r8, r14
shr r8, 0x20
mov qword [rsi + 0x38], rcx
and edi, 2
add edi, 2
mov rcx, qword [rsi + 0x40]
mov qword [rsp + 0x20], rax
mov edx, edi
mov r9d, r14d
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rdi, rax
mov rcx, qword [rsi + 0x30]
movabs r14, 0xfffffffc00000000
mov rax, rcx
and rax, r14
cmp rax, qword [0x14022e988]
jne 0x140091ede
call fcn.14003a3c8
mov r15, rdi
and r15, r14
cmp r15, qword [0x14022e988]
jne 0x140091ef5
mov rcx, rdi
call fcn.14003a2ac
mov qword [rsi + 0x30], rdi
test rdi, rdi
je 0x140091db2
movsxd rax, dword [rsp + 0x3c]
mov rbx, rdi
add rbx, rax
mov rax, qword [0x14022e988]
cmp r15, rax
jne 0x140091f2c
mov r8d, 1
mov rcx, rdi
mov rdx, rbx
call fcn.14003a754
jmp 0x140091f34
and r14, rbx
cmp r14, rax
je 0x140091f40
mov qword [rsi + 0x30], rbx
mov r14b, 1
jmp 0x140091db5
int3