Function at 0x140005060
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, rcx
mov rax, qword [rcx + 0x48]
test rax, rax
je 0x140005352
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov r14, qword [rsi + 0x58]
test r14, r14
je 0x14000531e
mov rax, qword [rsp + 0x28]
mov r15, qword [rax + 0x40]
movdqa xmm0, xmmword [r15]
pmovmskb eax, xmm0
not eax
lea r12, [r15 + 0x10]
jmp 0x1400050d0
lea eax, [r13 - 1]
and eax, r13d
dec r14
je 0x14000531e
test ax, ax
jne 0x1400050fe
nop word cs:[rax + rax]
movdqa xmm0, xmmword [r12]
pmovmskb eax, xmm0
add r15, 0xffffffffffffea00
add r12, 0x10
cmp eax, 0xffff
je 0x1400050e0
not eax
mov r13d, eax
tzcnt eax, r13d
neg rax
imul rax, rax, 0x160
lea rbp, [r15 + rax]
cmp qword [r15 + rax - 0x148], 0
je 0x140005134
mov r8, qword [rbp - 0x140]
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
mov rdi, qword [rbp - 0x120]
mov rbx, qword [rbp - 0x118]
test rbx, rbx
je 0x140005180
lea rsi, [rdi + 8]
jmp 0x140005159
add rsi, 0x20
dec rbx
je 0x140005180
cmp qword [rsi - 8], 0
je 0x140005150
mov r8, qword [rsi]
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
jmp 0x140005150
cmp qword [rbp - 0x128], 0
je 0x14000519b
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, rdi
call fcn.14004dc58
mov rax, qword [rbp - 0xf8]
shl rax, 1
test rax, rax
jne 0x1400051e0
mov rax, qword [rbp - 0xd8]
shl rax, 1
test rax, rax
jne 0x140005204
mov rdi, qword [rbp - 0x108]
mov rbx, qword [rbp - 0x100]
test rbx, rbx
jne 0x14000522c
jmp 0x140005270
mov r8, qword [rbp - 0xf0]
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
mov rax, qword [rbp - 0xd8]
shl rax, 1
test rax, rax
je 0x1400051b9
mov r8, qword [rbp - 0xd0]
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
mov rdi, qword [rbp - 0x108]
mov rbx, qword [rbp - 0x100]
test rbx, rbx
je 0x140005270
lea rsi, [rdi + 8]
jmp 0x140005249
add rsi, 0x20
dec rbx
je 0x140005270
cmp qword [rsi - 8], 0
je 0x140005240
mov r8, qword [rsi]
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
jmp 0x140005240
cmp qword [rbp - 0x110], 0
je 0x14000528b
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, rdi
call fcn.14004dc58
mov rax, qword [rbp - 0xc0]
shl rax, 1
test rax, rax
jne 0x1400052c0
mov rax, qword [rbp - 0xa0]
shl rax, 1
test rax, rax
jne 0x1400052e4
mov rax, qword [rbp - 0x60]
test rax, rax
jne 0x140005306
jmp 0x1400050c0
mov r8, qword [rbp - 0xb8]
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
mov rax, qword [rbp - 0xa0]
shl rax, 1
test rax, rax
je 0x1400052a9
mov r8, qword [rbp - 0x98]
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x1400050c0
lock dec qword [rax]
jne 0x1400050c0
mov rcx, qword [rbp - 0x60]
call fcn.1400069e0
jmp 0x1400050c0
mov r8, qword [rsp + 0x30]
lea rax, [r8 + 1]
mov ecx, 0x160
mul rcx
add r8, rax
cmp r8, 0xffffffffffffffef
mov rsi, qword [rsp + 0x28]
je 0x140005352
mov r8, qword [rsi + 0x40]
sub r8, rax
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
mov rax, qword [rsi + 0x18]
shl rax, 1
test rax, rax
jne 0x140005370
mov rdi, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
test rbx, rbx
jne 0x140005393
jmp 0x14000541c
mov r8, qword [rsi + 0x20]
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
mov rdi, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
test rbx, rbx
je 0x14000541c
lea r14, [rdi + 0x50]
jmp 0x1400053a9
add r14, 0x70
dec rbx
je 0x14000541c
cmp qword [r14 - 0x50], 0
je 0x1400053c2
mov r8, qword [r14 - 0x48]
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
cmp qword [r14 - 0x38], 0
je 0x1400053db
mov r8, qword [r14 - 0x30]
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
mov rax, qword [r14 - 8]
shl rax, 1
test rax, rax
jne 0x1400053f0
cmp qword [r14 - 0x20], 0
jne 0x140005408
jmp 0x1400053a0
mov r8, qword [r14]
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
cmp qword [r14 - 0x20], 0
je 0x1400053a0
mov r8, qword [r14 - 0x18]
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
jmp 0x1400053a0
cmp qword [rsi], 0
je 0x140005433
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, rdi
call fcn.14004dc58
mov rdi, qword [rsi + 0x90]
test rdi, rdi
je 0x1400055c9
mov rbx, qword [rsi + 0xa8]
test rbx, rbx
je 0x1400054ca
lea r14, [rdi + 0x10]
movdqa xmm0, xmmword [rdi]
pmovmskb eax, xmm0
not eax
mov r15, rdi
mov r12, rbx
jmp 0x140005492
lea ebp, [rax - 1]
and ebp, eax
tzcnt eax, eax
shl eax, 5
mov rcx, r15
sub rcx, rax
mov rcx, qword [rcx - 8]
call sub.pdh.dll_PdhRemoveCounter
mov eax, ebp
dec r12
je 0x1400054ca
test ax, ax
jne 0x140005470
nop word [rax + rax]
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add r15, 0xfffffffffffffe00
add r14, 0x10
cmp eax, 0xffff
je 0x1400054a0
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov ebp, eax
and ebp, ecx
jmp 0x140005475
mov rcx, qword [rsi + 0xc8]
lea rax, [rcx + 1]
cmp rax, 2
jb 0x1400054e4
call sub.KERNEL32.dll_CloseHandle
test eax, eax
je 0x140005506
mov rcx, qword [rsi + 0xc0]
lea rax, [rcx + 1]
cmp rax, 2
jae 0x14000551c
mov r14, qword [rsi + 0x98]
test r14, r14
jne 0x140005531
jmp 0x1400055c9
call sub.KERNEL32.dll_GetLastError
mov rcx, qword [rsi + 0xc0]
lea rax, [rcx + 1]
cmp rax, 2
jb 0x1400054f5
call sub.pdh.dll_PdhCloseQuery
mov r14, qword [rsi + 0x98]
test r14, r14
je 0x1400055c9
test rbx, rbx
je 0x1400055ba
movdqa xmm0, xmmword [rdi]
pmovmskb r12d, xmm0
not r12d
lea r15, [rdi + 0x10]
jmp 0x140005560
lea eax, [r12 - 1]
and eax, r12d
mov r12d, eax
dec rbx
je 0x1400055ba
test r12w, r12w
jne 0x140005591
nop word cs:[rax + rax]
movdqa xmm0, xmmword [r15]
pmovmskb r12d, xmm0
add rdi, 0xfffffffffffffe00
add r15, 0x10
cmp r12d, 0xffff
je 0x140005570
not r12d
tzcnt ecx, r12d
shl ecx, 5
mov rax, rdi
sub rax, rcx
cmp qword [rax - 0x20], 0
je 0x140005550
mov r8, qword [rax - 0x18]
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
jmp 0x140005550
movabs rax, 0x7c1f07c1f07c1ef
cmp r14, rax
jne 0x1400055da
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
shl r14, 5
mov rax, qword [rsi + 0x90]
neg r14
lea r8, [rax + r14]
add r8, 0xffffffffffffffe0
mov rcx, qword [0x141d1d0f0]
xor edx, edx
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14004dc58