Function at 0x4bde3c
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 + 0x1ac], 0xb
je 0x4be080
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1ac], 9
je 0x4be080
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1ac], 0x177c
je 0x4be080
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1ac], 0xd
je 0x4be080
mov eax, dword [ebp - 4]
mov byte [eax + 0x2a8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e8]
cmp dword [eax + 8], 2
jl 0x4bdeac
mov eax, dword [ebp - 4]
mov byte [eax + 0x2a8], 1
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x27c]
mov eax, dword [ebp - 4]
sub edx, dword [eax + 0x274]
mov eax, dword [ebp - 4]
mov si, 0xfff8
call fcn.00403bb0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x27c]
mov eax, dword [ebp - 4]
sub edx, dword [eax + 0x274]
mov eax, dword [ebp - 4]
mov si, 0xfff7
call fcn.00403bb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x27c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1ac], 0
je 0x4bdfec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x27c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x274]
jl 0x4bdf2c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x27c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x278]
jle 0x4bdf3e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x274]
mov edx, dword [ebp - 4]
mov dword [edx + 0x27c], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2a8], 0
je 0x4bdf70
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x294]
add eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x10], eax
fild qword [ebp - 0x14]
fdiv dword [0x4be088]
call fcn.00402c48
mov dword [ebp - 0xc], eax
jmp 0x4bdf7c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x294]
mov dword [ebp - 0xc], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x298]
cmp eax, dword [ebp - 0xc]
jbe 0x4bdfd1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x27c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x278]
jge 0x4bdfbc
mov eax, dword [ebp - 4]
inc dword [eax + 0x27c]
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x298], eax
jmp 0x4bdfd1
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x1ac], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x152], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x2b0], edx
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x2b4], eax
jmp 0x4be058
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x2bc]
cmp eax, 0xc8
jbe 0x4be058
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x2b4]
cmp eax, 0x1f4
jbe 0x4be04c
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x2b4], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x2b0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2b0]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x2b8]
jl 0x4be04c
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x2b0], edx
mov eax, dword [ebp - 4]
mov si, 0xfffe
call fcn.00403bb0
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x27c]
je 0x4be080
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x2c4], eax
mov eax, dword [ebp - 4]
mov si, 0xfff3
call fcn.00403bb0
pop esi
mov esp, ebp
pop ebp
ret