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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push esi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 0xb
je 0x4c8751
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 9
je 0x4c8751
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 0xd
je 0x4c8751
mov eax, dword [ebp - 4]
mov byte [eax + 0x240], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x27c]
cmp dword [eax + 8], 2
jl 0x4c857d
mov eax, dword [ebp - 4]
mov byte [eax + 0x240], 1
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x214]
mov eax, dword [ebp - 4]
sub edx, dword [eax + 0x20c]
mov eax, dword [ebp - 4]
mov si, 0xfff8
call fcn.00403b30
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x214]
mov eax, dword [ebp - 4]
sub edx, dword [eax + 0x20c]
mov eax, dword [ebp - 4]
mov si, 0xfff7
call fcn.00403b30
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1a8], 0
je 0x4c86bd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x20c]
jl 0x4c85fd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x210]
jle 0x4c860f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x214], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x240], 0
je 0x4c8641
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
add eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x10], eax
fild qword [ebp - 0x14]
fdiv dword [0x4c8758]
call fcn.00402bf8
mov dword [ebp - 0xc], eax
jmp 0x4c864d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov dword [ebp - 0xc], eax
call fcn.00406bb0
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x230]
cmp eax, dword [ebp - 0xc]
jbe 0x4c86a2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x214]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x210]
jge 0x4c868d
mov eax, dword [ebp - 4]
inc dword [eax + 0x214]
call fcn.00406bb0
mov edx, dword [ebp - 4]
mov dword [edx + 0x230], eax
jmp 0x4c86a2
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x1a8], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x14e], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x248], edx
call fcn.00406bb0
mov edx, dword [ebp - 4]
mov dword [edx + 0x24c], eax
jmp 0x4c8729
call fcn.00406bb0
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x258]
cmp eax, 0xc8
jbe 0x4c8729
call fcn.00406bb0
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x24c]
cmp eax, 0x1f4
jbe 0x4c871d
call fcn.00406bb0
mov edx, dword [ebp - 4]
mov dword [edx + 0x24c], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x248]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x248]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x250]
jl 0x4c871d
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x248], edx
mov eax, dword [ebp - 4]
mov si, 0xfffe
call fcn.00403b30
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x214]
je 0x4c8751
call fcn.00406bb0
mov edx, dword [ebp - 4]
mov dword [edx + 0x260], eax
mov eax, dword [ebp - 4]
mov si, 0xfff3
call fcn.00403b30
pop esi
mov esp, ebp
pop ebp
ret