Function at 0x1400632b0
Capabilities:
Get number of processors

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov r15d, r9d
mov r14d, edx
mov r13, rcx
mov rax, qword [rcx]
xor r14b, 1
movabs rcx, 0x9e3779b97f4a7c15
mov r9, r13
imul r9, rcx
cmp r15d, 0x3b9aca00
setne r10b
mov r11d, 1
mov esi, 9
xor edx, edx
cmp rax, 0x10
setb cl
test al, 8
je 0x14006330c
or cl, r14b
jne 0x140063350
xor ecx, ecx
mov rbp, rax
add rbp, 0x10
jb 0x140063ada
lock cmpxchg qword [r13], rbp
je 0x140063aa3
cmp ecx, 9
cmovae ecx, esi
mov eax, 2
shl eax, cl
pause
dec eax
jne 0x140063334
inc ecx
mov rax, qword [r13]
cmp rax, 0x10
setb bl
test al, 8
je 0x14006330e
or bl, r14b
je 0x14006330e
test al, 3
jne 0x140063359
cmp edx, 9
jbe 0x1400633ab
test al, 1
jne 0x14006336c
mov rcx, rax
or rcx, 1
lock cmpxchg qword [r13], rcx
jne 0x1400632fc
mov byte [rsp + 0x2f], r10b
mov qword [rsp + 0x88], 0
mov eax, dword [0x1400aa374]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x60], 0
mov qword [rsp + 0x38], r8
je 0x1400633d9
lea r10, [rax + 0x58]
jmp 0x140063456
mov byte [rsp + 0x2f], r10b
mov qword [rsp + 0x38], r8
lea esi, [rdx + 1]
cmp edx, 2
ja 0x140063572
mov eax, 1
pause
mov edx, eax
mov ecx, esi
shr edx, cl
inc eax
test edx, edx
je 0x1400633c6
jmp 0x140063829
xor ecx, ecx
mov rsi, r9
call fcn.1400566e0
mov r11d, 1
mov r9, rsi
mov r10, rax
test rax, rax
jne 0x140063456
cmp qword [rsp + 0x88], 0
lea r10, [rsp + 0x80]
jne 0x140063456
lea rcx, [rsp + 0x48]
call fcn.140056af0
mov r11d, 1
mov r9, rsi
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rsp + 0x48]
movups xmm1, xmmword [rsp + 0x58]
movups xmm2, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
lea r10, [rsp + 0x80]
mov qword [rsp + 0x30], r10
mov rbx, qword [0x1400aa560]
test rbx, rbx
je 0x1400634d4
mov al, byte [rbx + 0x18]
xor ecx, ecx
sub cl, al
mov rbp, r9
shr rbp, cl
mov rdx, qword [rbx + 8]
cmp rbp, rdx
jae 0x140063abc
mov rdi, qword [rbx]
shl rbp, 6
lea rsi, [rdi + rbp]
xor eax, eax
lock cmpxchg qword [rdi + rbp], r11
jne 0x1400634f2
mov rax, qword [0x1400aa560]
cmp rbx, rax
je 0x14006350d
mov rax, 0xffffffffffffffff
lock xadd qword [rsi], rax
cmp rax, 4
jb 0x14006345b
and eax, 2
jne 0x14006345b
mov rcx, rsi
mov rsi, r9
call fcn.140064460
mov r10, qword [rsp + 0x30]
mov r11d, 1
mov r9, rsi
jmp 0x14006345b
mov rsi, r9
call fcn.1400642a0
mov r10, qword [rsp + 0x30]
mov r11d, 1
mov r9, rsi
mov rbx, rax
jmp 0x140063467
mov rcx, rsi
mov r12, r9
call fcn.140064300
mov r10, qword [rsp + 0x30]
mov r11d, 1
mov r9, r12
jmp 0x140063496
mov rax, qword [r13]
not eax
test al, 9
jne 0x14006354d
mov al, byte [rsp + 0x2f]
mov byte [r10 + 0x30], al
mov qword [r10 + 0x18], 0
mov qword [r10 + 0x10], r13
mov qword [r10 + 0x28], 0x10
mov qword [r10], 1
cmp qword [rdi + rbp + 8], 0
je 0x14006358a
mov rax, qword [rdi + rbp + 0x10]
add rax, 0x18
jmp 0x140063592
mov rax, 0xffffffffffffffff
lock xadd qword [rsi], rax
mov ebx, 1
cmp rax, 4
jb 0x14006356d
and eax, 2
je 0x140063843
jmp 0x1400637fb
xor ecx, ecx
mov rdi, r9
call sub.KERNEL32.dll_Sleep
mov r11d, 1
mov r9, rdi
jmp 0x140063829
lea rax, [rdi + rbp]
add rax, 8
mov qword [rax], r10
mov qword [rdi + rbp + 0x10], r10
mov rax, 0xffffffffffffffff
lock xadd qword [rsi], rax
cmp rax, 4
jb 0x1400635b5
and eax, 2
je 0x14006385c
mov rsi, qword [r10 + 8]
mov rax, qword [rsi]
cmp r15d, 0x3b9aca00
mov qword [rsp + 0x40], r9
jne 0x14006361b
test rax, rax
je 0x140063707
mov rax, qword [r10]
test rax, rax
lea rdi, [rsp + 0x48]
je 0x1400637ea
mov qword [rsp + 0x48], 1
mov rax, qword [rsi + 8]
mov r8d, 8
mov rcx, r10
mov rdx, rdi
mov r9d, 0xffffffff
call qword [case.0x1400577ee.0]
mov r10, qword [rsp + 0x30]
mov rax, qword [r10]
test rax, rax
jne 0x1400635e4
jmp 0x1400637ea
test rax, rax
je 0x140063717
mov rax, qword [r10]
test rax, rax
je 0x1400637ea
call fcn.140016770
mov r10, qword [rsp + 0x30]
xor ebp, ebp
cmp rax, qword [rsp + 0x38]
setne bpl
mov ebx, 0xff
cmova ebp, ebx
xor ecx, ecx
mov edi, r15d
cmp edx, r15d
setne cl
cmova ecx, ebx
test bpl, bpl
cmovne ecx, ebp
test cl, cl
mov r11d, 1
je 0x1400638d3
movzx ecx, cl
cmp ecx, 0xff
je 0x1400638d3
mov r9d, edx
mov rcx, qword [rsp + 0x38]
mov r15d, edi
mov edx, edi
mov r8, rax
call fcn.140016af0
mov ebp, edx
mov ecx, 0x3e8
mul rcx
jo 0x1400636d4
mov rcx, rax
mov eax, ebp
add rax, 0xf423f
movabs rdx, 0x431bde82d7b634db
mul rdx
shr rdx, 0x12
lea r9, [rcx + rdx]
mov eax, 0xffffffff
cmp r9, rax
jb 0x1400636cf
mov r9d, 0xffffffff
add rcx, rdx
jae 0x1400636da
mov r9d, 0xffffffff
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x48], 1
mov rax, qword [rsi + 8]
mov r8d, 8
lea rdx, [rsp + 0x48]
call qword [case.0x1400577ee.0]
mov r10, qword [rsp + 0x30]
jmp 0x140063624
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x18]
mov rdx, r10
jmp 0x1400637d9
call fcn.140016770
xor ebp, ebp
cmp rax, qword [rsp + 0x38]
setne bpl
mov ebx, 0xff
cmova ebp, ebx
xor ecx, ecx
cmp edx, r15d
setne cl
cmova ecx, ebx
test bpl, bpl
cmovne ecx, ebp
cmp cl, 0xff
je 0x14006374c
movzx ecx, cl
test ecx, ecx
jne 0x14006378c
mov edi, r15d
mov eax, 2
mov r10, qword [rsp + 0x30]
xchg qword [r10], rax
test rax, rax
mov r11d, 1
jne 0x1400638d3
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x18]
mov rdx, r10
xor r8d, r8d
xor r9d, r9d
call qword [case.0x1400577ee.0]
mov r10, qword [rsp + 0x30]
mov r15d, edi
jmp 0x1400637ea
mov r9d, edx
mov rcx, qword [rsp + 0x38]
mov edx, r15d
mov r8, rax
call fcn.140016af0
imul rcx, rax, 0xffffffffff676980
jo 0x1400637cc
mov eax, edx
add rax, 0x63
shr rax, 2
movabs rdx, 0x28f5c28f5c28f5c3
mul rdx
shr rdx, 2
sub rcx, rdx
jno 0x140063874
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x18]
mov rdx, qword [rsp + 0x30]
xor r8d, r8d
xor r9d, r9d
call qword [case.0x1400577ee.0]
mov r10, qword [rsp + 0x30]
mov rax, qword [r10 + 0x20]
xor ebx, ebx
mov r9, qword [rsp + 0x40]
mov r11d, 1
cmp qword [rsp + 0x88], 0
je 0x14006380e
lock dec qword [0x1400aa558]
xor esi, esi
test rbx, rbx
je 0x14006381f
cmp ebx, 1
je 0x140063829
jmp 0x140063aa6
cmp rax, 1
je 0x140063aa3
mov rax, qword [r13]
mov edx, esi
mov r8, qword [rsp + 0x38]
mov r10b, byte [rsp + 0x2f]
mov esi, 9
jmp 0x1400632fc
mov rcx, rsi
mov rsi, r9
call fcn.140064460
mov r11d, 1
mov r9, rsi
jmp 0x14006356d
mov rcx, rsi
mov rsi, r9
call fcn.140064460
mov r10, qword [rsp + 0x30]
mov r9, rsi
jmp 0x1400635b5
mov qword [rsp + 0x48], rcx
mov rbx, qword [rsi + 8]
mov rsi, qword [rsi + 0x18]
mov rcx, rbx
mov rdx, qword [rsp + 0x30]
xor r8d, r8d
lea r9, [rsp + 0x48]
mov rax, rsi
call qword [case.0x1400577ee.0]
test eax, eax
je 0x1400637e5
mov eax, 2
mov r10, qword [rsp + 0x30]
xchg qword [r10], rax
test rax, rax
je 0x1400638b9
mov edi, r15d
jmp 0x1400638cd
mov rcx, rbx
mov rdx, r10
xor r8d, r8d
xor r9d, r9d
mov rax, rsi
jmp 0x1400637df
mov r11d, 1
mov r15, qword [0x1400aa560]
test r15, r15
je 0x140063950
mov rbx, qword [r10 + 0x10]
mov rsi, rbx
movabs rax, 0x9e3779b97f4a7c15
imul rsi, rax
mov al, byte [r15 + 0x18]
xor ecx, ecx
sub cl, al
shr rsi, cl
mov rdx, qword [r15 + 8]
cmp rsi, rdx
jae 0x140063acb
mov r12, qword [r15]
shl rsi, 6
lea rbp, [r12 + rsi]
xor eax, eax
lock cmpxchg qword [r12 + rsi], r11
jne 0x140063968
mov rax, qword [0x1400aa560]
cmp r15, rax
jne 0x140063936
mov rax, qword [r10 + 0x10]
cmp rax, rbx
je 0x14006398f
mov rax, 0xffffffffffffffff
lock xadd qword [rbp], rax
cmp rax, 4
jb 0x1400638d3
and eax, 2
jne 0x1400638d3
jmp 0x14006397d
call fcn.1400642a0
mov r10, qword [rsp + 0x30]
mov r11d, 1
mov r15, rax
jmp 0x1400638df
mov rcx, rbp
call fcn.140064300
mov r10, qword [rsp + 0x30]
mov r11d, 1
jmp 0x140063921
mov rcx, rbp
call fcn.140064460
mov r10, qword [rsp + 0x30]
jmp 0x1400638cd
mov rax, qword [r10 + 8]
cmp qword [rax], 0
mov rax, qword [r10]
mov r15d, edi
je 0x1400639eb
test rax, rax
mov r9, qword [rsp + 0x40]
je 0x1400639f6
mov rdx, qword [r12 + rsi + 8]
test rdx, rdx
je 0x140063a66
cmp rdx, r10
je 0x140063a23
mov al, 1
mov rcx, rdx
mov rdi, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x18]
test rdx, rdx
je 0x140063a66
cmp rdi, rbx
movzx eax, al
mov edi, 0
cmove eax, edi
cmp rdx, r10
jne 0x1400639be
lea rdi, [rcx + 0x18]
jmp 0x140063a2f
cmp rax, 2
mov r9, qword [rsp + 0x40]
je 0x1400639a9
mov rax, 0xffffffffffffffff
lock xadd qword [rbp], rax
cmp rax, 4
jb 0x1400637ea
and eax, 2
jne 0x1400637ea
mov rcx, rbp
call fcn.140064460
jmp 0x1400637e5
lea rdi, [r12 + rsi]
add rdi, 8
mov al, 1
xor ecx, ecx
mov rdx, qword [r10 + 0x18]
mov qword [rdi], rdx
cmp qword [r12 + rsi + 0x10], r10
je 0x140063a51
test rdx, rdx
je 0x140063a5c
mov rcx, qword [rdx + 0x10]
cmp rcx, rbx
je 0x140063a66
mov rdx, qword [rdx + 0x18]
jmp 0x140063a3d
lea rdx, [r12 + rsi]
add rdx, 0x10
mov qword [rdx], rcx
test al, 1
je 0x140063a66
lock and qword [r13], 0xfffffffffffffffe
mov rax, 0xffffffffffffffff
lock xadd qword [rbp], rax
mov ebx, 2
cmp rax, 4
jb 0x14006356d
and eax, 2
jne 0x14006356d
mov rcx, rbp
call fcn.140064460
mov r11d, 1
mov r9, qword [rsp + 0x40]
jmp 0x14006356d
mov sil, 1
mov eax, esi
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._builds_worker_checkouts_gecko_third_party_rust_parking_lot_core_src_parking_lot.rs
mov rcx, rbp
call fcn.140059460
lea r8, str._builds_worker_checkouts_gecko_third_party_rust_parking_lot_core_src_parking_lot.rs
mov rcx, rsi
call fcn.140059460
lea rcx, str.RwLock_reader_count_overflow_builds_worker_checkouts_gecko_third_party_rust_parking_lot_src_raw_rwlock.rs
lea r8, [0x14006dfa0]
mov edx, 0x1c
call fcn.140059320
int3