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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
cmp byte [0x1018ffad], 0
push esi
push edi
je 0x1006ff17
mov esi, dword [ebp + 8]
mov ecx, 0x1018cbf0
push 0
push 0xcd
push esi
call fcn.10077160
test al, al
je 0x1006fef8
mov al, byte [0x1018b3f6]
movzx ecx, word [0x1018b3f4]
mov byte [ebp - 0x1e], al
mov esi, ecx
mov al, byte [0x1018b3f7]
add esi, esi
mov edx, dword [0x1018b42c]
mov byte [ebp - 0x1d], al
mov al, byte [0x1018b3f8]
mov byte [ebp - 0x1c], al
mov al, byte [0x1018b3fa]
mov byte [ebp - 0x1b], al
mov al, byte [0x1018b3fb]
mov byte [ebp - 0x1a], al
mov al, byte [0x1018b3fc]
mov byte [ebp - 0x19], al
mov al, byte [0x1018b3fd]
mov byte [ebp - 0x18], al
mov al, byte [0x1018b3fe]
mov byte [ebp - 0x17], al
mov al, byte [0x1018b3ff]
mov byte [ebp - 0x16], al
mov al, byte [0x1018b400]
mov byte [ebp - 0x15], al
mov eax, 0x200
mov word [ebp - 0x20], cx
movzx ecx, byte [edx + esi*8 + 1]
cwde
movsx ecx, cx
imul ecx, eax
movzx eax, byte [edx + esi*8 + 2]
mov edx, dword [0x1018b438]
mov dword [ebp - 0x24], 0x17ff16c1
add cx, ax
mov eax, dword [0x1018b43c]
sub eax, edx
movzx esi, cx
sar eax, 3
xor ecx, ecx
test eax, eax
je 0x1006fe4f
movsx edi, si
nop dword [eax]
nop word [eax + eax]
lea esi, [ecx*8]
cmp edi, dword [esi + edx]
je 0x1006feda
mov eax, dword [0x1018b43c]
inc ecx
sub eax, edx
sar eax, 3
cmp ecx, eax
jb 0x1006fe30
xor al, al
mov byte [ebp - 0x14], al
lea ecx, [ebp - 0x24]
mov al, byte [0x1018b401]
mov edx, 0x16
mov byte [ebp - 0x13], al
mov al, byte [0x1018b402]
mov byte [ebp - 0x12], al
mov al, byte [0x1018b403]
mov byte [ebp - 0x11], al
mov al, byte [0x1018b404]
mov byte [ebp - 0x10], al
mov al, byte [0x1018b405]
mov byte [ebp - 0xf], al
call fcn.100c4b40
pop edi
mov byte [0x1018ffad], 0
mov byte [0x1018f62d], 0
mov word [0x1018b3f0], 0
mov dword [0x1018b3f2], 0
mov dword [0x1018b3f6], 0x100
mov dword [0x1018b3fa], 0
mov dword [0x1018b3fe], 0
mov dword [0x1018b402], 1
pop esi
mov esp, ebp
pop ebp
ret 4
movzx eax, byte [0x1018b3f9]
add eax, esi
mov al, byte [eax + edx + 3]
test al, al
jne 0x1006fe51
mov al, byte [esi + edx + 5]
jmp 0x1006fe51
push 0
push 0xce
push esi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x10070738
jmp 0x1006fe89
cmp byte [0x1018f62d], 0
je 0x10070738
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x1018f628]
cmp eax, 0x32
jb 0x10070738
call esi
mov edi, dword [ebp + 8]
mov dword [0x1018f628], eax
mov al, byte [0x1018b3f0]
test al, al
jne 0x1006fffd
xor eax, eax
mov esi, 0x1018f6a0
mov dword [ebp + 8], eax
nop dword [eax]
movd xmm1, dword [0x102c52c8]
movss xmm0, dword [esi - 8]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x1006ffe5
comiss xmm1, dword [esi]
ja 0x1006ffe5
movd xmm1, dword [0x102c52d0]
movss xmm0, dword [esi - 4]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x1006ffe5
comiss xmm1, dword [esi + 4]
ja 0x1006ffe5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 8]
cmp edi, 0x201
jne 0x1006ffb5
cmp byte [esi + 0xc], 0
mov eax, dword [ebp + 8]
jne 0x1006ffe5
mov byte [esi + 0xc], 1
jmp 0x1006ffe5
cmp edi, 0x202
jne 0x1006ffe2
cmp eax, 0x1f4
jb 0x1006ffe2
mov byte [esi + 0xc], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 8], eax
mov eax, dword [ebp + 8]
mov byte [0x1018b3f1], al
mov byte [0x1018b3f0], 1
jmp 0x1006ffe5
mov eax, dword [ebp + 8]
inc eax
add esi, 0x40
mov dword [ebp + 8], eax
cmp esi, 0x1018f860
jl 0x1006ff60
jmp 0x100706b1
cmp al, 1
jne 0x100700b1
xor eax, eax
mov esi, 0x1018f6a0
mov dword [ebp + 8], eax
nop
movd xmm1, dword [0x102c52c8]
movss xmm0, dword [esi - 8]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x10070099
comiss xmm1, dword [esi]
ja 0x10070099
movd xmm1, dword [0x102c52d0]
movss xmm0, dword [esi - 4]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x10070099
comiss xmm1, dword [esi + 4]
ja 0x10070099
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 8]
cmp edi, 0x201
jne 0x10070069
cmp byte [esi + 0xc], 0
mov eax, dword [ebp + 8]
jne 0x10070099
mov byte [esi + 0xc], 1
jmp 0x10070099
cmp edi, 0x202
jne 0x10070096
cmp eax, 0x1f4
jb 0x10070096
mov byte [esi + 0xc], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 8], eax
mov eax, dword [ebp + 8]
mov byte [0x1018b3f2], al
mov byte [0x1018b3f0], 2
jmp 0x10070099
mov eax, dword [ebp + 8]
inc eax
add esi, 0x40
mov dword [ebp + 8], eax
cmp esi, 0x1018f8e0
jl 0x10070010
jmp 0x100706b1
cmp al, 2
jne 0x100702e1
mov eax, dword [0x1018b430]
xor esi, esi
sub eax, dword [0x1018b42c]
xor edx, edx
sar eax, 4
mov dword [ebp - 8], esi
mov dword [ebp - 4], edx
test eax, eax
je 0x10070214
xor ecx, ecx
mov dword [ebp - 0xc], ecx
nop
mov edi, dword [0x1018b42c]
mov al, byte [0x1018b3f1]
cmp al, byte [ecx + edi]
mov edi, dword [ebp + 8]
jne 0x100701f4
mov eax, dword [0x1018b42c]
movzx eax, byte [ecx + eax + 1]
push eax
call fcn.10070740
movzx ecx, byte [0x1018b3f2]
cmp ecx, eax
jne 0x100701f1
movzx eax, byte [0x1018b3f3]
lea ecx, [eax + eax*4]
add ecx, ecx
cmp esi, ecx
jl 0x100701eb
lea eax, [ecx + 0xa]
cmp esi, eax
jge 0x100701eb
movd xmm1, dword [0x102c52c8]
sub esi, ecx
add esi, 0xa8
shl esi, 6
cvtdq2ps xmm1, xmm1
movss xmm0, dword [esi + 0x1018cc98]
comiss xmm0, xmm1
ja 0x100701eb
comiss xmm1, dword [esi + 0x1018cca0]
ja 0x100701eb
movd xmm1, dword [0x102c52d0]
movss xmm0, dword [esi + 0x1018cc9c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100701eb
comiss xmm1, dword [esi + 0x1018cca4]
ja 0x100701eb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x1018cca8]
cmp edi, 0x201
jne 0x100701b3
cmp byte [esi + 0x1018ccac], 0
mov edx, dword [ebp - 4]
jne 0x100701eb
mov byte [esi + 0x1018ccac], 1
jmp 0x100701eb
cmp edi, 0x202
jne 0x100701e8
cmp eax, 0x1f4
jb 0x100701e8
mov byte [esi + 0x1018ccac], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [ebp - 4]
mov dword [esi + 0x1018cca8], eax
mov word [0x1018b3f4], dx
mov byte [0x1018b3f0], 3
jmp 0x100701eb
mov edx, dword [ebp - 4]
inc dword [ebp - 8]
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov eax, dword [0x1018b430]
inc edx
sub eax, dword [0x1018b42c]
add ecx, 0x10
sar eax, 4
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], ecx
cmp edx, eax
jb 0x100700e0
push 0
push 0xb2
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x1007023a
mov al, byte [0x1018b3f3]
test al, al
je 0x1007023a
dec al
mov byte [0x1018b3f3], al
push 0
push 0xb3
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x100706b1
mov esi, dword [0x1018b430]
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0xc], ecx
sub eax, dword [0x1018b42c]
sar eax, 4
test eax, eax
je 0x100702b2
mov edi, dword [0x1018b42c]
xor edx, edx
mov al, byte [0x1018b3f1]
sub esi, edi
sar esi, 4
cmp al, byte [edx + edi]
jne 0x100702a7
movzx eax, byte [edx + edi + 1]
push eax
call fcn.10070740
movzx ecx, byte [0x1018b3f2]
cmp ecx, eax
mov ecx, dword [ebp - 0xc]
mov al, byte [0x1018b3f1]
jne 0x100702a7
inc ecx
mov dword [ebp - 0xc], ecx
add edx, 0x10
sub esi, 1
jne 0x10070280
mov edi, dword [ebp + 8]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dl, byte [0x1018b3f3]
movzx eax, dl
cmp eax, ecx
jge 0x100706b1
inc dl
mov byte [0x1018b3f3], dl
jmp 0x100706b1
cmp al, 3
jne 0x100706b1
push 0
push 0xc4
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x10070313
mov al, byte [0x1018b3f6]
cmp al, byte [0x1018b408]
jae 0x10070313
inc al
mov byte [0x1018b3f6], al
push 0
push 0xc5
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x10070339
mov al, byte [0x1018b3f6]
test al, al
je 0x10070339
dec al
mov byte [0x1018b3f6], al
push 0
push 0xc8
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x1007035f
mov al, byte [0x1018b3f8]
cmp al, 7
jae 0x1007035f
inc al
mov byte [0x1018b3f8], al
push 0
push 0xc9
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x10070385
mov al, byte [0x1018b3f8]
test al, al
je 0x10070385
dec al
mov byte [0x1018b3f8], al
push 0
push 0xca
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x100703af
mov al, byte [0x1018b3f7]
cmp al, byte [0x1018b409]
jae 0x100703af
inc al
mov byte [0x1018b3f7], al
push 0
push 0xcb
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x100703d5
mov al, byte [0x1018b3f7]
test al, al
je 0x100703d5
dec al
mov byte [0x1018b3f7], al
push 0
push 0xb8
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x100703f9
cmp byte [0x1018b3fa], 0
sete byte [0x1018b3fa]
cmp byte [0x1018b3f9], 0
jne 0x1007068d
push 0
push 0xb9
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x10070431
cmp byte [0x1018b3fb], 0
mov byte [0x1018b3f9], 0
sete byte [0x1018b3fb]
push 0
push 0xba
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x1007045c
cmp byte [0x1018b3fc], 0
mov byte [0x1018b3f9], 0
sete byte [0x1018b3fc]
push 0
push 0xbb
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x10070487
cmp byte [0x1018b3fd], 0
mov byte [0x1018b3f9], 0
sete byte [0x1018b3fd]
push 0
push 0xbc
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x100704b2
cmp byte [0x1018b3fe], 0
mov byte [0x1018b3f9], 0
sete byte [0x1018b3fe]
push 0
push 0xbd
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x100704dd
cmp byte [0x1018b3ff], 0
mov byte [0x1018b3f9], 0
sete byte [0x1018b3ff]
push 0
push 0xbe
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x10070508
cmp byte [0x1018b400], 0
mov byte [0x1018b3f9], 0
sete byte [0x1018b400]
push 0
push 0xbf
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x1007056f
mov al, byte [0x1018b402]
test al, al
sete byte [0x1018b402]
test al, al
jne 0x10070544
xor dl, dl
mov word [0x1018b403], 0
xor cl, cl
mov byte [0x1018b405], al
jmp 0x10070555
mov al, byte [0x1018b405]
mov cl, byte [0x1018b404]
mov dl, byte [0x1018b403]
test dl, dl
jne 0x10070568
test cl, cl
jne 0x10070568
test al, al
jne 0x10070568
mov byte [0x1018b402], 1
mov byte [0x1018b3f9], 0
push 0
push 0xc0
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x100705c7
mov al, byte [0x1018b403]
test al, al
sete byte [0x1018b403]
test al, al
jne 0x100705a7
mov byte [0x1018b402], al
mov word [0x1018b404], 0
jmp 0x100705c0
cmp byte [0x1018b404], 0
jne 0x100705c0
cmp byte [0x1018b405], 0
jne 0x100705c0
mov byte [0x1018b402], 1
mov byte [0x1018b3f9], 0
push 0
push 0xc1
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x1007062a
mov al, byte [0x1018b404]
test al, al
sete byte [0x1018b404]
test al, al
jne 0x10070604
xor dl, dl
mov word [0x1018b402], 0
xor cl, cl
mov byte [0x1018b405], cl
jmp 0x10070610
mov cl, byte [0x1018b405]
mov dl, byte [0x1018b403]
test dl, dl
jne 0x10070623
test al, al
je 0x10070623
test cl, cl
jne 0x10070623
mov byte [0x1018b402], 1
mov byte [0x1018b3f9], 0
push 0
push 0xc2
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x1007068d
mov al, byte [0x1018b405]
test al, al
sete byte [0x1018b405]
test al, al
jne 0x10070667
xor dl, dl
mov word [0x1018b402], 0
xor cl, cl
mov byte [0x1018b404], cl
jmp 0x10070673
mov cl, byte [0x1018b404]
mov dl, byte [0x1018b403]
test dl, dl
jne 0x10070686
test cl, cl
jne 0x10070686
test al, al
je 0x10070686
mov byte [0x1018b402], 1
mov byte [0x1018b3f9], 0
push 0
push 0xc3
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x100706b1
cmp byte [0x1018b401], 0
sete byte [0x1018b401]
cmp byte [0x1018b3f0], 3
mov ecx, 0x1018cbf0
push 0
jne 0x100706fb
push 0xc6
push edi
call fcn.10077160
test al, al
je 0x100706d6
dec byte [0x1018b3f0]
push 0
push 0xc7
push edi
mov ecx, 0x1018cbf0
call fcn.10077160
test al, al
je 0x10070738
pop edi
mov byte [0x1018ffad], 1
pop esi
mov esp, ebp
pop ebp
ret 4
push 0xa7
push edi
call fcn.10077160
test al, al
je 0x10070738
mov al, byte [0x1018b3f0]
test al, al
jne 0x1007072a
mov ecx, 0x1018b3f0
mov byte [0x1018f62d], al
call fcn.10070970
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
dec al
mov byte [0x1018b3f3], 0
mov byte [0x1018b3f0], al
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4