Function at 0x14002eb50
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
movaps xmmword [rsp + 0x110], xmm6
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x1401f6040]
xor rax, rsp
mov qword [rsp + 0x108], 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 0x14002ebee
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi + 0xa0]
inc rax
cmp rax, 2
jae 0x14002ef13
mov rax, r14
inc rax
cmp rax, 2
jb 0x14002ebdf
mov qword [rsi + 0xa0], r14
call fcn.140078a00
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [rsi + 0xa0]
inc r14
cmp r14, 2
jb 0x14002f144
lea rcx, [rsi + 0x10]
mov edx, 1
call fcn.14002f230
test al, al
je 0x14002f144
mov rax, qword [rsi + 0xa0]
mov qword [rsp + 0xf0], rax
mov rcx, qword [rsi + 0x80]
test rcx, rcx
je 0x14002f144
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], 8
xor ebp, ebp
lea r9, [rsp + 0xf0]
mov r8d, 0x20002
xor edx, edx
call qword [sym.imp.KERNEL32.dll_UpdateProcThreadAttribute]
test eax, eax
je 0x14002f036
movaps xmm6, xmmword [0x1401c7000]
lea rcx, [rsp + 0xa0]
movaps xmmword [rcx + 0x40], xmm6
movaps xmmword [rcx + 0x30], xmm6
movaps xmmword [rcx + 0x20], xmm6
movaps xmmword [rcx + 0x10], xmm6
movaps xmmword [rcx], xmm6
mov rdx, rbx
call fcn.14002f540
movsx rax, byte [rdi + 0x17]
test rax, rax
jns 0x14002ec9c
mov rax, qword [rdi + 8]
mov rdi, qword [rdi]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rax
test rax, rax
js 0x14002f0fe
sete al
test rdi, rdi
setne cl
or cl, al
je 0x14002f0fe
lea rax, str.database
lea rdx, [rsp + 0xf8]
mov qword [rdx], rax
mov qword [rdx + 8], 8
lea rcx, [rsp + 0xa0]
lea rdi, [rsp + 0x70]
mov r8, rdi
call fcn.14002d580
mov rcx, rdi
mov rdx, rsi
call fcn.14002f300
movsx rax, byte [rdi + 0x17]
test rax, rax
jns 0x14002ed0e
mov rax, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], rax
test rax, rax
js 0x14002f0fe
sete al
test rdi, rdi
setne cl
or cl, al
je 0x14002f0fe
lea rax, str.exception_pointers
lea rdx, [rsp + 0x60]
mov qword [rdx], rax
mov qword [rdx + 8], 0x12
lea rcx, [rsp + 0xa0]
lea r8, [rsp + 0x90]
call fcn.14002f180
cmp byte [rsp + 0x87], 0
js 0x14002f153
mov edx, dword [rsi + 0xa0]
lea rdi, [rsp + 0x70]
mov rcx, rdi
call fcn.140002010
movsx rax, byte [rdi + 0x17]
test rax, rax
jns 0x14002ed99
mov rax, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rax
test rax, rax
js 0x14002f0fe
sete al
test rdi, rdi
setne cl
or cl, al
je 0x14002f0fe
lea rax, [0x1401dcf0f]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov qword [rdx + 8], 7
lea rcx, [rsp + 0xa0]
lea r8, [rsp + 0x50]
call fcn.14002f180
cmp byte [rsp + 0x87], 0
js 0x14002f162
movabs r12, 0x7fffffffffffffff
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x70]
mov qword [rdi + 0x10], rax
movaps xmmword [rdi], xmm6
lea rcx, [rsp + 0xa0]
mov rdx, rdi
call fcn.14002f810
movsx r9, byte [rdi + 0x17]
test r9, r9
jns 0x14002eec0
mov rdx, qword [rsp + 0x80]
and rdx, r12
dec rdx
mov r9, qword [rsp + 0x78]
mov rax, rdx
sub rax, r9
cmp rax, 0xa
jb 0x14002eecf
mov rdi, qword [rsp + 0x70]
lea rax, [rdi + r9*2]
lea rcx, [rdi + r9*2]
add rcx, 0x14
lea rdx, str.___thread
cmp rax, rdx
seta r8b
cmp rcx, rdx
setbe cl
or cl, r8b
je 0x14002f0fe
movups xmm0, xmmword [str.___thread]
movups xmmword [rax], xmm0
mov dword [rax + 0x10], 0x3d0064
lea rax, [r9 + 0xa]
cmp byte [rsp + 0x87], 0
jns 0x14002ef08
mov qword [rsp + 0x78], rax
mov word [rdi + r9*2 + 0x14], 0
movsx rbp, byte [rsp + 0x87]
test rbp, rbp
js 0x14002ef34
lea r14, [rsp + 0x70]
jmp 0x14002ef3e
lea rax, [r9 - 1]
cmp rax, 0xa
jae 0x14002ee56
mov edx, 0xa
mov r8, r9
sub r8, rdx
add r8, 0xa
lea rax, str.___thread
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x30], 0xa
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x70]
call fcn.140012fa0
jmp 0x14002eeab
and al, 0x7f
mov byte [rsp + 0x87], al
jmp 0x14002eea3
call fcn.140078a00
mov rcx, qword [rsi + 0xa0]
call fcn.1400c59e0
mov qword [rsi + 0xa0], 0
jmp 0x14002ebc7
mov r14, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
lea rdi, [rsi + 0x88]
lea rbx, [rbp*2]
mov r15, qword [rsi + 0x88]
mov rax, qword [rsi + 0x98]
mov rcx, rax
sub rcx, r15
sar rcx, 1
cmp rcx, rbp
jae 0x14002f064
test r15, r15
jne 0x14002f10c
test rbp, rbp
js 0x14002f14b
lea rcx, [r12 - 1]
cmp rax, rbp
cmova rbp, rax
cmp rax, rcx
cmovae rbp, r12
test rbp, rbp
js 0x14002f14b
lea rcx, [rbp*2]
call fcn.1400d2b88
mov r15, rax
mov qword [rsi + 0x88], rax
mov qword [rsi + 0x90], rax
lea rax, [rax + rbp*2]
mov qword [rsi + 0x98], rax
mov rcx, r15
mov rdx, r14
mov r8, rbx
call fcn.14010c000
add r15, rbx
mov qword [rsi + 0x90], r15
mov word [rsp + 0xf8], 0
mov rax, qword [rsi + 0x88]
mov rcx, r15
sub rcx, rax
cmp rcx, 0xffffffffffffffbf
ja 0x14002f0ec
lea r8, [rsp + 0xf8]
mov edx, 0x20
mov rcx, rdi
call fcn.14002f410
cmp byte [rsp + 0x87], 0
jns 0x14002f026
mov rcx, qword [rsp + 0x70]
call fcn.1400d2b80
lea rcx, [rsp + 0xa0]
call fcn.14002e6f0
mov bpl, 1
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.1400d4e20
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r12, qword [rsi + 0x90]
mov r13, r12
sub r13, r15
mov rax, r13
sar rax, 1
cmp rax, rbp
jb 0x14002f0aa
test rbp, rbp
je 0x14002f096
mov rcx, r15
mov rdx, r14
mov r8, rbx
call fcn.14010c000
mov r12, qword [rsi + 0x90]
add r15, rbx
cmp r12, r15
je 0x14002efd5
add r12, 0xfffffffffffffffe
jne 0x14002f099
jmp 0x14002f0fe
cmp r12, r15
je 0x14002f0c4
mov rcx, r15
mov rdx, r14
mov r8, r13
call fcn.14010c000
mov r12, qword [rsi + 0x90]
sub rbx, r13
je 0x14002f0da
add r14, r13
mov rcx, r12
mov rdx, r14
mov r8, rbx
call fcn.14010c000
add r12, rbx
mov qword [rsi + 0x90], r12
mov r15, r12
jmp 0x14002efdc
add rax, rcx
add rax, 0x40
cmp r15, rax
je 0x14002f100
add r15, 0xfffffffffffffffe
jne 0x14002f0f3
ud2
mov qword [rsi + 0x90], rax
jmp 0x14002f012
mov rax, qword [rsi + 0x90]
cmp rax, r15
je 0x14002f120
add rax, 0xfffffffffffffffe
jne 0x14002f113
jmp 0x14002f0fe
mov qword [rsi + 0x90], r15
mov rcx, r15
call fcn.1400d2b80
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
xor eax, eax
jmp 0x14002ef76
xor ebp, ebp
jmp 0x14002f036
mov rcx, rdi
call fcn.140111ad0
mov rcx, qword [rsp + 0x70]
call fcn.1400d2b80
jmp 0x14002ed72
mov rcx, qword [rsp + 0x70]
call fcn.1400d2b80
jmp 0x14002edf4