Function at 0x424880
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4a7028
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ed3dc]
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.00496000
mov esi, vtable.t_lockerMemSharable.0
mov dword [esp + 0x18], esi
push 0x4f27e0
push ebp
lea ecx, [esp + 0x20]
mov dword [esp + 0x30], 0
call fcn.004962d0
test al, al
jne 0x42491a
push 0x4dd614
mov ecx, ebp
call fcn.0049cc40
mov ecx, eax
call fcn.0049ccb0
mov dword [esp + 0x28], 0xffffffff
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], esi
call fcn.00496190
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 0x424940
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00423bd0
mov ebx, ebp
mov edi, eax
call fcn.0042a680
test al, al
je 0x424a2e
mov eax, dword [esi + 4]
test eax, eax
je 0x424963
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.00423c60
mov ebx, ebp
mov esi, eax
call fcn.0042a5c0
test al, al
je 0x424a2e
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 8]
test eax, eax
je 0x42498d
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00423b60
mov edi, ebp
mov esi, eax
call fcn.0042a730
test al, al
jne 0x42498d
mov ecx, ebp
call fcn.0049da00
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x4249b0
push eax
lea edx, [esp + 0x1c]
push edx
call fcn.00423ab0
mov edi, ebp
mov esi, eax
call fcn.00429e10
test al, al
je 0x424a2e
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4249d3
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.00423dd0
mov ebx, ebp
mov esi, eax
call fcn.00429b70
test al, al
je 0x424a2e
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x1c]
test eax, eax
je 0x424a5d
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.0042b7c0
mov edi, ebp
mov esi, eax
call fcn.0042b820
test al, al
jne 0x424a5d
lea ecx, [esp + 0x18]
call fcn.00496160
push 0
mov ecx, ebp
call fcn.0049db10
push 0x4f27e0
push ebp
lea ecx, [esp + 0x20]
call fcn.004962d0
test al, al
jne 0x424a5d
push 0x4dd62c
mov ecx, ebp
call fcn.0049cc40
mov ecx, eax
call fcn.0049ccb0
mov dword [esp + 0x28], 0xffffffff
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], vtable.t_lockerMemSharable.0
call fcn.00496190
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.004295a0
mov ebx, eax
mov eax, ebp
call fcn.00429670
test al, al
je 0x424a2e
call fcn.00426600
mov edi, ebp
mov esi, eax
call fcn.00432ab0
test al, al
je 0x424a2e
call fcn.00427d80
mov esi, eax
call fcn.00432ab0
test al, al
je 0x424a2e
call fcn.0042a880
call fcn.0042a9a0
test al, al
lea ecx, [esp + 0x18]
jne 0x424ab2
call fcn.00496160
push 0x4dd648
jmp 0x424a20
call fcn.00496160
call fcn.00424d80
mov esi, ebp
mov ecx, eax
call fcn.004352a0
test al, al
je 0x424a2e
call fcn.00423bd0
push eax
call fcn.00423cc0
mov esi, eax
call fcn.0042b900
test al, al
je 0x424a2e
call fcn.00423b30
cmp byte [eax + 0x3c], 0
jne 0x424af6
mov byte [eax + 0x3c], 1
mov ecx, dword [esp + 0x34]
cmp byte [ecx + 0x24], 0
je 0x424b1a
push 1
push ebp
call fcn.00423b30
mov ecx, eax
call fcn.004a2ab0
test al, al
jne 0x424b1a
mov ecx, ebp
call fcn.0049cbe0
mov dword [esp + 0x28], 0xffffffff
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], vtable.t_lockerMemSharable.0
call fcn.00496190
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