Function at 0x140013880
Capabilities:
Check if file exists
Read file via mapping

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
movaps xmmword [rsp + 0x110], xmm6
mov r15d, r8d
mov r14, rdx
mov rsi, rcx
mov rax, qword [0x1401f5028]
xor rax, rsp
mov qword [rsp + 0x108], rax
movaps xmm6, xmmword [0x1401c8a80]
lea rbx, [rsp + 0x40]
movaps xmmword [rbx + 0x40], xmm6
movaps xmmword [rbx + 0x30], xmm6
movaps xmmword [rbx + 0x20], xmm6
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
lea rdx, str.MapFileRegionToMemory
lea r8, str..._.._base_files_memory_mapped_file_win.cc
lea rbp, [rsp + 0xb0]
mov rcx, rbp
mov r9d, 0x39
call fcn.1400d4e70
xor edi, edi
mov rcx, rbx
mov rdx, rbp
xor r8d, r8d
call fcn.1400d4e90
mov rcx, rsi
call fcn.1400defc0
test al, al
je 0x1400139fe
test r15d, r15d
jne 0x140013a32
mov ebp, 2
xor r9d, r9d
mov rcx, qword [rsi]
mov dword [rsp + 0x20], edi
mov qword [rsp + 0x28], 0
xor edx, edx
mov r8d, ebp
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov rdi, rax
cmp qword [rsi + 0x40], rax
je 0x140013984
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi + 0x40]
inc rax
cmp rax, 2
jae 0x140013b70
mov rax, rdi
inc rax
cmp rax, 2
jb 0x140013978
mov qword [rsi + 0x40], rdi
call fcn.1400c18d0
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdi, qword [rsi + 0x40]
inc rdi
cmp rdi, 2
jb 0x140013be1
mov dword [rsp + 0x3c], 0
lea rdx, [0x1401d6060]
mov rcx, r14
call fcn.140013c40
test al, al
je 0x140013b8b
mov rcx, rsi
call fcn.140013c70
xor edi, edi
test rax, rax
jle 0x1400139fe
mov qword [rsi + 0x38], rax
xor r8d, r8d
xor eax, eax
and ebp, 2
add ebp, 2
mov rcx, qword [rsi + 0x40]
mov qword [rsp + 0x20], rax
mov edx, ebp
mov r9d, edi
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rsi + 0x30], rax
test rax, rax
je 0x140013be1
movsxd rcx, dword [rsp + 0x3c]
add rax, rcx
mov qword [rsi + 0x30], rax
mov dil, 1
lea rcx, [rsp + 0x40]
call fcn.1400dcae0
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.1400f32c0
mov eax, edi
movaps xmm6, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
cmp r15d, 3
jne 0x140013be8
lea rbx, [rsp + 0xb0]
movaps xmmword [rbx + 0x40], xmm6
movaps xmmword [rbx + 0x30], xmm6
movaps xmmword [rbx + 0x20], xmm6
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
lea rdx, str.MapImageToMemory
lea r8, str..._.._base_files_memory_mapped_file_win.cc
lea rbp, [rsp + 0x90]
mov rcx, rbp
mov r9d, 0x1a
call fcn.1400d4e70
xor edi, edi
mov rcx, rbx
mov rdx, rbp
xor r8d, r8d
call fcn.1400d4e90
mov rcx, rsi
call fcn.1400defc0
test al, al
je 0x140013b5e
mov rcx, qword [rsi]
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 rbx, rax
cmp qword [rsi + 0x40], rax
je 0x140013b03
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [rsi + 0x40]
inc rax
cmp rax, 2
jae 0x140013c03
mov rax, rbx
inc rax
cmp rax, 2
jb 0x140013af7
mov qword [rsi + 0x40], rbx
call fcn.1400c18d0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, qword [rsi + 0x40]
lea rax, [rbx + 1]
cmp rax, 2
jb 0x140013c1e
mov qword [rsp + 0x20], 0
xor edi, edi
mov rcx, rbx
mov edx, 4
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rsi + 0x30], rax
test rax, rax
je 0x140013b5e
lea rdx, [0x1401c9c58]
lea rcx, [rsp + 0x90]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
call fcn.140013c60
mov eax, dword [rax + 0x50]
mov qword [rsi + 0x38], rax
mov dil, 1
lea rcx, [rsp + 0xb0]
call fcn.1400dcae0
jmp 0x1400139fe
call fcn.1400c18d0
mov rcx, qword [rsi + 0x40]
call fcn.1400def50
mov qword [rsi + 0x40], 0
jmp 0x140013963
xor eax, eax
lea rdi, [rsp + 0xb0]
mov qword [rdi], rax
lea r9, [rsp + 0x90]
mov qword [r9], rax
mov rcx, qword [r14]
mov rdx, qword [r14 + 8]
lea rbx, [rsp + 0x3c]
mov qword [rsp + 0x20], rbx
mov r8, rdi
call fcn.140013fb0
mov rcx, qword [r14 + 8]
movsxd rax, dword [rbx]
add rax, rcx
mov rdi, qword [rdi]
mov rdx, rax
or rdx, rdi
js 0x140013be1
mov r8, rdi
shr r8, 0x20
mov qword [rsi + 0x38], rcx
jmp 0x1400139c8
xor edi, edi
jmp 0x1400139fe
cmp r15d, 2
jne 0x140013c25
mov rdi, qword [r14 + 8]
mov r9, rdi
shr r9, 0x20
mov ebp, 4
jmp 0x140013926
call fcn.1400c18d0
mov rcx, qword [rsi + 0x40]
call fcn.1400def50
mov qword [rsi + 0x40], 0
jmp 0x140013ae2
xor edi, edi
jmp 0x140013b5e
cmp r15d, 1
jne 0x140013c35
mov ebp, 4
jmp 0x140013923
xor ebp, ebp
jmp 0x140013923