Function at 0x140052f40
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 [0x140213038]
xor rax, rsp
mov qword [rsp + 0x108], rax
movaps xmm6, xmmword [0x1401d9dd0]
lea rdi, [rsp + 0x40]
movaps xmmword [rdi + 0x40], xmm6
movaps xmmword [rdi + 0x30], xmm6
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], 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.1400d95e0
xor ebx, ebx
mov rcx, rdi
mov rdx, rbp
xor r8d, r8d
call fcn.1400e5a80
mov rcx, rsi
call fcn.1400e0960
test al, al
je 0x1400530c7
test r15d, r15d
jne 0x1400530fb
mov ebp, 2
xor edi, edi
mov rcx, rsi
call fcn.1400268b0
mov dword [rsp + 0x20], ebx
mov qword [rsp + 0x28], 0
mov rcx, rax
xor edx, edx
mov r8d, ebp
mov r9d, edi
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov rdi, rax
cmp qword [rsi + 0x40], rax
je 0x14005304e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi + 0x40]
inc rax
cmp rax, 2
jae 0x140053240
mov rax, rdi
inc rax
cmp rax, 2
jb 0x140053042
mov qword [rsi + 0x40], rdi
call fcn.1400d9600
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdi, qword [rsi + 0x40]
inc rdi
cmp rdi, 2
jb 0x1400532b1
mov dword [rsp + 0x3c], 0
lea rdx, [0x1401e75c0]
mov rcx, r14
call fcn.14004a130
test al, al
je 0x14005325b
mov rcx, rsi
call fcn.140052640
xor ebx, ebx
test rax, rax
jle 0x1400530c7
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, ebx
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rsi + 0x30], rax
test rax, rax
je 0x1400532b1
movsxd rcx, dword [rsp + 0x3c]
add rax, rcx
mov qword [rsi + 0x30], rax
mov bl, 1
lea rcx, [rsp + 0x40]
call fcn.1400e5c10
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.1401013e0
mov eax, ebx
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 0x1400532b8
lea rdi, [rsp + 0xb0]
movaps xmmword [rdi + 0x40], xmm6
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_files_memory_mapped_file_win.cc
lea rbp, [rsp + 0x90]
mov rcx, rbp
mov r9d, 0x1a
call fcn.1400d95e0
xor ebx, ebx
mov rcx, rdi
mov rdx, rbp
xor r8d, r8d
call fcn.1400e5a80
mov rcx, rsi
call fcn.1400e0960
test al, al
je 0x14005322e
mov rcx, rsi
call fcn.1400268b0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rax
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 0x1400531d4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi + 0x40]
inc rax
cmp rax, 2
jae 0x1400532d3
mov rax, rdi
inc rax
cmp rax, 2
jb 0x1400531c8
mov qword [rsi + 0x40], rdi
call fcn.1400d9600
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdi, qword [rsi + 0x40]
lea rax, [rdi + 1]
cmp rax, 2
jb 0x1400532ee
mov qword [rsp + 0x20], 0
xor ebx, ebx
mov rcx, rdi
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 0x14005322e
lea rdx, fcn.14013aca0
lea rcx, [rsp + 0x90]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
call fcn.14007bb20
mov eax, dword [rax + 0x50]
mov qword [rsi + 0x38], rax
mov bl, 1
lea rcx, [rsp + 0xb0]
call fcn.1400e5c10
jmp 0x1400530c7
call fcn.1400d9600
mov rcx, qword [rsi + 0x40]
call fcn.1400e0e60
mov qword [rsi + 0x40], 0
jmp 0x14005302d
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.14004a2c0
mov rcx, qword [r14 + 8]
movsxd rax, dword [rbx]
add rax, rcx
mov rbx, qword [rdi]
mov rdx, rax
or rdx, rbx
js 0x1400532b1
mov r8, rbx
shr r8, 0x20
mov qword [rsi + 0x38], rcx
jmp 0x140053092
xor ebx, ebx
jmp 0x1400530c7
cmp r15d, 2
jne 0x1400532f5
mov rbx, qword [r14 + 8]
mov rdi, rbx
shr rdi, 0x20
mov ebp, 4
jmp 0x140052fe5
call fcn.1400d9600
mov rcx, qword [rsi + 0x40]
call fcn.1400e0e60
mov qword [rsi + 0x40], 0
jmp 0x1400531b3
xor ebx, ebx
jmp 0x14005322e
cmp r15d, 1
jne 0x140053305
mov ebp, 4
jmp 0x140052fe3
xor ebp, ebp
jmp 0x140052fe3