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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x198
mov eax, dword [0x11ad127c]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [0x11d0c5b8]
mov eax, dword fs:[0x2c]
push esi
push edi
mov dword [ebp - 0x198], edx
mov edi, dword [eax + ecx*4]
mov dword [ebp - 0x194], edi
mov esi, dword [edi + 0x10]
mov ecx, dword [esi + 0xf93c]
mov eax, dword [esi + 0xf880]
and ecx, 0xf
mov edx, dword [esi + 0xf884]
shl ecx, 3
call fcn.10451430
mov ecx, dword [esi + 0xf944]
mov edx, 1
shl edx, cl
xor ecx, ecx
dec edx
mov dword [ebp - 0x164], 0
and eax, edx
movzx edx, al
test al, al
je 0x1002af19
nop dword [eax]
cmp ecx, 0x20
jge 0x1002af19
mov eax, 1
shl eax, cl
test edx, eax
jne 0x1002af13
inc ecx
jmp 0x1002af00
mov dword [ebp - 0x164], ecx
push 0x80
lea eax, [ebp - 0x150]
push 0
push eax
call fcn.10425c00
add esp, 0xc
lea eax, [ebp - 0x7c]
push 0x4c
push 0
push eax
call fcn.10425c00
add esp, 0xc
mov dword [ebp - 0x70], 0x5000024
cmp byte [edi + 8], 0
lea eax, [ebp - 0x150]
mov dword [ebp - 0x80], 0x4e564441
mov dword [ebp - 0x7c], 0x10002
mov dword [ebp - 0x74], 0x4e564458
mov dword [ebp - 0x78], 0x50
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0x201
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0x80
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x180], 0
jne 0x1002afb0
call fcn.10450c0b
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 0xbe2c]
mov eax, dword [eax + 0x11cc]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], 0x50
mov eax, dword [ecx + 0x7a68]
mov eax, dword [eax + 8]
mov esi, dword [eax + 4]
mov edx, dword [esi + 0x10b4]
test edx, edx
je 0x1002b0a4
mov eax, dword [esi]
test eax, eax
je 0x1002b0a4
mov ecx, dword [eax + 0xbe28]
test ecx, ecx
je 0x1002b0a4
mov ecx, dword [ecx + 0x14]
test ecx, ecx
je 0x1002b0a4
cmp dword [eax + 0xd45c], 1
jne 0x1002b092
lea eax, [esi + 0x1428]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [esi + 0x10b4]
lea eax, [ebp - 0x190]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0xbe28]
push dword [eax + 0x14]
call ecx
mov dword [ebp - 0x154], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x160]
movlpd qword [ebp - 0x160], xmm0
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [ebp - 0x160]
sub ecx, dword [esi + 0x1428]
mov eax, dword [ebp - 0x15c]
sbb eax, dword [esi + 0x142c]
add dword [esi + 0x1420], ecx
adc dword [esi + 0x1424], eax
mov eax, dword [ebp - 0x154]
jmp 0x1002b09c
lea eax, [ebp - 0x190]
push eax
push ecx
call edx
test eax, eax
js 0x1002b283
xor esi, esi
nop word [eax + eax]
mov eax, dword [ebp + esi*4 - 0x150]
cmp eax, 0xffffffff
je 0x1002b283
xorps xmm0, xmm0
movups xmmword [ebp - 0x30], xmm0
push 0x4c
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0xcc]
push 0
push eax
movups xmmword [ebp - 0x20], xmm0
movq qword [ebp - 0x10], xmm0
call fcn.10425c00
add esp, 0xc
mov dword [ebp - 0xc0], 0x5000024
cmp byte [edi + 8], 0
lea eax, [ebp - 0x30]
xorps xmm0, xmm0
mov dword [ebp - 0xd0], 0x4e564441
mov dword [ebp - 0xcc], 0x10002
mov dword [ebp - 0xc4], 0x4e564458
mov dword [ebp - 0xc8], 0x50
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0x202
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0x28
movaps xmmword [ebp - 0x190], xmm0
mov dword [ebp - 0x180], 0
jne 0x1002b175
call fcn.10450c0b
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 0xbe2c]
mov eax, dword [eax + 0x11cc]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], 0x50
mov eax, dword [ecx + 0x7a68]
mov eax, dword [eax + 8]
mov edi, dword [eax + 4]
mov edx, dword [edi + 0x10b4]
test edx, edx
je 0x1002b268
mov eax, dword [edi]
test eax, eax
je 0x1002b268
mov ecx, dword [eax + 0xbe28]
test ecx, ecx
je 0x1002b268
mov ecx, dword [ecx + 0x14]
test ecx, ecx
je 0x1002b268
cmp dword [eax + 0xd45c], 1
jne 0x1002b25a
lea eax, [edi + 0x1428]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [edi + 0x10b4]
lea eax, [ebp - 0x190]
push eax
mov eax, dword [edi]
mov eax, dword [eax + 0xbe28]
push dword [eax + 0x14]
call ecx
mov dword [ebp - 0x154], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x160]
movlpd qword [ebp - 0x160], xmm0
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [ebp - 0x160]
sub ecx, dword [edi + 0x1428]
mov eax, dword [ebp - 0x15c]
sbb eax, dword [edi + 0x142c]
add dword [edi + 0x1420], ecx
adc dword [edi + 0x1424], eax
mov eax, dword [ebp - 0x154]
jmp 0x1002b264
lea eax, [ebp - 0x190]
push eax
push ecx
call edx
test eax, eax
js 0x1002b283
mov eax, dword [ebp - 0x164]
cmp dword [ebp - 0x28], eax
je 0x1002b298
mov edi, dword [ebp - 0x194]
inc esi
cmp esi, 0x20
jb 0x1002b0b0
xor al, al
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [ebp - 0x198]
mov eax, dword [ebp - 0x30]
pop edi
pop esi
mov dword [ecx + 4], eax
mov al, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret