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

Disassembly:
mov eax, dword [0x10c9690c]
sub esp, 0x34
test eax, eax
push ebx
push esi
push edi
je 0x10908141
mov eax, dword [0x10c96918]
test eax, eax
jne 0x10908141
mov esi, dword [0x10ccb43c]
inc esi
push 0x10cbf650
mov dword [0x10ccb43c], esi
call fcn.109ce190
call fcn.10904030
fst qword [esp + 0x18]
mov eax, dword [esp + 0x44]
fsub qword [eax + 0x10]
mov ecx, dword [eax + 0x50]
mov eax, dword [eax]
mov edx, dword [eax]
test ecx, ecx
fstp dword [esp + 0x10]
mov ecx, eax
je 0x10907f83
push 0x3d088889
call dword [edx + 0x58]
mov ecx, dword [0x10c966d8]
test ecx, ecx
je 0x10907f64
mov eax, dword [ecx]
push 0x3d088889
call dword [eax + 0x58]
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x28]
cmp ecx, dword [eax + 0x30]
jge 0x10907f7e
fld dword [esp + 0x10]
fadd dword [eax + 0x34]
fstp dword [eax + 0x34]
mov eax, dword [esp + 0x44]
inc dword [eax + 0x28]
jmp 0x10907f9b
mov esi, dword [esp + 0x10]
push esi
call dword [edx + 0x58]
mov ecx, dword [0x10c966d8]
test ecx, ecx
je 0x10907f9b
mov eax, dword [ecx]
push esi
call dword [eax + 0x58]
mov eax, dword [esp + 0x44]
fld qword [esp + 0x18]
inc dword [eax + 0x20]
mov ecx, dword [esp + 0x44]
fstp qword [ecx + 0x10]
mov ecx, dword [esp + 0x44]
fld qword [ecx + 0x18]
fadd qword [0x10c10ad8]
fcomp qword [ecx + 0x10]
fnstsw ax
test ah, 5
jp 0x10907ffc
fild dword [ecx + 0x20]
mov edx, dword [ecx]
fld qword [ecx + 0x10]
fsub qword [ecx + 0x18]
fdivp st(1)
fstp dword [edx + 0xa8]
mov eax, dword [esp + 0x44]
mov ecx, eax
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x18], edx
mov eax, dword [ecx + 0x14]
mov ecx, dword [esp + 0x44]
mov dword [ecx + 0x1c], eax
mov edx, dword [esp + 0x44]
mov dword [edx + 0x20], 0
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 4]
test eax, eax
je 0x109080ba
mov ecx, dword [ecx]
mov eax, dword [ecx]
call dword [eax + 0xa0]
fcom qword [0x10c10b20]
fnstsw ax
test ah, 0x41
jne 0x10908063
fdivr qword [0x10c10ad8]
fstp qword [esp + 0x18]
call fcn.10904030
mov ecx, dword [esp + 0x44]
fsub qword [ecx + 0x10]
fsubr qword [esp + 0x18]
fld dword [0x10c109f8]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1090804f
fstp st(0)
fld dword [0x10c109f8]
fmul qword [0x10c10a98]
call fcn.10b83aa0
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10908065
fstp st(0)
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 4]
test eax, eax
je 0x109080ba
mov esi, dword [0x10c74c34]
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [0x10c74bf8]
push 1
push 0
push 0
push 0
lea edx, [esp + 0x34]
push edx
call esi
test eax, eax
je 0x109080b6
cmp dword [esp + 0x28], 0x12
jne 0x109080a6
mov dword [0x10c96918], 1
lea eax, [esp + 0x24]
push eax
call edi
lea ecx, [esp + 0x24]
push ecx
call ebx
jmp 0x10908082
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 0x50]
test eax, eax
je 0x109080de
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
lea ecx, [eax + 0x2c]
mov eax, dword [0x10c71aa4]
push eax
push str.shot
call dword [edx]
mov eax, dword [0x10c94688]
test eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
je 0x109080fa
lea ecx, [esp + 0x10]
push ecx
call esi
mov eax, dword [esp + 0x10]
jmp 0x109080fc
rdtsc
mov edx, dword [esp + 0x44]
mov ecx, dword [edx + 0x24]
mov edx, dword [0x10cbf784]
sub eax, ecx
mov ecx, dword [0x10cbf674]
mov dword [ecx + edx*4], eax
mov eax, dword [0x10c94688]
test eax, eax
je 0x10908138
lea eax, [esp + 0x10]
push eax
call esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov dword [ecx + 0x24], eax
pop edi
pop esi
pop ebx
add esp, 0x34
ret 4
rdtsc
mov ecx, dword [esp + 0x44]
mov dword [ecx + 0x24], eax
pop edi
pop esi
pop ebx
add esp, 0x34
ret 4