Function at 0x1400636f0
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
movaps xmmword [rsp + 0x130], xmm6
mov rsi, rcx
mov rax, qword [0x140362028]
xor rax, rsp
mov qword [rsp + 0x128], rax
cmp r8, 0x38
jne 0x14006375b
cmp qword [rsp + 0x1b0], 1
jne 0x14006375b
cmp qword [rsp + 0x1c0], 1
jne 0x14006375b
mov rdi, rdx
mov eax, dword [rdx + 0xc]
test eax, eax
je 0x14006375b
mov ecx, dword [rdi + 8]
test ecx, ecx
je 0x14006375b
cmp eax, ecx
jb 0x14006375b
cmp dword [rdi + 0x18], eax
jae 0x14006375b
cmp dword [rdi + 0x1c], eax
jbe 0x140063796
call fcn.14003a2a0
mov qword [rsi], 0
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.1401a4270
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbx, r9
call fcn.140064580
mov rcx, rax
call fcn.14005a9e0
mov r14, rax
movabs rbp, 0xaaaaaaaaaaaaaaaa
lea r15, [rsp + 0x60]
mov qword [r15 + 0x10], rbp
movaps xmm6, xmmword [0x140232ef0]
movaps xmmword [r15], xmm6
mov rcx, r15
call fcn.1400c33c0
mov rcx, qword [r14 + 0x20]
mov rdx, rbx
mov r8, r15
call fcn.140104610
test eax, eax
je 0x1400637f3
call fcn.14003a2a0
mov qword [rsi], 0
jmp 0x140063a45
mov r15, qword [rsp + 0x1b8]
lea r13, [rsp + 0x58]
mov qword [r13], rbp
lea r12, [rsp + 0x48]
mov rcx, r12
call fcn.1400fbe70
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, r15
call fcn.1400fbe90
mov rcx, r13
mov rdx, rbx
mov r8, r12
call fcn.140075d30
mov qword [rsp + 0x120], rbp
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x100], xmm6
mov rdx, qword [rdi + 0x21]
mov r8, qword [rdi + 0x29]
lea rbx, [rsp + 0xd0]
mov rcx, rbx
call fcn.14019feb0
mov r12d, dword [rdi + 0xc]
xor eax, eax
mov qword [rsp + 0x30], rax
mov r15, qword [r13]
mov qword [r13], rax
cmp r15, 0xffffffffffffffff
je 0x140063882
test r15, r15
je 0x1400638ac
call fcn.1400c5840
mov r13, rbx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rax, [r15 + 1]
cmp rax, 2
jb 0x1400638a1
mov qword [rsp + 0x30], r15
call fcn.1400c5840
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, r13
mov qword [rsp + 0x20], rbx
lea r15, [rsp + 0x100]
lea rdx, [rsp + 0x30]
mov rcx, r15
mov r8d, 2
mov r9, r12
call fcn.1400e66b0
lea rbx, [rsp + 0xd0]
mov qword [rbx + 0x20], rbp
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
lea r12, [rsp + 0xa8]
mov rcx, r12
mov rdx, r15
call fcn.1400c9650
mov rcx, rbx
mov rdx, r12
call fcn.1400ca140
mov rcx, rbx
call fcn.1400c9cf0
test al, al
je 0x1400639ec
mov ecx, 0xf0
call fcn.1401a2e6c
mov rbx, rax
mov rbp, qword [rdi + 0x10]
lea r15, [rsp + 0x80]
lea rdx, [rsp + 0xd0]
mov rcx, r15
call fcn.1400c9d00
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x60]
mov rcx, rbx
mov rdx, r14
mov r9, r15
call fcn.140062980
test rbx, rbx
je 0x14006395f
lock inc dword [rbx + 8]
lea r14, [rbx + 0x48]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140063a54
mov eax, dword [rdi + 0x18]
mov dword [rbx + 0xe8], eax
mov eax, dword [rdi + 0x1c]
mov dword [rbx + 0xec], eax
mov al, byte [rdi + 0x20]
and al, 1
mov byte [rbx + 0xe2], al
mov rcx, rbx
call fcn.140062a60
test al, al
je 0x1400639a9
mov eax, dword [rdi + 0xc]
cmp qword [rbx + 0xc8], rax
jae 0x1400639fa
call fcn.14003a2a0
mov qword [rsi], 0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test rbx, rbx
je 0x140063a0e
lock dec dword [rbx + 8]
jne 0x140063a0e
add rbx, 8
mov rax, qword [rbx - 8]
add rbx, 0xfffffffffffffff8
mov rax, qword [rax + 0xe0]
mov rcx, rbx
mov edx, 1
call qword [case.0x1401f58d0.0]
jmp 0x140063a0e
call fcn.14003a2a0
mov qword [rsi], 0
jmp 0x140063a0e
mov rcx, rbx
call fcn.140063a70
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsi], rbx
lea rcx, [rsp + 0xd0]
call fcn.1400c9d10
lea rcx, [rsp + 0x100]
call fcn.1400c9770
mov rax, qword [rsp + 0x58]
inc rax
cmp rax, 2
jb 0x140063a45
call fcn.1400c5840
mov rcx, qword [rsp + 0x58]
call fcn.1400e21b0
lea rcx, [rsp + 0x60]
call fcn.14010d4d0
jmp 0x140063767
mov rcx, r14
call fcn.1400e0d80
jmp 0x140063974