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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x10
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.kernel32.dll_QueryPerformanceCounter]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push 0
push 0x3e8
push ecx
push edx
call fcn.006292c0
mov ecx, dword [0x6a60a4]
push ecx
mov ecx, dword [0x6a60a0]
push ecx
push edx
push eax
call fcn.00634420
mov ebp, dword [0x737da4]
sub eax, dword [ebp + 8]
cmp eax, 0x21
jae 0x540072
mov edi, dword [0x737da0]
or edx, 0xffffffff
call fcn.004ce970
mov esi, eax
cmp esi, 0xffffffff
je 0x54029f
lea ebx, [ebx]
call fcn.0053fc80
lea ecx, [esi + 1]
or ebp, 0xffffffff
test cx, cx
jl 0x540063
mov si, word [edi + 0x2e]
cmp cx, si
jge 0x540063
movsx edx, word [edi + 0x22]
mov ebx, dword [edi + 0x34]
movsx eax, cx
imul eax, edx
add eax, ebx
cmp word [eax], 0
jne 0x540058
inc ecx
add eax, edx
cmp cx, si
jl 0x540048
jmp 0x540063
movsx ebp, word [eax]
movsx edx, cx
shl ebp, 0x10
or ebp, edx
cmp ebp, 0xffffffff
mov esi, ebp
jne 0x540020
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x13]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.0053a980
mov esi, dword [esp + 0x20]
mov ecx, 0x12
mov edi, 0x716e5c
add esp, 0xc
rep movsd dword es:[edi], dword [esi]
call fcn.00540370
mov edx, dword [esp + 0x18]
cmp edx, 0xffffffff
mov eax, dword [ebp + 4]
jne 0x5400d4
cmp eax, edx
mov ebx, dword [0x737da0]
je 0x54012c
mov edx, dword [ebx + 0x34]
and eax, 0xffff
imul eax, eax, 0x34
mov ecx, dword [eax + edx + 4]
add eax, edx
or ecx, 2
mov dword [eax + 4], ecx
mov dword [ebp + 4], 0xffffffff
jmp 0x54012c
cmp eax, 0xffffffff
je 0x54010d
mov ebx, dword [0x737da0]
mov ecx, dword [ebx + 0x34]
and eax, 0xffff
imul eax, eax, 0x34
add eax, ecx
cmp dword [eax + 0xc], edx
je 0x54012c
or dword [eax + 4], 2
push 0x3f800000
or eax, 0xffffffff
call fcn.0053fc40
mov edx, dword [0x737da4]
mov dword [edx + 4], eax
jmp 0x540123
push 0x3f800000
or eax, 0xffffffff
call fcn.0053fc40
mov ecx, dword [0x737da4]
mov dword [ecx + 4], eax
mov ebx, dword [0x737da0]
add esp, 4
or edx, 0xffffffff
mov edi, ebx
call fcn.004ce970
mov ebp, eax
cmp ebp, 0xffffffff
je 0x540256
mov ecx, dword [ebx + 0x34]
mov esi, ebp
and esi, 0xffff
imul esi, esi, 0x34
mov edi, dword [esi + ecx + 0x10]
add esi, ecx
cmp edi, 0xffffffff
jne 0x540161
push 0
jmp 0x5401f7
test byte [esi + 4], 1
je 0x5401a3
push 0xffffffffffffffff
mov ecx, edi
call fcn.004f2aa0
add esp, 4
test eax, eax
jne 0x5401a3
mov edx, dword [esi + 0xc]
mov eax, dword [0x86cff4]
and edx, 0xffff
shl edx, 5
mov eax, dword [edx + eax + 0x14]
cmp dword [eax + 0x1c], ebp
jne 0x540198
mov dword [eax + 0x1c], 0xffffffff
mov edx, ebp
mov eax, ebx
call fcn.004ce850
jmp 0x540206
mov edx, dword [0x851c30]
mov eax, edi
and eax, 0xffff
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + ecx*4 + 8]
mov eax, dword [ecx + 0x10]
test ah, 8
je 0x540206
lea eax, [esp + 0x18]
mov ecx, edi
call fcn.004f26f0
mov eax, dword [esp + 0x1c]
cmp ax, 0xffff
je 0x540206
movsx eax, ax
mov ecx, eax
and ecx, 0x1f
mov edx, 1
shl edx, cl
sar eax, 5
test dword [eax*4 + 0x737d60], edx
je 0x540206
lea eax, [esp + 0x18]
push eax
push ebp
call fcn.0053fd20
mov ebx, dword [0x737da0]
add esp, 8
lea ecx, [ebp + 1]
or esi, 0xffffffff
test cx, cx
jl 0x54024b
mov di, word [ebx + 0x2e]
cmp cx, di
jge 0x54024b
movsx edx, word [ebx + 0x22]
mov ebp, dword [ebx + 0x34]
movsx eax, cx
imul eax, edx
add eax, ebp
lea esp, [esp]
cmp word [eax], 0
jne 0x540240
inc ecx
add eax, edx
cmp cx, di
jl 0x540230
jmp 0x54024b
movsx esi, word [eax]
movsx ecx, cx
shl esi, 0x10
or esi, ecx
cmp esi, 0xffffffff
mov ebp, esi
jne 0x540141
mov eax, dword [0x737da4]
mov ebx, dword [eax]
lea edx, [esp + 0x18]
inc ebx
push edx
mov dword [eax], ebx
call dword [sym.imp.kernel32.dll_QueryPerformanceCounter]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push 0
push 0x3e8
push eax
push ecx
call fcn.006292c0
mov ecx, dword [0x6a60a4]
push ecx
mov ecx, dword [0x6a60a0]
push ecx
push edx
push eax
call fcn.00634420
mov edx, dword [0x737da4]
mov dword [edx + 8], eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret