Function at 0x4a3550
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 + 0x148], 0xb
je 0x4a3781
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 9
je 0x4a3781
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 0xd
je 0x4a3781
mov eax, dword [ebp - 4]
mov byte [eax + 0x1e4], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
cmp dword [eax + 8], 2
jl 0x4a35ad
mov eax, dword [ebp - 4]
mov byte [eax + 0x1e4], 1
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x1b8]
mov eax, dword [ebp - 4]
sub edx, dword [eax + 0x1b0]
mov eax, dword [ebp - 4]
mov si, 0xfff8
call fcn.004043ac
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x1b8]
mov eax, dword [ebp - 4]
sub edx, dword [eax + 0x1b0]
mov eax, dword [ebp - 4]
mov si, 0xfff7
call fcn.004043ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 0
je 0x4a36ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b0]
jl 0x4a362d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b4]
jle 0x4a363f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b0]
mov edx, dword [ebp - 4]
mov dword [edx + 0x1b8], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1e4], 0
je 0x4a3671
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1d0]
add eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x10], eax
fild qword [ebp - 0x14]
fdiv dword [0x4a3788]
call fcn.004033b0
mov dword [ebp - 0xc], eax
jmp 0x4a367d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1d0]
mov dword [ebp - 0xc], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x1d4]
cmp eax, dword [ebp - 0xc]
jbe 0x4a36d2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b4]
jge 0x4a36bd
mov eax, dword [ebp - 4]
inc dword [eax + 0x1b8]
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1d4], eax
jmp 0x4a36d2
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x148], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0xee], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x1ec], edx
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1f0], eax
jmp 0x4a3759
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x1fc]
cmp eax, 0xc8
jbe 0x4a3759
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x1f0]
cmp eax, 0x1f4
jbe 0x4a374d
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1f0], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x1ec]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1ec]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1f4]
jl 0x4a374d
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x1ec], edx
mov eax, dword [ebp - 4]
mov si, 0xfffe
call fcn.004043ac
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b8]
je 0x4a3781
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x204], eax
mov eax, dword [ebp - 4]
mov si, 0xfff3
call fcn.004043ac
pop esi
mov esp, ebp
pop ebp
ret