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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
mov eax, dword [0x11ad127c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword fs:[0x2c]
mov edx, dword [0x11d0c5b8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x88], ecx
mov eax, dword [ecx + 0x10]
cmp dword [eax + 0x2d0], 0x2200
jb 0x101c325e
mov esi, dword [ebp + 0x10]
push dword [edi + 8]
mov eax, dword [esi]
mov dword [edi + 0x5e8], eax
mov ebx, dword [esi + 4]
mov al, byte [edi + 0x604]
neg ebx
sbb bl, bl
and al, 0xfb
and bl, 4
or bl, al
mov byte [edi + 0x604], bl
mov eax, dword [esi + 0x38]
mov dword [edi + 0x644], eax
mov ecx, dword [ecx + 0x10]
call fcn.101d8c60
xor al, 1
and bl, 0xf7
shl al, 3
or al, bl
mov byte [edi + 0x604], al
mov ecx, dword [esi + 8]
neg ecx
sbb cl, cl
and al, 0xef
and cl, 0x10
or cl, al
mov byte [edi + 0x604], cl
mov edx, dword [esi + 0x10]
neg edx
sbb dl, dl
and cl, 0xbf
and dl, 0x40
or dl, cl
mov byte [edi + 0x604], dl
mov eax, dword [esi + 0x18]
neg eax
sbb al, al
and dl, 0x7f
and al, 0x80
or al, dl
and byte [edi + 0x605], 0xfe
mov byte [edi + 0x604], al
jmp 0x101c3473
mov eax, dword [esi + 0x11cc]
xor ecx, ecx
mov dword [ebp - 0xa4], eax
and ecx, 0xfffffffe
lea eax, [ebp - 0x80]
mov dword [ebp - 0x94], ebx
push 0x65
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x6c]
push 0
push eax
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x98], 0x79
call fcn.10425c00
mov ebx, dword [edi]
add esp, 0xc
mov dword [ebp - 0x70], 0x2000002
mov dword [ebp - 0x80], 0x4e564441
mov dword [ebp - 0x7c], 0x10002
mov dword [ebp - 0x74], 0x4e564458
mov dword [ebp - 0x78], 0x79
mov edx, dword [ebx + 0x10b4]
test edx, edx
je 0x101c337e
mov eax, dword [ebx]
test eax, eax
je 0x101c337e
mov ecx, dword [eax + 0xbe28]
test ecx, ecx
je 0x101c337e
mov ecx, dword [ecx + 0x14]
test ecx, ecx
je 0x101c337e
cmp dword [eax + 0xd45c], 1
jne 0x101c336c
mov esi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [ebx + 0x1428]
push eax
call esi
mov ecx, dword [ebx + 0x10b4]
lea eax, [ebp - 0xa4]
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xbe28]
push dword [eax + 0x14]
call ecx
mov dword [ebp - 0x84], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x90]
movlpd qword [ebp - 0x90], xmm0
push eax
call esi
mov ecx, dword [ebp - 0x90]
sub ecx, dword [ebx + 0x1428]
mov eax, dword [ebp - 0x8c]
sbb eax, dword [ebx + 0x142c]
add dword [ebx + 0x1420], ecx
adc dword [ebx + 0x1424], eax
mov eax, dword [ebp - 0x84]
jmp 0x101c3376
lea eax, [ebp - 0xa4]
push eax
push ecx
call edx
test eax, eax
js 0x101c3475
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [edi + 0x5e8], eax
neg ecx
mov eax, dword [ebp - 0x18]
sbb cl, cl
mov dword [edi + 0x644], eax
mov al, byte [edi + 0x604]
and cl, 4
and al, 0xfb
or cl, al
and cl, 0xf7
cmp dword [ebp - 0x44], 0
setne al
dec al
and al, 8
or cl, al
mov eax, dword [ebp - 0x48]
and cl, 0xef
neg eax
sbb al, al
and al, 0x10
or cl, al
mov eax, dword [ebp - 0x40]
and cl, 0x3f
neg eax
sbb al, al
and al, 0x40
or cl, al
mov eax, dword [ebp - 0x38]
and cl, 0x7f
neg eax
sbb al, al
and al, 0x80
or cl, al
cmp dword [ebp - 0x3c], 0
mov byte [edi + 0x604], cl
je 0x101c3461
mov ebx, dword [ebp - 0x88]
mov ebx, dword [ebx + 0x10]
mov eax, dword [ebx + 0x162c]
shr eax, 7
test al, 1
je 0x101c345d
mov esi, dword [ebx + 0xfd48]
xor eax, eax
test esi, esi
je 0x101c345d
lea ecx, [ebx + 0xf968]
mov edx, ecx
cmp dword [edx], 1
je 0x101c3428
inc eax
add edx, 0x20
cmp eax, esi
jb 0x101c3417
mov cl, 1
jmp 0x101c3463
cmp eax, 0x1f
jne 0x101c3441
xor eax, eax
nop
cmp dword [ecx], 1
je 0x101c344b
inc eax
add ecx, 0x20
cmp eax, esi
jb 0x101c3430
mov cl, 1
jmp 0x101c3463
cmp eax, 0xffffffff
je 0x101c345d
cmp eax, 0x1f
jae 0x101c345d
shl eax, 5
cmp dword [eax + ebx + 0xf96c], 0
setne al
test al, al
jne 0x101c3461
mov cl, 1
jmp 0x101c3463
xor cl, cl
mov al, byte [edi + 0x605]
and al, 0xfe
or al, cl
mov byte [edi + 0x605], al
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1045066c
mov esp, ebp
pop ebp
ret 0xc