Function at 0x140044570
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 0x140044972
mov ebx, r9d
mov eax, r9d
and eax, 0x1f
jne 0x140044972
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 0x140044972
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 ecx, 0x10
mov edx, 0x28
mov qword [rsp + 0x40], rdx
xorps xmm6, xmm6
mov qword [rsp + 0x50], rax
mov r14, rax
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x78], rbp
mov r13, qword [rsi]
mov ecx, 0x48
call fcn.140146648
mov r12, rax
movups xmmword [rax], xmm6
movups xmmword [rax + 0x18], xmm6
movups xmmword [rax + 0x28], xmm6
mov ecx, 0x18
call fcn.140146648
test rax, rax
je 0x140044a8f
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 0x1400446d0
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [r12]
inc rax
cmp rax, 2
jae 0x1400449cc
lea rax, [rbp + 1]
cmp rax, 2
jb 0x1400446c4
mov qword [r12], rbp
call fcn.1400bbc10
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r15, qword [r12]
mov r14d, ebx
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 0x140044972
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 0x14004476e
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [r12 + 8]
inc rax
cmp rax, 2
jae 0x140044990
lea rax, [rbp + 1]
cmp rax, 2
jb 0x140044761
mov qword [r12 + 8], rbp
call fcn.1400bbc10
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 0x140044972
mov rbp, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x48]
mov qword [r13 + rdi], rbp
mov dword [r13 + rdi + 8], 1
mov rcx, qword [r12 + 0x20]
mov rax, qword [0x140262688]
mov rdx, rcx
movabs r15, 0xfffffffc00000000
and rdx, r15
cmp rdx, rax
mov ebx, r14d
je 0x140044ab2
cmp qword [rsp + 0x58], rax
je 0x140044ac3
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 [0x140262688]
je 0x140044a91
add r13, rdi
mov rax, r13
and rax, r15
cmp rax, qword [0x140262688]
je 0x140044ad2
mov qword [r12 + 0x28], r13
mov rcx, qword [r12 + 0x20]
mov rdi, qword [r13]
add rdi, rcx
mov rax, rcx
and rax, r15
cmp rax, qword [0x140262688]
je 0x140044af9
mov rax, rdi
and rax, r15
cmp rax, qword [0x140262688]
je 0x140044aaf
mov rax, rdi
and rax, r15
cmp rax, qword [0x140262688]
je 0x140044adf
mov rax, r12
add rax, 0x18
mov rcx, qword [rax]
mov rax, rcx
and rax, r15
cmp rax, qword [0x140262688]
je 0x140044a9b
mov qword [r12 + 0x18], rdi
mov rdi, qword [rsi + 0x38]
mov rcx, qword [r12 + 0x30]
mov rax, rcx
and rax, r15
cmp rax, qword [0x140262688]
je 0x140044aa5
mov rax, rdi
and rax, r15
cmp rax, qword [0x140262688]
mov r14, qword [rsp + 0x70]
je 0x140044aec
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, [0x14004dc30]
call fcn.140044b20
mov rcx, qword [rsp + 0x48]
add rcx, 0x28
add qword [rsp + 0x40], 0x28
dec r14
jne 0x14004461f
mov rbx, qword [rsi]
mov r14, qword [rsi + 0x28]
add rbx, 8
mov r15, qword [0x140279970]
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 0x140044972
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.1400bbc10
mov r15, qword [r12 + 8]
cmp qword [0x1402723f8], 0
je 0x140044a47
mov rcx, qword [0x1402723f8]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [0x1402529a0]
mov qword [r12 + 8], 0
jmp 0x14004474d
call fcn.1400bbc10
mov r15, qword [r12]
cmp qword [0x1402723f8], 0
je 0x140044a02
mov rcx, qword [0x1402723f8]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [0x1402529a0]
mov qword [r12], 0
jmp 0x1400446b1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x1402437e7]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140044b0c
lea rcx, [sym.GptBrowser.exe_GetHandleVerifier]
cmp rax, rcx
je 0x140044a41
call qword [0x1402529a0]
mov rcx, rax
xor edx, edx
call fcn.140049fa0
jmp 0x1400449df
xor ecx, ecx
mov dl, 1
jmp 0x140044a3a
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x1402437e7]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140044b13
lea rcx, [sym.GptBrowser.exe_GetHandleVerifier]
cmp rax, rcx
je 0x140044a89
call qword [0x1402529a0]
mov rcx, rax
xor edx, edx
call fcn.140049fa0
jmp 0x1400449a8
xor ecx, ecx
mov dl, 1
jmp 0x140044a7f
ud2
call fcn.140004bf0
jmp 0x14004481f
call fcn.140004bf0
jmp 0x14004489c
call fcn.140004bf0
jmp 0x1400448bd
int3
call fcn.140004bf0
mov rax, qword [0x140262688]
jmp 0x1400447ed
mov rcx, qword [rsp + 0x38]
call fcn.140004ab0
jmp 0x1400447f8
mov rcx, r13
call fcn.140004ab0
jmp 0x140044835
mov rcx, rdi
call fcn.140004ab0
jmp 0x14004487f
mov rcx, rdi
call fcn.140004ab0
jmp 0x1400448d5
mov r8d, 1
mov rdx, rdi
call fcn.140001c30
jmp 0x14004486c
xor ecx, ecx
jmp 0x140044a38
xor ecx, ecx
jmp 0x140044a7d