Function at 0x140144bf0
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, 0xe8
mov rbx, r9
mov qword [rsp + 0x30], r8
mov rdi, rcx
mov rax, qword [0x140287028]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov r12, qword [rcx + 0x10]
mov r13, qword [rcx + 0x18]
cmp r12, r13
je 0x140144fe9
mov rax, qword [r12]
mov qword [rsp + 0x50], rax
mov r15, qword [r12 + 8]
mov esi, dword [r12 + 0x14]
mov r14, qword [rdx + 0x120]
cmp r14, 0xffffffffffffffff
je 0x140144fa7
mov rax, r13
sub rax, r12
sar rax, 5
cmp rax, r14
jbe 0x14014529d
mov r8, r14
shl r8, 5
mov ebp, dword [r12 + r8 + 0x10]
lea rcx, [rdi + 8]
cmp byte [rbx], 0
je 0x140145010
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rsi
mov r15, qword [rbx + 8]
mov r10, qword [rbx + 0x10]
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x3c], eax
mov eax, dword [rbx + 0x1c]
mov r11, qword [r12 + r8 + 0x18]
mov qword [r11 + 0x120], 0xffffffffffffffff
mov rsi, qword [rdi + 0x10]
mov r11, qword [rdi + 0x18]
sub r11, rsi
sar r11, 5
cmp r11, r14
jbe 0x1401452e0
mov r11, r15
test eax, eax
jne 0x140144cff
movabs r9, 0x7fffffffffffffff
lea r11, [r9 + r10]
add r11, 2
cmp r11, 2
jb 0x14014530c
lea r9, [r15 + r10]
sar r9, 0x3f
btc r9, 0x3f
mov r11, r15
add r11, r10
cmovo r11, r9
add rsi, r8
cmp dword [rsi + 0x14], 0
jne 0x14014518f
mov r8, qword [rsi]
mov rsi, qword [rsi + 8]
movabs r9, 0x7fffffffffffffff
add r9, rsi
add r9, 2
cmp r9, 2
jb 0x140145339
lea r9, [r8 + rsi]
sar r9, 0x3f
btc r9, 0x3f
add r8, rsi
cmovo r8, r9
mov rsi, r8
cmp r11, rsi
jle 0x14014501d
lea r8, [rsp + 0x58]
mov qword [r8], r15
mov qword [r8 + 8], r10
mov r9d, dword [rsp + 0x3c]
mov dword [r8 + 0x10], r9d
mov dword [r8 + 0x14], eax
mov qword [r8 + 0x18], rdx
mov rdx, r14
call fcn.140145690
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
cmp r14, 0xffffffffffffffff
setne r10b
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
cmp rax, rcx
je 0x140144ffa
mov r8, qword [rax]
mov r9, qword [rax + 8]
mov edx, dword [rax + 0x14]
cmp ebp, 1
sete r11b
and r10b, r11b
cmp r10b, 1
je 0x140145052
cmp byte [rbx], 0
je 0x140144dc3
cmp dword [rbx + 0x18], 1
je 0x14014504a
cmp r12, r13
je 0x140144f90
cmp rax, rcx
je 0x140144f90
cmp r8, qword [rsp + 0x50]
jne 0x140144de9
cmp r9, r15
jne 0x140144de9
cmp edx, esi
je 0x140144f6b
cmp rax, rcx
je 0x14014505a
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov esi, dword [rax + 0x14]
mov byte [rsp + 0x88], 1
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], rbx
mov dword [rsp + 0xa0], 0
mov dword [rsp + 0xa4], esi
mov rax, qword [rdi]
mov rax, qword [rax + 0x10]
lea rcx, [0x1401f4740]
cmp rax, rcx
jne 0x1401451ad
mov r15, qword [rdi + 0x38]
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0
jne 0x140145007
mov rax, qword [fcn.140158d50]
lea rcx, [0x140171950]
cmp rax, rcx
jne 0x14014524b
lea rdi, [rsp + 0x58]
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 0x140145360
imul rax, rax, 0xf4240
cqo
idiv qword [0x14029b670]
mov rcx, qword [rsp + 0x30]
cmp byte [rcx], 0
mov qword [rcx + 8], rax
jne 0x140144eb2
mov byte [rcx], 1
mov rcx, r14
cmp esi, 1
je 0x1401452a2
cmp rax, rcx
jge 0x140145197
cmp qword [r15 + 0x3b8], 0
jne 0x140145094
mov al, 1
test r14, r14
je 0x140145197
mov r12, r14
mov rdi, qword [r15 + 0x30]
mov byte [rsp + 0xb0], al
mov eax, 0xaaaaaaaa
mov dword [rsp + 0xb1], eax
mov dword [rsp + 0xb4], eax
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0xc0], rbx
mov dword [rsp + 0xc8], 0
mov dword [rsp + 0xcc], esi
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xd0], rax
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
lea rcx, [0x140172150]
cmp rax, rcx
jne 0x140145290
cmp qword [rdi + 0x168], r12
je 0x140144f6b
mov qword [rdi + 0x168], r12
mov eax, dword [rdi + 0x190]
cmp eax, 4
je 0x1401450ac
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1401756e0
nop
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp rax, rcx
sete dl
cmp r12, r13
sete r8b
cmp r8b, dl
je 0x140144f6b
jmp 0x140144de9
mov ebp, 0xaaaaaaaa
cmp byte [rbx], 0
je 0x140144d7d
lea rcx, [rdi + 8]
mov rax, qword [rbx + 0x18]
lea r8, [rsp + 0xb0]
mov qword [r8 + 0x10], rax
movups xmm0, xmmword [rbx + 8]
movaps xmmword [r8], xmm0
mov qword [r8 + 0x18], rdx
mov rdx, r13
sub rdx, r12
sar rdx, 5
call fcn.140145410
jmp 0x140144d7d
xor esi, esi
xor r15d, r15d
xor eax, eax
mov qword [rsp + 0x50], rax
jmp 0x140144c44
xor r8d, r8d
xor r9d, r9d
xor edx, edx
jmp 0x140144da0
mov rax, qword [rax + 8]
jmp 0x140144eb2
mov rdx, r14
call fcn.14001d110
jmp 0x140144d7d
lea r8, [rsp + 0xb0]
mov qword [r8], r15
mov qword [r8 + 8], r10
mov r9d, dword [rsp + 0x3c]
mov dword [r8 + 0x10], r9d
mov dword [r8 + 0x14], eax
mov qword [r8 + 0x18], rdx
mov rdx, r14
call fcn.140145410
jmp 0x140144d73
inc dword [rdi + 0x28]
jmp 0x140144dc3
dec dword [rdi + 0x28]
jmp 0x140144db4
mov byte [rsp + 0x88], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
mov rax, qword [rdi]
mov rax, qword [rax + 0x10]
lea rcx, [0x1401f4740]
cmp rax, rcx
jne 0x1401451ad
mov r15, qword [rdi + 0x38]
xor esi, esi
xor ebx, ebx
xor r14d, r14d
movabs r12, 0x7fffffffffffffff
xor eax, eax
jmp 0x140144ee3
mov rax, qword [rsp + 0x30]
mov al, byte [rax]
movabs rcx, 0x7fffffffffffffff
cmp r12, rcx
je 0x1401451c8
test al, al
jne 0x140145184
mov rax, qword [fcn.140158d50]
lea rcx, [0x140171950]
cmp rax, rcx
jne 0x140145264
lea rbx, [rsp + 0x58]
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 0x1401453ab
imul rax, rax, 0xf4240
cqo
idiv qword [0x14029b670]
mov rcx, qword [rsp + 0x30]
cmp byte [rcx], 0
mov qword [rcx + 8], rax
jne 0x140145131
mov byte [rcx], 1
movabs rcx, 0x141dd76000
lea rdx, [rax + rcx]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
cmp rcx, r12
cmovge rcx, r12
mov rdi, qword [rdi + 0x1b0]
mov qword [rsp + 0x58], rcx
lea rdx, [rsp + 0x58]
mov qword [rdx + 8], rax
mov byte [rdx + 0x10], 0
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
mov rcx, rdi
call qword [case.0x1401d7990.0]
jmp 0x140144f6b
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 8]
jmp 0x140145131
mov rsi, qword [rsi]
jmp 0x140144d45
mov rcx, qword [r15 + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [case.0x1401d7990.0]
jmp 0x140144f6b
lea r8, [rsp + 0x88]
mov rcx, rdi
mov rdx, qword [rsp + 0x30]
call qword [case.0x1401d7990.0]
jmp 0x140144f6b
mov rdi, qword [rdi + 0x1b0]
mov qword [rsp + 0x58], rcx
test al, al
jne 0x1401453d2
mov rax, qword [fcn.140158d50]
lea rcx, [0x140171950]
cmp rax, rcx
jne 0x14014527d
lea rbx, [rsp + 0x80]
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 0x1401453e0
imul rax, rax, 0xf4240
cqo
idiv qword [0x14029b670]
mov rcx, qword [rsp + 0x30]
cmp byte [rcx], 0
mov qword [rcx + 8], rax
jne 0x140145162
mov byte [rcx], 1
jmp 0x140145162
lea rdi, [rsp + 0x80]
mov rcx, rdi
call qword [case.0x1401d7990.0]
mov rax, qword [rdi]
jmp 0x140144ea1
lea rbx, [rsp + 0x80]
mov rcx, rbx
call qword [case.0x1401d7990.0]
mov rax, qword [rbx]
jmp 0x140145120
lea rbx, [rsp + 0x78]
mov rcx, rbx
call qword [case.0x1401d7990.0]
mov rax, qword [rbx]
jmp 0x140145231
lea r8, [rsp + 0xb0]
jmp 0x1401451b5
call fcn.14018c460
movabs rcx, 0x7fffffffffffffff
add rcx, rbx
add rcx, 2
cmp rcx, 2
jae 0x140145387
cmp r14, rbx
je 0x140145407
movabs rdx, 0x7fffffffffffffff
lea rcx, [rdx + 1]
test rbx, rbx
cmovs rcx, rdx
jmp 0x140144ebe
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str.__n___size__
mov r8d, 0x587
call fcn.1401b2820
movabs r9, 0x7fffffffffffffff
add r9, r15
add r9, 2
mov r11, r10
cmp r9, 1
ja 0x140144cff
mov r11, r10
cmp r15, r10
je 0x140144cff
int3
movabs r9, 0x7fffffffffffffff
add r9, r8
add r9, 2
cmp r9, 1
ja 0x140144d45
cmp r8, rsi
je 0x140144d45
int3
mov rcx, qword [0x14029b670]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140144ea1
xor ecx, ecx
cmp r14, rbx
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
mov rcx, r14
sub rcx, rbx
cmovo rcx, rdx
jmp 0x140144ebe
mov rcx, qword [0x14029b670]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140145120
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 8]
jmp 0x140145162
mov rcx, qword [0x14029b670]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140145231
int3