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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
push ebx
push esi
lea eax, [ebp - 0x40]
push edi
xor esi, esi
push eax
xor edi, edi
mov dword [ebp - 4], esi
xor ebx, ebx
mov dword [ebp - 0xc], esi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x5f4b7a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
mov dword [ebp - 0x18], eax
call dword [sym.imp.KERNEL32.dll_GetPriorityClass]
mov ecx, dword [ebp - 0x18]
push 0x100
push ecx
mov dword [ebp - 0x28], eax
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov edx, dword [ebp - 0x14]
push 0xf
push edx
mov dword [ebp - 0x24], eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
jmp 0x5f4bc0
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov dword [ebp - 8], esi
mov esi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
inc eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x10], edi
call esi
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
xor al, al
mov dword [ebp - 0x30], ecx
cmp al, 0x32
mov dword [ebp - 0x2c], edx
jae 0x5f4bfe
lea ecx, [ebp - 0x30]
push ecx
call esi
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
sub edx, ecx
cmp edx, 0x32
jb 0x5f4beb
rdtsc
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x38], eax
cmp edx, 0x3e8
mov dword [ebp - 0x34], ecx
jae 0x5f4c2f
lea eax, [ebp - 0x30]
push eax
call esi
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x38]
sub ecx, edx
cmp ecx, 0x3e8
jb 0x5f4c19
rdtsc
mov dword [ebp - 0x1c], eax
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x40]
sub edi, edx
mov edx, dword [ebp - 0x30]
sub edx, ecx
mov eax, 0xcccccccd
mov dword [ebp - 0x48], edx
mul esi
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x4c], ecx
fild qword [ebp - 0x48]
shr edx, 3
mov dword [ebp - 0x50], edx
fmul qword [0x7dec58]
fild qword [ebp - 0x50]
fdivp st(1)
call fcn.0078c320
mov ecx, eax
mov eax, dword [ebp - 0xc]
add eax, ecx
xor edx, edx
mov dword [ebp - 0xc], eax
mov eax, ecx
div esi
shr esi, 1
add ebx, edi
cmp edx, esi
jbe 0x5f4c8b
inc ecx
mov eax, edi
xor edx, edx
div ecx
xor edx, edx
mov esi, eax
mov eax, edi
div ecx
shr ecx, 1
cmp edx, ecx
jbe 0x5f4ca0
inc esi
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
add ecx, eax
mov eax, dword [ebp - 4]
add ecx, esi
cmp eax, 3
jl 0x5f4bbd
cmp eax, 0x14
jge 0x5f4cfa
lea eax, [esi + esi*2]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x5f4bbd
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x5f4bbd
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*2]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x5f4bbd
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x18]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
mov esi, dword [ebp - 0xc]
lea eax, [ebx + ebx*4]
shl eax, 1
xor edx, edx
div esi
xor edx, edx
mov ecx, eax
lea eax, [ebx + ebx*4]
lea eax, [eax + eax*4]
shl eax, 2
div esi
lea edx, [ecx + ecx*4]
shl edx, 1
sub eax, edx
cmp eax, 6
jb 0x5f4d3e
inc ecx
mov eax, ebx
xor edx, edx
div esi
lea edx, [eax + eax*4]
shl edx, 1
sub ecx, edx
cmp ecx, 6
jb 0x5f4d51
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret