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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov esi, 0x562d38
mov edi, 0x562d4c
cmp dword [0x536654], 0
jne 0x4ec446
mov dword [0x536654], 1
xor eax, eax
mov dword [0x562d3c], eax
xor edx, edx
mov dword [0x562d40], edx
mov dword [esi], ebx
cmp dword [esi], 0
je 0x4ec125
push dword [esi]
call fcn.004eae08
test eax, eax
je 0x4ec119
mov eax, dword [esi]
cmp dword [eax + 0x84], 0
jne 0x4ec115
cmp dword [eax + 0x80], 0
je 0x4ec119
mov ebx, dword [esi]
jmp 0x4ec156
xor eax, eax
mov dword [0x536654], eax
jmp 0x4ec446
mov ebx, dword [0x536644]
test ebx, ebx
je 0x4ec3f3
cmp dword [esi], 0
jne 0x4ec3f3
cmp dword [ebx + 0x84], 0
jne 0x4ec14e
cmp dword [ebx + 0x80], 0
je 0x4ec156
mov ebx, dword [ebx + 0x484]
jmp 0x4ec12b
cmp dword [ebx + 0x94], 0
jne 0x4ec180
cmp dword [0x52b4d4], 0
je 0x4ec171
cmp dword [0x537b60], 0xffffffff
jne 0x4ec180
mov dword [ebx + 0x68], 0xffffffff
mov ebx, dword [ebx + 0x484]
jmp 0x4ec12b
cmp dword [ebx + 0x70], 0
jl 0x4ec1dd
cmp dword [ebx + 0x74], 0
jl 0x4ec1dd
push 0x562d44
call fcn.00526a3c
pop ecx
xor eax, eax
mov al, byte [0x562d45]
cmp eax, dword [ebx + 0x70]
jne 0x4ec1d2
xor eax, eax
mov al, byte [0x562d44]
cmp eax, dword [ebx + 0x74]
jl 0x4ec1d2
mov edx, dword [ebx + 0x74]
inc edx
cmp eax, edx
jg 0x4ec1d2
mov dword [ebx + 0x70], 0xffffffff
mov dword [ebx + 0x74], 0xffffffff
call sub.KERNEL32.dll_GetTickCount
mov dword [ebx + 0x88], eax
jmp 0x4ec1dd
mov ebx, dword [ebx + 0x484]
jmp 0x4ec12b
cmp dword [0x562d40], 0
je 0x4ec1f7
cmp dword [ebx + 0x78], 0
jne 0x4ec1f7
mov ebx, dword [ebx + 0x484]
jmp 0x4ec12b
call sub.KERNEL32.dll_GetTickCount
mov dword [0x562d48], eax
mov ecx, dword [0x562d48]
sub ecx, dword [ebx + 0x88]
mov dword [edi], ecx
cmp dword [ebx + 0x84], 0
jne 0x4ec221
cmp dword [ebx + 0x80], 0
je 0x4ec251
mov eax, dword [edi]
cmp eax, dword [ebx + 0x64]
jge 0x4ec233
mov ebx, dword [ebx + 0x484]
jmp 0x4ec12b
mov edx, dword [ebx + 0x64]
sub dword [edi], edx
cmp dword [ebx + 0x78], 0
je 0x4ec28b
mov ecx, dword [edi]
cmp ecx, dword [ebx + 0x64]
jl 0x4ec28b
mov dword [0x562d3c], 1
jmp 0x4ec28b
imul eax, dword [ebx + 0x64], 0x3e8
cmp eax, dword [edi]
jle 0x4ec267
mov ebx, dword [ebx + 0x484]
jmp 0x4ec12b
imul edx, dword [ebx + 0x64], 0x3e8
sub dword [edi], edx
cmp dword [ebx + 0x78], 0
je 0x4ec28b
imul ecx, dword [ebx + 0x64], 0x3e8
cmp ecx, dword [edi]
jg 0x4ec28b
mov dword [0x562d3c], 1
mov eax, dword [0x562d48]
sub eax, dword [edi]
mov dword [ebx + 0x88], eax
lea edx, [ebx + 0x98]
push esi
push edi
mov edi, edx
mov esi, 0x562d50
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push dword [ebx + 0x8c]
call fcn.004f9c59
test eax, eax
jne 0x4ec2e0
mov eax, dword [0x537430]
mov dword [ebx + 0x8c], eax
cmp dword [ebx + 0x68], 0
jle 0x4ec2f6
dec dword [ebx + 0x68]
cmp dword [ebx + 0x68], 0
jg 0x4ec2f6
mov dword [ebx + 0x68], 0xffffffff
mov eax, dword [esi]
test eax, eax
je 0x4ec330
push eax
call fcn.004eae08
test eax, eax
je 0x4ec330
mov edx, dword [esi]
cmp dword [edx + 0x68], 0xffffffff
jne 0x4ec330
mov ecx, dword [esi]
mov eax, dword [ecx + 0x84]
test eax, eax
je 0x4ec326
push eax
push dword [0x537420]
call sub.USER32.dll_KillTimer
mov edx, dword [esi]
xor ecx, ecx
mov dword [edx + 0x84], ecx
mov dword [ebx + 0x6c], 0xffffffff
mov eax, dword [ebx + 0x484]
mov dword [0x562d34], eax
push dword [ebx + 0x480]
call fcn.004d88e4
test eax, eax
jne 0x4ec359
xor edx, edx
mov dword [ebx + 0x480], edx
push dword [ebx + 0x480]
push 0
push dword [ebx + 0x7c]
push 0
push 0x562d50
push dword [ebx + 0x8c]
call fcn.00489ea4
push ebx
call fcn.004eae08
test eax, eax
je 0x4ec3c7
cmp dword [ebx + 0x68], 0xffffffff
jne 0x4ec3c0
cmp dword [ebx + 0x90], 0
je 0x4ec3c0
push ebx
push 0
push 0x157d
call fcn.00415c87
push eax
push 0x562d50
call sub.USER32.dll_wsprintfA
add esp, 0xc
push dword [0x52a380]
push 0x562d50
push dword [ebx + 0x8c]
call fcn.004c8c63
xor ecx, ecx
mov dword [ebx + 0x6c], ecx
jmp 0x4ec3e5
mov eax, dword [0x562d34]
test eax, eax
je 0x4ec3f3
push eax
call fcn.004eae08
test eax, eax
je 0x4ec3f3
mov ebx, dword [0x562d34]
jmp 0x4ec12b
mov ebx, dword [ebx + 0x484]
test ebx, ebx
jne 0x4ec133
mov eax, dword [esi]
test eax, eax
je 0x4ec414
push eax
call fcn.004eae08
test eax, eax
je 0x4ec414
mov edx, dword [esi]
cmp dword [edx + 0x68], 0xffffffff
jne 0x4ec41b
push 2
call fcn.004eaebc
jmp 0x4ec41b
push 2
call fcn.004eaebc
cmp dword [0x562d3c], 0
je 0x4ec43f
xor ecx, ecx
mov dword [0x562d3c], ecx
inc dword [0x562d40]
cmp dword [0x562d40], 0x64
jl 0x4ec0f1
xor eax, eax
mov dword [0x536654], eax
pop edi
pop esi
pop ebx
pop ebp
ret 4