Function at 0x14006a800
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
movaps xmmword [rsp + 0x30], xmm6
mov rdi, r9
mov r14, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x14033f038]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov eax, dword [r9]
mov dword [rcx], eax
mov rax, qword [0x1403428e0]
and rax, rdx
cmp rax, qword [0x1403428c8]
je 0x14006acf5
mov qword [rsi + 8], rbx
test rbx, rbx
je 0x14006ad6d
mov rax, qword [rbx + 0x20]
mov qword [rsi + 0x10], rax
test rax, rax
je 0x14006a869
lock inc dword [rax]
mov ecx, 0x28
call fcn.14016ecd4
mov r15, rax
xor eax, eax
mov dword [r15], eax
mov dword [r15 + 8], eax
xor ecx, ecx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [r15 + 0x10], 0
test rax, rax
je 0x14006ad86
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [r15 + 0x10]
inc rax
cmp rax, 2
jae 0x14006ad8e
lea rax, [r12 + 1]
cmp rax, 2
jb 0x14006a8d3
mov qword [r15 + 0x10], r12
call fcn.1400412c0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [r15 + 0x10]
mov byte [r15 + 0x18], 1
inc rax
cmp rax, 1
jbe 0x14006ad8b
mov rax, qword [0x1403428e0]
and rax, rsi
cmp rax, qword [0x1403428c8]
je 0x14006ad02
mov qword [r15 + 0x20], rsi
mov qword [rsi + 0x18], r15
test r15, r15
je 0x14006a919
lock inc dword [r15]
xorps xmm6, xmm6
movups xmmword [rsi + 0x40], xmm6
movups xmmword [rsi + 0x30], xmm6
movups xmmword [rsi + 0x20], xmm6
mov word [rsi + 0x50], 0x101
xor eax, eax
mov byte [rsi + 0x52], al
movups xmmword [rsi + 0x60], xmm6
mov qword [rsi + 0x70], 0
mov byte [rsi + 0x78], 1
mov byte [rsi + 0x80], al
mov byte [rsi + 0x98], al
mov rax, qword [0x1403428e0]
and rax, r14
cmp rax, qword [0x1403428c8]
je 0x14006ad0f
mov qword [rsi + 0xa0], r14
mov qword [rsi + 0xa8], 0
mov ecx, 0x80
call fcn.14016ecd4
mov r14, rax
movups xmmword [rax], xmm6
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax + 0x20], xmm6
mov rax, qword [0x1403428e0]
and rax, rsi
cmp rax, qword [0x1403428c8]
je 0x14006ad1c
mov qword [r14 + 0x30], rsi
xor r12d, r12d
mov qword [r14 + 0x38], r12
mov qword [r14 + 0x40], 0xffffffffffffffff
lea rax, str.delayed
mov qword [r14 + 0x48], rax
mov byte [r14 + 0x50], 0
xorps xmm6, xmm6
movups xmmword [r14 + 0x58], xmm6
mov qword [r14 + 0x68], r12
mov dword [r14 + 0x78], 1
mov qword [rsi + 0xb0], r14
mov ecx, 0x80
call fcn.14016ecd4
mov r15, rax
movups xmmword [rax], xmm6
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax + 0x20], xmm6
mov rax, qword [0x1403428e0]
and rax, rsi
cmp rax, qword [0x1403428c8]
je 0x14006ad29
lea rax, [rsi + 0x100]
lea r14, [rsi + 0x1e8]
mov qword [r15 + 0x30], rsi
mov qword [r15 + 0x38], r12
mov rcx, 0xffffffffffffffff
mov qword [r15 + 0x40], rcx
lea rdx, str.immediate
mov qword [r15 + 0x48], rdx
mov byte [r15 + 0x50], r12b
movups xmmword [r15 + 0x58], xmm6
mov qword [r15 + 0x68], r12
mov dword [r15 + 0x78], r12d
mov qword [rsi + 0xb8], r15
movups xmmword [rsi + 0xc8], xmm6
movups xmmword [rsi + 0xd4], xmm6
movups xmmword [rsi + 0xe8], xmm6
mov qword [rsi + 0xf8], r12
mov qword [rsi + 0x100], rax
mov qword [rsi + 0x108], rax
mov qword [rsi + 0x110], r12
mov dword [rsi + 0x118], r12d
mov qword [rsi + 0x120], rcx
mov al, 1
mov byte [rsi + 0x128], al
mov byte [rsi + 0x130], r12b
movups xmmword [rsi + 0x138], xmm6
mov qword [rsi + 0x148], r12
mov byte [rsi + 0x158], r12b
movups xmmword [rsi + 0x1a0], xmm6
mov qword [rsi + 0x1b0], r12
movups xmmword [rsi + 0x189], xmm6
movups xmmword [rsi + 0x180], xmm6
movups xmmword [rsi + 0x170], xmm6
mov byte [rsi + 0x1c0], al
mov byte [rsi + 0x1c8], r12b
mov byte [rsi + 0x1e0], r12b
test rbx, rbx
je 0x14006adbf
mov rax, qword [0x1403428e0]
and rax, rsi
cmp rax, qword [0x1403428c8]
je 0x14006ad36
lea r15, [rbx + 0x60]
mov ecx, 0x30
call fcn.14016ecd4
mov r13, rax
mov dword [rax], 1
lea rax, [0x140042700]
mov qword [r13 + 8], rax
lea rax, [0x1400c4510]
mov qword [r13 + 0x10], rax
lea rax, [0x14020a2e0]
mov qword [r13 + 0x18], rax
lea rax, [0x14013f9b0]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rsi
mov r12, qword [rbx + 0x70]
test r12, r12
je 0x14006acb3
mov rax, qword [r12 + 8]
xor rax, 0xffffffffffffffff
je 0x14006aca9
tzcnt rbx, rax
mov rcx, qword [r12 + rbx*8 + 0x10]
mov qword [r12 + rbx*8 + 0x10], r13
test rcx, rcx
jne 0x14006adcc
mov r13d, 1
mov ecx, ebx
shl r13, cl
mov rax, qword [r12 + 8]
bts rax, rbx
mov qword [r12 + 8], rax
cmp rax, 0xffffffffffffffff
je 0x14006ad5d
mov rax, qword [0x1403428e0]
and rax, r15
cmp rax, qword [0x1403428c8]
je 0x14006ad43
mov qword [r14], r15
mov rax, qword [0x1403428e0]
and rax, r12
cmp rax, qword [0x1403428c8]
je 0x14006ad50
mov qword [rsi + 0x1f0], r12
mov qword [rsi + 0x1f8], r13
mov al, byte [rdi + 4]
mov byte [rsi + 0x200], al
mov al, byte [rdi + 5]
mov byte [rsi + 0x201], al
mov al, byte [rdi + 6]
mov byte [rsi + 0x202], al
mov rax, qword [rsi + 0xb8]
cmp qword [rax + 0x10], 0
sete byte [rsi + 0x50]
cmp qword [rsi + 0xa8], 0
mov al, byte [rsi + 0x128]
jne 0x14006ac3a
test al, al
je 0x14006ade4
mov al, byte [rsi + 0x130]
xor al, 1
mov byte [rsi + 0x51], al
cmp qword [rsi + 8], 0
je 0x14006ac83
mov rcx, qword [rsi + 0x18]
mov eax, dword [rcx + 8]
nop dword [rax + rax]
mov edx, eax
or edx, 0x40000000
lock cmpxchg dword [rcx + 8], edx
jne 0x14006ac50
mov edx, 0x3fffffff
and eax, edx
mov r8d, eax
neg r8d
lock xadd dword [rcx + 8], r8d
test r8d, r8d
jns 0x14006ac83
and r8d, edx
cmp r8d, eax
je 0x14006adeb
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.140171860
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, 0x40
jmp 0x14006ab7a
mov ecx, 0x230
call fcn.14016ecd4
mov r12, rax
mov r8d, 0x230
mov rcx, rax
xor edx, edx
call fcn.140173760
lea rdx, [rsp + 0x20]
mov qword [rdx], r12
mov rcx, r15
call fcn.1400c4410
mov rdx, qword [rbx + 0x68]
mov rcx, r15
call fcn.1400c4300
mov r12, qword [rbx + 0x70]
jmp 0x14006ab66
mov rcx, rbx
call fcn.140156f20
jmp 0x14006a84c
mov rcx, rsi
call fcn.140156f20
jmp 0x14006a908
mov rcx, r14
call fcn.140156f20
jmp 0x14006a966
mov rcx, rsi
call fcn.140156f20
jmp 0x14006a9a7
mov rcx, rsi
call fcn.140156f20
jmp 0x14006aa14
mov rcx, rsi
call fcn.140156f20
jmp 0x14006ab12
mov rcx, r15
call fcn.140156f20
jmp 0x14006abc7
mov rcx, r12
call fcn.140156f20
jmp 0x14006abe1
mov rcx, r15
mov rdx, r12
call fcn.1400b6560
jmp 0x14006abb0
lea r15, [rsp + 0x20]
mov rcx, r15
call fcn.14023c470
mov rax, qword [r15]
mov qword [rsi + 0x10], rax
jmp 0x14006a869
mov byte [r15 + 0x18], 1
int3
call fcn.1400412c0
mov r13, qword [r15 + 0x10]
mov rcx, qword [0x14035abe0]
test rcx, rcx
je 0x14006adfa
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r13
call qword [case.0x140211850.0]
mov qword [r15 + 0x10], 0
jmp 0x14006a8bf
mov rcx, r14
call fcn.140226940
jmp 0x14006abef
lock dec dword [rcx]
jne 0x14006ab8d
mov rax, qword [rcx + 0x10]
call qword [case.0x140211850.0]
jmp 0x14006ab8d
xor eax, eax
jmp 0x14006ac3a
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x14006ac83
call fcn.1400bf420
mov rcx, qword [0x14035abe0]
jmp 0x14006ada3