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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0xc]
mov edx, dword [0x50ad54]
call fcn.00405e14
xor eax, eax
push ebp
push 0x56d395
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xd4]
test eax, eax
je 0x56cffe
mov edx, dword [eax + 0x1a0]
test edx, edx
je 0x56cff0
mov eax, edx
call fcn.00427180
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xd4]
call fcn.00427180
xor ecx, ecx
push ebp
push 0x56d372
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov eax, ebx
sub eax, 8
je 0x56d018
sub eax, 2
jne 0x56d034
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x20]
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00515160
test al, al
je 0x56d034
mov byte [ebp - 0xc], 0
jmp 0x56d067
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.0056acc8
test al, al
jne 0x56d067
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0xd], 0
jne 0x56d05d
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x56d3b0
call fcn.00521e50
call fcn.00404b40
jmp 0x56d379
mov eax, dword [0x586404]
mov eax, dword [eax]
mov eax, dword [eax + 0x590]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x586404]
mov eax, dword [eax]
mov dword [eax + 0x590], 1
cmp ebx, 2
jne 0x56d0c3
xor edx, edx
mov eax, dword [ebp - 0x10]
call fcn.0055c818
push 0x3e8
call sub.kernel32.dll_Sleep_2
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x56d3e0
call fcn.00521e50
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 0x10]
call fcn.0056b1e4
jmp 0x56d1f3
cmp ebx, 3
jne 0x56d0e9
mov eax, dword [ebp - 0x10]
call fcn.0055d274
push 0x3e8
call sub.kernel32.dll_Sleep_2
xor edx, edx
mov eax, dword [ebp - 0x10]
call fcn.005693ec
jmp 0x56d1f3
cmp ebx, 4
jne 0x56d114
xor edx, edx
mov eax, dword [ebp - 0x10]
call fcn.0055c818
push 0x3e8
call sub.kernel32.dll_Sleep_2
mov edx, 2
mov eax, dword [ebp - 0x10]
call fcn.0056ecc8
jmp 0x56d1f3
cmp ebx, 8
jne 0x56d137
mov eax, dword [ebp - 0x10]
call fcn.0055b9a0
push 0x64
call sub.kernel32.dll_Sleep_2
mov dl, 1
mov eax, dword [ebp - 0x10]
call fcn.005642b8
jmp 0x56d1f3
cmp ebx, 0xa
jne 0x56d150
mov ecx, 1
xor edx, edx
mov eax, dword [ebp - 0x10]
call fcn.00567a40
jmp 0x56d1f3
cmp ebx, 7
jne 0x56d1f3
xor edx, edx
mov eax, dword [ebp - 0x10]
call fcn.0055c818
push 0x3e8
call sub.kernel32.dll_Sleep_2
xor edx, edx
mov eax, dword [ebp - 0x10]
call fcn.0056ecc8
lea ecx, [ebp - 0x28]
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, dword [eax + 0x50]
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.0051828c
test al, al
je 0x56d1ba
mov eax, dword [ebp - 0x28]
call fcn.004041e0
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov ecx, dword [eax + 0x4c]
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, dword [eax + 0x50]
mov eax, dword [ebp - 0x10]
call fcn.00568eec
jmp 0x56d1f3
push 0x64
call sub.kernel32.dll_Sleep_2
mov dl, 1
mov eax, dword [ebp - 0x10]
call fcn.005642b8
mov eax, dword [ebp - 0x10]
call fcn.0056b6e4
test al, al
je 0x56d1f3
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov ecx, dword [eax + 0x4c]
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, dword [eax + 0x50]
mov eax, dword [ebp - 0x10]
call fcn.00568eec
cmp byte [ebp - 0xc], 0
jbe 0x56d31c
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c88
mov edi, eax
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511cb0
mov dword [ebp - 0x18], eax
call fcn.004b9988
mov esi, eax
xor ebx, ebx
mov eax, dword [0x5865d0]
mov eax, dword [eax]
xor ecx, ecx
movzx edx, byte [ebp - 0xc]
call fcn.00511884
jmp 0x56d30f
push 0x32
call sub.kernel32.dll_Sleep_2
call fcn.004b9988
xor edx, edx
push edx
push eax
mov eax, esi
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
cmp edx, 0
jne 0x56d267
cmp eax, 0xbb8
jbe 0x56d26d
jmp 0x56d31c
jg 0x56d31c
call fcn.004b9988
xor edx, edx
push edx
push eax
mov eax, esi
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
cmp edx, 0
jne 0x56d290
cmp eax, 0x3e8
jbe 0x56d2ad
jmp 0x56d292
jle 0x56d2ad
test ebx, ebx
jne 0x56d2ad
mov ebx, 1
mov eax, dword [0x5865d0]
mov eax, dword [eax]
xor ecx, ecx
movzx edx, byte [ebp - 0xc]
call fcn.00511884
call fcn.004b9988
xor edx, edx
push edx
push eax
mov eax, esi
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
cmp edx, 0
jne 0x56d2d0
cmp eax, 0x7d0
jbe 0x56d2ee
jmp 0x56d2d2
jle 0x56d2ee
cmp ebx, 1
jne 0x56d2ee
mov ebx, 2
mov eax, dword [0x5865d0]
mov eax, dword [eax]
xor ecx, ecx
movzx edx, byte [ebp - 0xc]
call fcn.00511884
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c88
cmp edi, eax
jne 0x56d31c
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511cb0
cmp eax, dword [ebp - 0x18]
jne 0x56d31c
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0xd], 0
je 0x56d23a
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00513bf4
mov eax, dword [0x586404]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
mov dword [eax + 0x590], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56d379
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xd4]
test eax, eax
je 0x56d371
mov edx, dword [eax + 0x1a0]
test edx, edx
je 0x56d363
mov eax, edx
call fcn.004271f0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xd4]
call fcn.004271f0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56d39c
lea eax, [ebp - 0xc]
mov edx, dword [0x50ad54]
call fcn.00405ee4
ret