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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
cmp dword [eax + 0xf50], 1
jne 0x51bc19
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
cmp dword [eax + 0xf68], 0x14
jge 0x51bbcd
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
sub eax, dword [edx + 0xf70]
cmp eax, 0x64
jbe 0x51bddd
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xf68]
mov ecx, 5
cdq
idiv ecx
cmp eax, 4
jne 0x51bb88
mov eax, 6
call fcn.004031e8
inc eax
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov dword [edx + 0xf5c], eax
jmp 0x51bbab
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xf68]
mov ecx, 5
cdq
idiv ecx
add eax, 8
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov dword [edx + 0xf5c], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov dword [edx + 0xf70], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
inc dword [eax + 0xf68]
jmp 0x51bddd
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xf58]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov dword [edx + 0xf5c], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
sub eax, dword [edx + 0xf70]
cmp eax, 0x5dc
jbe 0x51bddd
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x39c]
xor edx, edx
call fcn.0049ad58
jmp 0x51bddd
mov byte [ebp - 5], 1
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
cmp dword [eax + 0xf50], 0
jle 0x51bdc4
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0xf50]
dec eax
test eax, eax
jl 0x51bdc4
inc eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], 0
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov eax, dword [edx + eax*4 + 0xf68]
mov edx, dword [ebp - 4]
mov ecx, edx
shl edx, 3
sub edx, ecx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx - 4]
cmp eax, dword [ecx + edx*4 + 0xf6c]
jge 0x51bd63
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov ecx, edx
shl edx, 3
sub edx, ecx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx - 4]
sub eax, dword [ecx + edx*4 + 0xf70]
cmp eax, 0x64
jbe 0x51bd5d
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov eax, dword [edx + eax*4 + 0xf68]
mov ecx, 5
cdq
idiv ecx
cmp eax, 4
jne 0x51bcf1
mov eax, 6
call fcn.004031e8
inc eax
mov edx, dword [ebp - 4]
mov ecx, edx
shl edx, 3
sub edx, ecx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx - 4]
mov dword [ecx + edx*4 + 0xf5c], eax
jmp 0x51bd2a
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov eax, dword [edx + eax*4 + 0xf68]
mov ecx, 5
cdq
idiv ecx
add eax, 8
mov edx, dword [ebp - 4]
mov ecx, edx
shl edx, 3
sub edx, ecx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx - 4]
mov dword [ecx + edx*4 + 0xf5c], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov ecx, edx
shl edx, 3
sub edx, ecx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx - 4]
mov dword [ecx + edx*4 + 0xf70], eax
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
inc dword [edx + eax*4 + 0xf68]
mov byte [ebp - 5], 0
jmp 0x51bdb8
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov eax, dword [edx + eax*4 + 0xf58]
mov edx, dword [ebp - 4]
mov ecx, edx
shl edx, 3
sub edx, ecx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx - 4]
mov dword [ecx + edx*4 + 0xf5c], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov ecx, edx
shl edx, 3
sub edx, ecx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx - 4]
sub eax, dword [ecx + edx*4 + 0xf70]
cmp eax, 0x7d0
jae 0x51bdb8
mov byte [ebp - 5], 0
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x51bc50
cmp byte [ebp - 5], 0
je 0x51bddd
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x39c]
xor edx, edx
call fcn.0049ad58
mov esp, ebp
pop ebp
ret