Function at 0x1400f0270
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 [0x14019d2d0]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov al, 1
cmp qword [rcx + 0x38], 1
ja 0x1400f02b2
call fcn.1400ecd00
mov byte [rbp + 0x2d], al
mov rcx, rdi
call fcn.1400fd030
test rax, rax
je 0x1400f058d
mov qword [rbp - 8], rax
mov rcx, rdi
call fcn.1400fd010
mov rsi, rax
mov rcx, rax
call qword [rdx + 0x18]
test rsi, rsi
je 0x1400f0308
movabs rcx, 0xc1a2c89ccd1e7bc1
xor rax, rcx
movabs rcx, 0xfdbc168100b1ef64
xor rdx, rcx
or rdx, rax
jne 0x1400f0308
mov rax, rsi
add rax, 8
jmp 0x1400f0350
mov rcx, rdi
call fcn.1400fd010
mov rsi, rax
mov rcx, rax
call qword [rdx + 0x18]
mov ecx, 0xc
lea r8, str.Box_dyn_Any__unnamed_
test rsi, rsi
je 0x1400f0356
movabs r9, 0x73dc66b25bbe7784
xor rax, r9
movabs r9, 0x4899d36ecce67f78
xor rdx, r9
or rdx, rax
jne 0x1400f0356
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.1400ef0f0
mov rsi, rax
mov qword [rbp + 8], rax
mov eax, 9
lea rcx, [0x14017860c]
test rsi, rsi
je 0x1400f038e
mov rdx, qword [rsi + 0x18]
test rdx, rdx
je 0x1400f038e
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 [0x14019d180]
test al, al
je 0x1400f03f6
mov byte [0x14019d180], 1
mov qword [rbp + 0x20], 0
mov eax, dword [0x14019d2d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x60], 0
je 0x1400f0403
lea rax, [rax + 0x68]
jmp 0x1400f0413
mov qword [rbp + 0x10], 0
jmp 0x1400f04c5
xor ecx, ecx
call fcn.1400f1de0
test rax, rax
je 0x1400f05a7
mov rdi, qword [rax]
mov qword [rax], 0
mov qword [rbp + 0x10], rdi
test rdi, rdi
je 0x1400f04c5
mov qword [rbp - 0x10], rdi
lea rsi, [rdi + 0x10]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x14019d210]
shl rax, 1
test rax, rax
mov qword [rbp], rsi
jne 0x1400f0568
mov dword [rbp + 0x1c], 0
movzx eax, byte [rdi + 0x18]
lea rdx, [rdi + 0x20]
lea r8, fcn.1400e7780
lea rcx, [rbp - 0x50]
call fcn.1400f0750
cmp byte [rbp + 0x1c], 0
jne 0x1400f048a
mov rax, qword [0x14019d210]
shl rax, 1
test rax, rax
jne 0x1400f0577
mov rcx, qword [rbp]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov byte [0x14019d180], 1
mov qword [rbp + 0x20], rdi
mov eax, dword [0x14019d2d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x60], 0
je 0x1400f04f1
lea rax, [rax + 0x68]
jmp 0x1400f0501
mov byte [rbp + 0x24], 0
mov dword [rbp + 0x20], 0
mov byte [rbp + 0x2e], 0
lea r8, [0x140178668]
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x20]
call fcn.1400f0750
xor edi, edi
test rsi, rsi
jne 0x1400f052b
jmp 0x1400f053a
xor ecx, ecx
call fcn.1400f1de0
test rax, rax
je 0x1400f05d1
mov rcx, qword [rax]
mov qword [rax], rdi
mov qword [rbp + 0x20], rcx
test rcx, rcx
je 0x1400f051f
lock dec qword [rcx]
jne 0x1400f051f
lea rcx, [rbp + 0x20]
call fcn.1400e8d80
mov dil, 1
mov rsi, qword [rbp + 8]
test rsi, rsi
je 0x1400f053a
lock dec qword [rsi]
jne 0x1400f053a
lea rcx, [rbp + 8]
call fcn.1400e8d20
mov rax, qword [rbp + 0x10]
test rax, rax
setne cl
not dil
test dil, cl
je 0x1400f055b
lock dec qword [rax]
jne 0x1400f055b
lea rcx, [rbp + 0x10]
call fcn.1400e8d80
nop
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop rbp
ret
call fcn.140108490
xor al, 1
mov dword [rbp + 0x1c], eax
jmp 0x1400f0459
call fcn.140108490
test al, al
jne 0x1400f048a
mov byte [rdi + 0x18], 1
jmp 0x1400f048a
lea rcx, [0x140177000]
lea r8, str.library_std_srcpanicking.rs
mov edx, 0x2b
call fcn.1401092c0
ud2
lea rax, [0x140177d68]
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, [0x140177368]
lea r8, [rbp + 0x20]
mov edx, 0x46
call fcn.1401095f0
jmp 0x1400f060c
lock dec qword [rdi]
jne 0x1400f05e0
lea rcx, [rbp + 0x20]
call fcn.1400e8d80
mov byte [rbp + 0x2f], 0
lea rax, [0x140177d68]
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, [0x140177368]
lea r8, [rbp + 0x20]
mov edx, 0x46
call fcn.1401095f0
ud2