Function at 0x140092330
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
movaps xmmword [rsp + 0xf0], xmm6
mov ebp, r8d
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x1401c6028]
xor rax, rsp
mov qword [rsp + 0xe8], rax
movaps xmm6, xmmword [0x1401990c0]
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm6
lea rdx, str.MapFileRegionToMemory
lea r8, str....._base_filesmemory_mapped_file_win.cc
lea rdi, [rsp + 0x90]
mov rcx, rdi
mov r9d, 0x3a
call fcn.140075ed0
lea rcx, [rsp + 0x30]
xor edx, edx
xor r8d, r8d
call fcn.1400a14c0
mov qword [rsp + 0xd8], 0xa
movzx eax, byte [0x1401d7dba]
test al, al
jne 0x140092739
mov rcx, qword [rsi]
xor edi, edi
lea rax, [rcx + 1]
cmp rax, 2
jb 0x1400925f0
cmp ebp, 4
ja case.default.0x1400923f7
mov eax, ebp
lea rdx, [0x1401ac368]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov r8d, 2
mov ebp, 4
jmp 0x140092576
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm6
lea rdx, str.MapImageToMemory
lea r8, str....._base_filesmemory_mapped_file_win.cc
lea rdi, [rsp + 0x70]
mov rcx, rdi
mov r9d, 0x1b
call fcn.140075ed0
lea rcx, [rsp + 0x90]
xor edx, edx
xor r8d, r8d
call fcn.1400a14c0
mov qword [rsp + 0xd0], 0xa
movzx eax, byte [0x1401d7dba]
test al, al
jne 0x14009279b
mov rcx, qword [rsi]
lea rax, [rcx + 1]
cmp rax, 2
jb 0x14009250d
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 0x1400924ff
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [rsi + 0x40]
inc rax
cmp rax, 2
jb 0x1400924de
call fcn.140075ef0
mov rcx, qword [rsi + 0x40]
call fcn.140053e50
mov qword [rsi + 0x40], 0
mov rax, rbx
inc rax
cmp rax, 2
jb 0x1400924f3
mov qword [rsi + 0x40], rbx
call fcn.140075ef0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, qword [rsi + 0x40]
lea rax, [rbx + 1]
cmp rax, 2
jae 0x1400926f9
xor edi, edi
mov qword [rsp + 0xe0], 0xa
movzx eax, byte [0x1401d7dba]
test al, al
jne 0x1400927d7
lea rcx, [rsp + 0x90]
call fcn.1400a1760
jmp 0x1400925f0
mov r8d, 8
mov ebp, 1
jmp 0x140092576
mov rdi, qword [rbx + 8]
mov r9, rdi
shr r9, 0x20
mov r8d, 4
mov ebp, 2
jmp 0x140092579
mov r8d, 4
mov ebp, 2
jmp 0x140092576
mov ebp, 0xaaaaaaaa
xor r8d, r8d
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov qword [rsp + 0x28], 0
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov rdi, rax
cmp qword [rsi + 0x40], rax
je 0x1400925e5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
mov rax, qword [rsi + 0x40]
inc rax
cmp rax, 2
jb 0x1400925c3
call fcn.140075ef0
mov rcx, qword [rsi + 0x40]
call fcn.140053e50
mov qword [rsi + 0x40], 0
mov rax, rdi
inc rax
cmp rax, 2
jb 0x1400925d8
mov qword [rsi + 0x40], rdi
call fcn.140075ef0
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdi, qword [rsi + 0x40]
inc rdi
cmp rdi, 2
jae 0x14009263c
xor edi, edi
mov qword [rsp + 0x70], 0xa
movzx eax, byte [0x1401d7dba]
test al, al
jne 0x14009276f
lea rcx, [rsp + 0x30]
call fcn.1400a1760
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.140152280
mov eax, edi
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov r15, qword [rbx]
mov rax, qword [rbx + 8]
or rax, r15
jne 0x140092661
mov rcx, rsi
call fcn.14005c360
xor edi, edi
test rax, rax
jle 0x1400925f0
xor r14d, r14d
xor r8d, r8d
xor edx, edx
jmp 0x1400926c5
call fcn.140053d80
mov rcx, qword [rax + 0x58]
lea r14, [rcx - 1]
test r14, 0xffffffff80000000
jne 0x140092800
and r14, r15
neg rcx
mov rax, qword [rbx + 8]
xor r9d, r9d
mov rdx, rax
add rdx, r14
setb r9b
mov r8, r9
neg r8
xor r9, r8
setne r9b
xor edi, edi
and rcx, r15
js 0x1400925f0
test r9b, r9b
jne 0x1400925f0
test r8, r8
js 0x1400925f0
mov r8, rcx
shr r8, 0x20
mov edi, ecx
mov qword [rsi + 0x38], rax
mov rcx, qword [rsi + 0x40]
mov qword [rsp + 0x20], rdx
mov edx, ebp
mov r9d, edi
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rsi + 0x30], rax
test rax, rax
je 0x1400925ee
add rax, r14
mov qword [rsi + 0x30], rax
mov dil, 1
jmp 0x1400925f0
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 0x14009250f
movsxd rcx, dword [rax + 0x3c]
mov eax, dword [rax + rcx + 0x50]
mov qword [rsi + 0x38], rax
mov dil, 1
jmp 0x14009250f
movzx ecx, al
mov qword [rsp + 0x70], rdi
lea rax, str.ScopedBlockingCall
mov qword [rsp + 0xe0], rax
lea rdx, [rsp + 0xd8]
lea r8, [rsp + 0xe0]
lea r9, [rsp + 0x70]
call fcn.140062630
jmp 0x1400923cb
movzx ecx, al
mov qword [rsp + 0x90], 0
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x90]
mov r9d, 2
call fcn.140032b00
jmp 0x140092608
movzx ecx, al
mov qword [rsp + 0xe0], rdi
lea rax, str.ScopedBlockingCall
mov qword [rsp + 0xd8], rax
lea rdx, [rsp + 0xd0]
lea r8, [rsp + 0xd8]
lea r9, [rsp + 0xe0]
call fcn.140062630
jmp 0x140092477
movzx ecx, al
mov qword [rsp + 0x70], 0
lea rdx, [rsp + 0xe0]
lea r8, [rsp + 0x70]
mov r9d, 2
call fcn.140032b00
jmp 0x14009252a
int3