Function at 0x100ce910
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 4]
call fcn.1000a520
movzx eax, al
test eax, eax
je 0x100ceb6e
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x24], 0xa
jne 0x100ce96f
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x108]
call fcn.100d9950
movzx eax, al
test eax, eax
jne 0x100ce95a
push 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x108]
call fcn.100d9b10
push 0
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x108]
call fcn.100d9c00
jmp 0x100ceb6e
mov eax, dword [ebp - 4]
cmp dword [eax + 0x24], 0xb
jne 0x100ceb6e
mov ecx, dword [ebp - 4]
add ecx, 0xdc
call fcn.100093d0
cmp eax, 8
jbe 0x100ceac8
push 0xf0
push 0xb4
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x10]
addss xmm0, dword [0x101c950c]
cvttss2si edx, xmm0
push edx
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0xc]
addss xmm0, dword [0x101c9300]
cvttss2si ecx, xmm0
push ecx
mov ecx, 0x101eb298
call fcn.1014e0b0
movzx edx, al
test edx, edx
je 0x100ceaa6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x34]
call fcn.100d38d0
fstp dword [ebp - 8]
cmp dword [0x879337c], 0
jg 0x100cea50
cmp dword [0x879337c], 0
jge 0x100cea4e
mov dword [0x879337c], 0
cvtss2sd xmm0, dword [ebp - 8]
addsd xmm0, qword [0x101c8dc8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 8], xmm0
cvtss2sd xmm0, dword [ebp - 8]
comisd xmm0, xmmword [0x101c8e90]
jbe 0x100cea38
movss xmm0, dword [0x101c8d34]
movss dword [ebp - 8], xmm0
push ecx
movss xmm0, dword [ebp - 8]
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x34]
call fcn.100d3940
jmp 0x100ceaa6
mov dword [0x879337c], 0
cvtss2sd xmm0, dword [ebp - 8]
subsd xmm0, qword [0x101c8dc8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 8], xmm0
cvtss2sd xmm0, dword [ebp - 8]
movsd xmm1, qword [0x101c8950]
comisd xmm1, xmm0
jbe 0x100cea90
movss xmm0, dword [0x101c8948]
movss dword [ebp - 8], xmm0
push ecx
movss xmm0, dword [ebp - 8]
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x34]
call fcn.100d3940
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x34]
call fcn.100d3970
movzx ecx, al
test ecx, ecx
je 0x100ceabd
jmp 0x100ceb6e
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x34]
call fcn.100d3990
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 4]
sub eax, dword [ecx + 0xec]
cmp eax, 0x3e8
jae 0x100ceae3
jmp 0x100ceb6e
mov edx, dword [ebp - 4]
add edx, 0xdc
mov dword [ebp - 0x10], edx
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.10012ef0
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.1000b5f0
jmp 0x100ceb11
lea ecx, [ebp - 0xc]
call fcn.1001c430
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ebp - 0xc]
call fcn.1000af00
movzx eax, al
test eax, eax
je 0x100ceb5f
lea ecx, [ebp - 0xc]
call fcn.10012d20
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x2c], 0
jle 0x100ceb5d
mov edx, dword [ebp - 0x14]
push edx
mov ecx, dword [ebp - 4]
add ecx, 0xdc
call fcn.1003c880
add eax, 0x28
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
sub ecx, 1
mov edx, dword [ebp - 0x18]
mov dword [edx], ecx
jmp 0x100ceb09
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xec], eax
mov esp, ebp
pop ebp
ret