Function at 0x56c934
Capabilities:
Check for time delay via gettickcount
Print debug messages

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff88
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 8], ecx
mov esi, edx
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x20]
mov edx, dword [0x50ad94]
call fcn.00405e14
xor eax, eax
push ebp
push 0x56cdff
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x25], 0
mov bl, 1
lea edx, [ebp - 8]
mov eax, esi
call fcn.005243d8
push 0x56ce14
call sub.kernel32.dll_OutputDebugStringA
lea ecx, [ebp - 0x5c]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 4
call fcn.0050c9b0
test al, al
jne 0x56c9c5
lea edx, [ebp - 0x5c]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov ecx, 0xa
call fcn.0050b4a4
mov ebx, eax
jmp 0x56ca31
push 0x56ce1c
call sub.kernel32.dll_OutputDebugStringA
cmp byte [ebp - 0x34], 0
je 0x56c9e3
push 0x56ce24
call sub.kernel32.dll_OutputDebugStringA
xor ebx, ebx
jmp 0x56c9f5
cmp dword [ebp - 0x40], 5
jg 0x56c9f5
push 0x56ce3c
call sub.kernel32.dll_OutputDebugStringA
xor ebx, ebx
test bl, bl
je 0x56ca31
lea ecx, [ebp - 0x5c]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 0x3f
call fcn.0050d67c
test al, al
je 0x56ca31
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov ecx, 0x3e
mov edx, 0x3f
call fcn.0050f2cc
push 0x190
call sub.kernel32.dll_Sleep_2
push 0x56ce44
call sub.kernel32.dll_OutputDebugStringA
test bl, bl
je 0x56caf2
lea ecx, [ebp - 0x5c]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 4
call fcn.0050c9b0
test al, al
je 0x56caf2
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov ecx, 0x3f
mov edx, 4
call fcn.0050f2cc
call fcn.004b9988
mov esi, eax
xor edi, edi
jmp 0x56cadf
push 0xc8
call sub.kernel32.dll_Sleep_2
lea ecx, [ebp - 0x5c]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 4
call fcn.0050c9b0
test al, al
jne 0x56caa8
mov byte [ebp - 0x25], 1
jmp 0x56cae8
call fcn.004b9988
sub eax, esi
cmp eax, 0x4b0
ja 0x56cae8
call fcn.004b9988
sub eax, esi
cmp eax, 0x258
jbe 0x56cadf
test edi, edi
jne 0x56cadf
inc edi
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov ecx, 0x3f
mov edx, 4
call fcn.0050f2cc
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0xd], 0
je 0x56ca80
cmp byte [ebp - 0x25], 0
je 0x56cdc9
push 0xc8
call sub.kernel32.dll_Sleep_2
xor edi, edi
mov eax, edi
add eax, 0xfffffffe
sub eax, 2
jb 0x56cb10
add eax, 0xfffffffe
sub eax, 2
jae 0x56cb6c
lea ecx, [ebp - 0x5c]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, edi
call fcn.0050c9b0
test al, al
je 0x56cb6c
lea ecx, [ebp - 0x20]
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, dword [ebp - 0x5c]
call fcn.005170b8
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00522ef4
mov edx, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x54]
test eax, eax
jl 0x56cb6c
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov ecx, 0xa
mov edx, edi
call fcn.0050f2cc
push 0xc8
call sub.kernel32.dll_Sleep_2
inc edi
cmp edi, 0xa
jne 0x56cafe
push 0x12c
call sub.kernel32.dll_Sleep_2
push 0x56ce4c
call sub.kernel32.dll_OutputDebugStringA
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511bf8
test al, al
je 0x56cc2c
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x184], 1
jne 0x56cc2c
test bl, bl
je 0x56cbf5
movzx eax, byte [0x56ce54]
push eax
lea eax, [ebp - 0x60]
push eax
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00522ef4
lea edx, [ebp - 0x64]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x64]
mov ecx, 0x56ce60
mov edx, 0x56ce6c
call fcn.0040f6f0
mov edx, dword [ebp - 0x60]
lea eax, [ebp - 4]
mov ecx, 0x56ce78
call fcn.004054c0
jmp 0x56ccb6
movzx eax, byte [0x56ce54]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00522ef4
lea edx, [ebp - 0x68]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x68]
mov ecx, 0x56ce60
mov edx, 0x56ce6c
call fcn.0040f6f0
jmp 0x56ccb6
test bl, bl
je 0x56cc74
movzx eax, byte [0x56ce54]
push eax
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00522ef4
lea edx, [ebp - 0x70]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x70]
mov ecx, 0x56ce60
mov edx, 0x56ce6c
call fcn.0040f6f0
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 4]
mov ecx, 0x56ce88
call fcn.004054c0
jmp 0x56ccb6
movzx eax, byte [0x56ce54]
push eax
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00522ef4
lea edx, [ebp - 0x78]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x78]
mov ecx, 0x56ce60
mov edx, 0x56ce6c
call fcn.0040f6f0
mov edx, dword [ebp - 0x74]
lea eax, [ebp - 4]
mov ecx, 0x56ce9c
call fcn.004054c0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
call fcn.00568eec
mov byte [ebp - 0x25], al
movzx eax, byte [ebp - 0x25]
xor al, 1
test al, bl
je 0x56ccfa
lea ecx, [ebp - 0x5c]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 0x3f
call fcn.0050d67c
test al, al
je 0x56ccfa
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
call fcn.00568eec
mov byte [ebp - 0x25], al
test bl, bl
je 0x56cdc9
lea ecx, [ebp - 0x5c]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 0x3f
call fcn.0050d67c
test al, al
je 0x56cdc9
lea ecx, [ebp - 0x5c]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 4
call fcn.0050c9b0
test al, al
jne 0x56cdc9
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov ecx, 4
mov edx, 0x3f
call fcn.0050f2cc
xor edi, edi
call fcn.004b9988
mov esi, eax
jmp 0x56cdc0
push 0xc8
call sub.kernel32.dll_Sleep_2
lea ecx, [ebp - 0x5c]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 4
call fcn.0050c9b0
test al, al
je 0x56cd89
push 0xc8
call sub.kernel32.dll_Sleep_2
jmp 0x56cdc9
call fcn.004b9988
sub eax, esi
cmp eax, 0x1f4
jbe 0x56cdb2
test edi, edi
jne 0x56cdb2
inc edi
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov ecx, 4
mov edx, 0x3f
call fcn.0050f2cc
call fcn.004b9988
sub eax, esi
cmp eax, 0x3e8
ja 0x56cdc9
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0xd], 0
je 0x56cd5b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56ce06
lea eax, [ebp - 0x78]
mov edx, 7
call fcn.004051cc
lea eax, [ebp - 0x20]
mov edx, dword [0x50ad94]
call fcn.00405ee4
lea eax, [ebp - 8]
mov edx, 2
call fcn.004051cc
ret