Function at 0x140016ab0
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.1400ba440
xor r14d, r14d
mov rcx, r15
mov rdx, r12
xor r8d, r8d
call fcn.1400d84a0
mov rcx, qword [rsi]
lea rax, [rcx + 1]
cmp rax, 2
jae 0x140016b81
lea rcx, [rsp + 0x30]
call fcn.1400ae170
mov rcx, qword [rsp + 0xd8]
xor rcx, rsp
call fcn.14012ec00
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 0x140016b45
test ebx, ebx
jne 0x140016caf
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 0x140016bf0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi + 0x40]
inc rax
cmp rax, 2
jae 0x140016ce5
mov rax, r14
inc rax
cmp rax, 2
jb 0x140016be4
mov qword [rsi + 0x40], r14
call fcn.1400b90a0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [rsi + 0x40]
inc r14
cmp r14, 2
jb 0x140016b7c
mov r12, qword [rdi]
mov rax, qword [rdi + 8]
or rax, r12
jne 0x140016d68
mov rcx, rsi
call fcn.140016f40
xor r14d, r14d
test rax, rax
jle 0x140016b45
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 0x140016ec6
mov r14, rdi
and r14, r12
cmp r14, qword [0x140219dc8]
je 0x140016ed0
mov qword [rsi + 0x30], rdi
test rdi, rdi
je 0x140016b7c
mov rbx, rdi
add rbx, r15
mov rax, qword [0x140219dc8]
cmp r14, rax
je 0x140016edd
and r12, rbx
cmp r12, rax
je 0x140016f0c
mov qword [rsi + 0x30], rbx
mov r14b, 1
jmp 0x140016b45
dec ebx
cmp ebx, 3
ja case.default.0x140016cc8
lea rax, [0x140200290]
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 0x140016b97
call fcn.1400b90a0
mov rcx, qword [rsi + 0x40]
call fcn.14011a250
mov qword [rsi + 0x40], 0
jmp 0x140016bcf
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.1400ba440
xor r14d, r14d
mov rcx, rdi
mov rdx, rbx
xor r8d, r8d
call fcn.1400d84a0
mov rcx, qword [rsi]
lea rax, [rcx + 1]
cmp rax, 2
jae 0x140016dd2
lea rcx, [rsp + 0x90]
call fcn.1400ae170
jmp 0x140016b45
call fcn.1400c9a40
lea r15, [rax - 1]
test r15, 0xffffffff80000000
jne 0x140016f3c
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 0x140016b45
test r9b, r9b
jne 0x140016b45
test r8, r8
js 0x140016b45
mov r8, rcx
shr r8, 0x20
mov r14d, ecx
jmp 0x140016c25
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 0x140016e37
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi + 0x40]
inc rax
cmp rax, 2
jae 0x140016eab
mov rax, rdi
inc rax
cmp rax, 2
jb 0x140016e2b
mov qword [rsi + 0x40], rdi
call fcn.1400b90a0
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdi, qword [rsi + 0x40]
lea rax, [rdi + 1]
cmp rax, 2
jb 0x140016ef3
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 0x140016efb
and rbx, rdi
cmp rbx, qword [0x140219dc8]
je 0x140016f02
mov qword [rsi + 0x30], rdi
test rdi, rdi
je 0x140016ef3
movsxd rax, dword [rdi + 0x3c]
mov eax, dword [rdi + rax + 0x50]
mov qword [rsi + 0x38], rax
mov r14b, 1
jmp 0x140016d56
call fcn.1400b90a0
mov rcx, qword [rsi + 0x40]
call fcn.14011a250
mov qword [rsi + 0x40], 0
jmp 0x140016e16
call fcn.1400b2070
jmp 0x140016c61
mov rcx, rdi
call fcn.1400b1f30
jmp 0x140016c74
mov r8d, 1
mov rcx, rdi
mov rdx, rbx
call fcn.140019830
jmp 0x140016ca3
xor r14d, r14d
jmp 0x140016d56
call fcn.1400b2070
jmp 0x140016e82
mov rcx, rdi
call fcn.1400b1f30
jmp 0x140016e8e
int3
mov r8d, 4
mov ebx, 2
jmp 0x140016b94
mov r8d, 8
mov ebx, 1
jmp 0x140016b94
mov ebx, 0xaaaaaaaa
xor r8d, r8d
jmp 0x140016b94
int3