Function at 0x14000f5b0
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
movaps xmmword [rsp + 0xd0], xmm6
mov r15, r8
mov rbx, rdx
mov r12, rcx
mov rax, qword [0x1401f5028]
xor rax, rsp
mov qword [rsp + 0xc8], 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 rbp, rax
cmp qword [r12 + 0xa0], rax
je 0x14000f652
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [r12 + 0xa0]
inc rax
cmp rax, 2
jae 0x14000f970
mov rax, rbp
inc rax
cmp rax, 2
jb 0x14000f642
mov qword [r12 + 0xa0], rbp
call fcn.1400c18d0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbp, qword [r12 + 0xa0]
inc rbp
cmp rbp, 2
jb 0x14000f993
lea rdi, [r12 + 0x10]
mov rcx, rdi
mov edx, 1
call fcn.14002d5c0
test al, al
je 0x14000f993
mov rax, qword [r12 + 0xa0]
lea r8, [rsp + 0xc0]
mov qword [r8], rax
mov edx, 0x20002
mov r9d, 8
mov rcx, rdi
call fcn.14002d580
mov r14d, eax
test al, al
je 0x14000f941
movabs rsi, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x70]
mov qword [rdi + 0x40], rsi
movaps xmm6, xmmword [0x1401c8a80]
movaps xmmword [rdi + 0x30], xmm6
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
mov rcx, rdi
mov rdx, rbx
call fcn.14000fdd0
lea rdx, str.database
lea rbx, [rsp + 0x50]
mov rcx, rbx
call fcn.1401256d0
mov rcx, rdi
mov rdx, rbx
mov r8, r15
call fcn.14000fb90
cmp byte [rbx + 0x17], 0
js 0x14000f9a0
lea rdi, [rsp + 0x50]
mov rcx, rdi
mov rdx, r12
call fcn.1400da690
lea rdx, str.exception_pointers
lea rbx, [rsp + 0x38]
mov rcx, rbx
call fcn.1401256d0
lea rcx, [rsp + 0x70]
mov rdx, rbx
mov r8, rdi
call fcn.14000faf0
cmp byte [rbx + 0x17], 0
js 0x14000f9af
cmp byte [rsp + 0x67], 0
js 0x14000f9be
mov edx, dword [r12 + 0xa0]
lea rdi, [rsp + 0x50]
mov rcx, rdi
call fcn.1400da5a0
lea rdx, [0x1401db5dd]
lea rbx, [rsp + 0x38]
mov rcx, rbx
call fcn.1401256d0
lea rcx, [rsp + 0x70]
mov rdx, rbx
mov r8, rdi
call fcn.14000faf0
cmp byte [rbx + 0x17], 0
js 0x14000f9cd
cmp byte [rsp + 0x67], 0
js 0x14000f9dc
mov qword [rsp + 0x60], rsi
movaps xmmword [rsp + 0x50], xmm6
lea rcx, [rsp + 0x70]
mov rdx, rdi
call fcn.140010050
lea rdx, str.___thread
mov r8d, 0xa
mov rcx, rdi
call fcn.1400dbf70
movzx esi, byte [rsp + 0x67]
test sil, sil
jns 0x14000f7e1
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
lea r15, [r12 + 0x88]
lea rbp, [rdi + rsi*2]
mov rbx, qword [r12 + 0x88]
mov rax, qword [r12 + 0x98]
mov rcx, rax
sub rcx, rbx
sar rcx, 1
cmp rsi, rcx
jbe 0x14000f9eb
test rbx, rbx
jne 0x14000fa94
test rsi, rsi
js 0x14000f998
mov rcx, rax
sar rcx, 1
cmp rsi, rax
cmova rax, rsi
movabs rdx, 0x3fffffffffffffff
cmp rcx, rdx
movabs rbx, 0x7fffffffffffffff
cmovb rbx, rax
test rbx, rbx
js 0x14000f998
lea rcx, [rbx + rbx]
call fcn.1400f045c
mov qword [r12 + 0x90], rax
mov qword [r12 + 0x88], rax
lea rcx, [rax + rbx*2]
mov qword [r12 + 0x98], rcx
lea rcx, [rsi + rsi]
add rcx, 0xfffffffffffffffe
mov edx, ecx
shr edx, 1
inc edx
and rdx, 7
je 0x14000f8a1
neg rdx
movzx ebx, word [rdi]
mov word [rax], bx
add rdi, 2
add rax, 2
inc rdx
jne 0x14000f88e
cmp rcx, 0xe
jb 0x14000f8f2
movzx ecx, word [rdi]
mov word [rax], cx
movzx ecx, word [rdi + 2]
mov word [rax + 2], cx
movzx ecx, word [rdi + 4]
mov word [rax + 4], cx
movzx ecx, word [rdi + 6]
mov word [rax + 6], cx
movzx ecx, word [rdi + 8]
mov word [rax + 8], cx
movzx ecx, word [rdi + 0xa]
mov word [rax + 0xa], cx
movzx ecx, word [rdi + 0xc]
mov word [rax + 0xc], cx
movzx ecx, word [rdi + 0xe]
mov word [rax + 0xe], cx
add rax, 0x10
add rdi, 0x10
cmp rdi, rbp
jne 0x14000f8a7
mov qword [r12 + 0x90], rax
mov word [rsp + 0x38], 0
mov rcx, qword [r15]
sub rax, rcx
sar rax, 1
cmp rax, 0xffffffffffffffdf
ja 0x14000faba
lea r8, [rsp + 0x38]
mov edx, 0x20
mov rcx, r15
call fcn.14000fbe0
cmp byte [rsp + 0x67], 0
jns 0x14000f937
mov rcx, qword [rsp + 0x50]
call fcn.1400f0498
lea rcx, [rsp + 0x70]
call fcn.14000f040
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.1400f32c0
mov eax, r14d
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400c18d0
mov rcx, qword [r12 + 0xa0]
call fcn.1400def50
mov qword [r12 + 0xa0], 0
jmp 0x14000f629
xor r14d, r14d
jmp 0x14000f941
mov rcx, r15
call fcn.1401261c0
mov rcx, qword [rsp + 0x50]
call fcn.1400f0498
jmp 0x14000f70a
mov rcx, qword [rsp + 0x38]
call fcn.1400f0498
jmp 0x14000f748
mov rcx, qword [rsp + 0x50]
call fcn.1400f0498
jmp 0x14000f753
mov rcx, qword [rsp + 0x38]
call fcn.1400f0498
jmp 0x14000f796
mov rcx, qword [rsp + 0x50]
call fcn.1400f0498
jmp 0x14000f7a1
mov rax, qword [r12 + 0x90]
mov qword [rsp + 0x20], rax
sub rax, rbx
mov rcx, rax
sar rcx, 1
mov qword [rsp + 0x28], rax
lea r13, [rdi + rax]
mov qword [rsp + 0x30], rcx
cmp rsi, rcx
cmova rbp, r13
sub rbp, rdi
je 0x14000fa29
mov rcx, rbx
mov rdx, rdi
mov r8, rbp
call fcn.1400f5740
cmp rsi, qword [rsp + 0x30]
jbe 0x14000facf
mov rax, qword [r12 + 0x90]
add rsi, rsi
mov rbp, qword [rsp + 0x28]
test rbp, rbp
mov rcx, 0xffffffffffffffff
cmovns rcx, rbp
test rcx, rcx
mov edx, 1
cmovle rdx, rcx
sub rbx, qword [rsp + 0x20]
cmp rbx, rbp
cmovle rbx, rbp
shr rbx, 1
imul rbx, rdx
add rbx, rbx
sub rsi, rbx
xor ecx, ecx
movzx edx, word [r13 + rcx]
mov word [rax + rcx], dx
add rcx, 2
cmp rsi, rcx
jne 0x14000fa79
add rax, rcx
jmp 0x14000f8f2
mov qword [r12 + 0x90], rbx
mov rcx, rbx
call fcn.1400f0498
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
xor eax, eax
jmp 0x14000f818
lea rax, [rcx + rax*2]
add rax, 0x40
mov qword [r12 + 0x90], rax
jmp 0x14000f926
add rbx, rbp
mov qword [r12 + 0x90], rbx
mov rax, rbx
jmp 0x14000f8fa