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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x100fa040]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x102a6bfd], 0
je 0x100acab9
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
call ebx
movd xmm1, dword [0x879340c]
mov edi, eax
movss xmm0, dword [0x102a7308]
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0x34], edi
comiss xmm0, xmm1
ja 0x100ac295
comiss xmm1, dword [0x102a7310]
ja 0x100ac295
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102a730c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac295
comiss xmm1, dword [0x102a7314]
mov byte [0x102a731e], 1
jbe 0x100ac29c
mov byte [0x102a731e], 0
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102a6dc8]
cvtdq2ps xmm1, xmm1
push esi
mov esi, dword [ebp + 8]
comiss xmm0, xmm1
ja 0x100ac358
comiss xmm1, dword [0x102a6dd0]
ja 0x100ac358
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102a6dcc]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac358
comiss xmm1, dword [0x102a6dd4]
ja 0x100ac358
cmp esi, 0x201
jne 0x100ac30c
pop esi
pop edi
mov byte [0x102a6ddc], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0b64
mov esp, ebp
pop ebp
ret 4
sub eax, dword [0x102a6dd8]
mov byte [0x102a6ddc], 0
cmp eax, 0x1f4
jb 0x100acab6
call ebx
cmp byte [0x102a6bfd], 1
mov dword [0x102a6dd8], eax
jne 0x100ac347
mov byte [0x102a6bfd], 0
mov dword [0xe8cb3c], 0
jmp 0x100ac358
mov byte [0x102a6bfd], 1
mov dword [0xe8cb3c], 1
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102a6e28]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac4eb
comiss xmm1, dword [0x102a6e30]
ja 0x100ac4eb
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102a6e2c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac4eb
comiss xmm1, dword [0x102a6e34]
ja 0x100ac4eb
cmp esi, 0x201
jne 0x100ac3cc
pop esi
pop edi
mov byte [0x102a6e3c], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0b64
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102a6e3c], 0
sub eax, dword [0x102a6e38]
cmp eax, 0x1f4
jb 0x100acab6
call ebx
mov dl, byte [0x102c6f60]
mov ecx, 7
xor dl, 1
mov dword [0x102a6e38], eax
cmp dword [0x102c719c], 3
mov byte [0x102c6f60], dl
jne 0x100ac411
mov ecx, 6
jmp 0x100ac440
cmp dword [0x102c719c], 2
jne 0x100ac421
mov ecx, 5
jmp 0x100ac440
cmp dword [0x102c719c], 1
jne 0x100ac431
mov ecx, 4
jmp 0x100ac440
cmp dword [0x102c719c], 4
mov eax, 3
cmove ecx, eax
xor eax, eax
cmp dl, 1
jne 0x100ac499
cmp eax, 6
ja case.default.0x100ac49e
jmp dword [eax*4 + 0x100acacc]
mov byte [0x102c6f64], 1
jmp case.default.0x100ac49e
mov byte [0x102c6f65], 1
jmp case.default.0x100ac49e
mov byte [0x102c6f66], 1
jmp case.default.0x100ac49e
mov byte [0x102c6f67], 1
jmp case.default.0x100ac49e
mov byte [0x102c6f68], 1
jmp case.default.0x100ac49e
mov byte [0x102c6f69], 1
jmp case.default.0x100ac49e
mov byte [0x102c6f6a], 1
jmp case.default.0x100ac49e
cmp eax, 6
ja case.default.0x100ac49e
jmp dword [eax*4 + 0x100acae8]
mov byte [0x102c6f64], 0
jmp case.default.0x100ac49e
mov byte [0x102c6f65], 0
jmp case.default.0x100ac49e
mov byte [0x102c6f66], 0
jmp case.default.0x100ac49e
mov byte [0x102c6f67], 0
jmp case.default.0x100ac49e
mov byte [0x102c6f68], 0
jmp case.default.0x100ac49e
mov byte [0x102c6f69], 0
jmp case.default.0x100ac49e
mov byte [0x102c6f6a], 0
inc eax
cmp eax, ecx
jl 0x100ac442
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102a6e88]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac577
comiss xmm1, dword [0x102a6e90]
ja 0x100ac577
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102a6e8c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac577
comiss xmm1, dword [0x102a6e94]
ja 0x100ac577
cmp esi, 0x201
jne 0x100ac54f
pop esi
pop edi
mov byte [0x102a6e9c], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0b64
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102a6e9c], 0
sub eax, dword [0x102a6e98]
cmp eax, 0x1f4
jb 0x100acab6
call ebx
xor byte [0x102c6f61], 1
mov dword [0x102a6e98], eax
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102a6ee8]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac603
comiss xmm1, dword [0x102a6ef0]
ja 0x100ac603
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102a6eec]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac603
comiss xmm1, dword [0x102a6ef4]
ja 0x100ac603
cmp esi, 0x201
jne 0x100ac5db
pop esi
pop edi
mov byte [0x102a6efc], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0b64
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102a6efc], 0
sub eax, dword [0x102a6ef8]
cmp eax, 0x1f4
jb 0x100acab6
call ebx
xor byte [0x102c6f62], 1
mov dword [0x102a6ef8], eax
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102a6f48]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac76d
comiss xmm1, dword [0x102a6f50]
ja 0x100ac76d
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102a6f4c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac76d
comiss xmm1, dword [0x102a6f54]
ja 0x100ac76d
cmp esi, 0x201
jne 0x100ac677
pop esi
pop edi
mov byte [0x102a6f5c], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0b64
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102a6f5c], 0
sub eax, dword [0x102a6f58]
cmp eax, 0x1f4
jb 0x100acab6
call ebx
mov cl, byte [0x102c6f63]
xor cl, 1
mov dword [0x102a6f58], eax
mov byte [0x102c6f63], cl
xor eax, eax
nop dword [eax]
test cl, cl
jne 0x100ac700
cmp eax, 6
ja case.default.0x100ac705
jmp dword [eax*4 + 0x100acb04]
mov byte [0x102c6f64], 1
inc eax
jmp 0x100ac6b0
mov byte [0x102c6f65], 1
inc eax
jmp 0x100ac6b0
mov byte [0x102c6f66], 1
inc eax
jmp 0x100ac6b0
mov byte [0x102c6f67], 1
inc eax
jmp 0x100ac6b0
mov byte [0x102c6f68], 1
inc eax
jmp 0x100ac6b0
mov byte [0x102c6f69], 1
inc eax
jmp 0x100ac6b0
cmp eax, 6
ja case.default.0x100ac705
jmp dword [eax*4 + 0x100acb20]
mov byte [0x102c6f64], 0
inc eax
jmp 0x100ac6b0
mov byte [0x102c6f65], 0
inc eax
jmp 0x100ac6b0
mov byte [0x102c6f66], 0
inc eax
jmp 0x100ac6b0
mov byte [0x102c6f67], 0
inc eax
jmp 0x100ac6b0
mov byte [0x102c6f68], 0
inc eax
jmp 0x100ac6b0
mov byte [0x102c6f69], 0
inc eax
jmp 0x100ac6b0
inc eax
cmp eax, 7
jl 0x100ac6b0
jmp 0x100ac76d
mov byte [0x102c6f6a], 1
jmp 0x100ac76d
mov byte [0x102c6f6a], 0
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102a7368]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac952
comiss xmm1, dword [0x102a7370]
ja 0x100ac952
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102a736c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac952
comiss xmm1, dword [0x102a7374]
ja 0x100ac952
cmp esi, 0x201
jne 0x100ac7e1
pop esi
pop edi
mov byte [0x102a737c], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0b64
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102a737c], 0
sub eax, dword [0x102a7378]
cmp eax, 0x1f4
jb 0x100acab6
call ebx
push 0x2b
mov dword [0x102a7378], eax
lea eax, [ebp - 0x2f]
push 0
push eax
call fcn.100c2d20
movzx eax, byte [0x102c6f60]
add esp, 0xc
mov byte [ebp - 0x2c], al
movzx eax, byte [0x102c6f61]
mov byte [ebp - 0x2b], al
movzx eax, byte [0x102c6f62]
mov byte [ebp - 0x2a], al
movzx eax, byte [0x102c6f63]
mov byte [ebp - 0x29], al
movzx eax, byte [0x102c6f64]
mov byte [ebp - 0x28], al
movzx eax, byte [0x102c6f65]
mov byte [ebp - 0x27], al
movzx eax, byte [0x102c6f66]
mov byte [ebp - 0x26], al
movzx eax, byte [0x102c6f67]
mov byte [ebp - 0x25], al
movzx eax, byte [0x102c6f68]
mov byte [ebp - 0x24], al
movzx eax, byte [0x102c6f69]
mov byte [ebp - 0x23], al
movzx eax, byte [0x102c6f6a]
mov byte [ebp - 0x22], al
mov eax, dword [0x102c6f6c]
mov dword [ebp - 0x20], eax
mov eax, dword [0x102c719c]
mov dword [ebp - 0x30], 0x4ff2cc1
cmp eax, 3
jne 0x100ac89f
mov byte [ebp - 0x22], 0
jmp 0x100ac8c9
cmp eax, 2
jne 0x100ac8ac
mov word [ebp - 0x23], 0
jmp 0x100ac8c9
cmp eax, 1
jne 0x100ac8bd
mov word [ebp - 0x24], 0
mov byte [ebp - 0x22], 0
jmp 0x100ac8c9
cmp eax, 4
jne 0x100ac8c9
mov dword [ebp - 0x25], 0
mov ecx, 0x100ed2ab
mov eax, 0x102a731f
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100ac8f3
test dl, dl
je 0x100ac8ef
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100ac8f3
add eax, 2
add ecx, 2
test dl, dl
jne 0x100ac8d3
xor eax, eax
jmp 0x100ac8f8
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100ac901
mov byte [ebp - 0x1c], al
jmp 0x100ac918
movups xmm0, xmmword [0x102a731f]
mov eax, dword [0x102a732f]
mov byte [ebp - 0x1c], 1
movups xmmword [ebp - 0x1b], xmm0
mov dword [ebp - 0xb], eax
mov edx, 0x2c
lea ecx, [ebp - 0x30]
call fcn.100b5210
cmp byte [0x102a6bfd], 1
jne 0x100ac941
mov byte [0x102a6bfd], 0
mov dword [0xe8cb3c], 0
jmp 0x100ac952
mov byte [0x102a6bfd], 1
mov dword [0xe8cb3c], 1
cmp dword [0x102c719c], 3
mov ebx, 7
movaps xmm0, xmmword [0x100f2430]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x10], 0xd1
mov dword [ebp - 0xc], 0xd2
mov dword [ebp - 8], 0xd3
jne 0x100ac987
mov ebx, 6
jmp 0x100ac9b6
cmp dword [0x102c719c], 2
jne 0x100ac997
mov ebx, 5
jmp 0x100ac9b6
cmp dword [0x102c719c], 1
jne 0x100ac9a7
mov ebx, 4
jmp 0x100ac9b6
cmp dword [0x102c719c], 4
mov eax, 3
cmove ebx, eax
xor esi, esi
mov eax, 0x879340c
movd xmm1, dword [eax]
movsx eax, word [ebp + esi*4 - 0x20]
cvtdq2ps xmm1, xmm1
lea eax, [eax + eax*2]
shl eax, 5
movss xmm0, dword [eax + 0x102a22c8]
comiss xmm0, xmm1
ja 0x100acaa5
comiss xmm1, dword [eax + 0x102a22d0]
ja 0x100acaa5
movd xmm1, dword [0x8793410]
movss xmm0, dword [eax + 0x102a22cc]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100acaa5
comiss xmm1, dword [eax + 0x102a22d4]
ja 0x100acaa5
mov eax, dword [ebp + esi*4 - 0x20]
lea edi, [eax + eax*2]
mov eax, dword [ebp - 0x34]
shl edi, 5
sub eax, dword [edi + 0x102a22d8]
cmp dword [ebp + 8], 0x201
je 0x100acaaf
mov byte [edi + 0x102a22dc], 0
cmp eax, 0x1f4
jb 0x100acab6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x102a22d8], eax
cmp esi, 6
ja case.default.0x100aca51
jmp dword [esi*4 + 0x100acb3c]
xor byte [0x102c6f64], 1
jmp case.default.0x100aca51
xor byte [0x102c6f65], 1
jmp case.default.0x100aca51
xor byte [0x102c6f66], 1
jmp case.default.0x100aca51
xor byte [0x102c6f67], 1
jmp case.default.0x100aca51
xor byte [0x102c6f68], 1
jmp case.default.0x100aca51
xor byte [0x102c6f69], 1
jmp case.default.0x100aca51
xor byte [0x102c6f6a], 1
cmp byte [0x102c6f63], 1
jne 0x100acaa5
mov byte [0x102c6f63], 0
inc esi
cmp esi, ebx
jge 0x100acab6
jmp 0x100ac9b8
mov byte [edi + 0x102a22dc], 1
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0b64
mov esp, ebp
pop ebp
ret 4