Function at 0x1400643b0
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 r12d, r9d
mov r15, r8
mov ebx, edx
mov r14, rcx
mov rax, qword [rcx]
movabs rcx, 0x9e3779b97f4a7c15
mov r10, r14
imul r10, rcx
cmp r9d, 0x3b9aca00
setne r13b
mov esi, 9
lea rdi, [rsp + 0x80]
lea rbp, [rsp + 0x48]
mov r11d, 1
xor edx, edx
mov qword [rsp + 0x28], r10
cmp rax, 0x10
setae cl
test al, 8
je 0x14006441b
and cl, bl
je 0x14006446c
xor ecx, ecx
mov r9, r8
mov r8, rax
add r8, 0x10
cmovb r8, r9
jb 0x140064ba2
lock cmpxchg qword [r14], r8
je 0x140064b71
cmp ecx, 9
cmovae ecx, esi
inc ecx
mov eax, 1
pause
mov r9d, eax
shr r9d, cl
inc eax
test r9d, r9d
je 0x140064449
mov rax, qword [r14]
cmp rax, 0x10
setae r9b
test al, 8
je 0x14006441d
and r9b, bl
jne 0x14006441d
test al, 3
jne 0x140064475
cmp edx, 9
jbe 0x1400644cb
test al, 1
jne 0x140064487
mov rcx, rax
or rcx, 1
lock cmpxchg qword [r14], rcx
jne 0x14006440c
mov qword [rsp + 0x88], 0
mov eax, dword [0x1400ab388]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x60], 0
mov qword [rsp + 0x40], r15
mov byte [rsp + 0x27], r13b
je 0x1400644ef
lea rax, [rax + 0x58]
mov qword [rsp + 0x30], rax
jmp 0x140064567
lea ebp, [rdx + 1]
cmp edx, 2
ja 0x14006466f
mov eax, 1
pause
mov edx, eax
mov ecx, ebp
shr edx, cl
inc eax
test edx, edx
je 0x1400644dc
jmp 0x140064a62
xor ecx, ecx
call fcn.140055e00
mov r11d, 1
mov r10, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x140064567
cmp qword [rsp + 0x88], 0
mov qword [rsp + 0x30], rdi
jne 0x140064567
mov rcx, rbp
call fcn.1400562c0
mov r11d, 1
mov r10, qword [rsp + 0x28]
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
mov qword [rsp + 0x30], rdi
mov r15, qword [0x1400ab580]
test r15, r15
je 0x1400645dc
mov al, byte [r15 + 0x18]
xor ecx, ecx
sub cl, al
mov rbp, r10
shr rbp, cl
mov rdx, qword [r15 + 8]
cmp rbp, rdx
jae 0x140064b8a
mov rdi, qword [r15]
shl rbp, 6
lea r13, [rdi + rbp]
xor eax, eax
lock cmpxchg qword [rdi + rbp], r11
jne 0x1400645f1
mov rax, qword [0x1400ab580]
cmp r15, rax
je 0x140064606
mov rax, 0xffffffffffffffff
lock xadd qword [r13], rax
cmp rax, 4
jb 0x140064567
and eax, 2
jne 0x140064567
mov rcx, r13
call fcn.140065530
mov r11d, 1
mov r10, qword [rsp + 0x28]
jmp 0x140064567
call fcn.140065370
mov r11d, 1
mov r10, qword [rsp + 0x28]
mov r15, rax
jmp 0x140064573
mov rcx, r13
call fcn.1400653d0
mov r11d, 1
mov r10, qword [rsp + 0x28]
jmp 0x1400645a3
mov rax, qword [r14]
not eax
test al, 9
jne 0x140064649
mov al, byte [rsp + 0x27]
mov rcx, qword [rsp + 0x30]
mov byte [rcx + 0x30], al
mov qword [rcx + 0x18], 0
mov qword [rcx + 0x10], r14
mov qword [rcx + 0x28], 0x10
mov qword [rcx], 1
cmp qword [rdi + rbp + 8], 0
je 0x140064686
mov rax, qword [rdi + rbp + 0x10]
add rax, 0x18
jmp 0x14006468e
mov rax, 0xffffffffffffffff
lock xadd qword [r13], rax
mov edi, 1
cmp rax, 4
jb 0x14006466a
and eax, 2
je 0x140064af3
jmp 0x140064a2a
xor ecx, ecx
call sub.KERNEL32.dll_Sleep
mov r11d, 1
mov r10, qword [rsp + 0x28]
jmp 0x140064a62
lea rax, [rdi + rbp]
add rax, 8
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
mov qword [rdi + rbp + 0x10], rcx
mov rbp, rcx
mov rax, 0xffffffffffffffff
lock xadd qword [r13], rax
cmp rax, 4
jb 0x1400646ba
and eax, 2
je 0x140064a79
mov r15, qword [rbp + 8]
mov rax, qword [r15]
cmp r12d, 0x3b9aca00
lea rdi, [rsp + 0x48]
mov dword [rsp + 0x3c], r12d
jne 0x140064711
test rax, rax
je 0x1400649fd
mov rax, qword [rbp]
test rax, rax
je 0x140064a14
mov qword [rsp + 0x48], 1
mov rax, qword [r15 + 8]
mov r8d, 8
mov rcx, rbp
mov rdx, rdi
mov r9d, 0xffffffff
call qword [0x1400af010]
jmp 0x1400646dd
test rax, rax
je 0x140064801
mov rax, qword [rbp]
test rax, rax
je 0x140064a14
call fcn.140016970
mov r9d, edx
xor edx, edx
cmp r9d, dword [rsp + 0x3c]
setne dl
mov r8d, 0xff
cmova edx, r8d
xor ecx, ecx
cmp rax, qword [rsp + 0x40]
setne cl
cmova ecx, r8d
cmove ecx, edx
test cl, cl
mov r10, qword [rsp + 0x28]
mov r11d, 1
je 0x140064861
movzx ecx, cl
cmp ecx, 0xff
je 0x140064861
mov rcx, qword [rsp + 0x40]
mov edx, dword [rsp + 0x3c]
mov r8, rax
call fcn.140016cb0
mov ecx, edx
mov edx, 0x3e8
mul rdx
cmovno r12, rax
lea r10, [rsp + 0x48]
jo 0x1400647ca
mov eax, ecx
add rax, 0xf423f
movabs rcx, 0x10c6f7a0b5ee
mul rcx
lea r9, [r12 + rdx]
mov eax, 0xffffffff
cmp r9, rax
jb 0x1400647c5
mov r9d, 0xffffffff
add rdx, r12
jae 0x1400647d0
mov r9d, 0xffffffff
mov qword [rsp + 0x48], 1
mov rax, qword [r15 + 8]
mov r8d, 8
mov rcx, rbp
mov rdx, r10
call qword [0x1400af010]
mov rax, qword [rbp]
test rax, rax
jne 0x140064727
jmp 0x140064a14
call fcn.140016970
mov r9d, edx
xor edx, edx
cmp r9d, r12d
setne dl
mov r10d, 0xff
cmova edx, r10d
xor r8d, r8d
mov rcx, qword [rsp + 0x40]
cmp rax, rcx
setne r8b
cmova r8d, r10d
cmove r8d, edx
cmp r8b, 0xff
je 0x140064844
movzx edx, r8b
test edx, edx
jne 0x1400649cd
mov eax, 2
xchg qword [rbp], rax
test rax, rax
mov r10, qword [rsp + 0x28]
mov r11d, 1
je 0x1400649fd
mov r15, qword [0x1400ab580]
test r15, r15
je 0x14006490a
mov r12, qword [rbp + 0x10]
mov rbp, r12
movabs rax, 0x9e3779b97f4a7c15
imul rbp, rax
mov al, byte [r15 + 0x18]
xor ecx, ecx
sub cl, al
shr rbp, cl
mov rdx, qword [r15 + 8]
cmp rbp, rdx
jae 0x140064b93
mov rdi, qword [r15]
shl rbp, 6
lea r13, [rdi + rbp]
xor eax, eax
lock cmpxchg qword [rdi + rbp], r11
jne 0x140064922
mov rax, qword [0x1400ab580]
cmp r15, rax
jne 0x1400648cd
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
cmp rax, r12
je 0x14006493a
mov rax, 0xffffffffffffffff
lock xadd qword [r13], rax
cmp rax, 4
mov rbp, qword [rsp + 0x30]
jb 0x140064861
and eax, 2
jne 0x140064861
mov rcx, r13
call fcn.140065530
mov r11d, 1
mov r10, qword [rsp + 0x28]
jmp 0x140064861
call fcn.140065370
mov r11d, 1
mov r10, qword [rsp + 0x28]
mov r15, rax
jmp 0x140064871
mov rcx, r13
call fcn.1400653d0
mov r11d, 1
mov r10, qword [rsp + 0x28]
jmp 0x1400648b3
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + 8]
cmp qword [rax], 0
mov rax, qword [rcx]
je 0x1400649a0
test rax, rax
je 0x1400649a6
mov rdx, qword [rdi + rbp + 8]
test rdx, rdx
je 0x140064acd
cmp rdx, qword [rsp + 0x30]
je 0x140064a86
mov al, 1
mov rcx, rdx
mov r8, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x18]
test rdx, rdx
je 0x140064acd
cmp r8, r12
movzx eax, al
mov r8d, 0
cmove eax, r8d
cmp rdx, qword [rsp + 0x30]
jne 0x14006496c
lea r8, [rcx + 0x18]
jmp 0x140064a92
cmp rax, 2
je 0x140064951
mov rax, 0xffffffffffffffff
lock xadd qword [r13], rax
cmp rax, 4
mov rbp, qword [rsp + 0x30]
jb 0x140064a14
and eax, 2
jne 0x140064a14
mov rcx, r13
call fcn.140065530
jmp 0x140064a14
mov edx, r12d
mov r8, rax
call fcn.140016cb0
imul rcx, rax, 0xffffffffff676980
jo 0x1400649fd
mov eax, edx
add rax, 0x63
movabs rdx, 0x28f5c28f5c28f5d
mul rdx
sub rcx, rdx
jno 0x140064b15
mov rcx, qword [r15 + 8]
mov rax, qword [r15 + 0x18]
mov rdx, rbp
xor r8d, r8d
xor r9d, r9d
call qword [0x1400af010]
mov rax, qword [rbp + 0x20]
xor edi, edi
mov r12d, dword [rsp + 0x3c]
mov r10, qword [rsp + 0x28]
mov r11d, 1
cmp qword [rsp + 0x88], 0
mov r13b, byte [rsp + 0x27]
je 0x140064a42
lock dec qword [0x1400ab578]
xor ebp, ebp
test rdi, rdi
mov r15, qword [rsp + 0x40]
je 0x140064a58
cmp edi, 1
je 0x140064a62
jmp 0x140064b74
cmp rax, 1
je 0x140064b71
mov rax, qword [r14]
mov edx, ebp
lea rdi, [rsp + 0x80]
lea rbp, [rsp + 0x48]
jmp 0x14006440c
mov rcx, r13
call fcn.140065530
jmp 0x1400646ba
lea r8, [rdi + rbp]
add r8, 8
mov al, 1
xor ecx, ecx
mov r9, qword [rsp + 0x30]
mov rdx, qword [r9 + 0x18]
mov qword [r8], rdx
cmp qword [rdi + rbp + 0x10], r9
je 0x140064ab9
test rdx, rdx
je 0x140064ac4
mov rcx, qword [rdx + 0x10]
cmp rcx, r12
je 0x140064acd
mov rdx, qword [rdx + 0x18]
jmp 0x140064aa5
lea rdx, [rdi + rbp]
add rdx, 0x10
mov qword [rdx], rcx
test al, 1
je 0x140064acd
lock and qword [r14], 0xfffffffffffffffe
mov rax, 0xffffffffffffffff
lock xadd qword [r13], rax
mov edi, 2
cmp rax, 4
jb 0x140064b0b
and eax, 2
mov r12d, dword [rsp + 0x3c]
jne 0x14006466a
mov rcx, r13
call fcn.140065530
mov r11d, 1
mov r10, qword [rsp + 0x28]
jmp 0x14006466a
mov r12d, dword [rsp + 0x3c]
jmp 0x140064a2a
mov qword [rsp + 0x48], rcx
mov r13, qword [r15 + 8]
mov r15, qword [r15 + 0x18]
mov rcx, r13
mov rdx, rbp
xor r8d, r8d
mov r9, rdi
mov rax, r15
call qword [0x1400af010]
test eax, eax
je 0x140064a14
mov eax, 2
xchg qword [rbp], rax
test rax, rax
je 0x140064b5d
mov r10, qword [rsp + 0x28]
mov r11d, 1
jmp 0x140064861
mov rcx, r13
mov rdx, rbp
xor r8d, r8d
xor r9d, r9d
mov rax, r15
jmp 0x140064a0e
mov bpl, 1
mov eax, ebp
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
jmp 0x140064b9a
lea r8, str._builds_worker_checkouts_gecko_third_party_rust_parking_lot_core_src_parking_lot.rs
mov rcx, rbp
call fcn.140058980
lea rcx, str.RwLock_reader_count_overflow_builds_worker_checkouts_gecko_third_party_rust_parking_lot_src_raw_rwlock.rs
lea r8, [0x14006f118]
mov edx, 0x1c
call fcn.140058820
int3