Function at 0x6caf90
Capabilities:
Check for time delay via queryperformancecounter
Execute anti-debugging instructions

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x34
cmp eax, 1
push ebx
push ebp
push esi
push edi
jae 0x6cafc9
mov edx, dword [0x98291c]
test edx, edx
jl 0x6cafbd
mov eax, dword [0x982918]
jg 0x6cb185
test eax, eax
ja 0x6cb185
xor eax, eax
xor edx, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
pushfd
pop eax
mov ebx, eax
xor eax, 0x200000
push eax
popfd
pushfd
pop eax
xor eax, ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x6cafbd
mov eax, 1
cpuid
mov dword [esp + 0x18], edx
test byte [esp + 0x18], 0x10
je 0x6cafbd
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x6cafbd
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetPriorityClass]
push edi
mov ebp, eax
call dword [sym.imp.KERNEL32.dll_GetThreadPriority]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x14]
push edx
push esi
mov dword [esp + 0x24], eax
call dword [sym.imp.KERNEL32.dll_GetProcessAffinityMask]
push 0x100
push esi
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push 0xf
push edi
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push 1
push esi
call dword [sym.imp.KERNEL32.dll_SetProcessAffinityMask]
cpuid
mov ebx, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [esp + 0x24]
push eax
call ebx
rdtsc
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x48]
push ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [esp + 0x1c]
push edx
call ebx
rdtsc
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetProcessAffinityMask]
mov ecx, dword [esp + 0x18]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push ebp
push esi
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x28]
sub edx, ebx
sbb eax, edi
mov ecx, eax
and eax, 0x7fffffff
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x3c], edx
fild qword [esp + 0x3c]
and ecx, 0x80000000
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x1c]
xor edx, edx
sub ecx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x3c], edx
fild qword [esp + 0x3c]
sbb eax, ebp
mov dword [esp + 0x3c], ecx
fchs
mov ecx, eax
faddp st(1)
and eax, 0x7fffffff
mov dword [esp + 0x40], eax
fild qword [esp + 0x3c]
and ecx, 0x80000000
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], edx
fild qword [esp + 0x3c]
mov dword [esp + 0x3c], ecx
mov ecx, eax
fchs
and eax, 0x7fffffff
faddp st(1)
mov dword [esp + 0x40], eax
fild qword [esp + 0x3c]
and ecx, 0x80000000
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], edx
fild qword [esp + 0x3c]
fchs
faddp st(1)
fdivp st(1)
fdivp st(1)
call fcn.007c4b80
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
fild qword [esp + 0x3c]
fmul dword [0x896abc]
call fcn.007c4b80
mov dword [0x982918], eax
mov dword [0x98291c], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret