Function at 0x100ac1a0
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 0x100aca39
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 0x100ac215
comiss xmm1, dword [0x102a7310]
ja 0x100ac215
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102a730c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac215
comiss xmm1, dword [0x102a7314]
mov byte [0x102a731e], 1
jbe 0x100ac21c
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 0x100ac2d8
comiss xmm1, dword [0x102a6dd0]
ja 0x100ac2d8
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102a6dcc]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac2d8
comiss xmm1, dword [0x102a6dd4]
ja 0x100ac2d8
cmp esi, 0x201
jne 0x100ac28c
pop esi
pop edi
mov byte [0x102a6ddc], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret 4
sub eax, dword [0x102a6dd8]
mov byte [0x102a6ddc], 0
cmp eax, 0x1f4
jb 0x100aca36
call ebx
cmp byte [0x102a6bfd], 1
mov dword [0x102a6dd8], eax
jne 0x100ac2c7
mov byte [0x102a6bfd], 0
mov dword [0xe8cb3c], 0
jmp 0x100ac2d8
mov byte [0x102a6bfd], 1
mov dword [0xe8cb3c], 1
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102a6e28]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac46b
comiss xmm1, dword [0x102a6e30]
ja 0x100ac46b
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102a6e2c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac46b
comiss xmm1, dword [0x102a6e34]
ja 0x100ac46b
cmp esi, 0x201
jne 0x100ac34c
pop esi
pop edi
mov byte [0x102a6e3c], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102a6e3c], 0
sub eax, dword [0x102a6e38]
cmp eax, 0x1f4
jb 0x100aca36
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 0x100ac391
mov ecx, 6
jmp 0x100ac3c0
cmp dword [0x102c719c], 2
jne 0x100ac3a1
mov ecx, 5
jmp 0x100ac3c0
cmp dword [0x102c719c], 1
jne 0x100ac3b1
mov ecx, 4
jmp 0x100ac3c0
cmp dword [0x102c719c], 4
mov eax, 3
cmove ecx, eax
xor eax, eax
cmp dl, 1
jne 0x100ac419
cmp eax, 6
ja case.default.0x100ac41e
jmp dword [eax*4 + 0x100aca4c]
mov byte [0x102c6f64], 1
jmp case.default.0x100ac41e
mov byte [0x102c6f65], 1
jmp case.default.0x100ac41e
mov byte [0x102c6f66], 1
jmp case.default.0x100ac41e
mov byte [0x102c6f67], 1
jmp case.default.0x100ac41e
mov byte [0x102c6f68], 1
jmp case.default.0x100ac41e
mov byte [0x102c6f69], 1
jmp case.default.0x100ac41e
mov byte [0x102c6f6a], 1
jmp case.default.0x100ac41e
cmp eax, 6
ja case.default.0x100ac41e
jmp dword [eax*4 + 0x100aca68]
mov byte [0x102c6f64], 0
jmp case.default.0x100ac41e
mov byte [0x102c6f65], 0
jmp case.default.0x100ac41e
mov byte [0x102c6f66], 0
jmp case.default.0x100ac41e
mov byte [0x102c6f67], 0
jmp case.default.0x100ac41e
mov byte [0x102c6f68], 0
jmp case.default.0x100ac41e
mov byte [0x102c6f69], 0
jmp case.default.0x100ac41e
mov byte [0x102c6f6a], 0
inc eax
cmp eax, ecx
jl 0x100ac3c2
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102a6e88]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac4f7
comiss xmm1, dword [0x102a6e90]
ja 0x100ac4f7
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102a6e8c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac4f7
comiss xmm1, dword [0x102a6e94]
ja 0x100ac4f7
cmp esi, 0x201
jne 0x100ac4cf
pop esi
pop edi
mov byte [0x102a6e9c], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102a6e9c], 0
sub eax, dword [0x102a6e98]
cmp eax, 0x1f4
jb 0x100aca36
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 0x100ac583
comiss xmm1, dword [0x102a6ef0]
ja 0x100ac583
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102a6eec]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac583
comiss xmm1, dword [0x102a6ef4]
ja 0x100ac583
cmp esi, 0x201
jne 0x100ac55b
pop esi
pop edi
mov byte [0x102a6efc], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102a6efc], 0
sub eax, dword [0x102a6ef8]
cmp eax, 0x1f4
jb 0x100aca36
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 0x100ac6ed
comiss xmm1, dword [0x102a6f50]
ja 0x100ac6ed
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102a6f4c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac6ed
comiss xmm1, dword [0x102a6f54]
ja 0x100ac6ed
cmp esi, 0x201
jne 0x100ac5f7
pop esi
pop edi
mov byte [0x102a6f5c], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102a6f5c], 0
sub eax, dword [0x102a6f58]
cmp eax, 0x1f4
jb 0x100aca36
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 0x100ac680
cmp eax, 6
ja case.default.0x100ac685
jmp dword [eax*4 + 0x100aca84]
mov byte [0x102c6f64], 1
inc eax
jmp 0x100ac630
mov byte [0x102c6f65], 1
inc eax
jmp 0x100ac630
mov byte [0x102c6f66], 1
inc eax
jmp 0x100ac630
mov byte [0x102c6f67], 1
inc eax
jmp 0x100ac630
mov byte [0x102c6f68], 1
inc eax
jmp 0x100ac630
mov byte [0x102c6f69], 1
inc eax
jmp 0x100ac630
cmp eax, 6
ja case.default.0x100ac685
jmp dword [eax*4 + 0x100acaa0]
mov byte [0x102c6f64], 0
inc eax
jmp 0x100ac630
mov byte [0x102c6f65], 0
inc eax
jmp 0x100ac630
mov byte [0x102c6f66], 0
inc eax
jmp 0x100ac630
mov byte [0x102c6f67], 0
inc eax
jmp 0x100ac630
mov byte [0x102c6f68], 0
inc eax
jmp 0x100ac630
mov byte [0x102c6f69], 0
inc eax
jmp 0x100ac630
inc eax
cmp eax, 7
jl 0x100ac630
jmp 0x100ac6ed
mov byte [0x102c6f6a], 1
jmp 0x100ac6ed
mov byte [0x102c6f6a], 0
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102a7368]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac8d2
comiss xmm1, dword [0x102a7370]
ja 0x100ac8d2
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102a736c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100ac8d2
comiss xmm1, dword [0x102a7374]
ja 0x100ac8d2
cmp esi, 0x201
jne 0x100ac761
pop esi
pop edi
mov byte [0x102a737c], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102a737c], 0
sub eax, dword [0x102a7378]
cmp eax, 0x1f4
jb 0x100aca36
call ebx
push 0x2b
mov dword [0x102a7378], eax
lea eax, [ebp - 0x2f]
push 0
push eax
call fcn.100c2c10
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 0x100ac81f
mov byte [ebp - 0x22], 0
jmp 0x100ac849
cmp eax, 2
jne 0x100ac82c
mov word [ebp - 0x23], 0
jmp 0x100ac849
cmp eax, 1
jne 0x100ac83d
mov word [ebp - 0x24], 0
mov byte [ebp - 0x22], 0
jmp 0x100ac849
cmp eax, 4
jne 0x100ac849
mov dword [ebp - 0x25], 0
mov ecx, 0x100ed2ab
mov eax, 0x102a731f
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100ac873
test dl, dl
je 0x100ac86f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100ac873
add eax, 2
add ecx, 2
test dl, dl
jne 0x100ac853
xor eax, eax
jmp 0x100ac878
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100ac881
mov byte [ebp - 0x1c], al
jmp 0x100ac898
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.100b5120
cmp byte [0x102a6bfd], 1
jne 0x100ac8c1
mov byte [0x102a6bfd], 0
mov dword [0xe8cb3c], 0
jmp 0x100ac8d2
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 0x100ac907
mov ebx, 6
jmp 0x100ac936
cmp dword [0x102c719c], 2
jne 0x100ac917
mov ebx, 5
jmp 0x100ac936
cmp dword [0x102c719c], 1
jne 0x100ac927
mov ebx, 4
jmp 0x100ac936
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 0x100aca25
comiss xmm1, dword [eax + 0x102a22d0]
ja 0x100aca25
movd xmm1, dword [0x8793410]
movss xmm0, dword [eax + 0x102a22cc]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100aca25
comiss xmm1, dword [eax + 0x102a22d4]
ja 0x100aca25
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 0x100aca2f
mov byte [edi + 0x102a22dc], 0
cmp eax, 0x1f4
jb 0x100aca36
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x102a22d8], eax
cmp esi, 6
ja case.default.0x100ac9d1
jmp dword [esi*4 + 0x100acabc]
xor byte [0x102c6f64], 1
jmp case.default.0x100ac9d1
xor byte [0x102c6f65], 1
jmp case.default.0x100ac9d1
xor byte [0x102c6f66], 1
jmp case.default.0x100ac9d1
xor byte [0x102c6f67], 1
jmp case.default.0x100ac9d1
xor byte [0x102c6f68], 1
jmp case.default.0x100ac9d1
xor byte [0x102c6f69], 1
jmp case.default.0x100ac9d1
xor byte [0x102c6f6a], 1
cmp byte [0x102c6f63], 1
jne 0x100aca25
mov byte [0x102c6f63], 0
inc esi
cmp esi, ebx
jge 0x100aca36
jmp 0x100ac938
mov byte [edi + 0x102a22dc], 1
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c0a54
mov esp, ebp
pop ebp
ret 4