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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0x28
push ebx
push esi
push edi
mov esi, ecx
cmp eax, 2
je 0x10240592
cmp eax, 0x21
je 0x1024057a
mov edi, 0x100
cmp eax, edi
je 0x10240556
cmp eax, 0x103
jbe 0x1024054d
lea ecx, [edi + 5]
cmp eax, ecx
jbe 0x1024052c
cmp eax, 0x113
je 0x102402a6
mov edi, 0x200
cmp eax, edi
jne 0x1024054d
mov eax, dword [esi + 0x128]
test al, 1
je 0x10240277
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xf8]
jmp 0x10240285
test eax, 0x500
je 0x10240285
mov ecx, esi
call fcn.1023fdd6
test byte [esi + 0x128], 0x10
je 0x1024029a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x114], eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
jmp 0x102405c7
cmp dword [ebp + 0x10], 0xed4c5
jne 0x1024051c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x114]
mov ecx, esi
cdq
mov edi, eax
mov eax, dword [esi]
xor edi, edx
sub edi, edx
call dword [eax + 0x110]
mov ebx, eax
call fcn.1020dc83
test dword [esi + 0x128], 0x500
mov ecx, eax
mov dword [ebp - 8], ecx
je 0x102404d5
test byte [esi + 0x79], 4
jne 0x102404d5
test ecx, ecx
je 0x102404d5
push dword [ebp + 8]
call fcn.10268d65
test al, al
je 0x102404d5
push dword [ebp + 8]
mov ecx, dword [ebp - 8]
call fcn.10268de6
test al, al
jne 0x102404d5
push 2
call fcn.1020dc2b
test eax, eax
jne 0x102404d5
xor ebx, ebx
mov dword [ebp - 0x10], ebx
lea edi, [ebp - 0xc]
stosd dword es:[edi], eax
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
xor eax, eax
mov dword [ebp - 0x28], ebx
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
cmp eax, ecx
jge 0x1024036b
sub ecx, eax
mov eax, ecx
jmp 0x10240377
cmp eax, dword [ebp - 0x20]
jle 0x10240375
sub eax, dword [ebp - 0x20]
jmp 0x10240377
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x24]
cmp ecx, edx
jge 0x10240387
sub edx, ecx
mov ecx, edx
jmp 0x10240393
cmp ecx, dword [ebp - 0x1c]
jle 0x10240391
sub ecx, dword [ebp - 0x1c]
jmp 0x10240393
xor ecx, ecx
cmp eax, ebx
jne 0x102403b7
cmp ecx, ebx
jne 0x102403b7
and dword [esi + 0x128], 0xfffff7ff
mov ecx, esi
mov dword [esi + 0x130], ebx
call fcn.1023fdd6
jmp 0x102404cf
cmp eax, ecx
jge 0x102403c0
mov dword [ebp + 0xc], ecx
jmp 0x102403c5
mov ecx, eax
mov dword [ebp + 0xc], eax
test dword [esi + 0x128], 0x800
je 0x102403e8
lea eax, [esi + 0x130]
mov edx, dword [eax]
cmp edx, ebx
je 0x102403e1
cmp ecx, edx
jge 0x102403e3
mov dword [eax], ecx
sub ecx, dword [eax]
mov dword [ebp + 0xc], ecx
fild dword [ebp + 0xc]
push 0x3e8
fadd qword [0x10085b60]
fstp qword [ebp - 0x18]
call fcn.102d99a4
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fdiv qword [0x10012570]
fdivr qword [ebp - 0x18]
fadd qword [0x10085b60]
call fcn.102f8402
mov ecx, dword [ebp - 8]
mov dword [ebp + 0xc], eax
lea eax, [ebp - 4]
push eax
push dword [esi + 0x84]
mov dword [ebp - 4], ebx
call fcn.10268e7a
mov ecx, dword [ebp - 4]
cmp ecx, ebx
je 0x10240447
mov eax, dword [ecx]
call dword [eax + 0x30]
test eax, 0x40000
je 0x10240447
mov bl, 1
jmp 0x10240449
xor bl, bl
mov ecx, dword [esi + 0x128]
and ecx, 0x400
neg ecx
sbb ecx, ecx
and ecx, 0xfffffff5
add ecx, 0xe
mov edx, ecx
imul edx, dword [ebp + 0xc]
mov eax, 0xff
mov edi, eax
sub edi, edx
test bl, bl
je 0x1024047b
push 0x28
call fcn.102d99a4
jmp 0x10240481
cdq
idiv ecx
add eax, 0x64
test bl, bl
jne 0x10240489
test edi, edi
jg 0x102404b7
cmp dword [ebp + 0xc], eax
jl 0x102404b1
push 0
push dword [ebp + 8]
call fcn.1020e9c2
mov ecx, dword [ebp - 4]
and dword [ebp - 4], 0
test ecx, ecx
je 0x10240546
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x10240546
test edi, edi
jg 0x102404b7
xor edi, edi
push edi
mov ecx, esi
call fcn.1023f27d
mov ecx, dword [ebp - 4]
and dword [ebp - 4], 0
test ecx, ecx
je 0x102404cf
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0x1e
jmp 0x1024050e
test ebx, ebx
jle 0x10240500
cmp edi, ebx
jbe 0x10240500
cmp byte [esi + 0x124], 0
je 0x102404f4
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x114]
test eax, eax
jne 0x10240500
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xf8]
jmp 0x1024051c
mov eax, ebx
cdq
and edx, 7
add eax, edx
push 0
sar eax, 3
push eax
push 0xed4c5
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetTimer]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push 0x113
jmp 0x102405c7
cmp dword [ebp + 0x10], 0x12
jne 0x1024054d
test byte [esi + 0x128], 0x40
je 0x1024054d
cmp eax, ecx
jne 0x10240546
push 0
call fcn.1020e905
xor eax, eax
jmp 0x102405d1
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
jmp 0x102405c7
cmp dword [ebp + 0x10], 0x1b
jne 0x1024029a
test byte [esi + 0x128], 0x40
jne 0x1024029a
mov eax, dword [esi]
call dword [eax + 0xf8]
jmp 0x1024029a
call fcn.1023e8a9
test al, al
jne 0x10240588
push 3
pop eax
jmp 0x102405d1
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push 0x21
jmp 0x102405c7
push 0xed4c5
push dword [ebp + 8]
or bh, bh
adc eax, sym.imp.USER32.dll_KillTimer