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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
cmp dword [0x102df8e0], 0
je 0x1001128d
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x10885578]
cmp eax, 0x3d4
jbe 0x10010db6
call esi
mov dword [0x10885578], eax
mov ecx, 0x108753dc
cmp dword [ecx - 4], 0
je 0x10010d75
mov eax, dword [ecx]
cmp eax, 1
jle 0x10010d75
dec eax
mov dword [ecx], eax
cmp dword [ecx + 8], 0
je 0x10010d87
mov eax, dword [ecx + 0xc]
cmp eax, 1
jle 0x10010d87
dec eax
mov dword [ecx + 0xc], eax
cmp dword [ecx + 0x14], 0
je 0x10010d99
mov eax, dword [ecx + 0x18]
cmp eax, 1
jle 0x10010d99
dec eax
mov dword [ecx + 0x18], eax
cmp dword [ecx + 0x20], 0
je 0x10010dab
mov eax, dword [ecx + 0x24]
cmp eax, 1
jle 0x10010dab
dec eax
mov dword [ecx + 0x24], eax
add ecx, 0x30
cmp ecx, 0x1087555c
jl 0x10010d65
push edi
push 0x41
mov edi, 0x861110
call edi
mov esi, 0x85ec20
mov ecx, eax
call esi
test al, al
jne 0x1001128b
push 0x39
call edi
mov ecx, eax
call esi
test al, al
jne 0x1001128b
push 0x48
call edi
mov ecx, eax
call esi
test al, al
jne 0x1001128b
call fcn.1007cde0
test al, al
jne 0x1001128b
or esi, 0xffffffff
push ebx
mov dword [ebp - 0x24], esi
call edi
xor edx, edx
movsd xmm5, qword [0x10101670]
xor esi, esi
mov dword [ebp - 0x30], edx
xor ebx, ebx
mov dword [ebp - 0x18], esi
mov eax, dword [eax + 0xc8]
xorps xmm2, xmm2
movss dword [ebp - 0x2c], xmm2
mov edi, 0x108753d8
mov dword [ebp - 0x1c], edx
movd xmm6, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
add eax, 4
cvtdq2ps xmm6, xmm6
movd xmm7, eax
mov eax, dword [0x102df8ec]
cvtdq2ps xmm7, xmm7
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movss dword [ebp - 0x3c], xmm6
addsd xmm0, qword [eax*8 + 0x101026d0]
mov eax, dword [0x102df8e8]
movss dword [ebp - 0x40], xmm7
cvtpd2ps xmm4, xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x28], xmm0
movaps xmm3, xmm4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mulss xmm3, dword [0x1010160c]
addsd xmm0, qword [eax*8 + 0x101026d0]
mulss xmm4, dword [0x10101604]
movss dword [ebp - 4], xmm3
divsd xmm0, qword [0x10101b30]
movss dword [ebp - 8], xmm4
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x14], xmm0
jmp 0x10010ec3
mov esi, dword [ebp - 0x18]
mov ecx, dword [edi]
test ecx, ecx
je 0x1001121c
mov eax, dword [0x102df8f4]
push 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101026d0]
lea eax, [ecx - 1]
mov ecx, 0x50
cdq
idiv ecx
cvtpd2ps xmm2, xmm0
mov eax, 0x66666667
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm2
addss xmm2, xmm3
addss xmm1, xmm4
mulss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
cvtps2pd xmm1, xmm1
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [ebp - 0x10], xmm0
movd xmm0, esi
mov esi, edx
cvtdq2ps xmm0, xmm0
imul esi
mulss xmm2, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm7
sar edx, 2
mov ecx, edx
cvtps2pd xmm1, xmm2
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + ecx*4]
addsd xmm1, xmm0
add eax, eax
sub esi, eax
mov eax, 0x635fd0
cvtpd2ps xmm0, xmm1
movss dword [ebp - 0xc], xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x101019d0]
mulsd xmm0, xmm5
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x38], xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x101019f8]
mulsd xmm0, xmm5
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x34], xmm0
call eax
cvttss2si eax, dword [ebp - 4]
push eax
cvttss2si eax, dword [ebp - 8]
push eax
cvttss2si eax, dword [ebp - 0xc]
push eax
cvttss2si eax, dword [ebp - 0x10]
push eax
mov eax, 0x790b10
call eax
mov esi, dword [sym.imp.OPENGL32.dll_glColor4f]
add esp, 0x14
sub esp, 0x10
test al, al
je 0x1001103f
movss xmm1, dword [ebp - 8]
movss xmm0, dword [ebp - 0x10]
cvtps2pd xmm1, xmm1
mov eax, dword [edi]
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x1c]
cvtps2pd xmm0, xmm0
mov dword [esp + 4], 0x3f800000
mov dword [ebp - 0x30], eax
mov dword [esp], 0x3f800000
mulsd xmm1, qword [0x10101868]
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0xc]
addss xmm0, dword [ebp - 4]
movss dword [ebp - 0x20], xmm0
addss xmm0, dword [0x10101e4c]
movss dword [ebp - 0x28], xmm0
call esi
jmp 0x10011072
movss xmm0, dword [ebp - 0x14]
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call esi
movss xmm0, dword [ebp - 0xc]
addss xmm0, dword [ebp - 4]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x34]
mov eax, 0x66666667
push ecx
mov ecx, dword [edi]
mov dword [esp], 0
dec ecx
push 1
push 1
sub esp, 0x20
imul ecx
mov dword [esp + 0x1c], 0x3de00000
mov dword [esp + 0x18], 0x3da00000
movss dword [esp + 0x14], xmm0
movss xmm0, dword [ebp - 0x38]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [ebp - 4]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ebp - 8]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0xc]
sar edx, 5
mov eax, edx
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x10]
add edx, 0x7bed
shr eax, 0x1f
add eax, edx
movss dword [esp], xmm0
push eax
mov eax, 0x637c60
call eax
add esp, 0x30
cmp dword [0x102df8e4], 1
jne 0x100111da
cmp dword [edi], 0x1c
je 0x100111da
mov ecx, dword [edi + 8]
mov esi, 0x64
test ecx, ecx
jle 0x10011128
mov eax, dword [edi + 4]
test eax, eax
jle 0x10011128
imul eax, eax, 0x64
cdq
idiv ecx
mov esi, eax
push 1
mov eax, 0x635fd0
call eax
movss xmm0, dword [ebp - 0x14]
movss dword [esp], xmm0
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0
call dword [sym.imp.OPENGL32.dll_glColor4f]
movd xmm0, esi
mov eax, 0x6378a0
cvtdq2ps xmm0, xmm0
push 0
sub esp, 0x14
mulss xmm0, dword [ebp - 8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x40000000
divss xmm0, dword [0x10101fac]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x20]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x10]
movss dword [esp], xmm0
call eax
mov eax, 0x635f50
call eax
movss xmm0, dword [ebp - 0x14]
add esp, 8
mov esi, dword [sym.imp.OPENGL32.dll_glColor4f]
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call esi
inc ebx
cmp ebx, dword [0x102df8f0]
jl 0x100111e8
xor ebx, ebx
inc dword [ebp - 0x18]
mov eax, 0x635f50
call eax
push 0
mov eax, 0x635fd0
call eax
movss xmm3, dword [ebp - 4]
add esp, 4
movss xmm4, dword [ebp - 8]
movsd xmm5, qword [0x10101670]
movss xmm6, dword [ebp - 0x3c]
movss xmm7, dword [ebp - 0x40]
mov edx, dword [ebp - 0x1c]
jmp 0x10011222
mov esi, dword [sym.imp.OPENGL32.dll_glColor4f]
inc edx
add edi, 0xc
mov dword [ebp - 0x1c], edx
cmp edi, 0x10875558
jl 0x10010ec0
sub esp, 0x10
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call esi
mov esi, dword [ebp - 0x24]
cmp esi, 0xffffffff
je 0x1001128a
push 1
mov ebx, 0x635fd0
call ebx
movss xmm3, dword [ebp - 0x28]
mov ecx, esi
movss xmm2, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
call fcn.10010810
lea eax, [ebx - 0x80]
call eax
push 0
call ebx
add esp, 8
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret