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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
test rcx, rcx
je 0x180053c6e
mov rbx, rdx
mov rsi, rcx
lea rdi, [rcx + 0x10]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x180219990]
shl rax, 1
test rax, rax
jne 0x180053e3c
xor ebp, ebp
movzx eax, byte [rsi + 0x18]
test al, al
jne 0x180053e53
cmp dword [rsi + 0x58], 0x3b9aca00
je 0x180053cd5
mov qword [rsp + 0x20], 0
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x180053e66
mov r14, qword [rsp + 0x20]
mov r8, qword [0x180219970]
test r8, r8
jne 0x180053c55
mov qword [rsp + 0x20], 0
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x180053e66
mov r8, qword [rsp + 0x20]
mov qword [0x180219970], r8
test r8, r8
je 0x180053e53
mov rax, r14
or rax, r8
shr rax, 0x20
je 0x180053c7b
mov rax, r14
xor edx, edx
div r8
mov rcx, rax
jmp 0x180053c85
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov eax, r14d
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x180053c9f
xor edx, edx
div r8
jmp 0x180053ca4
xor edx, edx
div r8d
imul rcx, rcx, 0x3b9aca00
add rcx, rax
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub ecx, eax
mov qword [rsi + 0x50], rdx
mov dword [rsi + 0x58], ecx
movabs r15, 0x7fffffffffffffff
cmp dword [rsi + 0x48], 0x3b9aca00
jne 0x180053d11
lea rcx, [rsi + 0x20]
cmp qword [rcx], 0
je 0x180053e15
add qword [rsi + 0x28], rbx
cmp dword [rsi + 0x38], 0x3b9aca00
jne 0x180053e15
call fcn.180053e80
jmp 0x180053e15
mov qword [rsp + 0x20], 0
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x180053e66
mov r14, qword [rsp + 0x20]
mov r8, qword [0x180219970]
test r8, r8
jne 0x180053d6f
mov qword [rsp + 0x20], 0
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x180053e66
mov r8, qword [rsp + 0x20]
mov qword [0x180219970], r8
test r8, r8
je 0x180053e53
mov rax, r14
or rax, r8
shr rax, 0x20
je 0x180053d88
mov rax, r14
xor edx, edx
div r8
mov rcx, rax
jmp 0x180053d92
mov eax, r14d
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x180053dac
xor edx, edx
div r8
jmp 0x180053db1
xor edx, edx
div r8d
imul r9, rcx, 0x3b9aca00
add r9, rax
mov rcx, r9
shr rcx, 9
movabs r10, 0x44b82fa09b5a53
mov rax, rcx
mul r10
mov r8, rdx
shr r8, 0xb
mov r11, qword [rsi + 0x40]
cmp r8, r11
jb 0x180053e15
mov rax, rcx
mul r10
cmp r8, r11
jne 0x180053e00
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub r9d, eax
cmp dword [rsi + 0x48], r9d
ja 0x180053e15
mov dword [rsi + 0x48], 0x3b9aca00
lea rcx, [rsi + 0x20]
cmp qword [rcx], 0
jne 0x180053cf6
test bpl, bpl
jne 0x180053e26
mov rax, qword [0x180219990]
test rax, r15
jne 0x180053e57
mov rcx, rdi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call fcn.180185070
mov ebp, eax
xor bpl, 1
movzx eax, byte [rsi + 0x18]
test al, al
je 0x180053bea
ud2
call fcn.180185070
test al, al
jne 0x180053e26
mov byte [rsi + 0x18], 1
jmp 0x180053e26
call fcn.18016fe79
ud2