Function at 0x1400633c0
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 0x14006341c
or cl, r14b
jne 0x140063460
xor ecx, ecx
mov rbp, rax
add rbp, 0x10
jb 0x140063bea
lock cmpxchg qword [r13], rbp
je 0x140063bb3
cmp ecx, 9
cmovae ecx, esi
mov eax, 2
shl eax, cl
pause
dec eax
jne 0x140063444
inc ecx
mov rax, qword [r13]
cmp rax, 0x10
setb bl
test al, 8
je 0x14006341e
or bl, r14b
je 0x14006341e
test al, 3
jne 0x140063469
cmp edx, 9
jbe 0x1400634bb
test al, 1
jne 0x14006347c
mov rcx, rax
or rcx, 1
lock cmpxchg qword [r13], rcx
jne 0x14006340c
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 0x1400634e9
lea r10, [rax + 0x58]
jmp 0x140063566
mov byte [rsp + 0x2f], r10b
mov qword [rsp + 0x38], r8
lea esi, [rdx + 1]
cmp edx, 2
ja 0x140063682
mov eax, 1
pause
mov edx, eax
mov ecx, esi
shr edx, cl
inc eax
test edx, edx
je 0x1400634d6
jmp 0x140063939
xor ecx, ecx
mov rsi, r9
call fcn.140056b50
mov r11d, 1
mov r9, rsi
mov r10, rax
test rax, rax
jne 0x140063566
cmp qword [rsp + 0x88], 0
lea r10, [rsp + 0x80]
jne 0x140063566
lea rcx, [rsp + 0x48]
call fcn.140056f60
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 0x1400635e4
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 0x140063bcc
mov rdi, qword [rbx]
shl rbp, 6
lea rsi, [rdi + rbp]
xor eax, eax
lock cmpxchg qword [rdi + rbp], r11
jne 0x140063602
mov rax, qword [0x1400aa560]
cmp rbx, rax
je 0x14006361d
mov rax, 0xffffffffffffffff
lock xadd qword [rsi], rax
cmp rax, 4
jb 0x14006356b
and eax, 2
jne 0x14006356b
mov rcx, rsi
mov rsi, r9
call fcn.140064570
mov r10, qword [rsp + 0x30]
mov r11d, 1
mov r9, rsi
jmp 0x14006356b
mov rsi, r9
call fcn.1400643b0
mov r10, qword [rsp + 0x30]
mov r11d, 1
mov r9, rsi
mov rbx, rax
jmp 0x140063577
mov rcx, rsi
mov r12, r9
call fcn.140064410
mov r10, qword [rsp + 0x30]
mov r11d, 1
mov r9, r12
jmp 0x1400635a6
mov rax, qword [r13]
not eax
test al, 9
jne 0x14006365d
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 0x14006369a
mov rax, qword [rdi + rbp + 0x10]
add rax, 0x18
jmp 0x1400636a2
mov rax, 0xffffffffffffffff
lock xadd qword [rsi], rax
mov ebx, 1
cmp rax, 4
jb 0x14006367d
and eax, 2
je 0x140063953
jmp 0x14006390b
xor ecx, ecx
mov rdi, r9
call sub.KERNEL32.dll_Sleep
mov r11d, 1
mov r9, rdi
jmp 0x140063939
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 0x1400636c5
and eax, 2
je 0x14006396c
mov rsi, qword [r10 + 8]
mov rax, qword [rsi]
cmp r15d, 0x3b9aca00
mov qword [rsp + 0x40], r9
jne 0x14006372b
test rax, rax
je 0x140063817
mov rax, qword [r10]
test rax, rax
lea rdi, [rsp + 0x48]
je 0x1400638fa
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.0x140057c5e.0]
mov r10, qword [rsp + 0x30]
mov rax, qword [r10]
test rax, rax
jne 0x1400636f4
jmp 0x1400638fa
test rax, rax
je 0x140063827
mov rax, qword [r10]
test rax, rax
je 0x1400638fa
call fcn.140016ba0
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 0x1400639e3
movzx ecx, cl
cmp ecx, 0xff
je 0x1400639e3
mov r9d, edx
mov rcx, qword [rsp + 0x38]
mov r15d, edi
mov edx, edi
mov r8, rax
call fcn.140016f20
mov ebp, edx
mov ecx, 0x3e8
mul rcx
jo 0x1400637e4
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 0x1400637df
mov r9d, 0xffffffff
add rcx, rdx
jae 0x1400637ea
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.0x140057c5e.0]
mov r10, qword [rsp + 0x30]
jmp 0x140063734
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x18]
mov rdx, r10
jmp 0x1400638e9
call fcn.140016ba0
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 0x14006385c
movzx ecx, cl
test ecx, ecx
jne 0x14006389c
mov edi, r15d
mov eax, 2
mov r10, qword [rsp + 0x30]
xchg qword [r10], rax
test rax, rax
mov r11d, 1
jne 0x1400639e3
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x18]
mov rdx, r10
xor r8d, r8d
xor r9d, r9d
call qword [case.0x140057c5e.0]
mov r10, qword [rsp + 0x30]
mov r15d, edi
jmp 0x1400638fa
mov r9d, edx
mov rcx, qword [rsp + 0x38]
mov edx, r15d
mov r8, rax
call fcn.140016f20
imul rcx, rax, 0xffffffffff676980
jo 0x1400638dc
mov eax, edx
add rax, 0x63
shr rax, 2
movabs rdx, 0x28f5c28f5c28f5c3
mul rdx
shr rdx, 2
sub rcx, rdx
jno 0x140063984
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x18]
mov rdx, qword [rsp + 0x30]
xor r8d, r8d
xor r9d, r9d
call qword [case.0x140057c5e.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 0x14006391e
lock dec qword [0x1400aa558]
xor esi, esi
test rbx, rbx
je 0x14006392f
cmp ebx, 1
je 0x140063939
jmp 0x140063bb6
cmp rax, 1
je 0x140063bb3
mov rax, qword [r13]
mov edx, esi
mov r8, qword [rsp + 0x38]
mov r10b, byte [rsp + 0x2f]
mov esi, 9
jmp 0x14006340c
mov rcx, rsi
mov rsi, r9
call fcn.140064570
mov r11d, 1
mov r9, rsi
jmp 0x14006367d
mov rcx, rsi
mov rsi, r9
call fcn.140064570
mov r10, qword [rsp + 0x30]
mov r9, rsi
jmp 0x1400636c5
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.0x140057c5e.0]
test eax, eax
je 0x1400638f5
mov eax, 2
mov r10, qword [rsp + 0x30]
xchg qword [r10], rax
test rax, rax
je 0x1400639c9
mov edi, r15d
jmp 0x1400639dd
mov rcx, rbx
mov rdx, r10
xor r8d, r8d
xor r9d, r9d
mov rax, rsi
jmp 0x1400638ef
mov r11d, 1
mov r15, qword [0x1400aa560]
test r15, r15
je 0x140063a60
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 0x140063bdb
mov r12, qword [r15]
shl rsi, 6
lea rbp, [r12 + rsi]
xor eax, eax
lock cmpxchg qword [r12 + rsi], r11
jne 0x140063a78
mov rax, qword [0x1400aa560]
cmp r15, rax
jne 0x140063a46
mov rax, qword [r10 + 0x10]
cmp rax, rbx
je 0x140063a9f
mov rax, 0xffffffffffffffff
lock xadd qword [rbp], rax
cmp rax, 4
jb 0x1400639e3
and eax, 2
jne 0x1400639e3
jmp 0x140063a8d
call fcn.1400643b0
mov r10, qword [rsp + 0x30]
mov r11d, 1
mov r15, rax
jmp 0x1400639ef
mov rcx, rbp
call fcn.140064410
mov r10, qword [rsp + 0x30]
mov r11d, 1
jmp 0x140063a31
mov rcx, rbp
call fcn.140064570
mov r10, qword [rsp + 0x30]
jmp 0x1400639dd
mov rax, qword [r10 + 8]
cmp qword [rax], 0
mov rax, qword [r10]
mov r15d, edi
je 0x140063afb
test rax, rax
mov r9, qword [rsp + 0x40]
je 0x140063b06
mov rdx, qword [r12 + rsi + 8]
test rdx, rdx
je 0x140063b76
cmp rdx, r10
je 0x140063b33
mov al, 1
mov rcx, rdx
mov rdi, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x18]
test rdx, rdx
je 0x140063b76
cmp rdi, rbx
movzx eax, al
mov edi, 0
cmove eax, edi
cmp rdx, r10
jne 0x140063ace
lea rdi, [rcx + 0x18]
jmp 0x140063b3f
cmp rax, 2
mov r9, qword [rsp + 0x40]
je 0x140063ab9
mov rax, 0xffffffffffffffff
lock xadd qword [rbp], rax
cmp rax, 4
jb 0x1400638fa
and eax, 2
jne 0x1400638fa
mov rcx, rbp
call fcn.140064570
jmp 0x1400638f5
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 0x140063b61
test rdx, rdx
je 0x140063b6c
mov rcx, qword [rdx + 0x10]
cmp rcx, rbx
je 0x140063b76
mov rdx, qword [rdx + 0x18]
jmp 0x140063b4d
lea rdx, [r12 + rsi]
add rdx, 0x10
mov qword [rdx], rcx
test al, 1
je 0x140063b76
lock and qword [r13], 0xfffffffffffffffe
mov rax, 0xffffffffffffffff
lock xadd qword [rbp], rax
mov ebx, 2
cmp rax, 4
jb 0x14006367d
and eax, 2
jne 0x14006367d
mov rcx, rbp
call fcn.140064570
mov r11d, 1
mov r9, qword [rsp + 0x40]
jmp 0x14006367d
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.140059600
lea r8, str._builds_worker_checkouts_gecko_third_party_rust_parking_lot_core_src_parking_lot.rs
mov rcx, rsi
call fcn.140059600
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.1400594c0
int3