Function at 0x14008da20
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov r12, rcx
movabs rbx, 0x8000000000000000
mov rcx, qword [rcx + 0x98]
test rcx, rcx
je 0x14008dcd6
mov rdi, qword [r12 + 0x90]
mov r14, qword [r12 + 0xa8]
test r14, r14
je 0x14008dca5
mov qword [rsp + 0x20], r12
movdqa xmm0, xmmword [rdi]
pmovmskb eax, xmm0
not eax
lea r15, [rdi + 0x10]
jmp 0x14008da91
lea eax, [r12 - 1]
and eax, r12d
dec r14
je 0x14008dc90
test ax, ax
jne 0x14008dabd
nop word cs:[rax + rax]
movdqa xmm0, xmmword [r15]
pmovmskb eax, xmm0
add rdi, 0xffffffffffffea80
add r15, 0x10
cmp eax, 0xffff
je 0x14008daa0
not eax
mov r12d, eax
tzcnt eax, r12d
neg rax
imul rax, rax, 0x158
lea r13, [rdi + rax]
cmp qword [rdi + rax - 0x140], 0
je 0x14008daf3
mov r8, qword [r13 - 0x138]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rbp, qword [r13 - 0x118]
test rbp, rbp
je 0x14008db40
mov rsi, qword [r13 - 0x120]
add rsi, 8
jmp 0x14008db19
add rsi, 0x18
dec rbp
je 0x14008db40
cmp qword [rsi - 8], 0
je 0x14008db10
mov r8, qword [rsi]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x14008db10
cmp qword [r13 - 0x128], 0
je 0x14008db5f
mov r8, qword [r13 - 0x120]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [r13 - 0xf8]
cmp rax, rbx
je 0x14008db85
test rax, rax
je 0x14008db85
mov r8, qword [r13 - 0xf0]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [r13 - 0xd8]
cmp rax, rbx
je 0x14008dbab
test rax, rax
je 0x14008dbab
mov r8, qword [r13 - 0xd0]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rbp, qword [r13 - 0x100]
test rbp, rbp
je 0x14008dc00
mov rsi, qword [r13 - 0x108]
add rsi, 8
jmp 0x14008dbd9
add rsi, 0x18
dec rbp
je 0x14008dc00
cmp qword [rsi - 8], 0
je 0x14008dbd0
mov r8, qword [rsi]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x14008dbd0
cmp qword [r13 - 0x110], 0
je 0x14008dc1f
mov r8, qword [r13 - 0x108]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [r13 - 0xc0]
cmp rax, rbx
je 0x14008dc45
test rax, rax
je 0x14008dc45
mov r8, qword [r13 - 0xb8]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [r13 - 0xa0]
cmp rax, rbx
je 0x14008dc6b
test rax, rax
je 0x14008dc6b
mov r8, qword [r13 - 0x98]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [r13 - 0x60]
test rax, rax
je 0x14008da80
lock dec qword [rax]
jne 0x14008da80
mov rcx, qword [r13 - 0x60]
call fcn.14009df00
jmp 0x14008da80
mov r12, qword [rsp + 0x20]
mov rdi, qword [r12 + 0x90]
mov rcx, qword [r12 + 0x98]
lea rax, [rcx + 1]
mov edx, 0x158
mul rdx
add rax, 0xf
and rax, 0xfffffffffffffff0
add rcx, rax
cmp rcx, 0xffffffffffffffef
je 0x14008dcd6
sub rdi, rax
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
cmp qword [r12], 0
je 0x14008dcf0
mov r8, qword [r12 + 8]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [r12 + 0x48]
cmp rax, rbx
je 0x14008dd12
test rax, rax
je 0x14008dd12
mov r8, qword [r12 + 0x50]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [r12 + 0x18], 0
je 0x14008dd2d
mov r8, qword [r12 + 0x20]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [r12 + 0x30], 0
je 0x14008dd48
mov r8, qword [r12 + 0x38]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rdi, qword [r12 + 0x80]
test rdi, rdi
je 0x14008dde5
mov r14, qword [r12 + 0x78]
add r14, 0x50
jmp 0x14008dd79
add r14, 0x70
dec rdi
je 0x14008dde5
cmp qword [r14 - 0x50], 0
je 0x14008dd92
mov r8, qword [r14 - 0x48]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [r14 - 8]
cmp rax, rbx
je 0x14008ddb1
test rax, rax
je 0x14008ddb1
mov r8, qword [r14]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [r14 - 0x38], 0
je 0x14008ddca
mov r8, qword [r14 - 0x30]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [r14 - 0x20], 0
je 0x14008dd70
mov r8, qword [r14 - 0x18]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x14008dd70
cmp qword [r12 + 0x70], 0
je 0x14008de00
mov r8, qword [r12 + 0x78]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rbx, qword [r12 + 0xe0]
test rbx, rbx
je 0x14008ded4
lea rdi, [r12 + 0xe0]
movdqa xmm0, xmmword [rbx]
pmovmskb eax, xmm0
not eax
lea r14, [rbx + 0x10]
mov r15, qword [r12 + 0xf8]
jmp 0x14008de5e
tzcnt ecx, eax
shl rcx, 5
mov rdx, rbx
sub rdx, rcx
lea esi, [rax - 1]
and esi, eax
mov rcx, qword [rdx - 8]
call sub.pdh.dll_PdhRemoveCounter
mov eax, esi
sub r15, 1
jb 0x14008de8f
test ax, ax
jne 0x14008de40
nop dword [rax]
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add rbx, 0xfffffffffffffe00
add r14, 0x10
cmp eax, 0xffff
je 0x14008de70
not eax
jmp 0x14008de40
mov rcx, qword [r12 + 0x118]
lea rax, [rcx + 1]
cmp rax, 2
jb 0x14008deaa
call sub.KERNEL32.dll_CloseHandle
test eax, eax
je 0x14008dee6
mov rcx, qword [r12 + 0x110]
lea rax, [rcx + 1]
cmp rax, 2
jae 0x14008defd
mov rcx, rdi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14008eb90
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sub.KERNEL32.dll_GetLastError
mov rcx, qword [r12 + 0x110]
lea rax, [rcx + 1]
cmp rax, 2
jb 0x14008debc
call sub.pdh.dll_PdhCloseQuery
jmp 0x14008debc