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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x1c8
lea rbp, [rsp + 0x200]
xor eax, eax
mov qword [rbp - 0x188], rax
xorps xmm4, xmm4
movaps xmmword [rbp - 0x180], xmm4
movaps xmmword [rbp - 0x170], xmm4
movabs rax, 0xfffffffffffffee0
movaps xmmword [rbp + rax - 0x40], xmm4
movaps xmmword [rbp + rax - 0x30], xmm4
movaps xmmword [rbp + rax - 0x20], xmm4
add rax, 0x30
jne 0x1400708df
mov qword [rbp - 0x40], rax
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
mov rbx, rdx
mov rdi, qword [rbp + 0x30]
mov rsi, qword [rbp + 0x38]
mov r14, qword [rbp + 0x48]
mov r13d, dword [rbp + 0x50]
mov r15, qword [rbp + 0x58]
xor edx, edx
mov dword [rbp - 0x44], edx
lea rdx, [0x1402bd968]
mov qword [rbp - 0x1a0], rdx
mov rcx, qword [rcx + 0x18]
mov rdx, qword [rbp + 0x20]
cmp dword [rcx], ecx
call fcn.140076e30
mov r12d, eax
mov rcx, qword [rbp + 0x10]
mov rcx, qword [rcx + 0x18]
mov rdx, qword [rbp + 0x20]
cmp dword [rcx], ecx
call fcn.140076e90
mov dword [rbp - 0x48], eax
test r12d, r12d
je 0x1400709e5
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x20]
call fcn.140071b20
mov rcx, rax
call fcn.14007dd60
mov r12, rax
mov rcx, qword [rbp + 0x20]
call fcn.14012ef50
mov qword [rbp + 0x20], rax
mov rcx, qword [rbp + 0x10]
call fcn.140088fc0
mov qword [rbp - 0x1a0], rax
mov rcx, qword [rbp - 0x1a0]
mov rdx, r12
call fcn.1400c46e0
test eax, eax
jne 0x1400709e5
mov rdx, r12
lea rcx, [0x1402c86b0]
lea r8, [0x1402bf0f8]
call fcn.1400c5b40
mov r8, rax
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov rcx, qword [rbp + 0x10]
xor edx, edx
xor r9d, r9d
call fcn.140089c00
mov rcx, qword [rbp + 0x10]
mov rdx, r12
call fcn.1400757d0
nop
xor ecx, ecx
mov qword [rbp - 0x50], rcx
test rsi, rsi
je 0x140070a15
test r14, r14
jg 0x140070a0e
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x20]
movabs r8, 0xffffffffffffffff
call fcn.140072590
jmp 0x140070a11
mov rax, r14
mov qword [rbp - 0x50], rax
test r15, r15
jle 0x140070a2b
cmp qword [rbp - 0x50], 0
jle 0x140070a27
cmp r15, qword [rbp - 0x50]
jge 0x140070a2b
mov qword [rbp - 0x50], r15
mov qword [rsp + 0x20], rdi
xor ecx, ecx
mov dword [rsp + 0x28], ecx
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rcx + 0x18]
mov r8d, dword [rdx + 0xe4]
mov rdx, qword [rbp + 0x20]
mov r9, qword [rbp - 0x50]
call fcn.140075300
mov qword [rbp - 0x40], rax
cmp qword [rbp - 0x50], 0
jle 0x140070aa0
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rcx + 0x18]
cmp dword [rdx + 0xe4], 0
jne 0x140070a73
test r15, r15
je 0x140070aa0
mov rdx, qword [rcx + 0x20]
test rdx, rdx
je 0x140070a9c
mov qword [rbp - 0x1c8], rdx
mov rcx, rdx
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp - 0x1c8]
mov rax, qword [rax]
call qword [rax + 0x88]
jmp 0x140070aa5
xor eax, eax
jmp 0x140070aa5
mov eax, 1
movzx r8d, al
mov dword [rbp - 0x54], r8d
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rcx + 0x18]
mov edx, dword [rdx + 0xdc]
test edx, edx
jne 0x140070ac4
xor r10d, r10d
jmp 0x140070acb
mov r10d, edx
shl r10, 0xa
mov qword [rbp - 0x60], r10
mov rdx, r10
mov r8d, 0x64
call fcn.140086800
movsxd rdx, eax
lea rcx, [0x14039a1d0]
call fcn.140005640
mov r12, rax
mov qword [rbp - 0x1a8], r12
mov qword [rbp - 0x68], rdi
xor eax, eax
mov qword [rbp - 0x70], rax
call fcn.1400d2060
mov qword [rbp - 0x168], rax
lea rcx, [0x140319f40]
call fcn.140005520
mov rcx, rax
xor edx, edx
mov qword [rcx + 8], rdx
mov byte [rcx + 0x18], 0
mov qword [rcx + 0x10], rdx
mov qword [rbp - 0x1b0], rcx
mov dword [rbp - 0x74], edx
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 0x58]
mov byte [rdx + 0x36], 0
mov rdx, qword [rax + 0x18]
cmp byte [rdx + 0xff], 0
je 0x140070b8e
cmp qword [rbp + 0x28], 0
jne 0x140070b8e
test rbx, rbx
je 0x140070b8e
mov qword [rsp + 0x20], r14
movzx edx, r13b
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x30], rdi
mov rcx, rax
mov rdx, rbx
xor r8d, r8d
xor r9d, r9d
call fcn.14007a2b0
mov qword [rbp + 0x28], rax
mov dword [rbp - 0x44], 1
mov rax, qword [rbp + 0x10]
mov rbx, qword [rbp + 0x18]
mov rdx, qword [rbp - 0x68]
cmp rdx, qword [rbp - 0x50]
setl dl
movzx edx, dl
or edx, dword [rbp - 0x54]
je 0x1400711d6
xor edx, edx
mov qword [rbp - 0xa0], rdx
cmp qword [rbp - 0x50], 0
je 0x140070bd1
mov r10d, dword [r12 + 8]
mov r9d, r10d
mov r11, qword [rbp - 0x50]
sub r11, qword [rbp - 0x68]
cmp r9, r11
mov dword [rbp - 0x18c], r10d
jg 0x140070bdb
mov r10d, dword [r12 + 8]
mov r9d, r10d
jmp 0x140070bea
mov r9d, dword [rbp - 0x50]
sub r9d, dword [rbp - 0x68]
mov r10d, dword [rbp - 0x18c]
mov dword [rbp - 0xa4], r9d
mov rcx, qword [rbp - 0x1b0]
cmp byte [rcx + 0x18], 0
mov dword [rbp - 0x18c], r10d
jne 0x140070e59
lea rcx, [rbp - 0x148]
call sub.KERNEL32.dll_QueryPerformanceCounter
mov rax, qword [rbp - 0x148]
mov rcx, qword [rbp - 0x1b0]
mov qword [rcx + 0x10], rax
cmp dword [0x1405820a8], 0
je 0x1400711af
call fcn.140006a40
jmp 0x1400711af
cmp qword [rbp + 0x28], 0
jne 0x140070c7a
mov rdx, qword [rbp + 0x18]
test rdx, rdx
je 0x140070c7a
mov qword [rsp + 0x20], r14
movzx ecx, r13b
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x30], rdi
mov rcx, qword [rbp + 0x10]
xor r8d, r8d
xor r9d, r9d
call fcn.14007a2b0
mov qword [rbp + 0x28], rax
mov dword [rbp - 0x44], 1
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp - 0x1a8]
mov r9d, ebx
xor r8d, r8d
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
call qword [rax + 0xf8]
movsxd rax, ebx
mov rcx, rax
add rcx, qword [rbp - 0x68]
mov qword [rbp - 0x68], rcx
mov rcx, rax
add rcx, qword [rbp - 0x70]
mov qword [rbp - 0x70], rcx
mov rdx, rax
add rdx, qword [rbp - 0xa0]
mov rbx, rdx
cmp qword [rbp - 0x50], 0
je 0x140070ce0
mov rax, qword [rbp - 0x50]
sub rax, qword [rbp - 0x68]
mov esi, dword [rbp - 0x18c]
mov ecx, esi
cmp rax, rcx
mov dword [rbp - 0x18c], esi
jl 0x140070ceb
mov esi, dword [rbp - 0x18c]
mov r9d, esi
jmp 0x140070cf9
mov r9d, dword [rbp - 0x50]
sub r9d, dword [rbp - 0x68]
mov esi, dword [rbp - 0x18c]
mov r12d, r9d
cmp qword [rbp + 0x38], 0
je 0x140070d66
call fcn.1400d2060
movabs r9, 0x3fffffffffffffff
and r9, rax
movabs rcx, 0x3fffffffffffffff
and rcx, qword [rbp - 0x168]
sub r9, rcx
mov rdx, qword [rbp + 0x18]
mov qword [rsp + 0x20], rdx
mov rcx, qword [rbp + 0x20]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0x40]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rbp - 0x50]
sub rcx, rdi
mov rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x70]
call fcn.140077870
mov rdx, rax
mov rax, qword [rbp + 0x38]
mov rcx, qword [rax + 8]
call qword [rax + 0x20]
mov rcx, qword [rbp - 0x1b0]
mov rdx, qword [rcx + 8]
mov qword [rbp - 0x150], rdx
cmp byte [rcx + 0x18], 0
je 0x140070dbd
lea rcx, [rbp - 0x158]
call sub.KERNEL32.dll_QueryPerformanceCounter
mov rax, qword [rbp - 0x158]
mov rcx, qword [rbp - 0x1b0]
sub rax, qword [rcx + 0x10]
mov rdx, rax
add rdx, qword [rbp - 0x150]
mov r8, rdx
cmp dword [0x1405820a8], 0
mov qword [rbp - 0x150], r8
jne 0x140071150
lea r8, [0x1403025d0]
mov qword [rbp - 0x198], r8
cmp qword [r8 - 8], 0
jne 0x14007113f
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rbp - 0x150]
mulsd xmm0, qword [r8 + 0x10]
cvttsd2si rdx, xmm0
movabs r8, 0x346dc5d63886594b
mov rax, r8
imul rdx
mov r8, rdx
shr r8, 0x3f
sar rdx, 0xb
add r8, rdx
mov rdx, qword [rbp - 0x60]
test rdx, rdx
mov qword [rbp - 0xa0], rbx
mov dword [rbp - 0xa4], r12d
mov dword [rbp - 0x18c], esi
jle 0x140070e59
mov rbx, qword [rbp - 0xa0]
imul rax, rbx, 0x3e8
mov r10, qword [rbp - 0x60]
cqo
idiv r10
cmp rax, r8
jle 0x14007115a
sub eax, r8d
mov ecx, eax
call fcn.1401054f0
mov qword [rbp - 0xa0], rbx
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x1a8]
mov r9d, dword [rbp - 0xa4]
xor r8d, r8d
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
call qword [rax + 0xe0]
mov ebx, eax
test ebx, ebx
jle 0x140070e98
mov rcx, qword [rbp - 0x68]
cmp rcx, qword [rbp - 0x50]
setl cl
movzx ecx, cl
or ecx, dword [rbp - 0x54]
jne 0x140070c3e
test r15, r15
je 0x1400711bf
mov rcx, qword [rbp - 0x68]
cmp rcx, qword [rbp - 0x50]
jl 0x1400711bf
mov r8d, dword [rbp - 0x54]
test r8d, r8d
jne 0x1400711bf
mov dword [rbp - 0x74], 1
jmp 0x1400711d6
call fcn.140006a40
jmp 0x1400711af
mov rbx, qword [rbp + 0x18]
mov r12, qword [rbp - 0x1a8]
xorps xmm0, xmm0
movups xmmword [rbp - 0x140], xmm0
movups xmmword [rbp - 0x130], xmm0
movups xmmword [rbp - 0x128], xmm0
lea rcx, [rbp - 0x140]
mov edx, 0x2e
mov r8d, 3
call fcn.14013f400
movups xmm0, xmmword [rbp - 0x140]
movups xmmword [rbp - 0xd0], xmm0
movups xmm0, xmmword [rbp - 0x130]
movups xmmword [rbp - 0xc0], xmm0
mov rcx, qword [rbp - 0x120]
mov qword [rbp - 0xb0], rcx
mov ecx, dword [rbp - 0xc0]
cmp ecx, dword [rbp - 0xb0]
ja 0x1400710a8
mov rdx, qword [rbp - 0xb8]
mov eax, ecx
lea rdx, [rdx + rax*2]
mov eax, dword [rbp - 0xb0]
sub eax, ecx
cmp eax, 0x1f
jb 0x140070f9c
lea rcx, [0x1402ebdf0]
add rcx, 0xc
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmm3, xmmword [rcx + 0x2e]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx + 0x20], xmm2
movups xmmword [rdx + 0x2e], xmm3
mov ecx, dword [rbp - 0xc0]
add ecx, 0x1f
mov dword [rbp - 0xc0], ecx
jmp 0x140070faf
lea rcx, [rbp - 0xd0]
lea rdx, [0x1402ebdf0]
call fcn.14013f730
lea rcx, [rbp - 0xd0]
mov rdx, qword [rbp + 0x20]
call fcn.14013f620
mov ecx, dword [rbp - 0xc0]
cmp ecx, dword [rbp - 0xb0]
ja 0x1400710a8
mov rdx, qword [rbp - 0xb8]
mov eax, ecx
lea rdx, [rdx + rax*2]
mov eax, dword [rbp - 0xb0]
sub eax, ecx
cmp eax, 2
jb 0x14007100b
lea rcx, [0x1402bea38]
add rcx, 0xc
mov eax, dword [rcx]
mov dword [rdx], eax
mov ecx, dword [rbp - 0xc0]
add ecx, 2
mov dword [rbp - 0xc0], ecx
jmp 0x14007101e
lea rcx, [rbp - 0xd0]
lea rdx, [0x1402bea38]
call fcn.14013f730
lea rcx, [rbp - 0xd0]
mov rdx, qword [rbp - 0x68]
call fcn.140289ce0
mov ecx, dword [rbp - 0xc0]
cmp ecx, dword [rbp - 0xb0]
ja 0x1400710a8
mov rdx, qword [rbp - 0xb8]
mov eax, ecx
lea rdx, [rdx + rax*2]
mov eax, dword [rbp - 0xb0]
sub eax, ecx
cmp eax, 1
jb 0x140071077
lea rcx, [0x1402c2120]
add rcx, 0xc
movzx eax, word [rcx]
mov word [rdx], ax
mov ecx, dword [rbp - 0xc0]
inc ecx
mov dword [rbp - 0xc0], ecx
jmp 0x14007108a
lea rcx, [rbp - 0xd0]
lea rdx, [0x1402c2120]
call fcn.14013f730
lea rcx, [rbp - 0xd0]
mov rdx, qword [rbp - 0x50]
call fcn.140289ce0
mov eax, dword [rbp - 0xc0]
cmp eax, dword [rbp - 0xb0]
jbe 0x1400710ae
call fcn.1400eb7b0
int3
mov rcx, qword [rbp - 0xb8]
mov edx, eax
lea rcx, [rcx + rdx*2]
mov edx, dword [rbp - 0xb0]
sub edx, eax
cmp edx, 0xc
jb 0x1400710f2
lea rdx, [0x1402beb20]
add rdx, 0xc
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 8]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 8], xmm1
mov ecx, dword [rbp - 0xc0]
add ecx, 0xc
mov dword [rbp - 0xc0], ecx
jmp 0x140071105
lea rcx, [rbp - 0xd0]
lea rdx, [0x1402beb20]
call fcn.14013f730
lea rcx, [0x14031aa48]
call fcn.140005520
mov qword [rbp - 0x1c0], rax
lea rcx, [rbp - 0xd0]
call fcn.14013f580
mov rdx, rax
mov rcx, qword [rbp - 0x1c0]
call fcn.14012daf0
mov rcx, qword [rbp - 0x1c0]
call fcn.140005aa0
call fcn.140001488
mov r8, qword [rbp - 0x198]
jmp 0x140070dd6
call fcn.140006a40
jmp 0x140070dbd
add rax, 0x64
cmp r8, rax
mov qword [rbp - 0xa0], rbx
jle 0x140070e59
xor ebx, ebx
xor eax, eax
mov rcx, qword [rbp - 0x1b0]
mov qword [rcx + 8], rax
lea rcx, [rbp - 0x160]
call sub.KERNEL32.dll_QueryPerformanceCounter
mov rcx, qword [rbp - 0x160]
mov rax, qword [rbp - 0x1b0]
mov qword [rax + 0x10], rcx
cmp dword [0x1405820a8], 0
mov qword [rbp - 0xa0], rbx
jne 0x140070ec8
mov rcx, qword [rbp - 0x1b0]
mov byte [rcx + 0x18], 1
jmp 0x140070e59
mov rcx, qword [rbp - 0x68]
cmp rcx, qword [rbp - 0x50]
sete cl
movzx ecx, cl
or ecx, dword [rbp - 0x54]
je 0x140070ed2
mov rcx, qword [rbp - 0x70]
call fcn.1400e6c10
mov rdx, rax
lea rcx, [0x1402ce150]
lea r8, [0x1402beaf8]
call fcn.1400c5b40
mov r8, rax
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov rcx, qword [rbp + 0x10]
xor edx, edx
xor r9d, r9d
call fcn.140089c00
mov rcx, qword [rbp - 0x1b0]
call fcn.140128fb0
cmp qword [rbp + 0x28], 0
je 0x140071230
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
call qword [rax + 0x80]
mov rcx, qword [rbp - 0x40]
mov rax, qword [rcx]
call qword [rax + 0x70]
cmp dword [rbp - 0x44], 0
je 0x14007125a
cmp qword [rbp + 0x28], 0
je 0x140071255
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
call qword [rax + 0x70]
xor edx, edx
mov dword [rbp - 0x44], edx
cmp dword [rbp - 0x74], 0
je 0x14007126f
mov dword [rbp - 0xf4], 1
jmp 0x140071384
mov rcx, qword [rbp + 0x10]
mov r8, qword [rcx + 0x30]
mov rdx, qword [rcx + 0x58]
movzx r9d, byte [rdx + 0x36]
mov r10, rcx
test r9d, r9d
jne 0x14007128f
xor r9d, r9d
xor edx, edx
jmp 0x140071294
mov edx, 0x2710
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x28], 1
lea rdx, [rbp - 0x98]
mov rcx, r10
lea r10, [0x14030a0b0]
call qword [r10]
cmp qword [rbp - 0x98], 0
je 0x140071317
lea rcx, [rbp - 0x98]
call fcn.140077ac0
test eax, eax
jne 0x140071317
xor ecx, ecx
mov dword [rbp - 0xf4], ecx
jmp 0x140071384
cmp dword [rbp - 0x48], 0
je 0x14007137a
mov rcx, qword [rbp + 0x10]
call fcn.140088fc0
mov rdx, rax
mov rcx, qword [rbp - 0x1a0]
call fcn.1400c46e0
test eax, eax
jne 0x14007137a
mov rdx, qword [rbp - 0x1a0]
lea rcx, [0x1402c86f0]
lea r8, [0x1402bf0f8]
call fcn.1400c5b40
mov r8, rax
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov rcx, qword [rbp + 0x10]
xor edx, edx
xor r9d, r9d
call fcn.140089c00
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x1a0]
call fcn.1400757d0
mov dword [rbp - 0xf4], 1
mov eax, dword [rbp - 0xf4]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret