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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa4
push ebx
xor ebx, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4cbc37
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xd], 0
call sub.kernel32.dll_GetTickCount
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x608]
cmp eax, 0x258
jbe 0x4cb85e
jmp 0x4cb872
mov eax, dword [ebp - 4]
inc dword [eax + 0x610]
mov eax, dword [ebp - 4]
inc dword [eax + 0x614]
jmp 0x4cb892
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x610], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x614], 0
jle 0x4cb892
mov eax, dword [ebp - 4]
dec dword [eax + 0x614]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x610], 4
jge 0x4cbb77
mov eax, dword [ebp - 4]
cmp dword [eax + 0x614], 6
jge 0x4cbb77
mov eax, dword [ebp - 4]
cmp byte [eax + 0x304], 0
jne 0x4cbc19
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x24]
jne 0x4cbb6e
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x28]
jne 0x4cbb6e
mov byte [ebp - 0xd], 1
call sub.kernel32.dll_GetTickCount
mov edx, dword [ebp - 4]
mov dword [edx + 0x608], eax
cmp dword [ebp - 8], 0xbc7
jne 0x4cb9d3
mov eax, dword [ebp - 4]
cmp word [eax + 0x43c], 0
jbe 0x4cb9d3
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.004b2790
test al, al
je 0x4cb9d3
push 0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
call fcn.004b5ed0
test al, al
jne 0x4cb9d3
mov eax, dword [ebp - 4]
movzx edx, word [eax + 0x43c]
mov eax, dword [0x4ea490]
mov eax, dword [eax]
call fcn.004ac2f8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x4cb9d3
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x10], 0x13
jne 0x4cb9d3
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.004cb64c
test al, al
je 0x4cb98d
mov ecx, 0x4cbc50
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004cab38
mov eax, dword [ebp - 4]
sub dword [eax + 0x370], 0x1e
mov eax, dword [ebp - 4]
sub dword [eax + 0x374], 0x32
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x374]
xor eax, eax
call fcn.004545a8
mov edx, dword [ebp - 4]
mov dword [edx + 0x374], eax
mov eax, dword [ebp - 4]
sub dword [eax + 0x254], 2
mov eax, dword [ebp - 4]
sub dword [eax + 0x25c], 2
jmp 0x4cbc19
cmp dword [ebp - 8], 0xbc6
jne 0x4cb9ed
mov ax, word [ebp + 8]
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004c2c50
cmp dword [ebp - 8], 0xbc7
jne 0x4cba09
mov ax, word [ebp + 8]
push eax
mov cx, 1
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004c2c50
cmp dword [ebp - 8], 0xbc8
jne 0x4cba25
mov ax, word [ebp + 8]
push eax
mov cx, 2
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004c2c50
cmp dword [ebp - 8], 0xbca
jne 0x4cba41
mov ax, word [ebp + 8]
push eax
mov cx, 3
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004c2c50
cmp dword [ebp - 8], 0xbcb
jne 0x4cba5d
mov ax, word [ebp + 8]
push eax
mov cx, 4
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004c2c50
cmp dword [ebp - 8], 0xbd0
jne 0x4cba79
mov ax, word [ebp + 8]
push eax
mov cx, 5
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004c2c50
cmp dword [ebp - 8], 0xbd1
jne 0x4cba95
mov ax, word [ebp + 8]
push eax
mov cx, 7
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004c2c50
mov eax, dword [ebp - 4]
cmp dword [eax + 0x51c], 0
je 0x4cbb28
mov eax, dword [ebp - 4]
cmp word [eax + 0x43c], 0
jbe 0x4cbb28
mov eax, dword [ebp - 4]
dec dword [eax + 0x330]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x334]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x330]
jne 0x4cbae8
mov eax, dword [ebp - 4]
mov byte [eax + 0x52c], 1
mov ecx, 0x4cbc60
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004cab38
mov eax, dword [ebp - 4]
cmp dword [eax + 0x330], 0
jg 0x4cbb28
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x51c]
movzx eax, byte [eax + 6]
mov edx, 7
sub edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x330], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x330]
call fcn.00402b78
mov edx, dword [ebp - 4]
mov dword [edx + 0x334], eax
mov eax, dword [ebp - 4]
sub dword [eax + 0x370], 0x1e
mov eax, dword [ebp - 4]
sub dword [eax + 0x374], 0x64
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x374]
xor eax, eax
call fcn.004545a8
mov edx, dword [ebp - 4]
mov dword [edx + 0x374], eax
mov eax, dword [ebp - 4]
sub dword [eax + 0x254], 2
mov eax, dword [ebp - 4]
sub dword [eax + 0x25c], 2
jmp 0x4cbc19
mov byte [ebp - 0xd], 0
jmp 0x4cbc19
call sub.kernel32.dll_GetTickCount
mov edx, dword [ebp - 4]
mov dword [edx + 0x608], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x624]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x624], 8
jle 0x4cbba4
mov eax, dword [ebp - 4]
mov byte [eax + 0x5d4], 1
mov eax, dword [0x4ea04c]
cmp byte [eax], 0
je 0x4cbc19
mov edx, 0x4cbc68
lea eax, [ebp - 0x3c]
call fcn.00402a18
mov eax, dword [ebp - 4]
lea edx, [eax + 0x15]
lea eax, [ebp - 0x3c]
mov cl, 0x1a
call fcn.004029e8
lea edx, [ebp - 0x3c]
lea eax, [ebp - 0x58]
call fcn.00402a18
mov edx, 0x4cbc78
lea eax, [ebp - 0x58]
mov cl, 0x1b
call fcn.004029e8
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x20]
call fcn.00403e70
lea eax, [ebp - 0x20]
push eax
call fcn.0040a548
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x5c]
call fcn.0040b190
mov edx, dword [ebp - 0x5c]
pop eax
call fcn.00403ed4
mov eax, dword [ebp - 0x20]
call fcn.004e4274
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cbc3e
lea eax, [ebp - 0x5c]
call fcn.00403c4c
lea eax, [ebp - 0x20]
call fcn.00403c4c
ret