Function at 0x140016b70
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 ebx, r8d
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0xd8], rax
movaps xmm6, xmmword [0x1401ee3a0]
lea r15, [rsp + 0x30]
movaps xmmword [r15 + 0x30], xmm6
movaps xmmword [r15 + 0x20], xmm6
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
lea rdx, str.MapFileRegionToMemory
lea r8, str....._base_filesmemory_mapped_file_win.cc
lea r12, [rsp + 0x90]
mov rcx, r12
mov r9d, 0x3a
call fcn.1400bab70
xor r14d, r14d
mov rcx, r15
mov rdx, r12
xor r8d, r8d
call fcn.1400d8580
mov rcx, qword [rsi]
lea rax, [rcx + 1]
cmp rax, 2
jae 0x140016c41
lea rcx, [rsp + 0x30]
call fcn.1400ae4f0
mov rcx, qword [rsp + 0xd8]
xor rcx, rsp
call fcn.14012f6f0
mov eax, r14d
movaps xmm6, xmmword [rsp + 0xe0]
add rsp, 0xf0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
xor r14d, r14d
jmp 0x140016c05
test ebx, ebx
jne 0x140016d6f
mov r8d, 2
mov ebx, 4
xor r9d, r9d
mov dword [rsp + 0x20], r14d
mov qword [rsp + 0x28], 0
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov r14, rax
cmp qword [rsi + 0x40], rax
je 0x140016cb0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi + 0x40]
inc rax
cmp rax, 2
jae 0x140016da5
mov rax, r14
inc rax
cmp rax, 2
jb 0x140016ca4
mov qword [rsi + 0x40], r14
call fcn.1400b9400
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [rsi + 0x40]
inc r14
cmp r14, 2
jb 0x140016c3c
mov r12, qword [rdi]
mov rax, qword [rdi + 8]
or rax, r12
jne 0x140016e28
mov rcx, rsi
call fcn.140017000
xor r14d, r14d
test rax, rax
jle 0x140016c05
xor r15d, r15d
xor r8d, r8d
xor edx, edx
movabs r12, 0xfffffffc00000000
mov qword [rsi + 0x38], rax
mov rcx, qword [rsi + 0x40]
mov qword [rsp + 0x20], rdx
mov edx, ebx
mov r9d, r14d
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rdi, rax
mov rcx, qword [rsi + 0x30]
mov rax, rcx
and rax, r12
cmp rax, qword [0x140219dc8]
je 0x140016f86
mov r14, rdi
and r14, r12
cmp r14, qword [0x140219dc8]
je 0x140016f90
mov qword [rsi + 0x30], rdi
test rdi, rdi
je 0x140016c3c
mov rbx, rdi
add rbx, r15
mov rax, qword [0x140219dc8]
cmp r14, rax
je 0x140016f9d
and r12, rbx
cmp r12, rax
je 0x140016fcc
mov qword [rsi + 0x30], rbx
mov r14b, 1
jmp 0x140016c05
dec ebx
cmp ebx, 3
ja case.default.0x140016d88
lea rax, [0x1402002b0]
movsxd rdx, dword [rax + rbx*4]
add rdx, rax
jmp rdx
mov r14, qword [rdi + 8]
mov r9, r14
shr r9, 0x20
mov r8d, 4
mov ebx, 2
jmp 0x140016c57
call fcn.1400b9400
mov rcx, qword [rsi + 0x40]
call fcn.1401142f0
mov qword [rsi + 0x40], 0
jmp 0x140016c8f
lea rdi, [rsp + 0x90]
movaps xmmword [rdi + 0x30], xmm6
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
lea rdx, str.MapImageToMemory
lea r8, str....._base_filesmemory_mapped_file_win.cc
lea rbx, [rsp + 0x70]
mov rcx, rbx
mov r9d, 0x1b
call fcn.1400bab70
xor r14d, r14d
mov rcx, rdi
mov rdx, rbx
xor r8d, r8d
call fcn.1400d8580
mov rcx, qword [rsi]
lea rax, [rcx + 1]
cmp rax, 2
jae 0x140016e92
lea rcx, [rsp + 0x90]
call fcn.1400ae4f0
jmp 0x140016c05
call fcn.1400ca4d0
lea r15, [rax - 1]
test r15, 0xffffffff80000000
jne 0x140016ffc
mov rcx, rax
and r15, r12
neg rcx
mov rax, qword [rdi + 8]
xor r9d, r9d
mov rdx, rax
add rdx, r15
setb r9b
mov r8, r9
neg r8
xor r9, r8
setne r9b
xor r14d, r14d
and rcx, r12
js 0x140016c05
test r9b, r9b
jne 0x140016c05
test r8, r8
js 0x140016c05
mov r8, rcx
shr r8, 0x20
mov r14d, ecx
jmp 0x140016ce5
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor edx, edx
mov r8d, 0x11000002
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov rdi, rax
cmp qword [rsi + 0x40], rax
je 0x140016ef7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi + 0x40]
inc rax
cmp rax, 2
jae 0x140016f6b
mov rax, rdi
inc rax
cmp rax, 2
jb 0x140016eeb
mov qword [rsi + 0x40], rdi
call fcn.1400b9400
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdi, qword [rsi + 0x40]
lea rax, [rdi + 1]
cmp rax, 2
jb 0x140016fba
movabs rbx, 0xfffffffc00000000
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 4
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rdi, rax
mov rcx, qword [rsi + 0x30]
mov rax, rcx
and rax, rbx
cmp rax, qword [0x140219dc8]
je 0x140016fb3
and rbx, rdi
cmp rbx, qword [0x140219dc8]
je 0x140016fc2
mov qword [rsi + 0x30], rdi
test rdi, rdi
je 0x140016fba
movsxd rax, dword [rdi + 0x3c]
mov eax, dword [rdi + rax + 0x50]
mov qword [rsi + 0x38], rax
mov r14b, 1
jmp 0x140016e16
call fcn.1400b9400
mov rcx, qword [rsi + 0x40]
call fcn.1401142f0
mov qword [rsi + 0x40], 0
jmp 0x140016ed6
call fcn.1400b23f0
jmp 0x140016d21
mov rcx, rdi
call fcn.1400b22b0
jmp 0x140016d34
mov r8d, 1
mov rcx, rdi
mov rdx, rbx
call fcn.140019630
jmp 0x140016d63
call fcn.1400b23f0
jmp 0x140016f42
xor r14d, r14d
jmp 0x140016e16
mov rcx, rdi
call fcn.1400b22b0
jmp 0x140016f4e
int3
mov r8d, 4
mov ebx, 2
jmp 0x140016c54
mov r8d, 8
mov ebx, 1
jmp 0x140016c54
mov ebx, 0xaaaaaaaa
xor r8d, r8d
jmp 0x140016c54
int3