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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x14]
sub esp, 0x14
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0xc]
test eax, eax
je 0x10014728
push eax
push 0
push 0xff
push 0xb4
push 0xb4
push 0xb4
lea eax, [esi - 0xa]
push eax
lea eax, [edi + 1]
push eax
push dword [0x101c6df8]
push 0x101c6dfc
call fcn.1000cc80
add esp, 0x28
mov ecx, dword [ebp + 8]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp byte [ecx + 0x101c6ecc], 0
jne 0x100147ec
call ebx
sub eax, dword [0x101c6f30]
cmp eax, 0xc8
jbe 0x100147ec
call ebx
sub eax, dword [0x101c6f34]
cmp eax, 0xc8
jbe 0x100147ec
cmp byte [0x101c6f3d], 0
jne 0x100147ec
cmp byte [0x101c6f4a], 0
je 0x100147ec
cmp byte [0x101c6e19], 0
jne 0x100147ec
mov ecx, dword [0x101c6e28]
cmp ecx, edi
jl 0x100147f2
lea eax, [edi + 0xe6]
cmp ecx, eax
ja 0x100147f2
mov edx, dword [0x101c6e2c]
cmp edx, esi
jl 0x100147f2
lea eax, [esi + 0x12]
cmp edx, eax
ja 0x100147f2
call ebx
sub eax, dword [0x101e80d4]
cmp eax, 0xc8
jbe 0x100147ec
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x101c6ecc], 0
sete al
mov byte [ecx + 0x101c6ecc], al
call ebx
mov ecx, dword [ebp + 8]
mov dword [0x101e80d4], eax
xor eax, eax
cmp eax, ecx
je 0x100147e6
cmp byte [eax + 0x101c6ecc], 0
je 0x100147e6
mov byte [eax + 0x101c6ecc], 0
inc eax
cmp eax, 0x30
jb 0x100147d2
mov ecx, dword [0x101c6e28]
mov eax, dword [ebp + 8]
mov ebx, 0x12
mov byte [ebp + 0x17], 0
cmp byte [eax + 0x101c6ecc], 0
jne 0x1001498b
mov ecx, dword [0x101c7724]
push 0xff
push 0x1a
push 0x1a
mov eax, dword [ecx]
push 0x14
call dword [eax + 0x20]
mov ecx, dword [0x101c7724]
lea edx, [edi + 0xe6]
add esi, ebx
push esi
push edx
push dword [ebp + 0x10]
mov eax, dword [ecx]
push edi
call dword [eax + 0x24]
mov ecx, dword [0x101c7724]
push 0xff
push 0x3c
push 0x3c
mov eax, dword [ecx]
push 0x3c
call dword [eax + 0x20]
mov ecx, dword [0x101c7724]
lea eax, [esi + 1]
push eax
lea eax, [edi + 0xe7]
push eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ecx]
dec eax
push eax
lea eax, [edi - 1]
push eax
call dword [edx + 0x28]
mov ecx, dword [0x101c7724]
push 0xff
push 0
push 0
mov eax, dword [ecx]
push 0
call dword [eax + 0x20]
mov ecx, dword [0x101c7724]
lea eax, [esi + 2]
push eax
lea eax, [edi + 0xe8]
push eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ecx]
add eax, 0xfffffffe
push eax
lea eax, [edi - 2]
push eax
call dword [edx + 0x28]
mov edx, dword [ebp + 0x20]
xor esi, esi
mov byte [ebp + 0xf], 1
test edx, edx
je 0x10014943
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x1c]
nop dword [eax]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x1001492f
vxorps xmm0, xmm0, xmm0
lea eax, [esi + 1]
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x101c0cf0]
mov eax, dword [ebp + 0x18]
vcvtsd2ss xmm1, xmm0, xmm0
vmovss xmm0, dword [eax]
vucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1001492c
push ecx
push 0
push 0xff
push 0xdc
push 0xdc
push 0xdc
lea eax, [ebx + 9]
mov byte [ebp + 0xf], 0
push eax
lea eax, [edi + 4]
push eax
push dword [0x101c6df8]
push 0x101c6dfc
call fcn.1000cc80
mov edx, dword [ebp + 0x20]
add esp, 0x28
mov eax, dword [ebp + 0x1c]
inc esi
cmp esi, edx
jb 0x100148c0
cmp byte [ebp + 0xf], 0
mov ebx, 0x12
je 0x10014c09
cmp byte [ebp + 0x24], 0
je 0x10014c09
mov eax, dword [ebp + 0x10]
push str.None
push 0
push 0xff
push 0xdc
push 0xdc
push 0xdc
add eax, 9
push eax
lea eax, [edi + 4]
push eax
push dword [0x101c6df8]
push 0x101c6dfc
call fcn.1000cc80
add esp, 0x28
jmp 0x10014c06
mov edx, dword [ebp + 0x20]
xor eax, eax
mov dword [ebp - 4], eax
test edx, edx
je 0x10014aa4
mov edi, dword [ebp + 0x24]
add esi, ebx
mov dword [ebp - 0x14], edi
mov edi, dword [ebp + 0x24]
mov dword [ebp - 0xc], edi
mov edi, dword [ebp + 0x24]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x24]
mov dword [ebp - 8], edi
mov edi, dword [ebp + 0x1c]
cmp dword [edi + eax*4], 0
mov edi, dword [ebp + 0xc]
je 0x10014a96
cmp ecx, edi
jl 0x10014a02
lea eax, [edi + 0xe6]
cmp ecx, eax
ja 0x10014a02
mov edx, dword [0x101c6e2c]
lea eax, [esi - 0x12]
cmp edx, eax
jb 0x10014a02
cmp edx, esi
jg 0x10014a02
lea eax, [edi + 0xe6]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x10]
add eax, 0xffffffee
mov dword [ebp - 8], esi
add eax, ebx
mov byte [ebp + 0x17], 1
mov dword [ebp - 0x10], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x101e80d4]
cmp eax, 0xc8
jbe 0x10014a84
cmp byte [0x101c6f4a], 0
je 0x10014a84
cmp byte [0x101c6e19], 0
jne 0x10014a84
mov ecx, dword [0x101c6e28]
cmp ecx, edi
jl 0x10014a8a
lea eax, [edi + 0xe6]
cmp ecx, eax
ja 0x10014a8a
mov edx, dword [0x101c6e2c]
lea eax, [esi - 0x12]
cmp edx, eax
jb 0x10014a8a
cmp edx, esi
jg 0x10014a8a
mov eax, dword [ebp - 4]
inc eax
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x101c0cf0]
mov eax, dword [ebp + 0x18]
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [eax], xmm0
mov eax, dword [ebp + 8]
mov byte [eax + 0x101c6ecc], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101e80d4], eax
mov ecx, dword [0x101c6e28]
mov eax, dword [ebp - 4]
add ebx, 0x12
mov edx, dword [ebp + 0x20]
add esi, 0x12
inc eax
mov dword [ebp - 4], eax
cmp eax, edx
jb 0x100149b5
jmp 0x10014abc
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 8], eax
cmp byte [ebp + 0x24], 0
je 0x10014b2e
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x101e80d4]
cmp eax, 0xc8
jbe 0x10014b31
cmp byte [0x101c6f4a], 0
je 0x10014b31
cmp byte [0x101c6e19], 0
jne 0x10014b31
mov ecx, dword [0x101c6e28]
cmp ecx, edi
jl 0x10014b31
lea eax, [edi + 0xe6]
cmp ecx, eax
ja 0x10014b31
mov ecx, dword [0x101c6e2c]
mov eax, dword [ebp + 0x10]
cmp ecx, eax
jl 0x10014b31
add eax, ebx
cmp ecx, eax
jg 0x10014b31
mov eax, dword [ebp + 0x18]
vxorps xmm0, xmm0, xmm0
vmovss dword [eax], xmm0
mov eax, dword [ebp + 8]
mov byte [eax + 0x101c6ecc], 0
call esi
mov dword [0x101e80d4], eax
jmp 0x10014b31
sub ebx, 0x12
mov ecx, dword [0x101c7724]
push 0xff
push 0x1a
push 0x1a
mov eax, dword [ecx]
push 0x14
call dword [eax + 0x20]
mov edx, dword [ebp + 0x10]
lea eax, [edi + 0xe6]
mov ecx, dword [0x101c7724]
mov dword [ebp + 0x18], eax
lea esi, [ebx + edx]
mov eax, dword [ecx]
push esi
push dword [ebp + 0x18]
push edx
push edi
call dword [eax + 0x24]
mov ecx, dword [0x101c7724]
push 0xff
push 0x3c
push 0x3c
mov eax, dword [ecx]
push 0x3c
call dword [eax + 0x20]
mov ecx, dword [0x101c7724]
lea eax, [esi + 1]
push eax
lea eax, [edi + 0xe7]
push eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ecx]
dec eax
push eax
lea eax, [edi - 1]
push eax
call dword [edx + 0x28]
mov ecx, dword [0x101c7724]
push 0xff
push 0
push 0
mov eax, dword [ecx]
push 0
call dword [eax + 0x20]
mov ecx, dword [0x101c7724]
lea eax, [esi + 2]
push eax
lea eax, [edi + 0xe8]
push eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ecx]
add eax, 0xfffffffe
push eax
lea eax, [edi - 2]
push eax
call dword [edx + 0x28]
cmp byte [ebp + 0x17], 0
je 0x10014c06
mov ecx, dword [0x101c7724]
push 0xff
push 0x3c
push 0x3c
mov eax, dword [ecx]
push 0x3c
call dword [eax + 0x20]
push dword [ebp - 8]
mov ecx, dword [0x101c7724]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
mov eax, dword [ecx]
push dword [ebp - 0x14]
call dword [eax + 0x24]
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 8]
cmp byte [eax + 0x101c6ecc], 0
je 0x10014cb8
xor esi, esi
mov ebx, 0x12
test edx, edx
je 0x10014c70
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x10014c6b
push eax
mov eax, dword [ebp + 0x10]
push 0
push 0xff
push 0xdc
push 0xdc
add eax, 0xfffffff7
push 0xdc
add eax, ebx
push eax
lea eax, [edi + 4]
push eax
push dword [0x101c6df8]
push 0x101c6dfc
call fcn.1000cc80
mov edx, dword [ebp + 0x20]
add esp, 0x28
add ebx, 0x12
inc esi
cmp esi, edx
jb 0x10014c24
cmp byte [ebp + 0x24], 0
mov esi, dword [ebp + 0x10]
je 0x10014cb3
push str.None
push 0
push 0xff
push 0xdc
push 0xdc
push 0xdc
lea eax, [esi - 9]
add eax, ebx
push eax
lea eax, [edi + 4]
push eax
push dword [0x101c6df8]
push 0x101c6dfc
call fcn.1000cc80
add esp, 0x28
jmp 0x10014cbb
sub ebx, 0x12
jmp 0x10014cbb
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
cmp byte [eax + 0x101c6ecc], 0
je 0x10014d16
cmp byte [0x101c6e19], 0
jne 0x10014d16
mov eax, dword [0x101c6e28]
cmp eax, edi
jl 0x10014d16
lea ecx, [edi + 0xe6]
cmp eax, ecx
ja 0x10014d16
mov ecx, dword [0x101c6e2c]
cmp ecx, esi
jl 0x10014d16
lea eax, [ebx + esi]
cmp ecx, eax
jg 0x10014d16
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov byte [0x101c6f3c], 1
call ebx
mov dword [0x101c6f2c], eax
call ebx
mov dword [0x101c6f34], eax
call ebx
mov dword [0x101c6f38], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20