Function at 0x14013d040
Capabilities:
Get number of processors

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rdi, r9
mov qword [rbp - 0x50], r8
mov qword [rbp - 0x48], rdx
mov rsi, rcx
mov eax, dword [0x140297248]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0xa0]
cmp eax, 1
je 0x14013d0d0
test eax, eax
jne 0x14013d309
mov byte [rbp - 9], 1
mov eax, dword [0x140297248]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x50]
lea rdx, [0x14013f3f0]
call fcn.140189b50
mov eax, dword [0x140297248]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0xa0], 1
mov eax, dword [0x140297248]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x50]
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x14013d2c3
lea rcx, [rax + 1]
mov edx, dword [0x140297248]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
mov qword [rdx + 0x50], rcx
mov rdx, qword [rdx + 0x58]
cmp rdx, 2
je 0x14013d2d5
mov eax, dword [0x140297248]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rbx, qword [rax + 0x60]
mov ecx, 1
mov r8d, 1
lock xadd qword [rbx], r8
test rdx, rdx
je 0x14013d16a
mov eax, 0x118
test r8, r8
jns 0x14013d17a
jmp 0x14013d31e
test r8, r8
js 0x14013d31e
mov eax, 0xb8
xor ecx, ecx
mov edx, dword [0x140297248]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
dec qword [rdx + 0x50]
mov rdx, qword [rbp - 0x48]
mov qword [rbp - 0x40], rdx
mov rdx, qword [rbp - 0x50]
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rbx
cmp qword [rbx + rax], 0
je 0x14013d2f3
add rbx, rax
lea rdi, [rbx + 0x20]
mov cl, 1
xor eax, eax
lock cmpxchg byte [rbx + 0x20], cl
je 0x14013d1d7
mov rcx, rdi
mov r8d, 0x3b9aca00
call fcn.1401a9290
mov qword [rbp - 0x18], rdi
lea rcx, [rbx + 0x28]
call fcn.140147050
mov rdi, rdx
test rax, rax
je 0x14013d203
xor edx, edx
mov al, 1
mov rcx, qword [rbp - 0x18]
lock cmpxchg byte [rcx], dl
je 0x14013d24d
xor edx, edx
call fcn.1401a9800
jmp 0x14013d24d
mov qword [rbp - 0x30], rdi
xor edx, edx
mov al, 1
mov rcx, qword [rbp - 0x18]
lock cmpxchg byte [rcx], dl
je 0x14013d21c
xor edx, edx
call fcn.1401a9800
mov r14, qword [rbp - 0x30]
lea r8, [r14 + 0x80]
lea rcx, [rbp - 0x40]
mov rdx, rbx
mov r9b, 3
call fcn.14015a940
mov rdi, rax
test rax, rax
je 0x14013d2ae
lock dec qword [r14]
jne 0x14013d24d
lea rcx, [rbp - 0x30]
call fcn.14013cab0
lea rcx, [rbp - 0x20]
cmp qword [rbp - 0x28], 0
je 0x14013d269
mov rax, qword [rbp - 0x20]
lock dec qword [rax]
jne 0x14013d278
call fcn.14013cbc0
jmp 0x14013d278
mov rax, qword [rbp - 0x20]
lock dec qword [rax]
jne 0x14013d278
call fcn.14013c7b0
mov qword [rsi + 8], rdi
mov qword [rsi], 2
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x18], rax
mov rcx, qword [rbp - 0x38]
call fcn.140139ef0
mov byte [rbp - 9], 0
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.ws2_32.dll_closesocket]
nop
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
movups xmm0, xmmword [rbp - 0x28]
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r14
movups xmmword [rsi + 0x18], xmm1
jmp 0x14013d2a2
mov byte [rbp - 9], 1
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtimecontextcurrent.rs
call fcn.1401ac970
jmp 0x14013d31e
mov ecx, dword [0x140297248]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x50], rax
xor eax, eax
jmp 0x14013d30b
lea rcx, str.A_Tokio_1.x_context_was_found__but_IO_is_disabled._Call__enable_io__on_the_runtime_builder_to_enable_IO.A_Tokio_1.x_context_was_found__but_timers_are_disabled._Call__enable_time__on_the_runtime_builder_to_enable_timers.Oh_no__We_never_placed_the_Core_back__this_is_a_bug_
mov edx, 0x68
mov r8, rdi
call fcn.1401ac9f0
jmp 0x14013d31e
mov al, 1
mov byte [rbp - 0x28], al
mov byte [rbp - 9], 1
lea rcx, [rbp - 0x28]
mov rdx, rdi
call fcn.1401a87c0
ud2