Function at 0x1400af980
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 [0x14014b3f0]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov al, 1
cmp qword [rcx + 0x20], 1
ja 0x1400af9c2
call fcn.1400ac180
mov byte [rbp + 0x2c], al
mov rcx, rdi
call fcn.1400c0e60
test rax, rax
je 0x1400afc6c
mov qword [rbp - 0x10], rax
mov rcx, rdi
call fcn.1400c0e40
mov rsi, rax
mov rcx, rax
call qword [rdx + 0x18]
test rsi, rsi
je 0x1400afa18
movabs rcx, 0xc1a2c89ccd1e7bc1
xor rax, rcx
movabs rcx, 0xfdbc168100b1ef64
xor rdx, rcx
or rdx, rax
jne 0x1400afa18
mov rax, rsi
add rax, 8
jmp 0x1400afa60
mov rcx, rdi
call fcn.1400c0e40
mov rsi, rax
mov rcx, rax
call qword [rdx + 0x18]
mov ecx, recv
lea r8, str.Box_dyn_Any__unnamed_
test rsi, rsi
je 0x1400afa66
movabs r9, 0x73d14cf02b20a5ae
xor rax, r9
movabs r9, 0x6992933a81e742e6
xor rdx, r9
or rdx, rax
jne 0x1400afa66
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.1400aed30
mov r8d, 9
lea rcx, [0x14012aa54]
test rax, rax
je 0x1400afa98
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x1400afa98
mov r8, qword [rax + 0x20]
dec r8
mov rcx, rdx
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], r8
lea rcx, [rbp - 0x30]
mov qword [rbp - 0x50], rcx
lea rcx, [rbp - 0x20]
mov qword [rbp - 0x48], rcx
lea rcx, [rbp - 0x10]
mov qword [rbp - 0x40], rcx
lea rcx, [rbp + 0x2c]
mov qword [rbp - 0x38], rcx
movzx ecx, byte [0x14014b278]
test cl, cl
mov qword [rbp + 8], rax
je 0x1400afbc0
mov byte [0x14014b278], 1
mov eax, dword [0x14014b3f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x60], 0
je 0x1400afb00
lea rax, [rax + 0x68]
jmp 0x1400afb10
xor ecx, ecx
call fcn.1400b1570
test rax, rax
je 0x1400afc86
mov rsi, qword [rax]
mov qword [rax], 0
test rsi, rsi
je 0x1400afbc0
lea rdi, [rsi + 0x10]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x14014b338]
shl rax, 1
test rax, rax
mov qword [rbp - 8], rdi
jne 0x1400afc43
mov dword [rbp + 0x14], 0
movzx eax, byte [rsi + 0x18]
mov qword [rbp + 0x20], rsi
lea rdx, [rsi + 0x20]
lea r8, fcn.1400a55f0
lea rcx, [rbp - 0x50]
call fcn.1400afe70
cmp byte [rbp + 0x14], 0
jne 0x1400afb85
mov rax, qword [0x14014b338]
shl rax, 1
test rax, rax
jne 0x1400afc52
mov rcx, qword [rbp - 8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov byte [0x14014b278], 1
mov eax, dword [0x14014b3f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x60], 0
mov rsi, qword [rbp + 8]
je 0x1400afc13
lea rax, [rax + 0x68]
jmp 0x1400afc27
mov byte [rbp + 0x1c], 0
mov dword [rbp + 0x18], 0
mov byte [rbp + 0x2e], 1
mov qword [rbp], 0
mov byte [rbp + 0x2d], 0
lea r8, fcn.1400a5480
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x18]
call fcn.1400afe70
mov rsi, qword [rbp + 8]
test rsi, rsi
je 0x1400afc06
lock dec qword [rsi]
jne 0x1400afc06
mov rcx, rsi
call fcn.1400a6d00
nop
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop rbp
ret
xor ecx, ecx
call fcn.1400b1570
test rax, rax
mov rsi, qword [rbp + 8]
je 0x1400afcb0
mov rcx, qword [rax]
mov rdx, qword [rbp + 0x20]
mov qword [rax], rdx
test rcx, rcx
je 0x1400afbf3
lock dec qword [rcx]
jne 0x1400afbf3
call fcn.1400a6cb0
jmp 0x1400afbf3
call fcn.1400d4ca0
xor al, 1
mov dword [rbp + 0x14], eax
jmp 0x1400afb4f
call fcn.1400d4ca0
test al, al
jne 0x1400afb85
mov rax, qword [rbp + 0x20]
mov byte [rax + 0x18], 1
jmp 0x1400afb85
lea rcx, [0x140129248]
lea r8, str.library_std_srcpanicking.rs
mov edx, 0x2b
call fcn.1400d56a0
ud2
lea rax, [0x14012a098]
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.1400a5480
lea r8, [rbp + 0x18]
mov edx, 0x46
call fcn.1400d5a40
jmp 0x1400afcef
mov rax, qword [rbp + 0x20]
lock dec qword [rax]
jne 0x1400afcc3
mov rcx, qword [rbp + 0x20]
call fcn.1400a6cb0
mov byte [rbp + 0x2f], 0
lea rax, [0x14012a098]
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.1400a5480
lea r8, [rbp + 0x18]
mov edx, 0x46
call fcn.1400d5a40
ud2