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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x100ef018]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x1029bbad], 0
je 0x100a3275
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
call ebx
movd xmm1, dword [0x879340c]
mov edi, eax
movss xmm0, dword [0x1029c2b8]
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0x34], edi
comiss xmm0, xmm1
ja 0x100a2a55
comiss xmm1, dword [0x1029c2c0]
ja 0x100a2a55
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x1029c2bc]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100a2a55
comiss xmm1, dword [0x1029c2c4]
mov byte [0x1029c2ce], 1
jbe 0x100a2a5c
mov byte [0x1029c2ce], 0
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x1029bd78]
cvtdq2ps xmm1, xmm1
push esi
mov esi, dword [ebp + 8]
comiss xmm0, xmm1
ja 0x100a2b18
comiss xmm1, dword [0x1029bd80]
ja 0x100a2b18
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x1029bd7c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100a2b18
comiss xmm1, dword [0x1029bd84]
ja 0x100a2b18
cmp esi, 0x201
jne 0x100a2acc
pop esi
pop edi
mov byte [0x1029bd8c], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b7755
mov esp, ebp
pop ebp
ret 4
sub eax, dword [0x1029bd88]
mov byte [0x1029bd8c], 0
cmp eax, 0x1f4
jb 0x100a3272
call ebx
cmp byte [0x1029bbad], 1
mov dword [0x1029bd88], eax
jne 0x100a2b07
mov byte [0x1029bbad], 0
mov dword [0xe8cb3c], 0
jmp 0x100a2b18
mov byte [0x1029bbad], 1
mov dword [0xe8cb3c], 1
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x1029bdd8]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100a2cab
comiss xmm1, dword [0x1029bde0]
ja 0x100a2cab
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x1029bddc]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100a2cab
comiss xmm1, dword [0x1029bde4]
ja 0x100a2cab
cmp esi, 0x201
jne 0x100a2b8c
pop esi
pop edi
mov byte [0x1029bdec], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b7755
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x1029bdec], 0
sub eax, dword [0x1029bde8]
cmp eax, 0x1f4
jb 0x100a3272
call ebx
mov dl, byte [0x10104270]
mov ecx, 7
xor dl, 1
mov dword [0x1029bde8], eax
cmp dword [0x102bc10c], 3
mov byte [0x10104270], dl
jne 0x100a2bd1
mov ecx, 6
jmp 0x100a2c00
cmp dword [0x102bc10c], 2
jne 0x100a2be1
mov ecx, 5
jmp 0x100a2c00
cmp dword [0x102bc10c], 1
jne 0x100a2bf1
mov ecx, 4
jmp 0x100a2c00
cmp dword [0x102bc10c], 4
mov eax, 3
cmove ecx, eax
xor eax, eax
cmp dl, 1
jne 0x100a2c59
cmp eax, 6
ja case.default.0x100a2c5e
jmp dword [eax*4 + 0x100a3288]
mov byte [0x10104274], 1
jmp case.default.0x100a2c5e
mov byte [0x10104275], 1
jmp case.default.0x100a2c5e
mov byte [0x10104276], 1
jmp case.default.0x100a2c5e
mov byte [0x10104277], 1
jmp case.default.0x100a2c5e
mov byte [0x10104278], 1
jmp case.default.0x100a2c5e
mov byte [0x10104279], 1
jmp case.default.0x100a2c5e
mov byte [0x1010427a], 1
jmp case.default.0x100a2c5e
cmp eax, 6
ja case.default.0x100a2c5e
jmp dword [eax*4 + 0x100a32a4]
mov byte [0x10104274], 0
jmp case.default.0x100a2c5e
mov byte [0x10104275], 0
jmp case.default.0x100a2c5e
mov byte [0x10104276], 0
jmp case.default.0x100a2c5e
mov byte [0x10104277], 0
jmp case.default.0x100a2c5e
mov byte [0x10104278], 0
jmp case.default.0x100a2c5e
mov byte [0x10104279], 0
jmp case.default.0x100a2c5e
mov byte [0x1010427a], 0
inc eax
cmp eax, ecx
jl 0x100a2c02
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x1029be38]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100a2d37
comiss xmm1, dword [0x1029be40]
ja 0x100a2d37
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x1029be3c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100a2d37
comiss xmm1, dword [0x1029be44]
ja 0x100a2d37
cmp esi, 0x201
jne 0x100a2d0f
pop esi
pop edi
mov byte [0x1029be4c], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b7755
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x1029be4c], 0
sub eax, dword [0x1029be48]
cmp eax, 0x1f4
jb 0x100a3272
call ebx
xor byte [0x10104271], 1
mov dword [0x1029be48], eax
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x1029be98]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100a2dc3
comiss xmm1, dword [0x1029bea0]
ja 0x100a2dc3
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x1029be9c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100a2dc3
comiss xmm1, dword [0x1029bea4]
ja 0x100a2dc3
cmp esi, 0x201
jne 0x100a2d9b
pop esi
pop edi
mov byte [0x1029beac], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b7755
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x1029beac], 0
sub eax, dword [0x1029bea8]
cmp eax, 0x1f4
jb 0x100a3272
call ebx
xor byte [0x10104272], 1
mov dword [0x1029bea8], eax
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x1029bef8]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100a2f12
comiss xmm1, dword [0x1029bf00]
ja 0x100a2f12
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x1029befc]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100a2f12
comiss xmm1, dword [0x1029bf04]
ja 0x100a2f12
cmp esi, 0x201
jne 0x100a2e37
pop esi
pop edi
mov byte [0x1029bf0c], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b7755
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x1029bf0c], 0
sub eax, dword [0x1029bf08]
cmp eax, 0x1f4
jb 0x100a3272
call ebx
mov cl, byte [0x10104273]
xor cl, 1
mov dword [0x1029bf08], eax
mov byte [0x10104273], cl
xor eax, eax
nop dword [eax]
test cl, cl
jne 0x100a2eb6
cmp eax, 6
ja case.default.0x100a2ebb
jmp dword [eax*4 + 0x100a32c0]
mov byte [0x10104274], 1
jmp case.default.0x100a2ebb
mov byte [0x10104275], 1
jmp case.default.0x100a2ebb
mov byte [0x10104276], 1
jmp case.default.0x100a2ebb
mov byte [0x10104277], 1
jmp case.default.0x100a2ebb
mov byte [0x10104278], 1
jmp case.default.0x100a2ebb
mov byte [0x10104279], 1
jmp case.default.0x100a2ebb
cmp eax, 6
ja case.default.0x100a2ebb
jmp dword [eax*4 + 0x100a32dc]
mov byte [0x10104274], 0
jmp case.default.0x100a2ebb
mov byte [0x10104275], 0
jmp case.default.0x100a2ebb
mov byte [0x10104276], 0
jmp case.default.0x100a2ebb
mov byte [0x10104277], 0
jmp case.default.0x100a2ebb
mov byte [0x10104278], 0
jmp case.default.0x100a2ebb
mov byte [0x10104279], 0
inc eax
cmp eax, 7
jl 0x100a2e70
jmp 0x100a2f12
mov byte [0x1010427a], 1
jmp 0x100a2f12
mov byte [0x1010427a], 0
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x1029c318]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100a30f7
comiss xmm1, dword [0x1029c320]
ja 0x100a30f7
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x1029c31c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100a30f7
comiss xmm1, dword [0x1029c324]
ja 0x100a30f7
cmp esi, 0x201
jne 0x100a2f86
pop esi
pop edi
mov byte [0x1029c32c], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b7755
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x1029c32c], 0
sub eax, dword [0x1029c328]
cmp eax, 0x1f4
jb 0x100a3272
call ebx
push 0x2b
mov dword [0x1029c328], eax
lea eax, [ebp - 0x2f]
push 0
push eax
call fcn.100b99d0
movzx eax, byte [0x10104270]
add esp, 0xc
mov byte [ebp - 0x2c], al
movzx eax, byte [0x10104271]
mov byte [ebp - 0x2b], al
movzx eax, byte [0x10104272]
mov byte [ebp - 0x2a], al
movzx eax, byte [0x10104273]
mov byte [ebp - 0x29], al
movzx eax, byte [0x10104274]
mov byte [ebp - 0x28], al
movzx eax, byte [0x10104275]
mov byte [ebp - 0x27], al
movzx eax, byte [0x10104276]
mov byte [ebp - 0x26], al
movzx eax, byte [0x10104277]
mov byte [ebp - 0x25], al
movzx eax, byte [0x10104278]
mov byte [ebp - 0x24], al
movzx eax, byte [0x10104279]
mov byte [ebp - 0x23], al
movzx eax, byte [0x1010427a]
mov byte [ebp - 0x22], al
mov eax, dword [0x1010427c]
mov dword [ebp - 0x20], eax
mov eax, dword [0x102bc10c]
mov dword [ebp - 0x30], 0x4ff2cc1
cmp eax, 3
jne 0x100a3044
mov byte [ebp - 0x22], 0
jmp 0x100a306e
cmp eax, 2
jne 0x100a3051
mov word [ebp - 0x23], 0
jmp 0x100a306e
cmp eax, 1
jne 0x100a3062
mov word [ebp - 0x24], 0
mov byte [ebp - 0x22], 0
jmp 0x100a306e
cmp eax, 4
jne 0x100a306e
mov dword [ebp - 0x25], 0
mov ecx, 0x100e2be3
mov eax, 0x1029c2cf
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100a3098
test dl, dl
je 0x100a3094
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100a3098
add eax, 2
add ecx, 2
test dl, dl
jne 0x100a3078
xor eax, eax
jmp 0x100a309d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100a30a6
mov byte [ebp - 0x1c], al
jmp 0x100a30bd
movups xmm0, xmmword [0x1029c2cf]
mov eax, dword [0x1029c2df]
mov byte [ebp - 0x1c], 1
movups xmmword [ebp - 0x1b], xmm0
mov dword [ebp - 0xb], eax
mov edx, 0x2c
lea ecx, [ebp - 0x30]
call fcn.100aba10
cmp byte [0x1029bbad], 1
jne 0x100a30e6
mov byte [0x1029bbad], 0
mov dword [0xe8cb3c], 0
jmp 0x100a30f7
mov byte [0x1029bbad], 1
mov dword [0xe8cb3c], 1
cmp dword [0x102bc10c], 3
mov ebx, 7
movaps xmm0, xmmword [0x100e7b80]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x10], 0xd1
mov dword [ebp - 0xc], 0xd2
mov dword [ebp - 8], 0xd3
jne 0x100a312c
mov ebx, 6
jmp 0x100a315b
cmp dword [0x102bc10c], 2
jne 0x100a313c
mov ebx, 5
jmp 0x100a315b
cmp dword [0x102bc10c], 1
jne 0x100a314c
mov ebx, 4
jmp 0x100a315b
cmp dword [0x102bc10c], 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 + 0x10297278]
comiss xmm0, xmm1
ja 0x100a325b
comiss xmm1, dword [eax + 0x10297280]
ja 0x100a325b
movd xmm1, dword [0x8793410]
movss xmm0, dword [eax + 0x1029727c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100a325b
comiss xmm1, dword [eax + 0x10297284]
ja 0x100a325b
mov ecx, dword [ebp + esi*4 - 0x20]
mov eax, dword [ebp - 0x34]
lea edi, [ecx + ecx*2]
shl edi, 5
sub eax, dword [edi + 0x10297288]
cmp dword [ebp + 8], 0x201
je 0x100a3265
mov byte [edi + 0x1029728c], 0
cmp eax, 0x1f4
jb 0x100a3272
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x10297288], eax
cmp esi, 6
ja case.default.0x100a31fe
jmp dword [esi*4 + 0x100a32f8]
xor byte [0x10104274], 1
jmp case.default.0x100a31fe
xor byte [0x10104275], 1
jmp case.default.0x100a31fe
xor byte [0x10104276], 1
jmp case.default.0x100a31fe
xor byte [0x10104277], 1
jmp case.default.0x100a31fe
xor byte [0x10104278], 1
jmp case.default.0x100a31fe
xor byte [0x10104279], 1
jmp case.default.0x100a31fe
xor byte [0x1010427a], 1
movzx ecx, byte [0x10104273]
xor edx, edx
cmp byte [0x10104273], 1
cmove ecx, edx
mov byte [0x10104273], cl
inc esi
cmp esi, ebx
jge 0x100a3272
jmp 0x100a315d
lea eax, [ecx + ecx*2]
shl eax, 5
mov byte [eax + 0x1029728c], 1
pop esi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100b7755
mov esp, ebp
pop ebp
ret 4