Function at 0x1400451a0
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 0x14004556d
mov ebx, r9d
mov eax, r9d
and eax, 0x1f
jne 0x14004556d
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 0x14004556d
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, 0x28
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, 0x48
call fcn.1401298a8
mov r12, rax
movups xmmword [rax], xmm6
movups xmmword [rax + 0x18], xmm6
movups xmmword [rax + 0x28], xmm6
mov ecx, 0x18
call fcn.1401298a8
test rax, rax
je 0x1400456ef
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 0x140045300
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [r12]
inc rax
cmp rax, 2
jae 0x1400455c7
lea rax, [rbp + 1]
cmp rax, 2
jb 0x1400452f4
mov qword [r12], rbp
call fcn.1400b34e0
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 0x14004556d
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 0x14004539b
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [r12 + 8]
inc rax
cmp rax, 2
jae 0x14004558b
lea rax, [rbp + 1]
cmp rax, 2
jb 0x14004538e
mov qword [r12 + 8], rbp
call fcn.1400b34e0
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 0x14004556d
mov rbp, qword [rsp + 0x78]
mov qword [r13 + r14], rbp
mov dword [r13 + r14 + 8], 1
mov rcx, qword [r12 + 0x20]
mov rax, qword [0x140233688]
mov rdx, rcx
movabs r15, 0xfffffffc00000000
and rdx, r15
cmp rdx, rax
mov ebx, dword [rsp + 0x4c]
je 0x1400456a8
cmp qword [rsp + 0x58], rax
je 0x1400456b9
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 [0x140233688]
je 0x14004568a
add r13, r14
mov rax, r13
and rax, r15
cmp rax, qword [0x140233688]
je 0x1400456c8
mov qword [r12 + 0x28], r13
mov rdi, qword [r12 + 0x20]
add rdi, qword [r13]
mov rax, rdi
and rax, r15
cmp rax, qword [0x140233688]
je 0x1400456d5
mov rax, r12
add rax, 0x18
mov rcx, qword [rax]
mov rax, rcx
and rax, r15
cmp rax, qword [0x140233688]
je 0x140045694
mov qword [r12 + 0x18], rdi
mov rdi, qword [rsi + 0x38]
mov rcx, qword [r12 + 0x30]
mov rax, rcx
and rax, r15
cmp rax, qword [0x140233688]
je 0x14004569e
mov rax, rdi
and rax, r15
cmp rax, qword [0x140233688]
mov r15, qword [rsp + 0x70]
je 0x1400456e2
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, [0x14004c540]
call fcn.140045710
add r14, 0x28
add qword [rsp + 0x40], 0x28
dec r15
jne 0x140045254
mov rbx, qword [rsi]
mov r14, qword [rsi + 0x28]
add rbx, 8
mov r15, qword [0x14024a5e8]
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 0x14004556d
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.1400b34e0
mov r15, qword [r12 + 8]
cmp qword [0x140243968], 0
je 0x140045642
mov rcx, qword [0x140243968]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [0x140223bc8]
mov qword [r12 + 8], 0
jmp 0x14004537a
call fcn.1400b34e0
mov r15, qword [r12]
cmp qword [0x140243968], 0
je 0x1400455fd
mov rcx, qword [0x140243968]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [0x140223bc8]
mov qword [r12], 0
jmp 0x1400452e1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x14021595f]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140045702
lea rcx, [sym.browser.exe_GetHandleVerifier]
cmp rax, rcx
je 0x14004563c
call qword [0x140223bc8]
mov rcx, rax
xor edx, edx
call fcn.140047ac0
jmp 0x1400455da
xor ecx, ecx
mov dl, 1
jmp 0x140045635
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x14021595f]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140045709
lea rcx, [sym.browser.exe_GetHandleVerifier]
cmp rax, rcx
je 0x140045684
call qword [0x140223bc8]
mov rcx, rax
xor edx, edx
call fcn.140047ac0
jmp 0x1400455a3
xor ecx, ecx
mov dl, 1
jmp 0x14004567a
call fcn.1400980c0
jmp 0x140045448
call fcn.1400984d0
jmp 0x14004549c
call fcn.1400980c0
jmp 0x1400454bd
call fcn.1400984d0
mov rax, qword [0x140233688]
jmp 0x140045416
mov rcx, qword [rsp + 0x38]
call fcn.140097f60
jmp 0x140045421
mov rcx, r13
call fcn.140097e00
jmp 0x14004545e
mov rcx, rdi
call fcn.140097f60
jmp 0x14004547f
mov rcx, rdi
call fcn.140097e00
jmp 0x1400454d5
lea rcx, [0x14020233c]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
call fcn.140163630
xor ecx, ecx
jmp 0x140045633
xor ecx, ecx
jmp 0x140045678