Function at 0x557850
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0
push ebx
mov ebx, eax
xor eax, eax
push ebp
push 0x557b09
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebx + 0x378]
mov edx, dword [0x47e2a4]
call fcn.00406ce8
lea eax, [ebx + 0x37c]
mov edx, dword [0x47e2d0]
call fcn.00406ce8
mov eax, dword [ebx + 0x384]
call fcn.00406a2c
push eax
lea eax, [ebx + 0x388]
mov ecx, 1
mov edx, dword [0x47e2d0]
call fcn.00406be8
add esp, 4
mov eax, dword [ebx + 0x384]
call fcn.00406a2c
mov ecx, eax
shl ecx, 4
mov edx, dword [ebx + 0x388]
mov eax, dword [ebx + 0x384]
call fcn.004035b8
mov eax, dword [0x5839ec]
mov eax, dword [eax]
mov eax, dword [eax + 0x384]
mov eax, dword [eax + 0x68]
mov edx, dword [eax + 0x18]
mov eax, dword [ebx + 0x360]
mov eax, dword [eax + 0x68]
call fcn.0042d2d4
lea edx, [ebp - 4]
mov eax, dword [0x5839ec]
mov eax, dword [eax]
mov eax, dword [eax + 0x384]
call fcn.00458160
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x360]
call fcn.00458190
mov eax, dword [ebx + 0x38c]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov edx, eax
add edx, 0x30
mov eax, ebx
call fcn.0046e628
mov eax, dword [ebx + 0x38c]
mov edx, dword [eax]
call dword [edx + 0x20]
mov edx, eax
add edx, 0x64
mov eax, ebx
call fcn.0046e65c
mov eax, ebx
call fcn.00457ad4
mov edx, eax
mov eax, dword [ebx + 0x370]
sub edx, dword [eax + 0x48]
mov eax, dword [ebx + 0x370]
call fcn.004577e8
mov eax, ebx
call fcn.00457b18
mov edx, eax
mov eax, dword [ebx + 0x360]
sub edx, dword [eax + 0x4c]
sub edx, 0x16
mov eax, dword [ebx + 0x360]
call fcn.0045781c
mov eax, ebx
call fcn.00457b18
mov edx, eax
mov eax, dword [ebx + 0x364]
sub edx, dword [eax + 0x4c]
sub edx, 0x10
mov eax, dword [ebx + 0x364]
call fcn.0045781c
mov eax, ebx
call fcn.00457b18
mov edx, eax
mov eax, dword [ebx + 0x368]
sub edx, dword [eax + 0x4c]
sub edx, 0x10
mov eax, dword [ebx + 0x368]
call fcn.0045781c
mov eax, ebx
call fcn.00457ad4
mov edx, eax
mov eax, dword [ebx + 0x368]
sub edx, dword [eax + 0x48]
sub edx, 0x1c
mov eax, dword [ebx + 0x368]
call fcn.004577e8
mov edx, dword [ebx + 0x368]
mov edx, dword [edx + 0x40]
mov eax, dword [ebx + 0x364]
sub edx, dword [eax + 0x48]
sub edx, 0xc
call fcn.004577e8
mov eax, dword [0x58414c]
mov eax, dword [eax]
call fcn.004741c4
mov edx, eax
sub edx, dword [ebx + 0x48]
sar edx, 1
jns 0x557a0f
adc edx, 0
mov eax, ebx
call fcn.004739f0
mov eax, dword [0x58414c]
mov eax, dword [eax]
call fcn.004741b8
mov edx, eax
sub edx, dword [ebx + 0x4c]
sar edx, 1
jns 0x557a2e
adc edx, 0
mov eax, ebx
call fcn.00473a2c
mov eax, dword [ebx + 0x38c]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov edx, eax
mov eax, dword [ebx + 0x36c]
call fcn.00457850
mov eax, dword [ebx + 0x38c]
mov edx, dword [eax]
call dword [edx + 0x20]
mov edx, eax
mov eax, dword [ebx + 0x36c]
call fcn.00457884
mov eax, dword [ebx + 0x36c]
mov eax, dword [eax + 0x198]
call fcn.00430690
xor edx, edx
call fcn.00433f24
mov eax, dword [ebx + 0x38c]
mov edx, dword [eax]
call dword [edx + 0x2c]
push eax
mov eax, dword [ebx + 0x36c]
mov eax, dword [eax + 0x198]
call fcn.00430690
pop edx
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebx + 0x38c]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
mov eax, dword [ebx + 0x36c]
mov eax, dword [eax + 0x198]
call fcn.00430690
pop edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x38c]
push eax
mov eax, dword [ebx + 0x36c]
mov eax, dword [eax + 0x198]
call fcn.00430690
call fcn.004331bc
xor ecx, ecx
xor edx, edx
call fcn.0042e1d0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xfc]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x557b10
lea eax, [ebp - 4]
call fcn.004055e4
ret