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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
cmp dword [0x41e190], 1
jle 0x40887f
push str.KERNEL32.DLL
call dword [sym.imp.kernel32.dll_LoadLibraryA]
mov dword [0x425228], eax
cmp dword [0x425228], 0
je 0x408842
push str.SetProcessAffinityMask
mov eax, dword [0x425228]
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42522c], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x64], ecx
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.kernel32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.kernel32.dll_GetProcessAffinityMask]
cmp dword [0x42522c], 0
je 0x408877
mov ecx, dword [ebp - 0x64]
push ecx
call dword [sym.imp.kernel32.dll_GetCurrentProcess]
push eax
call dword [0x42522c]
push 0
call dword [sym.imp.kernel32.dll_Sleep]
call dword [sym.imp.kernel32.dll_GetCurrentThread]
mov dword [ebp - 0x14], eax
xor edx, edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], edx
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.kernel32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x4088ac
fld dword [0x4153e8]
jmp 0x408ac1
mov ecx, dword [ebp - 0x7c]
add ecx, 1
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.kernel32.dll_GetThreadPriority]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x7fffffff
je 0x4088e3
push 0xf
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.kernel32.dll_SetThreadPriority]
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.kernel32.dll_QueryPerformanceCounter]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], edx
rdtsc
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
jmp 0x408917
mov eax, dword [ebp - 0x6c]
add eax, 1
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0x7270e0
jge 0x40892b
mov ecx, dword [ebp - 0x70]
add ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x70], ecx
jmp 0x40890e
lea edx, [ebp - 0x60]
push edx
call dword [sym.imp.kernel32.dll_QueryPerformanceCounter]
push eax
push edx
rdtsc
mov dword [ebp - 0xc], eax
pop edx
pop eax
cmp dword [ebp - 0x1c], 0x7fffffff
je 0x408955
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.kernel32.dll_SetThreadPriority]
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x18]
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x5c]
sbb ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], ecx
fild qword [ebp - 0x84]
fst qword [ebp - 8]
fmul qword [0x415430]
fstp qword [ebp - 8]
fild qword [ebp - 0x48]
fdiv qword [0x415428]
fdivr qword [ebp - 8]
fstp qword [ebp - 8]
fld qword [ebp - 0x38]
fadd qword [ebp - 8]
fstp qword [ebp - 0x38]
mov edx, dword [ebp - 0x78]
add edx, dword [ebp - 0x74]
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], 0
fild qword [ebp - 0x8c]
fdiv qword [ebp - 8]
fst dword [ebp - 0x20]
fadd dword [ebp - 0x40]
fadd dword [ebp - 0x54]
fstp dword [ebp - 0x3c]
cmp dword [ebp - 0x7c], 3
jl 0x4088ac
cmp dword [ebp - 0x7c], 0x14
jge 0x408a41
fld dword [0x415424]
fmul dword [ebp - 0x20]
fsub dword [ebp - 0x3c]
fabs
fcomp qword [0x415400]
fnstsw ax
and eax, 0x4100
je 0x4088ac
fld dword [0x415424]
fmul dword [ebp - 0x40]
fsub dword [ebp - 0x3c]
fabs
fcomp qword [0x415400]
fnstsw ax
and eax, 0x4100
je 0x4088ac
fld dword [0x415424]
fmul dword [ebp - 0x54]
fsub dword [ebp - 0x3c]
fabs
fcomp qword [0x415400]
fnstsw ax
and eax, 0x4100
je 0x4088ac
cmp dword [ebp - 0x7c], 0xa
jle 0x408a68
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], 0
fild qword [ebp - 0x94]
fdiv qword [ebp - 0x38]
fstp dword [ebp - 0x24]
jmp 0x408a74
fld dword [ebp - 0x3c]
fdiv dword [0x415424]
fstp dword [ebp - 0x24]
fld qword [ebp - 0x38]
call fcn.0040c150
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x2c], edx
cmp dword [0x41e190], 1
jle 0x408abe
cmp dword [0x42522c], 0
je 0x408aa8
mov eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.kernel32.dll_GetCurrentProcess]
push eax
call dword [0x42522c]
cmp dword [0x425228], 0
je 0x408abe
mov ecx, dword [0x425228]
push ecx
call dword [sym.imp.kernel32.dll_FreeLibrary]
fld dword [ebp - 0x24]
mov esp, ebp
pop ebp
ret