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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb8
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], eax
mov ecx, 7
lea eax, [ebp - 0x20]
mov edx, dword [0x4012b8]
call fcn.0040a254
xor eax, eax
push ebp
push 0x64fb5f
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x66a7f4], 0
je 0x64f22d
xor eax, eax
call fcn.00646274
mov byte [ebp - 0x21], 0
mov eax, dword [0x66267c]
mov eax, dword [eax]
shr eax, 0x10
cmp eax, 0x600
mov eax, dword [0x662220]
setae byte [eax]
xor ecx, ecx
push ebp
push 0x64faa0
push dword fs:[ecx]
mov dword fs:[ecx], esp
cmp dword [0x66a804], 0
je 0x64f26b
mov dl, 1
mov eax, dword [0x66a804]
call fcn.00600654
cmp byte [0x66a7f2], 0
je 0x64f2d8
xor eax, eax
push ebp
push 0x64f2ab
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x66a7f8], 0
jne 0x64f297
mov eax, 0x64fb7c
call fcn.00601198
jmp 0x64f2a1
mov eax, dword [0x66a7f8]
call fcn.0060137c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64f2d8
mov eax, 0x64fbe4
call fcn.006013d8
lea eax, [ebp - 0x2c]
mov ecx, dword [0x66a7dc]
mov edx, 0x64fc48
call fcn.00409a18
mov eax, dword [ebp - 0x2c]
call fcn.006013d8
lea eax, [ebp - 0x30]
mov ecx, dword [0x66a7e0]
mov edx, 0x64fc88
call fcn.00409a18
mov eax, dword [ebp - 0x30]
call fcn.006013d8
lea eax, [ebp - 0x38]
call fcn.005b03f8
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x34]
mov edx, 0x64fcb4
call fcn.00409a18
mov eax, dword [ebp - 0x34]
call fcn.006013d8
call fcn.00646424
xor eax, eax
call fcn.0064eb08
mov dword [0x66a7e8], eax
mov dl, 1
mov eax, dword [0x64ddb4]
call fcn.0061e2f0
mov dword [0x6621d0], eax
mov ecx, dword [0x66a7e0]
mov edx, dword [0x66a7e8]
mov eax, dword [0x6621d0]
call fcn.00620f38
lea ecx, [ebp - 0x3c]
mov eax, dword [0x6621d0]
mov edx, dword [eax + 0x18]
mov al, 0xc7
call fcn.005b8018
mov edx, dword [ebp - 0x3c]
mov eax, 0x66a7ec
call fcn.00408af8
mov eax, dword [0x6621d0]
test byte [eax + 0x1d], 0x20
je 0x64f3d3
mov eax, dword [0x662348]
cmp byte [eax], 0
jne 0x64f3d3
push 1
push 1
mov eax, dword [0x66a7ec]
call fcn.004097c8
push eax
mov eax, dword [0x66279c]
mov eax, dword [eax + 0x354]
call fcn.004097c8
mov ecx, 0x30
pop edx
call fcn.00646d0c
call fcn.00426460
mov eax, dword [0x6621d0]
test byte [eax + 0x1d], 1
je 0x64f417
mov eax, dword [0x6625a8]
cmp byte [eax], 0
jne 0x64f417
push 1
push 1
mov eax, dword [0x66a7ec]
call fcn.004097c8
push eax
mov eax, dword [0x66279c]
mov eax, dword [eax + 0x1f8]
call fcn.004097c8
mov ecx, 0x30
pop edx
call fcn.00646d0c
call fcn.00426460
mov eax, dword [0x66a7e8]
xor edx, edx
mov dword [0x66a7e8], edx
call fcn.004069c8
mov al, 2
call fcn.0064eb08
mov dword [0x66a7e8], eax
lea eax, [ebp - 0x20]
push eax
push 6
mov ecx, 0x86000500
mov dx, 0x20
mov eax, dword [0x6621d0]
call fcn.0061e7a8
test al, al
jne 0x64f45c
mov eax, 0x64fcf4
call fcn.005f8384
cmp dword [0x66a804], 0
je 0x64f477
lea eax, [ebp - 4]
mov edx, dword [0x662624]
mov edx, dword [edx]
call fcn.00408bdc
jmp 0x64f482
lea edx, [ebp - 4]
mov eax, dword [ebp - 0x20]
call fcn.0064f17c
mov eax, dword [0x6621d0]
test byte [eax + 0x1d], 0x80
setne al
call fcn.00647340
mov eax, dword [0x6621d0]
cmp byte [eax + 0x10], 0
je 0x64f4bb
mov eax, dword [0x662348]
cmp byte [eax], 0
jne 0x64f4b2
mov eax, 0x64fd8c
call fcn.005f8384
mov al, 1
call fcn.00647468
jmp 0x64f4c2
xor eax, eax
call fcn.00647468
call fcn.0064449c
cmp dword [ebp - 4], 0
je 0x64f5fc
call fcn.00643e0c
call fcn.006447d4
mov eax, dword [0x662244]
mov edx, dword [0x66a7dc]
call fcn.00408af8
mov eax, dword [0x6626d8]
mov edx, dword [0x6621d0]
mov edx, dword [edx + 0x14]
call fcn.00408af8
movzx eax, byte [0x66a7f3]
or al, byte [0x66a7f4]
mov edx, dword [0x6623ec]
mov byte [edx], al
mov eax, dword [0x662970]
mov edx, dword [ebp - 0x18]
call fcn.00408af8
mov eax, dword [0x662548]
mov edx, dword [ebp - 0x14]
call fcn.00408af8
mov eax, dword [0x662364]
mov edx, dword [ebp - 0x10]
call fcn.00408af8
mov eax, dword [0x662418]
mov edx, dword [ebp - 0xc]
call fcn.00408af8
mov edx, dword [ebp - 8]
mov eax, edx
test eax, eax
je 0x64f555
sub eax, 4
mov eax, dword [eax]
add eax, eax
xchg edx, eax
call fcn.0064f0c4
mov dl, 1
mov eax, dword [0x639840]
call fcn.0063acfc
mov edx, dword [0x66244c]
mov dword [edx], eax
mov eax, dword [0x66244c]
mov eax, dword [eax]
add eax, 4
mov edx, 0x64fe20
call fcn.00408af8
mov eax, 0x645ce4
mov edx, dword [0x66244c]
mov edx, dword [edx]
mov dword [edx + 0x10], eax
mov eax, 0x645cec
mov edx, dword [0x66244c]
mov edx, dword [edx]
mov dword [edx + 0x14], eax
mov eax, 0x645cf4
mov edx, dword [0x66244c]
mov edx, dword [edx]
mov dword [edx + 0x18], eax
mov eax, 0x645f14
mov edx, dword [0x66244c]
mov edx, dword [edx]
mov dword [edx + 0x1c], eax
mov eax, 0x645f2c
mov edx, dword [0x66244c]
mov edx, dword [edx]
mov dword [edx + 0x20], eax
mov eax, 0x645f38
mov edx, dword [0x66244c]
mov edx, dword [edx]
mov dword [edx + 0x24], eax
mov ecx, dword [0x662500]
mov ecx, dword [ecx]
mov eax, dword [0x66244c]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
call fcn.0063adf4
xor edx, edx
push ebp
push 0x64fa4c
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
push ebp
push 0x64f97f
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x66244c]
cmp dword [eax], 0
je 0x64f68d
xor edx, edx
push ebp
push 0x64f661
push dword fs:[edx]
mov dword fs:[edx], esp
push 0
push 2
push 0
push 1
xor eax, eax
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0x11
lea ecx, [ebp - 0x44]
mov eax, dword [0x66244c]
mov eax, dword [eax]
mov edx, 0x64fe38
call fcn.0063b45c
pop dword fs:[0]
add esp, 8
jmp 0x64f67a
test al, al
jne 0x64f68d
mov eax, 0x64fec8
call fcn.006013d8
call fcn.00426460
cmp byte [0x66a7f3], 0
jne 0x64f6c7
cmp byte [0x66a7f4], 0
jne 0x64f6c7
push 0x124
push 1
push 6
mov eax, dword [0x6621d0]
mov edx, dword [eax + 0x18]
mov ecx, dword [0x66a7ec]
mov al, 0x2c
call fcn.0064e240
cmp eax, 6
je 0x64f6c7
call fcn.00426460
xor edx, edx
xor eax, eax
call fcn.0064e97c
jmp 0x64f6f5
push 0x31
push 1
push 2
mov eax, dword [0x6621d0]
mov edx, dword [eax + 0x18]
mov ecx, dword [0x66a7ec]
mov al, 0xd3
call fcn.0064e240
dec eax
je 0x64f6f5
call fcn.00426460
mov eax, dword [0x6621d0]
call fcn.0061e7f0
test al, al
jne 0x64f6d2
jmp 0x64f718
push 0xa
call sub.kernel32.dll_Sleep
mov eax, dword [0x662788]
mov eax, dword [eax]
call fcn.005a2ef0
mov eax, dword [0x662a04]
cmp byte [eax], 0
jne 0x64f705
mov eax, dword [0x662220]
mov byte [eax], 0
lea ecx, [ebp - 0x48]
mov eax, dword [0x6621d0]
mov edx, dword [eax + 0x18]
mov al, 0xb7
call fcn.005b8018
mov edx, dword [ebp - 0x48]
mov eax, dword [0x662788]
mov eax, dword [eax]
mov eax, dword [eax + 0x188]
call fcn.005b1cf8
call fcn.0064e074
xor edx, edx
mov al, 1
call fcn.0064e97c
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x28], eax
mov eax, dword [0x6621d0]
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x24], edx
mov ecx, 0x64e4c4
mov dl, 1
mov eax, dword [0x6621d0]
call fcn.0061f5c4
mov byte [ebp - 0x22], al
movzx eax, byte [ebp - 0x22]
mov edx, dword [0x662674]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0x11
lea edx, [ebp - 0x44]
xor ecx, ecx
mov eax, 0x64ff30
call fcn.0060165c
mov eax, dword [0x6621d0]
cmp byte [eax + 0x1c], 0
jne 0x64f7c3
mov eax, dword [0x6621d0]
test byte [eax + 0x1d], 8
jne 0x64f7c3
xor eax, eax
jmp 0x64f7c5
mov al, 1
mov byte [ebp - 0x23], al
mov eax, dword [0x66244c]
cmp dword [eax], 0
je 0x64f867
mov eax, dword [0x66244c]
mov eax, dword [eax]
mov cl, 1
mov edx, 0x64ff5c
call fcn.0063b050
test al, al
je 0x64f867
cmp byte [ebp - 0x23], 0
jne 0x64f85d
xor eax, eax
push ebp
push 0x64f842
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 1
push 0
push 0
xor eax, eax
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0x11
lea ecx, [ebp - 0x44]
mov eax, dword [0x66244c]
mov eax, dword [eax]
mov edx, 0x64ff5c
call fcn.0063b45c
test al, al
je 0x64f838
mov byte [ebp - 0x23], 1
mov eax, 0x64ff80
call fcn.006013d8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64f867
mov eax, 0x650060
call fcn.006013d8
movzx eax, byte [ebp - 0x23]
mov edx, dword [0x662674]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0x11
lea edx, [ebp - 0x44]
xor ecx, ecx
mov eax, 0x650118
call fcn.0060165c
cmp byte [0x66a7f4], 0
jne 0x64f8c2
mov eax, dword [0x662788]
mov eax, dword [eax]
call fcn.005a2ef0
call sub.kernel32.dll_GetTickCount
sub eax, dword [ebp - 0x28]
cmp eax, 0x3e8
jae 0x64f8c2
push 0x4ff
push 0xa
push 0
push 0
push 0
call sub.user32.dll_MsgWaitForMultipleObjects
jmp 0x64f893
mov eax, dword [0x662378]
mov eax, dword [eax]
mov edx, dword [0x662378]
xor ecx, ecx
mov dword [edx], ecx
call fcn.004069c8
mov dl, 1
mov al, 2
call fcn.0064e97c
cmp byte [ebp - 0x23], 0
jne 0x64f923
cmp byte [0x66a7f3], 0
jne 0x64f96c
cmp byte [0x66a7f4], 0
jne 0x64f96c
push 0x10040
push 1
push 1
movzx eax, byte [ebp - 0x22]
movzx eax, byte [eax + 0x6621dc]
mov edx, dword [0x6621d0]
mov edx, dword [edx + 0x18]
mov ecx, dword [0x66a7ec]
call fcn.0064e240
jmp 0x64f96c
cmp byte [0x66a7f5], 0
jne 0x64f95c
cmp byte [0x66a7f4], 0
jne 0x64f958
push 0x10024
push 1
push 6
mov eax, dword [0x6621d0]
mov edx, dword [eax + 0x18]
mov ecx, dword [0x66a7ec]
mov al, 0xd1
call fcn.0064e240
cmp eax, 6
jne 0x64f95c
mov byte [ebp - 0x21], 1
cmp byte [ebp - 0x21], 0
jne 0x64f96c
mov eax, 0x65015c
call fcn.006013d8
mov dl, 1
mov al, 3
call fcn.0064e97c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64f993
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x64fa56
xor edx, edx
push ebp
push 0x64f9ce
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x662378]
mov eax, dword [eax]
mov edx, dword [0x662378]
xor ecx, ecx
mov dword [edx], ecx
call fcn.004069c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64f9dd
mov eax, dword [0x66244c]
cmp dword [eax], 0
je 0x64fa39
xor eax, eax
push ebp
push 0x64fa20
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
xor eax, eax
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0x11
lea ecx, [ebp - 0x44]
mov eax, dword [0x66244c]
mov eax, dword [eax]
mov edx, 0x6501b8
call fcn.0063b1f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64fa39
mov eax, dword [0x662788]
mov eax, dword [eax]
mov eax, dword [eax + 0x188]
call fcn.005b1d88
ret