Function at 0x4018f0
Capabilities:
Check for time delay via queryperformancecounter
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x5c
mov eax, dword fs:[0x2c]
push ebx
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov edx, dword [eax]
mov eax, dword [0x509cd4]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push edi
mov edi, ecx
movss dword [esp + 0x14], xmm1
cmp eax, dword [edx + 4]
jle 0x4019c8
push 0x509cd4
call fcn.0040fcde
add esp, 4
cmp dword [0x509cd4], 0xffffffff
jne 0x4019c2
mov eax, dword [0x4156a0]
or eax, dword [0x4156a4]
jne 0x401952
push 0x4156a0
call ebp
lea eax, [esp + 0x18]
push eax
call esi
mov ecx, dword [0x4156a0]
mov edx, dword [0x4156a4]
cmp ecx, 0x989680
jne 0x40197b
test edx, edx
jne 0x40197b
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x4019aa
call fcn.00410b80
movsd xmm1, qword [0x412c80]
divsd xmm1, xmm0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
movsd qword [esp + 0x20], xmm1
call fcn.00410b80
mulsd xmm0, qword [esp + 0x20]
call fcn.004109c0
push 0x509cd4
mov dword [0x509cd8], eax
mov dword [0x509cdc], edx
call fcn.0040fc94
add esp, 4
movss xmm1, dword [esp + 0x14]
xorps xmm0, xmm0
mov byte [esp + 0x67], 0
comiss xmm0, xmm1
mov dword [esp + 0x29], 0x20202020
mov dword [esp + 0x2d], 0x20202020
mov dword [esp + 0x31], 0x20202020
mov dword [esp + 0x35], 0x20202020
mov dword [esp + 0x39], 0x20202020
mov dword [esp + 0x3d], 0x20202020
mov dword [esp + 0x41], 0x20202020
movlpd qword [esp + 0x57], xmm0
movlpd qword [esp + 0x5f], xmm0
mov dword [esp + 0x45], 0x20202020
mov dword [esp + 0x49], 0x20202020
mov dword [esp + 0x4d], 0x20202020
mov dword [esp + 0x51], 0x20202020
mov word [esp + 0x55], 0x5d
mov byte [esp + 0x28], 0x5b
jbe 0x401a49
xor bl, bl
jmp 0x401a98
minss xmm1, dword [0x412c54]
movaps xmm0, xmm1
movss dword [esp + 0x14], xmm1
mulss xmm0, dword [0x412c88]
cvttss2si ebx, xmm0
cmp bl, 1
jbe 0x401a87
lea eax, [ebx - 1]
movzx eax, al
push eax
lea eax, [esp + 0x2d]
push 0x3d
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm1, dword [esp + 0x20]
add esp, 0xc
movss xmm0, dword [0x412c54]
comiss xmm0, xmm1
jbe 0x401bb4
mov eax, dword [0x4156a0]
or eax, dword [0x4156a4]
jne 0x401aac
push 0x4156a0
call ebp
lea eax, [esp + 0x18]
push eax
call esi
mov esi, dword [0x4156a0]
mov ebp, dword [0x4156a4]
cmp esi, 0x989680
jne 0x401ad5
test ebp, ebp
jne 0x401ad5
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x401b08
mov edx, ebp
mov ecx, esi
call fcn.00410b80
movsd xmm1, qword [0x412c80]
divsd xmm1, xmm0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
movsd qword [esp + 0x20], xmm1
call fcn.00410b80
mulsd xmm0, qword [esp + 0x20]
call fcn.004109c0
sub eax, dword [0x509cd8]
sbb edx, dword [0x509cdc]
mov dword [esp + 0x24], edx
jne 0x401b21
cmp eax, 0xc8
jbe 0x401b9d
inc byte [0x415858]
or esi, ebp
jne 0x401b36
push 0x4156a0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [0x4156a0]
mov edx, dword [0x4156a4]
cmp ecx, 0x989680
jne 0x401b63
test edx, edx
jne 0x401b63
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jmp 0x401b92
call fcn.00410b80
movsd xmm1, qword [0x412c80]
divsd xmm1, xmm0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
movsd qword [esp + 0x20], xmm1
call fcn.00410b80
mulsd xmm0, qword [esp + 0x20]
call fcn.004109c0
mov dword [0x509cd8], eax
mov dword [0x509cdc], edx
movzx eax, byte [0x415858]
and eax, 7
movzx ecx, bl
mov al, byte [eax + str.____]
mov byte [esp + ecx + 0x29], al
movups xmm0, xmmword [esp + 0x28]
mov eax, edi
movups xmmword [edi], xmm0
movups xmm0, xmmword [esp + 0x38]
movups xmmword [edi + 0x10], xmm0
movups xmm0, xmmword [esp + 0x48]
movups xmmword [edi + 0x20], xmm0
movups xmm0, xmmword [esp + 0x58]
movups xmmword [edi + 0x30], xmm0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret