Function at 0x4318f0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x475718
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4a7534]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x30]
push 0x64
push 0
lea ecx, [esp + 0x20]
call fcn.00466da0
mov esi, vtable.t_lockerMemSharable.0
mov dword [esp + 0x18], esi
push 0x4ae918
push ebp
lea ecx, [esp + 0x20]
mov dword [esp + 0x30], 0
call fcn.00467070
test al, al
jne 0x43198a
push 0x4983dc
mov ecx, ebp
call fcn.0046c2f0
mov ecx, eax
call fcn.0046c360
mov dword [esp + 0x28], 0xffffffff
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], esi
call fcn.00466f30
xor al, al
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
mov esi, dword [esp + 0x34]
mov eax, dword [esi]
test eax, eax
je 0x4319b0
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00431670
mov ebx, ebp
mov edi, eax
call fcn.00433570
test al, al
je 0x431a9e
mov eax, dword [esi + 4]
test eax, eax
je 0x4319d3
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.00431700
mov ebx, ebp
mov esi, eax
call fcn.00433000
test al, al
je 0x431a9e
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 8]
test eax, eax
je 0x4319fd
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00431600
mov edi, ebp
mov esi, eax
call fcn.00434280
test al, al
jne 0x4319fd
mov ecx, ebp
call fcn.0046cff0
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x431a20
push eax
lea edx, [esp + 0x1c]
push edx
call fcn.00431570
mov edi, ebp
mov esi, eax
call fcn.00432ed0
test al, al
je 0x431a9e
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x431a43
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.00431870
mov ebx, ebp
mov esi, eax
call fcn.00432e10
test al, al
je 0x431a9e
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x1c]
test eax, eax
je 0x431acd
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00432a70
mov edi, ebp
mov esi, eax
call fcn.00432ad0
test al, al
jne 0x431acd
lea ecx, [esp + 0x18]
call fcn.00466f00
push 0
mov ecx, ebp
call fcn.0046d100
push 0x4ae918
push ebp
lea ecx, [esp + 0x20]
call fcn.00467070
test al, al
jne 0x431acd
push 0x4983f4
mov ecx, ebp
call fcn.0046c2f0
mov ecx, eax
call fcn.0046c360
mov dword [esp + 0x28], 0xffffffff
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], vtable.t_lockerMemSharable.0
call fcn.00466f30
xor al, al
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
call fcn.00432d00
mov ebx, eax
mov eax, ebp
call fcn.00432dd0
test al, al
je 0x431a9e
call fcn.004330c0
mov edi, ebp
mov esi, eax
call fcn.00430ec0
test al, al
je 0x431a9e
call fcn.0042fc90
mov esi, eax
call fcn.00430ec0
test al, al
lea ecx, [esp + 0x18]
jne 0x431b30
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x18], vtable.t_lockerMemSharable.0
call fcn.00466f30
xor al, al
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
call fcn.00466f00
call fcn.00431be0
mov esi, ebp
mov ecx, eax
call fcn.00436a00
test al, al
je 0x431a9e
call fcn.00431670
push eax
call fcn.00431760
mov esi, eax
call fcn.00434530
test al, al
je 0x431a9e
call fcn.004315d0
cmp byte [eax + 0x3c], 0
jne 0x431b74
mov byte [eax + 0x3c], 1
mov ecx, dword [esp + 0x34]
cmp byte [ecx + 0x24], 0
je 0x431b98
push 1
push ebp
call fcn.004315d0
mov ecx, eax
call fcn.00470f00
test al, al
jne 0x431b98
mov ecx, ebp
call fcn.0046c290
mov dword [esp + 0x28], 0xffffffff
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], vtable.t_lockerMemSharable.0
call fcn.00466f30
mov al, 1
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret