Function at 0x4617ce
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x64
lea eax, [ebp - 0x18]
mov dword [ebp - 0x5c], ecx
lea esi, [ebp - 0x30]
mov edx, str.wide_bar_pos_len
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x502260
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
mov ecx, esi
push 0x16
call fcn.00461b44
pop eax
cmp dword [esi], 0x80000000
je 0x461a4d
mov eax, dword [ebp - 0x28]
movsd xmm0, qword [ebp - 0x30]
and dword [ebp - 0x10], 0
mov byte [ebp - 0x1f], 1
lea ecx, [ebp - 0x54]
mov edx, 0x5748bc
mov dword [ebp - 0x60], eax
lea eax, str._at_least_2_progress_chars_required
movsd qword [ebp - 0x68], xmm0
push eax
call fcn.0045932c
pop eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov byte [ebp - 0x1d], 0
mov byte [ebp - 0x1e], 1
mov dword [ebp - 0x10], 1
call fcn.004624cc
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x70]
mov eax, str._at_least_2_progress_chars_required
mov byte [ebp - 0x1d], 0
mov byte [ebp - 0x1e], 1
mov dword [ecx], eax
lea eax, [0x57491a]
mov dword [ecx + 4], eax
call fcn.004595f9
test eax, eax
je 0x46196f
mov edi, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x24], edx
mov eax, edi
sub eax, ebx
add eax, 3
shr eax, 2
cmp eax, 4
push 3
pop edx
cmovae edx, eax
lea esi, [ebp - 0x30]
inc edx
mov ecx, esi
call fcn.004594b7
cmp dword [esi], 0
mov ecx, dword [esi + 4]
jne 0x461a73
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x34]
mov esi, dword [eax + 8]
mov dword [esi], edx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x34], esi
mov dword [esi + 4], edx
mov dword [eax], ebx
mov dword [eax + 4], edi
xor eax, eax
lea edx, [ebp - 0x48]
inc eax
mov dword [edx], ecx
mov dword [edx + 4], esi
mov dword [edx + 8], 1
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x10], 3
call fcn.004595f9
mov esi, eax
test eax, eax
je 0x461956
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x48]
jne 0x461939
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x10], 4
sub edx, dword [ebp - 0x30]
add edx, 3
shr edx, 2
inc edx
call fcn.00459529
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x34]
mov dword [ecx + eax*8], esi
mov dword [ecx + eax*8 + 4], edx
inc eax
mov dword [ebp - 0x10], 3
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x40], eax
jmp 0x4618ee
xor ecx, ecx
call fcn.0045951e
movsd xmm0, qword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
movsd qword [ebp - 0x30], xmm0
mov dword [ebp - 0x28], eax
jmp 0x46197e
and dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 4
and dword [ebp - 0x28], 0
mov eax, dword [0x5c301c]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x50], 0
jne 0x4619a2
mov dword [ebp - 0x10], 2
call fcn.004484ca
mov eax, dword [0x5c301c]
mov ecx, dword fs:[0x2c]
mov edx, dword [ebp - 0x5c]
movsd xmm0, qword [ebp - 0x30]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0x28]
movsd qword [edx + 0x28], xmm0
movsd xmm0, qword [ebp - 0x54]
mov dword [edx + 0x30], ecx
mov ecx, dword [ebp - 0x4c]
movsd qword [edx + 0x34], xmm0
movsd xmm0, qword [ebp - 0x68]
mov dword [edx + 0x3c], ecx
mov ecx, dword [ebp - 0x60]
movsd qword [edx + 0x40], xmm0
movsd xmm0, qword [0x57fcf8]
mov dword [edx + 0x48], ecx
mov ecx, dword [ebp - 0x58]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], 8
movsd qword [edx + 8], xmm0
movsd xmm0, qword [0x57fcf0]
mov ecx, dword [eax + 0x58]
movsd qword [edx], xmm0
mov dword [edx + 0x10], ecx
add ecx, 1
movsd xmm0, qword [eax + 0x60]
mov dword [eax + 0x58], ecx
mov ecx, dword [eax + 0x5c]
mov dword [edx + 0x14], ecx
adc ecx, 0
movsd qword [edx + 0x18], xmm0
mov dword [eax + 0x5c], ecx
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x2c]
mov cl, byte [ebp - 0x28]
lea esi, [ebp - 0x48]
mov dword [esi], eax
mov byte [esi + 4], cl
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x5748ac
push 0x574224
push esi
call fcn.00526c20
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x10], 5
call fcn.00526660
ud2