Function at 0x431450
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x475258
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.00466900
mov esi, vtable.t_lockerMemSharable.0
mov dword [esp + 0x18], esi
push 0x4ae8f8
push ebp
lea ecx, [esp + 0x20]
mov dword [esp + 0x30], 0
call fcn.00466bd0
test al, al
jne 0x4314ea
push 0x498394
mov ecx, ebp
call fcn.0046be50
mov ecx, eax
call fcn.0046bec0
mov dword [esp + 0x28], 0xffffffff
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], esi
call fcn.00466a90
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 0x431510
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.004311d0
mov ebx, ebp
mov edi, eax
call fcn.004332c0
test al, al
je 0x4315fe
mov eax, dword [esi + 4]
test eax, eax
je 0x431533
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.00431260
mov ebx, ebp
mov esi, eax
call fcn.004326f0
test al, al
je 0x4315fe
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 8]
test eax, eax
je 0x43155d
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00431160
mov edi, ebp
mov esi, eax
call fcn.004325c0
test al, al
jne 0x43155d
mov ecx, ebp
call fcn.0046cb50
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x431580
push eax
lea edx, [esp + 0x1c]
push edx
call fcn.004310d0
mov edi, ebp
mov esi, eax
call fcn.00432d10
test al, al
je 0x4315fe
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4315a3
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.004313d0
mov ebx, ebp
mov esi, eax
call fcn.00432c50
test al, al
je 0x4315fe
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x1c]
test eax, eax
je 0x43162d
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00432b10
mov edi, ebp
mov esi, eax
call fcn.00432b70
test al, al
jne 0x43162d
lea ecx, [esp + 0x18]
call fcn.00466a60
push 0
mov ecx, ebp
call fcn.0046cc60
push 0x4ae8f8
push ebp
lea ecx, [esp + 0x20]
call fcn.00466bd0
test al, al
jne 0x43162d
push 0x4983ac
mov ecx, ebp
call fcn.0046be50
mov ecx, eax
call fcn.0046bec0
mov dword [esp + 0x28], 0xffffffff
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], vtable.t_lockerMemSharable.0
call fcn.00466a90
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.004329e0
mov ebx, eax
mov eax, ebp
call fcn.00432ab0
test al, al
je 0x4315fe
call fcn.00432e10
mov edi, ebp
mov esi, eax
call fcn.00430a20
test al, al
je 0x4315fe
call fcn.0042f7f0
mov esi, eax
call fcn.00430a20
test al, al
lea ecx, [esp + 0x18]
jne 0x431690
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x18], vtable.t_lockerMemSharable.0
call fcn.00466a90
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.00466a60
call fcn.00431730
mov esi, ebp
mov ecx, eax
call fcn.004375f0
test al, al
je 0x4315fe
call fcn.004311d0
push eax
call fcn.004312c0
mov esi, eax
call fcn.004327b0
test al, al
je 0x4315fe
call fcn.00431130
cmp byte [eax + 0x3c], 0
jne 0x4316d4
mov byte [eax + 0x3c], 1
mov ecx, dword [esp + 0x34]
cmp byte [ecx + 0x24], 0
je 0x4316f8
push 1
push ebp
call fcn.00431130
mov ecx, eax
call fcn.00470a60
test al, al
jne 0x4316f8
mov ecx, ebp
call fcn.0046bdf0
mov dword [esp + 0x28], 0xffffffff
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], vtable.t_lockerMemSharable.0
call fcn.00466a90
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