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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb4
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov ebx, eax
cmp dword [ebx + 0x3f0], 0
je 0x4611f0
cmp byte [ebp + 0xc], 0
je 0x4611f0
xor eax, eax
jmp 0x4611f2
mov al, 1
mov byte [ebp - 0x45], al
mov eax, dword [ebx + 0x210]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 8]
jg 0x461207
dec eax
mov dword [ebp - 8], eax
cmp byte [ebp + 0xc], 0
jne 0x461227
mov eax, dword [ebx + 0x210]
mov eax, dword [eax + 0x40]
cmp eax, dword [ebp - 4]
jle 0x461227
mov eax, dword [ebx + 0x210]
mov eax, dword [eax + 0x40]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jg 0x4615b9
cmp word [ebx + 0x31a], 0
jne 0x461241
mov byte [ebp + 8], 0
cmp byte [ebp + 8], 0
je 0x461251
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x34], eax
jmp 0x461256
xor eax, eax
mov dword [ebp - 0x34], eax
mov byte [ebx + 0x3e9], 1
mov eax, dword [ebx + 0x48c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x3f0]
test eax, eax
jne 0x461284
mov eax, dword [ebx + 0x208]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x3e4]
mov dword [ebp - 0x1c], eax
jmp 0x461290
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x3f4]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x2d], 0
mov byte [ebp - 0x39], 0
mov eax, dword [ebx + 0x210]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp byte [ebp + 8], 0
jne 0x4612c3
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.004615c4
mov edi, dword [ebp - 4]
mov eax, dword [ebp - 8]
sub eax, edi
jl 0x4613ef
inc eax
mov dword [ebp - 0x4c], eax
cmp byte [ebp + 8], 0
je 0x4612e4
mov edx, edi
mov eax, ebx
call fcn.004615c4
mov edx, edi
mov eax, dword [ebx + 0x210]
call fcn.0045d02c
mov esi, eax
cmp edi, dword [ebp - 4]
jle 0x461300
mov eax, dword [ebp - 0x2c]
mov dword [esi + 8], eax
jmp 0x461306
mov eax, dword [esi + 8]
mov dword [ebp - 0x2c], eax
cmp byte [ebp + 0xc], 0
jne 0x461316
test byte [esi + 0xc], 4
jne 0x4613c3
cmp byte [ebp + 8], 0
je 0x46134c
call sub.kernel32.dll_GetTickCount
sub eax, dword [ebp - 0x34]
cmp eax, dword [ebx + 0x2ec]
jbe 0x46134c
mov edx, ebx
mov eax, dword [ebx + 0x31c]
call dword [ebx + 0x318]
cmp byte [ebp - 0x2d], 0
je 0x461344
mov byte [ebp - 0x2d], 0
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
push eax
push esi
push edi
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
lea eax, [ebp - 0x18]
push eax
lea eax, [ebx + 0x3fc]
push eax
lea eax, [ebx + 0x400]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x40]
push eax
mov cl, byte [ebp - 0x2d]
xor cl, 1
mov edx, dword [ebp - 0x14]
mov eax, ebx
call fcn.0045f46c
mov byte [ebp - 0x2d], 1
mov eax, dword [ebp - 0x44]
add dword [ebp - 0x24], eax
test byte [esi + 0xc], 0x80
jne 0x4613a1
mov eax, dword [ebp - 0x44]
add dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x224]
call fcn.0045c14c
cmp edi, eax
jne 0x4613cd
mov eax, dword [ebx + 0x224]
mov dword [eax + 0x28], 0xffffffff
mov byte [ebp - 0x39], 1
jmp 0x4613cd
mov eax, esi
call fcn.0045be70
mov dword [ebp - 0x40], eax
lea eax, [edi + 1]
mov edx, dword [ebx + 0x210]
mov dword [edx + 0x40], eax
test byte [esi + 0xc], 0x80
jne 0x4613e5
mov eax, dword [ebp - 0x40]
add dword [ebp - 0x2c], eax
inc edi
dec dword [ebp - 0x4c]
jne 0x4612d5
cmp byte [ebp - 0x2d], 0
je 0x46157a
mov eax, dword [ebx + 0x39c]
cmp eax, dword [ebp - 0x2c]
jle 0x46140f
mov eax, dword [ebp - 0x24]
add dword [ebx + 0x39c], eax
jmp 0x461419
mov dword [ebx + 0x39c], 0xffffffff
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x210]
call fcn.0045d0ac
mov edx, dword [eax + 4]
mov ecx, dword [ebp - 8]
mov eax, dword [ebx + 0x360]
call fcn.0045be90
mov eax, dword [ebx + 0x210]
mov edx, dword [ebp - 0x24]
add dword [eax + 0x24], edx
cmp dword [ebp - 0x28], 0
je 0x461519
mov eax, dword [ebx + 0x210]
mov edx, dword [ebp - 0x28]
add dword [eax + 0x28], edx
mov eax, dword [ebx + 0x210]
mov edx, dword [eax + 0x40]
mov ecx, dword [ebp - 0x28]
call fcn.0045d188
cmp byte [ebp - 0x45], 0
je 0x461519
mov eax, dword [ebx + 0x228]
call fcn.0045c14c
cmp eax, dword [ebp - 4]
jl 0x4614dc
mov eax, dword [ebx + 0x228]
call fcn.0045c434
mov ecx, eax
mov esi, dword [ebx + 0x2e4]
imul ecx, esi
mov edi, dword [ebx + 0x23c]
mov eax, edi
cdq
idiv esi
add ecx, edx
mov eax, ecx
cmp edi, eax
je 0x4614dc
mov dword [ebx + 0x23c], eax
cmp byte [ebx + 0x21d], 0
je 0x4614dc
push 0xffffffffffffffff
mov eax, dword [ebx + 0x23c]
cdq
idiv dword [ebx + 0x3d4]
push eax
push 1
mov eax, ebx
call fcn.0043a2e4
push eax
call sub.user32.dll_SetScrollPos
cmp byte [ebx + 0x248], 0
je 0x4614ee
cmp dword [ebx + 0x2d8], 0
jle 0x461502
mov eax, dword [ebx + 0x490]
cmp eax, dword [ebp - 8]
jle 0x461502
mov eax, dword [ebp - 0x24]
add dword [ebx + 0x490], eax
mov eax, ebx
call fcn.00461824
test al, al
je 0x461519
mov byte [ebx + 0x3e9], 0
jmp 0x4615b9
cmp byte [ebp - 0x45], 0
je 0x46157a
cmp byte [ebp - 0x39], 0
je 0x46152e
xor edx, edx
mov eax, ebx
call fcn.00460f28
cmp byte [ebx + 0x21c], 0
je 0x46157a
mov eax, dword [ebx + 0x48c]
cmp eax, dword [ebp - 0x20]
je 0x46157a
cmp byte [ebx + 0x248], 0
je 0x461554
cmp dword [ebx + 0x2d8], 0
jle 0x46157a
mov eax, ebx
call fcn.004616e8
push 0xffffffffffffffff
mov eax, dword [ebx + 0x238]
cdq
idiv dword [ebx + 0x3d8]
push eax
push 0
mov eax, ebx
call fcn.0043a2e4
push eax
call sub.user32.dll_SetScrollPos
mov byte [ebx + 0x3e9], 0
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x38]
je 0x461597
mov eax, dword [ebx + 0x210]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x40], edx
jmp 0x4615b9
cmp byte [ebp + 8], 0
je 0x4615b9
mov eax, dword [ebx + 0x210]
mov edx, dword [eax + 0x40]
cmp edx, dword [eax + 0xc]
jl 0x4615b9
mov edx, ebx
mov eax, dword [ebx + 0x31c]
call dword [ebx + 0x318]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8