Function at 0x1400259b0
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 0x140025d7d
mov ebx, r9d
mov eax, r9d
and eax, 0x1f
jne 0x140025d7d
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 0x140025d7d
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.14009d274
mov r12, rax
movups xmmword [rax], xmm6
movups xmmword [rax + 0x18], xmm6
movups xmmword [rax + 0x28], xmm6
mov ecx, 0x18
call fcn.14009d274
test rax, rax
je 0x140025eff
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 0x140025b10
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [r12]
inc rax
cmp rax, 2
jae 0x140025dd7
lea rax, [rbp + 1]
cmp rax, 2
jb 0x140025b04
mov qword [r12], rbp
call fcn.140057820
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 0x140025d7d
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 0x140025bab
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [r12 + 8]
inc rax
cmp rax, 2
jae 0x140025d9b
lea rax, [rbp + 1]
cmp rax, 2
jb 0x140025b9e
mov qword [r12 + 8], rbp
call fcn.140057820
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 0x140025d7d
mov rbp, qword [rsp + 0x78]
mov qword [r13 + r14], rbp
mov dword [r13 + r14 + 8], 1
mov rcx, qword [r12 + 0x20]
mov rax, qword [0x14013d588]
mov rdx, rcx
movabs r15, 0xfffffffc00000000
and rdx, r15
cmp rdx, rax
mov ebx, dword [rsp + 0x4c]
je 0x140025eb8
cmp qword [rsp + 0x58], rax
je 0x140025ec9
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 [0x14013d588]
je 0x140025e9a
add r13, r14
mov rax, r13
and rax, r15
cmp rax, qword [0x14013d588]
je 0x140025ed8
mov qword [r12 + 0x28], r13
mov rdi, qword [r12 + 0x20]
add rdi, qword [r13]
mov rax, rdi
and rax, r15
cmp rax, qword [0x14013d588]
je 0x140025ee5
mov rax, r12
add rax, 0x18
mov rcx, qword [rax]
mov rax, rcx
and rax, r15
cmp rax, qword [0x14013d588]
je 0x140025ea4
mov qword [r12 + 0x18], rdi
mov rdi, qword [rsi + 0x38]
mov rcx, qword [r12 + 0x30]
mov rax, rcx
and rax, r15
cmp rax, qword [0x14013d588]
je 0x140025eae
mov rax, rdi
and rax, r15
cmp rax, qword [0x14013d588]
mov r15, qword [rsp + 0x70]
je 0x140025ef2
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, [0x14002dfd0]
call fcn.140025f20
add r14, 0x28
add qword [rsp + 0x40], 0x28
dec r15
jne 0x140025a64
mov rbx, qword [rsi]
mov r14, qword [rsi + 0x28]
add rbx, 8
mov r15, qword [0x140152c00]
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 0x140025d7d
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.140057820
mov r15, qword [r12 + 8]
cmp qword [0x14014cbe0], 0
je 0x140025e52
mov rcx, qword [0x14014cbe0]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [0x14012fc00]
mov qword [r12 + 8], 0
jmp 0x140025b8a
call fcn.140057820
mov r15, qword [r12]
cmp qword [0x14014cbe0], 0
je 0x140025e0d
mov rcx, qword [0x14014cbe0]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [0x14012fc00]
mov qword [r12], 0
jmp 0x140025af1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x1401281f5]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140025f12
lea rcx, [sym.opera.exe_GetHandleVerifier]
cmp rax, rcx
je 0x140025e4c
call qword [0x14012fc00]
mov rcx, rax
xor edx, edx
call fcn.14002cd30
jmp 0x140025dea
xor ecx, ecx
mov dl, 1
jmp 0x140025e45
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x1401281f5]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140025f19
lea rcx, [sym.opera.exe_GetHandleVerifier]
cmp rax, rcx
je 0x140025e94
call qword [0x14012fc00]
mov rcx, rax
xor edx, edx
call fcn.14002cd30
jmp 0x140025db3
xor ecx, ecx
mov dl, 1
jmp 0x140025e8a
call fcn.14005a8b0
jmp 0x140025c58
call fcn.14005acc0
jmp 0x140025cac
call fcn.14005a8b0
jmp 0x140025ccd
call fcn.14005acc0
mov rax, qword [0x14013d588]
jmp 0x140025c26
mov rcx, qword [rsp + 0x38]
call fcn.14005a750
jmp 0x140025c31
mov rcx, r13
call fcn.14005a5f0
jmp 0x140025c6e
mov rcx, rdi
call fcn.14005a750
jmp 0x140025c8f
mov rcx, rdi
call fcn.14005a5f0
jmp 0x140025ce5
lea rcx, [0x14011c264]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
call fcn.1400d1300
xor ecx, ecx
jmp 0x140025e43
xor ecx, ecx
jmp 0x140025e88