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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm6
mov rbx, rdx
mov r14, rcx
mov rax, qword [0x14033f038]
xor rax, rsp
mov qword [rsp + 0xa8], rax
movaps xmm6, xmmword [0x140301d60]
movups xmmword [rdx + 0x78], xmm6
mov rax, qword [rcx]
mov rcx, qword [rax + 8]
mov r8, qword [rax + 0x18]
inc rcx
xor edx, edx
cmp rcx, qword [rax]
cmove rcx, rdx
imul rax, rcx, 0xa8
add rax, r8
add rax, 0x28
mov rcx, qword [rax - 0x28]
mov qword [rbx], rcx
mov qword [rax - 0x28], rdx
movups xmm0, xmmword [rax - 0x20]
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rbx + 0x18], xmm1
movups xmmword [rbx + 8], xmm0
lea rdi, [rbx + 0x28]
mov ecx, 0xa
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rax + 0x54]
mov byte [rbx + 0x7c], cl
mov ecx, dword [rax + 0x50]
mov dword [rbx + 0x78], ecx
mov cl, byte [rax + 0x5a]
mov byte [rbx + 0x82], cl
movzx ecx, word [rax + 0x58]
mov word [rbx + 0x80], cx
mov rcx, qword [rax + 0x60]
mov qword [rbx + 0x88], rcx
mov qword [rax + 0x60], rdx
mov rcx, qword [rax + 0x68]
mov qword [rbx + 0x90], rcx
mov rcx, qword [rax + 0x70]
mov qword [rbx + 0x98], rcx
mov qword [rax + 0x70], rdx
mov rax, qword [rax + 0x78]
mov qword [rbx + 0xa0], rax
mov rax, qword [r14]
mov rcx, qword [rax + 8]
mov rsi, qword [rax + 0x18]
inc rcx
cmp rcx, qword [rax]
cmove rcx, rdx
mov qword [rax + 8], rcx
imul rdi, rcx, 0xa8
mov rcx, qword [rsi + rdi + 0x98]
test rcx, rcx
jne 0x14011f07e
lea r15, [rsi + rdi]
mov rsi, qword [rsi + rdi + 0x88]
test rsi, rsi
jne 0x14011f091
mov rcx, qword [r15]
test rcx, rcx
jne 0x14011f0f4
mov rax, qword [r14]
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 8]
je 0x14011edfe
dec qword [r14 + 0x10]
je 0x14011ee2c
mov rcx, qword [r14 + 0x28]
mov rdx, r14
call fcn.140099810
test byte [0x140342240], 9
jne 0x14011f10c
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140171860
mov rax, rbx
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14011edb0
mov qword [rax + 0x20], 0
mov rsi, qword [r14]
mov qword [r14], rcx
test rsi, rsi
je 0x14011edb0
mov rcx, rsi
call fcn.140065570
mov rcx, rsi
call fcn.14016eccc
jmp 0x14011edb0
movabs r13, 0xaaaaaaaaaaaaaaaa
movabs r12, 0x8637bd05af7
cmp dword [r14 + 0x78], 0
jne 0x14011efa1
mov rbp, qword [r14 + 0x30]
cmp qword [r14 + 8], 0
je 0x14011eef5
mov qword [rsp + 0x58], r13
mov rax, qword [0x1403411f8]
lea rcx, [0x14003b7a0]
cmp rax, rcx
jne 0x14011f220
lea rsi, [rsp + 0x80]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
cmp rax, r12
jge 0x14011f236
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
mov qword [rsp + 0x58], rax
cmp rax, qword [r14 + 0x20]
jl 0x14011eef5
mov rax, qword [r14 + 0x18]
inc rax
cmp rax, 5
mov edx, 4
cmovae rdx, rax
mov rax, qword [r14]
mov rcx, qword [r14 + 0x10]
mov qword [r14 + 0x18], rcx
test rax, rax
je 0x14011eef5
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x14011eee0
cmp rcx, r8
jb 0x14011f314
lea rsi, [rbp + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14011f25d
mov rax, qword [r14]
mov rcx, qword [rbp + 0x28]
mov qword [r14], rcx
mov qword [rbp + 0x28], rax
mov rax, qword [r14 + 8]
mov rcx, qword [rbp + 0x30]
mov qword [r14 + 8], rcx
mov qword [rbp + 0x30], rax
mov rax, qword [r14 + 0x10]
mov rcx, qword [rbp + 0x38]
mov qword [r14 + 0x10], rcx
mov qword [rbp + 0x38], rax
mov rax, qword [r14 + 0x18]
mov rcx, qword [rbp + 0x40]
mov qword [r14 + 0x18], rcx
mov qword [rbp + 0x40], rax
mov rax, qword [r14 + 0x20]
mov rcx, qword [rbp + 0x48]
mov qword [r14 + 0x20], rcx
mov qword [rbp + 0x48], rax
cmp byte [rbp + 0x158], 0
jne 0x14011f26a
mov rax, qword [rbp + 0xb8]
cmp qword [rax + 0x10], 0
sete byte [rbp + 0x50]
cmp qword [rbp + 0xa8], 0
mov al, byte [rbp + 0x128]
jne 0x14011ef95
test al, al
je 0x14011f2d0
mov al, byte [rbp + 0x130]
xor al, 1
mov byte [rbp + 0x51], al
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [r14 + 8], 0
je 0x14011edb6
mov qword [rsp + 0x58], r13
mov rax, qword [0x1403411f8]
lea rcx, [0x14003b7a0]
cmp rax, rcx
jne 0x14011f2d7
lea rsi, [rsp + 0x80]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
cmp rax, r12
jge 0x14011f2ed
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
mov qword [rsp + 0x58], rax
cmp rax, qword [r14 + 0x20]
jl 0x14011edb6
mov rax, qword [r14 + 0x18]
inc rax
cmp rax, 5
mov edx, 4
cmovae rdx, rax
mov rax, qword [r14]
mov rcx, qword [r14 + 0x10]
mov qword [r14 + 0x18], rcx
test rax, rax
je 0x14011edb6
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x14011f03a
cmp rcx, r8
jae 0x14011edb6
mov rcx, r14
call fcn.140109380
mov rax, qword [rsp + 0x58]
mov ecx, 0x4c4b40
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov qword [r14 + 0x20], rcx
jmp 0x14011edb6
lock dec dword [rcx]
jne 0x14011ed82
call fcn.14016eccc
jmp 0x14011ed82
lock dec dword [rsi + 8]
jne 0x14011ed97
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401c4710]
cmp qword [rcx + 0x10], rdx
jne 0x14011f42e
lea rcx, [0x1401c4730]
cmp rax, rcx
jne 0x14011f42e
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x14011f0d5
lock dec dword [rdi]
je 0x14011f463
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x14011f0e7
lock dec dword [rdi]
je 0x14011f441
mov rcx, rsi
call fcn.14016eccc
jmp 0x14011ed97
lock dec dword [rcx]
jne 0x14011eda3
mov rax, qword [rcx + 0x10]
call qword [case.0x140211850.0]
jmp 0x14011eda3
mov rdi, qword [r14 + 0x30]
mov rax, qword [rdi + 0x10]
mov esi, dword [rax + 4]
call sub.KERNEL32.dll_GetCurrentThreadId
cmp esi, eax
jne 0x14011edcf
lea rsi, [rdi + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14011f456
mov r12, qword [rdi + 0x38]
mov rax, qword [rdi + 0xb0]
mov rcx, qword [rdi + 0xb8]
mov r14, qword [rcx + 0x10]
mov r15, qword [rax + 0x10]
mov r13, qword [rdi + 0xd0]
mov rbp, qword [rdi + 0xc8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x140342240], 0x19
je 0x14011edcf
sub r13, rbp
shr r13, 3
imul eax, r13d, 0x3cf3cf3d
add r14d, r12d
add r15d, eax
add r15d, r14d
mov ecx, dword [rdi]
call fcn.1400b64f0
mov rsi, rax
lea rdi, [rsp + 0x58]
mov rcx, rdi
call fcn.14007a620
call sub.KERNEL32.dll_GetCurrentThreadId
lea r14, [rsp + 0x80]
movaps xmmword [r14], xmm6
movaps xmmword [r14 + 0x10], xmm6
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [r14 + 0x20], rcx
mov word [r14], 0x301
lea rcx, [0x140303385]
mov qword [r14 + 8], rcx
movsxd rcx, r15d
mov qword [r14 + 0x18], rcx
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
lea rdx, [0x140342240]
mov cl, 0x43
mov r8, rsi
xor r9d, r9d
call fcn.1401b9550
mov rcx, r14
call fcn.140041948
jmp 0x14011edcf
lea rsi, [rsp + 0x58]
mov rcx, rsi
call qword [case.0x140211850.0]
mov rax, qword [rsi]
jmp 0x14011eeaf
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14011eeaa
mov rcx, rsi
call fcn.140047ff0
jmp 0x14011ef0a
lea rdi, [rsp + 0x70]
movaps xmmword [rdi], xmm6
mov rdx, qword [r14]
mov rcx, rdi
call fcn.140221e30
mov rax, qword [rdi]
test rax, rax
je 0x14011f343
lea r15, [rsp + 0x70]
xor edi, edi
cmp byte [rbp + 0x158], 0
je 0x14011f47a
imul rdx, qword [rsp + 0x78], 0xa8
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + rdx + 0x28]
cmp rax, qword [rbp + 0x160]
jge 0x14011f369
mov rcx, r15
call fcn.14016e920
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x14011f290
jmp 0x14011f345
xor eax, eax
jmp 0x14011ef95
lea rsi, [rsp + 0x58]
mov rcx, rsi
call qword [case.0x140211850.0]
mov rax, qword [rsi]
jmp 0x14011f001
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14011effc
mov rcx, r14
call fcn.140109380
mov rax, qword [rsp + 0x58]
mov ecx, 0x4c4b40
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov qword [r14 + 0x20], rcx
jmp 0x14011eef5
xor edi, edi
mov rax, qword [0x1403428e0]
and rax, rdi
cmp rax, qword [0x1403428c8]
jne 0x14011ef65
mov rcx, rdi
call fcn.1401571d0
jmp 0x14011ef65
add rcx, rdx
mov byte [rbp + 0x158], 0
lea rdi, [rsp + 0x58]
mov rdx, rdi
call fcn.1400d6ac0
lea rcx, [rsp + 0x80]
mov rdx, rdi
call fcn.14023ebc0
lea rdi, [rbp + 0x138]
cmp byte [rbp + 0x130], 0
jne 0x14011f3be
mov eax, dword [rsp + 0x90]
mov dword [rdi + 0x10], eax
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [rdi], xmm0
mov byte [rbp + 0x130], 1
jmp 0x14011f3db
lea rdx, [rsp + 0x80]
mov rcx, rdi
call fcn.140079100
cmp byte [rbp + 0x130], 0
je 0x14011f478
mov rcx, qword [rbp + 0xb8]
mov eax, dword [rdi + 0x10]
lea rdx, [rsp + 0x80]
mov dword [rdx + 0x10], eax
movups xmm0, xmmword [rdi]
movaps xmmword [rdx], xmm0
call fcn.140221210
cmp byte [rbp + 0x130], 0
je 0x14011f478
mov rcx, qword [rbp + 0xb0]
mov eax, dword [rdi + 0x10]
lea rdx, [rsp + 0x80]
mov dword [rdx + 0x10], eax
movups xmm0, xmmword [rdi]
movaps xmmword [rdx], xmm0
call fcn.140221210
mov rdi, qword [rsp + 0x70]
jmp 0x14011f345
mov rcx, rsi
mov edx, 1
call qword [case.0x140211850.0]
jmp 0x14011ed97
mov rcx, rdi
call fcn.1400b6510
mov rcx, rdi
call fcn.14016eccc
jmp 0x14011f0e7
mov rcx, rsi
call fcn.140047ff0
jmp 0x14011f139
mov rcx, rdi
call fcn.1400ad7f0
mov rcx, rdi
call fcn.14016eccc
jmp 0x14011f0d5
ud2
call fcn.1401ca202
int3