Function at 0x14001d110
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], xmm6
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x140297028]
xor rax, rsp
mov qword [rsp + 0xf8], 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 0x14001d1ae
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi + 0xa0]
inc rax
cmp rax, 2
jae 0x14001d5c6
mov rax, r14
inc rax
cmp rax, 2
jb 0x14001d19f
mov qword [rsi + 0xa0], r14
call fcn.1400e62c0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [rsi + 0xa0]
inc r14
cmp r14, 2
jb 0x14001d5e7
lea rcx, [rsi + 0x10]
mov edx, 1
call fcn.14003fa80
test al, al
je 0x14001d5e7
mov rax, qword [rsi + 0xa0]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsi + 0x80]
test rcx, rcx
je 0x14001d5e7
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
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 0x14001d598
movaps xmm6, xmmword [0x140268c70]
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.14001d840
movzx eax, byte [rbx + 0x17]
mov ecx, eax
and ecx, 0x7f
test al, al
mov rax, qword [rbx]
cmovns rax, rbx
lea rdi, [rsp + 0xd0]
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.1400265d0
mov rcx, rbx
mov rdx, rsi
call fcn.14014aa60
movzx eax, byte [rbx + 0x17]
mov ecx, eax
and ecx, 0x7f
test al, al
mov rax, qword [rbx]
cmovns rax, rbx
cmovs rcx, qword [rbx + 8]
lea rdx, [rsp + 0xc0]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
mov rcx, rdi
call fcn.140109a70
movzx eax, byte [rdi + 0x17]
mov ecx, eax
and ecx, 0x7f
test al, al
mov rax, qword [rdi]
cmovns rax, rdi
lea r8, [rsp + 0xe8]
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.1400265d0
cmp byte [rdi + 0x17], 0
jns 0x14001d32f
mov rcx, qword [rsp + 0xd0]
call fcn.14018039c
cmp byte [rsp + 0x4f], 0
js 0x14001d6d0
mov edx, dword [rsi + 0xa0]
mov rcx, rbx
call fcn.1400d9cd0
movzx eax, byte [rsp + 0x4f]
mov ecx, eax
and ecx, 0x7f
test al, al
cmovs rbx, qword [rsp + 0x38]
cmovs rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0xc0]
mov qword [rdx], rbx
mov qword [rdx + 8], rcx
mov rcx, rdi
call fcn.140109a70
movzx eax, byte [rsp + 0xe7]
mov ecx, eax
and ecx, 0x7f
test al, al
mov rax, qword [rsp + 0xd0]
cmovns rax, rdi
lea r8, [rsp + 0xe8]
mov qword [r8], rax
cmovs rcx, qword [rsp + 0xd8]
mov qword [r8 + 8], rcx
lea rax, [0x14027f3b3]
lea rdx, [rsp + 0xb0]
mov qword [rdx], rax
mov qword [rdx + 8], 7
lea rcx, [rsp + 0x50]
call fcn.1400265d0
cmp byte [rsp + 0xe7], 0
jns 0x14001d3e5
mov rcx, qword [rsp + 0xd0]
call fcn.14018039c
cmp byte [rsp + 0x4f], 0
js 0x14001d5fe
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xe0], rax
movaps xmmword [rsp + 0xd0], xmm6
lea rcx, [rsp + 0x50]
mov rdx, rdi
call fcn.14001db20
lea rdx, str.___thread
mov r8d, 0xa
mov rcx, rdi
call fcn.14001e0f0
movzx eax, byte [rsp + 0xe7]
mov r12d, eax
and r12d, 0x7f
test al, al
cmovs rdi, qword [rsp + 0xd0]
cmovs r12, qword [rsp + 0xd8]
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 0x14001d631
test r14, r14
jne 0x14001d60d
test r12, r12
js 0x14001d6c8
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 0x14001d6c8
lea rcx, [r15 + r15]
call fcn.1401803a4
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 0x14001d69c
movzx edx, word [rdi + rax]
mov word [rcx], dx
add rax, 2
cmp r12, rax
jne 0x14001d4da
add r14, rax
mov qword [rsi + 0x90], r14
mov word [rsp + 0x38], 0
mov rax, qword [rbx]
sub r14, rax
cmp r14, 0xffffffffffffffbf
ja 0x14001d5eb
lea r8, [rsp + 0x38]
mov edx, 0x20
mov rcx, rbx
call fcn.14001d6e0
cmp byte [rsp + 0xe7], 0
jns 0x14001d540
mov rcx, qword [rsp + 0xd0]
call fcn.14018039c
lea rsi, [rsp + 0x80]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.140025720
mov rsi, qword [rsi - 0x18]
test rsi, rsi
je 0x14001d595
mov rdi, qword [rsp + 0x70]
mov rcx, rsi
cmp rdi, rsi
jne 0x14001d57e
jmp 0x14001d58b
mov rcx, qword [rdi - 0x18]
call fcn.14018039c
add rdi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x14001d586
cmp byte [rdi - 1], 0
jns 0x14001d575
jmp 0x14001d56c
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x70], rsi
call fcn.14018039c
mov bpl, 1
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.1401830b0
mov eax, ebp
movaps xmm6, 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.1400e62c0
mov rcx, qword [rsi + 0xa0]
call fcn.140161150
mov qword [rsi + 0xa0], 0
jmp 0x14001d187
xor ebp, ebp
jmp 0x14001d598
add rax, r14
add rax, 0x40
mov qword [rsi + 0x90], rax
jmp 0x14001d529
mov rcx, qword [rsp + 0x38]
call fcn.14018039c
jmp 0x14001d3f0
mov qword [rsi + 0x90], r14
mov rcx, r14
call fcn.14018039c
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
xor eax, eax
jmp 0x14001d47f
lea r15, [rdi + r12*2]
mov rbp, qword [rsi + 0x90]
sub rbp, r14
lea r13, [rdi + rbp]
sar rbp, 1
cmp r12, rbp
cmova r15, r13
sub r15, rdi
mov rcx, r14
mov rdx, rdi
mov r8, r15
call fcn.140184b40
cmp r12, rbp
ja 0x14001d66b
add r14, r15
jmp 0x14001d4f9
mov r14, qword [rsi + 0x90]
add r12, r12
add rbp, rbp
sub r12, rbp
xor eax, eax
mov rcx, r14
add rcx, rax
je 0x14001d69c
movzx edx, word [r13 + rax]
mov word [rcx], dx
add rax, 2
cmp r12, rax
jne 0x14001d67d
jmp 0x14001d4f6
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, 0x25
call fcn.1401bda10
mov rcx, rbx
call fcn.1401bda10
mov rcx, qword [rsp + 0x38]
call fcn.14018039c
jmp 0x14001d33a