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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
cmp dword [0x102df728], 0
push esi
mov esi, ecx
je 0x100788ea
cmp byte [ebp + 8], 1
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jne 0x10078560
call edi
add eax, 0x5dc
mov dword [esi + 0x11c8], eax
call edi
cmp dword [0x102bb938], eax
jbe 0x100788e9
mov eax, dword [0x102df728]
lea edi, [esi + 0x11b8]
movss xmm4, dword [0x10101e54]
mov ecx, 0x790b50
push ebx
lea ebx, [esi + 0x11bc]
cmp eax, 1
jne 0x10078633
movss xmm2, dword [esi + 0x11b0]
lea eax, [esi + 0x11b0]
movss xmm1, dword [esi + 0x11b4]
movaps xmm0, xmm2
addss xmm0, xmm4
mov dword [ebp - 0x10], eax
lea eax, [esi + 0x11c0]
mov dword [edi], 0x41200000
mov dword [ebp - 0xc], eax
sub esp, 0x10
mov dword [ebx], 0x41200000
movss dword [eax], xmm0
lea eax, [esi + 0x11b4]
movaps xmm0, xmm1
mov dword [ebp + 8], eax
addss xmm0, xmm4
movss dword [esp + 0xc], xmm1
lea eax, [esi + 0x11c4]
movss dword [esp + 8], xmm2
mov dword [ebp - 4], eax
mov dword [esp + 4], 0x41200000
mov dword [esp], 0x41200000
push dword [esi + 0x11ac]
movss dword [eax], xmm0
lea eax, [esi + 0x11ac]
mov dword [ebp - 8], eax
call ecx
mov eax, dword [0x102df728]
lea ecx, [esi + 0x11b0]
movss xmm4, dword [0x10101e54]
add esp, 0x14
jmp 0x10078660
lea edx, [esi + 0x11c0]
mov dword [ebp - 0xc], edx
lea ecx, [esi + 0x11b0]
lea edx, [esi + 0x11b4]
mov dword [ebp - 0x10], ecx
mov dword [ebp + 8], edx
lea edx, [esi + 0x11c4]
mov dword [ebp - 4], edx
lea edx, [esi + 0x11ac]
mov dword [ebp - 8], edx
lea edx, [esi + 0x11c0]
cmp eax, 2
jne 0x100786dd
mov eax, dword [0x1010ac74]
sub esp, 0x10
movss xmm2, dword [ecx]
add eax, 0xffffff60
movss xmm1, dword [esi + 0x11b4]
movaps xmm0, xmm2
mov dword [ebx], 0x41200000
movss dword [esp + 0xc], xmm1
movd xmm3, eax
mov eax, 0x790b50
cvtdq2ps xmm3, xmm3
movss dword [esp + 8], xmm2
addss xmm0, xmm3
mov dword [esp + 4], 0x41200000
movss dword [esp], xmm3
push dword [esi + 0x11ac]
movss dword [edi], xmm3
movss dword [edx], xmm0
movaps xmm0, xmm1
addss xmm0, xmm4
movss dword [esi + 0x11c4], xmm0
call eax
mov eax, dword [0x102df728]
add esp, 0x14
movss xmm4, dword [0x10102220]
lea edx, [esi + 0x11c0]
mov dword [ebp - 0x20], edx
lea ecx, [esi + 0x11b0]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 4]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 8]
mov dword [ebp - 0x2c], edx
lea edx, [esi + 0x11c0]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], ecx
cmp eax, 3
jne 0x100787d4
movss xmm2, dword [ecx]
sub esp, 0x10
movss xmm1, dword [esi + 0x11b4]
movaps xmm0, xmm2
addss xmm0, dword [0x10101e54]
mov eax, 0x790b50
mov dword [edi], 0x41200000
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x43a80000
movss dword [edx], xmm0
movaps xmm0, xmm1
addss xmm0, xmm4
mov dword [esp], 0x41200000
push dword [esi + 0x11ac]
mov dword [ebx], 0x43a80000
movss dword [esi + 0x11c4], xmm0
call eax
movss xmm4, dword [0x10102220]
lea eax, [esi + 0x11b8]
mov ecx, dword [ebp - 0x10]
add esp, 0x14
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
lea eax, [esi + 0x11bc]
mov dword [ebp - 0x18], eax
lea eax, [esi + 0x11b0]
mov dword [ebp - 0x1c], eax
lea eax, [esi + 0x11c0]
mov dword [ebp - 0x20], eax
lea eax, [esi + 0x11b4]
mov dword [ebp - 0x24], eax
lea eax, [esi + 0x11c4]
mov dword [ebp - 0x28], eax
lea eax, [esi + 0x11ac]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x102df728]
cmp eax, 4
jne 0x1007886f
mov eax, dword [0x1010ac74]
sub esp, 0x10
movss xmm2, dword [ecx]
add eax, 0xffffff60
movss xmm1, dword [esi + 0x11b4]
movaps xmm0, xmm2
mov dword [ebx], 0x43a80000
movss dword [esp + 0xc], xmm1
movd xmm3, eax
mov eax, 0x790b50
cvtdq2ps xmm3, xmm3
movss dword [esp + 8], xmm2
addss xmm0, xmm3
mov dword [esp + 4], 0x43a80000
movss dword [esp], xmm3
push dword [esi + 0x11ac]
movss dword [edi], xmm3
movss dword [edx], xmm0
movaps xmm0, xmm1
addss xmm0, xmm4
movss dword [esi + 0x11c4], xmm0
call eax
mov eax, dword [ebp - 0x24]
add esp, 0x14
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], eax
mov eax, dword [0x102df728]
jmp 0x10078872
mov esi, dword [ebp - 0xc]
cmp eax, 5
jne 0x100788e8
mov eax, dword [0x1010ac74]
sub esp, 0x10
movss xmm2, dword [ecx]
cdq
movaps xmm0, xmm2
sub eax, edx
mov dword [ebx], 0x43370000
sar eax, 1
sub eax, 0x4b
movd xmm3, eax
mov eax, dword [ebp + 8]
cvtdq2ps xmm3, xmm3
movss xmm1, dword [eax]
mov eax, dword [ebp - 4]
addss xmm0, xmm3
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
mov dword [esp + 4], 0x43370000
movss dword [esp], xmm3
movss dword [esi], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x101020c4]
movss dword [edi], xmm3
movss dword [eax], xmm0
mov eax, dword [ebp - 8]
push dword [eax]
mov eax, 0x790b50
call eax
add esp, 0x14
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4