Function at 0x1400bbeb0
Capabilities:
Get number of processors

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], 0xfffffffffffffffe
mov rdi, rcx
mov eax, dword [0x140122328]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov al, 1
cmp qword [rcx + 0x20], 1
ja 0x1400bbef2
call fcn.1400b6fe0
mov byte [rbp + 0x2d], al
mov rcx, rdi
call fcn.1400cfe00
test rax, rax
je 0x1400bc1cd
mov qword [rbp - 8], rax
mov rcx, rdi
call fcn.1400cfde0
mov rsi, rax
mov rcx, rax
call qword [rdx + 0x18]
test rsi, rsi
je 0x1400bbf48
movabs rcx, 0xc1a2c89ccd1e7bc1
xor rax, rcx
movabs rcx, 0xfdbc168100b1ef64
xor rdx, rcx
or rdx, rax
jne 0x1400bbf48
mov rax, rsi
add rax, 8
jmp 0x1400bbf90
mov rcx, rdi
call fcn.1400cfde0
mov rsi, rax
mov rcx, rax
call qword [rdx + 0x18]
mov ecx, 0xc
lea r8, str.Box_dyn_Any__unnamed_
test rsi, rsi
je 0x1400bbf96
movabs r9, 0x73dc66b25bbe7784
xor rax, r9
movabs r9, 0x4899d36ecce67f78
xor rdx, r9
or rdx, rax
jne 0x1400bbf96
mov rax, rsi
add rax, 0x10
mov r8, qword [rsi]
mov rcx, qword [rax]
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], rcx
call fcn.1400bad30
mov rsi, rax
mov qword [rbp + 8], rax
mov eax, 9
lea rcx, [0x1400f2144]
test rsi, rsi
je 0x1400bbfce
mov rdx, qword [rsi + 0x18]
test rdx, rdx
je 0x1400bbfce
mov rax, qword [rsi + 0x20]
dec rax
mov rcx, rdx
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
lea rax, [rbp - 0x30]
mov qword [rbp - 0x50], rax
lea rax, [rbp - 8]
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x20]
mov qword [rbp - 0x40], rax
lea rax, [rbp + 0x2d]
mov qword [rbp - 0x38], rax
movzx eax, byte [0x1401221b0]
test al, al
je 0x1400bc036
mov byte [0x1401221b0], 1
mov qword [rbp + 0x20], 0
mov eax, dword [0x140122328]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x60], 0
je 0x1400bc043
lea rax, [rax + 0x68]
jmp 0x1400bc053
mov qword [rbp + 0x10], 0
jmp 0x1400bc105
xor ecx, ecx
call fcn.1400bda60
test rax, rax
je 0x1400bc1e7
mov rdi, qword [rax]
mov qword [rax], 0
mov qword [rbp + 0x10], rdi
test rdi, rdi
je 0x1400bc105
mov qword [rbp - 0x10], rdi
lea rsi, [rdi + 0x10]
mov rcx, rsi
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x140122270]
shl rax, 1
test rax, rax
mov qword [rbp], rsi
jne 0x1400bc1a8
mov dword [rbp + 0x1c], 0
movzx eax, byte [rdi + 0x18]
lea rdx, [rdi + 0x20]
lea r8, fcn.1400adc80
lea rcx, [rbp - 0x50]
call fcn.1400bc390
cmp byte [rbp + 0x1c], 0
jne 0x1400bc0ca
mov rax, qword [0x140122270]
shl rax, 1
test rax, rax
jne 0x1400bc1b7
mov rcx, qword [rbp]
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov byte [0x1401221b0], 1
mov qword [rbp + 0x20], rdi
mov eax, dword [0x140122328]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x60], 0
je 0x1400bc131
lea rax, [rax + 0x68]
jmp 0x1400bc141
mov byte [rbp + 0x24], 0
mov dword [rbp + 0x20], 0
mov byte [rbp + 0x2e], 0
lea r8, fcn.1400adb40
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x20]
call fcn.1400bc390
xor edi, edi
test rsi, rsi
jne 0x1400bc16b
jmp 0x1400bc17a
xor ecx, ecx
call fcn.1400bda60
test rax, rax
je 0x1400bc211
mov rcx, qword [rax]
mov qword [rax], rdi
mov qword [rbp + 0x20], rcx
test rcx, rcx
je 0x1400bc15f
lock dec qword [rcx]
jne 0x1400bc15f
lea rcx, [rbp + 0x20]
call fcn.1400af630
mov dil, 1
mov rsi, qword [rbp + 8]
test rsi, rsi
je 0x1400bc17a
lock dec qword [rsi]
jne 0x1400bc17a
lea rcx, [rbp + 8]
call fcn.1400af5d0
mov rax, qword [rbp + 0x10]
test rax, rax
setne cl
not dil
test dil, cl
je 0x1400bc19b
lock dec qword [rax]
jne 0x1400bc19b
lea rcx, [rbp + 0x10]
call fcn.1400af630
nop
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop rbp
ret
call fcn.1400daa00
xor al, 1
mov dword [rbp + 0x1c], eax
jmp 0x1400bc099
call fcn.1400daa00
test al, al
jne 0x1400bc0ca
mov byte [rdi + 0x18], 1
jmp 0x1400bc0ca
lea rcx, [0x1400f0460]
lea r8, str.library_std_srcpanicking.rs
mov edx, 0x2b
call fcn.1400db390
ud2
lea rax, [0x1400f1620]
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destructionlibrary_std_src_threadlocal.rs
lea r9, fcn.1400adb40
lea r8, [rbp + 0x20]
mov edx, 0x46
call fcn.1400db700
jmp 0x1400bc24c
lock dec qword [rdi]
jne 0x1400bc220
lea rcx, [rbp + 0x20]
call fcn.1400af630
mov byte [rbp + 0x2f], 0
lea rax, [0x1400f1620]
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destructionlibrary_std_src_threadlocal.rs
lea r9, fcn.1400adb40
lea r8, [rbp + 0x20]
mov edx, 0x46
call fcn.1400db700
ud2