Function at 0x140000404
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1c8
movaps xmmword [rax - 0x58], xmm6
xor ecx, ecx
movaps xmmword [rax - 0x68], xmm7
mov edx, 0x4000000
movaps xmmword [rax - 0x78], xmm8
mov r8d, 0x1000
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
lea r9d, [rcx + 4]
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm15
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
xor r8d, r8d
mov qword [rbp - 0x28], rax
mov dword [rbp + 0x110], r8d
lea r13d, [r8 + 1]
xor r10d, r10d
mov eax, r8d
shl eax, 0xb
mov dword [rbp - 0x40], eax
mov dword [rbp + 0x118], r10d
and dword [rbp + 0x120], 0
mov r9d, 2
mov dword [rbp + 0x128], r9d
mov dword [rsp + 0x60], 4
mov ecx, r9d
mov edx, r10d
shr edx, cl
mov r14d, r10d
mov r11d, edx
shl r13d, cl
mov edi, r8d
mov eax, 0x800
shr edi, cl
mov r9d, r8d
lea r15d, [rdx + 1]
sar eax, cl
dec eax
shl edx, cl
mov r12d, edi
and r11d, eax
lea ebx, [rdi + 1]
sub r14d, edx
shl edi, cl
and ebx, eax
sub r9d, edi
mov r10d, r13d
mov edx, ebx
mov ecx, r11d
sub r10d, r9d
and r12d, eax
and r15d, eax
call fcn.140000324
mov esi, eax
mov edx, r12d
mov ecx, r11d
imul esi, r9d
call fcn.140000324
imul eax, r10d
sub r13d, r14d
mov edx, ebx
mov ecx, r15d
add esi, eax
imul esi, r13d
call fcn.140000324
mov edi, eax
mov edx, r12d
mov ecx, r15d
imul edi, r9d
call fcn.140000324
mov edx, dword [rsp + 0x60]
mov r13d, 1
mov r9d, dword [rbp + 0x128]
mov ecx, edx
mov r8d, dword [rbp + 0x110]
add edx, 2
imul eax, r10d
mov r10d, dword [rbp + 0x118]
mov dword [rsp + 0x60], edx
add edi, eax
mov eax, dword [rbp + 0x120]
imul edi, r14d
add esi, edi
shr esi, cl
mov ecx, 8
sub ecx, r9d
add r9d, r13d
shr esi, cl
add eax, esi
mov dword [rbp + 0x128], r9d
mov dword [rbp + 0x120], eax
cmp edx, 0x10
jbe 0x1400004ae
mov r15, qword [rbp - 0x28]
lea rcx, [rbp - 0x38]
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
mov eax, dword [rbp - 0x40]
add eax, r10d
mov edi, eax
mulss xmm1, dword [0x140000288]
maxss xmm1, dword [0x1400002c4]
movss dword [r15 + rax*4], xmm1
call fcn.140000364
mov r8d, dword [rbp + 0x110]
lea rcx, [rdi + rdi*2]
add r10d, r13d
mov dword [rbp + 0x118], r10d
movsd xmm0, qword [rax]
mov edx, dword [rax + 8]
movsd qword [r15 + rcx*4 + 0x1000000], xmm0
mov dword [r15 + rcx*4 + 0x1000008], edx
cmp r10d, 0x800
jb 0x140000492
add r8d, r13d
mov dword [rbp + 0x110], r8d
cmp r8d, 0x800
jb 0x14000047f
movss xmm11, dword [0x1400002f0]
xor r12d, r12d
movss xmm6, dword [0x14000029c]
mov edx, r12d
movss xmm5, dword [0x1400002cc]
xorps xmm13, xmm13
mov eax, edx
xorps xmm7, xmm7
mov ebx, edx
mov edi, r12d
shl ebx, 0xb
cvtsi2ss xmm7, rax
mov r9d, edi
lea r8, [rsp + 0x68]
mov esi, 3
lea r10d, [r9 - 1]
mov r11d, edx
and r10d, 0x7ff
mov r14d, 3
lea eax, [r11 - 1]
add r11d, r13d
and eax, 0x7ff
shl eax, 0xb
add eax, r10d
mov ecx, dword [r15 + rax*4]
mov dword [r8], ecx
add r8, 4
sub r14, r13
jne 0x140000674
add r9d, r13d
sub rsi, r13
jne 0x140000660
movss xmm3, dword [rbp - 0x80]
addss xmm3, dword [rbp - 0x7c]
movss xmm2, dword [rsp + 0x7c]
addss xmm2, dword [rsp + 0x70]
movss xmm0, dword [rsp + 0x68]
addss xmm0, dword [rsp + 0x6c]
addss xmm3, dword [rbp - 0x78]
movss xmm1, dword [rsp + 0x78]
comiss xmm5, xmm1
mov eax, edi
addss xmm0, dword [rsp + 0x70]
addss xmm2, dword [rbp - 0x78]
subss xmm3, xmm0
movss xmm0, dword [rsp + 0x74]
addss xmm0, dword [rsp + 0x68]
xorps xmm3, xmm11
addss xmm0, dword [rbp - 0x80]
subss xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
mulss xmm3, xmm6
xorps xmm2, xmm11
movaps xmm4, xmm2
mulss xmm4, xmm2
mulss xmm2, dword [0x14000028c]
addss xmm4, xmm0
addss xmm3, xmm2
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
addss xmm4, dword [0x1400002bc]
addss xmm3, dword [0x1400002b0]
mulss xmm4, dword [0x1400002a0]
shufps xmm4, xmm4, 0
rsqrtss xmm4, xmm4
mulss xmm4, xmm3
movaps xmm3, xmm7
maxss xmm4, xmm13
jbe 0x140000797
mov r8d, 0x7ff
addss xmm3, dword [0x14000028c]
addss xmm1, dword [0x140000294]
addss xmm2, xmm6
cvttss2si ecx, xmm3
cvttss2si eax, xmm2
and ecx, r8d
shl ecx, 0xb
and eax, r8d
add ecx, eax
movss xmm0, dword [r15 + rcx*4]
comiss xmm0, xmm1
ja 0x140000793
comiss xmm5, xmm1
ja 0x14000075a
jmp 0x140000797
movaps xmm4, xmm13
mulss xmm4, dword [0x140000298]
lea eax, [rbx + rdi]
mov ecx, eax
add rcx, 0x400000
addss xmm4, dword [0x14000028c]
lea rax, [rcx + rax*2]
lea rcx, [r15 + rax*4]
mov eax, 3
movaps xmm0, xmm4
mulss xmm0, dword [rcx]
movss dword [rcx], xmm0
lea rcx, [rcx + 4]
sub rax, r13
jne 0x1400007c0
add edi, r13d
cmp edi, 0x800
jb 0x140000653
add edx, r13d
cmp edx, 0x800
jb 0x140000641
lea edx, [rax + 0x50]
mov dword [rbp - 0x68], 0x400
lea esi, [rax + 0x20]
mov dword [rbp - 0x64], 0x300
mov ecx, edx
lea rdi, [rbp - 0x10]
rep stosb byte [rdi], al
lea rax, [0x140000300]
mov dword [rbp - 0x10], edx
lea rbx, [0x1400001f0]
mov qword [rbp - 8], rax
lea rcx, [rbp - 0x10]
mov dword [rbp - 0xc], esi
mov qword [rbp + 0x30], rbx
call qword [sym.imp.USER32.dll_RegisterClassExA]
movdqa xmm0, xmmword [0x1400002e0]
lea rcx, [rbp - 0x38]
mov edi, 0xc80000
xor r8d, r8d
mov edx, edi
movdqu xmmword [rbp - 0x38], xmm0
call qword [sym.imp.USER32.dll_AdjustWindowRect]
mov ecx, dword [rbp - 0x2c]
lea r8, [0x1400001f8]
sub ecx, dword [rbp - 0x34]
mov r9d, edi
mov eax, dword [rbp - 0x30]
mov rdx, rbx
sub eax, dword [rbp - 0x38]
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x38], ecx
xor ecx, ecx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov rcx, rax
mov qword [rbp - 0x60], rax
call qword [sym.imp.USER32.dll_GetDC]
mov edi, dword [rbp - 0x64]
xorps xmm0, xmm0
mov edx, dword [rbp - 0x68]
mov ecx, edi
neg ecx
imul edi, edx
mov dword [rsp + 0x70], ecx
mov rcx, rax
mov qword [rbp - 0x58], rax
movdqu xmmword [rbp - 0x80], xmm0
mov dword [rbp - 0x70], r12d
neg edi
mov dword [rsp + 0x68], 0x28
mov dword [rsp + 0x7c], edi
mov dword [rsp + 0x6c], edx
mov qword [rsp + 0x74], 0x200001
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rcx, qword [rbp - 0x58]
lea r9, [rbp - 0x48]
xor r8d, r8d
mov dword [rsp + 0x28], r12d
lea rdx, [rsp + 0x68]
mov qword [rbp - 0x50], rax
mov qword [rsp + 0x20], r12
call qword [sym.imp.GDI32.dll_CreateDIBSection]
mov rcx, qword [rbp - 0x50]
mov rdx, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [rbp - 0x60]
mov edx, r13d
call qword [sym.imp.USER32.dll_ShowWindow]
lea rcx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
movss xmm10, dword [0x1400002a4]
movss xmm15, dword [0x1400002d4]
jmp 0x14000096a
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_DispatchMessageA]
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
lea rcx, [rsp + 0x68]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x140000954
lea rcx, [rbp + 0x110]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [rbp + 0x110]
xorps xmm2, xmm2
sub eax, dword [rbp - 0x20]
xorps xmm0, xmm0
mov r9d, dword [rbp - 0x68]
xorps xmm9, xmm9
mov edx, dword [rbp - 0x64]
cmp r9d, edx
cvtsi2ss xmm2, rax
mov eax, dword [rbp - 0x18]
cvtsi2ss xmm0, rax
mov eax, r9d
cmovb eax, edx
cvtsi2ss xmm9, rax
divss xmm2, xmm0
mulss xmm9, dword [0x140000290]
movaps xmm7, xmm2
mulss xmm2, dword [0x1400002dc]
mulss xmm7, dword [0x1400002c0]
comiss xmm13, xmm2
addss xmm7, dword [0x1400002d8]
movaps xmm1, xmm2
jbe 0x1400009fd
xorps xmm1, xmm11
divss xmm1, dword [0x1400002b4]
mov edi, 2
mov ecx, edi
movaps xmm4, xmm10
movaps xmm8, xmm10
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
mulss xmm1, dword [0x1400002b4]
movaps xmm3, xmm1
xorps xmm3, xmm11
mulss xmm3, xmm1
lea eax, [rcx - 1]
movaps xmm1, xmm3
imul eax, ecx
add ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mulss xmm4, xmm1
addss xmm8, xmm4
cmp ecx, 0x14
jle 0x140000a36
subss xmm2, dword [0x1400002ac]
comiss xmm13, xmm2
jbe 0x140000a6c
xorps xmm2, xmm11
divss xmm2, dword [0x1400002b4]
mov ecx, edi
movaps xmm4, xmm10
movaps xmm6, xmm10
cvttss2si eax, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
mulss xmm2, dword [0x1400002b4]
movaps xmm3, xmm2
xorps xmm3, xmm11
mulss xmm3, xmm2
lea eax, [rcx - 1]
movaps xmm1, xmm3
imul eax, ecx
add ecx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mulss xmm4, xmm1
addss xmm6, xmm4
cmp ecx, 0x14
jle 0x140000aa0
mov r10d, r12d
test r9d, r9d
je 0x140000c3c
movss xmm4, dword [0x1400002c8]
xorps xmm5, xmm5
mov eax, r10d
xorps xmm0, xmm0
mov ecx, r10d
cvtsi2ss xmm5, rax
mov eax, r9d
cvtsi2ss xmm0, rax
mov rax, qword [rbp - 0x48]
lea r14, [rax + rcx*4]
mulss xmm0, dword [0x140000290]
subss xmm5, xmm0
divss xmm5, xmm9
movaps xmm2, xmm4
mov edi, 0x7ff
mulss xmm2, xmm5
movaps xmm1, xmm8
mulss xmm1, xmm4
movaps xmm0, xmm6
mulss xmm0, xmm4
movaps xmm3, xmm2
mulss xmm3, xmm8
mulss xmm2, xmm6
subss xmm3, xmm0
movss xmm0, dword [0x14000028c]
addss xmm1, xmm2
addss xmm3, dword [0x1400002d8]
addss xmm1, xmm7
cvttss2si eax, xmm3
cvttss2si ecx, xmm1
and eax, edi
and ecx, edi
shl ecx, 0xb
add ecx, eax
movss xmm1, dword [r15 + rcx*4]
subss xmm1, dword [0x1400002d0]
divss xmm1, xmm4
subss xmm0, xmm1
mulss xmm0, xmm9
cvttss2si edi, xmm0
cmp edi, edx
jge 0x140000c04
movaps xmm2, xmm4
lea r8, [rcx + 0x200000]
divss xmm2, xmm15
lea r8, [rcx + r8*2]
mov esi, r12d
lea r8, [r15 + r8*4]
mov r11d, r12d
lea rbx, [0x140000208]
sub rbx, r8
movaps xmm3, xmm10
subss xmm3, xmm2
lea ecx, [r11*8]
movaps xmm1, xmm2
mulss xmm1, dword [rbx + r8]
movaps xmm0, xmm3
add r11d, r13d
mulss xmm0, dword [r8]
add r8, 4
addss xmm1, xmm0
cvttss2si eax, xmm1
shl eax, cl
or esi, eax
cmp r11d, 3
jb 0x140000bb3
test edi, edi
cmovs edi, r12d
dec edx
cmp edx, edi
jl 0x140000c02
imul r9d, edx
sub edx, r13d
mov dword [r14 + r9*4], esi
mov r9d, dword [rbp - 0x68]
jmp 0x140000bed
mov edx, edi
mulss xmm4, dword [0x1400002a8]
comiss xmm15, xmm4
ja 0x140000b09
sub edx, r13d
js 0x140000c2d
imul r9d, edx
mov dword [r14 + r9*4], 0xc8c8f0
mov r9d, dword [rbp - 0x68]
jmp 0x140000c16
mov edx, dword [rbp - 0x64]
add r10d, r13d
cmp r10d, r9d
jb 0x140000acf
mov rax, qword [rbp - 0x50]
xor r8d, r8d
mov rcx, qword [rbp - 0x58]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
xor edx, edx
call qword [sym.imp.GDI32.dll_BitBlt]
jmp 0x14000096a