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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa4
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 4], edx
mov byte [ebp - 0x1d], al
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 4]
call fcn.00405628
lea eax, [ebp - 0x1c]
mov edx, dword [0x50ad94]
call fcn.00405e14
xor eax, eax
push ebp
push 0x566f47
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x24], eax
mov dl, 1
mov eax, dword [0x41b508]
call fcn.004041b0
mov dword [ebp - 0x28], eax
xor edx, edx
push ebp
push 0x566f1c
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [ebp - 0x1d], 0
je 0x5669bc
lea edx, [ebp - 0x28]
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.0051b834
jmp 0x566ad3
lea edx, [ebp - 0x28]
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00514a6c
jmp 0x566ad3
xor edx, edx
mov eax, dword [ebp - 0x28]
call fcn.0041dea4
mov ebx, eax
cmp dword [ebp - 0x24], 0
jne 0x566abd
lea ecx, [ebp - 0x1c]
mov edx, dword [ebx]
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.005170b8
test al, al
je 0x566abd
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 4]
call fcn.004055d0
jne 0x566abd
test edi, edi
jl 0x566a51
cmp edi, edi
jne 0x566abd
cmp byte [ebp - 0x1d], 0
je 0x566a36
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov ecx, esi
call fcn.00511044
jmp 0x566a48
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov ecx, esi
call fcn.00510fe8
push 0x32
call sub.kernel32.dll_Sleep_2
jmp 0x566abd
cmp esi, dword [ebx + 8]
jg 0x566a87
cmp byte [ebp - 0x1d], 0
je 0x566a70
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov ecx, esi
call fcn.00511044
jmp 0x566a82
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov ecx, esi
call fcn.00510fe8
mov dword [ebp - 0x24], esi
jmp 0x566abd
cmp byte [ebp - 0x1d], 0
je 0x566aa3
movzx ecx, word [ebx + 8]
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511044
jmp 0x566ab7
movzx ecx, word [ebx + 8]
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00510fe8
mov eax, dword [ebx + 8]
mov dword [ebp - 0x24], eax
mov edx, 0x34
mov eax, ebx
call fcn.00402f6c
xor edx, edx
mov eax, dword [ebp - 0x28]
call fcn.0041dd98
mov eax, dword [ebp - 0x28]
cmp dword [eax + 8], 0
jg 0x5669d0
mov edi, esi
sub edi, dword [ebp - 0x24]
test edi, edi
jle 0x566f06
xor ebx, ebx
mov eax, dword [ebp - 4]
mov edx, 0x566f64
call fcn.004055d0
jne 0x566b4e
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
lea ecx, [edi + edi*2]
mov edx, 0x566f74
movzx eax, byte [ebp - 0x1d]
call fcn.00566948
pop ecx
lea edx, [edi + edi*2]
cmp eax, edx
jl 0x566ead
mov ebx, edi
dec ebx
test ebx, ebx
jl 0x566b47
inc ebx
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 0x250038
call fcn.0050b680
push 0x4b0
call sub.kernel32.dll_Sleep_2
dec ebx
jne 0x566b29
mov bl, 1
jmp 0x566ead
mov eax, dword [ebp - 4]
mov edx, 0x566f84
call fcn.004055d0
jne 0x566be3
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
mov ecx, edi
add ecx, ecx
lea ecx, [ecx + ecx*4]
mov edx, 0x566f74
movzx eax, byte [ebp - 0x1d]
call fcn.00566948
pop ecx
mov edx, edi
add edx, edx
lea edx, [edx + edx*4]
cmp eax, edx
jl 0x566ead
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
mov ecx, edi
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov edx, 0x566f94
movzx eax, byte [ebp - 0x1d]
call fcn.00566948
pop ecx
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
cmp eax, edx
jl 0x566ead
mov ebx, edi
dec ebx
test ebx, ebx
jl 0x566bdc
inc ebx
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 0x270038
call fcn.0050b680
push 0x64
call sub.kernel32.dll_Sleep_2
dec ebx
jne 0x566bc1
mov bl, 1
jmp 0x566ead
mov eax, dword [ebp - 4]
mov edx, 0x566fa8
call fcn.004055d0
jne 0x566c6a
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
mov ecx, edi
add ecx, ecx
lea ecx, [ecx + ecx*4]
mov edx, 0x566f74
movzx eax, byte [ebp - 0x1d]
call fcn.00566948
pop ecx
mov edx, edi
add edx, edx
lea edx, [edx + edx*4]
cmp eax, edx
jl 0x566ead
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
lea ecx, [edi + edi*4]
mov edx, 0x566fb8
movzx eax, byte [ebp - 0x1d]
call fcn.00566948
pop ecx
lea edx, [edi + edi*4]
cmp eax, edx
jl 0x566ead
mov ebx, edi
dec ebx
test ebx, ebx
jl 0x566c63
inc ebx
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 0x710038
call fcn.0050b680
push 0x64
call sub.kernel32.dll_Sleep_2
dec ebx
jne 0x566c48
mov bl, 1
jmp 0x566ead
mov eax, dword [ebp - 4]
mov edx, 0x566fc8
call fcn.004055d0
jne 0x566d01
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
mov ecx, edi
add ecx, ecx
add ecx, ecx
lea ecx, [ecx + ecx*4]
mov edx, 0x566fd8
movzx eax, byte [ebp - 0x1d]
call fcn.00566948
pop ecx
mov edx, edi
add edx, edx
add edx, edx
lea edx, [edx + edx*4]
cmp eax, edx
jl 0x566ead
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
mov ecx, edi
add ecx, ecx
lea ecx, [ecx + ecx*4]
mov edx, 0x566fe8
movzx eax, byte [ebp - 0x1d]
call fcn.00566948
pop ecx
mov edx, edi
add edx, edx
lea edx, [edx + edx*4]
cmp eax, edx
jl 0x566ead
mov ebx, edi
dec ebx
test ebx, ebx
jl 0x566cfa
inc ebx
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 0x2b0038
call fcn.0050b680
push 0x64
call sub.kernel32.dll_Sleep_2
dec ebx
jne 0x566cdf
mov bl, 1
jmp 0x566ead
mov eax, dword [ebp - 4]
mov edx, 0x566ff8
call fcn.004055d0
jne 0x566d98
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
mov ecx, edi
add ecx, ecx
add ecx, ecx
lea ecx, [ecx + ecx*4]
mov edx, 0x567008
movzx eax, byte [ebp - 0x1d]
call fcn.00566948
pop ecx
mov edx, edi
add edx, edx
add edx, edx
lea edx, [edx + edx*4]
cmp eax, edx
jl 0x566ead
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
mov ecx, edi
add ecx, ecx
lea ecx, [ecx + ecx*4]
mov edx, 0x566fe8
movzx eax, byte [ebp - 0x1d]
call fcn.00566948
pop ecx
mov edx, edi
add edx, edx
lea edx, [edx + edx*4]
cmp eax, edx
jl 0x566ead
mov ebx, edi
dec ebx
test ebx, ebx
jl 0x566d91
inc ebx
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 0x2f0038
call fcn.0050b680
push 0x64
call sub.kernel32.dll_Sleep_2
dec ebx
jne 0x566d76
mov bl, 1
jmp 0x566ead
mov eax, dword [ebp - 4]
mov edx, 0x567014
call fcn.004055d0
jne 0x566e2b
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
mov ecx, edi
add ecx, ecx
lea ecx, [ecx + ecx*4]
mov edx, 0x567024
movzx eax, byte [ebp - 0x1d]
call fcn.00566948
pop ecx
mov edx, edi
add edx, edx
lea edx, [edx + edx*4]
cmp eax, edx
jl 0x566ead
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
mov ecx, edi
add ecx, ecx
lea ecx, [ecx + ecx*4]
mov edx, 0x567038
movzx eax, byte [ebp - 0x1d]
call fcn.00566948
pop ecx
mov edx, edi
add edx, edx
lea edx, [edx + edx*4]
cmp eax, edx
jl 0x566ead
mov ebx, edi
dec ebx
test ebx, ebx
jl 0x566e24
inc ebx
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 0x830038
call fcn.0050b680
push 0x64
call sub.kernel32.dll_Sleep_2
dec ebx
jne 0x566e09
mov bl, 1
jmp 0x566ead
mov eax, dword [ebp - 4]
mov edx, 0x56704c
call fcn.004055d0
jne 0x566ead
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
mov ecx, edi
add ecx, ecx
lea ecx, [ecx + ecx*4]
mov edx, 0x567024
movzx eax, byte [ebp - 0x1d]
call fcn.00566948
pop ecx
mov edx, edi
add edx, edx
lea edx, [edx + edx*4]
cmp eax, edx
jl 0x566ead
mov eax, dword [ebp + 0xc]
push eax
push 0xffffffffffffffff
mov ecx, edi
add ecx, ecx
lea ecx, [ecx + ecx*4]
mov edx, 0x56705c
movzx eax, byte [ebp - 0x1d]
call fcn.00566948
pop ecx
mov edx, edi
add edx, edx
lea edx, [edx + edx*4]
cmp eax, edx
jl 0x566ead
mov ebx, edi
dec ebx
test ebx, ebx
jl 0x566eab
inc ebx
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 0x860038
call fcn.0050b680
push 0x64
call sub.kernel32.dll_Sleep_2
dec ebx
jne 0x566e90
mov bl, 1
test bl, bl
je 0x566f06
call fcn.004b9988
mov edx, dword [ebp + 0xc]
mov dword [edx - 4], eax
jmp 0x566efa
push 0x32
call sub.kernel32.dll_Sleep_2
lea ecx, [ebp - 0x5c]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
call fcn.0050d68c
test al, al
je 0x566ee8
cmp esi, dword [ebp - 0x54]
jg 0x566ee8
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x24], eax
jmp 0x566f06
call fcn.004b9988
mov edx, dword [ebp + 0xc]
sub eax, dword [edx - 4]
cmp eax, 0x708
ja 0x566f06
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 8]
cmp byte [eax + 0xd], 0
je 0x566ebe
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x566f23
mov eax, dword [ebp - 0x28]
call fcn.004041e0
ret