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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
push esi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 4], eax
mov byte [ebp - 5], 0
mov byte [ebp - 0x15], 0
mov byte [ebp - 0x16], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 9
jne 0x4cc5d9
mov byte [ebp - 0x15], 1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 6
je 0x4cc5f1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 7
jne 0x4cc5f5
mov byte [ebp - 0x16], 1
mov eax, dword [0x5685c0]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
jne 0x4cc75a
cmp byte [ebp - 0x15], 0
jne 0x4cc75a
cmp byte [ebp - 0x16], 0
jne 0x4cc75a
mov eax, dword [0x568aa4]
mov byte [eax], 0
mov eax, dword [0x5685bc]
mov byte [eax], 0
mov eax, dword [0x5685d4]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x50]
mov edx, dword [ebp - 4]
cmp ax, word [edx + 0x52]
jbe 0x4cc666
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x50]
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x52]
mov ecx, edx
xor edx, edx
div ecx
mov edx, dword [0x5685d4]
mov dword [edx], eax
mov eax, dword [0x568aa4]
mov byte [eax], 1
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x54]
mov edx, dword [ebp - 4]
cmp al, byte [edx + 0x55]
jbe 0x4cc698
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x54]
mov edx, dword [ebp - 4]
movzx edx, byte [edx + 0x55]
mov ecx, edx
xor edx, edx
div ecx
mov edx, dword [0x5685d4]
add dword [edx], eax
mov eax, dword [0x568aa4]
mov byte [eax], 1
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x56]
mov edx, dword [ebp - 4]
cmp al, byte [edx + 0x57]
jbe 0x4cc6ae
mov eax, dword [0x5685bc]
mov byte [eax], 1
mov eax, dword [0x568aa4]
cmp byte [eax], 0
je 0x4cc6d8
mov eax, dword [0x5685d4]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1f8]
jle 0x4cc6d8
mov eax, dword [ebp - 4]
inc dword [eax + 0x1f8]
jmp 0x4ccb69
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x1f8], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 0xb
je 0x4cc71f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 9
je 0x4cc71f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 0xd
je 0x4cc71f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 6
je 0x4cc71f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 7
jne 0x4cc75a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x1b0]
dec eax
je 0x4cc73b
sub eax, 3
je 0x4cc74b
jmp 0x4cc75a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x17c]
call fcn.004c7f90
jmp 0x4cc75a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x17c]
inc eax
call fcn.004c7f90
mov byte [ebp - 5], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x1e4], 0
mov eax, dword [0x5685c0]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
je 0x4cc78d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
cmp dword [eax + 8], 2
jl 0x4cc78d
mov eax, dword [ebp - 4]
mov byte [eax + 0x1e4], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 0xb
je 0x4cc7cd
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 0xd
je 0x4cc7cd
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 6
je 0x4cc7cd
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 7
jne 0x4cc9cf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b0]
jl 0x4cc7f5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b4]
jle 0x4cc808
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b0]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x1b8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b4]
jge 0x4cc8a5
mov eax, dword [ebp - 4]
inc dword [eax + 0x1b8]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1e4], 0
je 0x4cc858
cmp byte [ebp - 0x16], 0
jne 0x4cc858
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b4]
jge 0x4cc858
mov eax, dword [ebp - 4]
inc dword [eax + 0x1b8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x1b0]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b4]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x1b0]
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dl, byte [eax + 0xc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1e0]
mov eax, dword [ebp - 4]
call fcn.004ca244
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b4]
jl 0x4cc921
mov eax, dword [0x5685c0]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
jne 0x4cc8fa
mov eax, dword [0x568774]
mov eax, dword [eax]
call fcn.00494738
test al, al
je 0x4cc91d
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x148], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x164], 1
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1fc], eax
jmp 0x4cc91d
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x148], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x164], 1
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1fc], eax
mov byte [ebp - 5], 1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 6
jne 0x4cc951
mov eax, dword [0x5685c0]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
jne 0x4cc951
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x5686f8]
mov dword [edx], eax
mov eax, dword [0x5689b8]
mov dword [eax], 0x12c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 7
jne 0x4cc9cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b4]
sub eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b8]
jg 0x4cc9cb
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x214]
mov edx, dword [ebp - 4]
mov word [edx + 8], ax
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x218]
mov edx, dword [ebp - 4]
mov word [edx + 0xa], ax
mov eax, dword [ebp - 4]
movzx eax, word [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0xb8], eax
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0xa]
mov edx, dword [ebp - 4]
mov dword [edx + 0xbc], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x148], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x164], 1
mov byte [ebp - 5], 1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x148], 9
jne 0x4ccb41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b4]
jg 0x4cca07
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b0]
jge 0x4cca1a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b4]
inc eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x1b8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b0]
jle 0x4ccab9
mov eax, dword [ebp - 4]
dec dword [eax + 0x1b8]
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x1e4]
or al, byte [ebp - 0x15]
je 0x4cca66
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b0]
jle 0x4cca66
mov eax, dword [ebp - 4]
dec dword [eax + 0x1b8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b4]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x1b8]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b4]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x1b0]
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xc]
call fcn.004d3488
mov edx, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1e0]
mov eax, dword [ebp - 4]
call fcn.004ca244
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1b8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b0]
jg 0x4ccb3d
mov eax, dword [0x5685c0]
mov eax, dword [eax]
cmp eax, dword [ebp - 4]
jne 0x4ccb16
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x148], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x164], 1
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1fc], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x5686f8]
mov dword [edx], eax
mov eax, dword [0x5689b8]
mov dword [eax], 0x3e8
jmp 0x4ccb39
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x148], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x164], 1
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x1fc], eax
mov byte [ebp - 5], 1
mov byte [ebp - 5], 1
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x1b8]
je 0x4ccb69
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x204], eax
mov eax, dword [ebp - 4]
mov si, 0xfff3
call fcn.004043ac
mov al, byte [ebp - 5]
pop esi
mov esp, ebp
pop ebp
ret