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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x3060
call fcn.00623680
push ebx
push ebp
push esi
push edi
mov ecx, 0x6f
call fcn.0048f1e0
test al, al
mov ebp, 1
je 0x50ead5
mov ecx, 0xb
call fcn.0048f1e0
test al, al
je 0x50ead5
mov eax, dword [0x70ed50]
test eax, eax
jne 0x50eadf
mov ecx, dword [0x70ed5c]
mov eax, ebp
sub eax, ecx
mov dword [0x70ed5c], eax
mov dword [0x70ed50], ebp
jmp 0x50eadf
mov dword [0x70ed50], 0
mov ecx, 0x6f
call fcn.0048f1e0
test al, al
je 0x50eb1b
mov ecx, 0xc
call fcn.0048f1e0
test al, al
je 0x50eb1b
mov eax, dword [0x70ed54]
test eax, eax
jne 0x50eb25
mov eax, dword [0x70ed58]
mov ecx, ebp
sub ecx, eax
mov dword [0x70ed58], ecx
mov dword [0x70ed54], ebp
jmp 0x50eb25
mov dword [0x70ed54], 0
mov edi, dword [sym.imp.kernel32.dll_QueryPerformanceCounter]
lea edx, [esp + 0x10]
push edx
call edi
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
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 ecx, dword [0x70ed60]
mov esi, eax
sub esi, ecx
mov dword [0x70ed60], eax
je 0x50eb79
mov eax, 0x3e8
xor edx, edx
div esi
mov esi, eax
call fcn.0050e300
test esi, esi
mov dword [esp + 0x28], esi
fild dword [esp + 0x28]
jge 0x50eb90
fadd dword [0x66c508]
push ecx
xor ecx, ecx
fstp dword [esp]
call fcn.0050e990
mov al, byte [0x70ed5c]
mov bl, byte [0x70ed58]
add esp, 4
call fcn.0050e5a0
call fcn.004d5e10
mov al, byte [0x683308]
test al, al
je 0x50eea0
mov eax, dword [0x70ec08]
mov edx, dword [0x695ef8]
mov ebx, dword [0x70ec0c]
mov si, word [0x695eee]
sub edx, eax
mov eax, dword [0x695efc]
lea ecx, [esp + 0x10]
sbb eax, ebx
push ecx
mov word [esp + 0x20], 0x64
mov word [esp + 0x22], 0xc8
mov word [esp + 0x24], 0x12c
mov word [esp + 0x26], 0x190
mov word [esp + 0x28], 0x1f4
mov word [esp + 0x2a], 0x258
mov word [esp + 0x2e], 0
mov dword [esp + 0x44], 0x3f800000
mov dword [esp + 0x48], 0x3f28f5c3
mov dword [esp + 0x4c], 0x3f800000
mov dword [esp + 0x50], 0x3f28f5c3
mov dword [esp + 0x34], 0x3f800000
mov dword [esp + 0x38], 0x3f800000
mov dword [esp + 0x3c], 0x3f800000
mov dword [esp + 0x40], 0x3f800000
mov dword [esp + 0x54], 0x3f800000
mov dword [esp + 0x58], 0x3f800000
mov dword [esp + 0x5c], 0x3f800000
mov dword [esp + 0x60], 0x3f800000
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], eax
call edi
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push 0
push 0x3e8
push edx
push eax
call fcn.006292c0
mov ecx, dword [0x6a60a4]
push ecx
mov ecx, dword [0x6a60a0]
push ecx
push edx
push eax
call fcn.00634420
mov edi, dword [0x70ec00]
mov ecx, dword [0x70ec04]
xor edx, edx
sub eax, edi
sbb edx, ecx
mov ebx, 6
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
lea eax, [esp + 0x1c]
mov ecx, ebx
add word [eax], si
add eax, 2
dec ecx
jne 0x50ecd1
mov eax, dword [0x695eec]
mov ecx, dword [0x695ef0]
push 0
push 5
push 0
push 0
mov dword [esp + 0x20], eax
mov eax, 0x20
add word [esp + 0x20], ax
push 0xffffffffffffffff
mov dword [esp + 0x28], ecx
add word [esp + 0x28], ax
push ebp
call fcn.00492b50
movsx edx, word [0x7b4924]
push edx
lea eax, [esp + 0x8c]
push str.ntframeratetaverage__of__d_tmintmaxtdropped
push eax
call fcn.0061ed33
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
mov word [esp + 0x40], si
mov ecx, dword [esp + 0x40]
mov dword [0x6dddea], ecx
mov ecx, dword [esp + 0x5c]
mov dword [0x6ddddc], eax
lea eax, [esp + 0x94]
push eax
mov dword [0x6ddde0], ecx
lea ecx, [esp + 0x50]
mov dword [0x6dddd8], edx
mov edx, dword [esp + 0x64]
push 0xfffffffffffffffc
push ecx
xor eax, eax
lea ecx, [esp + 0x40]
mov word [0x6ddde8], bx
mov dword [0x6dddee], edi
mov dword [0x6dddf2], ebp
mov dword [0x6ddde4], edx
call fcn.005104b0
fld dword [0x7b4934]
mov edx, dword [esp + 0x5a]
fstp qword [esp + 0x28]
lea eax, [esp + 0xa0]
fld dword [0x7b4930]
dec edx
fstp qword [esp + 0x20]
mov word [esp + 0x40], dx
fld dword [0x7b492c]
fstp qword [esp + 0x18]
fild qword [esp + 0x98]
fmul dword [0x66c434]
fild qword [esp + 0x90]
fdivp st(1)
fstp qword [esp + 0x10]
fld dword [0x7b4928]
fstp qword [esp + 8]
fld dword [0x7b4920]
fstp qword [esp]
push str.t_.0ft_.0f__.0ft_.0ft_.0ft_5.1f__n
push eax
call fcn.0061ed33
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov word [esp + 0x54], si
mov ecx, dword [esp + 0x54]
mov dword [0x6dddea], ecx
mov ecx, dword [esp + 0x80]
mov dword [0x6dddd8], edx
mov edx, dword [esp + 0x84]
mov dword [0x6ddddc], eax
mov word [0x6ddde8], bx
mov dword [0x6dddee], edi
mov dword [0x6dddf2], ebp
mov dword [0x6ddde0], ecx
mov dword [0x6ddde4], edx
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x64]
push 0xfffffffffffffffc
push ecx
xor eax, eax
lea ecx, [esp + 0x54]
call fcn.005104b0
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov dword [0x6dddd8], edx
mov edx, dword [esp + 0xa0]
add esp, 0x44
mov word [0x6ddde8], 0
mov dword [0x6ddddc], eax
mov dword [0x6ddde0], ecx
mov dword [0x6ddde4], edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret