Function at 0x140160770
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 0x14016115a
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 0x140161a10
mov r11, qword [r15 + 0x110]
cmp r11, 0xffffffffffffffff
je 0x140160c18
mov esi, dword [rax + 8]
mov r14, r11
test esi, esi
jne 0x140161a93
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x1401619e1
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 0x140161a4b
test bl, bl
je 0x140160c4d
mov al, byte [r9 + 0x18]
cmp r14, 0xffffffffffffffff
je 0x140160d2c
test al, al
je 0x1401619dc
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 0x140161b2d
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x1401619c9
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 0x140161cad
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 0x1401619c9
movabs rbp, 0x8000000000000001
lea rax, [rbx + r13]
cmp dword [r13 + rbx + 0x14], 0
jne 0x140161187
mov rcx, qword [rax]
mov rax, qword [rax + 8]
lea rdx, [rax + rbp]
cmp rdx, 2
mov rbx, qword [rsp + 0x40]
jb 0x140161c41
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 0x14016097f
lea rcx, [r8 + rbp]
cmp rcx, 2
jb 0x140161c5d
lea rdx, [rbx + r8]
sar rdx, 0x3f
btc rdx, 0x3f
mov rcx, rbx
add rcx, r8
cmovo rcx, rdx
cmp rcx, rax
jle 0x140160cde
lea rcx, [r14*2 + 1]
cmp rcx, rsi
mov qword [rsp + 0x48], r11
jae 0x140160dc4
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 0x140160ac6
cmp rax, rdx
jbe 0x1401619c9
mov rbx, r15
mov r15d, r10d
mov r10, rdx
shl r10, 5
lea r8, [r10 + r13]
cmp dword [r13 + r10 + 0x14], 0
jne 0x140160c3d
mov r11, qword [r8]
mov r8, qword [r8 + 8]
lea r10, [r8 + rbp]
cmp r10, 2
jb 0x140161b69
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 0x140160c45
mov r10, qword [r11]
mov rbp, qword [r11 + 8]
movabs r11, 0x8000000000000001
add r11, rbp
cmp r11, 2
jb 0x140161b88
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 0x140160ab6
mov rdx, rcx
mov rcx, rdx
mov r15, rbx
mov r8, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
cmp rax, rcx
jbe 0x1401619c9
mov qword [rsp + 0xa0], rcx
shl rcx, 5
lea rbp, [rcx + r13]
cmp dword [r13 + rcx + 0x14], 0
jne 0x140160c34
mov rdx, qword [rbp]
mov rcx, qword [rbp + 8]
movabs r8, 0x8000000000000001
add r8, rcx
cmp r8, 2
jb 0x140161bc0
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 0x140161c12
cmp rdx, rcx
jle 0x140160db7
cmp rax, r14
je 0x14016145d
jbe 0x1401619c9
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 0x1401619c9
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 0x140161d46
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 0x1401619c9
mov rax, qword [rax + r12 + 0x18]
mov rax, qword [rax + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x140161d8c
mov rax, qword [rsp + 0xa0]
lea rdx, [rax + rax]
lea rcx, [rax*2 + 1]
mov r14, rax
cmp rcx, rsi
movabs rbp, 0x8000000000000001
jb 0x1401609e3
mov r13, qword [rdi + 0x10]
mov r12, qword [rdi + 0x18]
mov rsi, r12
sub rsi, r13
sar rsi, 5
mov r14, rax
jmp 0x140160dc4
mov dword [rsp + 0x70], 0xaaaaaa00
mov dword [rsp + 0x6c], 0
mov r14, 0xffffffffffffffff
jmp 0x140160850
mov rcx, qword [rbp]
jmp 0x140160b26
mov r8, qword [r8]
jmp 0x140160a5c
mov rbp, qword [r11]
jmp 0x140160aa6
cmp r14, 0xffffffffffffffff
je 0x140160e68
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x140161c7c
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x1401619c9
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 0x140161e39
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 0x1401611ac
cmp rcx, rax
je 0x140161bec
add rax, 0xffffffffffffffe0
je 0x140161bff
mov qword [rdi + 0x18], rax
jmp 0x140160e68
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.140162040
mov r11, rbx
mov r9, rsi
movabs r12, 0xaaaaaaaaaaaaaaaa
mov r13, qword [rsp + 0x60]
jmp 0x140160e68
test al, al
je 0x1401619dc
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.140162040
mov r9, rsi
mov r11, rbx
jmp 0x140160e68
mov rax, qword [rdi + 0x20]
cmp r12, rax
jae 0x140161493
test r12, r12
je 0x140161a38
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 0x140160dfc
mov rsi, rax
movabs rbp, 0x8000000000000001
cmp rsi, r14
je 0x140160d76
jbe 0x1401619c9
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 0x1401619c9
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 0x140161d16
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 0x1401619c9
mov rax, qword [rax + rsi + 0x18]
mov rax, qword [rax + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x140161cee
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
cmp rax, rcx
je 0x1401610e7
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 0x140160ea8
mov r11d, dword [rsp + 0x70]
or r11d, dword [rsp + 0x6c]
cmp r11d, 1
je 0x1401619f8
cmp byte [r9 + 0x18], 1
jne 0x140160eba
cmp dword [r9 + 0x10], 1
je 0x1401619f0
cmp rax, rcx
sete r11b
cmp r13, rsi
sete bl
or bl, r11b
jne 0x1401610d0
cmp r10d, dword [rsp + 0x74]
jne 0x140160ef5
cmp r8, qword [rsp + 0x88]
jne 0x140160ef5
cmp r14, qword [rsp + 0x80]
jne 0x140160ef5
cmp edx, dword [rsp + 0x68]
je 0x1401610ab
cmp rax, rcx
je 0x14016111a
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, [0x14020c7b0]
cmp rax, rdx
jne 0x14016113f
mov rbx, qword [rdi + 0x38]
lea r13, [r12 - 0xaa]
mov r8d, 0xaaaaaaaa
test cl, cl
mov rdx, qword [rsp + 0x30]
je 0x140161102
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 0x140161ad8
mov al, byte [rdx + 8]
test al, al
jne 0x140161021
mov rax, qword [fcn.140118b10]
lea rcx, [0x140118bc0]
cmp rax, rcx
jne 0x140161990
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 0x140161dca
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 0x140161bb0
test rdx, rdx
je 0x140161a38
mov rax, qword [rsp + 0xf0]
mov qword [rdx], rax
mov byte [rdx + 8], 1
mov al, 1
test al, al
je 0x140161a80
cmp qword [rdx], rsi
jge 0x140161129
cmp qword [rbx + 0x250], 0
jne 0x140161ac4
mov al, 1
test r14, r14
je 0x140161129
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, [0x14018e8b0]
cmp rax, rcx
jne 0x140161a00
mov eax, dword [rdi + 0x1b0]
cmp eax, 4
je 0x140161591
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.140191d70
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 0x1401610ab
jmp 0x140160ef5
lea r8, [r12 - 0xaa]
mov edx, 0xaaaaaaaa
mov r10d, 0xaaaaaaaa
mov r14, r12
jmp 0x140160e86
xor eax, eax
mov r14, r13
mov r15, r12
mov ebp, 0xaaaaaaaa
mov r12d, 0xaaaaaaaa
jmp 0x14016104b
mov byte [rsp + 0xb0], 0
xor ecx, ecx
jmp 0x140160f20
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [0x1402a3ee8]
jmp 0x1401610ab
lea r8, [rsp + 0xb0]
mov rcx, rdi
mov rdx, qword [rsp + 0x30]
call qword [0x1402a3ee8]
jmp 0x1401610ab
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 0x1401607eb
mov rax, qword [rax]
mov rbx, qword [rsp + 0x40]
jmp 0x140160952
mov r8, qword [r8]
jmp 0x1401612b5
mov r9, qword [r9]
jmp 0x1401612fb
mov r12, rax
jmp 0x140161306
cmp rax, rcx
je 0x1401619c9
shl rdx, 5
mov rsi, qword [rcx + rdx + 0x18]
mov rax, qword [rsi + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x140161ea6
mov qword [rsi + 0x110], 0xffffffffffffffff
mov rax, qword [rdi + 0x10]
mov rsi, qword [rdi + 0x18]
sub rsi, rax
je 0x1401619c9
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 0x140161988
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 0x1401611a4
cmp rdx, rcx
jbe 0x1401619c9
cmp rdx, rax
jbe 0x1401619c9
mov r9, rcx
shl r9, 5
lea r8, [r15 + r9]
cmp dword [r15 + r9 + 0x14], 0
jne 0x140161194
mov r9, qword [r8]
mov r8, qword [r8 + 8]
lea r10, [r8 + r11]
cmp r10, 2
jb 0x140161e65
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 0x14016119c
mov r10, qword [r9]
mov r9, qword [r9 + 8]
mov rbx, r11
add r11, r9
cmp r11, 2
jb 0x140161e84
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 0x140161303
mov rcx, rax
mov r12, rcx
cmp rdx, r14
je 0x140161416
cmp rdx, r12
jbe 0x1401619c9
cmp rdx, r14
jbe 0x1401619c9
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 0x1401619c9
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 0x140161df1
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 0x1401619c9
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 0x140161e17
lea rcx, [r12 + r12]
lea rax, [r12*2 + 1]
mov r14, r12
cmp rax, rsi
jb 0x14016123e
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.140162040
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
movabs r12, 0xaaaaaaaaaaaaaaaa
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x48]
jmp 0x140160cc2
cmp r14, r12
jbe 0x1401619c9
mov rbx, r12
shl rbx, 5
add rbx, r15
mov rax, qword [rdi + 0x20]
cmp r13, rax
jae 0x1401618c5
test r13, r13
je 0x140161a38
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 0x140161349
mov rax, qword [rdi + 0x20]
cmp r12, rax
jae 0x1401617e5
test r12, r12
je 0x140161a38
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 0x140160b70
lea rdx, [rsi + 1]
mov rcx, rdx
shr rcx, 0x3b
jne 0x1401619e6
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 0x140161ece
cmp rbx, rcx
ja 0x1401619eb
mov r15d, r10d
mov rbp, r9
mov rcx, rbx
shl rcx, 5
call fcn.14018f5a8
mov r13, rax
shl rsi, 5
add rsi, r13
mov rax, qword [rsp + 0x38]
je 0x140161a38
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.1401cd6e0
mov rcx, qword [rdi + 0x10]
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], r12
mov qword [rdi + 0x20], r13
test rcx, rcx
jne 0x140161569
mov r13, qword [rsp + 0x60]
mov r9, rbp
mov r11, qword [rsp + 0x48]
jmp 0x140160db1
call fcn.14018f5a0
jmp 0x140161557
mov rcx, qword [rsp + 0xd0]
cmp ebp, 1
je 0x140161fcf
mov r15, rcx
jmp 0x1401615e2
add rsi, 0xfffffffffffffffe
xor eax, eax
jmp 0x1401616ed
movabs rsi, 0x8000000000000001
mov ebp, dword [rsp + 0xe4]
cmp byte [rsp + 0xe8], 1
jne 0x140161586
test ebp, ebp
jne 0x140161570
mov rcx, qword [rsp + 0xd0]
mov r15, qword [rsp + 0xd8]
lea rax, [r15 + rsi]
cmp rax, 2
jb 0x140161f62
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 0x140161ef3
cmp rax, 0x3e81
jae 0x140161ef3
add rsi, 0xfffffffffffffffe
cmp r14, rsi
mov rdx, qword [rsp + 0x30]
je 0x140161edc
mov al, byte [rdx + 8]
test al, al
jne 0x1401616b5
mov rax, qword [fcn.140118b10]
lea rcx, [0x140118bc0]
cmp rax, rcx
jne 0x1401619b6
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 0x140161fa8
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 0x140161f52
test rdx, rdx
je 0x140161a38
mov rax, qword [rsp + 0xf0]
mov qword [rdx], rax
mov byte [rdx + 8], 1
mov al, 1
test al, al
je 0x140161a80
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 0x140161710
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 0x1401617b5
mov rax, qword [fcn.140118b10]
lea rcx, [0x140118bc0]
cmp rax, rcx
jne 0x1401619a3
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 0x140161f81
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 0x140161ee3
test rdx, rdx
je 0x140161a38
mov rax, qword [rsp + 0x118]
mov qword [rdx], rax
mov byte [rdx + 8], 1
mov al, 1
test al, al
je 0x140161a80
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 [0x1402a3ee8]
jmp 0x1401610ab
movabs r8, 0x7ffffffffffffff
lea rdx, [r8 - 1]
cmp r14, rdx
ja 0x1401619e6
mov qword [rsp + 0x78], r15
lea rdx, [r14 + 1]
sub rax, r13
mov rcx, rax
sar rcx, 4
cmp rcx, rdx
ja 0x140161817
mov rcx, rdx
mov qword [rsp + 0x58], r9
movabs rdx, 0x8000000000000001
add rdx, 0xffffffffffffffdf
cmp rax, rdx
cmovae rcx, r8
cmp rcx, r8
ja 0x1401619eb
mov r15d, r10d
shl rcx, 5
mov rbx, rcx
call fcn.14018f5a8
mov r12, r14
shl r12, 5
add r12, rax
je 0x140161a38
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.1401cd6e0
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], r12
mov qword [rdi + 0x20], rbx
test r13, r13
jne 0x1401618bb
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 0x14016148a
mov rcx, r13
call fcn.14018f5a0
jmp 0x14016189a
movabs r8, 0x7ffffffffffffff
lea rdx, [r8 - 1]
cmp r14, rdx
ja 0x1401619e6
lea rdx, [r14 + 1]
sub rax, r15
mov rcx, rax
sar rcx, 4
cmp rcx, rdx
ja 0x1401618f2
mov rcx, rdx
movabs rdx, 0x8000000000000001
add rdx, 0xffffffffffffffdf
cmp rax, rdx
cmovae rcx, r8
cmp rcx, r8
ja 0x1401619eb
shl rcx, 5
mov qword [rsp + 0x40], rcx
call fcn.14018f5a8
mov r13, r14
shl r13, 5
add r13, rax
je 0x140161a38
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.1401cd6e0
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], r13
mov rax, qword [rsp + 0x40]
mov qword [rdi + 0x20], rax
test r15, r15
jne 0x14016197e
movabs r11, 0x8000000000000001
jmp 0x140161454
mov rcx, r15
call fcn.14018f5a0
jmp 0x14016196f
mov r12, r14
jmp 0x1401613c8
lea rcx, [rsp + 0xf0]
call qword [0x1402a3ee8]
jmp 0x140160ff1
lea rcx, [rsp + 0x118]
call qword [0x1402a3ee8]
jmp 0x14016178b
lea rcx, [rsp + 0xf0]
call qword [0x1402a3ee8]
jmp 0x14016168b
lea rcx, [0x1402742d5]
lea rdx, str....._third_partylibc_srcinclude_vector:1411:_assertion___n___size___failed:_vector___index_out_of_bounds_n
call fcn.1401ceaf0
call fcn.1401ceaf0
call fcn.14020c8b0
call fcn.1401d55d0
call fcn.1401ceaf0
inc dword [rdi + 0x28]
jmp 0x140160eba
dec dword [rdi + 0x28]
jmp 0x140160ea8
lea r8, [rsp + 0xd0]
mov rcx, rdi
jmp 0x14016114f
mov rbx, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d160
cmp esi, dword [r14]
jne 0x140162022
mov rax, qword [r15 + 0x18]
mov r9, rbx
jmp 0x1401607fa
lea rcx, [0x1402742d5]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
call fcn.1401ceaf0
mov qword [rsp + 0x48], r11
mov rbp, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d160
cmp esi, dword [r14]
jne 0x140162025
mov r14, qword [r15 + 0x110]
mov r9, rbp
mov r11, qword [rsp + 0x48]
jmp 0x14016085f
lea rcx, [0x1402742d5]
lea rdx, str....._third_partylibc_srcincludeoptional:800:_assertion_this__has_value___failed:_optional_operator_called_on_a_disengaged_value_n
call fcn.1401ceaf0
mov rbp, r11
mov rbx, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d160
cmp esi, dword [r14]
jne 0x140162028
mov r14, qword [r15 + 0x110]
mov r9, rbx
mov r11, rbp
jmp 0x140160819
xor eax, eax
mov r14, r13
movabs r15, 0xaaaaaaaaaaaaaaaa
jmp 0x14016110a
movabs rsi, 0x8000000000000001
lea rax, [r15 + rsi]
cmp rax, 2
jb 0x140161b0d
xor eax, eax
cmp r14, r15
setns al
movabs rcx, 0x7fffffffffffffff
add rcx, rax
mov rsi, r14
sub rsi, r15
cmovo rsi, rcx
jmp 0x140161b23
cmp r14, r15
je 0x14016202e
mov rax, r15
shr rax, 0x3f
not rax
add rsi, rax
mov rdx, qword [rsp + 0x30]
jmp 0x140160f89
mov ebp, r10d
mov r12, r11
mov rbx, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d160
cmp esi, dword [r14]
jne 0x14016202b
mov r14, qword [r15 + 0x110]
mov r9, rbx
mov r11, r12
mov r10d, ebp
mov r8, qword [rsp + 0x38]
jmp 0x1401608a9
lea r10, [r11 + rbp]
cmp r10, 2
setae r10b
cmp r11, r8
sete r11b
or r11b, r10b
jne 0x140160a5c
int3
movabs r11, 0x8000000000000001
add r11, r10
cmp r11, 2
setae r11b
cmp r10, rbp
sete r10b
or r10b, r11b
jne 0x140160aa6
int3
mov rcx, qword [rsp + 0xf0]
mov qword [rdx], rcx
jmp 0x140161021
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 0x140160b26
int3
lea rcx, [0x1402742d5]
lea rdx, str....._third_partylibc_srcinclude_vector:1539:_assertion__empty___failed:_vector::pop_back_called_on_an_empty_vector_n
call fcn.1401ceaf0
lea rcx, [0x1402742d5]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.1401ceaf0
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 0x140160b39
int3
lea rdx, [rcx + rbp]
cmp rdx, 2
setae dl
cmp rcx, rax
sete cl
or cl, dl
jne 0x140160952
int3
lea rcx, [rbx + rbp]
cmp rcx, 2
setae cl
cmp rbx, r8
sete dl
or dl, cl
mov rcx, r8
jne 0x14016097f
int3
mov rbp, r11
mov rbx, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d160
cmp esi, dword [r14]
jne 0x140162031
mov r14, qword [r15 + 0x110]
mov r9, rbx
mov r11, rbp
jmp 0x140160c66
lea rcx, [rsp + 0xd0]
mov r13, r9
mov r12, r11
mov qword [rsp + 0x78], r15
mov r15d, r10d
call fcn.14018d160
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 0x1401608e1
int3
lea r14, [rsp + 0xd0]
mov rcx, r14
mov rbx, r9
mov r15, r11
call fcn.14018d160
mov r11, r15
mov r9, rbx
cmp esi, dword [r14]
je 0x140160e68
int3
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0x58], r9
mov r15, r11
call fcn.14018d160
mov r11, r15
mov r9, qword [rsp + 0x58]
lea rax, [rsp + 0xd0]
cmp ebp, dword [rax]
je 0x140160e35
int3
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0x58], r9
mov rbx, r15
mov r15d, r10d
call fcn.14018d160
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 0x140160ba1
int3
lea r14, [rsp + 0xd0]
mov rcx, r14
mov r12, r9
mov r13, r11
mov rbx, r15
mov r15d, r10d
call fcn.14018d160
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 0x140160bd4
int3
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140160fe9
lea rcx, [rsp + 0xf0]
mov r15, r11
call fcn.14018d160
mov r11, r15
lea rax, [rsp + 0xf0]
cmp ebp, dword [rax]
je 0x140161378
int3
lea r14, [rsp + 0xf0]
mov rcx, r14
mov r15, r11
call fcn.14018d160
mov r11, r15
cmp ebx, dword [r14]
je 0x1401613b0
int3
lea rcx, [rsp + 0xf0]
mov rbp, r9
mov r15, r11
call fcn.14018d160
mov r11, r15
mov r9, rbp
lea rax, [rsp + 0xf0]
cmp ebx, dword [rax]
je 0x140160c99
int3
lea r10, [r9 + r11]
cmp r10, 2
setae r10b
cmp r9, r8
sete r9b
or r9b, r10b
jne 0x1401612b5
int3
lea r11, [r10 + rbx]
cmp r11, 2
setae r11b
cmp r10, r9
sete r10b
or r10b, r11b
mov r11, rbx
jne 0x1401612fb
int3
lea r15, [rsp + 0xf0]
mov rcx, r15
mov r12, r9
mov rbp, r11
call fcn.14018d160
mov r11, rbp
mov r9, r12
cmp ebx, dword [r15]
je 0x1401611cd
int3
mov r15d, r10d
mov rbp, r9
xor r13d, r13d
jmp 0x1401614f4
mov al, 1
jmp 0x1401616ed
mov rcx, qword [rsp + 0x118]
mov qword [rdx], rcx
jmp 0x1401617b5
mov rax, qword [0x1402b5778]
mov r14, rcx
test al, 1
je 0x140161611
lea rbx, [rsp + 0x118]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rbx], rax
lea r14, [rsp + 0x110]
mov rcx, r14
call fcn.14018ded0
mov r9, qword [r14]
lea rcx, [rsp + 0xf0]
mov rdx, rbx
xor r8d, r8d
call fcn.14018d280
mov rax, qword [rbx]
cmp rax, r15
cmovl r15, rax
mov r14, r15
jmp 0x140161611
mov rcx, qword [rsp + 0xf0]
mov qword [rdx], rcx
jmp 0x1401616b5
lea rax, [rcx + rsi]
cmp rax, 2
setae al
cmp rcx, r15
sete dl
or dl, al
mov r14, rcx
jne 0x1401615e5
int3
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140161783
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140161683
mov rax, qword [rsp + 0xd8]
lea rdx, [rax + rsi]
cmp rdx, 2
jae 0x140161ffb
cmp rcx, rax
je 0x140162034
shr rax, 0x3f
not rax
add rax, rsi
mov r15, rcx
mov r14, rax
jmp 0x1401615e5
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 0x1401615e5
int3
int3
int3
int3
int3
int3
int3