Function at 0x140040ae0
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 rsi, rcx
mov rax, qword [0x14020b038]
xor rax, rsp
mov qword [rsp + 0x138], rax
cmp r8, 0x38
jne 0x140040b4b
cmp qword [rsp + 0x1c0], 1
jne 0x140040b4b
cmp qword [rsp + 0x1d0], 1
jne 0x140040b4b
mov rdi, rdx
mov eax, dword [rdx + 0xc]
test eax, eax
je 0x140040b4b
mov ecx, dword [rdi + 8]
test ecx, ecx
je 0x140040b4b
cmp eax, ecx
jb 0x140040b4b
cmp dword [rdi + 0x18], eax
jae 0x140040b4b
cmp dword [rdi + 0x1c], eax
jbe 0x140040b86
call fcn.1400b16e0
mov qword [rsi], 0
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.140113000
mov rax, rsi
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
mov r14, r9
call fcn.14005d0a0
mov rcx, rax
call fcn.14005bc30
mov r12, rax
movabs rbx, 0xaaaaaaaaaaaaaaaa
lea r15, [rsp + 0x70]
mov qword [r15 + 0x10], rbx
movaps xmm6, xmmword [0x1401dfd10]
movaps xmmword [r15], xmm6
mov rcx, r15
call fcn.140070570
mov rcx, qword [r12 + 0x20]
mov rdx, r14
mov r8, r15
call fcn.140109680
test eax, eax
je 0x140040be4
call fcn.1400b16e0
mov qword [rsi], 0
jmp 0x140040d41
mov qword [rsp + 0x38], r12
mov r14, qword [rsp + 0x1c8]
lea r12, [rsp + 0x68]
mov qword [r12], rbx
lea r15, [rsp + 0x58]
mov rcx, r15
call fcn.140086630
lea r13, [rsp + 0x48]
mov rcx, r13
mov rdx, r14
call fcn.140086642
mov rcx, r12
mov rdx, r13
mov r8, r15
call fcn.140061820
mov qword [rsp + 0x130], rbx
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.14006f6b0
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 0x140040c78
test r13, r13
je 0x140040c9c
call fcn.1400713d0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
lea rax, [r13 + 1]
cmp rax, 2
jb 0x140040c94
mov qword [rsp + 0x40], r13
call fcn.1400713d0
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.14010d420
lea r14, [rsp + 0xe0]
mov qword [r14 + 0x20], rbx
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm6
lea r12, [rsp + 0xb8]
mov rcx, r12
mov rdx, r15
call fcn.140072bd0
mov rcx, r14
mov rdx, r12
call fcn.140073400
mov rcx, r14
call fcn.140073580
test al, al
jne 0x140040d50
call fcn.1400b16e0
mov qword [rsi], 0
lea rcx, [rsp + 0xe0]
call fcn.140073480
lea rcx, [rsp + 0x110]
call fcn.140072d00
mov rax, qword [rsp + 0x68]
inc rax
cmp rax, 2
jb 0x140040d41
call fcn.1400713d0
mov rcx, qword [rsp + 0x68]
call fcn.140081d40
lea rcx, [rsp + 0x70]
call fcn.140095920
jmp 0x140040b57
mov ecx, 0xf8
call fcn.1401119e0
mov r14, rax
mov rbx, qword [rdi + 0x10]
lea r15, [rsp + 0x90]
lea rdx, [rsp + 0xe0]
mov rcx, r15
call fcn.1400734a0
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x70]
mov rcx, r14
mov rdx, qword [rsp + 0x38]
mov r9, r15
call fcn.1400b53c0
test r14, r14
je 0x140040db3
mov eax, 1
lock xadd dword [r14 + 8], eax
cmp eax, 0x7fffffff
je 0x140040e6c
lea rbx, [r14 + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140040e5f
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.1400b54a0
test al, al
je 0x140040e00
mov eax, dword [rdi + 0xc]
cmp qword [r14 + 0xb8], rax
jae 0x140040e46
call fcn.1400b16e0
mov qword [rsi], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14, r14
je 0x140040d0a
lock dec dword [r14 + 8]
jne 0x140040d0a
mov rax, qword [r14]
mov rax, qword [rax + 0xe0]
mov rcx, r14
mov edx, 1
call qword [case.0x140173f30.0]
jmp 0x140040d0a
mov rcx, r14
call fcn.14005cb30
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsi], r14
jmp 0x140040d0a
mov rcx, rbx
call fcn.140081a40
jmp 0x140040dc8
int3