Function at 0x14003fe70
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 0x14004023d
mov ebx, r9d
mov eax, r9d
and eax, 0x1f
jne 0x14004023d
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 0x14004023d
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.14018f5b8
mov r12, rax
movups xmmword [rax], xmm6
movups xmmword [rax + 0x18], xmm6
movups xmmword [rax + 0x28], xmm6
mov ecx, Ordinal_26
call fcn.14018f5b8
test rax, rax
je 0x1400403bf
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 0x14003ffd0
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [r12]
inc rax
cmp rax, 2
jae 0x140040297
lea rax, [rbp + 1]
cmp rax, 2
jb 0x14003ffc4
mov qword [r12], rbp
call fcn.140118d70
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 0x14004023d
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 0x14004006b
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [r12 + 8]
inc rax
cmp rax, 2
jae 0x14004025b
lea rax, [rbp + 1]
cmp rax, 2
jb 0x14004005e
mov qword [r12 + 8], rbp
call fcn.140118d70
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 0x14004023d
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 0x140040378
cmp qword [rsp + 0x58], rax
je 0x140040389
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 0x14004035a
add r13, r14
mov rax, r13
and rax, r15
cmp rax, qword [0x1402b5708]
je 0x140040398
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 0x1400403a5
mov rax, r12
add rax, 0x18
mov rcx, qword [rax]
mov rax, rcx
and rax, r15
cmp rax, qword [0x1402b5708]
je 0x140040364
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 0x14004036e
mov rax, rdi
and rax, r15
cmp rax, qword [0x1402b5708]
mov r15, qword [rsp + 0x70]
je 0x1400403b2
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, [0x1400484d0]
call fcn.1400403e0
add r14, 0x28
add qword [rsp + 0x40], 0x28
dec r15
jne 0x14003ff24
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 0x14004023d
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.140118d70
mov r15, qword [r12 + 8]
cmp qword [0x1402c5c40], 0
je 0x140040312
mov rcx, qword [0x1402c5c40]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [0x1402a3e88]
mov qword [r12 + 8], 0
jmp 0x14004004a
call fcn.140118d70
mov r15, qword [r12]
cmp qword [0x1402c5c40], 0
je 0x1400402cd
mov rcx, qword [0x1402c5c40]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [0x1402a3e88]
mov qword [r12], 0
jmp 0x14003ffb1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x140288eef]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400403d2
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x14004030c
call qword [0x1402a3e88]
mov rcx, rax
xor edx, edx
call fcn.1400445d0
jmp 0x1400402aa
xor ecx, ecx
mov dl, 1
jmp 0x140040305
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x140288eef]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400403d9
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x140040354
call qword [0x1402a3e88]
mov rcx, rax
xor edx, edx
call fcn.1400445d0
jmp 0x140040273
xor ecx, ecx
mov dl, 1
jmp 0x14004034a
call fcn.1400fd700
jmp 0x140040118
call fcn.1400fdb10
jmp 0x14004016c
call fcn.1400fd700
jmp 0x14004018d
call fcn.1400fdb10
mov rax, qword [0x1402b5708]
jmp 0x1400400e6
mov rcx, qword [rsp + 0x38]
call fcn.1400fd5a0
jmp 0x1400400f1
mov rcx, r13
call fcn.1400fd440
jmp 0x14004012e
mov rcx, rdi
call fcn.1400fd5a0
jmp 0x14004014f
mov rcx, rdi
call fcn.1400fd440
jmp 0x1400401a5
lea rcx, [0x140274353]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
call fcn.1401ceb00
xor ecx, ecx
jmp 0x140040303
xor ecx, ecx
jmp 0x140040348