Function at 0x1400d5650
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa0
mov edi, r8d
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x140346038]
xor rax, rsp
mov qword [rsp + 0x98], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r15, [rsp + 0x50]
mov qword [r15 + 0x40], rax
movaps xmm0, xmmword [0x1402fccc0]
movaps xmmword [r15 + 0x30], xmm0
movaps xmmword [r15 + 0x20], xmm0
movaps xmmword [r15 + 0x10], xmm0
movaps xmmword [r15], xmm0
lea rdx, str.MapFileRegionToMemory
lea r8, str....._base_filesmemory_mapped_file_win.cc
lea r12, [rsp + 0x30]
mov rcx, r12
mov r9d, 0x3a
call fcn.1400c6940
xor r14d, r14d
mov rcx, r15
mov rdx, r12
xor r8d, r8d
call fcn.140066fa0
mov rcx, qword [rsi]
lea rax, [rcx + 1]
cmp rax, 2
jb 0x1400d5818
test edi, edi
jne 0x1400d5847
mov edi, 2
xor r9d, r9d
mov dword [rsp + 0x20], r14d
mov qword [rsp + 0x28], 0
xor edx, edx
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov r14, rax
cmp qword [rsi + 0x40], rax
je 0x1400d5758
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi + 0x40]
inc rax
cmp rax, 2
jae 0x1400d5922
mov rax, r14
inc rax
cmp rax, 2
jb 0x1400d574c
mov qword [rsi + 0x40], r14
call fcn.1400bcc80
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [rsi + 0x40]
inc r14
cmp r14, 2
jb 0x1400d5859
mov r12, qword [rbx]
mov rax, qword [rbx + 8]
or rax, r12
jne 0x1400d588b
mov rcx, rsi
call fcn.1400ae560
xor r14d, r14d
test rax, rax
jle 0x1400d5818
xor r15d, r15d
xor r8d, r8d
xor edx, edx
movabs r12, 0xfffffffc00000000
mov qword [rsi + 0x38], rax
and edi, 2
add edi, 2
mov rcx, qword [rsi + 0x40]
mov qword [rsp + 0x20], rdx
mov edx, edi
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 [0x140346fc8]
je 0x1400d58f5
mov r14, rdi
and r14, r12
cmp r14, qword [0x140346fc8]
je 0x1400d58ff
mov qword [rsi + 0x30], rdi
test rdi, rdi
je 0x1400d5859
mov rbx, rdi
add rbx, r15
mov rax, qword [0x140346fc8]
cmp r14, rax
je 0x1400d590c
and r12, rbx
cmp r12, rax
je 0x1400d5961
mov qword [rsi + 0x30], rbx
mov r14b, 1
lea rcx, [rsp + 0x50]
call fcn.140067230
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140156fe0
mov eax, r14d
add rsp, 0xa0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
cmp edi, 3
jne 0x1400d585e
mov rcx, rsi
call fcn.1400675d0
mov r14d, eax
jmp 0x1400d5818
xor r14d, r14d
jmp 0x1400d5818
cmp edi, 2
jne 0x1400d5878
mov r14, qword [rbx + 8]
mov r9, r14
shr r9, 0x20
mov edi, 4
jmp 0x1400d56fc
cmp edi, 1
jne 0x1400d5967
mov edi, 4
jmp 0x1400d56f9
call fcn.1400d31d0
lea r15, [rax - 1]
test r15, 0xffffffff80000000
jne 0x1400d5964
mov rcx, rax
and r15, r12
neg rcx
mov rax, qword [rbx + 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 0x1400d5818
test r9b, r9b
jne 0x1400d5818
test r8, r8
js 0x1400d5818
mov r8, rcx
shr r8, 0x20
mov r14d, ecx
jmp 0x1400d5791
call fcn.140152310
jmp 0x1400d57d3
mov rcx, rdi
call fcn.140151d50
jmp 0x1400d57e6
mov r8d, 1
mov rcx, rdi
mov rdx, rbx
call fcn.140095120
jmp 0x1400d5811
call fcn.1400bcc80
mov r15, qword [rsi + 0x40]
mov rcx, qword [0x140362b78]
test rcx, rcx
je 0x1400d5953
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [0x14037e008]
mov qword [rsi + 0x40], 0
jmp 0x1400d5737
call fcn.140053470
mov rcx, qword [0x140362b78]
jmp 0x1400d5937
int3
int3
xor edi, edi
jmp 0x1400d56f9