Function at 0x458360
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x47256d
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c6b0c]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov ebp, ecx
mov dword [esp + 0x18], ebp
mov dword [ebp], vtable.dwgReader.0
mov eax, dword [ebp + 0x7c]
mov ebx, dword [eax]
mov esi, dword [ebp + 0x64]
mov dword [esp + 0x38], 0xd
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], esi
mov edi, dword [ebp + 0x7c]
mov eax, dword [ebp + 0x64]
test esi, esi
je 0x4583c0
cmp esi, eax
je 0x4583c6
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, edi
je 0x458405
test esi, esi
jne 0x458401
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, dword [esi + 0x18]
jne 0x4583df
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x4583ee
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
lea ecx, [esp + 0x1c]
call fcn.0040bcb0
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
jmp 0x4583b2
mov esi, dword [esi]
jmp 0x4583d4
mov eax, dword [ebp + 0x9c]
mov ebx, dword [eax]
mov esi, dword [ebp + 0x84]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], esi
jmp 0x458420
mov edi, dword [ebp + 0x9c]
mov eax, dword [ebp + 0x84]
test esi, esi
je 0x458434
cmp esi, eax
je 0x45843a
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, edi
je 0x458479
test esi, esi
jne 0x458475
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, dword [esi + 0x18]
jne 0x458453
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x458462
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
lea ecx, [esp + 0x1c]
call fcn.0040bcb0
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
jmp 0x458420
mov esi, dword [esi]
jmp 0x458448
mov eax, dword [ebp + 0xbc]
mov ebx, dword [eax]
mov esi, dword [ebp + 0xa4]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], esi
nop
mov edi, dword [ebp + 0xbc]
mov eax, dword [ebp + 0xa4]
test esi, esi
je 0x4584a4
cmp esi, eax
je 0x4584aa
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, edi
je 0x4584e9
test esi, esi
jne 0x4584e5
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, dword [esi + 0x18]
jne 0x4584c3
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x4584d2
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
lea ecx, [esp + 0x1c]
call fcn.0040bcb0
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
jmp 0x458490
mov esi, dword [esi]
jmp 0x4584b8
mov eax, dword [ebp + 0xdc]
mov ebx, dword [eax]
mov esi, dword [ebp + 0xc4]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], esi
nop
mov edi, dword [ebp + 0xdc]
mov eax, dword [ebp + 0xc4]
test esi, esi
je 0x458514
cmp esi, eax
je 0x45851a
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, edi
je 0x458559
test esi, esi
jne 0x458555
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, dword [esi + 0x18]
jne 0x458533
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x458542
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
lea ecx, [esp + 0x1c]
call fcn.0040bcb0
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
jmp 0x458500
mov esi, dword [esi]
jmp 0x458528
mov eax, dword [ebp + 0xfc]
mov ebx, dword [eax]
mov esi, dword [ebp + 0xe4]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], esi
nop
mov edi, dword [ebp + 0xfc]
mov eax, dword [ebp + 0xe4]
test esi, esi
je 0x458584
cmp esi, eax
je 0x45858a
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, edi
je 0x4585c9
test esi, esi
jne 0x4585c5
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, dword [esi + 0x18]
jne 0x4585a3
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x4585b2
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
lea ecx, [esp + 0x1c]
call fcn.0040bcb0
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
jmp 0x458570
mov esi, dword [esi]
jmp 0x458598
mov eax, dword [ebp + 0x11c]
mov ebx, dword [eax]
mov esi, dword [ebp + 0x104]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], esi
nop
mov edi, dword [ebp + 0x11c]
mov eax, dword [ebp + 0x104]
test esi, esi
je 0x4585f4
cmp esi, eax
je 0x4585fa
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, edi
je 0x458639
test esi, esi
jne 0x458635
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, dword [esi + 0x18]
jne 0x458613
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x458622
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
lea ecx, [esp + 0x1c]
call fcn.0040bcb0
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
jmp 0x4585e0
mov esi, dword [esi]
jmp 0x458608
mov eax, dword [ebp + 0x1b0]
mov ebx, dword [eax]
mov esi, dword [ebp + 0x198]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], esi
nop
mov edi, dword [ebp + 0x1b0]
mov eax, dword [ebp + 0x198]
test esi, esi
je 0x458664
cmp esi, eax
je 0x45866a
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, edi
je 0x4586da
test esi, esi
jne 0x4586d6
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, dword [esi + 0x18]
jne 0x458683
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov esi, dword [ebx + 0x10]
mov dword [esp + 0x1c], esi
test esi, esi
je 0x4586c0
lea ecx, [esi + 0x38]
mov byte [esp + 0x38], 0xf
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esi + 0x1c]
mov byte [esp + 0x38], 0xe
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ecx, esi
mov byte [esp + 0x38], 0xd
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
lea ecx, [esp + 0x24]
call fcn.0040bcb0
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
jmp 0x458650
mov esi, dword [esi]
jmp 0x458678
mov eax, dword [ebp + 0x13c]
mov ebx, dword [eax]
mov esi, dword [ebp + 0x124]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], esi
mov edi, dword [ebp + 0x13c]
mov eax, dword [ebp + 0x124]
test esi, esi
je 0x458704
cmp esi, eax
je 0x45870a
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, edi
je 0x458749
test esi, esi
jne 0x458745
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebx, dword [esi + 0x18]
jne 0x458723
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x458732
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
lea ecx, [esp + 0x24]
call fcn.0040bcb0
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
jmp 0x4586f0
mov esi, dword [esi]
jmp 0x458718
mov eax, dword [ebp + 0x15c]
mov edi, dword [ebp + 0x144]
lea esi, [ebp + 0x144]
mov ebp, dword [eax]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], edi
mov ebx, dword [esi + 0x18]
mov eax, dword [esi]
test edi, edi
je 0x458772
cmp edi, eax
je 0x458778
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebp, ebx
je 0x4587b7
test edi, edi
jne 0x4587b3
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebp, dword [edi + 0x18]
jne 0x458791
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x4587a0
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
lea ecx, [esp + 0x24]
call fcn.0040bcb0
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
jmp 0x458765
mov edi, dword [edi]
jmp 0x458786
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x168]
test edi, edi
je 0x4587d5
mov ecx, edi
call fcn.0045ddf0
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edi, dword [esp + 0x18]
lea ecx, [edi + 0x1b8]
mov byte [esp + 0x38], 0xc
call fcn.0044e790
lea ecx, [edi + 0x198]
mov byte [esp + 0x38], 0xb
call fcn.0040cb90
lea ecx, [edi + 0x178]
mov byte [esp + 0x38], 0xa
call fcn.0040d840
mov ecx, esi
mov byte [esp + 0x38], 9
call fcn.0040cb90
lea ecx, [edi + 0x124]
mov byte [esp + 0x38], 8
call fcn.0040cb90
lea ecx, [edi + 0x104]
mov byte [esp + 0x38], 7
call fcn.0040cb90
lea ecx, [edi + 0xe4]
mov byte [esp + 0x38], 6
call fcn.0040cb90
lea ecx, [edi + 0xc4]
mov byte [esp + 0x38], 5
call fcn.0040cb90
lea ecx, [edi + 0xa4]
mov byte [esp + 0x38], 4
call fcn.0040cb90
lea ecx, [edi + 0x84]
mov byte [esp + 0x38], 3
call fcn.0040cb90
lea ecx, [edi + 0x64]
mov byte [esp + 0x38], 2
call fcn.0040cb90
lea ecx, [edi + 0x44]
mov byte [esp + 0x38], 1
call fcn.0040cb10
lea ecx, [edi + 0x24]
mov byte [esp + 0x38], 0
call fcn.0040cb10
lea ecx, [edi + 4]
mov dword [esp + 0x38], 0xffffffff
call fcn.0040cb10
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret