Function at 0x140160d60
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 [0x1402b4040]
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 0x14016174a
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 0x140162000
mov r11, qword [r15 + 0x110]
cmp r11, 0xffffffffffffffff
je 0x140161208
mov esi, dword [rax + 8]
mov r14, r11
test esi, esi
jne 0x140162083
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x140161fd1
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 0x14016203b
test bl, bl
je 0x14016123d
mov al, byte [r9 + 0x18]
cmp r14, 0xffffffffffffffff
je 0x14016131c
test al, al
je 0x140161fcc
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 0x14016211d
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x140161fb9
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 0x14016229d
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 0x140161fb9
movabs rbp, 0x8000000000000001
lea rax, [rbx + r13]
cmp dword [r13 + rbx + 0x14], 0
jne 0x140161777
mov rcx, qword [rax]
mov rax, qword [rax + 8]
lea rdx, [rax + rbp]
cmp rdx, 2
mov rbx, qword [rsp + 0x40]
jb 0x140162231
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 0x140160f6f
lea rcx, [r8 + rbp]
cmp rcx, 2
jb 0x14016224d
lea rdx, [rbx + r8]
sar rdx, 0x3f
btc rdx, 0x3f
mov rcx, rbx
add rcx, r8
cmovo rcx, rdx
cmp rcx, rax
jle 0x1401612ce
lea rcx, [r14*2 + 1]
cmp rcx, rsi
mov qword [rsp + 0x48], r11
jae 0x1401613b4
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 0x1401610b6
cmp rax, rdx
jbe 0x140161fb9
mov rbx, r15
mov r15d, r10d
mov r10, rdx
shl r10, 5
lea r8, [r10 + r13]
cmp dword [r13 + r10 + 0x14], 0
jne 0x14016122d
mov r11, qword [r8]
mov r8, qword [r8 + 8]
lea r10, [r8 + rbp]
cmp r10, 2
jb 0x140162159
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 0x140161235
mov r10, qword [r11]
mov rbp, qword [r11 + 8]
movabs r11, 0x8000000000000001
add r11, rbp
cmp r11, 2
jb 0x140162178
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 0x1401610a6
mov rdx, rcx
mov rcx, rdx
mov r15, rbx
mov r8, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
cmp rax, rcx
jbe 0x140161fb9
mov qword [rsp + 0xa0], rcx
shl rcx, 5
lea rbp, [rcx + r13]
cmp dword [r13 + rcx + 0x14], 0
jne 0x140161224
mov rdx, qword [rbp]
mov rcx, qword [rbp + 8]
movabs r8, 0x8000000000000001
add r8, rcx
cmp r8, 2
jb 0x1401621b0
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 0x140162202
cmp rdx, rcx
jle 0x1401613a7
cmp rax, r14
je 0x140161a4d
jbe 0x140161fb9
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 0x140161fb9
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 0x140162336
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 0x140161fb9
mov rax, qword [rax + r12 + 0x18]
mov rax, qword [rax + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x14016237c
mov rax, qword [rsp + 0xa0]
lea rdx, [rax + rax]
lea rcx, [rax*2 + 1]
mov r14, rax
cmp rcx, rsi
movabs rbp, 0x8000000000000001
jb 0x140160fd3
mov r13, qword [rdi + 0x10]
mov r12, qword [rdi + 0x18]
mov rsi, r12
sub rsi, r13
sar rsi, 5
mov r14, rax
jmp 0x1401613b4
mov dword [rsp + 0x70], 0xaaaaaa00
mov dword [rsp + 0x6c], 0
mov r14, 0xffffffffffffffff
jmp 0x140160e40
mov rcx, qword [rbp]
jmp 0x140161116
mov r8, qword [r8]
jmp 0x14016104c
mov rbp, qword [r11]
jmp 0x140161096
cmp r14, 0xffffffffffffffff
je 0x140161458
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x14016226c
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x140161fb9
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 0x140162429
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 0x14016179c
cmp rcx, rax
je 0x1401621dc
add rax, 0xffffffffffffffe0
je 0x1401621ef
mov qword [rdi + 0x18], rax
jmp 0x140161458
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.140162630
mov r11, rbx
mov r9, rsi
movabs r12, 0xaaaaaaaaaaaaaaaa
mov r13, qword [rsp + 0x60]
jmp 0x140161458
test al, al
je 0x140161fcc
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.140162630
mov r9, rsi
mov r11, rbx
jmp 0x140161458
mov rax, qword [rdi + 0x20]
cmp r12, rax
jae 0x140161a83
test r12, r12
je 0x140162028
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 0x1401613ec
mov rsi, rax
movabs rbp, 0x8000000000000001
cmp rsi, r14
je 0x140161366
jbe 0x140161fb9
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 0x140161fb9
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 0x140162306
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 0x140161fb9
mov rax, qword [rax + rsi + 0x18]
mov rax, qword [rax + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1401622de
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
cmp rax, rcx
je 0x1401616d7
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 0x140161498
mov r11d, dword [rsp + 0x70]
or r11d, dword [rsp + 0x6c]
cmp r11d, 1
je 0x140161fe8
cmp byte [r9 + 0x18], 1
jne 0x1401614aa
cmp dword [r9 + 0x10], 1
je 0x140161fe0
cmp rax, rcx
sete r11b
cmp r13, rsi
sete bl
or bl, r11b
jne 0x1401616c0
cmp r10d, dword [rsp + 0x74]
jne 0x1401614e5
cmp r8, qword [rsp + 0x88]
jne 0x1401614e5
cmp r14, qword [rsp + 0x80]
jne 0x1401614e5
cmp edx, dword [rsp + 0x68]
je 0x14016169b
cmp rax, rcx
je 0x14016170a
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, [0x14020cfa0]
cmp rax, rdx
jne 0x14016172f
mov rbx, qword [rdi + 0x38]
lea r13, [r12 - 0xaa]
mov r8d, 0xaaaaaaaa
test cl, cl
mov rdx, qword [rsp + 0x30]
je 0x1401616f2
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 0x1401620c8
mov al, byte [rdx + 8]
test al, al
jne 0x140161611
mov rax, qword [fcn.140119100]
lea rcx, [0x1401191b0]
cmp rax, rcx
jne 0x140161f80
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 0x1401623ba
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c6d38]
mov qword [rsp + 0xf0], rax
mov rdx, qword [rsp + 0x30]
mov r8d, 0xaaaaaaaa
mov al, byte [rdx + 8]
cmp al, 1
je 0x1401621a0
test rdx, rdx
je 0x140162028
mov rax, qword [rsp + 0xf0]
mov qword [rdx], rax
mov byte [rdx + 8], 1
mov al, 1
test al, al
je 0x140162070
cmp qword [rdx], rsi
jge 0x140161719
cmp qword [rbx + 0x250], 0
jne 0x1401620b4
mov al, 1
test r14, r14
je 0x140161719
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, [0x14018eea0]
cmp rax, rcx
jne 0x140161ff0
mov eax, dword [rdi + 0x1b0]
cmp eax, 4
je 0x140161b81
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.140192360
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 0x14016169b
jmp 0x1401614e5
lea r8, [r12 - 0xaa]
mov edx, 0xaaaaaaaa
mov r10d, 0xaaaaaaaa
mov r14, r12
jmp 0x140161476
xor eax, eax
mov r14, r13
mov r15, r12
mov ebp, 0xaaaaaaaa
mov r12d, 0xaaaaaaaa
jmp 0x14016163b
mov byte [rsp + 0xb0], 0
xor ecx, ecx
jmp 0x140161510
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [0x1402a4f40]
jmp 0x14016169b
lea r8, [rsp + 0xb0]
mov rcx, rdi
mov rdx, qword [rsp + 0x30]
call qword [0x1402a4f40]
jmp 0x14016169b
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 0x140160ddb
mov rax, qword [rax]
mov rbx, qword [rsp + 0x40]
jmp 0x140160f42
mov r8, qword [r8]
jmp 0x1401618a5
mov r9, qword [r9]
jmp 0x1401618eb
mov r12, rax
jmp 0x1401618f6
cmp rax, rcx
je 0x140161fb9
shl rdx, 5
mov rsi, qword [rcx + rdx + 0x18]
mov rax, qword [rsi + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x140162496
mov qword [rsi + 0x110], 0xffffffffffffffff
mov rax, qword [rdi + 0x10]
mov rsi, qword [rdi + 0x18]
sub rsi, rax
je 0x140161fb9
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 0x140161f78
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 0x140161794
cmp rdx, rcx
jbe 0x140161fb9
cmp rdx, rax
jbe 0x140161fb9
mov r9, rcx
shl r9, 5
lea r8, [r15 + r9]
cmp dword [r15 + r9 + 0x14], 0
jne 0x140161784
mov r9, qword [r8]
mov r8, qword [r8 + 8]
lea r10, [r8 + r11]
cmp r10, 2
jb 0x140162455
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 0x14016178c
mov r10, qword [r9]
mov r9, qword [r9 + 8]
mov rbx, r11
add r11, r9
cmp r11, 2
jb 0x140162474
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 0x1401618f3
mov rcx, rax
mov r12, rcx
cmp rdx, r14
je 0x140161a06
cmp rdx, r12
jbe 0x140161fb9
cmp rdx, r14
jbe 0x140161fb9
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 0x140161fb9
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 0x1401623e1
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 0x140161fb9
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 0x140162407
lea rcx, [r12 + r12]
lea rax, [r12*2 + 1]
mov r14, r12
cmp rax, rsi
jb 0x14016182e
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.140162630
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
movabs r12, 0xaaaaaaaaaaaaaaaa
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x48]
jmp 0x1401612b2
cmp r14, r12
jbe 0x140161fb9
mov rbx, r12
shl rbx, 5
add rbx, r15
mov rax, qword [rdi + 0x20]
cmp r13, rax
jae 0x140161eb5
test r13, r13
je 0x140162028
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 0x140161939
mov rax, qword [rdi + 0x20]
cmp r12, rax
jae 0x140161dd5
test r12, r12
je 0x140162028
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 0x140161160
lea rdx, [rsi + 1]
mov rcx, rdx
shr rcx, 0x3b
jne 0x140161fd6
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 0x1401624be
cmp rbx, rcx
ja 0x140161fdb
mov r15d, r10d
mov rbp, r9
mov rcx, rbx
shl rcx, 5
call fcn.14018fb98
mov r13, rax
shl rsi, 5
add rsi, r13
mov rax, qword [rsp + 0x38]
je 0x140162028
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.1401cdcb0
mov rcx, qword [rdi + 0x10]
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], r12
mov qword [rdi + 0x20], r13
test rcx, rcx
jne 0x140161b59
mov r13, qword [rsp + 0x60]
mov r9, rbp
mov r11, qword [rsp + 0x48]
jmp 0x1401613a1
call fcn.14018fb90
jmp 0x140161b47
mov rcx, qword [rsp + 0xd0]
cmp ebp, 1
je 0x1401625bf
mov r15, rcx
jmp 0x140161bd2
add rsi, 0xfffffffffffffffe
xor eax, eax
jmp 0x140161cdd
movabs rsi, 0x8000000000000001
mov ebp, dword [rsp + 0xe4]
cmp byte [rsp + 0xe8], 1
jne 0x140161b76
test ebp, ebp
jne 0x140161b60
mov rcx, qword [rsp + 0xd0]
mov r15, qword [rsp + 0xd8]
lea rax, [r15 + rsi]
cmp rax, 2
jb 0x140162552
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 [0x1402b67f8]
shr rax, 1
mov edx, 0x3e8
mul rdx
jo 0x1401624e3
cmp rax, 0x3e81
jae 0x1401624e3
add rsi, 0xfffffffffffffffe
cmp r14, rsi
mov rdx, qword [rsp + 0x30]
je 0x1401624cc
mov al, byte [rdx + 8]
test al, al
jne 0x140161ca5
mov rax, qword [fcn.140119100]
lea rcx, [0x1401191b0]
cmp rax, rcx
jne 0x140161fa6
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 0x140162598
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c6d38]
mov qword [rsp + 0xf0], rax
mov rdx, qword [rsp + 0x30]
mov al, byte [rdx + 8]
cmp al, 1
je 0x140162542
test rdx, rdx
je 0x140162028
mov rax, qword [rsp + 0xf0]
mov qword [rdx], rax
mov byte [rdx + 8], 1
mov al, 1
test al, al
je 0x140162070
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 0x140161d00
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 0x140161da5
mov rax, qword [fcn.140119100]
lea rcx, [0x1401191b0]
cmp rax, rcx
jne 0x140161f93
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 0x140162571
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c6d38]
mov qword [rsp + 0x118], rax
mov rdx, qword [rsp + 0x30]
mov al, byte [rdx + 8]
cmp al, 1
je 0x1401624d3
test rdx, rdx
je 0x140162028
mov rax, qword [rsp + 0x118]
mov qword [rdx], rax
mov byte [rdx + 8], 1
mov al, 1
test al, al
je 0x140162070
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 [0x1402a4f40]
jmp 0x14016169b
movabs r8, 0x7ffffffffffffff
lea rdx, [r8 - 1]
cmp r14, rdx
ja 0x140161fd6
mov qword [rsp + 0x78], r15
lea rdx, [r14 + 1]
sub rax, r13
mov rcx, rax
sar rcx, 4
cmp rcx, rdx
ja 0x140161e07
mov rcx, rdx
mov qword [rsp + 0x58], r9
movabs rdx, 0x8000000000000001
add rdx, 0xffffffffffffffdf
cmp rax, rdx
cmovae rcx, r8
cmp rcx, r8
ja 0x140161fdb
mov r15d, r10d
shl rcx, 5
mov rbx, rcx
call fcn.14018fb98
mov r12, r14
shl r12, 5
add r12, rax
je 0x140162028
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.1401cdcb0
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], r12
mov qword [rdi + 0x20], rbx
test r13, r13
jne 0x140161eab
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 0x140161a7a
mov rcx, r13
call fcn.14018fb90
jmp 0x140161e8a
movabs r8, 0x7ffffffffffffff
lea rdx, [r8 - 1]
cmp r14, rdx
ja 0x140161fd6
lea rdx, [r14 + 1]
sub rax, r15
mov rcx, rax
sar rcx, 4
cmp rcx, rdx
ja 0x140161ee2
mov rcx, rdx
movabs rdx, 0x8000000000000001
add rdx, 0xffffffffffffffdf
cmp rax, rdx
cmovae rcx, r8
cmp rcx, r8
ja 0x140161fdb
shl rcx, 5
mov qword [rsp + 0x40], rcx
call fcn.14018fb98
mov r13, r14
shl r13, 5
add r13, rax
je 0x140162028
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.1401cdcb0
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], r13
mov rax, qword [rsp + 0x40]
mov qword [rdi + 0x20], rax
test r15, r15
jne 0x140161f6e
movabs r11, 0x8000000000000001
jmp 0x140161a44
mov rcx, r15
call fcn.14018fb90
jmp 0x140161f5f
mov r12, r14
jmp 0x1401619b8
lea rcx, [rsp + 0xf0]
call qword [0x1402a4f40]
jmp 0x1401615e1
lea rcx, [rsp + 0x118]
call qword [0x1402a4f40]
jmp 0x140161d7b
lea rcx, [rsp + 0xf0]
call qword [0x1402a4f40]
jmp 0x140161c7b
lea rcx, [0x140275393]
lea rdx, str....._third_partylibc_srcinclude_vector:1411:_assertion___n___size___failed:_vector___index_out_of_bounds_n
call fcn.1401cf0c0
call fcn.1401cf0c0
call fcn.14020d0a0
call fcn.1401d5a20
call fcn.1401cf0c0
inc dword [rdi + 0x28]
jmp 0x1401614aa
dec dword [rdi + 0x28]
jmp 0x140161498
lea r8, [rsp + 0xd0]
mov rcx, rdi
jmp 0x14016173f
mov rbx, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d750
cmp esi, dword [r14]
jne 0x140162612
mov rax, qword [r15 + 0x18]
mov r9, rbx
jmp 0x140160dea
lea rcx, [0x140275393]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
call fcn.1401cf0c0
mov qword [rsp + 0x48], r11
mov rbp, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d750
cmp esi, dword [r14]
jne 0x140162615
mov r14, qword [r15 + 0x110]
mov r9, rbp
mov r11, qword [rsp + 0x48]
jmp 0x140160e4f
lea rcx, [0x140275393]
lea rdx, str....._third_partylibc_srcincludeoptional:800:_assertion_this__has_value___failed:_optional_operator_called_on_a_disengaged_value_n
call fcn.1401cf0c0
mov rbp, r11
mov rbx, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d750
cmp esi, dword [r14]
jne 0x140162618
mov r14, qword [r15 + 0x110]
mov r9, rbx
mov r11, rbp
jmp 0x140160e09
xor eax, eax
mov r14, r13
movabs r15, 0xaaaaaaaaaaaaaaaa
jmp 0x1401616fa
movabs rsi, 0x8000000000000001
lea rax, [r15 + rsi]
cmp rax, 2
jb 0x1401620fd
xor eax, eax
cmp r14, r15
setns al
movabs rcx, 0x7fffffffffffffff
add rcx, rax
mov rsi, r14
sub rsi, r15
cmovo rsi, rcx
jmp 0x140162113
cmp r14, r15
je 0x14016261e
mov rax, r15
shr rax, 0x3f
not rax
add rsi, rax
mov rdx, qword [rsp + 0x30]
jmp 0x140161579
mov ebp, r10d
mov r12, r11
mov rbx, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d750
cmp esi, dword [r14]
jne 0x14016261b
mov r14, qword [r15 + 0x110]
mov r9, rbx
mov r11, r12
mov r10d, ebp
mov r8, qword [rsp + 0x38]
jmp 0x140160e99
lea r10, [r11 + rbp]
cmp r10, 2
setae r10b
cmp r11, r8
sete r11b
or r11b, r10b
jne 0x14016104c
int3
movabs r11, 0x8000000000000001
add r11, r10
cmp r11, 2
setae r11b
cmp r10, rbp
sete r10b
or r10b, r11b
jne 0x140161096
int3
mov rcx, qword [rsp + 0xf0]
mov qword [rdx], rcx
jmp 0x140161611
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 0x140161116
int3
lea rcx, [0x140275393]
lea rdx, str....._third_partylibc_srcinclude_vector:1539:_assertion__empty___failed:_vector::pop_back_called_on_an_empty_vector_n
call fcn.1401cf0c0
lea rcx, [0x140275393]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.1401cf0c0
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 0x140161129
int3
lea rdx, [rcx + rbp]
cmp rdx, 2
setae dl
cmp rcx, rax
sete cl
or cl, dl
jne 0x140160f42
int3
lea rcx, [rbx + rbp]
cmp rcx, 2
setae cl
cmp rbx, r8
sete dl
or dl, cl
mov rcx, r8
jne 0x140160f6f
int3
mov rbp, r11
mov rbx, r9
lea r14, [rsp + 0xf0]
mov rcx, r14
call fcn.14018d750
cmp esi, dword [r14]
jne 0x140162621
mov r14, qword [r15 + 0x110]
mov r9, rbx
mov r11, rbp
jmp 0x140161256
lea rcx, [rsp + 0xd0]
mov r13, r9
mov r12, r11
mov qword [rsp + 0x78], r15
mov r15d, r10d
call fcn.14018d750
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 0x140160ed1
int3
lea r14, [rsp + 0xd0]
mov rcx, r14
mov rbx, r9
mov r15, r11
call fcn.14018d750
mov r11, r15
mov r9, rbx
cmp esi, dword [r14]
je 0x140161458
int3
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0x58], r9
mov r15, r11
call fcn.14018d750
mov r11, r15
mov r9, qword [rsp + 0x58]
lea rax, [rsp + 0xd0]
cmp ebp, dword [rax]
je 0x140161425
int3
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0x58], r9
mov rbx, r15
mov r15d, r10d
call fcn.14018d750
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 0x140161191
int3
lea r14, [rsp + 0xd0]
mov rcx, r14
mov r12, r9
mov r13, r11
mov rbx, r15
mov r15d, r10d
call fcn.14018d750
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 0x1401611c4
int3
mov rcx, qword [0x1402c6d38]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1401615d9
lea rcx, [rsp + 0xf0]
mov r15, r11
call fcn.14018d750
mov r11, r15
lea rax, [rsp + 0xf0]
cmp ebp, dword [rax]
je 0x140161968
int3
lea r14, [rsp + 0xf0]
mov rcx, r14
mov r15, r11
call fcn.14018d750
mov r11, r15
cmp ebx, dword [r14]
je 0x1401619a0
int3
lea rcx, [rsp + 0xf0]
mov rbp, r9
mov r15, r11
call fcn.14018d750
mov r11, r15
mov r9, rbp
lea rax, [rsp + 0xf0]
cmp ebx, dword [rax]
je 0x140161289
int3
lea r10, [r9 + r11]
cmp r10, 2
setae r10b
cmp r9, r8
sete r9b
or r9b, r10b
jne 0x1401618a5
int3
lea r11, [r10 + rbx]
cmp r11, 2
setae r11b
cmp r10, r9
sete r10b
or r10b, r11b
mov r11, rbx
jne 0x1401618eb
int3
lea r15, [rsp + 0xf0]
mov rcx, r15
mov r12, r9
mov rbp, r11
call fcn.14018d750
mov r11, rbp
mov r9, r12
cmp ebx, dword [r15]
je 0x1401617bd
int3
mov r15d, r10d
mov rbp, r9
xor r13d, r13d
jmp 0x140161ae4
mov al, 1
jmp 0x140161cdd
mov rcx, qword [rsp + 0x118]
mov qword [rdx], rcx
jmp 0x140161da5
mov rax, qword [0x1402b67f8]
mov r14, rcx
test al, 1
je 0x140161c01
lea rbx, [rsp + 0x118]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rbx], rax
lea r14, [rsp + 0x110]
mov rcx, r14
call fcn.14018e4c0
mov r9, qword [r14]
lea rcx, [rsp + 0xf0]
mov rdx, rbx
xor r8d, r8d
call fcn.14018d870
mov rax, qword [rbx]
cmp rax, r15
cmovl r15, rax
mov r14, r15
jmp 0x140161c01
mov rcx, qword [rsp + 0xf0]
mov qword [rdx], rcx
jmp 0x140161ca5
lea rax, [rcx + rsi]
cmp rax, 2
setae al
cmp rcx, r15
sete dl
or dl, al
mov r14, rcx
jne 0x140161bd5
int3
mov rcx, qword [0x1402c6d38]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140161d73
mov rcx, qword [0x1402c6d38]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140161c73
mov rax, qword [rsp + 0xd8]
lea rdx, [rax + rsi]
cmp rdx, 2
jae 0x1401625eb
cmp rcx, rax
je 0x140162624
shr rax, 0x3f
not rax
add rax, rsi
mov r15, rcx
mov r14, rax
jmp 0x140161bd5
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 0x140161bd5
int3
int3
int3
int3
int3
int3
int3