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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
push edi
mov dword [ebp - 4], eax
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x10], eax
mov byte [ebp - 0x15], 0
mov eax, dword [0x4ea344]
cmp byte [eax], 0
je 0x4e1eea
xor eax, eax
push ebp
push 0x4e1ed6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4ea040]
cmp dword [eax], 0
jle 0x4e1d86
call sub.kernel32.dll_GetTickCount
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x4fc]
cmp eax, 0x64
jb 0x4e1d86
call sub.kernel32.dll_GetTickCount
mov edx, dword [ebp - 4]
mov dword [edx + 0x4fc], eax
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
lea eax, [edx + eax*4 + 0x500]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x2c], 0
je 0x4e1d7d
mov eax, dword [0x4ea040]
mov eax, dword [eax]
dec eax
test eax, eax
jl 0x4e1d7d
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc], 0
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004e0860
inc dword [ebp - 0xc]
dec dword [ebp - 0x1c]
jne 0x4e1d6a
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x14
jne 0x4e1d34
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
lea eax, [edx + eax*4 + 0x500]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x2c], 0
je 0x4e1df2
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x48], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004e1930
test al, al
jne 0x4e1de3
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x4c], eax
jmp 0x4e1dfb
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x4c], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x14
jne 0x4e1d8b
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
cmp dword [edx + eax*4 + 0x504], 0
je 0x4e1ebf
mov eax, dword [ebp - 8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
lea eax, [edx + eax*4 + 0x500]
mov dword [ebp - 0x14], eax
call sub.kernel32.dll_GetTickCount
mov edx, dword [ebp - 0x14]
sub eax, dword [edx + 0x50]
cmp eax, 0x3e8
jb 0x4e1e75
call sub.kernel32.dll_GetTickCount
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [eax + 0x54], edx
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [eax + 0x5c], edx
mov eax, dword [ebp - 8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
cmp byte [edx + eax*4 + 0x534], 0
je 0x4e1ebf
mov eax, dword [ebp - 8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov byte [edx + eax*4 + 0x534], 0
mov eax, dword [ebp - 8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + eax*4 + 0x504]
mov ecx, 3
mov eax, dword [ebp - 4]
call fcn.004e0984
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x14
jne 0x4e1e00
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4e1eea
call sub.kernel32.dll_GetTickCount
sub eax, dword [ebp - 0x10]
mov edx, dword [0x4ea500]
mov dword [edx], eax
mov eax, dword [0x4ea500]
mov eax, dword [eax]
mov edx, dword [0x4e9fa0]
cmp eax, dword [edx]
jle 0x4e1f1a
mov eax, dword [0x4ea500]
mov eax, dword [eax]
mov edx, dword [0x4e9fa0]
mov dword [edx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret