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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x14c
mov eax, dword [0x1003e280]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov dword [ebp - 0x10c], ecx
mov byte [ebp - 0xd9], 0
lea ecx, [ebp - 0xd8]
call fcn.10002510
lea ecx, [ebp - 0x80]
call fcn.100022d0
mov eax, 4
shl eax, 4
movss xmm0, dword [eax + 0x10040080]
ucomiss xmm0, dword [0x10038400]
lahf
test ah, 0x44
jnp 0x10006371
mov ecx, dword [ebx + 0x54]
and ecx, 0xff
add ecx, 1
push ecx
mov ecx, 0x1003e7e4
call fcn.10011ba0
mov ecx, dword [ebx + 0x4c]
call fcn.10003140
push ecx
fstp dword [esp]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, 0x1003e7e4
call fcn.10011a80
fstp dword [ebp - 0xe4]
push ecx
movss xmm0, dword [0x10038450]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, 0x1003e7e4
call fcn.10011a80
fstp dword [ebp - 0xe0]
mov ecx, dword [ebx + 0x4c]
call fcn.10003d70
push ecx
fstp dword [esp]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, 0x1003e7e4
call fcn.10011a80
fstp dword [ebp - 0xec]
push ecx
movss xmm0, dword [0x10038450]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, 0x1003e7e4
call fcn.10011a80
fstp dword [ebp - 0xe8]
lea ecx, [ebp - 0x10]
call fcn.100021f0
push ecx
movss xmm0, dword [ebp - 0xe0]
movss dword [esp], xmm0
call fcn.10007b50
add esp, 4
fstp dword [ebp - 0xf0]
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0xe4]
push ecx
movss xmm1, dword [ebp - 0xe8]
movss dword [esp], xmm1
movss dword [ebp - 0xf8], xmm0
call fcn.10007b50
add esp, 4
fstp dword [ebp - 0xf4]
movss xmm0, dword [ebp - 0xf4]
mulss xmm0, dword [ebp - 0xec]
movss xmm1, dword [ebp - 0xf8]
addss xmm1, xmm0
movss dword [ebp - 0x10], xmm1
push ecx
movss xmm0, dword [ebp - 0xe0]
movss dword [esp], xmm0
call fcn.10007d40
add esp, 4
fstp dword [ebp - 0xfc]
movss xmm0, dword [ebp - 0xfc]
mulss xmm0, dword [ebp - 0xe4]
push ecx
movss xmm1, dword [ebp - 0xe8]
movss dword [esp], xmm1
movss dword [ebp - 0x104], xmm0
call fcn.10007d40
add esp, 4
fstp dword [ebp - 0x100]
movss xmm0, dword [ebp - 0x100]
mulss xmm0, dword [ebp - 0xec]
movss xmm1, dword [ebp - 0x104]
addss xmm1, xmm0
movss dword [ebp - 0xc], xmm1
movss xmm0, dword [ebp - 0x10]
mulss xmm0, dword [ebx + 0x2c]
addss xmm0, dword [ebx + 0x20]
movss xmm1, dword [ebp - 0xc]
mulss xmm1, dword [ebx + 0x38]
addss xmm0, xmm1
movss dword [ebx + 0x20], xmm0
movss xmm0, dword [ebp - 0x10]
mulss xmm0, dword [ebx + 0x30]
addss xmm0, dword [ebx + 0x24]
movss xmm1, dword [ebp - 0xc]
mulss xmm1, dword [ebx + 0x3c]
addss xmm0, xmm1
movss dword [ebx + 0x24], xmm0
movss xmm0, dword [ebp - 0x10]
mulss xmm0, dword [ebx + 0x34]
addss xmm0, dword [ebx + 0x28]
movss xmm1, dword [ebp - 0xc]
mulss xmm1, dword [ebx + 0x40]
addss xmm0, xmm1
movss dword [ebx + 0x28], xmm0
lea ecx, [ebx + 0x20]
call fcn.10006bd0
lea edx, [ebx + 0x14]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebx + 0x20]
mov dword [eax], ecx
mov edx, dword [ebx + 0x24]
mov dword [eax + 4], edx
mov ecx, dword [ebx + 0x28]
mov dword [eax + 8], ecx
mov ecx, 0x1003e7e4
call fcn.100123d0
push ecx
movss xmm0, dword [ebx + 0x14]
movss dword [esp], xmm0
mov ecx, 0x1003e7e4
call fcn.10010a80
fstp dword [ebx + 0x14]
push ecx
movss xmm0, dword [ebx + 0x18]
movss dword [esp], xmm0
mov ecx, 0x1003e7e4
call fcn.10010a80
fstp dword [ebx + 0x18]
lea edx, [ebp - 0x11c]
push edx
mov ecx, dword [ebx + 0x50]
call fcn.10003c50
mov dword [ebp - 0x108], eax
push ecx
movss xmm0, dword [0x10038444]
movss dword [esp], xmm0
lea eax, [ebp - 0x128]
push eax
mov ecx, dword [ebp - 0x108]
call fcn.10002930
push eax
lea ecx, [ebx + 0x14]
call fcn.10002b00
lea ecx, [ebp - 0x1c]
call fcn.100021f0
lea ecx, [ebp - 0x1c]
push ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebx + 0x14]
mov dword [edx], eax
mov ecx, dword [ebx + 0x18]
mov dword [edx + 4], ecx
mov eax, dword [ebx + 0x1c]
mov dword [edx + 8], eax
mov ecx, 0x1003e7e4
call fcn.10012260
push ecx
movss xmm0, dword [ebx + 0x44]
movss dword [esp], xmm0
lea ecx, [ebp - 0x134]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.10002930
push eax
lea edx, [ebp - 0x140]
push edx
lea ecx, [ebx + 8]
call fcn.10002a30
push eax
lea ecx, [ebp - 0x1c]
call fcn.100028d0
push 8
lea ecx, [ebp - 0x24]
call fcn.10007510
mov eax, dword [ebx + 0x50]
push eax
lea ecx, [ebp - 0x24]
call fcn.10002280
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebx + 8]
push edx
lea ecx, [ebp - 0x80]
call fcn.10004600
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x24]
push ecx
push 0x46004003
lea edx, [ebp - 0x80]
push edx
mov ecx, dword [0x1004159c]
call fcn.10006e20
mov byte [ebp - 0xda], 0
mov eax, dword [0x100432cc]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x1003e574]
cmp eax, dword [edx + 4]
jle 0x10006466
push 0x1003e574
call fcn.100331ba
add esp, 4
cmp dword [0x1003e574], 0xffffffff
jne 0x10006466
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1003e570], eax
push 0x1003e574
call fcn.10033169
add esp, 4
cmp dword [ebp - 0x8c], 0
je 0x10006612
mov ecx, dword [ebp - 0x8c]
call fcn.10004730
movzx ecx, al
test ecx, ecx
je 0x10006612
mov ecx, dword [ebp - 0x8c]
call fcn.10003660
mov edx, dword [ebp - 0x10c]
movss xmm0, dword [edx + eax*4 + 0x618]
ucomiss xmm0, dword [0x10038400]
lahf
test ah, 0x44
jp 0x10006612
mov eax, 4
imul ecx, eax, 0x13
movss xmm0, dword [ecx + 0x10040080]
ucomiss xmm0, dword [0x10038400]
lahf
test ah, 0x44
jp 0x100064e1
mov ecx, dword [ebp - 0x8c]
call fcn.10003e00
cmp eax, dword [ebx + 0x48]
jne 0x10006502
mov edx, 4
imul eax, edx, 0x13
movss xmm0, dword [eax + 0x10040080]
ucomiss xmm0, dword [0x10038400]
lahf
test ah, 0x44
jnp 0x10006612
mov ecx, 4
imul edx, ecx, 0x12
movss xmm0, dword [edx + 0x10040080]
ucomiss xmm0, dword [0x10038400]
lahf
test ah, 0x44
jnp 0x10006528
cmp dword [ebp - 0x94], 1
je 0x10006549
mov eax, 4
imul ecx, eax, 0x12
movss xmm0, dword [ecx + 0x10040080]
ucomiss xmm0, dword [0x10038400]
lahf
test ah, 0x44
jp 0x10006612
mov edx, 4
imul eax, edx, 0x2d
movss xmm0, dword [eax + 0x10040080]
ucomiss xmm0, dword [0x10038400]
lahf
test ah, 0x44
jnp 0x1000658a
cmp dword [ebp - 0x94], 4
je 0x1000658a
cmp dword [ebp - 0x94], 5
je 0x1000658a
cmp dword [ebp - 0x94], 6
je 0x1000658a
cmp dword [ebp - 0x94], 7
jne 0x100065a7
mov ecx, 4
imul edx, ecx, 0x2d
movss xmm0, dword [edx + 0x10040080]
ucomiss xmm0, dword [0x10038400]
lahf
test ah, 0x44
jp 0x10006612
mov eax, 4
imul ecx, eax, 0x2c
movss xmm0, dword [ecx + 0x10040080]
ucomiss xmm0, dword [0x10038400]
lahf
test ah, 0x44
jnp 0x100065d6
mov ecx, dword [ebp - 0x8c]
call fcn.10004980
movzx edx, al
test edx, edx
je 0x100065f3
mov eax, 4
imul ecx, eax, 0x2c
movss xmm0, dword [ecx + 0x10040080]
ucomiss xmm0, dword [0x10038400]
lahf
test ah, 0x44
jp 0x10006612
mov byte [ebp - 0xd9], 1
mov dword [0x1003e570], 0
mov byte [0x1003e56c], 1
mov byte [ebp - 0xda], 1
movzx edx, byte [ebp - 0xda]
test edx, edx
jne 0x10006677
movzx eax, byte [0x1003e56c]
test eax, eax
je 0x10006677
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
push ecx
movss xmm0, dword [0x10038480]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x1003847c]
movss dword [esp], xmm0
mov ecx, 0x1003e7e4
call fcn.10011a80
fstp dword [ebp - 0x110]
movss xmm0, dword [ebp - 0x110]
cvttss2si ecx, xmm0
add esi, ecx
mov dword [0x1003e570], esi
mov byte [0x1003e56c], 0
mov edx, 4
imul eax, edx, 0x11
movss xmm0, dword [eax + 0x10040080]
ucomiss xmm0, dword [0x10038400]
lahf
test ah, 0x44
jnp 0x100066a9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x1003e570], eax
jbe 0x100066a9
mov byte [ebp - 0xd9], 1
movzx eax, byte [ebp - 0xd9]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003321e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x50