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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x60
mov rdi, qword [rcx]
lea rbp, [rcx + 0x24]
xor r14d, r14d
mov rbx, rcx
mov r12d, r14d
mov dword [rsp + 0xa8], r14d
mov r13d, r14d
mov edx, dword [rdi + 0x26c]
mov eax, dword [rdi + 0x270]
sub edx, eax
mov esi, dword [rdi + 0x274]
and esi, edx
cmp dword [rbp], r14d
jne 0x14001b423
mov eax, dword [rcx + 0x44]
cmp dword [rcx + 0x40], eax
jne 0x14001ae9a
test esi, esi
je 0x14001b423
mov rax, qword [rcx]
movaps xmmword [rsp + 0x40], xmm6
cmp qword [rax + 0x1a8], r12
je 0x14001aec6
cmp qword [rax + 0x1e8], r12
je 0x14001aec6
mov eax, dword [rcx + 0x2c]
mov dword [rsp + 0xa0], 1
test eax, eax
je 0x14001aece
mov dword [rsp + 0xa0], r14d
cmp dword [0x1400a6888], r12d
mov rdi, qword [rcx]
movsd xmm6, qword [0x140095400]
je 0x14001af01
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsp + 0x20]
mulsd xmm0, qword [0x1400a6890]
jmp 0x14001af15
call qword [sym.imp.WINMM.dll_timeGetTime]
xorps xmm0, xmm0
mov eax, eax
cvtsi2sd xmm0, rax
mulsd xmm0, xmm6
cmp dword [0x1400a6888], r12d
movsd qword [rdi + 0x88], xmm0
je 0x14001af45
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsp + 0x28]
mulsd xmm0, qword [0x1400a6890]
jmp 0x14001af59
call qword [sym.imp.WINMM.dll_timeGetTime]
xorps xmm0, xmm0
mov eax, eax
cvtsi2sd xmm0, rax
mulsd xmm0, xmm6
mov rdi, qword [rbx]
lea rcx, [rbx + 8]
mov edx, dword [rbx + 0x20]
xorps xmm1, xmm1
movaps xmm6, xmmword [rsp + 0x40]
movsd qword [rbx + 0x10], xmm0
mov eax, dword [rdi + 0x110]
mov qword [rdi + 0x130], rcx
movsd xmm0, qword [rcx]
cvtsi2sd xmm1, rax
mulsd xmm1, qword [rdi + 0x188]
subsd xmm0, xmm1
movsd qword [rcx], xmm0
xorps xmm0, xmm0
mov eax, dword [rdi + 0x128]
mov rcx, qword [rdi + 0x130]
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rdi + 0x188]
addsd xmm0, qword [rcx + 0x10]
movsd qword [rcx + 0x10], xmm0
mov dword [rdi + 0x138], edx
mov dword [rdi + 0x144], r14d
mov dword [rdi + 0x160], r14d
mov eax, dword [rbx + 0x44]
mov dword [rbx + 0x20], r14d
cmp eax, dword [rbx + 0x40]
je 0x14001b074
and eax, 3
add rax, rax
mov r10, qword [rbx + rax*8 + 0x88]
mov rax, qword [rbx]
mov ecx, dword [rax + 0x1fc]
test ecx, ecx
jne 0x14001b002
mov ecx, dword [rax + 0x9c]
mov dword [rax + 0x15c], ecx
mov r9d, r14d
mov rdx, qword [rbx]
mov rcx, rdx
cmp dword [rdx + 0x298], r14d
jle 0x14001b067
nop word [rax + rax]
mov rdi, qword [rbx]
mov ecx, r9d
mov edx, r9d
inc r9d
add rdx, rdx
imul ecx, dword [rdi + 0x204]
mov rax, qword [rdi + 0x168]
mov r8d, dword [rdi + 0x29c]
add rcx, qword [r10 + 0x28]
mov qword [rax + rdx*8], rcx
mov rax, qword [rdi + 0x168]
mov dword [rax + rdx*8 + 8], r8d
mov rdx, qword [rbx]
mov rcx, rdx
cmp r9d, dword [rdx + 0x298]
jl 0x14001b020
cmp dword [rdx + 0x298], 1
sete r13b
jmp 0x14001b07a
mov rdx, qword [rbx]
mov rcx, rdx
test esi, esi
je 0x14001b1e9
cmp dword [rdx + 0x298], r12d
je 0x14001b09d
cmp esi, dword [rdx + 0x1fc]
jl 0x14001b1e9
mov esi, dword [rdx + 0x1fc]
mov edi, dword [rdx + 0x26c]
mov eax, dword [rdx + 0x270]
sub edi, eax
mov r8d, dword [rdx + 0x270]
and edi, dword [rdx + 0x274]
mov eax, dword [rdx + 0x278]
cmp esi, edi
mov ecx, dword [rdx + 0x268]
mov r10d, edi
mov r9, qword [rdx + 0x280]
cmovle r10d, esi
and r8d, eax
mov qword [rsp + 0x58], r15
mov eax, r8d
mov dword [rsp + 0xb0], r10d
imul eax, dword [rdx + 0x27c]
movsxd rdx, eax
lea eax, [r10 + r8]
add rdx, r9
mov qword [rsp + 0x30], rdx
cmp eax, ecx
jle 0x14001b11e
sub ecx, r8d
mov qword [rsp + 0x38], r9
mov eax, r10d
mov dword [rsp + 0xb8], ecx
sub eax, ecx
mov dword [rsp + 0xbc], eax
jmp 0x14001b133
mov dword [rsp + 0xb8], r10d
mov qword [rsp + 0x38], r14
mov dword [rsp + 0xbc], r14d
test edi, edi
je 0x14001b137
mov rcx, qword [rbx]
lea r12, [0x140000000]
mov r15d, r14d
xor esi, esi
lea r14, [rsp + 0xb8]
nop
mov edx, dword [r14]
test edx, edx
je 0x14001b1cc
mov rcx, qword [rbx]
add rcx, 0x98
call qword [rsi + r12 + 0x91ec0]
mov rax, qword [rbx]
xor edi, edi
cmp dword [rax + 0x290], edi
jle 0x14001b1b8
mov rbp, qword [rsp + rsi + 0x30]
nop dword [rax + rax]
mov rdx, qword [rbx]
mov r8d, edi
imul r8d, dword [rdx + 0x1c4]
lea rcx, [rdx + 0x98]
mov r9d, dword [rdx + 0x294]
mov edx, edi
add r8, rbp
call qword [rsi + r12 + 0x92980]
mov rcx, qword [rbx]
inc edi
cmp edi, dword [rcx + 0x290]
jl 0x14001b180
jmp 0x14001b1bb
mov rcx, rax
inc r15d
add r14, 4
add rsi, 8
cmp r15d, 2
jb 0x14001b150
mov r12d, dword [rsp + 0xa8]
lea rbp, [rbx + 0x24]
mov esi, dword [rsp + 0xb0]
xor r14d, r14d
mov r15, qword [rsp + 0x58]
jmp 0x14001b20b
mov esi, r14d
cmp dword [rdx + 0x298], r14d
jle 0x14001b20b
cmp dword [rdx + 0x290], r14d
jle 0x14001b20b
mov rax, qword [rdx + 0x148]
mov qword [rax], r14
mov rcx, qword [rbx]
cmp dword [rsp + 0xa0], 0
je 0x14001b23a
mov edi, dword [rcx + 0x160]
mov eax, dword [rcx + 0x144]
add edi, dword [rcx + 0x15c]
add eax, dword [rcx + 0x140]
cmp eax, edi
jne 0x14001b235
test edi, edi
jne 0x14001b23a
mov r11d, r14d
jmp 0x14001b24c
mov rdx, rbp
add rcx, 0x98
call fcn.140023510
mov r11d, eax
test r13d, r13d
je 0x14001b372
mov eax, dword [rbx + 0x44]
mov rcx, qword [rbx]
and eax, 3
add rax, rax
mov edx, dword [rcx + 0x204]
mov r8, qword [rbx + rax*8 + 0x88]
sub edx, 2
je 0x14001b32a
sub edx, 1
je 0x14001b2d5
cmp edx, 1
jne 0x14001b372
mov r9d, dword [rcx + 0x1fc]
mov r10d, dword [rcx + 0x29c]
mov r8, qword [r8 + 0x28]
test r9d, r9d
je 0x14001b372
dec r10d
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [r8]
dec r9d
add r8, 4
test r10d, r10d
je 0x14001b2cb
mov rdi, r8
mov ecx, r10d
rep stosd dword [rdi], eax
lea r8, [r8 + r10*4]
test r9d, r9d
jne 0x14001b2b0
jmp 0x14001b372
mov r9d, dword [rcx + 0x1fc]
mov r10d, dword [rcx + 0x29c]
mov rax, qword [r8 + 0x28]
test r9d, r9d
je 0x14001b372
dec r10d
movzx edx, byte [rax]
dec r9d
movzx edi, byte [rax + 1]
mov ecx, r10d
movzx r8d, byte [rax + 2]
add rax, 3
test r10d, r10d
je 0x14001b323
nop
mov byte [rax], dl
mov byte [rax + 1], dil
mov byte [rax + 2], r8b
add rax, 3
sub ecx, 1
jne 0x14001b310
test r9d, r9d
jne 0x14001b2f3
jmp 0x14001b372
mov r9d, dword [rcx + 0x1fc]
mov r10d, dword [rcx + 0x29c]
mov r8, qword [r8 + 0x28]
test r9d, r9d
je 0x14001b372
dec r10d
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [r8]
dec r9d
add r8, 2
test r10d, r10d
je 0x14001b36d
mov rdi, r8
mov ecx, r10d
rep stosw word [rdi], ax
lea r8, [r8 + r10*2]
test r9d, r9d
jne 0x14001b350
mov rcx, qword [rbx]
mov edx, r11d
sub rcx, 0xffffffffffffff80
call fcn.140023df0
test esi, esi
je 0x14001b39e
mov rdx, qword [rbx]
mov ecx, dword [rdx + 0x270]
mov eax, dword [rdx + 0x274]
add ecx, esi
and eax, ecx
mov dword [rdx + 0x270], eax
mov ecx, dword [rbx + 0x44]
cmp ecx, dword [rbx + 0x40]
je 0x14001b423
mov rax, qword [rbx]
cmp dword [rax + 0x230], 0
jne 0x14001b3cb
mov rax, qword [rax + 0x1e8]
mov edx, ecx
mov rcx, rbx
call qword [rax + 0x2b0]
mov r12d, eax
test eax, eax
jne 0x14001b426
inc dword [rbx + 0x44]
mov eax, dword [rbx + 0x30]
test eax, eax
jne 0x14001b423
mov eax, dword [rbx + 0x2c]
test eax, eax
jne 0x14001b423
mov rax, qword [rbx]
mov r12d, r14d
mov rcx, qword [rax + 0x1a8]
test rcx, rcx
je 0x14001b3fe
mov edx, 3
call fcn.140015490
mov r12d, eax
mov rax, qword [rbx]
mov rcx, qword [rax + 0x1e8]
test rcx, rcx
je 0x14001b417
mov edx, 3
call fcn.140015490
mov r12d, eax
test r12d, r12d
jne 0x14001b423
mov dword [rbx + 0x30], 1
mov eax, r12d
add rsp, 0x60
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret