Function at 0x140049050
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 [0x14022a038]
xor rax, rsp
mov qword [rsp + 0x138], rax
cmp r8, 0x38
jne 0x140049388
cmp qword [rsp + 0x1c0], 1
jne 0x140049388
cmp qword [rsp + 0x1d0], 1
jne 0x140049388
mov rdi, rdx
mov eax, dword [rdx + 0xc]
test eax, eax
je 0x140049388
mov ecx, dword [rdi + 8]
test ecx, ecx
je 0x140049388
cmp eax, ecx
jb 0x140049388
cmp dword [rdi + 0x18], eax
jae 0x140049388
cmp dword [rdi + 0x1c], eax
ja 0x140049388
mov r14, r9
call fcn.1400ed5f0
mov rcx, rax
call fcn.1400ecd90
mov rbx, rax
movabs rsi, 0xaaaaaaaaaaaaaaaa
lea r15, [rsp + 0x70]
mov qword [r15 + 0x10], rsi
movaps xmm6, xmmword [0x140206780]
movaps xmmword [r15], xmm6
mov rcx, r15
call fcn.1400fb5f0
mov rcx, qword [rbx + 0x20]
mov rdx, r14
mov r8, r15
call fcn.1401132d0
test eax, eax
jne 0x140049375
mov r14, qword [rsp + 0x1c8]
lea r12, [rsp + 0x68]
mov qword [r12], rsi
lea r15, [rsp + 0x58]
mov rcx, r15
call fcn.1401123f0
lea r13, [rsp + 0x48]
mov rcx, r13
mov rdx, r14
call fcn.140112410
mov rcx, r12
mov rdx, r13
mov r8, r15
call fcn.140051d80
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.1400fac90
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 0x1400491bc
test r13, r13
je 0x1400491e0
call fcn.1400fc5f0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
lea rax, [r13 + 1]
cmp rax, 2
jb 0x1400491d8
mov qword [rsp + 0x40], r13
call fcn.1400fc5f0
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.1400aed20
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.1400fe4b0
mov rcx, r14
mov rdx, r12
call fcn.1400998b0
mov rcx, r14
call fcn.1400ff350
test al, al
je 0x1400493e6
mov ecx, 0x108
call fcn.140148440
mov r14, rax
mov rsi, qword [rdi + 0x10]
lea r15, [rsp + 0x90]
lea rdx, [rsp + 0xe0]
mov rcx, r15
call fcn.1400ff340
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.140047ef0
test r14, r14
je 0x140049296
lock inc dword [r14 + 8]
lea rbx, [r14 + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140049410
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.140047fd0
test al, al
je 0x14004939b
mov eax, dword [rdi + 0xc]
cmp qword [r14 + 0xb8], rax
jb 0x14004939b
mov rcx, r14
call fcn.1400ed040
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.1400ff330
lea rcx, [rsp + 0x110]
call fcn.1400fe540
mov rax, qword [rsp + 0x68]
inc rax
cmp rax, 2
jae 0x1400493fc
lea rcx, [rsp + 0x70]
call fcn.14011ddc0
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.140148f60
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.140039860
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
jmp 0x14004933a
call fcn.140039860
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
jmp 0x140049344
call fcn.140039860
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r14, r14
je 0x14004930e
lock dec dword [r14 + 8]
jne 0x14004930e
mov rax, qword [r14]
mov rax, qword [rax + 0xe0]
mov rcx, r14
mov edx, 1
call qword [case.0x1401b1830.0]
jmp 0x14004930e
call fcn.140039860
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
jmp 0x14004930e
call fcn.1400fc5f0
mov rcx, qword [rsp + 0x68]
call fcn.14010ef00
jmp 0x14004933a
mov rcx, rbx
call fcn.14010ec20
jmp 0x1400492ab