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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
cmp byte [0x102e31ad], 0
je 0x100d8676
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
call ebx
movd xmm1, dword [0x879340c]
mov edi, eax
movss xmm0, dword [0x102e38b8]
cvtdq2ps xmm1, xmm1
mov dword [ebp - 4], edi
comiss xmm0, xmm1
ja 0x100d7e8b
comiss xmm1, dword [0x102e38c0]
ja 0x100d7e8b
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102e38bc]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100d7e8b
comiss xmm1, dword [0x102e38c4]
mov byte [0x102e38ce], 1
jbe 0x100d7e92
mov byte [0x102e38ce], 0
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102e3378]
cvtdq2ps xmm1, xmm1
push esi
mov esi, dword [ebp + 8]
comiss xmm0, xmm1
ja 0x100d7f44
comiss xmm1, dword [0x102e3380]
ja 0x100d7f44
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102e337c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100d7f44
comiss xmm1, dword [0x102e3384]
ja 0x100d7f44
cmp esi, 0x201
jne 0x100d7ef8
pop esi
pop edi
mov byte [0x102e338c], 1
pop ebx
mov esp, ebp
pop ebp
ret 4
sub eax, dword [0x102e3388]
mov byte [0x102e338c], 0
cmp eax, 0x1f4
jb 0x100d8673
call ebx
cmp byte [0x102e31ad], 1
mov dword [0x102e3388], eax
jne 0x100d7f33
mov byte [0x102e31ad], 0
mov dword [0xe8cb3c], 0
jmp 0x100d7f44
mov byte [0x102e31ad], 1
mov dword [0xe8cb3c], 1
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102e33d8]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100d80ca
comiss xmm1, dword [0x102e33e0]
ja 0x100d80ca
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102e33dc]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100d80ca
comiss xmm1, dword [0x102e33e4]
ja 0x100d80ca
cmp esi, 0x201
jne 0x100d7fae
pop esi
pop edi
mov byte [0x102e33ec], 1
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102e33ec], 0
sub eax, dword [0x102e33e8]
cmp eax, 0x1f4
jb 0x100d8673
call ebx
mov dl, byte [0x103034f0]
mov ecx, 7
xor dl, 1
mov dword [0x102e33e8], eax
cmp dword [0x1030373c], 3
mov byte [0x103034f0], dl
jne 0x100d7ff3
mov ecx, 6
jmp 0x100d8022
cmp dword [0x1030373c], 2
jne 0x100d8003
mov ecx, 5
jmp 0x100d8022
cmp dword [0x1030373c], 1
jne 0x100d8013
mov ecx, 4
jmp 0x100d8022
cmp dword [0x1030373c], 4
mov eax, 3
cmove ecx, eax
xor eax, eax
cmp dl, 1
jne 0x100d8078
cmp eax, 6
ja case.default.0x100d807d
jmp dword [eax*4 + 0x100d867c]
mov byte [0x103034f4], 1
jmp case.default.0x100d807d
mov byte [0x103034f5], 1
jmp case.default.0x100d807d
mov byte [0x103034f6], 1
jmp case.default.0x100d807d
mov byte [0x103034f7], 1
jmp case.default.0x100d807d
mov byte [0x103034f8], 1
jmp case.default.0x100d807d
mov byte [0x103034f9], 1
jmp case.default.0x100d807d
mov byte [0x103034fa], 1
jmp case.default.0x100d807d
cmp eax, 6
ja case.default.0x100d807d
jmp dword [eax*4 + 0x100d8698]
mov byte [0x103034f4], 0
jmp case.default.0x100d807d
mov byte [0x103034f5], 0
jmp case.default.0x100d807d
mov byte [0x103034f6], 0
jmp case.default.0x100d807d
mov byte [0x103034f7], 0
jmp case.default.0x100d807d
mov byte [0x103034f8], 0
jmp case.default.0x100d807d
mov byte [0x103034f9], 0
jmp case.default.0x100d807d
mov byte [0x103034fa], 0
inc eax
cmp eax, ecx
jl 0x100d8024
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102e3438]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100d814c
comiss xmm1, dword [0x102e3440]
ja 0x100d814c
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102e343c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100d814c
comiss xmm1, dword [0x102e3444]
ja 0x100d814c
cmp esi, 0x201
jne 0x100d8124
pop esi
pop edi
mov byte [0x102e344c], 1
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102e344c], 0
sub eax, dword [0x102e3448]
cmp eax, 0x1f4
jb 0x100d8673
call ebx
xor byte [0x103034f1], 1
mov dword [0x102e3448], eax
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102e3498]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100d81ce
comiss xmm1, dword [0x102e34a0]
ja 0x100d81ce
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102e349c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100d81ce
comiss xmm1, dword [0x102e34a4]
ja 0x100d81ce
cmp esi, 0x201
jne 0x100d81a6
pop esi
pop edi
mov byte [0x102e34ac], 1
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102e34ac], 0
sub eax, dword [0x102e34a8]
cmp eax, 0x1f4
jb 0x100d8673
call ebx
xor byte [0x103034f2], 1
mov dword [0x102e34a8], eax
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102e34f8]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100d832d
comiss xmm1, dword [0x102e3500]
ja 0x100d832d
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102e34fc]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100d832d
comiss xmm1, dword [0x102e3504]
ja 0x100d832d
cmp esi, 0x201
jne 0x100d8238
pop esi
pop edi
mov byte [0x102e350c], 1
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102e350c], 0
sub eax, dword [0x102e3508]
cmp eax, 0x1f4
jb 0x100d8673
call ebx
mov cl, byte [0x103034f3]
xor cl, 1
mov dword [0x102e3508], eax
mov byte [0x103034f3], cl
xor eax, eax
nop word [eax + eax]
test cl, cl
jne 0x100d82c0
cmp eax, 6
ja case.default.0x100d82c5
jmp dword [eax*4 + 0x100d86b4]
mov byte [0x103034f4], 1
inc eax
jmp 0x100d8270
mov byte [0x103034f5], 1
inc eax
jmp 0x100d8270
mov byte [0x103034f6], 1
inc eax
jmp 0x100d8270
mov byte [0x103034f7], 1
inc eax
jmp 0x100d8270
mov byte [0x103034f8], 1
inc eax
jmp 0x100d8270
mov byte [0x103034f9], 1
inc eax
jmp 0x100d8270
cmp eax, 6
ja case.default.0x100d82c5
jmp dword [eax*4 + 0x100d86d0]
mov byte [0x103034f4], 0
inc eax
jmp 0x100d8270
mov byte [0x103034f5], 0
inc eax
jmp 0x100d8270
mov byte [0x103034f6], 0
inc eax
jmp 0x100d8270
mov byte [0x103034f7], 0
inc eax
jmp 0x100d8270
mov byte [0x103034f8], 0
inc eax
jmp 0x100d8270
mov byte [0x103034f9], 0
inc eax
jmp 0x100d8270
inc eax
cmp eax, 7
jl 0x100d8270
jmp 0x100d832d
mov byte [0x103034fa], 1
jmp 0x100d832d
mov byte [0x103034fa], 0
movd xmm1, dword [0x879340c]
movss xmm0, dword [0x102e3918]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100d850f
comiss xmm1, dword [0x102e3920]
ja 0x100d850f
movd xmm1, dword [0x8793410]
movss xmm0, dword [0x102e391c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100d850f
comiss xmm1, dword [0x102e3924]
ja 0x100d850f
cmp esi, 0x201
jne 0x100d8397
pop esi
pop edi
mov byte [0x102e392c], 1
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, edi
mov byte [0x102e392c], 0
sub eax, dword [0x102e3928]
cmp eax, 0x1f4
jb 0x100d8673
call ebx
push 0x2b
mov dword [0x102e3928], eax
lea eax, [ebp - 0x2f]
push 0
push eax
call fcn.100f06a0
movzx eax, byte [0x103034f0]
add esp, 0xc
mov byte [ebp - 0x2c], al
movzx eax, byte [0x103034f1]
mov byte [ebp - 0x2b], al
movzx eax, byte [0x103034f2]
mov byte [ebp - 0x2a], al
movzx eax, byte [0x103034f3]
mov byte [ebp - 0x29], al
movzx eax, byte [0x103034f4]
mov byte [ebp - 0x28], al
movzx eax, byte [0x103034f5]
mov byte [ebp - 0x27], al
movzx eax, byte [0x103034f6]
mov byte [ebp - 0x26], al
movzx eax, byte [0x103034f7]
mov byte [ebp - 0x25], al
movzx eax, byte [0x103034f8]
mov byte [ebp - 0x24], al
movzx eax, byte [0x103034f9]
mov byte [ebp - 0x23], al
movzx eax, byte [0x103034fa]
mov byte [ebp - 0x22], al
mov eax, dword [0x103034fc]
mov dword [ebp - 0x20], eax
mov eax, dword [0x1030373c]
mov dword [ebp - 0x30], 0x4ff2cc1
cmp eax, 3
jne 0x100d8455
mov byte [ebp - 0x22], 0
jmp 0x100d847f
cmp eax, 2
jne 0x100d8462
mov word [ebp - 0x23], 0
jmp 0x100d847f
cmp eax, 1
jne 0x100d8473
mov word [ebp - 0x24], 0
mov byte [ebp - 0x22], 0
jmp 0x100d847f
cmp eax, 4
jne 0x100d847f
mov dword [ebp - 0x25], 0
mov ecx, 0x1011b2fb
mov eax, 0x102e38cf
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d84b0
test dl, dl
je 0x100d84ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d84b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d8490
xor eax, eax
jmp 0x100d84b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100d84be
mov byte [ebp - 0x1c], al
jmp 0x100d84d5
movups xmm0, xmmword [0x102e38cf]
mov eax, dword [0x102e38df]
mov byte [ebp - 0x1c], 1
movups xmmword [ebp - 0x1b], xmm0
mov dword [ebp - 0xb], eax
mov edx, 0x2c
lea ecx, [ebp - 0x30]
call fcn.100e16c0
cmp byte [0x102e31ad], 1
jne 0x100d84fe
mov byte [0x102e31ad], 0
mov dword [0xe8cb3c], 0
jmp 0x100d850f
mov byte [0x102e31ad], 1
mov dword [0xe8cb3c], 1
cmp dword [0x1030373c], 3
mov ebx, 7
movaps xmm0, xmmword [0x10120bd0]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x10], 0xd3
mov dword [ebp - 0xc], 0xd4
mov dword [ebp - 8], 0xd5
jne 0x100d8544
mov ebx, 6
jmp 0x100d8573
cmp dword [0x1030373c], 2
jne 0x100d8554
mov ebx, 5
jmp 0x100d8573
cmp dword [0x1030373c], 1
jne 0x100d8564
mov ebx, 4
jmp 0x100d8573
cmp dword [0x1030373c], 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 + 0x102de7b8]
comiss xmm0, xmm1
ja 0x100d8662
comiss xmm1, dword [eax + 0x102de7c0]
ja 0x100d8662
movd xmm1, dword [0x8793410]
movss xmm0, dword [eax + 0x102de7bc]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100d8662
comiss xmm1, dword [eax + 0x102de7c4]
ja 0x100d8662
mov eax, dword [ebp + esi*4 - 0x20]
lea edi, [eax + eax*2]
mov eax, dword [ebp - 4]
shl edi, 5
sub eax, dword [edi + 0x102de7c8]
cmp dword [ebp + 8], 0x201
je 0x100d866c
mov byte [edi + 0x102de7cc], 0
cmp eax, 0x1f4
jb 0x100d8673
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x102de7c8], eax
cmp esi, 6
ja case.default.0x100d860e
jmp dword [esi*4 + 0x100d86ec]
xor byte [0x103034f4], 1
jmp case.default.0x100d860e
xor byte [0x103034f5], 1
jmp case.default.0x100d860e
xor byte [0x103034f6], 1
jmp case.default.0x100d860e
xor byte [0x103034f7], 1
jmp case.default.0x100d860e
xor byte [0x103034f8], 1
jmp case.default.0x100d860e
xor byte [0x103034f9], 1
jmp case.default.0x100d860e
xor byte [0x103034fa], 1
cmp byte [0x103034f3], 1
jne 0x100d8662
mov byte [0x103034f3], 0
inc esi
cmp esi, ebx
jge 0x100d8673
jmp 0x100d8575
mov byte [edi + 0x102de7cc], 1
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 4