Function at 0x10015dd0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006768c
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push esi
push edi
mov eax, dword [0x1009a8a0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0x18], ebx
mov eax, dword [ebx]
mov esi, dword [eax + 0x90]
mov ecx, esi
call dword [0x10071a38]
mov ecx, ebx
call esi
mov eax, dword [ebx]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x10071a38]
mov ecx, ebx
call esi
push 0
mov ecx, ebx
call fcn.1002b3e0
push 0
mov ecx, ebx
call fcn.1002b3e0
mov ecx, ebx
mov dword [ebx + 0x18], 0
call fcn.10016430
mov edi, dword [ebx + 0xd0]
test edi, edi
je 0x10015e66
add dword [edi + 0x22], 0xffffffff
jne 0x10015e66
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x10071a38]
mov ecx, edi
call esi
lea ecx, [ebx + 0x98]
call fcn.1002b3e0
lea ecx, [ebx + 0x98]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SimpleArray::erase_void_]
lea esi, [ebx + 0x94]
mov ecx, esi
mov dword [ebp - 0x28], esi
call fcn.1002b3e0
mov ecx, esi
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SimpleArray::erase_void_]
lea esi, [ebx + 0x64]
push 0
push 0x1001af40
mov ecx, esi
mov dword [ebp - 0x2c], esi
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SparseArray::forEach_bool____cdecl___int__int___int___int_]
mov ecx, esi
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SparseArray::erase_void_]
mov edi, dword [ebx + 0x78]
test edi, edi
je 0x10015eca
mov eax, dword [edi]
mov esi, dword [eax + 0x64]
mov ecx, esi
call dword [0x10071a38]
mov ecx, edi
call esi
push ebx
call fcn.1002b3e0
mov edi, dword [ebx + 0xe4]
add esp, 4
test edi, edi
je 0x10015eef
mov eax, dword [edi]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x10071a38]
mov ecx, edi
call esi
push ebx
mov dword [ebx + 0xe4], 0
mov dword [ebx + 0xd0], 0
mov dword [ebx + 0xd4], 0
mov dword [ebx + 0x9c], 0
mov dword [ebx + 0xf8], 0
mov dword [ebx + 0xdc], 0
mov dword [ebx + 0xd8], 0
mov dword [ebx + 0xf4], 0
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0xb0], 0
mov dword [ebx + 0xb4], 0
mov dword [ebx + 0xbc], 0
mov dword [ebx + 0x100], 0
mov dword [ebx + 0xc4], 0
mov dword [ebx + 0xc8], 0
mov word [ebx + 0xcd], 0
mov byte [ebx + 0xcc], 0
mov byte [ebx + 0xcf], 0
call fcn.1002b3e0
mov edi, dword [ebx + 0x74]
add esp, 4
mov dword [ebp - 4], 0
test edi, edi
jne 0x10015fba
mov edi, dword [ebx + 0x70]
mov eax, dword [ebx]
mov esi, dword [eax + 0xcc]
mov ecx, esi
call dword [0x10071a38]
mov ecx, ebx
call esi
lea ecx, [ebp - 0x1c]
mov dword [ebx + 0xd0], eax
lea esi, [edi + 4]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::Heap::constructor_void_]
mov ecx, esi
mov dword [ebp - 0x1c], esi
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::Lockable::lock_void_const]
push 0
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.1002b3e0
mov esi, eax
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 2
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::Lockable::unlock_void_const]
mov edi, dword [ebx + 0xd0]
push esi
mov byte [ebp - 4], 0
mov eax, dword [edi]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x10071a38]
mov ecx, edi
call esi
mov edi, dword [ebx + 0xd0]
push 0xffffffffffffffff
mov eax, dword [edi]
mov esi, dword [eax + 0x38]
mov ecx, esi
call dword [0x10071a38]
mov ecx, edi
call esi
lea ecx, [ebp - 0x48]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::Variant::constructor_void_]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SimpleArray::constructor_void_]
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebx + 0x80]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SparseArray::getData_class_ScCore::SimpleArray__const]
push 0x20000090
lea ecx, [ebx + 0x80]
mov dword [ebx + 0xd4], 0
mov dword [ebx + 0xf8], 0
mov dword [ebx + 0xf4], 0
mov dword [ebx + 0xd8], 0
mov dword [ebx + 0xdc], 0
call dword [sym.imp.ScCore.dll_public:_int___thiscall_ScCore::SparseArray::find_int_const]
push 0x20000090
push eax
mov ecx, ebx
call fcn.1002b3e0
push 0x2000008d
lea ecx, [ebx + 0x80]
call dword [sym.imp.ScCore.dll_public:_int___thiscall_ScCore::SparseArray::find_int_const]
push 0x2000008d
push eax
mov ecx, ebx
call fcn.1002b3e0
xor esi, esi
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x20], esi
call dword [sym.imp.ScCore.dll_public:_int___thiscall_ScCore::SimpleArray::length_void_const]
cmp esi, eax
jge 0x10016154
push esi
lea ecx, [ebp - 0x14]
call dword [sym.imp.ScCore.dll_public:_int____thiscall_ScCore::SimpleArray::operator___int_]
lea ecx, [ebp - 0x1c]
mov edi, dword [eax]
lea esi, [edi + 4]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::Heap::constructor_void_]
mov ecx, esi
mov dword [ebp - 0x1c], esi
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::Lockable::lock_void_const]
mov byte [ebp - 4], 5
xor esi, esi
nop
mov ecx, edi
call sym.ExtendScript.dll_public:_int___thiscall_ScScript::Dispatcher::getClassCount_void_const
cmp esi, eax
jge 0x1001613d
push esi
mov ecx, edi
call fcn.1002b3e0
cmp eax, 0x20000090
je 0x1001613a
cmp eax, 0x2000008d
je 0x1001613a
push eax
push edi
mov ecx, ebx
call fcn.1002b3e0
inc esi
jmp 0x10016110
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 6
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::Lockable::unlock_void_const]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 4], 4
inc esi
jmp 0x100160d6
push dword [ebx + 0xf4]
mov ecx, dword [ebx + 0xd0]
call fcn.1002b3e0
mov ecx, dword [ebx + 0x78]
lea edi, [ebx + 0x78]
test ecx, ecx
je 0x1001618a
mov edi, dword [ebx + 0xd0]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 0x30]
mov ecx, esi
call dword [0x10071a38]
mov ecx, edi
call esi
lea edi, [ebx + 0x78]
mov esi, dword [edi]
test esi, esi
jne 0x10016206
push str.global
lea ecx, [ebp - 0x20]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::constructor_char_const__]
push 0x10000
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 7
push eax
push edi
call dword [sym.imp.ScCore.dll_public:_static_int___cdecl_ScCore::LiveObject::create_class_ScCore::LiveObject____class_ScCore::String_const___int_]
add esp, 0xc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x20]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::String::destructor_void_]
mov esi, dword [edi]
test esi, esi
jne 0x10016206
push 0x28
call dword [sym.imp.ScCore.dll_public:_static_void____cdecl_ScCore::Heap::operator_new_unsigned_int_]
mov esi, eax
add esp, 4
mov dword [ebp - 0x24], esi
mov byte [ebp - 4], 8
test esi, esi
je 0x100161fe
push 1
push str.global
mov ecx, esi
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::LiveObject::constructor_char_const___bool_]
mov dword [esi], vtable.ScCore::LiveObject.0
mov dword [esi + 0x14], vtable.ScCore::LiveObject.1.0
jmp 0x10016200
xor esi, esi
mov byte [ebp - 4], 4
mov dword [edi], esi
mov edi, dword [ebx + 0xd0]
push esi
mov eax, dword [edi]
mov esi, dword [eax + 0x30]
mov ecx, esi
call dword [0x10071a38]
mov ecx, edi
call esi
push dword [ebx + 0x78]
push ebx
call fcn.1002b3e0
mov ecx, dword [ebx + 0xf4]
add esp, 8
call fcn.1002b3e0
lea ecx, [ebp - 0x14]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::SimpleArray::destructor_void_]
lea ecx, [ebp - 0x48]
call dword [sym.imp.ScCore.dll_public:_void___thiscall_ScCore::Variant::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret