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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xa
push 0
push 0
dec ecx
jne 0x4acdd0
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4ad351
push dword fs:[eax]
mov dword fs:[eax], esp
jmp 0x4ad2e7
lea ecx, [ebp - 8]
mov edx, dword [0x4bb040]
mov eax, dword [0x4bb030]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 8]
mov eax, 0x4ad368
call fcn.004041a4
test eax, eax
je 0x4acf99
lea ecx, [ebp - 0x18]
mov edx, 0x4ad37c
mov eax, dword [ebp - 8]
call fcn.00470414
mov eax, dword [ebp - 0x18]
call fcn.00470574
mov dword [0x4bb044], eax
lea ecx, [ebp - 0x1c]
mov edx, 0x4ad388
mov eax, dword [ebp - 8]
call fcn.00470414
mov eax, dword [ebp - 0x1c]
call fcn.00470574
mov dword [0x4bb048], eax
mov eax, dword [0x4bad9c]
mov eax, dword [eax + 0x18]
call fcn.00405248
mov edx, eax
test edx, edx
jl 0x4acea8
inc edx
xor eax, eax
imul ecx, eax, 0x2b
mov ebx, dword [0x4bad9c]
mov ebx, dword [ebx + 0x18]
cmp byte [ebx + ecx*8 + 0xf4], 3
jne 0x4acea4
mov ebx, dword [0x4bad9c]
mov ebx, dword [ebx + 0x18]
mov esi, dword [0x4bb044]
mov dword [ebx + ecx*8 + 0x40], esi
mov ebx, dword [0x4bad9c]
mov ebx, dword [ebx + 0x18]
mov esi, dword [0x4bb048]
mov dword [ebx + ecx*8 + 0x44], esi
inc eax
dec edx
jne 0x4ace68
cmp dword [0x4baddc], 0xffffffff
je 0x4acf25
lea ecx, [ebp - 0x10]
mov edx, dword [0x4baddc]
mov eax, dword [ebp - 4]
call fcn.00499de0
mov eax, dword [0x4baddc]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [0x4bae08]
mov ecx, dword [0x4bb044]
sub ecx, dword [ebp - 0x10]
mov dword [edx + eax*8 + 4], ecx
mov eax, dword [0x4baddc]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [0x4bae08]
mov ecx, dword [0x4bb048]
sub ecx, dword [ebp - 0xc]
mov dword [edx + eax*8 + 8], ecx
mov dword [0x4baf9c], 0xffffffff
push 0x4baee0
lea ecx, [ebp - 0x14]
mov edx, dword [0x4baddc]
mov eax, dword [ebp - 4]
call fcn.00499668
mov byte [0x4b9770], al
mov eax, dword [0x4baf2c]
mov edx, 0x4ad394
call fcn.00403fc8
jne 0x4ad28a
mov ecx, dword [0x4bb048]
add ecx, dword [0x4baf5c]
mov edx, dword [0x4bb044]
add edx, dword [0x4baf58]
mov eax, dword [ebp - 4]
call fcn.00499e80
movsx eax, ax
cmp eax, dword [0x4bafbc]
je 0x4ad28a
mov ecx, dword [0x4bb048]
add ecx, dword [0x4baf5c]
sub ecx, 5
mov edx, dword [0x4bb044]
add edx, dword [0x4baf58]
add edx, 5
mov eax, dword [ebp - 4]
call fcn.004a2d84
mov dword [0x4b979c], eax
jmp 0x4ad28a
mov edx, dword [ebp - 8]
mov eax, 0x4ad3a8
call fcn.004041a4
test eax, eax
je 0x4acfd2
mov byte [0x4b97dc], 1
mov eax, dword [0x4bb044]
push eax
mov eax, dword [0x4bb048]
push eax
mov cl, byte [0x4ad3b8]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004ad4c0
jmp 0x4ad28a
mov edx, dword [ebp - 8]
mov eax, 0x4ad3c4
call fcn.004041a4
test eax, eax
je 0x4acfef
mov byte [0x4b97dc], 0
jmp 0x4ad28a
mov edx, dword [ebp - 8]
mov eax, 0x4ad3d8
call fcn.004041a4
test eax, eax
je 0x4ad028
mov byte [0x4b97e0], 1
mov eax, dword [0x4bb044]
push eax
mov eax, dword [0x4bb048]
push eax
mov cl, byte [0x4ad3b8]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.004ad4c0
jmp 0x4ad28a
mov edx, dword [ebp - 8]
mov eax, 0x4ad3f0
call fcn.004041a4
test eax, eax
je 0x4ad045
mov byte [0x4b97e0], 0
jmp 0x4ad28a
mov edx, dword [ebp - 8]
mov eax, 0x4ad404
call fcn.004041a4
test eax, eax
je 0x4ad1f9
mov eax, dword [0x4bae08]
call fcn.00405240
inc eax
push eax
mov eax, 0x4bae08
mov ecx, 1
mov edx, dword [0x4826b8]
call fcn.004053fc
add esp, 4
mov eax, dword [0x4bae08]
call fcn.00405248
mov ebx, eax
mov esi, ebx
shl esi, 3
sub esi, ebx
mov eax, dword [0x4bae08]
mov dword [eax + esi*8 + 4], 0x31f
mov eax, dword [0x4bae08]
mov dword [eax + esi*8 + 0x10], 2
lea ecx, [ebp - 0x24]
mov edx, dword [0x4bb040]
mov eax, dword [0x4bb030]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x20]
mov edx, 0x4ad420
call fcn.00470414
mov eax, dword [ebp - 0x20]
call fcn.00470574
mov edx, dword [0x4bae08]
mov byte [edx + esi*8], al
lea ecx, [ebp - 0x2c]
mov edx, dword [0x4bb040]
mov eax, dword [0x4bb030]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x28]
mov edx, 0x4ad434
call fcn.00470414
mov eax, dword [ebp - 0x28]
mov edx, 0x4ad444
call fcn.00403fc8
jne 0x4ad11d
mov eax, dword [0x4bae08]
mov byte [eax + esi*8 + 0x14], 1
jmp 0x4ad127
mov eax, dword [0x4bae08]
mov byte [eax + esi*8 + 0x14], 0
lea ecx, [ebp - 0x34]
mov edx, dword [0x4bb040]
mov eax, dword [0x4bb030]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x30]
mov edx, 0x4ad454
call fcn.00470414
mov eax, dword [ebp - 0x30]
mov edx, 0x4ad444
call fcn.00403fc8
jne 0x4ad163
mov eax, dword [0x4bae08]
mov byte [eax + esi*8 + 0x15], 1
call fcn.00402c48
fmul dword [0x4ad45c]
fld xword [0x4ad460]
fmulp st(1)
mov eax, dword [0x4bae08]
fstp qword [eax + esi*8 + 0x20]
wait
mov eax, dword [0x4bae08]
cmp byte [eax + esi*8 + 0x14], 0
je 0x4ad19e
mov edx, dword [0x4bae80]
mov eax, dword [0x4bad9c]
call fcn.004b1524
jmp 0x4ad1ca
lea eax, [ebp - 0x38]
mov edx, dword [0x4bae08]
movzx edx, byte [edx + esi*8]
imul edx, edx, 0x4c
mov ecx, dword [0x4bae04]
lea edx, [ecx + edx*8 + 0x14]
call fcn.00403e5c
mov edx, dword [ebp - 0x38]
mov eax, dword [0x4bad9c]
call fcn.004b1524
shl eax, 2
mov edx, dword [0x4bad9c]
mov edx, dword [edx + 0x14]
mov ecx, 0x249
sub ecx, dword [edx + eax*8 + 0x10]
mov eax, dword [0x4bae08]
mov dword [eax + esi*8 + 8], ecx
mov eax, 0x4baf90
mov edx, ebx
call fcn.00470198
jmp 0x4ad28a
mov edx, dword [ebp - 8]
mov eax, 0x4ad474
call fcn.004041a4
test eax, eax
je 0x4ad244
lea ecx, [ebp - 0x40]
mov edx, dword [0x4bb040]
mov eax, dword [0x4bb030]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x3c]
mov edx, 0x4ad488
call fcn.00470414
mov eax, dword [ebp - 0x3c]
call fcn.00470574
mov dword [0x4baf78], eax
mov eax, dword [ebp - 4]
call fcn.0048bdb8
jmp 0x4ad28a
mov edx, dword [ebp - 8]
mov eax, 0x4ad498
call fcn.004041a4
test eax, eax
je 0x4ad28a
lea ecx, [ebp - 0x48]
mov edx, dword [0x4bb040]
mov eax, dword [0x4bb030]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x44]
mov edx, 0x4ad4ac
call fcn.00470414
mov eax, dword [ebp - 0x44]
call fcn.00470574
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004aa9e4
mov eax, dword [0x4bb030]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, dword [0x4bb040]
jle 0x4ad2a5
inc dword [0x4bb040]
jmp 0x4ad2af
mov eax, dword [ebp - 4]
call fcn.004aec54
jmp 0x4ad32e
lea ecx, [ebp - 0x50]
mov edx, dword [0x4bb040]
mov eax, dword [0x4bb030]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x4c]
mov edx, 0x4ad4b8
call fcn.00470414
mov eax, dword [ebp - 0x4c]
call fcn.00470574
cdq
mov dword [0x4bb038], eax
mov dword [0x4bb03c], edx
call sub.kernel32.dll_GetTickCount
xor edx, edx
push edx
push eax
mov eax, dword [0x4bb034]
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
push edx
push eax
mov eax, dword [0x4b97e4]
cdq
add eax, dword [0x4bb038]
adc edx, dword [0x4bb03c]
cmp edx, dword [esp + 4]
jne 0x4ad326
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x4acdf0
jmp 0x4ad32e
pop edx
pop eax
jle 0x4acdf0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ad358
lea eax, [ebp - 0x50]
mov edx, 0xf
call fcn.00403c5c
lea eax, [ebp - 8]
call fcn.00403c38
ret