Function at 0x14002a760
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
movaps xmmword [rsp + 0x100], xmm7
movaps xmmword [rsp + 0xf0], xmm6
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x140287028]
xor rax, rsp
mov qword [rsp + 0xe8], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, 0x451
mov edx, 1
mov r8d, eax
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r14, rax
cmp qword [rsi + 0xa0], rax
je 0x14002a806
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi + 0xa0]
inc rax
cmp rax, 2
jae 0x14002ac30
mov rax, r14
inc rax
cmp rax, 2
jb 0x14002a7f7
mov qword [rsi + 0xa0], r14
call fcn.1400f24d0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [rsi + 0xa0]
inc r14
cmp r14, 2
jb 0x14002ac51
lea rcx, [rsi + 0x10]
mov edx, 1
call fcn.14005feb0
test al, al
je 0x14002ac51
mov rax, qword [rsi + 0xa0]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsi + 0x80]
test rcx, rcx
je 0x14002ac51
xorps xmm7, xmm7
movups xmmword [rsp + 0x28], xmm7
mov qword [rsp + 0x20], 8
xor ebp, ebp
lea r9, [rsp + 0xa8]
mov r8d, 0x20002
xor edx, edx
call qword [sym.imp.KERNEL32.dll_UpdateProcThreadAttribute]
test eax, eax
je 0x14002abfa
movaps xmm6, xmmword [0x140261350]
lea r14, [rsp + 0x50]
movaps xmmword [r14 + 0x40], xmm6
movaps xmmword [r14 + 0x30], xmm6
movaps xmmword [r14 + 0x20], xmm6
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm6
mov rcx, r14
mov rdx, rdi
call fcn.14002aec0
movzx eax, byte [rbx + 0x17]
mov ecx, eax
and ecx, 0x7f
test al, al
mov rax, qword [rbx]
cmovns rax, rbx
lea rdi, [rsp + 0xc0]
mov qword [rdi], rax
cmovs rcx, qword [rbx + 8]
mov qword [rdi + 8], rcx
lea rax, str.database
lea rbx, [rsp + 0x38]
mov qword [rbx], rax
mov qword [rbx + 8], 8
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.1400317c0
mov rcx, rbx
mov rdx, rsi
call fcn.140150770
movzx eax, byte [rbx + 0x17]
mov edx, eax
and edx, 0x7f
test al, al
mov rcx, qword [rbx]
cmovs rdx, qword [rbx + 8]
cmovns rcx, rbx
movaps xmmword [rdi], xmm7
mov qword [rdi + 0x10], 0
mov r8, rdi
call fcn.140130aa0
movzx eax, byte [rdi + 0x17]
mov ecx, eax
and ecx, 0x7f
test al, al
mov rax, qword [rdi]
cmovns rax, rdi
lea r8, [rsp + 0xd8]
mov qword [r8], rax
cmovs rcx, qword [rdi + 8]
mov qword [r8 + 8], rcx
lea rax, str.exception_pointers
lea rdx, [rsp + 0xb0]
mov qword [rdx], rax
mov qword [rdx + 8], 0x12
mov rcx, r14
call fcn.1400317c0
cmp byte [rdi + 0x17], 0
jns 0x14002a983
mov rcx, qword [rsp + 0xc0]
call fcn.140172a44
cmp byte [rsp + 0x4f], 0
js 0x14002ac5a
mov edx, dword [rsi + 0xa0]
mov rcx, rbx
call fcn.140150670
movzx eax, byte [rsp + 0x4f]
mov edx, eax
and edx, 0x7f
test al, al
cmovs rbx, qword [rsp + 0x38]
cmovs rdx, qword [rsp + 0x40]
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
mov rcx, rbx
mov r8, rdi
call fcn.140130aa0
movzx eax, byte [rsp + 0xd7]
mov ecx, eax
and ecx, 0x7f
test al, al
mov rax, qword [rsp + 0xc0]
cmovns rax, rdi
lea r8, [rsp + 0xd8]
mov qword [r8], rax
cmovs rcx, qword [rsp + 0xc8]
mov qword [r8 + 8], rcx
lea rax, [0x14026e3cd]
lea rdx, [rsp + 0xb0]
mov qword [rdx], rax
mov qword [rdx + 8], 7
lea rcx, [rsp + 0x50]
call fcn.1400317c0
cmp byte [rsp + 0xd7], 0
jns 0x14002aa44
mov rcx, qword [rsp + 0xc0]
call fcn.140172a44
cmp byte [rsp + 0x4f], 0
js 0x14002ac69
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xd0], rax
movaps xmmword [rsp + 0xc0], xmm6
lea rcx, [rsp + 0x50]
mov rdx, rdi
call fcn.14002b1a0
lea rdx, str.___thread
mov r8d, 0xa
mov rcx, rdi
call fcn.1400154c0
movzx eax, byte [rsp + 0xd7]
mov r12d, eax
and r12d, 0x7f
test al, al
cmovs rdi, qword [rsp + 0xc0]
cmovs r12, qword [rsp + 0xc8]
lea rbx, [rsi + 0x88]
mov r14, qword [rsi + 0x88]
mov rax, qword [rsi + 0x98]
mov rcx, rax
sub rcx, r14
sar rcx, 1
cmp r12, rcx
jbe 0x14002ac78
test r14, r14
jne 0x14002ad13
test r12, r12
js 0x14002ac55
cmp rax, r12
mov rcx, r12
cmova rcx, rax
movabs rdx, 0x7ffffffffffffffe
lea r15, [rdx + 1]
cmp rax, rdx
cmovb r15, rcx
test r15, r15
js 0x14002ac55
lea rcx, [r15 + r15]
call fcn.140172a4c
mov r14, rax
mov qword [rsi + 0x88], rax
mov qword [rsi + 0x90], rax
lea rax, [rax + r15*2]
mov qword [rsi + 0x98], rax
add r12, r12
xor eax, eax
mov rcx, r14
add rcx, rax
je 0x14002ace7
movzx edx, word [rdi + rax]
mov word [rcx], dx
add rax, 2
cmp r12, rax
jne 0x14002ab39
add r14, rax
mov qword [rsi + 0x90], r14
mov word [rsp + 0x38], 0
mov rax, qword [rbx]
sub r14, rax
cmp r14, 0xffffffffffffffbf
ja 0x14002ad37
lea r8, [rsp + 0x38]
mov edx, 0x20
mov rcx, rbx
call fcn.14002ad60
cmp byte [rsp + 0xd7], 0
jns 0x14002ab9f
mov rcx, qword [rsp + 0xc0]
call fcn.140172a44
lea rsi, [rsp + 0x80]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.140037740
mov rsi, qword [rsi - 0x18]
test rsi, rsi
je 0x14002abf7
mov rax, qword [rsp + 0x70]
mov rcx, rsi
cmp rax, rsi
je 0x14002abed
lea rdi, [rax - 0x18]
cmp byte [rax - 1], 0
js 0x14002abdd
mov rax, rdi
cmp rdi, rsi
jne 0x14002abc9
jmp 0x14002abe8
mov rcx, qword [rax - 0x18]
call fcn.140172a44
jmp 0x14002abd3
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x70], rsi
call fcn.140172a44
mov bpl, 1
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.1401756e0
mov eax, ebp
movaps xmm6, xmmword [rsp + 0xf0]
movaps xmm7, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400f24d0
mov rcx, qword [rsi + 0xa0]
call fcn.1401571e0
mov qword [rsi + 0xa0], 0
jmp 0x14002a7df
xor ebp, ebp
jmp 0x14002abfa
call fcn.14018c460
mov rcx, qword [rsp + 0x38]
call fcn.140172a44
jmp 0x14002a98e
mov rcx, qword [rsp + 0x38]
call fcn.140172a44
jmp 0x14002aa4f
lea r15, [rdi + r12*2]
mov r13, qword [rsi + 0x90]
sub r13, r14
mov rbp, r13
sar rbp, 1
and r13, 0xfffffffffffffffe
add r13, rdi
cmp r12, rbp
cmova r15, r13
sub r15, rdi
je 0x14002acad
mov rcx, r14
mov rdx, rdi
mov r8, r15
call fcn.140177150
cmp r12, rbp
jbe 0x14002ad4a
mov r14, qword [rsi + 0x90]
add r12, r12
add rbp, rbp
sub r12, rbp
xor eax, eax
mov rcx, r14
add rcx, rax
je 0x14002ace7
movzx edx, word [r13 + rax]
mov word [rcx], dx
add rax, 2
cmp r12, rax
jne 0x14002acc8
jmp 0x14002ab55
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x23
call fcn.1401b2820
mov qword [rsi + 0x90], r14
mov rcx, r14
call fcn.140172a44
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
xor eax, eax
jmp 0x14002aade
add rax, r14
add rax, 0x40
mov qword [rsi + 0x90], rax
jmp 0x14002ab88
add r14, r15
jmp 0x14002ab58