Function at 0x140027560
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 [0x140231040]
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 0x1400275fe
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi + 0xa0]
inc rax
cmp rax, 2
jae 0x14002796d
mov rax, r14
inc rax
cmp rax, 2
jb 0x1400275ef
mov qword [rsi + 0xa0], r14
call fcn.1400b28a0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [rsi + 0xa0]
inc r14
cmp r14, 2
jb 0x140027a80
lea rcx, [rsi + 0x10]
mov edx, 1
call fcn.14003ee50
test al, al
je 0x140027a80
mov rax, qword [rsi + 0xa0]
mov qword [rsp + 0xf0], rax
mov rcx, qword [rsi + 0x80]
test rcx, rcx
je 0x140027a80
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 0x14002793f
movaps xmm6, xmmword [0x1401fd000]
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.140027cf0
movsx rax, byte [rdi + 0x17]
test rax, rax
jns 0x1400276ac
mov rax, qword [rdi + 8]
mov rdi, qword [rdi]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rax
test rax, rax
js 0x140027a87
je 0x1400276ca
test rdi, rdi
je 0x140027aa2
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.1400253a0
mov rcx, rdi
mov rdx, rsi
call fcn.14010a310
movsx rax, byte [rdi + 0x17]
test rax, rax
jns 0x140027718
mov rax, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], rax
test rax, rax
js 0x140027a87
je 0x14002773c
test rdi, rdi
je 0x140027aa2
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.140027ae0
cmp byte [rsp + 0x87], 0
js 0x140027ab5
mov edx, dword [rsi + 0xa0]
lea rdi, [rsp + 0x70]
mov rcx, rdi
call fcn.1400b17e0
movsx rax, byte [rdi + 0x17]
test rax, rax
jns 0x14002779d
mov rax, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rax
test rax, rax
js 0x140027a87
je 0x1400277bb
test rdi, rdi
je 0x140027aa2
lea rax, [0x140217f7b]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov qword [rdx + 8], 7
lea rcx, [rsp + 0xa0]
lea r8, [rsp + 0x50]
call fcn.140027ae0
cmp byte [rsp + 0x87], 0
js 0x140027ac4
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r14, [rsp + 0x70]
mov qword [r14 + 0x10], rax
movaps xmmword [r14], xmm6
lea rcx, [rsp + 0xa0]
mov rdx, r14
call fcn.140027fc0
lea rdx, str.___thread
mov r8d, 0xa
mov rcx, r14
call fcn.1400ea270
movsx r12, byte [r14 + 0x17]
test r12, r12
jns 0x140027842
mov r14, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
lea rdi, [rsi + 0x88]
lea r15, [r12 + r12]
mov rbx, qword [rsi + 0x88]
mov rax, qword [rsi + 0x98]
mov rcx, rax
sub rcx, rbx
sar rcx, 1
cmp rcx, r12
jae 0x1400279e9
test rbx, rbx
jne 0x14002798e
test r12, r12
js 0x140027a9a
cmp rax, r12
cmova r12, rax
movabs rcx, 0x7ffffffffffffffe
lea r13, [rcx + 1]
cmp rax, rcx
cmovb r13, r12
test r13, r13
js 0x140027a9a
lea rcx, [r13*2]
call fcn.14012aa30
mov rbx, rax
mov qword [rsi + 0x88], rax
mov qword [rsi + 0x90], rax
lea rax, [rax + r13*2]
mov qword [rsi + 0x98], rax
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.140163ed0
add rbx, r15
mov qword [rsi + 0x90], rbx
mov word [rsp + 0xf8], 0
mov rax, qword [rsi + 0x88]
mov rcx, rbx
sub rcx, rax
cmp rcx, 0xffffffffffffffbf
ja 0x1400279c9
lea r8, [rsp + 0xf8]
mov edx, 0x20
mov rcx, rdi
call fcn.140027bb0
cmp byte [rsp + 0x87], 0
jns 0x14002792f
mov rcx, qword [rsp + 0x70]
call fcn.14012aa6c
lea rcx, [rsp + 0xa0]
call fcn.140026490
mov bpl, 1
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.14012d2c0
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
call fcn.1400b28a0
mov rcx, qword [rsi + 0xa0]
call fcn.1401191b0
mov qword [rsi + 0xa0], 0
jmp 0x1400275d7
mov rax, qword [rsi + 0x90]
cmp rax, rbx
je 0x1400279a5
add rax, 0xfffffffffffffffe
jne 0x140027995
jmp 0x140027a2d
mov qword [rsi + 0x90], rbx
mov rcx, rbx
call fcn.14012aa6c
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
xor eax, eax
jmp 0x140027876
add rax, rcx
add rax, 0x40
cmp rbx, rax
je 0x1400279dd
add rbx, 0xfffffffffffffffe
jne 0x1400279d0
jmp 0x140027a2d
mov qword [rsi + 0x90], rax
jmp 0x14002791b
mov rax, qword [rsi + 0x90]
mov r13, rax
sub r13, rbx
mov rcx, r13
sar rcx, 1
cmp rcx, r12
jb 0x140027a40
test r12, r12
je 0x140027a1b
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.140163ed0
mov rax, qword [rsi + 0x90]
add rbx, r15
cmp rax, rbx
je 0x1400278de
add rax, 0xfffffffffffffffe
jne 0x140027a1e
lea rcx, [0x14020310b]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.140164a90
lea r12, [r14 + r12*2]
lea rbp, [r14 + r13]
cmp rax, rbx
je 0x140027a62
mov rcx, rbx
mov rdx, r14
mov r8, r13
call fcn.140163ed0
mov rbx, qword [rsi + 0x90]
sub r12, rbp
cmp r13, r15
je 0x140027a78
mov rcx, rbx
mov rdx, rbp
mov r8, r12
call fcn.140163ed0
add rbx, r12
jmp 0x1400278de
xor ebp, ebp
jmp 0x14002793f
lea rcx, [0x14020310b]
lea rdx, str....._third_partylibc_srcinclude_string_view:314:_assertion___len___static_cast_size_type__numeric_limits_difference_type_::max____failed:_string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type_n
call fcn.140164a90
mov rcx, rdi
call fcn.140169770
lea rcx, [0x14020310b]
lea rdx, str....._third_partylibc_srcinclude_string_view:316:_assertion___len__0____s___nullptr_failed:_string_view::string_view__CharT___size_t_:_received_nullptr_n
call fcn.140164a90
mov rcx, qword [rsp + 0x70]
call fcn.14012aa6c
jmp 0x140027776
mov rcx, qword [rsp + 0x70]
call fcn.14012aa6c
jmp 0x1400277f2