Function at 0x14003f980
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm6
mov qword [rsp + 0x38], rdx
xor edi, edi
cmp r8d, r9d
jb 0x14003fd4d
mov ebx, r9d
mov eax, r9d
and eax, 0x1f
jne 0x14003fd4d
mov rsi, rcx
add r8d, 0xfffffff0
mov eax, ebx
mov qword [rsp + 0x68], rax
lea rcx, [rax + 0x28]
xor edi, edi
mov rax, r8
xor edx, edx
div rcx
cmp rcx, r8
ja 0x14003fd4d
movabs r8, 0xfffffffc00000000
mov rdx, qword [rsp + 0x38]
mov qword [rsi], rdx
mov qword [rdx], 0
lea rcx, [rax + rax*4]
lea rbp, [rcx*8 + 0x10]
lea rcx, [rsi + 8]
mov qword [rsp + 0x60], rcx
and rdx, r8
mov qword [rsp + 0x58], rdx
mov r14d, 0x10
mov ecx, Ordinal_41
mov qword [rsp + 0x40], rcx
xorps xmm6, xmm6
mov qword [rsp + 0x50], rax
mov r15, rax
mov dword [rsp + 0x4c], ebx
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], rbp
mov r13, qword [rsi]
mov ecx, Ordinal_73
call fcn.14018f5a8
mov r12, rax
movups xmmword [rax], xmm6
movups xmmword [rax + 0x18], xmm6
movups xmmword [rax + 0x28], xmm6
mov ecx, Ordinal_26
call fcn.14018f5a8
test rax, rax
je 0x14003fecf
mov qword [rax + 0x10], r12
mov rcx, qword [rsp + 0x60]
mov qword [rax + 8], rcx
mov rcx, qword [rsi + 8]
mov qword [rax], rcx
mov qword [rcx + 8], rax
mov qword [rsi + 8], rax
inc qword [rsi + 0x18]
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov r15, qword [r12]
cmp r15, rax
je 0x14003fae0
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [r12]
inc rax
cmp rax, 2
jae 0x14003fda7
lea rax, [rbp + 1]
cmp rax, 2
jb 0x14003fad4
mov qword [r12], rbp
call fcn.140118d60
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r15, qword [r12]
mov rax, qword [rsp + 0x40]
lea rbp, [rax + r13]
add rbp, 0xfffffffffffffff8
mov rbx, qword [rsi + 0x28]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor edi, edi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 0x100002
mov rcx, rax
mov rdx, r15
mov r8, rbx
mov r9, rbp
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x14003fd4d
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov r15, qword [r12 + 8]
cmp r15, rax
je 0x14003fb7b
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [r12 + 8]
inc rax
cmp rax, 2
jae 0x14003fd6b
lea rax, [rbp + 1]
cmp rax, 2
jb 0x14003fb6e
mov qword [r12 + 8], rbp
call fcn.140118d60
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r15, qword [r12 + 8]
mov rax, qword [rsp + 0x40]
lea rbx, [rax + r13]
mov rbp, qword [rsi + 0x28]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor edi, edi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 0x100002
mov rcx, rax
mov rdx, r15
mov r8, rbp
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x14003fd4d
mov rbp, qword [rsp + 0x78]
mov qword [r13 + r14], rbp
mov dword [r13 + r14 + 8], 1
mov rcx, qword [r12 + 0x20]
mov rax, qword [0x1402b5708]
mov rdx, rcx
movabs r15, 0xfffffffc00000000
and rdx, r15
cmp rdx, rax
mov ebx, dword [rsp + 0x4c]
je 0x14003fe88
cmp qword [rsp + 0x58], rax
je 0x14003fe99
mov rax, qword [rsp + 0x38]
mov qword [r12 + 0x20], rax
mov dword [r12 + 0x10], ebx
mov rcx, qword [r12 + 0x28]
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402b5708]
je 0x14003fe6a
add r13, r14
mov rax, r13
and rax, r15
cmp rax, qword [0x1402b5708]
je 0x14003fea8
mov qword [r12 + 0x28], r13
mov rdi, qword [r12 + 0x20]
add rdi, qword [r13]
mov rax, rdi
and rax, r15
cmp rax, qword [0x1402b5708]
je 0x14003feb5
mov rax, r12
add rax, 0x18
mov rcx, qword [rax]
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402b5708]
je 0x14003fe74
mov qword [r12 + 0x18], rdi
mov rdi, qword [rsi + 0x38]
mov rcx, qword [r12 + 0x30]
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402b5708]
je 0x14003fe7e
mov rax, rdi
and rax, r15
cmp rax, qword [0x1402b5708]
mov r15, qword [rsp + 0x70]
je 0x14003fec2
mov qword [r12 + 0x30], rdi
mov rax, qword [rsi + 0x28]
mov qword [r12 + 0x38], rax
mov eax, dword [rsi + 0x30]
mov dword [r12 + 0x40], eax
add rbp, qword [rsp + 0x68]
mov rcx, qword [rsi + 0x20]
mov r8, qword [r12]
mov qword [rsp + 0x20], r12
mov rdx, rsi
lea r9, [0x140047fe0]
call fcn.14003fef0
add r14, 0x28
add qword [rsp + 0x40], 0x28
dec r15
jne 0x14003fa34
mov rbx, qword [rsi]
mov r14, qword [rsi + 0x28]
add rbx, 8
mov r15, qword [0x1402cca78]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor edi, edi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 0x100002
mov rcx, rax
mov rdx, r15
mov r8, r14
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x14003fd4d
mov rax, qword [rsi]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
mov dil, 1
mov eax, edi
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140118d60
mov r15, qword [r12 + 8]
cmp qword [0x1402c5c40], 0
je 0x14003fe22
mov rcx, qword [0x1402c5c40]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [0x1402a3ee8]
mov qword [r12 + 8], 0
jmp 0x14003fb5a
call fcn.140118d60
mov r15, qword [r12]
cmp qword [0x1402c5c40], 0
je 0x14003fddd
mov rcx, qword [0x1402c5c40]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [0x1402a3ee8]
mov qword [r12], 0
jmp 0x14003fac1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x140288f4f]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14003fee2
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x14003fe1c
call qword [0x1402a3ee8]
mov rcx, rax
xor edx, edx
call fcn.1400440e0
jmp 0x14003fdba
xor ecx, ecx
mov dl, 1
jmp 0x14003fe15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x140288f4f]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14003fee9
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x14003fe64
call qword [0x1402a3ee8]
mov rcx, rax
xor edx, edx
call fcn.1400440e0
jmp 0x14003fd83
xor ecx, ecx
mov dl, 1
jmp 0x14003fe5a
call fcn.1400fd6f0
jmp 0x14003fc28
call fcn.1400fdb00
jmp 0x14003fc7c
call fcn.1400fd6f0
jmp 0x14003fc9d
call fcn.1400fdb00
mov rax, qword [0x1402b5708]
jmp 0x14003fbf6
mov rcx, qword [rsp + 0x38]
call fcn.1400fd590
jmp 0x14003fc01
mov rcx, r13
call fcn.1400fd430
jmp 0x14003fc3e
mov rcx, rdi
call fcn.1400fd590
jmp 0x14003fc5f
mov rcx, rdi
call fcn.1400fd430
jmp 0x14003fcb5
lea rcx, [0x1402742d5]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
call fcn.1401ceaf0
xor ecx, ecx
jmp 0x14003fe13
xor ecx, ecx
jmp 0x14003fe58