Function at 0x10214800
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x1035a75c
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x105be7d0]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov ebx, edx
mov edi, ecx
push 0x8c
call dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], 0
test eax, eax
je 0x10214859
mov ecx, eax
call fcn.100da530
mov esi, eax
jmp 0x1021485b
xor esi, esi
mov dword [esp + 0x30], 0xffffffff
test esi, esi
je 0x10214a99
mov eax, dword [ebx + 0x50]
xor ecx, ecx
sub eax, ecx
je 0x10214888
sub eax, 8
je 0x10214881
dec eax
jne 0x1021488d
lea ecx, [eax + 2]
jmp 0x1021488d
mov ecx, 1
jmp 0x1021488d
mov ecx, 3
mov dword [esi], ecx
lea ecx, [esp + 0x14]
mov dword [esi + 4], edi
mov dword [esi + 0xc], ebx
movdqu xmm0, xmmword [ebx + 8]
mov edx, dword [ebx]
add edx, 4
movdqu xmmword [esp + 0x14], xmm0
call fcn.101e0910
movss xmm5, dword [esp + 0x14]
movss xmm1, dword [esp + 0x1c]
movaps xmm4, xmm5
comiss xmm5, xmm1
movss xmm2, dword [esp + 0x18]
movss xmm0, dword [esp + 0x20]
movaps xmm3, xmm2
jbe 0x102148d7
movaps xmm4, xmm1
movaps xmm1, xmm5
comiss xmm2, xmm0
jbe 0x102148e2
movaps xmm3, xmm0
movaps xmm0, xmm2
movss dword [esp + 0x14], xmm4
movss dword [esp + 0x18], xmm3
movss dword [esp + 0x1c], xmm1
movss dword [esp + 0x20], xmm0
movdqu xmm0, xmmword [esp + 0x14]
movdqu xmmword [esi + 0x10], xmm0
mov edi, dword [ebx + 4]
test edi, edi
je 0x10214943
cmp byte [edi + 4], 0x72
jne 0x1021491b
mov ecx, edi
call fcn.101e8f10
mov edi, eax
test edi, edi
je 0x10214943
cmp byte [edi + 4], 0x64
jne 0x10214943
push 0
mov edx, str.QuadPoints
mov ecx, edi
call fcn.101dd560
add esp, 4
test eax, eax
js 0x10214943
mov ecx, dword [edi + 0x18]
mov ecx, dword [ecx + eax*8 + 4]
jmp 0x10214945
xor ecx, ecx
mov edx, dword [ebx]
lea eax, [esi + 0x20]
push eax
add edx, 4
call fcn.102144d0
mov edi, dword [ebx + 4]
add esp, 4
test edi, edi
je 0x10214994
cmp byte [edi + 4], 0x72
jne 0x1021496c
mov ecx, edi
call fcn.101e8f10
mov edi, eax
test edi, edi
je 0x10214994
cmp byte [edi + 4], 0x64
jne 0x10214994
push 0
mov edx, str.Contents
mov ecx, edi
call fcn.101dd560
add esp, 4
test eax, eax
js 0x10214994
mov ecx, dword [edi + 0x18]
mov ecx, dword [ecx + eax*8 + 4]
jmp 0x10214996
xor ecx, ecx
lea edx, [esi + 0x5c]
call fcn.102143d0
cmp dword [esi + 0x6c], 0
jne 0x102149c1
cmp dword [ebx + 0x50], 0x13
jne 0x102149c1
mov ecx, dword [ebx + 4]
mov edx, 0x10564038
call fcn.101dd730
lea edx, [esi + 0x5c]
mov ecx, eax
call fcn.102143d0
mov edi, dword [ebx + 4]
test edi, edi
je 0x102149ff
cmp byte [edi + 4], 0x72
jne 0x102149d7
mov ecx, edi
call fcn.101e8f10
mov edi, eax
test edi, edi
je 0x102149ff
cmp byte [edi + 4], 0x64
jne 0x102149ff
push 0
mov edx, str.Subj
mov ecx, edi
call fcn.101dd560
add esp, 4
test eax, eax
js 0x102149ff
mov ecx, dword [edi + 0x18]
mov ecx, dword [ecx + eax*8 + 4]
jmp 0x10214a01
xor ecx, ecx
lea edx, [esi + 0x44]
call fcn.102143d0
mov edi, dword [ebx + 4]
test edi, edi
je 0x10214a47
cmp byte [edi + 4], 0x72
jne 0x10214a1f
mov ecx, edi
call fcn.101e8f10
mov edi, eax
test edi, edi
je 0x10214a47
cmp byte [edi + 4], 0x64
jne 0x10214a47
push 0
mov edx, 0x1056404c
mov ecx, edi
call fcn.101dd560
add esp, 4
test eax, eax
js 0x10214a47
mov ecx, dword [edi + 0x18]
mov ecx, dword [ecx + eax*8 + 4]
jmp 0x10214a49
xor ecx, ecx
lea edx, [esi + 0x2c]
call fcn.102143d0
mov edi, dword [ebx + 4]
test edi, edi
je 0x10214a8f
cmp byte [edi + 4], 0x72
jne 0x10214a67
mov ecx, edi
call fcn.101e8f10
mov edi, eax
test edi, edi
je 0x10214a8f
cmp byte [edi + 4], 0x64
jne 0x10214a8f
push 0
mov edx, 0x105640dc
mov ecx, edi
call fcn.101dd560
add esp, 4
test eax, eax
js 0x10214a8f
mov ecx, dword [edi + 0x18]
mov ecx, dword [ecx + eax*8 + 4]
jmp 0x10214a91
xor ecx, ecx
lea edx, [esi + 0x74]
call fcn.10214470
mov eax, esi
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret