Function at 0x10026820
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
mov eax, 0x1178
call fcn.10451050
mov eax, dword [0x11ad127c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x34
lea eax, [ebp - 0x38]
push 0
push eax
call fcn.10425c00
mov ecx, dword [0x11d0c5b8]
add esp, 0xc
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x116c], 0
mov dword [ebp - 0x1160], 0
mov edi, dword [eax + ecx*4]
cmp byte [edi + 8], 0
jne 0x1002688d
call fcn.10450c0b
cmp byte [edi + 8], 0
xorps xmm0, xmm0
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 0xbe2c]
mov eax, dword [eax + 0x11cc]
mov dword [ebp - 0x1170], eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x1168], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1164], 0x34
movlpd qword [ebp - 0x24], xmm0
mov dword [ebp - 0x1c], 0
movlpd qword [ebp - 0x14], xmm0
movlpd qword [ebp - 0xc], xmm0
mov dword [ebp - 0x38], 0x4e564441
mov dword [ebp - 0x34], 0x10002
mov dword [ebp - 0x30], 0x34
mov dword [ebp - 0x2c], 0x4e562a2a
mov dword [ebp - 0x28], 0x700000f
mov dword [ebp - 0x18], eax
jne 0x10026908
call fcn.10450c0b
mov eax, dword [edi + 0x10]
mov esi, dword [eax + 0xbe2c]
mov edx, dword [esi + 0x10b4]
test edx, edx
je 0x100269b5
mov eax, dword [esi]
test eax, eax
je 0x100269b5
mov ecx, dword [eax + 0xbe28]
test ecx, ecx
je 0x100269b5
mov ecx, dword [ecx + 0x14]
test ecx, ecx
je 0x100269b5
cmp dword [eax + 0xd45c], 1
jne 0x100269ab
lea eax, [esi + 0x1428]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [ebp - 0x1170]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0xbe28]
push dword [eax + 0x14]
mov eax, dword [esi + 0x10b4]
call eax
lea eax, [ebp - 0x1150]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x1150], xmm0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [ebp - 0x1150]
sub ecx, dword [esi + 0x1428]
mov eax, dword [ebp - 0x114c]
sbb eax, dword [esi + 0x142c]
add dword [esi + 0x1420], ecx
adc dword [esi + 0x1424], eax
jmp 0x100269b5
lea eax, [ebp - 0x1170]
push eax
push ecx
call edx
push 0x138
lea eax, [ebp - 0x170]
push 0
push eax
call fcn.10425c00
add esp, 0xc
mov dword [ebp - 0x1160], 0
cmp byte [edi + 8], 0
xorps xmm0, xmm0
movaps xmmword [ebp - 0x1170], xmm0
jne 0x100269ed
call fcn.10450c0b
mov eax, dword [edi + 0x10]
mov esi, dword [ebp - 0x150]
push 0x138
push 0
mov eax, dword [eax + 0xbe2c]
mov eax, dword [eax + 0x11cc]
mov dword [ebp - 0x1170], eax
lea eax, [ebp - 0x170]
push eax
mov dword [ebp - 0x1168], eax
mov dword [ebp - 0x1164], 0x138
call fcn.10425c00
mov eax, dword [ebp - 8]
add esp, 0xc
cmp byte [edi + 8], 0
mov dword [ebp - 0x170], 0x4e564441
mov dword [ebp - 0x16c], 0x10002
mov dword [ebp - 0x168], 0x138
mov dword [ebp - 0x164], 0x4e562a2a
mov dword [ebp - 0x160], 0x7000006
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x140], eax
jne 0x10026a80
call fcn.10450c0b
mov eax, dword [edi + 0x10]
mov esi, dword [eax + 0xbe2c]
mov edx, dword [esi + 0x10b4]
test edx, edx
je 0x10026b2d
mov eax, dword [esi]
test eax, eax
je 0x10026b2d
mov ecx, dword [eax + 0xbe28]
test ecx, ecx
je 0x10026b2d
mov ecx, dword [ecx + 0x14]
test ecx, ecx
je 0x10026b2d
cmp dword [eax + 0xd45c], 1
jne 0x10026b23
lea eax, [esi + 0x1428]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [ebp - 0x1170]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0xbe28]
push dword [eax + 0x14]
mov eax, dword [esi + 0x10b4]
call eax
lea eax, [ebp - 0x1150]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x1150], xmm0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [ebp - 0x1150]
sub ecx, dword [esi + 0x1428]
mov eax, dword [ebp - 0x114c]
sbb eax, dword [esi + 0x142c]
add dword [esi + 0x1420], ecx
adc dword [esi + 0x1424], eax
jmp 0x10026b2d
lea eax, [ebp - 0x1170]
push eax
push ecx
call edx
push 0xfd8
lea eax, [ebp - 0x1148]
push 0
push eax
call fcn.10425c00
add esp, 0xc
mov dword [ebp - 0x1160], 0
cmp byte [edi + 8], 0
xorps xmm0, xmm0
movaps xmmword [ebp - 0x1170], xmm0
jne 0x10026b65
call fcn.10450c0b
mov eax, dword [edi + 0x10]
mov esi, dword [ebp - 0x1128]
push 0xfd8
push 0
mov eax, dword [eax + 0xbe2c]
mov eax, dword [eax + 0x11cc]
mov dword [ebp - 0x1170], eax
lea eax, [ebp - 0x1148]
push eax
mov dword [ebp - 0x1168], eax
mov dword [ebp - 0x1164], 0xfd8
call fcn.10425c00
mov edx, dword [ebp - 0x13c]
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x1148], 0x4e564441
mov dword [ebp - 0x1144], 0x10002
mov dword [ebp - 0x1140], 0xfd8
mov dword [ebp - 0x113c], 0x4e562a2a
mov dword [ebp - 0x1138], 0x700003f
mov dword [ebp - 0x1128], esi
test edx, edx
je 0x10026d29
mov ecx, dword [ebp + eax*4 - 0x138]
test ecx, ecx
jne 0x10026c14
inc eax
cmp eax, edx
jb 0x10026bf1
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
cmp byte [edi + 8], 0
mov dword [ebp - 0x1118], ecx
jne 0x10026c28
call fcn.10450c0b
mov eax, dword [edi + 0x10]
mov esi, dword [eax + 0xbe2c]
mov edx, dword [esi + 0x10b4]
test edx, edx
je 0x10026d10
mov eax, dword [esi]
test eax, eax
je 0x10026d10
mov ecx, dword [eax + 0xbe28]
test ecx, ecx
je 0x10026d10
mov ecx, dword [ecx + 0x14]
test ecx, ecx
je 0x10026d10
cmp dword [eax + 0xd45c], 1
jne 0x10026cdf
lea eax, [esi + 0x1428]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [esi + 0x10b4]
lea eax, [ebp - 0x1170]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0xbe28]
push dword [eax + 0x14]
call ecx
mov dword [ebp - 0x114c], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x1178]
movlpd qword [ebp - 0x1178], xmm0
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [ebp - 0x1178]
sub ecx, dword [esi + 0x1428]
mov eax, dword [ebp - 0x1174]
sbb eax, dword [esi + 0x142c]
add dword [esi + 0x1420], ecx
adc dword [esi + 0x1424], eax
mov eax, dword [ebp - 0x114c]
jmp 0x10026ce9
lea eax, [ebp - 0x1170]
push eax
push ecx
call edx
test eax, eax
je 0x10026d10
mov eax, dword [edi + 0x10]
and dword [eax + 0x162c], 0xf7ffffff
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
cmp dword [ebp - 0x1114], 0
je 0x10026d29
mov eax, dword [edi + 0x10]
or dword [eax + 0x162c], 0x8000000
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.1045066c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret