Function at 0x140062c80
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 0x140062cdc
or cl, r14b
jne 0x140062d20
xor ecx, ecx
mov rbp, rax
add rbp, 0x10
jb 0x1400634aa
lock cmpxchg qword [r13], rbp
je 0x140063473
cmp ecx, 9
cmovae ecx, esi
mov eax, 2
shl eax, cl
pause
dec eax
jne 0x140062d04
inc ecx
mov rax, qword [r13]
cmp rax, 0x10
setb bl
test al, 8
je 0x140062cde
or bl, r14b
je 0x140062cde
test al, 3
jne 0x140062d29
cmp edx, 9
jbe 0x140062d7b
test al, 1
jne 0x140062d3c
mov rcx, rax
or rcx, 1
lock cmpxchg qword [r13], rcx
jne 0x140062ccc
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 0x140062da9
lea r10, [rax + 0x58]
jmp 0x140062e26
mov byte [rsp + 0x2f], r10b
mov qword [rsp + 0x38], r8
lea esi, [rdx + 1]
cmp edx, 2
ja 0x140062f42
mov eax, 1
pause
mov edx, eax
mov ecx, esi
shr edx, cl
inc eax
test edx, edx
je 0x140062d96
jmp 0x1400631f9
xor ecx, ecx
mov rsi, r9
call fcn.140056730
mov r11d, 1
mov r9, rsi
mov r10, rax
test rax, rax
jne 0x140062e26
cmp qword [rsp + 0x88], 0
lea r10, [rsp + 0x80]
jne 0x140062e26
lea rcx, [rsp + 0x48]
call fcn.140056b40
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 0x140062ea4
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 0x14006348c
mov rdi, qword [rbx]
shl rbp, 6
lea rsi, [rdi + rbp]
xor eax, eax
lock cmpxchg qword [rdi + rbp], r11
jne 0x140062ec2
mov rax, qword [0x1400aa560]
cmp rbx, rax
je 0x140062edd
mov rax, 0xffffffffffffffff
lock xadd qword [rsi], rax
cmp rax, 4
jb 0x140062e2b
and eax, 2
jne 0x140062e2b
mov rcx, rsi
mov rsi, r9
call fcn.140063e30
mov r10, qword [rsp + 0x30]
mov r11d, 1
mov r9, rsi
jmp 0x140062e2b
mov rsi, r9
call fcn.140063c70
mov r10, qword [rsp + 0x30]
mov r11d, 1
mov r9, rsi
mov rbx, rax
jmp 0x140062e37
mov rcx, rsi
mov r12, r9
call fcn.140063cd0
mov r10, qword [rsp + 0x30]
mov r11d, 1
mov r9, r12
jmp 0x140062e66
mov rax, qword [r13]
not eax
test al, 9
jne 0x140062f1d
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 0x140062f5a
mov rax, qword [rdi + rbp + 0x10]
add rax, 0x18
jmp 0x140062f62
mov rax, 0xffffffffffffffff
lock xadd qword [rsi], rax
mov ebx, 1
cmp rax, 4
jb 0x140062f3d
and eax, 2
je 0x140063213
jmp 0x1400631cb
xor ecx, ecx
mov rdi, r9
call sub.KERNEL32.dll_Sleep
mov r11d, 1
mov r9, rdi
jmp 0x1400631f9
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 0x140062f85
and eax, 2
je 0x14006322c
mov rsi, qword [r10 + 8]
mov rax, qword [rsi]
cmp r15d, 0x3b9aca00
mov qword [rsp + 0x40], r9
jne 0x140062feb
test rax, rax
je 0x1400630d7
mov rax, qword [r10]
test rax, rax
lea rdi, [rsp + 0x48]
je 0x1400631ba
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.0x14005783e.0]
mov r10, qword [rsp + 0x30]
mov rax, qword [r10]
test rax, rax
jne 0x140062fb4
jmp 0x1400631ba
test rax, rax
je 0x1400630e7
mov rax, qword [r10]
test rax, rax
je 0x1400631ba
call fcn.1400166e0
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 0x1400632a3
movzx ecx, cl
cmp ecx, 0xff
je 0x1400632a3
mov r9d, edx
mov rcx, qword [rsp + 0x38]
mov r15d, edi
mov edx, edi
mov r8, rax
call fcn.140016a60
mov ebp, edx
mov ecx, 0x3e8
mul rcx
jo 0x1400630a4
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 0x14006309f
mov r9d, 0xffffffff
add rcx, rdx
jae 0x1400630aa
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.0x14005783e.0]
mov r10, qword [rsp + 0x30]
jmp 0x140062ff4
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x18]
mov rdx, r10
jmp 0x1400631a9
call fcn.1400166e0
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 0x14006311c
movzx ecx, cl
test ecx, ecx
jne 0x14006315c
mov edi, r15d
mov eax, 2
mov r10, qword [rsp + 0x30]
xchg qword [r10], rax
test rax, rax
mov r11d, 1
jne 0x1400632a3
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x18]
mov rdx, r10
xor r8d, r8d
xor r9d, r9d
call qword [case.0x14005783e.0]
mov r10, qword [rsp + 0x30]
mov r15d, edi
jmp 0x1400631ba
mov r9d, edx
mov rcx, qword [rsp + 0x38]
mov edx, r15d
mov r8, rax
call fcn.140016a60
imul rcx, rax, 0xffffffffff676980
jo 0x14006319c
mov eax, edx
add rax, 0x63
shr rax, 2
movabs rdx, 0x28f5c28f5c28f5c3
mul rdx
shr rdx, 2
sub rcx, rdx
jno 0x140063244
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x18]
mov rdx, qword [rsp + 0x30]
xor r8d, r8d
xor r9d, r9d
call qword [case.0x14005783e.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 0x1400631de
lock dec qword [0x1400aa558]
xor esi, esi
test rbx, rbx
je 0x1400631ef
cmp ebx, 1
je 0x1400631f9
jmp 0x140063476
cmp rax, 1
je 0x140063473
mov rax, qword [r13]
mov edx, esi
mov r8, qword [rsp + 0x38]
mov r10b, byte [rsp + 0x2f]
mov esi, 9
jmp 0x140062ccc
mov rcx, rsi
mov rsi, r9
call fcn.140063e30
mov r11d, 1
mov r9, rsi
jmp 0x140062f3d
mov rcx, rsi
mov rsi, r9
call fcn.140063e30
mov r10, qword [rsp + 0x30]
mov r9, rsi
jmp 0x140062f85
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.0x14005783e.0]
test eax, eax
je 0x1400631b5
mov eax, 2
mov r10, qword [rsp + 0x30]
xchg qword [r10], rax
test rax, rax
je 0x140063289
mov edi, r15d
jmp 0x14006329d
mov rcx, rbx
mov rdx, r10
xor r8d, r8d
xor r9d, r9d
mov rax, rsi
jmp 0x1400631af
mov r11d, 1
mov r15, qword [0x1400aa560]
test r15, r15
je 0x140063320
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 0x14006349b
mov r12, qword [r15]
shl rsi, 6
lea rbp, [r12 + rsi]
xor eax, eax
lock cmpxchg qword [r12 + rsi], r11
jne 0x140063338
mov rax, qword [0x1400aa560]
cmp r15, rax
jne 0x140063306
mov rax, qword [r10 + 0x10]
cmp rax, rbx
je 0x14006335f
mov rax, 0xffffffffffffffff
lock xadd qword [rbp], rax
cmp rax, 4
jb 0x1400632a3
and eax, 2
jne 0x1400632a3
jmp 0x14006334d
call fcn.140063c70
mov r10, qword [rsp + 0x30]
mov r11d, 1
mov r15, rax
jmp 0x1400632af
mov rcx, rbp
call fcn.140063cd0
mov r10, qword [rsp + 0x30]
mov r11d, 1
jmp 0x1400632f1
mov rcx, rbp
call fcn.140063e30
mov r10, qword [rsp + 0x30]
jmp 0x14006329d
mov rax, qword [r10 + 8]
cmp qword [rax], 0
mov rax, qword [r10]
mov r15d, edi
je 0x1400633bb
test rax, rax
mov r9, qword [rsp + 0x40]
je 0x1400633c6
mov rdx, qword [r12 + rsi + 8]
test rdx, rdx
je 0x140063436
cmp rdx, r10
je 0x1400633f3
mov al, 1
mov rcx, rdx
mov rdi, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x18]
test rdx, rdx
je 0x140063436
cmp rdi, rbx
movzx eax, al
mov edi, 0
cmove eax, edi
cmp rdx, r10
jne 0x14006338e
lea rdi, [rcx + 0x18]
jmp 0x1400633ff
cmp rax, 2
mov r9, qword [rsp + 0x40]
je 0x140063379
mov rax, 0xffffffffffffffff
lock xadd qword [rbp], rax
cmp rax, 4
jb 0x1400631ba
and eax, 2
jne 0x1400631ba
mov rcx, rbp
call fcn.140063e30
jmp 0x1400631b5
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 0x140063421
test rdx, rdx
je 0x14006342c
mov rcx, qword [rdx + 0x10]
cmp rcx, rbx
je 0x140063436
mov rdx, qword [rdx + 0x18]
jmp 0x14006340d
lea rdx, [r12 + rsi]
add rdx, 0x10
mov qword [rdx], rcx
test al, 1
je 0x140063436
lock and qword [r13], 0xfffffffffffffffe
mov rax, 0xffffffffffffffff
lock xadd qword [rbp], rax
mov ebx, 2
cmp rax, 4
jb 0x140062f3d
and eax, 2
jne 0x140062f3d
mov rcx, rbp
call fcn.140063e30
mov r11d, 1
mov r9, qword [rsp + 0x40]
jmp 0x140062f3d
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.1400591e0
lea r8, str._builds_worker_checkouts_gecko_third_party_rust_parking_lot_core_src_parking_lot.rs
mov rcx, rsi
call fcn.1400591e0
lea rcx, str.RwLock_reader_count_overflow_builds_worker_checkouts_gecko_third_party_rust_parking_lot_src_raw_rwlock.rs
lea r8, [0x14006dee0]
mov edx, 0x1c
call fcn.1400590a0
int3