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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov ebx, eax
cmp dword [ebx + 0x3e0], 0
setne byte [ebp - 0x19]
mov ax, word [0x460e8c]
mov word [ebp - 0x1b], ax
mov eax, dword [ebx + 0x238]
cmp eax, dword [ebp - 8]
je 0x460b14
sub eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov ax, word [0x460e90]
mov word [ebp - 0x1b], ax
mov eax, dword [ebp - 0xc]
add dword [ebx + 0x3c4], eax
cmp dword [ebx + 0x408], 0x80000000
je 0x460adb
mov eax, dword [ebp - 0xc]
add dword [ebx + 0x408], eax
mov eax, dword [ebp - 8]
mov dword [ebx + 0x238], eax
cmp byte [ebp - 0x19], 0
je 0x460b19
cmp byte [ebx + 0x21c], 0
je 0x460b19
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
jmp 0x460b19
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x23c]
cmp eax, dword [ebp - 4]
je 0x460b97
sub eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
or word [ebp - 0x1b], 0x80
mov esi, dword [ebp - 4]
mov dword [ebx + 0x23c], esi
cmp byte [ebp - 0x19], 0
je 0x460b5e
mov eax, esi
cdq
idiv dword [ebx + 0x2e4]
mov edx, eax
xor eax, eax
call fcn.0045bcd8
mov edx, eax
mov eax, dword [ebx + 0x228]
call fcn.0045c460
mov eax, dword [ebp - 0x10]
add dword [ebx + 0x3c8], eax
cmp byte [ebp - 0x19], 0
je 0x460b9c
cmp byte [ebx + 0x21d], 0
je 0x460b9c
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
jmp 0x460b9c
xor eax, eax
mov dword [ebp - 0x10], eax
cmp byte [ebp - 0x19], 0
je 0x460e82
cmp dword [ebp - 0xc], 0
jne 0x460bb6
cmp dword [ebp - 0x10], 0
je 0x460e82
cmp dword [ebp + 8], 0
je 0x460d84
cmp byte [ebx + 0x36c], 0
je 0x460bdf
call sub.kernel32.dll_GetTickCount
sub eax, dword [ebx + 0x368]
cmp eax, 0xc8
jbe 0x460d84
mov eax, dword [ebp - 0xc]
add dword [ebx + 0x238], eax
mov eax, dword [ebp - 0x10]
add dword [ebx + 0x23c], eax
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
cdq
xor eax, edx
sub eax, edx
add eax, dword [ebp - 0x18]
mov dword [ebx + 0x368], eax
jmp 0x460d64
call sub.kernel32.dll_GetTickCount
mov esi, eax
cmp esi, dword [ebp - 0x18]
jbe 0x460c0f
cmp dword [ebp + 8], 0
jle 0x460c51
mov ecx, esi
sub ecx, dword [ebx + 0x368]
add ecx, dword [ebp + 8]
mov eax, ecx
imul dword [ebp - 0x10]
mov edx, dword [ebp + 8]
add edx, edx
mov edi, edx
cdq
idiv edi
mov edi, eax
mov eax, ecx
imul dword [ebp - 0xc]
mov edx, dword [ebp + 8]
add edx, edx
mov ecx, edx
cdq
idiv ecx
mov dword [ebp - 0x14], eax
jmp 0x460c6d
mov ecx, dword [ebp - 0x18]
sub ecx, esi
mov eax, ecx
imul dword [ebp - 0x10]
cdq
idiv dword [ebp + 8]
mov edi, eax
mov eax, ecx
imul dword [ebp - 0xc]
cdq
idiv dword [ebp + 8]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x10], 0
jle 0x460c85
inc edi
mov eax, dword [ebx + 0x23c]
sub eax, dword [ebp - 4]
cmp edi, eax
jle 0x460c95
mov edi, eax
jmp 0x460c95
dec edi
mov eax, dword [ebx + 0x23c]
sub eax, dword [ebp - 4]
cmp edi, eax
jge 0x460c95
mov edi, eax
cmp dword [ebp - 0xc], 0
jle 0x460cb1
inc dword [ebp - 0x14]
mov eax, dword [ebx + 0x238]
sub eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x14]
jge 0x460cc5
mov dword [ebp - 0x14], eax
jmp 0x460cc5
dec dword [ebp - 0x14]
mov eax, dword [ebx + 0x238]
sub eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x14]
jle 0x460cc5
mov dword [ebp - 0x14], eax
sub dword [ebx + 0x23c], edi
mov eax, dword [ebp - 0x14]
sub dword [ebx + 0x238], eax
test edi, edi
je 0x460cfb
mov eax, dword [ebx + 0x23c]
cdq
idiv dword [ebx + 0x2e4]
mov edx, eax
xor eax, eax
call fcn.0045bcd8
mov edx, eax
mov eax, dword [ebx + 0x228]
call fcn.0045c460
cmp dword [ebp - 0x14], 0x7fff
jg 0x460d1d
cmp dword [ebp - 0x14], 0xffff8000
jl 0x460d1d
cmp edi, 0x7fff
jg 0x460d1d
cmp edi, 0xffff8000
jge 0x460d26
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x7c]
jmp 0x460d48
lea edx, [ebp - 0x2b]
mov eax, ebx
call fcn.00460ec0
push 0
lea eax, [ebp - 0x2b]
push eax
push edi
mov eax, dword [ebp - 0x14]
push eax
mov eax, ebx
call fcn.0043a2e4
push eax
call sub.user32.dll_ScrollWindow
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x88]
cmp dword [ebp + 8], 0
jle 0x460d61
sub dword [ebp - 0x10], edi
mov eax, dword [ebp - 0x14]
sub dword [ebp - 0xc], eax
mov dword [ebp - 0x18], esi
mov eax, dword [ebx + 0x23c]
cmp eax, dword [ebp - 4]
jne 0x460c0f
mov eax, dword [ebx + 0x238]
cmp eax, dword [ebp - 8]
jne 0x460c0f
jmp 0x460dd6
cmp dword [ebp - 0xc], 0x7fff
jg 0x460da8
cmp dword [ebp - 0xc], 0xffff8000
jl 0x460da8
cmp dword [ebp - 0x10], 0x7fff
jg 0x460da8
cmp dword [ebp - 0x10], 0xffff8000
jge 0x460db1
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x7c]
jmp 0x460dd6
lea edx, [ebp - 0x2b]
mov eax, ebx
call fcn.00460ec0
push 0
lea eax, [ebp - 0x2b]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, ebx
call fcn.0043a2e4
push eax
call sub.user32.dll_ScrollWindow
cmp byte [ebx + 0x36c], 0
je 0x460dea
call sub.kernel32.dll_GetTickCount
mov dword [ebx + 0x368], eax
cmp dword [ebp - 0x10], 0
je 0x460e13
mov eax, dword [ebx + 0x23c]
cdq
idiv dword [ebx + 0x2e4]
mov edx, eax
xor eax, eax
call fcn.0045bcd8
mov edx, eax
mov eax, dword [ebx + 0x228]
call fcn.0045c460
mov eax, ebx
mov si, 0xffb5
call fcn.004034ac
test al, al
je 0x460e29
mov eax, ebx
call fcn.00460ef4
test byte [ebp - 0x1a], 1
je 0x460e47
cmp word [ebx + 0x322], 0
je 0x460e47
mov edx, ebx
mov eax, dword [ebx + 0x324]
call dword [ebx + 0x320]
test byte [ebp - 0x1b], 0x80
je 0x460e65
cmp word [ebx + 0x32a], 0
je 0x460e65
mov edx, ebx
mov eax, dword [ebx + 0x32c]
call dword [ebx + 0x328]
mov ax, word [0x460e8c]
cmp ax, word [ebp - 0x1b]
je 0x460e82
mov cx, word [ebp - 0x1b]
mov edx, dword [ebx + 0x474]
mov eax, ebx
call fcn.00461c3c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4