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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff90
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5696af
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xa], 0
mov byte [ebp - 9], 0
xor eax, eax
push ebp
push 0x569673
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
sub eax, 0x34
jae 0x569441
mov eax, dword [0x6e4a90]
cmp byte [eax], 0
je 0x5692a9
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x6e4454]
sub eax, dword [edx]
cmp eax, 0x1388
jbe 0x5692a9
mov eax, dword [0x6e4a90]
mov byte [eax], 0
mov eax, dword [0x6e4a90]
cmp byte [eax], 0
jne 0x56959b
imul eax, dword [ebp - 8], 0xa1
mov edx, dword [0x6e3c40]
cmp byte [edx + eax], 0
je 0x56959b
imul eax, dword [ebp - 8], 0xa1
mov edx, dword [0x6e3c40]
cmp byte [edx + eax + 0xf], 3
jbe 0x5692f6
imul eax, dword [ebp - 8], 0xa1
mov edx, dword [0x6e3c40]
cmp byte [edx + eax + 0xf], 0x1f
jne 0x569330
imul eax, dword [ebp - 8], 0xa1
mov edx, dword [0x6e3c40]
mov ecx, dword [0x6e4a90]
lea esi, [edx + eax]
mov edi, ecx
mov ecx, 0x28
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
imul eax, dword [ebp - 8], 0xa1
mov edx, dword [0x6e3c40]
mov byte [edx + eax], 0
mov byte [ebp - 0xa], 1
jmp 0x56959b
imul eax, dword [ebp - 8], 0xa1
mov edx, dword [0x6e3c40]
cmp byte [edx + eax + 0xf], 4
jne 0x5693e1
imul eax, dword [ebp - 8], 0xa1
mov edx, dword [0x6e3c40]
cmp byte [edx + eax + 0x10], 0x64
jae 0x5693e1
mov edx, 0x5696c0
lea eax, [ebp - 0x40]
call fcn.00403a98
mov edx, dword [0x6e4a90]
lea eax, [ebp - 0x40]
mov cl, 0x20
call fcn.00403a68
lea edx, [ebp - 0x40]
lea eax, [ebp - 0x64]
call fcn.00403a98
mov edx, 0x5696d4
lea eax, [ebp - 0x64]
mov cl, 0x23
call fcn.00403a68
lea edx, [ebp - 0x64]
lea eax, [ebp - 0x1c]
call fcn.00405638
mov edx, dword [ebp - 0x1c]
mov eax, dword [0x6e4a7c]
mov eax, dword [eax]
mov cx, word [0x5696d8]
call fcn.005de228
cmp eax, 6
je 0x56959b
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x444]
mov eax, dword [0x6e4a90]
call fcn.00645be8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x569687
imul eax, dword [ebp - 8], 0xa1
mov edx, dword [0x6e3c40]
movzx eax, byte [edx + eax + 0xf]
call fcn.00648798
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
sub eax, 0xe
jae 0x56959b
mov byte [ebp - 9], 1
imul eax, dword [ebp - 8], 0xa1
mov edx, dword [0x6e3c40]
mov ecx, dword [0x6e4a90]
lea esi, [edx + eax]
mov edi, ecx
mov ecx, 0x28
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
imul eax, dword [ebp - 8], 0xa1
mov edx, dword [0x6e3c40]
mov byte [edx + eax], 0
jmp 0x56959b
cmp dword [ebp - 8], 0xffffffff
jne 0x56959b
mov eax, dword [0x6e3a20]
cmp byte [eax], 0
je 0x56959b
mov eax, dword [0x6e4a8c]
cmp byte [eax + 0x13], 4
jbe 0x569473
mov eax, dword [0x6e4a8c]
cmp byte [eax + 0x13], 0x1f
jne 0x569547
mov eax, dword [0x6e3a20]
mov byte [eax], 0
mov eax, dword [0x6e4a8c]
mov edx, dword [0x6e4a90]
lea esi, [eax + 4]
mov edi, edx
mov ecx, 0x28
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [0x6e4a8c]
mov byte [eax + 4], 0
mov eax, dword [0x6e4a90]
cmp byte [eax + 0xf], 4
jne 0x569533
mov eax, dword [0x6e4a90]
cmp byte [eax + 0x10], 0x64
jae 0x569533
mov edx, 0x5696c0
lea eax, [ebp - 0x40]
call fcn.00403a98
mov edx, dword [0x6e4a90]
lea eax, [ebp - 0x40]
mov cl, 0x20
call fcn.00403a68
lea edx, [ebp - 0x40]
lea eax, [ebp - 0x64]
call fcn.00403a98
mov edx, 0x5696d4
lea eax, [ebp - 0x64]
mov cl, 0x23
call fcn.00403a68
lea edx, [ebp - 0x64]
lea eax, [ebp - 0x68]
call fcn.00405638
mov edx, dword [ebp - 0x68]
mov eax, dword [0x6e4a7c]
mov eax, dword [eax]
mov cx, word [0x5696d8]
call fcn.005de228
cmp eax, 6
je 0x569533
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x444]
mov eax, dword [0x6e4a90]
call fcn.00645be8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x569687
mov eax, dword [0x6ef074]
mov eax, dword [eax + 0x444]
mov dword [ebp - 8], eax
mov byte [ebp - 0xa], 1
jmp 0x56959b
mov eax, dword [0x6e4a8c]
movzx eax, byte [eax + 0x13]
call fcn.00648798
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
sub eax, 0xe
jae 0x56959b
mov byte [ebp - 9], 1
mov eax, dword [0x6e3a20]
mov byte [eax], 0
mov eax, dword [0x6e4a8c]
mov edx, dword [0x6e4a90]
lea esi, [eax + 4]
mov edi, edx
mov ecx, 0x28
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [0x6e4a8c]
mov byte [eax + 4], 0
mov eax, dword [0x6ef074]
mov eax, dword [eax + 0x444]
mov dword [ebp - 8], eax
cmp byte [ebp - 0xa], 0
je 0x5695ec
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov dword [eax + 0x444], edx
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x6e4454]
mov dword [edx], eax
lea eax, [ebp - 0x6c]
mov edx, dword [0x6e4a90]
call fcn.00405638
mov ecx, dword [ebp - 0x6c]
mov edx, dword [0x6e4a90]
mov edx, dword [edx + 0x3c]
mov eax, dword [ebp - 4]
call fcn.0056faf8
mov eax, dword [0x6e4a90]
movzx eax, byte [eax + 0xf]
call fcn.0061d148
jmp 0x569669
cmp byte [ebp - 9], 0
je 0x569669
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov dword [eax + 0x444], edx
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x6e4454]
mov dword [edx], eax
mov eax, dword [0x6e4a90]
mov edx, dword [0x6e3aec]
mov esi, eax
lea edi, [edx + 4]
mov ecx, 0x28
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [0x6e3aec]
mov edx, dword [ebp - 0x10]
mov dword [eax], edx
lea eax, [ebp - 0x70]
mov edx, dword [0x6e4a90]
call fcn.00405638
mov eax, dword [ebp - 0x70]
push eax
mov dl, byte [ebp - 0x10]
mov ecx, dword [0x6e4a90]
mov ecx, dword [ecx + 0x3c]
mov eax, dword [ebp - 4]
call fcn.0056f8ec
mov eax, dword [0x6e4a90]
movzx eax, byte [eax + 0xf]
call fcn.0061d148
mov eax, dword [0x6e4a90]
mov byte [eax], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x569687
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5696b6
lea eax, [ebp - 0x70]
mov edx, 3
call fcn.004053f8
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.004053f8
ret