Function at 0x1400d5dd0
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 [0x14033f038]
xor rax, rsp
mov qword [rsp + 0x138], rax
cmp r8, 0x38
jne 0x1400d60e7
cmp qword [rsp + 0x1c0], 1
jne 0x1400d60e7
cmp qword [rsp + 0x1d0], 1
jne 0x1400d60e7
mov rdi, rdx
mov eax, dword [rdx + 0xc]
test eax, eax
je 0x1400d60e7
mov ecx, dword [rdi + 8]
test ecx, ecx
je 0x1400d60e7
cmp eax, ecx
jb 0x1400d60e7
cmp dword [rdi + 0x18], eax
jae 0x1400d60e7
cmp dword [rdi + 0x1c], eax
ja 0x1400d60e7
mov r14, r9
call fcn.14007dc50
mov rcx, rax
call fcn.140075990
mov rbx, rax
xorps xmm0, xmm0
lea r8, [rsp + 0x70]
movaps xmmword [r8], xmm0
mov qword [r8 + 0x10], 0
mov rcx, qword [rax + 0x20]
mov rdx, r14
call fcn.1400558d0
test eax, eax
jne 0x1400d6145
mov r14, qword [rsp + 0x1c8]
movabs rsi, 0xaaaaaaaaaaaaaaaa
lea r12, [rsp + 0x68]
mov qword [r12], rsi
lea r15, [rsp + 0x58]
mov rcx, r15
call fcn.140066b90
lea r13, [rsp + 0x48]
mov rcx, r13
mov rdx, r14
call fcn.1400752cc
mov rcx, r12
mov rdx, r13
mov r8, r15
call fcn.140075550
mov qword [rsp + 0x130], rsi
movaps xmm6, xmmword [0x140301d60]
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.1400752c0
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 0x1400d5f38
test r13, r13
je 0x1400d5f5c
call fcn.1400412c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
lea rax, [r13 + 1]
cmp rax, 2
jb 0x1400d5f54
mov qword [rsp + 0x40], r13
call fcn.1400412c0
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.140075600
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.140075430
mov rcx, r14
mov rdx, r12
call fcn.140075f00
mov rax, qword [r14]
inc rax
cmp rax, 1
jbe 0x1400d615b
mov ecx, 0xf8
call fcn.14016ecd4
mov r14, rax
mov rsi, qword [rdi + 0x10]
lea r15, [rsp + 0x90]
lea rdx, [rsp + 0xe0]
mov rcx, r15
call fcn.140075430
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.140075a10
test r14, r14
je 0x1400d6012
lock inc dword [r14 + 8]
lea rbx, [r14 + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d619b
mov eax, dword [rdi + 0x18]
mov dword [r14 + 0xf0], eax
mov eax, dword [rdi + 0x1c]
mov dword [r14 + 0xf4], eax
mov al, byte [rdi + 0x20]
and al, 1
mov byte [r14 + 0xea], al
mov rcx, r14
call fcn.140075b70
test al, al
je 0x1400d60fa
mov eax, dword [rdi + 0xc]
cmp qword [r14 + 0xb8], rax
jb 0x1400d60fa
mov rcx, r14
call fcn.140081720
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.140075400
lea rcx, [rsp + 0x110]
call fcn.140075400
mov rax, qword [rsp + 0x68]
inc rax
cmp rax, 2
jae 0x1400d6171
lea rcx, [rsp + 0x70]
call fcn.140054f00
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.140171860
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.1400ad7f0
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
jmp 0x1400d60b6
call fcn.1400ad7f0
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14, r14
je 0x1400d6080
lock dec dword [r14 + 8]
jne 0x1400d6080
mov rax, qword [r14]
mov rax, qword [rax + 0xe0]
mov rcx, r14
mov edx, 1
call qword [case.0x140211850.0]
jmp 0x1400d6080
call fcn.1400ad7f0
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
jmp 0x1400d60ac
call fcn.1400ad7f0
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
jmp 0x1400d6080
call fcn.1400412c0
mov rdi, qword [rsp + 0x68]
mov rcx, qword [0x14035abe0]
test rcx, rcx
je 0x1400d61a8
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rdi
call qword [case.0x140211850.0]
jmp 0x1400d60ac
mov rcx, rbx
call fcn.140047ff0
jmp 0x1400d6027
call fcn.1400bf420
mov rcx, qword [0x14035abe0]
jmp 0x1400d6187