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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
push ebx
push esi
push edi
mov ebx, eax
cmp byte [ebx + 0x31c], 0
jne 0x5f2c07
xor eax, eax
push ebp
push 0x5f2bfd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
call fcn.005f27c4
fstp qword [ebp - 8]
wait
mov eax, dword [ebx + 0x314]
call fcn.0042d6d0
call fcn.004286e4
mov eax, dword [ebx + 0x314]
mov dl, 6
call fcn.0042e6e0
call sub.KERNEL32.DLL_GetTickCount
xor edx, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov eax, dword [0x660400]
mov eax, dword [eax]
call fcn.00469494
dec eax
jne 0x5f2a1b
mov edx, dword [ebx + 0x314]
mov eax, dword [ebx + 0x2f0]
call fcn.0058115c
mov eax, dword [0x65fe64]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
cmp byte [eax + 0x1b8], 0
je 0x5f29cc
mov eax, dword [ebx + 0x314]
mov edx, dword [eax]
call dword [edx + 0x20]
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x2c]
fmul qword [ebp - 8]
call fcn.00402cc0
push eax
push 9
mov eax, dword [ebx + 0x314]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov dword [ebp - 0x30], eax
fild dword [ebp - 0x30]
fmul qword [ebp - 8]
call fcn.00402cc0
mov ecx, eax
mov eax, dword [ebx + 0x318]
mov edx, dword [eax]
mov eax, dword [ebx + 0x2f0]
call fcn.0057284c
jmp 0x5f2bd7
mov eax, dword [ebx + 0x314]
mov edx, dword [eax]
call dword [edx + 0x20]
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x2c]
fmul qword [ebp - 8]
call fcn.00402cc0
push eax
push 0
mov eax, dword [ebx + 0x314]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov dword [ebp - 0x30], eax
fild dword [ebp - 0x30]
fmul qword [ebp - 8]
call fcn.00402cc0
mov ecx, eax
mov eax, dword [ebx + 0x318]
mov edx, dword [eax]
mov eax, dword [ebx + 0x2f0]
call fcn.0057284c
jmp 0x5f2bd7
mov eax, dword [0x660400]
mov eax, dword [eax]
call fcn.00469494
mov edi, eax
dec edi
test edi, edi
jl 0x5f2bd7
inc edi
xor esi, esi
mov dl, 1
mov eax, dword [0x426a24]
call fcn.0042d108
mov dword [ebp - 0xc], eax
mov eax, dword [0x65fe64]
mov eax, dword [eax]
cmp byte [eax + 0x4b0], 0
je 0x5f2a5e
xor edx, edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x6c]
mov eax, dword [0x660400]
mov eax, dword [eax]
mov edx, esi
call fcn.00469480
lea edx, [ebp - 0x28]
call fcn.004691e8
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebp - 0xc]
call fcn.0042d6d0
call fcn.004286e4
push 0xcc0020
mov eax, dword [0x660400]
mov eax, dword [eax]
call fcn.00469450
mov edx, dword [ebp - 0x24]
sub edx, eax
push edx
mov eax, dword [0x660400]
mov eax, dword [eax]
call fcn.0046945c
mov edx, dword [ebp - 0x28]
sub edx, eax
push edx
mov eax, dword [ebx + 0x314]
call fcn.0042d6d0
call fcn.00428bf8
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x2c]
push eax
push 0
push 0
mov eax, dword [ebp - 0xc]
call fcn.0042d6d0
call fcn.00428bf8
push eax
call sub.gdi32.dll_BitBlt
mov eax, dword [ebp - 0xc]
call fcn.0042d6d0
call fcn.00428acc
mov dl, 6
mov eax, dword [ebp - 0xc]
call fcn.0042e6e0
mov eax, dword [ebx + 0x2f0]
mov edx, dword [ebp - 0xc]
call fcn.0058115c
mov eax, dword [0x65fe64]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
cmp byte [eax + 0x1b8], 0
je 0x5f2b82
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x20]
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x2c]
fmul qword [ebp - 8]
call fcn.00402cc0
push eax
push 9
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov dword [ebp - 0x30], eax
fild dword [ebp - 0x30]
fmul qword [ebp - 8]
call fcn.00402cc0
mov ecx, eax
mov eax, dword [ebx + 0x318]
mov edx, dword [eax + esi*4]
mov eax, dword [ebx + 0x2f0]
call fcn.0057284c
jmp 0x5f2bc7
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x20]
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x2c]
fmul qword [ebp - 8]
call fcn.00402cc0
push eax
push 0
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov dword [ebp - 0x30], eax
fild dword [ebp - 0x30]
fmul qword [ebp - 8]
call fcn.00402cc0
mov ecx, eax
mov eax, dword [ebx + 0x318]
mov edx, dword [eax + esi*4]
mov eax, dword [ebx + 0x2f0]
call fcn.0057284c
lea eax, [ebp - 0xc]
call fcn.0040ea20
inc esi
dec edi
jne 0x5f2a35
call sub.KERNEL32.DLL_GetTickCount
mov eax, dword [ebx + 0x314]
call fcn.0042d6d0
call fcn.00428acc
mov byte [ebx + 0x31c], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5f2c07
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret