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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff94
xor edx, edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x6867a2
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x94e7a4], 0
je 0x68678c
mov eax, dword [0x841660]
cmp byte [eax], 0
jne 0x68678c
cmp byte [0x94e7b4], 0
je 0x68678c
mov byte [0x94e7b4], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax*8 + 0x94b2c4]
mov dword [ebp - 0x4c], edx
mov edx, dword [eax*8 + 0x94b2c8]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 4]
mov edx, dword [eax*8 + 0x94b524]
mov dword [ebp - 0x54], edx
mov edx, dword [eax*8 + 0x94b528]
mov dword [ebp - 0x50], edx
xor eax, eax
push ebp
push 0x686785
push dword fs:[eax]
mov dword fs:[eax], esp
fld qword [ebp - 0x4c]
fcomp dword [0x6867b0]
fnstsw ax
sahf
jne 0x68631d
fld qword [ebp - 0x54]
fcomp dword [0x6867b0]
fnstsw ax
sahf
jne 0x68631d
call fcn.0040396c
jmp 0x68678c
mov byte [ebp - 0x3d], 0
call sub.KERNEL32.DLL_GetTickCount
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
sub eax, dword [0x94e7c4]
cdq
xor eax, edx
sub eax, edx
imul edx, dword [0x94e7a8], 0x3e8
cmp eax, edx
jl 0x686353
mov eax, dword [ebp - 0x44]
mov dword [0x94e7c4], eax
mov byte [ebp - 0x3d], 1
jmp 0x68635d
call fcn.0040396c
jmp 0x68678c
mov eax, dword [0x8417e4]
mov eax, dword [eax]
call fcn.0042d188
mov byte [ebp - 0x3e], 0
mov al, byte [0x94b2c0]
xor al, 1
and al, byte [0x94e7a3]
je 0x686478
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
mov ecx, dword [0x841f04]
mov edx, dword [0x8409e0]
mov eax, dword [0x841c80]
mov eax, dword [eax]
call fcn.00756a7c
test al, al
jne 0x6863ac
mov byte [ebp - 0x3e], 1
mov eax, dword [0x841660]
cmp byte [eax], 0
je 0x6863c0
call fcn.0040396c
jmp 0x68678c
cmp byte [ebp - 0x3e], 0
je 0x686471
call sub.KERNEL32.DLL_GetTickCount
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
sub eax, dword [0x94e7b8]
cdq
xor eax, edx
sub eax, edx
imul edx, dword [0x94e7c0], 0x3e8
cmp eax, edx
jl 0x686478
mov eax, dword [ebp - 0x44]
mov dword [0x94e7b8], eax
push 0xc0884800
push 0
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
mov edx, dword [0x84125c]
mov edx, dword [edx]
mov eax, dword [0x840920]
mov eax, dword [eax]
call fcn.006f32bc
test al, al
je 0x686436
xor eax, eax
mov dword [0x94e7c0], eax
call fcn.0040396c
jmp 0x68678c
cmp dword [0x94e7c0], 0x1e
jne 0x686449
mov dword [0x94e7c0], 0x3c
cmp dword [0x94e7c0], 0xf
jne 0x68645c
mov dword [0x94e7c0], 0x1e
cmp dword [0x94e7c0], 0
jne 0x686478
mov dword [0x94e7c0], 0xf
jmp 0x686478
xor eax, eax
mov dword [0x94e7c0], eax
mov eax, dword [0x841660]
cmp byte [eax], 0
je 0x68648c
call fcn.0040396c
jmp 0x68678c
mov eax, dword [0x8417e4]
mov eax, dword [eax]
call fcn.0042d188
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
call fcn.005782ec
mov dword [ebp - 0x18], eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
call fcn.0057832c
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
call fcn.0078da74
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
call fcn.0078dcd8
mov dword [ebp - 0x28], eax
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
lea ecx, [ebp - 0x6c]
xor edx, edx
xor eax, eax
call fcn.00788508
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x278]
mov eax, dword [eax + 0x118]
mov edx, 3
call fcn.0045ee74
pop edx
call fcn.0045ee00
mov eax, dword [0x841660]
cmp byte [eax], 0
je 0x68653d
call fcn.0040396c
jmp 0x68678c
mov eax, dword [0x8417e4]
mov eax, dword [eax]
call fcn.0042d188
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
call fcn.00433a28
sar eax, 1
jns 0x686562
adc eax, 0
mov dword [ebp - 0x24], eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
call fcn.004339d4
sar eax, 1
jns 0x68657e
adc eax, 0
mov dword [ebp - 0x20], eax
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
call fcn.0078da74
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
call fcn.0078dcd8
mov dword [ebp - 0x28], eax
fld dword [0x6867b4]
mov eax, dword [0x84208c]
fdiv qword [eax]
fild dword [ebp - 0x2c]
fmulp st(1)
call fcn.00402c90
mov dword [ebp - 0x34], eax
fld dword [0x6867b4]
mov eax, dword [0x84208c]
fdiv qword [eax]
fild dword [ebp - 0x28]
fmulp st(1)
call fcn.00402c90
mov dword [ebp - 0x30], eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
call fcn.0057832c
mov dword [ebp - 0x1c], eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
call fcn.005782ec
mov dword [ebp - 0x18], eax
mov eax, dword [0x8417e4]
mov eax, dword [eax]
call fcn.0042d188
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 8], eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, dword [ebp - 8]
call fcn.005781f4
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0xc], eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov edx, dword [ebp - 0xc]
call fcn.00578270
mov eax, dword [0x840810]
cmp dword [eax], 0
jne 0x686685
mov eax, dword [0x841800]
cmp dword [eax], 0
jne 0x686685
mov eax, dword [0x8413d0]
cmp dword [eax], 0
jne 0x686685
mov eax, dword [0x841580]
cmp dword [eax], 0
jne 0x686685
mov eax, dword [0x840710]
cmp dword [eax], 0
je 0x68675f
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov eax, dword [eax + 0x118]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
mov eax, dword [eax + 0x11c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
call fcn.0057832c
mov dword [ebp - 0x1c], eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
call fcn.005782ec
mov dword [ebp - 0x18], eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
call fcn.004339d4
mov dword [ebp - 0x38], eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
call fcn.004339d4
cmp eax, dword [ebp - 0x10]
jle 0x686713
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x38], eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
call fcn.00433a28
mov dword [ebp - 0x3c], eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
call fcn.00433a28
cmp eax, dword [ebp - 0x14]
jle 0x686745
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [0x8415a0]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x18]
call fcn.00778600
mov eax, dword [0x841774]
mov eax, dword [eax]
call fcn.00720128
call fcn.007a753c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x68678c
mov byte [0x94e7b4], 1
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6867a9
lea eax, [ebp - 0x6c]
call fcn.00403e74
ret