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

Disassembly:
jmp 0x1401fbbe0
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
push rbp
push rdi
sub rsp, 0xab8
lea rbp, [rsp + 0x40]
mov rdi, rsp
mov ecx, 0x2ae
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov ecx, dword [rsp + 0xad8]
mov rax, qword [0x14025a058]
xor rax, rbp
mov qword [rbp + 0xa60], rax
lea rcx, [0x140274036]
call fcn.1400acfa6
mov ecx, 0x80
call fcn.1400aa2d3
mov qword [rbp + 0x888], rax
mov rax, qword [rbp + 0x888]
mov qword [rbp + 8], rax
lea rdx, [rbp + 0x24]
mov rcx, qword [rbp + 8]
call fcn.1400ab025
cmp dword [rbp + 0xa90], 0
jne 0x1401fc1b1
lea rcx, [rbp + 0x88]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
lea rdx, [rbp + 0xa4]
mov ecx, 0x44000000
call fcn.1400a98dd
mov eax, dword [rbp + 0xa98]
cdq
idiv dword [rbp + 0xa4]
mov dword [rbp + 0xc4], eax
movsxd rax, dword [rbp + 0xa98]
mov qword [rbp + 0xa58], rax
mov eax, 8
mov rcx, qword [rbp + 0xa58]
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400aa2d3
mov qword [rbp + 0x8a8], rax
mov rax, qword [rbp + 0x8a8]
mov qword [rbp + 0xe8], rax
mov dword [rbp + 0x104], 0
jmp 0x1401fbcef
mov eax, dword [rbp + 0x104]
inc eax
mov dword [rbp + 0x104], eax
mov eax, dword [rbp + 0xa98]
cmp dword [rbp + 0x104], eax
jge 0x1401fbd4f
movsxd rax, dword [rbp + 0xa98]
mov qword [rbp + 0xa58], rax
mov eax, 4
mov rcx, qword [rbp + 0xa58]
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400aa2d3
mov qword [rbp + 0x8c8], rax
movsxd rax, dword [rbp + 0x104]
mov rcx, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0x8c8]
mov qword [rcx + rax*8], rdx
jmp 0x1401fbce1
mov edx, dword [rbp + 0xa98]
mov rcx, qword [rbp + 0xe8]
call fcn.1400ad325
lea rcx, [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [rbp + 0xc4]
mov dword [rbp + 0x124], eax
jmp 0x1401fbd87
mov eax, dword [rbp + 0x124]
inc eax
mov dword [rbp + 0x124], eax
mov eax, dword [rbp + 0xa98]
cmp dword [rbp + 0x124], eax
jge 0x1401fbe03
mov eax, dword [rbp + 0x124]
cdq
idiv dword [rbp + 0xc4]
mov dword [rbp + 0x144], eax
mov eax, dword [rbp + 0x144]
cmp dword [rbp + 0xa4], eax
jne 0x1401fbdc4
mov eax, dword [rbp + 0x144]
dec eax
mov dword [rbp + 0x144], eax
movsxd rax, dword [rbp + 0x124]
mov dword [rsp + 0x28], 0x44000000
mov dword [rsp + 0x20], 0
mov r9d, dword [rbp + 0x144]
mov r8d, 0x4c00040a
mov edx, dword [rbp + 0xa98]
mov rcx, qword [rbp + 0xe8]
mov rcx, qword [rcx + rax*8]
call fcn.1400a99e1
jmp 0x1401fbd79
mov dword [rbp + 0x164], 0
jmp 0x1401fbe1d
mov eax, dword [rbp + 0x164]
inc eax
mov dword [rbp + 0x164], eax
mov eax, dword [rbp + 0xc4]
cmp dword [rbp + 0x164], eax
jge 0x1401fc09c
movsxd rax, dword [rbp + 0x164]
movsxd rcx, dword [rbp + 0x164]
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rdx + rax*8]
movss xmm0, dword [rax + rcx*4]
shufps xmm0, xmm0, 0
movaps xmmword [rbp + 0x8f0], xmm0
movaps xmm0, xmmword [rbp + 0x8f0]
movaps xmmword [rbp + 0x190], xmm0
mov eax, dword [rbp + 0xa98]
sub eax, 4
mov dword [rbp + 0x1b4], eax
jmp 0x1401fbe86
mov eax, dword [rbp + 0x1b4]
sub eax, 4
mov dword [rbp + 0x1b4], eax
mov eax, dword [rbp + 0x164]
cmp dword [rbp + 0x1b4], eax
jle 0x1401fbf1c
movsxd rax, dword [rbp + 0x164]
movsxd rcx, dword [rbp + 0x1b4]
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rdx + rax*8]
lea rax, [rax + rcx*4]
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x920], xmm0
movaps xmm0, xmmword [rbp + 0x920]
movaps xmmword [rbp + 0x1e0], xmm0
movaps xmm0, xmmword [rbp + 0x1e0]
divps xmm0, xmmword [rbp + 0x190]
movaps xmmword [rbp + 0x950], xmm0
movaps xmm0, xmmword [rbp + 0x950]
movaps xmmword [rbp + 0x1e0], xmm0
movsxd rax, dword [rbp + 0x164]
movsxd rcx, dword [rbp + 0x1b4]
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rdx + rax*8]
lea rax, [rax + rcx*4]
movaps xmm0, xmmword [rbp + 0x1e0]
movups xmmword [rax], xmm0
jmp 0x1401fbe77
mov eax, dword [rbp + 0x164]
inc eax
mov dword [rbp + 0x204], eax
jmp 0x1401fbf3a
mov eax, dword [rbp + 0x204]
inc eax
mov dword [rbp + 0x204], eax
mov eax, dword [rbp + 0x164]
mov ecx, dword [rbp + 0xa98]
sub ecx, eax
mov eax, ecx
dec eax
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov ecx, dword [rbp + 0x164]
lea eax, [rcx + rax + 1]
cmp dword [rbp + 0x204], eax
jge 0x1401fbfc9
movsxd rax, dword [rbp + 0x164]
movsxd rcx, dword [rbp + 0x204]
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rdx + rax*8]
movsxd rdx, dword [rbp + 0x164]
movsxd r8, dword [rbp + 0x164]
mov r9, qword [rbp + 0xe8]
mov rdx, qword [r9 + rdx*8]
movss xmm0, dword [rax + rcx*4]
divss xmm0, dword [rdx + r8*4]
movsxd rax, dword [rbp + 0x164]
movsxd rcx, dword [rbp + 0x204]
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rdx + rax*8]
movss dword [rax + rcx*4], xmm0
jmp 0x1401fbf2c
movsxd rax, dword [rbp + 0x164]
movsxd rcx, dword [rbp + 0x164]
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rdx + rax*8]
movss xmm0, dword [0x14020ecc0]
movss dword [rax + rcx*4], xmm0
mov eax, dword [rbp + 0xa90]
inc eax
mov dword [rbp + 0x224], eax
movsxd rax, dword [rbp + 0x164]
mov dword [rsp + 0x28], 0x44000000
mov dword [rsp + 0x20], 0
mov r9d, dword [rbp + 0x224]
mov r8d, 0x4c00040a
mov edx, dword [rbp + 0xa98]
mov rcx, qword [rbp + 0xe8]
mov rcx, qword [rcx + rax*8]
call fcn.1400a99e1
mov eax, dword [rbp + 0xc4]
dec eax
sub eax, dword [rbp + 0x164]
mov dword [rbp + 0x244], eax
cmp dword [rbp + 0x244], 0
jg 0x1401fc056
jmp 0x1401fc09c
mov eax, dword [rbp + 0x164]
inc eax
movsxd rcx, dword [rbp + 0x164]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x164]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp + 0xa98]
mov rax, qword [rbp + 0xe8]
mov r8, qword [rax + rcx*8]
mov edx, dword [rbp + 0xc4]
mov rcx, qword [rbp + 0xe8]
call fcn.1400aa111
jmp 0x1401fbe0f
mov eax, dword [rbp + 0xc4]
mov dword [rbp + 0x264], eax
jmp 0x1401fc0b8
mov eax, dword [rbp + 0x264]
inc eax
mov dword [rbp + 0x264], eax
mov eax, dword [rbp + 0xa98]
cmp dword [rbp + 0x264], eax
jge 0x1401fc13d
mov eax, dword [rbp + 0x264]
cdq
idiv dword [rbp + 0xc4]
mov dword [rbp + 0x284], eax
mov eax, dword [rbp + 0x284]
cmp dword [rbp + 0xa4], eax
jne 0x1401fc0f5
mov eax, dword [rbp + 0x284]
dec eax
mov dword [rbp + 0x284], eax
movsxd rax, dword [rbp + 0x264]
mov qword [rsp + 0x30], 1
mov dword [rsp + 0x28], 0x44000000
mov dword [rsp + 0x20], 0
mov r9d, dword [rbp + 0x284]
mov r8d, 0x4c00040a
mov edx, dword [rbp + 0xa98]
mov rcx, qword [rbp + 0xe8]
mov rcx, qword [rcx + rax*8]
call fcn.1400aaca6
jmp 0x1401fc0aa
lea rcx, [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x68]
sub rcx, rax
mov rax, rcx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [0x14020ecc8]
cvtsi2sd xmm1, qword [rbp + 0x88]
divsd xmm0, xmm1
cvttsd2si rax, xmm0
mov qword [rbp + 0x2a8], rax
lea rdx, str.time:
lea rcx, [0x14025caf0]
call fcn.1400a88a2
mov rdx, qword [rbp + 0x2a8]
mov rcx, rax
call fcn.1400a8311
lea rdx, [0x1400a8316]
mov rcx, rax
call fcn.1400aa891
jmp 0x1401fc7b1
lea rdx, [rbp + 0x2c4]
mov ecx, 0x44000000
call fcn.1400a98dd
mov eax, dword [rbp + 0xa98]
cdq
idiv dword [rbp + 0x2c4]
mov dword [rbp + 0x2e4], eax
mov eax, dword [rbp + 0xa90]
imul eax, dword [rbp + 0x2e4]
mov dword [rbp + 0x304], eax
mov eax, dword [rbp + 0x2c4]
dec eax
cmp dword [rbp + 0xa90], eax
jne 0x1401fc208
mov eax, dword [rbp + 0xa98]
dec eax
mov dword [rbp + 0x324], eax
jmp 0x1401fc21e
mov eax, dword [rbp + 0x304]
mov ecx, dword [rbp + 0x2e4]
lea eax, [rax + rcx - 1]
mov dword [rbp + 0x324], eax
mov eax, dword [rbp + 0x304]
mov ecx, dword [rbp + 0x324]
sub ecx, eax
mov eax, ecx
inc eax
mov dword [rbp + 0x344], eax
movsxd rax, dword [rbp + 0x344]
mov qword [rbp + 0xa58], rax
mov eax, 8
mov rcx, qword [rbp + 0xa58]
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400aa2d3
mov qword [rbp + 0x978], rax
mov rax, qword [rbp + 0x978]
mov qword [rbp + 0x368], rax
mov dword [rbp + 0x384], 0
jmp 0x1401fc295
mov eax, dword [rbp + 0x384]
inc eax
mov dword [rbp + 0x384], eax
mov eax, dword [rbp + 0x344]
cmp dword [rbp + 0x384], eax
jge 0x1401fc2f5
movsxd rax, dword [rbp + 0xa98]
mov qword [rbp + 0xa58], rax
mov eax, 4
mov rcx, qword [rbp + 0xa58]
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400aa2d3
mov qword [rbp + 0x998], rax
movsxd rax, dword [rbp + 0x384]
mov rcx, qword [rbp + 0x368]
mov rdx, qword [rbp + 0x998]
mov qword [rcx + rax*8], rdx
jmp 0x1401fc287
mov dword [rbp + 0x3a4], 0
jmp 0x1401fc30f
mov eax, dword [rbp + 0x3a4]
inc eax
mov dword [rbp + 0x3a4], eax
mov eax, dword [rbp + 0x344]
cmp dword [rbp + 0x3a4], eax
jge 0x1401fc35e
movsxd rax, dword [rbp + 0x3a4]
mov qword [rsp + 0x30], 1
mov dword [rsp + 0x28], 0x44000000
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x4c00040a
mov edx, dword [rbp + 0xa98]
mov rcx, qword [rbp + 0x368]
mov rcx, qword [rcx + rax*8]
call fcn.1400aaca6
jmp 0x1401fc301
movsxd rax, dword [rbp + 0xa98]
mov qword [rbp + 0xa58], rax
mov eax, 4
mov rcx, qword [rbp + 0xa58]
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400aa2d3
mov qword [rbp + 0x9b8], rax
mov rax, qword [rbp + 0x9b8]
mov qword [rbp + 0x3c8], rax
mov dword [rbp + 0x3e4], 0
jmp 0x1401fc3bd
mov eax, dword [rbp + 0x3e4]
inc eax
mov dword [rbp + 0x3e4], eax
mov eax, dword [rbp + 0x304]
cmp dword [rbp + 0x3e4], eax
jge 0x1401fc499
mov eax, dword [rbp + 0xa90]
dec eax
mov dword [rbp + 0x404], eax
mov qword [rsp + 0x30], 1
mov dword [rsp + 0x28], 0x44000000
mov dword [rsp + 0x20], 0
mov r9d, dword [rbp + 0x404]
mov r8d, 0x4c00040a
mov edx, dword [rbp + 0xa98]
mov rcx, qword [rbp + 0x3c8]
call fcn.1400aaca6
mov dword [rsp + 0x28], 0
mov eax, dword [rbp + 0x3e4]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp + 0xa98]
mov r8, qword [rbp + 0x3c8]
mov edx, dword [rbp + 0x344]
mov rcx, qword [rbp + 0x368]
call fcn.1400aa111
mov eax, dword [rbp + 0xa90]
inc eax
mov dword [rbp + 0x424], eax
mov eax, dword [rbp + 0x2c4]
dec eax
cmp dword [rbp + 0x424], eax
jg 0x1401fc494
mov dword [rsp + 0x28], 0x44000000
mov dword [rsp + 0x20], 0
mov r9d, dword [rbp + 0x424]
mov r8d, 0x4c00040a
mov edx, dword [rbp + 0xa98]
mov rcx, qword [rbp + 0x3c8]
call fcn.1400a99e1
jmp 0x1401fc3af
mov eax, dword [rbp + 0x304]
mov dword [rbp + 0x444], eax
jmp 0x1401fc4b5
mov eax, dword [rbp + 0x444]
inc eax
mov dword [rbp + 0x444], eax
mov eax, dword [rbp + 0x324]
cmp dword [rbp + 0x444], eax
jg 0x1401fc75c
mov eax, dword [rbp + 0x304]
mov ecx, dword [rbp + 0x444]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x464], eax
movsxd rax, dword [rbp + 0x464]
movsxd rcx, dword [rbp + 0x444]
mov rdx, qword [rbp + 0x368]
mov rax, qword [rdx + rax*8]
movss xmm0, dword [rax + rcx*4]
shufps xmm0, xmm0, 0
movaps xmmword [rbp + 0x9e0], xmm0
movaps xmm0, xmmword [rbp + 0x9e0]
movaps xmmword [rbp + 0x490], xmm0
mov eax, dword [rbp + 0xa98]
sub eax, 4
mov dword [rbp + 0x4b4], eax
jmp 0x1401fc534
mov eax, dword [rbp + 0x4b4]
sub eax, 4
mov dword [rbp + 0x4b4], eax
mov eax, dword [rbp + 0x444]
cmp dword [rbp + 0x4b4], eax
jle 0x1401fc5ca
movsxd rax, dword [rbp + 0x464]
movsxd rcx, dword [rbp + 0x4b4]
mov rdx, qword [rbp + 0x368]
mov rax, qword [rdx + rax*8]
lea rax, [rax + rcx*4]
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0xa10], xmm0
movaps xmm0, xmmword [rbp + 0xa10]
movaps xmmword [rbp + 0x4e0], xmm0
movaps xmm0, xmmword [rbp + 0x4e0]
divps xmm0, xmmword [rbp + 0x490]
movaps xmmword [rbp + 0xa40], xmm0
movaps xmm0, xmmword [rbp + 0xa40]
movaps xmmword [rbp + 0x4e0], xmm0
movsxd rax, dword [rbp + 0x464]
movsxd rcx, dword [rbp + 0x4b4]
mov rdx, qword [rbp + 0x368]
mov rax, qword [rdx + rax*8]
lea rax, [rax + rcx*4]
movaps xmm0, xmmword [rbp + 0x4e0]
movups xmmword [rax], xmm0
jmp 0x1401fc525
mov eax, dword [rbp + 0x444]
inc eax
mov dword [rbp + 0x504], eax
jmp 0x1401fc5e8
mov eax, dword [rbp + 0x504]
inc eax
mov dword [rbp + 0x504], eax
mov eax, dword [rbp + 0x444]
mov ecx, dword [rbp + 0xa98]
sub ecx, eax
mov eax, ecx
dec eax
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov ecx, dword [rbp + 0x444]
lea eax, [rcx + rax + 1]
cmp dword [rbp + 0x504], eax
jge 0x1401fc677
movsxd rax, dword [rbp + 0x464]
movsxd rcx, dword [rbp + 0x504]
mov rdx, qword [rbp + 0x368]
mov rax, qword [rdx + rax*8]
movsxd rdx, dword [rbp + 0x464]
movsxd r8, dword [rbp + 0x444]
mov r9, qword [rbp + 0x368]
mov rdx, qword [r9 + rdx*8]
movss xmm0, dword [rax + rcx*4]
divss xmm0, dword [rdx + r8*4]
movsxd rax, dword [rbp + 0x464]
movsxd rcx, dword [rbp + 0x504]
mov rdx, qword [rbp + 0x368]
mov rax, qword [rdx + rax*8]
movss dword [rax + rcx*4], xmm0
jmp 0x1401fc5da
movsxd rax, dword [rbp + 0x464]
movsxd rcx, dword [rbp + 0x444]
mov rdx, qword [rbp + 0x368]
mov rax, qword [rdx + rax*8]
movss xmm0, dword [0x14020ecc0]
movss dword [rax + rcx*4], xmm0
mov eax, dword [rbp + 0x2c4]
dec eax
cmp dword [rbp + 0xa90], eax
je 0x1401fc6f5
mov eax, dword [rbp + 0xa90]
inc eax
mov dword [rbp + 0x524], eax
movsxd rax, dword [rbp + 0x464]
mov dword [rsp + 0x28], 0x44000000
mov dword [rsp + 0x20], 0
mov r9d, dword [rbp + 0x524]
mov r8d, 0x4c00040a
mov edx, dword [rbp + 0xa98]
mov rcx, qword [rbp + 0x368]
mov rcx, qword [rcx + rax*8]
call fcn.1400a99e1
mov eax, dword [rbp + 0x444]
mov ecx, dword [rbp + 0x324]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x544], eax
cmp dword [rbp + 0x544], 0
jg 0x1401fc716
jmp 0x1401fc75c
mov eax, dword [rbp + 0x464]
inc eax
movsxd rcx, dword [rbp + 0x464]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x444]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp + 0xa98]
mov rax, qword [rbp + 0x368]
mov r8, qword [rax + rcx*8]
mov edx, dword [rbp + 0x344]
mov rcx, qword [rbp + 0x368]
call fcn.1400aa111
jmp 0x1401fc4a7
mov dword [rbp + 0x564], 0
jmp 0x1401fc776
mov eax, dword [rbp + 0x564]
inc eax
mov dword [rbp + 0x564], eax
mov eax, dword [rbp + 0x344]
cmp dword [rbp + 0x564], eax
jge 0x1401fc7b1
mov dword [rsp + 0x28], 0x44000000
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x4c00040a
mov edx, dword [rbp + 0xa98]
mov rcx, qword [rbp + 0x368]
call fcn.1400a99e1
jmp 0x1401fc768
lea rcx, [rbp - 0x40]
lea rdx, [0x14020cf80]
call fcn.1400ac191
mov rcx, qword [rbp + 0xa60]
xor rcx, rbp
call fcn.1400aa675
lea rsp, [rbp + 0xa78]
pop rdi
pop rbp
ret