Function at 0x1400b0a50
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
movaps xmmword [rsp + 0x140], xmm6
mov qword [rsp + 0x38], rcx
mov rax, qword [0x140418038]
xor rax, rsp
mov qword [rsp + 0x138], rax
cmp r8, 0x38
jne 0x1400b0d88
cmp qword [rsp + 0x1c0], 1
jne 0x1400b0d88
cmp qword [rsp + 0x1d0], 1
jne 0x1400b0d88
mov rdi, rdx
mov eax, dword [rdx + 0xc]
test eax, eax
je 0x1400b0d88
mov ecx, dword [rdi + 8]
test ecx, ecx
je 0x1400b0d88
cmp eax, ecx
jb 0x1400b0d88
cmp dword [rdi + 0x18], eax
jae 0x1400b0d88
cmp dword [rdi + 0x1c], eax
ja 0x1400b0d88
mov r14, r9
call fcn.1401cf180
mov rcx, rax
call fcn.1401ce920
mov rbx, rax
movabs rsi, 0xaaaaaaaaaaaaaaaa
lea r15, [rsp + 0x70]
mov qword [r15 + 0x10], rsi
movaps xmm6, xmmword [0x1403aa440]
movaps xmmword [r15], xmm6
mov rcx, r15
call fcn.1401dd8e0
mov rcx, qword [rbx + 0x20]
mov rdx, r14
mov r8, r15
call fcn.1401f6bf0
test eax, eax
jne 0x1400b0d75
mov r14, qword [rsp + 0x1c8]
lea r12, [rsp + 0x68]
mov qword [r12], rsi
lea r15, [rsp + 0x58]
mov rcx, r15
call fcn.1401f59c0
lea r13, [rsp + 0x48]
mov rcx, r13
mov rdx, r14
call fcn.1401f59e0
mov rcx, r12
mov rdx, r13
mov r8, r15
call fcn.1400b9780
mov qword [rsp + 0x130], rsi
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm6
mov rdx, qword [rdi + 0x21]
mov r8, qword [rdi + 0x29]
lea r15, [rsp + 0xe0]
mov rcx, r15
call fcn.1401dcfe0
mov r14d, dword [rdi + 0xc]
xor eax, eax
mov qword [rsp + 0x40], rax
mov r13, qword [r12]
mov qword [r12], rax
cmp r13, 0xffffffffffffffff
je 0x1400b0bbc
test r13, r13
je 0x1400b0be0
call fcn.1401de850
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
lea rax, [r13 + 1]
cmp rax, 2
jb 0x1400b0bd8
mov qword [rsp + 0x40], r13
call fcn.1401de850
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov qword [rsp + 0x20], r15
lea r15, [rsp + 0x110]
lea rdx, [rsp + 0x40]
mov rcx, r15
mov r8d, 2
mov r9, r14
call fcn.1400fb0b0
lea r14, [rsp + 0xe0]
mov qword [r14 + 0x20], rsi
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm6
lea r12, [rsp + 0xb8]
mov rcx, r12
mov rdx, r15
call fcn.1401e0710
mov rcx, r14
mov rdx, r12
call fcn.1400e51e0
mov rcx, r14
call fcn.1401e15b0
test al, al
je 0x1400b0de6
mov ecx, 0x108
call fcn.140240cd8
mov r14, rax
mov rsi, qword [rdi + 0x10]
lea r15, [rsp + 0x90]
lea rdx, [rsp + 0xe0]
mov rcx, r15
call fcn.1401e15a0
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x70]
mov rcx, r14
mov rdx, rbx
mov r9, r15
call fcn.1400af8f0
test r14, r14
je 0x1400b0c96
lock inc dword [r14 + 8]
lea rbx, [r14 + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400b0e10
mov eax, dword [rdi + 0x18]
mov dword [r14 + 0xf8], eax
mov eax, dword [rdi + 0x1c]
mov dword [r14 + 0xfc], eax
test eax, eax
setne byte [r14 + 0x100]
mov al, byte [rdi + 0x20]
and al, 1
mov byte [r14 + 0xf2], al
mov rcx, r14
call fcn.1400af9d0
test al, al
je 0x1400b0d9b
mov eax, dword [rdi + 0xc]
cmp qword [r14 + 0xb8], rax
jb 0x1400b0d9b
mov rcx, r14
call fcn.1401cebd0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0x38]
mov qword [rax], r14
lea rcx, [rsp + 0xe0]
call fcn.1401e1590
lea rcx, [rsp + 0x110]
call fcn.1401e07a0
mov rax, qword [rsp + 0x68]
inc rax
cmp rax, 2
jae 0x1400b0dfc
lea rcx, [rsp + 0x70]
call fcn.1402016e0
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.140242430
mov rax, qword [rsp + 0x38]
movaps xmm6, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140098280
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
jmp 0x1400b0d3a
call fcn.140098280
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
jmp 0x1400b0d44
call fcn.140098280
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14, r14
je 0x1400b0d0e
lock dec dword [r14 + 8]
jne 0x1400b0d0e
mov rax, qword [r14]
mov rax, qword [rax + 0xe0]
mov rcx, r14
mov edx, 1
call qword [case.0x1402bbc90.0]
jmp 0x1400b0d0e
call fcn.140098280
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
jmp 0x1400b0d0e
call fcn.1401de850
mov rcx, qword [rsp + 0x68]
call fcn.1401f05b0
jmp 0x1400b0d3a
mov rcx, rbx
call fcn.1401f0510
jmp 0x1400b0cab