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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa08
mov eax, dword [0x11ad127c]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp - 0x9ac]
mov ebx, dword [eax + 0xf0]
push edi
push 0x9c0
mov dword [ebp - 0x9d4], eax
lea eax, [ebp - 0x9cc]
push 0
push eax
mov dword [ebp - 0x9d0], ecx
mov dword [ebp - 0x9e0], ebx
call fcn.10425c00
mov ecx, dword [0x11d0c5b8]
add esp, 0xc
mov eax, dword fs:[0x2c]
or dword [ebp - 0x10], 0x20
mov dword [ebp - 0x9ac], esi
mov dword [ebp - 0x9cc], 0x4e564441
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x9c8], 0x10002
mov dword [ebp - 0x9c4], 0x9c0
mov dword [ebp - 0x9c0], 0x4e564458
cmp byte [esi + 8], 0
mov dword [ebp - 0x9bc], 0x10000a7
mov dword [ebp - 0x99c], ebx
mov dword [ebp - 0x9f0], 0
mov dword [ebp - 0x9e4], 0
jne 0x101fbe90
call fcn.10450c0b
cmp byte [esi + 8], 0
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0xbe2c]
mov eax, dword [eax + 0x11cc]
mov dword [ebp - 0x9f4], eax
lea eax, [ebp - 0x9cc]
mov dword [ebp - 0x9ec], eax
mov dword [ebp - 0x9e8], 0x9c0
jne 0x101fbecc
call fcn.10450c0b
mov eax, dword [esi + 0x10]
mov edi, dword [eax + 0xbe2c]
mov edx, dword [edi + 0x10b4]
test edx, edx
je 0x101fbf8b
mov eax, dword [edi]
test eax, eax
je 0x101fbf8b
mov ecx, dword [eax + 0xbe28]
test ecx, ecx
je 0x101fbf8b
mov ecx, dword [ecx + 0x14]
test ecx, ecx
je 0x101fbf8b
cmp dword [eax + 0xd45c], 1
jne 0x101fbf77
mov esi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [edi + 0x1428]
push eax
call esi
mov ecx, dword [edi + 0x10b4]
lea eax, [ebp - 0x9f4]
push eax
mov eax, dword [edi]
mov eax, dword [eax + 0xbe28]
push dword [eax + 0x14]
call ecx
mov ebx, eax
xorps xmm0, xmm0
lea eax, [ebp - 0x9dc]
movlpd qword [ebp - 0x9dc], xmm0
push eax
call esi
mov ecx, dword [ebp - 0x9dc]
sub ecx, dword [edi + 0x1428]
mov eax, dword [ebp - 0x9d8]
sbb eax, dword [edi + 0x142c]
add dword [edi + 0x1420], ecx
adc dword [edi + 0x1424], eax
jmp 0x101fbf83
lea eax, [ebp - 0x9f4]
push eax
push ecx
call edx
mov ebx, eax
test ebx, ebx
jne 0x101fc099
mov edx, dword [ebp - 0x9d0]
xor ebx, ebx
mov eax, dword [ebp - 0x914]
mov byte [edx + 0x18], al
test al, al
je 0x101fc099
lea esi, [ebp - 0x910]
lea edi, [edx + 0x21]
nop dword [eax]
mov eax, dword [ebp - 0x9e0]
cmp eax, dword [esi + 0x2c]
jne 0x101fc069
mov eax, dword [esi]
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
bsf eax, eax
mov dword [ebp - 0xa00], edx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0x9d8], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x9f8], edx
mov edx, dword [ebp - 0x9d0]
mov dword [ebp - 0xa04], ecx
mov dword [ebp - 0x9fc], eax
cmp eax, ecx
jle 0x101fc01b
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x14], eax
jle 0x101fc01b
mov eax, dword [esi + 0x44]
test eax, eax
je 0x101fc03e
mov ecx, dword [ebp - 0x9d4]
cmp eax, dword [ecx + 0x44]
jne 0x101fc021
xor eax, eax
cmp eax, dword [ecx + 0x48]
je 0x101fc03e
jmp 0x101fc021
mov ecx, dword [ebp - 0x9d4]
mov edx, dword [ecx + 0x18c]
mov cl, 0x36
mov eax, dword [edx + 0x48]
mov edx, dword [edx + 0x4c]
call fcn.10451430
test al, 1
jne 0x101fc08f
mov edx, dword [ebp - 0x9d0]
mov al, byte [esi + 4]
movups xmm0, xmmword [ebp - 0xa04]
mov ecx, dword [ebp - 0x9d8]
mov byte [edi], al
mov eax, dword [esi + 0x30]
mov dword [edi + 0x13], eax
mov byte [edi - 1], cl
movups xmmword [edi + 3], xmm0
movzx eax, cl
mov ecx, dword [edx + 0x1c]
bts ecx, eax
mov dword [edx + 0x1c], ecx
movzx eax, byte [edx + 0x18]
inc ebx
add esi, 0x48
add edi, 0x18
cmp ebx, eax
jb 0x101fbfb0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 0x9d0]
mov byte [ecx + 0x18], 0
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1045066c
mov esp, ebp
pop ebp
ret 4