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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
cmp byte [0x101f2cd5], 0
je 0x10069922
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov ecx, dword [0x10329980]
mov esi, eax
movss xmm0, dword [0x101f2e00]
mov ebx, dword [ebp + 8]
mov dword [ebp - 4], esi
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100696bc
comiss xmm1, dword [0x101f2e08]
ja 0x100696bc
movd xmm1, dword [0x10329988]
movss xmm0, dword [0x101f2e04]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100696bc
comiss xmm1, dword [0x101f2e0c]
ja 0x100696bc
cmp ebx, 0x201
jne 0x10069692
pop edi
pop esi
mov byte [0x101f2e14], 1
pop ebx
mov esp, ebp
pop ebp
ret 4
sub eax, dword [0x101f2e10]
mov byte [0x101f2e14], 0
cmp eax, 0x1f4
jb 0x1006991f
call edi
mov dword [0x101f2e10], eax
call fcn.100695e0
mov ecx, dword [0x10329980]
movss xmm0, dword [0x101f2bc0]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x10069748
comiss xmm1, dword [0x101f2bc8]
ja 0x10069748
movd xmm1, dword [0x10329988]
movss xmm0, dword [0x101f2bc4]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x10069748
comiss xmm1, dword [0x101f2bcc]
ja 0x10069748
mov eax, dword [0x105aa364]
inc eax
cmp eax, 1
jle 0x10069748
cmp ebx, 0x201
jne 0x1006971d
pop edi
pop esi
mov byte [0x101f2bd4], 1
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, esi
mov byte [0x101f2bd4], 0
sub eax, dword [0x101f2bd0]
cmp eax, 0x64
jb 0x1006991f
call edi
dec dword [0x105aa364]
mov ecx, dword [0x10329980]
mov dword [0x101f2bd0], eax
movss xmm0, dword [0x101f2c00]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100697c5
comiss xmm1, dword [0x101f2c08]
ja 0x100697c5
movd xmm1, dword [0x10329988]
movss xmm0, dword [0x101f2c04]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100697c5
comiss xmm1, dword [0x101f2c0c]
ja 0x100697c5
mov eax, dword [0x105aa364]
inc eax
cmp eax, dword [0x105aa368]
jge 0x100697c5
cmp ebx, 0x201
je 0x10069918
mov eax, esi
mov byte [0x101f2c14], 0
sub eax, dword [0x101f2c10]
cmp eax, 0x64
jb 0x1006991f
call edi
inc dword [0x105aa364]
mov dword [0x101f2c10], eax
xor esi, esi
cmp dword [0x105aa360], esi
jle 0x1006991f
mov eax, 0x879340c
mov eax, dword [eax]
sub eax, 0x198
cmp eax, 0x10
ja 0x1006990a
movss xmm0, dword [0x101f2cc4]
lea eax, [esi + esi*4]
addss xmm0, dword [0x10198314]
shl eax, 2
mov ecx, dword [0x8793410]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
cvttss2si eax, xmm1
movzx eax, ax
cmp ecx, eax
jl 0x1006990a
addss xmm1, dword [0x101981c8]
cvttss2si eax, xmm1
movzx eax, ax
cmp ecx, eax
jg 0x1006990a
cmp ebx, 0x201
je 0x10069918
mov eax, dword [ebp - 4]
sub eax, dword [0x101f2c10]
mov byte [0x101f2c14], 0
cmp eax, 0x64
jb 0x1006991f
mov eax, dword [0x105aa364]
lea eax, [eax + eax*4]
lea eax, [esi + eax*2]
imul eax, eax, 0x34
cmp byte [eax + 0x105a8f40], 0
je 0x1006991f
call edi
mov dword [0x101f2c10], eax
mov eax, dword [0x105aa364]
lea eax, [eax + eax*4]
lea edi, [esi + eax*2]
imul eax, edi, 0x34
cmp byte [eax + 0x105a8f3b], 0
je 0x100698af
call fcn.100695e0
mov eax, dword [0x105aa364]
lea eax, [eax + eax*4]
lea eax, [esi + eax*2]
mov dword [0x105aa36c], eax
call fcn.10069d90
jmp 0x10069904
push edi
mov ecx, 0x105a8f10
call fcn.10069e40
mov ecx, eax
test ecx, ecx
je 0x10069904
mov dword [0x105aa36c], edi
mov dl, 0x24
movq xmm0, qword [ecx + 4]
mov ax, word [ecx + 0xc]
movq qword [ebp - 0x24], xmm0
xorps xmm0, xmm0
mov word [ebp - 0x1c], ax
mov al, byte [ecx + 0xe]
lea ecx, [ebp - 0x28]
movzx edx, dl
mov dword [ebp - 0x28], 0x5ff24c1
mov byte [ebp - 0x1a], al
movups xmmword [ebp - 0x19], xmm0
mov dword [ebp - 9], 0
mov byte [ebp - 5], 0
call fcn.100c57d0
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
inc esi
cmp esi, dword [0x105aa360]
jge 0x1006991f
jmp 0x100697d3
mov byte [0x101f2c14], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4