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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
sub rsp, 0x50
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
call fcn.100056880
mov rsi, rax
test rax, rax
je 0x10005432a
call fcn.10004e4d8
mov cl, byte [0x10019018a]
lea r12, [0x10019a4f8]
mov rbx, rax
test cl, cl
je 0x100053dca
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
mov dil, byte [rbx + 0x244]
test cl, cl
je 0x100053dde
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rbx, rax
test cl, cl
je 0x100053dff
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
mov ebx, dword [rbx + 0x23c]
test cl, cl
je 0x100053e12
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
setg bl
call fcn.100056ad0
test dil, dil
jne 0x100053e29
test bl, bl
jne 0x100053e29
test al, al
jne 0x100053e42
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
test dil, dil
je 0x100053e42
test bl, bl
jne 0x100053e42
call fcn.100053b7c
call fcn.10005fcc4
movsd xmm6, qword [0x100038420]
mov rbx, rax
cmp byte [rax], 0
jne 0x100053e5d
movapd xmm7, xmm6
jmp 0x100053e91
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x100053e76
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x60]
sub rax, qword [rbx + 0x20]
pxor xmm7, xmm7
pxor xmm0, xmm0
cvtsi2sd xmm0, qword [rbx + 8]
cvtsi2sd xmm7, rax
divsd xmm7, xmm0
call fcn.10005fcc4
mov rbx, rax
cmp byte [rax], 0
je 0x100053ed9
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x100053eb7
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x60]
pxor xmm6, xmm6
mov rcx, rax
pxor xmm0, xmm0
sub rcx, qword [rbx + 0x18]
mov qword [rbx + 0x18], rax
cvtsi2sd xmm0, qword [rbx + 8]
cvtsi2sd xmm6, rcx
divsd xmm6, xmm0
cvtsd2ss xmm6, xmm6
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rbx, rax
test cl, cl
je 0x100053efe
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
mov bl, byte [rbx + 0x21d]
test cl, cl
je 0x100053f11
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
je 0x100053f5e
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rbx, rax
test cl, cl
je 0x100053f36
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
movss xmm6, dword [rbx + 0x220]
test cl, cl
je 0x100053f4b
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.100056970
unpcklps xmm6, xmm6
movapd xmm7, xmm0
cvtps2pd xmm0, xmm6
addsd xmm7, xmm0
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rbx, rax
test cl, cl
je 0x100053f7f
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
movsd qword [rbx + 0x1b8], xmm7
test cl, cl
je 0x100053f94
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rbx, rax
test cl, cl
je 0x100053fb5
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
movss dword [rbx + 0x1c0], xmm6
test cl, cl
je 0x100053fca
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.100054590
call fcn.10005671c
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rbx, rax
test cl, cl
je 0x100053ff5
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
mov rbx, qword [rbx + 0x2c8]
test cl, cl
je 0x100054009
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x100054060
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rdi, rax
test cl, cl
je 0x10005402f
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
mov rdi, qword [rdi + 0x348]
test cl, cl
je 0x100054043
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movaps xmm1, xmm6
movapd xmm0, xmm7
mov r8, rdi
call rbx
call fcn.100056880
mov rsi, rax
test rax, rax
je 0x10005432a
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rbx, rax
test cl, cl
je 0x100054081
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
mov rbx, qword [rbx + 0x2f0]
test cl, cl
je 0x100054095
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x1000540e8
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rdi, rax
test cl, cl
je 0x1000540bb
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
mov rdi, qword [rdi + 0x370]
test cl, cl
je 0x1000540cf
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, rdi
call rbx
test al, al
jne 0x1000540e8
mov ecx, 0xf
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10005432a
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rbx, rax
test cl, cl
je 0x100054109
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
mov bl, byte [rbx + 0x23a]
test cl, cl
je 0x10005411c
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
jne 0x100054249
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rbx, rax
test cl, cl
je 0x100054145
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
mov byte [rbx + 0x238], 1
test cl, cl
je 0x100054159
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rbx, rax
test cl, cl
je 0x10005417a
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
mov rbx, qword [rbx + 0x2d0]
test cl, cl
je 0x10005418e
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x1000541e8
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rdi, rax
test cl, cl
je 0x1000541b4
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
mov rdi, qword [rdi + 0x350]
test cl, cl
je 0x1000541c8
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movaps xmm2, xmm6
movapd xmm1, xmm7
mov r9, rdi
mov rcx, rsi
call rbx
call fcn.100056880
mov rsi, rax
test rax, rax
je 0x10005432a
mov rax, qword [rsi]
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [rax + 0x88]
test eax, eax
jns 0x100054249
cmp eax, 0x88760868
je 0x100054214
cmp eax, 0x88760827
jne 0x100054249
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rbx, rax
test cl, cl
je 0x100054237
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
test cl, cl
mov byte [rbx + 0x244], 1
je 0x100054249
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rbx, rax
test cl, cl
je 0x10005426a
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
mov ebx, dword [rbx + 0x1e0]
test cl, cl
je 0x10005427d
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
inc ebx
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rdi, rax
test cl, cl
je 0x1000542a0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
mov dword [rdi + 0x1e0], ebx
test cl, cl
je 0x1000542b3
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.10004e4d8
mov cl, byte [0x10019018a]
mov rdi, rax
test cl, cl
je 0x1000542d4
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [0x10019018a]
mov edi, dword [rdi + 0x270]
test cl, cl
je 0x1000542e7
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x10005432a
call fcn.10004e4d8
mov dl, byte [0x10019018a]
mov rdi, rax
test dl, dl
je 0x10005430c
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dl, byte [0x10019018a]
mov edi, dword [rdi + 0x270]
test dl, dl
je 0x10005431f
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp ebx, edi
jle 0x10005432a
xor ecx, ecx
call fcn.100056144
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x30]
add rsp, 0x50
pop r12
ret