Function at 0x14009caa0
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push r15
push r14
push r13
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x40
xor eax, eax
mov qword [rsp + 0x20], rax
mov rbx, rcx
mov r14d, edx
mov r15d, r8d
mov esi, r9d
mov ebp, dword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
test rbx, rbx
je 0x14009cf07
test rdi, rdi
je 0x14009cb11
cmp dword [rdi + 0x20], 0
je 0x14009cb11
test sil, sil
jne 0x14009cafd
mov rdx, rdi
lea rcx, [0x1402fd028]
call fcn.1402a9620
jmp 0x14009cef7
mov rdx, rdi
lea rcx, [0x140301a80]
call fcn.1402a9620
jmp 0x14009cef7
lea rcx, [rbx + 0xc]
mov edx, dword [rbx + 8]
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x28], edx
lea rcx, [rsp + 0x20]
mov edx, 1
call fcn.1400a0bb0
mov r13, rax
test r13, r13
je 0x14009ccb1
test r15b, r15b
je 0x14009cb86
lea rdx, [0x1403021f0]
cmp qword [rdx - 8], 0
jne 0x14009cf14
mov rbx, qword [0x140571600]
mov rdx, qword [rbx + 8]
mov rcx, r13
mov rax, qword [r13]
call qword [rax + 0x20]
test eax, eax
jne 0x14009cf1e
mov rdx, qword [rbx + 0x28]
mov rcx, r13
mov rax, qword [r13]
call qword [rax + 0x20]
test eax, eax
jne 0x14009cf1e
test r14b, r14b
je 0x14009cc84
test sil, sil
jne 0x14009cbee
mov rcx, r13
call fcn.14009cfd0
mov rbp, rax
test rbp, rbp
jne 0x14009cbc3
lea rcx, [0x1403029e8]
cmp qword [rcx - 8], 0
jne 0x14009cf6b
mov rcx, qword [0x140571f28]
mov rax, qword [rcx + 8]
jmp 0x14009cbe9
lea rcx, [0x140334e88]
call fcn.140005520
mov r13, rax
mov dword [r13 + 0x34], 0x1000000
lea rcx, [r13 + 0x38]
mov rdx, rbp
call fcn.140005730
mov rax, r13
jmp 0x14009cef7
test ebp, ebp
je 0x14009cc15
mov ecx, 2
mov edx, 0x17
cmp qword [r13 + 8], 0
cmovne ecx, edx
cmp ecx, ebp
je 0x14009cc15
mov rcx, qword [0x140571f70]
mov rbp, qword [rcx + 8]
jmp 0x14009cc35
lea rcx, [0x140399a98]
mov edx, 1
call fcn.140005640
mov rbp, rax
lea rcx, [rbp + 0x10]
mov rdx, r13
call fcn.140005730
test rbp, rbp
jne 0x14009cc59
lea rcx, [0x140303748]
cmp qword [rcx - 8], 0
jne 0x14009cf75
mov rcx, qword [0x140573450]
mov rax, qword [rcx + 8]
jmp 0x14009cc7f
lea rcx, [0x1403955c8]
call fcn.140005520
mov r13, rax
mov dword [r13 + 0x34], 0x1000000
lea rcx, [r13 + 0x38]
mov rdx, rbp
call fcn.140005730
mov rax, r13
jmp 0x14009cef7
test ebp, ebp
je 0x14009cca9
lea rcx, [0x140335ba0]
call fcn.140005520
mov r14, rax
lea rcx, [r14 + 8]
mov rdx, r13
call fcn.140005730
mov dword [r14 + 0x10], ebp
jmp 0x14009ccac
mov r14, r13
jmp 0x14009ce58
call fcn.14009db70
test eax, eax
je 0x14009ce2a
mov qword [rsp + 0x80], rbx
mov rcx, rbx
call fcn.14009d050
lea rcx, [0x1403021c8]
cmp qword [rcx - 8], 0
jne 0x14009cf7f
mov rcx, qword [0x1405715f0]
mov rcx, qword [rcx + 8]
cmp byte [rcx], cl
lea rcx, [0x1403021c0]
cmp qword [rcx - 8], 0
jne 0x14009cfa3
mov rcx, qword [0x1405715e8]
mov rcx, qword [rcx + 0x10]
mov rcx, qword [rcx + 8]
cmp qword [rcx + 8], 0
je 0x14009cdf6
test sil, sil
jne 0x14009cd86
mov qword [rsp + 0xa8], rdi
lea rcx, [rsp + 0x38]
call sub.KERNEL32.dll_QueryPerformanceCounter
mov rbx, qword [rsp + 0x38]
movzx edx, sil
mov rcx, qword [rsp + 0x80]
mov r8d, ebp
mov r9, qword [rsp + 0xa8]
call fcn.14009de40
mov rdi, rax
cmp dword [0x1405820a8], 0
jne 0x14009cfad
test rdi, rdi
je 0x14009cd82
mov r9, rbx
mov rdx, rdi
mov r8, qword [rsp + 0x80]
lea rcx, [0x1402fcfc8]
call fcn.1402a8390
jmp 0x14009cd84
xor eax, eax
jmp 0x14009cdec
mov qword [rsp + 0xa8], rdi
lea rcx, [rsp + 0x30]
call sub.KERNEL32.dll_QueryPerformanceCounter
mov rbx, qword [rsp + 0x30]
movzx edx, sil
mov rcx, qword [rsp + 0x80]
mov r8d, ebp
mov r9, qword [rsp + 0xa8]
call fcn.14009de40
mov rdi, rax
cmp dword [0x1405820a8], 0
jne 0x14009cfb7
test rdi, rdi
je 0x14009cdea
mov r9, rbx
mov rdx, rdi
mov r8, qword [rsp + 0x80]
lea rcx, [0x140301a20]
call fcn.1402a8390
jmp 0x14009cdec
xor eax, eax
mov rdi, qword [rsp + 0xa8]
jmp 0x14009ce18
mov rbx, qword [rsp + 0x80]
movzx edx, sil
mov rcx, rbx
mov r8d, ebp
mov r9, rdi
call fcn.14009de40
mov qword [rsp + 0x80], rbx
test rax, rax
mov rbx, qword [rsp + 0x80]
je 0x14009ce2a
jmp 0x14009cef7
test ebp, ebp
je 0x14009ce55
mov r14d, ebp
lea rcx, [0x14033cb20]
call fcn.140005520
mov rbp, rax
lea rcx, [rbp + 8]
mov rdx, rbx
call fcn.140005730
mov dword [rbp + 0x10], r14d
mov r14, rbp
jmp 0x14009ce58
mov r14, rbx
test sil, sil
je 0x14009ceab
mov rsi, qword [0x1405715d8]
mov rdx, qword [rsi + 0x20]
test rdx, rdx
jne 0x14009ce97
lea rcx, [0x14033a808]
call fcn.140005520
mov r13, rax
mov rdx, qword [rsi + 8]
mov rcx, r13
call fcn.1400030b2
lea rcx, [rsi + 0x20]
mov rdx, r13
call fcn.140005730
mov rdx, r13
mov r9, rdi
mov r8, r14
lea rcx, [0x1403019e8]
call fcn.1402a8130
jmp 0x14009cef7
mov rsi, qword [0x1405715d8]
mov rdx, qword [rsi + 0x28]
test rdx, rdx
jne 0x14009cee5
lea rcx, [0x14033a778]
call fcn.140005520
mov rbx, rax
mov rdx, qword [rsi + 8]
mov rcx, rbx
call fcn.1400030be
lea rcx, [rsi + 0x28]
mov rdx, rbx
call fcn.140005730
mov rdx, rbx
mov r9, rdi
mov r8, r14
lea rcx, [0x1402fcf90]
call fcn.1402a8130
nop
add rsp, 0x40
pop rbx
pop rbp
pop rsi
pop rdi
pop r13
pop r14
pop r15
ret
lea rcx, [0x1402f2010]
call fcn.1400cf4e0
int3
call fcn.140001972
jmp 0x14009cb53
lea rax, [0x1403021b8]
cmp qword [rax - 8], 0
je 0x14009cf31
call fcn.140001912
mov rcx, qword [0x1405715e0]
mov rcx, qword [rcx + 8]
cmp byte [rcx], cl
lea rcx, [0x1403127b8]
call fcn.140005520
mov rsi, rax
mov rcx, rsi
lea rdx, [0x1402d21d0]
lea r8, [0x1402f2010]
call fcn.1400cf310
mov rcx, rsi
call fcn.140005aa0
call fcn.140002752
jmp 0x14009cbb6
call fcn.1400029b2
jmp 0x14009cc4c
call fcn.140001952
mov rax, qword [0x1405715f0]
mov rax, qword [rax + 8]
cmp byte [rax], al
lea rax, [0x1403021c0]
cmp qword [rax - 8], 0
je 0x14009ccff
call fcn.140001932
jmp 0x14009ccff
call fcn.140006a40
jmp 0x14009cd61
call fcn.140006a40
jmp 0x14009cdc9