Function at 0x1006aa90
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, 0x48
push esi
push edi
mov edi, dword [0x1018252c]
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov ecx, eax
sub esi, edi
sub ecx, edi
cmp eax, edi
cmovae ecx, esi
cmp ecx, 0x1e
jae 0x1006aadd
mov eax, 0xfffffffe
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, dword [ebp - 4]
mov dword [0x1018252c], eax
mov eax, dword [ebp - 0xc]
shl edi, 5
mov dword [ebp - 0x1c], edi
lea esi, [eax + eax*2]
shl esi, 3
mov dword [ebp - 0x14], esi
test edi, edi
jne 0x1006ab09
test esi, esi
je 0x1006acce
call dword [0x10121618]
mov ecx, dword [0x66be34]
lea eax, [ebp - 8]
lea edx, [ebp - 0x10]
push eax
call fcn.10017910
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
add edx, 8
add ecx, 0x10
add edx, esi
add ecx, edi
mov dword [ebp - 8], edx
push 0
call fcn.10072f70
mov edx, eax
mov dword [ebp - 0x18], edx
cmp edx, 0xffffffff
je 0x1006acce
xor edx, edx
cmp byte [0x1015eecb], dl
je 0x1006ab80
mov eax, dword [ebp - 4]
test eax, eax
je 0x1006ab67
mov edx, 0x800
mov ecx, 0x400
cmovg edx, ecx
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x1006ab80
mov eax, 0x200
mov dword [ebp - 0x10], 0x100
cmovg eax, dword [ebp - 0x10]
or edx, eax
mov ecx, dword [ebp - 0x18]
call fcn.1006af00
cmp eax, 0xffffffff
je 0x1006acce
mov eax, 0x631d38
movups xmm0, xmmword [eax]
mov eax, dword [0x1013cf04]
mov dword [ebp - 4], eax
movaps xmmword [ebp - 0x30], xmm0
movaps xmmword [ebp - 0x40], xmm0
mov edx, dword [0x66be14]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
test edi, edi
je 0x1006abbf
add eax, 0xffffffe0
mov dword [ebp - 0x10], eax
test esi, esi
je 0x1006abc9
sub edx, 0x18
mov dword [ebp - 0xc], edx
test edi, edi
js 0x1006abd7
mov eax, dword [ebp - 0x28]
sub eax, edi
mov dword [ebp - 0x40], eax
jmp 0x1006abdf
mov eax, dword [ebp - 0x30]
sub eax, edi
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x14]
mov esi, dword [0x631d50]
test ecx, ecx
js 0x1006ac02
mov eax, dword [ebp - 0x24]
sub eax, ecx
imul ecx, dword [ebp - 4]
mov dword [ebp - 0x2c], eax
add ecx, esi
test edi, edi
jns 0x1006ac30
sub esi, edi
jmp 0x1006ac30
mov eax, dword [ebp - 0x2c]
sub eax, ecx
lea ecx, [edx - 1]
imul ecx, dword [ebp - 4]
mov dword [ebp - 0x24], eax
mov eax, dword [0x66be14]
dec eax
imul eax, dword [ebp - 4]
add ecx, esi
add esi, eax
mov eax, dword [ebp - 4]
neg eax
mov dword [ebp - 4], eax
mov eax, esi
sub eax, edi
test edi, edi
cmovs esi, eax
test edi, edi
lea eax, [ecx + edi]
cmovs eax, ecx
test edx, edx
jle 0x1006ac61
mov edi, dword [ebp - 0xc]
sub eax, esi
mov dword [ebp - 0x18], eax
push dword [ebp - 0x10]
add eax, esi
push eax
push esi
call fcn.100ebbd0
add esi, dword [ebp - 4]
add esp, 0xc
mov eax, dword [ebp - 0x18]
sub edi, 1
jne 0x1006ac44
mov edi, dword [ebp - 0x1c]
test edi, edi
je 0x1006ac6d
lea ecx, [ebp - 0x40]
call fcn.1006aa70
cmp dword [ebp - 0x14], 0
je 0x1006ac7b
lea ecx, [ebp - 0x30]
call fcn.1006aa70
mov eax, dword [0x631e4c]
cmp eax, 0xffffffff
je 0x1006acc3
test eax, eax
js 0x1006ac8e
cmp eax, 0x32
jl 0x1006ac8f
int3
mov eax, dword [eax*4 + 0x6add90]
cmp eax, 0xffffffff
je 0x1006acc3
test eax, eax
js 0x1006aca4
cmp eax, 0x32
jl 0x1006aca5
int3
mov ecx, dword [eax*4 + 0x6ade58]
test ecx, ecx
je 0x1006acc3
cmp dword [0x51e3e0], 0
je 0x1006acc3
push 0
lea edx, [ecx + 8]
call fcn.100416b0
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
pop edi
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret