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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cf7f5
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x18
push esi
push edi
mov eax, dword [0x655140]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [esi + 0x1e8]
mov edx, 0x2711
call fcn.00434090
mov eax, dword [ebx + 8]
dec eax
cmp eax, 3
ja case.default.0x404e5a
jmp dword [eax*4 + 0x40510c]
mov ecx, dword [esi + 0x188]
push 0
mov eax, dword [ecx]
call dword [eax + 0xcc]
mov ecx, dword [esi + 0x18c]
mov eax, dword [ecx]
call dword [eax + 0x13c]
mov edi, dword [esi + 0x18c]
mov ecx, edi
mov eax, dword [edi]
mov eax, dword [eax + 0xd0]
call eax
test eax, eax
je 0x404eb9
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x98]
call eax
test eax, eax
je 0x404eb9
mov ecx, dword [edi + 0x44]
sub esp, 0x10
movups xmm0, xmmword [edi + 0x58]
mov eax, esp
mov edx, dword [ecx]
movups xmmword [eax], xmm0
call dword [edx + 0x30]
mov ecx, dword [esi + 0x190]
push 0
mov eax, dword [ecx]
call dword [eax + 0xcc]
mov ecx, dword [esi + 0x194]
push 0
mov eax, dword [ecx]
call dword [eax + 0xcc]
cmp byte [esi + 0x1b0], 0
je 0x404ef2
mov ecx, dword [esi + 0x1a8]
push 0
mov eax, dword [ecx]
call dword [eax + 0xcc]
mov ecx, dword [esi + 0x198]
test ecx, ecx
je 0x404f06
mov eax, dword [ecx]
push 1
call dword [eax + 0xcc]
mov ecx, dword [esi + 0x1c4]
test ecx, ecx
je case.default.0x404e5a
push 1
jmp 0x4050dd
mov edi, dword [esi + 0x1e8]
test edi, edi
je 0x404f73
mov word [ebp - 0x28], 0x101
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0x2711
mov dword [ebp - 0x1c], 0xea60
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [edi]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx]
mov dword [ebp - 0x14], eax
push edi
mov dword [ebp - 4], 0
call dword [ecx + 4]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x24], edi
call fcn.00433f00
mov dword [ebp - 4], 0xffffffff
mov eax, dword [edi]
push edi
call dword [eax + 8]
cmp dword [esi + 0x1a0], 0
je case.default.0x404e5a
mov ecx, dword [esi + 0x18c]
push 0xffffffffffffffff
push 0x64
mov eax, dword [ecx]
call dword [eax + 0x138]
mov ecx, dword [esi + 0x188]
push 1
mov eax, dword [ecx]
call dword [eax + 0xcc]
mov ecx, dword [esi + 0x190]
push 0
mov eax, dword [ecx]
call dword [eax + 0xcc]
push 0
mov ecx, dword [esi + 0x194]
mov eax, dword [ecx]
call dword [eax + 0xcc]
cmp byte [esi + 0x1b0], 0
je 0x4050bd
mov ecx, dword [esi + 0x1a8]
push 0
jmp 0x4050b5
mov ecx, dword [esi + 0x18c]
mov eax, dword [ecx]
call dword [eax + 0x13c]
mov ecx, dword [esi + 0x188]
push 0
mov eax, dword [ecx]
call dword [eax + 0xcc]
mov ecx, dword [esi + 0x190]
push 0
mov eax, dword [ecx]
call dword [eax + 0xcc]
push 1
jmp 0x404fb4
mov ecx, dword [esi + 0x18c]
mov eax, dword [ecx]
call dword [eax + 0x13c]
mov ecx, dword [esi + 0x188]
push 0
mov eax, dword [ecx]
call dword [eax + 0xcc]
mov ecx, dword [esi + 0x194]
push 0
mov eax, dword [ecx]
call dword [eax + 0xcc]
cmp byte [esi + 0x1b0], 0
je 0x4050ad
mov edi, dword [esi + 0x1e8]
test edi, edi
je 0x40509d
mov word [ebp - 0x28], 0x101
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0x2712
mov dword [ebp - 0x1c], 0x1388
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [edi]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx]
mov dword [ebp - 0x14], eax
push edi
mov dword [ebp - 4], 1
call dword [ecx + 4]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x24], edi
call fcn.00433f00
mov dword [ebp - 4], 0xffffffff
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov ecx, dword [esi + 0x1a8]
push 1
mov eax, dword [ecx]
call dword [eax + 0xcc]
mov ecx, dword [esi + 0x190]
push 1
mov eax, dword [ecx]
call dword [eax + 0xcc]
mov ecx, dword [esi + 0x198]
test ecx, ecx
je 0x4050d1
mov eax, dword [ecx]
push 0
call dword [eax + 0xcc]
mov ecx, dword [esi + 0x1c4]
test ecx, ecx
je case.default.0x404e5a
push 0
mov eax, dword [ecx]
push ecx
call dword [eax + 0x14]
mov eax, dword [ebx + 8]
mov ecx, esi
mov dword [esi + 0x1dc], eax
call fcn.0042f110
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4