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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
mov qword [rsp + 0x30], r8
mov r15, rdx
mov rdi, rcx
mov rax, qword [0x1402b3040]
xor rax, rsp
mov qword [rsp + 0x120], rax
movabs r12, 0xaaaaaaaaaaaaaaaa
mov r13, qword [rcx + 0x10]
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x90], rax
cmp r13, rax
je 0x14016116a
mov rax, qword [r13]
mov qword [rsp + 0x88], rax
mov rax, qword [r13 + 8]
mov qword [rsp + 0x80], rax
mov eax, dword [r13 + 0x14]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x74], 0
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x140161a20
mov r11, qword [r15 + 0x110]
cmp r11, 0xffffffffffffffff
je 0x140160c28
mov esi, dword [rax + 8]
mov r14, r11
test esi, esi
jne 0x140161aa3
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x1401619f1
mov rcx, r14
shl rcx, 5
mov eax, dword [rax + rcx + 0x10]
movzx ecx, al
mov dword [rsp + 0x6c], ecx
and eax, 0xffffff00
mov dword [rsp + 0x70], eax
mov rax, qword [r15 + 0x18]
mov bl, byte [r9 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x140161a5b
test bl, bl
je 0x140160c5d
mov al, byte [r9 + 0x18]
cmp r14, 0xffffffffffffffff
je 0x140160d3c
test al, al
je 0x1401619ec
mov rax, qword [r9]
mov qword [rsp + 0x40], rax
mov r8, qword [r9 + 8]
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x54], eax
mov r10d, dword [r9 + 0x14]
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
mov qword [rsp + 0x38], r8
jne 0x140161b3d
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x1401619d9
mov qword [rsp + 0x60], r13
mov rbx, r14
shl rbx, 5
mov rsi, qword [rax + rbx + 0x18]
mov rax, qword [rsi + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x140161cbd
mov qword [rsi + 0x110], 0xffffffffffffffff
mov r13, qword [rdi + 0x10]
mov r12, qword [rdi + 0x18]
mov rsi, r12
sub rsi, r13
sar rsi, 5
cmp rsi, r14
jbe 0x1401619d9
movabs rbp, 0x8000000000000001
lea rax, [rbx + r13]
cmp dword [r13 + rbx + 0x14], 0
jne 0x140161197
mov rcx, qword [rax]
mov rax, qword [rax + 8]
lea rdx, [rax + rbp]
cmp rdx, 2
mov rbx, qword [rsp + 0x40]
jb 0x140161c51
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov rax, rcx
mov rcx, rbx
test r10d, r10d
jne 0x14016098f
lea rcx, [r8 + rbp]
cmp rcx, 2
jb 0x140161c6d
lea rdx, [rbx + r8]
sar rdx, 0x3f
btc rdx, 0x3f
mov rcx, rbx
add rcx, r8
cmovo rcx, rdx
cmp rcx, rax
jle 0x140160cee
lea rcx, [r14*2 + 1]
cmp rcx, rsi
mov qword [rsp + 0x48], r11
jae 0x140160dd4
lea rdx, [r14 + r14]
lea rax, [rbx + r8]
sar rax, 0x3f
btc rax, 0x3f
mov r12, rbx
add r12, r8
cmovo r12, rax
lea rax, [r8 + rbp]
add rax, 0xfffffffffffffffe
cmp rax, 0xfffffffffffffffe
setb al
test r10d, r10d
setne r13b
cmovne r12, rbx
mov qword [rsp + 0xa8], r12
or r13b, al
mov byte [rsp + 0x2f], r13b
add rdx, 2
mov r13, qword [rdi + 0x10]
mov r12, qword [rdi + 0x18]
mov rax, r12
sub rax, r13
mov qword [rsp + 0x98], rax
sar rax, 5
cmp rdx, rsi
jae 0x140160ad6
cmp rax, rdx
jbe 0x1401619d9
mov rbx, r15
mov r15d, r10d
mov r10, rdx
shl r10, 5
lea r8, [r10 + r13]
cmp dword [r13 + r10 + 0x14], 0
jne 0x140160c4d
mov r11, qword [r8]
mov r8, qword [r8 + 8]
lea r10, [r8 + rbp]
cmp r10, 2
jb 0x140161b79
lea r10, [r11 + r8]
sar r10, 0x3f
btc r10, 0x3f
add r11, r8
cmovo r11, r10
mov r8, r11
mov r11, rcx
shl r11, 5
add r11, r13
cmp dword [r11 + 0x14], 0
jne 0x140160c55
mov r10, qword [r11]
mov rbp, qword [r11 + 8]
movabs r11, 0x8000000000000001
add r11, rbp
cmp r11, 2
jb 0x140161b98
lea r11, [r10 + rbp]
sar r11, 0x3f
btc r11, 0x3f
add r10, rbp
cmovo r10, r11
mov rbp, r10
cmp rbp, r8
mov r11, qword [rsp + 0x48]
mov r10d, r15d
jg 0x140160ac6
mov rdx, rcx
mov rcx, rdx
mov r15, rbx
mov r8, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
cmp rax, rcx
jbe 0x1401619d9
mov qword [rsp + 0xa0], rcx
shl rcx, 5
lea rbp, [rcx + r13]
cmp dword [r13 + rcx + 0x14], 0
jne 0x140160c44
mov rdx, qword [rbp]
mov rcx, qword [rbp + 8]
movabs r8, 0x8000000000000001
add r8, rcx
cmp r8, 2
jb 0x140161bd0
lea r8, [rdx + rcx]
sar r8, 0x3f
btc r8, 0x3f
add rdx, rcx
cmovo rdx, r8
mov rcx, rdx
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xa8]
cmp byte [rsp + 0x2f], 0
je 0x140161c22
cmp rdx, rcx
jle 0x140160dc7
cmp rax, r14
je 0x14016146d
jbe 0x1401619d9
mov rax, r14
shl rax, 5
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [r13 + rax + 0x10], xmm1
movups xmmword [r13 + rax], xmm0
mov r12, qword [rdi + 0x18]
mov rax, qword [rdi + 0x10]
sub r12, rax
sar r12, 5
cmp r12, r14
jbe 0x1401619d9
mov r12, r14
shl r12, 5
mov rbp, qword [rax + r12 + 0x18]
mov rax, qword [rbp + 0x18]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x140161d56
mov qword [rbp + 0x110], r14
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x1401619d9
mov rax, qword [rax + r12 + 0x18]
mov rax, qword [rax + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x140161d9c
mov rax, qword [rsp + 0xa0]
lea rdx, [rax + rax]
lea rcx, [rax*2 + 1]
mov r14, rax
cmp rcx, rsi
movabs rbp, 0x8000000000000001
jb 0x1401609f3
mov r13, qword [rdi + 0x10]
mov r12, qword [rdi + 0x18]
mov rsi, r12
sub rsi, r13
sar rsi, 5
mov r14, rax
jmp 0x140160dd4
mov dword [rsp + 0x70], 0xaaaaaa00
mov dword [rsp + 0x6c], 0
mov r14, 0xffffffffffffffff
jmp 0x140160860
mov rcx, qword [rbp]
jmp 0x140160b36
mov r8, qword [r8]
jmp 0x140160a6c
mov rbp, qword [r11]
jmp 0x140160ab6
cmp r14, 0xffffffffffffffff
je 0x140160e78
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x140161c8c
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x1401619d9
mov rcx, r14
shl rcx, 5
mov rsi, qword [rax + rcx + 0x18]
mov rax, qword [rsi + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x140161e49
mov qword [rsi + 0x110], 0xffffffffffffffff
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
mov rdx, rax
sub rdx, rcx
sar rdx, 5
dec rdx
cmp rdx, r14
jne 0x1401611bc
cmp rcx, rax
je 0x140161bfc
add rax, 0xffffffffffffffe0
je 0x140161c0f
mov qword [rdi + 0x18], rax
jmp 0x140160e78
lea rcx, [rdi + 8]
mov rax, r8
lea r8, [rsp + 0xf0]
mov qword [r8], rbx
mov qword [r8 + 8], rax
mov eax, dword [rsp + 0x54]
mov dword [r8 + 0x10], eax
mov dword [r8 + 0x14], r10d
mov qword [r8 + 0x18], r15
mov rdx, r14
mov rsi, r9
mov rbx, r11
call fcn.140162050
mov r11, rbx
mov r9, rsi
movabs r12, 0xaaaaaaaaaaaaaaaa
mov r13, qword [rsp + 0x60]
jmp 0x140160e78
test al, al
je 0x1401619ec
mov rbx, r11
lea rcx, [rdi + 8]
mov rax, qword [r9 + 0x10]
lea r8, [rsp + 0xf0]
mov qword [r8 + 0x10], rax
movups xmm0, xmmword [r9]
movaps xmmword [r8], xmm0
mov qword [r8 + 0x18], r15
mov rdx, qword [rdi + 0x18]
sub rdx, qword [rdi + 0x10]
sar rdx, 5
mov rsi, r9
call fcn.140162050
mov r9, rsi
mov r11, rbx
jmp 0x140160e78
mov rax, qword [rdi + 0x20]
cmp r12, rax
jae 0x1401614a3
test r12, r12
je 0x140161a48
mov qword [r12], rbx
mov qword [r12 + 8], r8
mov eax, dword [rsp + 0x54]
mov dword [r12 + 0x10], eax
mov dword [r12 + 0x14], r10d
mov qword [r12 + 0x18], r15
add r12, 0x20
mov r13, qword [rsp + 0x60]
mov qword [rdi + 0x18], r12
jmp 0x140160e0c
mov rsi, rax
movabs rbp, 0x8000000000000001
cmp rsi, r14
je 0x140160d86
jbe 0x1401619d9
mov rax, r14
shl rax, 5
mov qword [r13 + rax], rbx
mov qword [r13 + rax + 8], r8
mov ecx, dword [rsp + 0x54]
mov dword [r13 + rax + 0x10], ecx
mov dword [r13 + rax + 0x14], r10d
mov qword [r13 + rax + 0x18], r15
mov r12, qword [rdi + 0x18]
mov r13, qword [rsp + 0x60]
mov rax, qword [rdi + 0x10]
sub r12, rax
sar r12, 5
cmp r12, r14
jbe 0x1401619d9
mov rsi, r14
shl rsi, 5
mov rbx, qword [rax + rsi + 0x18]
mov rax, qword [rbx + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
movabs r12, 0xaaaaaaaaaaaaaaaa
jne 0x140161d26
mov qword [rbx + 0x110], r14
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x1401619d9
mov rax, qword [rax + rsi + 0x18]
mov rax, qword [rax + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x140161cfe
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
cmp rax, rcx
je 0x1401610f7
mov r8, qword [rax]
mov r14, qword [rax + 8]
mov edx, dword [rax + 0x14]
xor r10d, r10d
mov rsi, qword [rsp + 0x90]
cmp r11, 0xffffffffffffffff
je 0x140160eb8
mov r11d, dword [rsp + 0x70]
or r11d, dword [rsp + 0x6c]
cmp r11d, 1
je 0x140161a08
cmp byte [r9 + 0x18], 1
jne 0x140160eca
cmp dword [r9 + 0x10], 1
je 0x140161a00
cmp rax, rcx
sete r11b
cmp r13, rsi
sete bl
or bl, r11b
jne 0x1401610e0
cmp r10d, dword [rsp + 0x74]
jne 0x140160f05
cmp r8, qword [rsp + 0x88]
jne 0x140160f05
cmp r14, qword [rsp + 0x80]
jne 0x140160f05
cmp edx, dword [rsp + 0x68]
je 0x1401610bb
cmp rax, rcx
je 0x14016112a
movups xmm0, xmmword [rax]
mov eax, dword [rax + 0x14]
movups xmmword [rsp + 0xb0], xmm0
mov dword [rsp + 0xc0], 0
mov dword [rsp + 0xc4], eax
mov cl, 1
mov byte [rsp + 0xc8], cl
mov rax, qword [rdi]
mov rax, qword [rax + 0x10]
lea rdx, [0x14020c7c0]
cmp rax, rdx
jne 0x14016114f
mov rbx, qword [rdi + 0x38]
lea r13, [r12 - 0xaa]
mov r8d, 0xaaaaaaaa
test cl, cl
mov rdx, qword [rsp + 0x30]
je 0x140161112
mov r14, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xb8]
mov ebp, dword [rsp + 0xc0]
mov r12d, dword [rsp + 0xc4]
mov rsi, r14
cmp r12d, 1
je 0x140161ae8
mov al, byte [rdx + 8]
test al, al
jne 0x140161031
mov rax, qword [fcn.140118b20]
lea rcx, [0x140118bd0]
cmp rax, rcx
jne 0x1401619a0
lea rdi, [rsp + 0xf0]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140161dda
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5cb8]
mov qword [rsp + 0xf0], rax
mov rdx, qword [rsp + 0x30]
mov r8d, 0xaaaaaaaa
mov al, byte [rdx + 8]
cmp al, 1
je 0x140161bc0
test rdx, rdx
je 0x140161a48
mov rax, qword [rsp + 0xf0]
mov qword [rdx], rax
mov byte [rdx + 8], 1
mov al, 1
test al, al
je 0x140161a90
cmp qword [rdx], rsi
jge 0x140161139
cmp qword [rbx + 0x250], 0
jne 0x140161ad4
mov al, 1
test r14, r14
je 0x140161139
mov rdi, qword [rbx + 0x30]
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xd8], r15
mov dword [rsp + 0xe0], ebp
mov dword [rsp + 0xe4], r12d
mov byte [rsp + 0xe8], al
mov dword [rsp + 0xe9], r8d
mov dword [rsp + 0xec], r8d
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
lea rcx, [0x14018e8c0]
cmp rax, rcx
jne 0x140161a10
mov eax, dword [rdi + 0x1b0]
cmp eax, 4
je 0x1401615a1
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.140191d80
nop
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp rax, rcx
setne dl
cmp r13, rsi
setne r8b
cmp r8b, dl
je 0x1401610bb
jmp 0x140160f05
lea r8, [r12 - 0xaa]
mov edx, 0xaaaaaaaa
mov r10d, 0xaaaaaaaa
mov r14, r12
jmp 0x140160e96
xor eax, eax
mov r14, r13
mov r15, r12
mov ebp, 0xaaaaaaaa
mov r12d, 0xaaaaaaaa
jmp 0x14016105b
mov byte [rsp + 0xb0], 0
xor ecx, ecx
jmp 0x140160f30
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [0x1402a3e88]
jmp 0x1401610bb
lea r8, [rsp + 0xb0]
mov rcx, rdi
mov rdx, qword [rsp + 0x30]
call qword [0x1402a3e88]
jmp 0x1401610bb
lea rax, [r12 - 0xaa]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x74], 0xaaaaaaaa
mov qword [rsp + 0x80], r12
mov dword [rsp + 0x68], 0xaaaaaaaa
jmp 0x1401607fb
mov rax, qword [rax]
mov rbx, qword [rsp + 0x40]
jmp 0x140160962
mov r8, qword [r8]
jmp 0x1401612c5
mov r9, qword [r9]
jmp 0x14016130b
mov r12, rax
jmp 0x140161316
cmp rax, rcx
je 0x1401619d9
shl rdx, 5
mov rsi, qword [rcx + rdx + 0x18]
mov rax, qword [rsi + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x140161eb6
mov qword [rsi + 0x110], 0xffffffffffffffff
mov rax, qword [rdi + 0x10]
mov rsi, qword [rdi + 0x18]
sub rsi, rax
je 0x1401619d9
sar rsi, 5
dec rsi
mov rcx, rsi
shl rcx, 5
movups xmm0, xmmword [rax + rcx]
movups xmm1, xmmword [rax + rcx + 0x10]
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xd0], xmm0
lea rax, [r14*2 + 1]
cmp rax, rsi
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x48], r11
jae 0x140161998
lea rcx, [r14 + r14]
movabs r11, 0x8000000000000001
mov qword [rsp + 0x60], r13
add rcx, 2
mov r15, qword [rdi + 0x10]
mov r13, qword [rdi + 0x18]
mov rbp, r13
sub rbp, r15
mov rdx, rbp
sar rdx, 5
cmp rcx, rsi
jae 0x1401611b4
cmp rdx, rcx
jbe 0x1401619d9
cmp rdx, rax
jbe 0x1401619d9
mov r9, rcx
shl r9, 5
lea r8, [r15 + r9]
cmp dword [r15 + r9 + 0x14], 0
jne 0x1401611a4
mov r9, qword [r8]
mov r8, qword [r8 + 8]
lea r10, [r8 + r11]
cmp r10, 2
jb 0x140161e75
lea r10, [r9 + r8]
sar r10, 0x3f
btc r10, 0x3f
add r9, r8
cmovo r9, r10
mov r8, r9
mov r9, rax
shl r9, 5
add r9, r15
cmp dword [r9 + 0x14], 0
jne 0x1401611ac
mov r10, qword [r9]
mov r9, qword [r9 + 8]
mov rbx, r11
add r11, r9
cmp r11, 2
jb 0x140161e94
lea r11, [r10 + r9]
sar r11, 0x3f
btc r11, 0x3f
add r10, r9
cmovo r10, r11
mov r9, r10
mov r11, rbx
cmp r9, r8
jg 0x140161313
mov rcx, rax
mov r12, rcx
cmp rdx, r14
je 0x140161426
cmp rdx, r12
jbe 0x1401619d9
cmp rdx, r14
jbe 0x1401619d9
mov rax, r12
shl rax, 5
mov rcx, r14
shl rcx, 5
movups xmm0, xmmword [r15 + rax]
movups xmm1, xmmword [r15 + rax + 0x10]
movups xmmword [r15 + rcx + 0x10], xmm1
movups xmmword [r15 + rcx], xmm0
mov r13, qword [rdi + 0x18]
mov rax, qword [rdi + 0x10]
sub r13, rax
sar r13, 5
cmp r13, r14
jbe 0x1401619d9
mov rbx, r14
shl rbx, 5
mov r13, qword [rax + rbx + 0x18]
mov rax, qword [r13 + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x140161e01
mov qword [r13 + 0x110], r14
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x1401619d9
mov rax, qword [rax + rbx + 0x18]
mov rax, qword [rax + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
mov r13, qword [rsp + 0x60]
jne 0x140161e27
lea rcx, [r12 + r12]
lea rax, [r12*2 + 1]
mov r14, r12
cmp rax, rsi
jb 0x14016124e
lea rcx, [rdi + 8]
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmm1, xmmword [rsp + 0xe0]
lea r8, [rsp + 0xf0]
movaps xmmword [r8 + 0x10], xmm1
movaps xmmword [r8], xmm0
mov rdx, r12
call fcn.140162050
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
movabs r12, 0xaaaaaaaaaaaaaaaa
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x48]
jmp 0x140160cd2
cmp r14, r12
jbe 0x1401619d9
mov rbx, r12
shl rbx, 5
add rbx, r15
mov rax, qword [rdi + 0x20]
cmp r13, rax
jae 0x1401618d5
test r13, r13
je 0x140161a48
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
add r13, 0x20
mov qword [rdi + 0x18], r13
jmp 0x140161359
mov rax, qword [rdi + 0x20]
cmp r12, rax
jae 0x1401617f5
test r12, r12
je 0x140161a48
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
add r12, 0x20
mov qword [rdi + 0x18], r12
jmp 0x140160b80
lea rdx, [rsi + 1]
mov rcx, rdx
shr rcx, 0x3b
jne 0x1401619f6
mov r12, r15
movabs rcx, 0x7ffffffffffffff
sub rax, r13
add rbp, 0xffffffffffffffdf
mov rbx, rax
sar rbx, 4
cmp rbx, rdx
cmovbe rbx, rdx
cmp rax, rbp
cmovae rbx, rcx
test rbx, rbx
je 0x140161ede
cmp rbx, rcx
ja 0x1401619fb
mov r15d, r10d
mov rbp, r9
mov rcx, rbx
shl rcx, 5
call fcn.14018f5b8
mov r13, rax
shl rsi, 5
add rsi, r13
mov rax, qword [rsp + 0x38]
je 0x140161a48
shl rbx, 5
add r13, rbx
mov rcx, qword [rsp + 0x40]
mov qword [rsi], rcx
mov qword [rsi + 8], rax
mov eax, dword [rsp + 0x54]
mov dword [rsi + 0x10], eax
mov dword [rsi + 0x14], r15d
mov qword [rsi + 0x18], r12
lea r12, [rsi + 0x20]
mov rdx, qword [rdi + 0x10]
mov r8, qword [rdi + 0x18]
sub r8, rdx
sub rsi, r8
mov rcx, rsi
call fcn.1401cd6f0
mov rcx, qword [rdi + 0x10]
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], r12
mov qword [rdi + 0x20], r13
test rcx, rcx
jne 0x140161579
mov r13, qword [rsp + 0x60]
mov r9, rbp
mov r11, qword [rsp + 0x48]
jmp 0x140160dc1
call fcn.14018f5b0
jmp 0x140161567
mov rcx, qword [rsp + 0xd0]
cmp ebp, 1
je 0x140161fdf
mov r15, rcx
jmp 0x1401615f2
add rsi, 0xfffffffffffffffe
xor eax, eax
jmp 0x1401616fd
movabs rsi, 0x8000000000000001
mov ebp, dword [rsp + 0xe4]
cmp byte [rsp + 0xe8], 1
jne 0x140161596
test ebp, ebp
jne 0x140161580
mov rcx, qword [rsp + 0xd0]
mov r15, qword [rsp + 0xd8]
lea rax, [r15 + rsi]
cmp rax, 2
jb 0x140161f72
lea rax, [rcx + r15]
sar rax, 0x3f
btc rax, 0x3f
add r15, rcx
cmovo r15, rax
mov r14, rcx
mov qword [rsp + 0xf0], r14
mov rax, qword [0x1402b5778]
shr rax, 1
mov edx, 0x3e8
mul rdx
jo 0x140161f03
cmp rax, 0x3e81
jae 0x140161f03
add rsi, 0xfffffffffffffffe
cmp r14, rsi
mov rdx, qword [rsp + 0x30]
je 0x140161eec
mov al, byte [rdx + 8]
test al, al
jne 0x1401616c5
mov rax, qword [fcn.140118b20]
lea rcx, [0x140118bd0]
cmp rax, rcx
jne 0x1401619c6
lea rbx, [rsp + 0xf0]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140161fb8
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5cb8]
mov qword [rsp + 0xf0], rax
mov rdx, qword [rsp + 0x30]
mov al, byte [rdx + 8]
cmp al, 1
je 0x140161f62
test rdx, rdx
je 0x140161a48
mov rax, qword [rsp + 0xf0]
mov qword [rdx], rax
mov byte [rdx + 8], 1
mov al, 1
test al, al
je 0x140161a90
movabs rax, 0x141dd76000
add rax, qword [rdx]
movabs rsi, 0x7fffffffffffffff
cmovno rsi, rax
cmp rsi, r14
cmovge rsi, r14
mov ebp, dword [rsp + 0xe4]
mov al, byte [rsp + 0xe8]
mov rdi, qword [rdi + 0x230]
mov qword [rsp + 0xf0], rsi
xor ecx, ecx
mov edx, 0
cmp ebp, 2
je 0x140161720
mov rdx, qword [rsp + 0xd8]
test al, 1
cmovne rcx, rdx
mov qword [rsp + 0xf8], rcx
mov rdx, qword [rsp + 0x30]
mov al, byte [rdx + 8]
test al, al
jne 0x1401617c5
mov rax, qword [fcn.140118b20]
lea rcx, [0x140118bd0]
cmp rax, rcx
jne 0x1401619b3
lea rbx, [rsp + 0x118]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140161f91
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5cb8]
mov qword [rsp + 0x118], rax
mov rdx, qword [rsp + 0x30]
mov al, byte [rdx + 8]
cmp al, 1
je 0x140161ef3
test rdx, rdx
je 0x140161a48
mov rax, qword [rsp + 0x118]
mov qword [rdx], rax
mov byte [rdx + 8], 1
mov al, 1
test al, al
je 0x140161a90
mov rax, qword [rdx]
lea rdx, [rsp + 0xf0]
mov qword [rdx + 0x10], rax
mov byte [rdx + 0x18], 0
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
mov rcx, rdi
call qword [0x1402a3e88]
jmp 0x1401610bb
movabs r8, 0x7ffffffffffffff
lea rdx, [r8 - 1]
cmp r14, rdx
ja 0x1401619f6
mov qword [rsp + 0x78], r15
lea rdx, [r14 + 1]
sub rax, r13
mov rcx, rax
sar rcx, 4
cmp rcx, rdx
ja 0x140161827
mov rcx, rdx
mov qword [rsp + 0x58], r9
movabs rdx, 0x8000000000000001
add rdx, 0xffffffffffffffdf
cmp rax, rdx
cmovae rcx, r8
cmp rcx, r8
ja 0x1401619fb
mov r15d, r10d
shl rcx, 5
mov rbx, rcx
call fcn.14018f5b8
mov r12, r14
shl r12, 5
add r12, rax
je 0x140161a48
add rbx, rax
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
add r12, 0x20
mov rcx, rax
mov rdx, r13
mov r8, qword [rsp + 0x98]
mov rbp, rax
call fcn.1401cd6f0
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], r12
mov qword [rdi + 0x20], rbx
test r13, r13
jne 0x1401618cb
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x48]
mov r10d, r15d
mov r15, qword [rsp + 0x78]
mov r8, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
jmp 0x14016149a
mov rcx, r13
call fcn.14018f5b0
jmp 0x1401618aa
movabs r8, 0x7ffffffffffffff
lea rdx, [r8 - 1]
cmp r14, rdx
ja 0x1401619f6
lea rdx, [r14 + 1]
sub rax, r15
mov rcx, rax
sar rcx, 4
cmp rcx, rdx
ja 0x140161902
mov rcx, rdx
movabs rdx, 0x8000000000000001
add rdx, 0xffffffffffffffdf
cmp rax, rdx
cmovae rcx, r8
cmp rcx, r8
ja 0x1401619fb
shl rcx, 5
mov qword [rsp + 0x40], rcx
call fcn.14018f5b8
mov r13, r14
shl r13, 5
add r13, rax
je 0x140161a48
add qword [rsp + 0x40], rax
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
add r13, 0x20
mov rcx, rax
mov rdx, r15
mov r8, rbp
mov rbx, rax
call fcn.1401cd6f0
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], r13
mov rax, qword [rsp + 0x40]
mov qword [rdi + 0x20], rax
test r15, r15
jne 0x14016198e
movabs r11, 0x8000000000000001
jmp 0x140161464
mov rcx, r15
call fcn.14018f5b0
jmp 0x14016197f
mov r12, r14
jmp 0x1401613d8
lea rcx, [rsp + 0xf0]
call qword [0x1402a3e88]
jmp 0x140161001
lea rcx, [rsp + 0x118]
call qword [0x1402a3e88]
jmp 0x14016179b
lea rcx, [rsp + 0xf0]
call qword [0x1402a3e88]
jmp 0x14016169b
lea rcx, [0x140274353]
lea rdx, str....._third_partylibc_srcinclude_vector:1411:_assertion___n___size___failed:_vector___index_out_of_bounds_n
call fcn.1401ceb00
call fcn.1401ceb00
call fcn.14020c8c0
call fcn.1401d55e0
call fcn.1401ceb00
inc dword [rdi + 0x28]
jmp 0x140160eca
dec dword [rdi + 0x28]
jmp 0x140160eb8
lea r8, [rsp + 0xd0]
mov rcx, rdi
jmp 0x14016115f
mov rbx, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d170
cmp esi, dword [r14]
jne 0x140162032
mov rax, qword [r15 + 0x18]
mov r9, rbx
jmp 0x14016080a
lea rcx, [0x140274353]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
call fcn.1401ceb00
mov qword [rsp + 0x48], r11
mov rbp, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d170
cmp esi, dword [r14]
jne 0x140162035
mov r14, qword [r15 + 0x110]
mov r9, rbp
mov r11, qword [rsp + 0x48]
jmp 0x14016086f
lea rcx, [0x140274353]
lea rdx, str....._third_partylibc_srcincludeoptional:800:_assertion_this__has_value___failed:_optional_operator_called_on_a_disengaged_value_n
call fcn.1401ceb00
mov rbp, r11
mov rbx, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d170
cmp esi, dword [r14]
jne 0x140162038
mov r14, qword [r15 + 0x110]
mov r9, rbx
mov r11, rbp
jmp 0x140160829
xor eax, eax
mov r14, r13
movabs r15, 0xaaaaaaaaaaaaaaaa
jmp 0x14016111a
movabs rsi, 0x8000000000000001
lea rax, [r15 + rsi]
cmp rax, 2
jb 0x140161b1d
xor eax, eax
cmp r14, r15
setns al
movabs rcx, 0x7fffffffffffffff
add rcx, rax
mov rsi, r14
sub rsi, r15
cmovo rsi, rcx
jmp 0x140161b33
cmp r14, r15
je 0x14016203e
mov rax, r15
shr rax, 0x3f
not rax
add rsi, rax
mov rdx, qword [rsp + 0x30]
jmp 0x140160f99
mov ebp, r10d
mov r12, r11
mov rbx, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d170
cmp esi, dword [r14]
jne 0x14016203b
mov r14, qword [r15 + 0x110]
mov r9, rbx
mov r11, r12
mov r10d, ebp
mov r8, qword [rsp + 0x38]
jmp 0x1401608b9
lea r10, [r11 + rbp]
cmp r10, 2
setae r10b
cmp r11, r8
sete r11b
or r11b, r10b
jne 0x140160a6c
int3
movabs r11, 0x8000000000000001
add r11, r10
cmp r11, 2
setae r11b
cmp r10, rbp
sete r10b
or r10b, r11b
jne 0x140160ab6
int3
mov rcx, qword [rsp + 0xf0]
mov qword [rdx], rcx
jmp 0x140161031
movabs r8, 0x8000000000000001
add r8, rdx
cmp r8, 2
setae r8b
cmp rdx, rcx
sete dl
or dl, r8b
mov r8, qword [rsp + 0x38]
jne 0x140160b36
int3
lea rcx, [0x140274353]
lea rdx, str....._third_partylibc_srcinclude_vector:1539:_assertion__empty___failed:_vector::pop_back_called_on_an_empty_vector_n
call fcn.1401ceb00
lea rcx, [0x140274353]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.1401ceb00
movabs rdx, 0x8000000000000001
add rdx, rbx
cmp rdx, 2
setae dl
cmp rbx, r8
sete r8b
or r8b, dl
mov r8, qword [rsp + 0x38]
mov rdx, r8
jne 0x140160b49
int3
lea rdx, [rcx + rbp]
cmp rdx, 2
setae dl
cmp rcx, rax
sete cl
or cl, dl
jne 0x140160962
int3
lea rcx, [rbx + rbp]
cmp rcx, 2
setae cl
cmp rbx, r8
sete dl
or dl, cl
mov rcx, r8
jne 0x14016098f
int3
mov rbp, r11
mov rbx, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d170
cmp esi, dword [r14]
jne 0x140162041
mov r14, qword [r15 + 0x110]
mov r9, rbx
mov r11, rbp
jmp 0x140160c76
lea rcx, [rsp + 0xd0]
mov r13, r9
mov r12, r11
mov qword [rsp + 0x78], r15
mov r15d, r10d
call fcn.14018d170
mov r8, qword [rsp + 0x38]
mov r10d, r15d
mov r15, qword [rsp + 0x78]
mov r11, r12
mov r9, r13
lea rax, [rsp + 0xd0]
cmp ebp, dword [rax]
je 0x1401608f1
int3
lea r14, [rsp + 0xd0]
mov rcx, r14
mov rbx, r9
mov r15, r11
call fcn.14018d170
mov r11, r15
mov r9, rbx
cmp esi, dword [r14]
je 0x140160e78
int3
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0x58], r9
mov r15, r11
call fcn.14018d170
mov r11, r15
mov r9, qword [rsp + 0x58]
lea rax, [rsp + 0xd0]
cmp ebp, dword [rax]
je 0x140160e45
int3
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0x58], r9
mov rbx, r15
mov r15d, r10d
call fcn.14018d170
mov r8, qword [rsp + 0x38]
mov r10d, r15d
mov r15, rbx
mov rbx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
lea rax, [rsp + 0xd0]
cmp r13d, dword [rax]
je 0x140160bb1
int3
lea r14, [rsp + 0xd0]
mov rcx, r14
mov r12, r9
mov r13, r11
mov rbx, r15
mov r15d, r10d
call fcn.14018d170
mov r8, qword [rsp + 0x38]
mov r10d, r15d
mov r15, rbx
mov rbx, qword [rsp + 0x40]
mov r11, r13
mov r9, r12
cmp ebp, dword [r14]
je 0x140160be4
int3
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140160ff9
lea rcx, [rsp + 0xf0]
mov r15, r11
call fcn.14018d170
mov r11, r15
lea rax, [rsp + 0xf0]
cmp ebp, dword [rax]
je 0x140161388
int3
lea r14, [rsp + 0xf0]
mov rcx, r14
mov r15, r11
call fcn.14018d170
mov r11, r15
cmp ebx, dword [r14]
je 0x1401613c0
int3
lea rcx, [rsp + 0xf0]
mov rbp, r9
mov r15, r11
call fcn.14018d170
mov r11, r15
mov r9, rbp
lea rax, [rsp + 0xf0]
cmp ebx, dword [rax]
je 0x140160ca9
int3
lea r10, [r9 + r11]
cmp r10, 2
setae r10b
cmp r9, r8
sete r9b
or r9b, r10b
jne 0x1401612c5
int3
lea r11, [r10 + rbx]
cmp r11, 2
setae r11b
cmp r10, r9
sete r10b
or r10b, r11b
mov r11, rbx
jne 0x14016130b
int3
lea r15, [rsp + 0xf0]
mov rcx, r15
mov r12, r9
mov rbp, r11
call fcn.14018d170
mov r11, rbp
mov r9, r12
cmp ebx, dword [r15]
je 0x1401611dd
int3
mov r15d, r10d
mov rbp, r9
xor r13d, r13d
jmp 0x140161504
mov al, 1
jmp 0x1401616fd
mov rcx, qword [rsp + 0x118]
mov qword [rdx], rcx
jmp 0x1401617c5
mov rax, qword [0x1402b5778]
mov r14, rcx
test al, 1
je 0x140161621
lea rbx, [rsp + 0x118]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rbx], rax
lea r14, [rsp + 0x110]
mov rcx, r14
call fcn.14018dee0
mov r9, qword [r14]
lea rcx, [rsp + 0xf0]
mov rdx, rbx
xor r8d, r8d
call fcn.14018d290
mov rax, qword [rbx]
cmp rax, r15
cmovl r15, rax
mov r14, r15
jmp 0x140161621
mov rcx, qword [rsp + 0xf0]
mov qword [rdx], rcx
jmp 0x1401616c5
lea rax, [rcx + rsi]
cmp rax, 2
setae al
cmp rcx, r15
sete dl
or dl, al
mov r14, rcx
jne 0x1401615f5
int3
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140161793
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140161693
mov rax, qword [rsp + 0xd8]
lea rdx, [rax + rsi]
cmp rdx, 2
jae 0x14016200b
cmp rcx, rax
je 0x140162044
shr rax, 0x3f
not rax
add rax, rsi
mov r15, rcx
mov r14, rax
jmp 0x1401615f5
xor edx, edx
cmp rcx, rax
setns dl
movabs r8, 0x7fffffffffffffff
add r8, rdx
mov r14, rcx
sub r14, rax
cmovo r14, r8
mov r15, rcx
jmp 0x1401615f5
int3
int3
int3
int3
int3
int3
int3